This is a test route demonstrating the new hexagonal architecture routing system.
- -The routing system is working correctly! This response was generated using:
-Legacy controller '{$controller}' not found
", - 404 - ); - } - - // Capture the legacy controller output - $output = ''; - $originalObLevel = ob_get_level(); - - try { - ob_start(); - - // Save current globals state (in case they're modified) - $originalServer = $_SERVER; - $originalGet = $_GET; - $originalPost = $_POST; - - // Import essential legacy globals into local scope - global $bb_cfg, $config, $user, $template, $datastore, $lang, $userdata, $userinfo, $images, - $tracking_topics, $tracking_forums, $theme, $bf, $attach_config, $gen_simple_header, - $client_ip, $user_ip, $log_action, $html, $wordCensor, $forum_key, $search_id, - $session_id, $items_found, $per_page, $topic_id, $req_topics, $forum_id, $mode, - $is_auth, $t_data, $postrow, $group_id, $group_info, $post_id, $folder, $post_info, - $tor, $post_data, $privmsg, $forums, $redirect, $attachment, $forum_data, $search_all, - $redirect_url, $topic_csv, $poster_id, $emailer, $s_hidden_fields, $opt, $msg, $stats, - $poster_id_key, $text_match_key, $poster_name_key, $my_topics_key, $my_topics_val, $title_only_key, - $all_words_key, $dl_cancel_key, $dl_cancel_val, $dl_compl_key, $dl_compl_val, $dl_down_key, $dl_down_val, - $dl_will_key, $dl_will_val, $new_key, $new_val, $new_topics_key, $new_topics_val, $time_key, $time_val, - $order_key, $order_val, $sort_key, $sort_val, $display_as_key, $display_as_val, $topic_key, $topic_val, - $poster_id_val, $poster_id_key, $forum_val, $forum_key; - - // Signal to legacy code that we're running through modern routing - if (!defined('MODERN_ROUTING')) { - define('MODERN_ROUTING', true); - } - - // Include the legacy controller - // Note: We don't use require_once to allow multiple includes if needed - include $controllerPath; - - // Get the captured output - make sure we only clean our own buffer - $output = ob_get_clean(); - - // Restore globals if needed - $_SERVER = $originalServer; - $_GET = $originalGet; - $_POST = $originalPost; - - // Return the output as HTML response - return ResponseFactory::html($output); - - } catch (\Throwable $e) { - // Clean up any extra output buffers that were started, but preserve original level - while (ob_get_level() > $originalObLevel) { - ob_end_clean(); - } - - // Return error response - $errorHtml = " -Controller: {$controller}
-Error: " . htmlspecialchars($e->getMessage()) . "
-File: " . htmlspecialchars($e->getFile()) . ":" . $e->getLine() . "
- "; - - if (function_exists('dev') && dev()->isDebugEnabled()) { - $errorHtml .= "" . htmlspecialchars($e->getTraceAsString()) . ""; - } - - return ResponseFactory::html($errorHtml, 500); - } - } -} diff --git a/src/Presentation/Http/Controllers/Web/README.md b/src/Presentation/Http/Controllers/Web/README.md deleted file mode 100644 index 015c2d19c..000000000 --- a/src/Presentation/Http/Controllers/Web/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# Web Controllers - -Traditional web interface controllers: - -- HTML response generation -- Template rendering -- Form handling -- Session management -- CSRF protection - -Controllers for: - -- Forum browsing and posting -- Torrent browsing and downloading -- User profiles and settings -- Search functionality \ No newline at end of file diff --git a/src/Presentation/Http/Kernel.php b/src/Presentation/Http/Kernel.php deleted file mode 100644 index 99a8e0c17..000000000 --- a/src/Presentation/Http/Kernel.php +++ /dev/null @@ -1,156 +0,0 @@ -container = $container; - $this->router = $container->get(Router::class); - } - - public function addMiddleware(MiddlewareInterface $middleware): self - { - $this->middleware[] = $middleware; - return $this; - } - - public function loadRoutes(string $routesFile): self - { - if (!file_exists($routesFile)) { - throw new \RuntimeException("Routes file not found: {$routesFile}"); - } - - $routeLoader = require $routesFile; - if (is_callable($routeLoader)) { - $routeLoader($this->router); - } - - return $this; - } - - public function handle(?ServerRequestInterface $request = null): ResponseInterface - { - try { - $request = $request ?: RequestFactory::fromGlobals(); - - // Apply middleware to router - foreach ($this->middleware as $middleware) { - $this->router->middleware($middleware); - } - - return $this->router->dispatch($request); - - } catch (NotFoundException $e) { - return ResponseFactory::html( - '
The requested page could not be found.
', - 404 - ); - } catch (MethodNotAllowedException $e) { - return ResponseFactory::html( - 'The request method is not allowed for this endpoint.
', - 405 - ); - } catch (Throwable $e) { - return $this->handleException($e, $request); - } - } - - public function run(?ServerRequestInterface $request = null): void - { - $response = $this->handle($request); - $this->sendResponse($response); - } - - private function handleException(Throwable $e, ?ServerRequestInterface $request = null): ResponseInterface - { - // TODO: Replace bb_log() with injected PSR-3 LoggerInterface - // This is a temporary coupling to the legacy logging system - if (function_exists('bb_log')) { - bb_log($e->getMessage() . "\n" . $e->getTraceAsString(), 'kernel_errors'); - } - - // TODO: Replace legacy dev() singleton with injected EnvironmentInterface - // This is a temporary coupling to the legacy system during the migration period - // Once all legacy controllers are migrated, inject a proper debug/environment service - if (function_exists('dev') && dev()->isDebugEnabled()) { - $html = " - - - -Message: " . htmlspecialchars($e->getMessage()) . "
-File: " . htmlspecialchars($e->getFile()) . ":" . $e->getLine() . "
-" . htmlspecialchars($e->getTraceAsString()) . "-
Something went wrong. Please try again later.
- - - ', 500); - } - - private function sendResponse(ResponseInterface $response): void - { - // Send status line (only if headers haven't been sent already) - if (!headers_sent()) { - http_response_code($response->getStatusCode()); - } - - // Send headers (only if headers haven't been sent already) - if (!headers_sent()) { - foreach ($response->getHeaders() as $name => $values) { - foreach ($values as $value) { - header("{$name}: {$value}", false); - } - } - } - - // Send body - echo $response->getBody()->getContents(); - } -} diff --git a/src/Presentation/Http/Middleware/README.md b/src/Presentation/Http/Middleware/README.md deleted file mode 100644 index c5a1d1a0c..000000000 --- a/src/Presentation/Http/Middleware/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# HTTP Middleware - -Request/response pipeline middleware: - -- `AuthenticationMiddleware`: User authentication -- `AuthorizationMiddleware`: Permission checks -- `CsrfProtectionMiddleware`: CSRF token validation -- `RateLimitMiddleware`: Request throttling -- `LocalizationMiddleware`: Language detection -- `CorsMiddleware`: Cross-origin resource sharing - -Middleware follows PSR-15 standard. \ No newline at end of file diff --git a/src/Presentation/Http/Requests/README.md b/src/Presentation/Http/Requests/README.md deleted file mode 100644 index 8e0a47d1c..000000000 --- a/src/Presentation/Http/Requests/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# HTTP Requests - -Request objects and validation: - -- Request DTOs with validation rules -- Type-safe access to request data -- File upload handling -- Input sanitization -- Custom validation rules - -Example: - -```php -class RegisterRequest extends FormRequest -{ - public function rules(): array - { - return [ - 'username' => ['required', 'string', 'min:3', 'max:20', 'unique:users'], - 'email' => ['required', 'email', 'unique:users'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], - ]; - } -} -``` \ No newline at end of file diff --git a/src/Presentation/Http/Responses/README.md b/src/Presentation/Http/Responses/README.md deleted file mode 100644 index bce8c8325..000000000 --- a/src/Presentation/Http/Responses/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# HTTP Responses - -Response transformation and formatting: - -- Response factories -- JSON transformers -- View presenters -- Error response formatting -- Content negotiation - -Ensures consistent API responses and proper HTTP semantics. \ No newline at end of file diff --git a/src/Presentation/Http/Routes/web.php b/src/Presentation/Http/Routes/web.php deleted file mode 100644 index 0b78f8432..000000000 --- a/src/Presentation/Http/Routes/web.php +++ /dev/null @@ -1,53 +0,0 @@ -get('/hello', [HelloWorldController::class, 'index']); - $router->get('/hello/json', [HelloWorldController::class, 'json']); - - // Legacy controller routes (hacky but organized approach) - $legacyRoutes = [ - 'ajax.php', - 'dl.php', - 'dl_list.php', - 'feed.php', - 'filelist.php', - 'group.php', - 'group_edit.php', - 'index.php', - 'info.php', - 'login.php', - 'memberlist.php', - 'modcp.php', - 'playback_m3u.php', - 'poll.php', - 'posting.php', - 'privmsg.php', - 'profile.php', - 'search.php', - 'terms.php', - 'tracker.php', - 'viewforum.php', - 'viewtopic.php', - ]; - - foreach ($legacyRoutes as $route) { - // Route with .php extension - $router->any('/' . $route, [LegacyController::class, 'handle']); - - // Route without .php extension (e.g., /terms for /terms.php) - $routeWithoutExtension = str_replace('.php', '', $route); - $router->any('/' . $routeWithoutExtension, [LegacyController::class, 'handle']); - } - - // Root route should serve the legacy index.php controller - $router->any('/', [LegacyController::class, 'handle']); - - // Future modern routes will be added here -}; diff --git a/src/Presentation/README.md b/src/Presentation/README.md deleted file mode 100644 index 3e99a424b..000000000 --- a/src/Presentation/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Presentation Layer - -User interface implementations: - -- HTTP controllers for web and API -- CLI commands for console operations -- Request/response handling -- Input validation -- Output formatting - -This layer translates between external format and application format. \ No newline at end of file diff --git a/src/helpers.php b/src/helpers.php deleted file mode 100644 index b01f1bea5..000000000 --- a/src/helpers.php +++ /dev/null @@ -1,50 +0,0 @@ -get($id); - } catch (NotFoundExceptionInterface $e) { - throw new RuntimeException("Service '$id' not found in container: " . $e->getMessage(), 0, $e); - } catch (ContainerExceptionInterface $e) { - throw new RuntimeException("Container error while resolving '$id': " . $e->getMessage(), 0, $e); - } - } -} diff --git a/storage/app/.gitignore b/storage/app/.gitignore new file mode 100644 index 000000000..5ee79db67 --- /dev/null +++ b/storage/app/.gitignore @@ -0,0 +1,3 @@ +* +!public/ +!.gitignore \ No newline at end of file diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore new file mode 100644 index 000000000..c96a04f00 --- /dev/null +++ b/storage/app/public/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore new file mode 100644 index 000000000..f72889920 --- /dev/null +++ b/storage/framework/.gitignore @@ -0,0 +1,6 @@ +cache/* +sessions/* +views/* +!cache/.gitignore +!sessions/.gitignore +!views/.gitignore \ No newline at end of file diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore new file mode 100644 index 000000000..c96a04f00 --- /dev/null +++ b/storage/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/styles/templates/default/images/lang/ar/icon_code.gif b/styles/templates/default/images/lang/ar/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_edit.gif b/styles/templates/default/images/lang/ar/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_email.gif b/styles/templates/default/images/lang/ar/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_icq_add.gif b/styles/templates/default/images/lang/ar/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_ip.gif b/styles/templates/default/images/lang/ar/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_mc.gif b/styles/templates/default/images/lang/ar/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_pm.gif b/styles/templates/default/images/lang/ar/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_poll.gif b/styles/templates/default/images/lang/ar/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_profile.gif b/styles/templates/default/images/lang/ar/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_quote.gif b/styles/templates/default/images/lang/ar/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_search.gif b/styles/templates/default/images/lang/ar/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/icon_www.gif b/styles/templates/default/images/lang/ar/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ar/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/msg_newpost.gif b/styles/templates/default/images/lang/ar/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ar/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/post.gif b/styles/templates/default/images/lang/ar/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ar/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/release.gif b/styles/templates/default/images/lang/ar/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ar/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/reply-locked.gif b/styles/templates/default/images/lang/ar/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ar/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ar/reply.gif b/styles/templates/default/images/lang/ar/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ar/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_code.gif b/styles/templates/default/images/lang/az/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/az/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_edit.gif b/styles/templates/default/images/lang/az/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/az/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_email.gif b/styles/templates/default/images/lang/az/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/az/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_icq_add.gif b/styles/templates/default/images/lang/az/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/az/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_ip.gif b/styles/templates/default/images/lang/az/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/az/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_mc.gif b/styles/templates/default/images/lang/az/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/az/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_pm.gif b/styles/templates/default/images/lang/az/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/az/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_poll.gif b/styles/templates/default/images/lang/az/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/az/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_profile.gif b/styles/templates/default/images/lang/az/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/az/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_quote.gif b/styles/templates/default/images/lang/az/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/az/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_search.gif b/styles/templates/default/images/lang/az/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/az/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/icon_www.gif b/styles/templates/default/images/lang/az/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/az/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/msg_newpost.gif b/styles/templates/default/images/lang/az/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/az/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/post.gif b/styles/templates/default/images/lang/az/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/az/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/release.gif b/styles/templates/default/images/lang/az/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/az/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/reply-locked.gif b/styles/templates/default/images/lang/az/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/az/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/az/reply.gif b/styles/templates/default/images/lang/az/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/az/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_code.gif b/styles/templates/default/images/lang/be/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/be/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_edit.gif b/styles/templates/default/images/lang/be/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/be/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_email.gif b/styles/templates/default/images/lang/be/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/be/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_icq_add.gif b/styles/templates/default/images/lang/be/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/be/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_ip.gif b/styles/templates/default/images/lang/be/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/be/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_mc.gif b/styles/templates/default/images/lang/be/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/be/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_pm.gif b/styles/templates/default/images/lang/be/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/be/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_poll.gif b/styles/templates/default/images/lang/be/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/be/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_profile.gif b/styles/templates/default/images/lang/be/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/be/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_quote.gif b/styles/templates/default/images/lang/be/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/be/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_search.gif b/styles/templates/default/images/lang/be/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/be/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/icon_www.gif b/styles/templates/default/images/lang/be/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/be/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/msg_newpost.gif b/styles/templates/default/images/lang/be/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/be/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/post.gif b/styles/templates/default/images/lang/be/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/be/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/release.gif b/styles/templates/default/images/lang/be/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/be/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/reply-locked.gif b/styles/templates/default/images/lang/be/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/be/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/be/reply.gif b/styles/templates/default/images/lang/be/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/be/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_code.gif b/styles/templates/default/images/lang/bg/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_edit.gif b/styles/templates/default/images/lang/bg/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_email.gif b/styles/templates/default/images/lang/bg/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_icq_add.gif b/styles/templates/default/images/lang/bg/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_ip.gif b/styles/templates/default/images/lang/bg/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_mc.gif b/styles/templates/default/images/lang/bg/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_pm.gif b/styles/templates/default/images/lang/bg/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_poll.gif b/styles/templates/default/images/lang/bg/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_profile.gif b/styles/templates/default/images/lang/bg/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_quote.gif b/styles/templates/default/images/lang/bg/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_search.gif b/styles/templates/default/images/lang/bg/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/icon_www.gif b/styles/templates/default/images/lang/bg/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/bg/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/msg_newpost.gif b/styles/templates/default/images/lang/bg/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/bg/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/post.gif b/styles/templates/default/images/lang/bg/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/bg/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/release.gif b/styles/templates/default/images/lang/bg/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/bg/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/reply-locked.gif b/styles/templates/default/images/lang/bg/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/bg/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bg/reply.gif b/styles/templates/default/images/lang/bg/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/bg/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_code.gif b/styles/templates/default/images/lang/bs/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_edit.gif b/styles/templates/default/images/lang/bs/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_email.gif b/styles/templates/default/images/lang/bs/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_icq_add.gif b/styles/templates/default/images/lang/bs/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_ip.gif b/styles/templates/default/images/lang/bs/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_mc.gif b/styles/templates/default/images/lang/bs/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_pm.gif b/styles/templates/default/images/lang/bs/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_poll.gif b/styles/templates/default/images/lang/bs/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_profile.gif b/styles/templates/default/images/lang/bs/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_quote.gif b/styles/templates/default/images/lang/bs/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_search.gif b/styles/templates/default/images/lang/bs/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/icon_www.gif b/styles/templates/default/images/lang/bs/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/bs/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/msg_newpost.gif b/styles/templates/default/images/lang/bs/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/bs/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/post.gif b/styles/templates/default/images/lang/bs/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/bs/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/release.gif b/styles/templates/default/images/lang/bs/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/bs/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/reply-locked.gif b/styles/templates/default/images/lang/bs/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/bs/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/bs/reply.gif b/styles/templates/default/images/lang/bs/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/bs/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_code.gif b/styles/templates/default/images/lang/ca/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_edit.gif b/styles/templates/default/images/lang/ca/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_email.gif b/styles/templates/default/images/lang/ca/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_icq_add.gif b/styles/templates/default/images/lang/ca/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_ip.gif b/styles/templates/default/images/lang/ca/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_mc.gif b/styles/templates/default/images/lang/ca/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_pm.gif b/styles/templates/default/images/lang/ca/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_poll.gif b/styles/templates/default/images/lang/ca/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_profile.gif b/styles/templates/default/images/lang/ca/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_quote.gif b/styles/templates/default/images/lang/ca/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_search.gif b/styles/templates/default/images/lang/ca/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/icon_www.gif b/styles/templates/default/images/lang/ca/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ca/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/msg_newpost.gif b/styles/templates/default/images/lang/ca/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ca/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/post.gif b/styles/templates/default/images/lang/ca/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ca/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/release.gif b/styles/templates/default/images/lang/ca/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ca/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/reply-locked.gif b/styles/templates/default/images/lang/ca/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ca/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ca/reply.gif b/styles/templates/default/images/lang/ca/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ca/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_code.gif b/styles/templates/default/images/lang/cs/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_edit.gif b/styles/templates/default/images/lang/cs/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_email.gif b/styles/templates/default/images/lang/cs/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_icq_add.gif b/styles/templates/default/images/lang/cs/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_ip.gif b/styles/templates/default/images/lang/cs/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_mc.gif b/styles/templates/default/images/lang/cs/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_pm.gif b/styles/templates/default/images/lang/cs/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_poll.gif b/styles/templates/default/images/lang/cs/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_profile.gif b/styles/templates/default/images/lang/cs/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_quote.gif b/styles/templates/default/images/lang/cs/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_search.gif b/styles/templates/default/images/lang/cs/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/icon_www.gif b/styles/templates/default/images/lang/cs/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/cs/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/msg_newpost.gif b/styles/templates/default/images/lang/cs/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/cs/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/post.gif b/styles/templates/default/images/lang/cs/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/cs/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/release.gif b/styles/templates/default/images/lang/cs/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/cs/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/reply-locked.gif b/styles/templates/default/images/lang/cs/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/cs/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/cs/reply.gif b/styles/templates/default/images/lang/cs/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/cs/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_code.gif b/styles/templates/default/images/lang/da/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/da/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_edit.gif b/styles/templates/default/images/lang/da/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/da/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_email.gif b/styles/templates/default/images/lang/da/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/da/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_icq_add.gif b/styles/templates/default/images/lang/da/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/da/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_ip.gif b/styles/templates/default/images/lang/da/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/da/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_mc.gif b/styles/templates/default/images/lang/da/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/da/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_pm.gif b/styles/templates/default/images/lang/da/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/da/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_poll.gif b/styles/templates/default/images/lang/da/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/da/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_profile.gif b/styles/templates/default/images/lang/da/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/da/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_quote.gif b/styles/templates/default/images/lang/da/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/da/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_search.gif b/styles/templates/default/images/lang/da/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/da/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/icon_www.gif b/styles/templates/default/images/lang/da/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/da/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/msg_newpost.gif b/styles/templates/default/images/lang/da/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/da/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/post.gif b/styles/templates/default/images/lang/da/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/da/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/release.gif b/styles/templates/default/images/lang/da/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/da/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/reply-locked.gif b/styles/templates/default/images/lang/da/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/da/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/da/reply.gif b/styles/templates/default/images/lang/da/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/da/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_code.gif b/styles/templates/default/images/lang/de/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/de/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_edit.gif b/styles/templates/default/images/lang/de/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/de/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_email.gif b/styles/templates/default/images/lang/de/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/de/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_icq_add.gif b/styles/templates/default/images/lang/de/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/de/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_ip.gif b/styles/templates/default/images/lang/de/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/de/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_mc.gif b/styles/templates/default/images/lang/de/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/de/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_pm.gif b/styles/templates/default/images/lang/de/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/de/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_poll.gif b/styles/templates/default/images/lang/de/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/de/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_profile.gif b/styles/templates/default/images/lang/de/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/de/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_quote.gif b/styles/templates/default/images/lang/de/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/de/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_search.gif b/styles/templates/default/images/lang/de/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/de/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/icon_www.gif b/styles/templates/default/images/lang/de/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/de/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/msg_newpost.gif b/styles/templates/default/images/lang/de/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/de/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/post.gif b/styles/templates/default/images/lang/de/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/de/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/release.gif b/styles/templates/default/images/lang/de/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/de/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/reply-locked.gif b/styles/templates/default/images/lang/de/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/de/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/de/reply.gif b/styles/templates/default/images/lang/de/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/de/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_code.gif b/styles/templates/default/images/lang/el/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/el/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_edit.gif b/styles/templates/default/images/lang/el/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/el/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_email.gif b/styles/templates/default/images/lang/el/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/el/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_icq_add.gif b/styles/templates/default/images/lang/el/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/el/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_ip.gif b/styles/templates/default/images/lang/el/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/el/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_mc.gif b/styles/templates/default/images/lang/el/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/el/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_pm.gif b/styles/templates/default/images/lang/el/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/el/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_poll.gif b/styles/templates/default/images/lang/el/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/el/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_profile.gif b/styles/templates/default/images/lang/el/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/el/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_quote.gif b/styles/templates/default/images/lang/el/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/el/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_search.gif b/styles/templates/default/images/lang/el/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/el/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/icon_www.gif b/styles/templates/default/images/lang/el/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/el/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/msg_newpost.gif b/styles/templates/default/images/lang/el/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/el/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/post.gif b/styles/templates/default/images/lang/el/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/el/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/release.gif b/styles/templates/default/images/lang/el/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/el/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/reply-locked.gif b/styles/templates/default/images/lang/el/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/el/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/el/reply.gif b/styles/templates/default/images/lang/el/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/el/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_code.gif b/styles/templates/default/images/lang/en/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/en/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_edit.gif b/styles/templates/default/images/lang/en/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/en/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_email.gif b/styles/templates/default/images/lang/en/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/en/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_icq_add.gif b/styles/templates/default/images/lang/en/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/en/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_ip.gif b/styles/templates/default/images/lang/en/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/en/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_mc.gif b/styles/templates/default/images/lang/en/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/en/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_pm.gif b/styles/templates/default/images/lang/en/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/en/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_poll.gif b/styles/templates/default/images/lang/en/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/en/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_profile.gif b/styles/templates/default/images/lang/en/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/en/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_quote.gif b/styles/templates/default/images/lang/en/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/en/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_search.gif b/styles/templates/default/images/lang/en/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/en/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/icon_www.gif b/styles/templates/default/images/lang/en/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/en/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/msg_newpost.gif b/styles/templates/default/images/lang/en/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/en/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/post.gif b/styles/templates/default/images/lang/en/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/en/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/release.gif b/styles/templates/default/images/lang/en/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/en/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/reply-locked.gif b/styles/templates/default/images/lang/en/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/en/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/en/reply.gif b/styles/templates/default/images/lang/en/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/en/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_code.gif b/styles/templates/default/images/lang/es/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/es/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_edit.gif b/styles/templates/default/images/lang/es/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/es/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_email.gif b/styles/templates/default/images/lang/es/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/es/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_icq_add.gif b/styles/templates/default/images/lang/es/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/es/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_ip.gif b/styles/templates/default/images/lang/es/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/es/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_mc.gif b/styles/templates/default/images/lang/es/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/es/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_pm.gif b/styles/templates/default/images/lang/es/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/es/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_poll.gif b/styles/templates/default/images/lang/es/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/es/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_profile.gif b/styles/templates/default/images/lang/es/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/es/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_quote.gif b/styles/templates/default/images/lang/es/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/es/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_search.gif b/styles/templates/default/images/lang/es/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/es/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/icon_www.gif b/styles/templates/default/images/lang/es/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/es/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/msg_newpost.gif b/styles/templates/default/images/lang/es/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/es/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/post.gif b/styles/templates/default/images/lang/es/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/es/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/release.gif b/styles/templates/default/images/lang/es/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/es/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/reply-locked.gif b/styles/templates/default/images/lang/es/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/es/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/es/reply.gif b/styles/templates/default/images/lang/es/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/es/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_code.gif b/styles/templates/default/images/lang/et/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/et/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_edit.gif b/styles/templates/default/images/lang/et/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/et/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_email.gif b/styles/templates/default/images/lang/et/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/et/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_icq_add.gif b/styles/templates/default/images/lang/et/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/et/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_ip.gif b/styles/templates/default/images/lang/et/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/et/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_mc.gif b/styles/templates/default/images/lang/et/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/et/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_pm.gif b/styles/templates/default/images/lang/et/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/et/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_poll.gif b/styles/templates/default/images/lang/et/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/et/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_profile.gif b/styles/templates/default/images/lang/et/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/et/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_quote.gif b/styles/templates/default/images/lang/et/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/et/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_search.gif b/styles/templates/default/images/lang/et/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/et/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/icon_www.gif b/styles/templates/default/images/lang/et/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/et/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/msg_newpost.gif b/styles/templates/default/images/lang/et/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/et/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/post.gif b/styles/templates/default/images/lang/et/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/et/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/release.gif b/styles/templates/default/images/lang/et/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/et/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/reply-locked.gif b/styles/templates/default/images/lang/et/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/et/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/et/reply.gif b/styles/templates/default/images/lang/et/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/et/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_code.gif b/styles/templates/default/images/lang/fi/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_edit.gif b/styles/templates/default/images/lang/fi/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_email.gif b/styles/templates/default/images/lang/fi/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_icq_add.gif b/styles/templates/default/images/lang/fi/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_ip.gif b/styles/templates/default/images/lang/fi/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_mc.gif b/styles/templates/default/images/lang/fi/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_pm.gif b/styles/templates/default/images/lang/fi/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_poll.gif b/styles/templates/default/images/lang/fi/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_profile.gif b/styles/templates/default/images/lang/fi/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_quote.gif b/styles/templates/default/images/lang/fi/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_search.gif b/styles/templates/default/images/lang/fi/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/icon_www.gif b/styles/templates/default/images/lang/fi/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/fi/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/msg_newpost.gif b/styles/templates/default/images/lang/fi/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/fi/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/post.gif b/styles/templates/default/images/lang/fi/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/fi/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/release.gif b/styles/templates/default/images/lang/fi/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/fi/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/reply-locked.gif b/styles/templates/default/images/lang/fi/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/fi/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fi/reply.gif b/styles/templates/default/images/lang/fi/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/fi/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_code.gif b/styles/templates/default/images/lang/fr/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_edit.gif b/styles/templates/default/images/lang/fr/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_email.gif b/styles/templates/default/images/lang/fr/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_icq_add.gif b/styles/templates/default/images/lang/fr/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_ip.gif b/styles/templates/default/images/lang/fr/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_mc.gif b/styles/templates/default/images/lang/fr/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_pm.gif b/styles/templates/default/images/lang/fr/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_poll.gif b/styles/templates/default/images/lang/fr/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_profile.gif b/styles/templates/default/images/lang/fr/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_quote.gif b/styles/templates/default/images/lang/fr/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_search.gif b/styles/templates/default/images/lang/fr/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/icon_www.gif b/styles/templates/default/images/lang/fr/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/fr/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/msg_newpost.gif b/styles/templates/default/images/lang/fr/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/fr/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/post.gif b/styles/templates/default/images/lang/fr/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/fr/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/release.gif b/styles/templates/default/images/lang/fr/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/fr/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/reply-locked.gif b/styles/templates/default/images/lang/fr/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/fr/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/fr/reply.gif b/styles/templates/default/images/lang/fr/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/fr/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_code.gif b/styles/templates/default/images/lang/he/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/he/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_edit.gif b/styles/templates/default/images/lang/he/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/he/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_email.gif b/styles/templates/default/images/lang/he/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/he/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_icq_add.gif b/styles/templates/default/images/lang/he/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/he/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_ip.gif b/styles/templates/default/images/lang/he/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/he/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_mc.gif b/styles/templates/default/images/lang/he/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/he/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_pm.gif b/styles/templates/default/images/lang/he/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/he/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_poll.gif b/styles/templates/default/images/lang/he/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/he/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_profile.gif b/styles/templates/default/images/lang/he/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/he/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_quote.gif b/styles/templates/default/images/lang/he/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/he/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_search.gif b/styles/templates/default/images/lang/he/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/he/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/icon_www.gif b/styles/templates/default/images/lang/he/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/he/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/msg_newpost.gif b/styles/templates/default/images/lang/he/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/he/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/post.gif b/styles/templates/default/images/lang/he/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/he/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/release.gif b/styles/templates/default/images/lang/he/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/he/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/reply-locked.gif b/styles/templates/default/images/lang/he/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/he/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/he/reply.gif b/styles/templates/default/images/lang/he/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/he/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_code.gif b/styles/templates/default/images/lang/hi/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_edit.gif b/styles/templates/default/images/lang/hi/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_email.gif b/styles/templates/default/images/lang/hi/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_icq_add.gif b/styles/templates/default/images/lang/hi/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_ip.gif b/styles/templates/default/images/lang/hi/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_mc.gif b/styles/templates/default/images/lang/hi/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_pm.gif b/styles/templates/default/images/lang/hi/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_poll.gif b/styles/templates/default/images/lang/hi/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_profile.gif b/styles/templates/default/images/lang/hi/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_quote.gif b/styles/templates/default/images/lang/hi/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_search.gif b/styles/templates/default/images/lang/hi/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/icon_www.gif b/styles/templates/default/images/lang/hi/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/hi/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/msg_newpost.gif b/styles/templates/default/images/lang/hi/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/hi/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/post.gif b/styles/templates/default/images/lang/hi/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/hi/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/release.gif b/styles/templates/default/images/lang/hi/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/hi/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/reply-locked.gif b/styles/templates/default/images/lang/hi/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/hi/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hi/reply.gif b/styles/templates/default/images/lang/hi/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/hi/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_code.gif b/styles/templates/default/images/lang/hr/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_edit.gif b/styles/templates/default/images/lang/hr/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_email.gif b/styles/templates/default/images/lang/hr/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_icq_add.gif b/styles/templates/default/images/lang/hr/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_ip.gif b/styles/templates/default/images/lang/hr/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_mc.gif b/styles/templates/default/images/lang/hr/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_pm.gif b/styles/templates/default/images/lang/hr/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_poll.gif b/styles/templates/default/images/lang/hr/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_profile.gif b/styles/templates/default/images/lang/hr/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_quote.gif b/styles/templates/default/images/lang/hr/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_search.gif b/styles/templates/default/images/lang/hr/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/icon_www.gif b/styles/templates/default/images/lang/hr/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/hr/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/msg_newpost.gif b/styles/templates/default/images/lang/hr/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/hr/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/post.gif b/styles/templates/default/images/lang/hr/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/hr/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/release.gif b/styles/templates/default/images/lang/hr/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/hr/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/reply-locked.gif b/styles/templates/default/images/lang/hr/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/hr/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hr/reply.gif b/styles/templates/default/images/lang/hr/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/hr/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_code.gif b/styles/templates/default/images/lang/hu/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_edit.gif b/styles/templates/default/images/lang/hu/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_email.gif b/styles/templates/default/images/lang/hu/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_icq_add.gif b/styles/templates/default/images/lang/hu/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_ip.gif b/styles/templates/default/images/lang/hu/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_mc.gif b/styles/templates/default/images/lang/hu/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_pm.gif b/styles/templates/default/images/lang/hu/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_poll.gif b/styles/templates/default/images/lang/hu/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_profile.gif b/styles/templates/default/images/lang/hu/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_quote.gif b/styles/templates/default/images/lang/hu/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_search.gif b/styles/templates/default/images/lang/hu/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/icon_www.gif b/styles/templates/default/images/lang/hu/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/hu/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/msg_newpost.gif b/styles/templates/default/images/lang/hu/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/hu/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/post.gif b/styles/templates/default/images/lang/hu/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/hu/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/release.gif b/styles/templates/default/images/lang/hu/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/hu/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/reply-locked.gif b/styles/templates/default/images/lang/hu/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/hu/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hu/reply.gif b/styles/templates/default/images/lang/hu/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/hu/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_code.gif b/styles/templates/default/images/lang/hy/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_edit.gif b/styles/templates/default/images/lang/hy/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_email.gif b/styles/templates/default/images/lang/hy/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_icq_add.gif b/styles/templates/default/images/lang/hy/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_ip.gif b/styles/templates/default/images/lang/hy/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_mc.gif b/styles/templates/default/images/lang/hy/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_pm.gif b/styles/templates/default/images/lang/hy/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_poll.gif b/styles/templates/default/images/lang/hy/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_profile.gif b/styles/templates/default/images/lang/hy/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_quote.gif b/styles/templates/default/images/lang/hy/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_search.gif b/styles/templates/default/images/lang/hy/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/icon_www.gif b/styles/templates/default/images/lang/hy/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/hy/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/msg_newpost.gif b/styles/templates/default/images/lang/hy/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/hy/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/post.gif b/styles/templates/default/images/lang/hy/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/hy/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/release.gif b/styles/templates/default/images/lang/hy/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/hy/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/reply-locked.gif b/styles/templates/default/images/lang/hy/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/hy/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/hy/reply.gif b/styles/templates/default/images/lang/hy/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/hy/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_code.gif b/styles/templates/default/images/lang/id/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/id/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_edit.gif b/styles/templates/default/images/lang/id/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/id/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_email.gif b/styles/templates/default/images/lang/id/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/id/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_icq_add.gif b/styles/templates/default/images/lang/id/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/id/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_ip.gif b/styles/templates/default/images/lang/id/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/id/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_mc.gif b/styles/templates/default/images/lang/id/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/id/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_pm.gif b/styles/templates/default/images/lang/id/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/id/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_poll.gif b/styles/templates/default/images/lang/id/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/id/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_profile.gif b/styles/templates/default/images/lang/id/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/id/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_quote.gif b/styles/templates/default/images/lang/id/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/id/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_search.gif b/styles/templates/default/images/lang/id/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/id/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/icon_www.gif b/styles/templates/default/images/lang/id/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/id/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/msg_newpost.gif b/styles/templates/default/images/lang/id/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/id/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/post.gif b/styles/templates/default/images/lang/id/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/id/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/release.gif b/styles/templates/default/images/lang/id/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/id/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/reply-locked.gif b/styles/templates/default/images/lang/id/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/id/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/id/reply.gif b/styles/templates/default/images/lang/id/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/id/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_code.gif b/styles/templates/default/images/lang/it/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/it/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_edit.gif b/styles/templates/default/images/lang/it/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/it/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_email.gif b/styles/templates/default/images/lang/it/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/it/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_icq_add.gif b/styles/templates/default/images/lang/it/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/it/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_ip.gif b/styles/templates/default/images/lang/it/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/it/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_mc.gif b/styles/templates/default/images/lang/it/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/it/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_pm.gif b/styles/templates/default/images/lang/it/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/it/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_poll.gif b/styles/templates/default/images/lang/it/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/it/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_profile.gif b/styles/templates/default/images/lang/it/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/it/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_quote.gif b/styles/templates/default/images/lang/it/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/it/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_search.gif b/styles/templates/default/images/lang/it/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/it/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/icon_www.gif b/styles/templates/default/images/lang/it/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/it/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/msg_newpost.gif b/styles/templates/default/images/lang/it/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/it/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/post.gif b/styles/templates/default/images/lang/it/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/it/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/release.gif b/styles/templates/default/images/lang/it/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/it/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/reply-locked.gif b/styles/templates/default/images/lang/it/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/it/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/it/reply.gif b/styles/templates/default/images/lang/it/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/it/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_code.gif b/styles/templates/default/images/lang/ja/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_edit.gif b/styles/templates/default/images/lang/ja/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_email.gif b/styles/templates/default/images/lang/ja/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_icq_add.gif b/styles/templates/default/images/lang/ja/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_ip.gif b/styles/templates/default/images/lang/ja/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_mc.gif b/styles/templates/default/images/lang/ja/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_pm.gif b/styles/templates/default/images/lang/ja/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_poll.gif b/styles/templates/default/images/lang/ja/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_profile.gif b/styles/templates/default/images/lang/ja/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_quote.gif b/styles/templates/default/images/lang/ja/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_search.gif b/styles/templates/default/images/lang/ja/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/icon_www.gif b/styles/templates/default/images/lang/ja/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ja/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/msg_newpost.gif b/styles/templates/default/images/lang/ja/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ja/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/post.gif b/styles/templates/default/images/lang/ja/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ja/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/release.gif b/styles/templates/default/images/lang/ja/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ja/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/reply-locked.gif b/styles/templates/default/images/lang/ja/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ja/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ja/reply.gif b/styles/templates/default/images/lang/ja/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ja/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_code.gif b/styles/templates/default/images/lang/ka/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_edit.gif b/styles/templates/default/images/lang/ka/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_email.gif b/styles/templates/default/images/lang/ka/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_icq_add.gif b/styles/templates/default/images/lang/ka/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_ip.gif b/styles/templates/default/images/lang/ka/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_mc.gif b/styles/templates/default/images/lang/ka/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_pm.gif b/styles/templates/default/images/lang/ka/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_poll.gif b/styles/templates/default/images/lang/ka/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_profile.gif b/styles/templates/default/images/lang/ka/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_quote.gif b/styles/templates/default/images/lang/ka/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_search.gif b/styles/templates/default/images/lang/ka/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/icon_www.gif b/styles/templates/default/images/lang/ka/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ka/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/msg_newpost.gif b/styles/templates/default/images/lang/ka/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ka/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/post.gif b/styles/templates/default/images/lang/ka/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ka/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/release.gif b/styles/templates/default/images/lang/ka/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ka/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/reply-locked.gif b/styles/templates/default/images/lang/ka/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ka/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ka/reply.gif b/styles/templates/default/images/lang/ka/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ka/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_code.gif b/styles/templates/default/images/lang/kk/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_edit.gif b/styles/templates/default/images/lang/kk/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_email.gif b/styles/templates/default/images/lang/kk/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_icq_add.gif b/styles/templates/default/images/lang/kk/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_ip.gif b/styles/templates/default/images/lang/kk/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_mc.gif b/styles/templates/default/images/lang/kk/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_pm.gif b/styles/templates/default/images/lang/kk/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_poll.gif b/styles/templates/default/images/lang/kk/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_profile.gif b/styles/templates/default/images/lang/kk/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_quote.gif b/styles/templates/default/images/lang/kk/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_search.gif b/styles/templates/default/images/lang/kk/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/icon_www.gif b/styles/templates/default/images/lang/kk/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/kk/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/msg_newpost.gif b/styles/templates/default/images/lang/kk/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/kk/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/post.gif b/styles/templates/default/images/lang/kk/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/kk/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/release.gif b/styles/templates/default/images/lang/kk/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/kk/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/reply-locked.gif b/styles/templates/default/images/lang/kk/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/kk/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/kk/reply.gif b/styles/templates/default/images/lang/kk/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/kk/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_code.gif b/styles/templates/default/images/lang/ko/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_edit.gif b/styles/templates/default/images/lang/ko/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_email.gif b/styles/templates/default/images/lang/ko/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_icq_add.gif b/styles/templates/default/images/lang/ko/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_ip.gif b/styles/templates/default/images/lang/ko/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_mc.gif b/styles/templates/default/images/lang/ko/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_pm.gif b/styles/templates/default/images/lang/ko/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_poll.gif b/styles/templates/default/images/lang/ko/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_profile.gif b/styles/templates/default/images/lang/ko/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_quote.gif b/styles/templates/default/images/lang/ko/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_search.gif b/styles/templates/default/images/lang/ko/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/icon_www.gif b/styles/templates/default/images/lang/ko/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ko/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/msg_newpost.gif b/styles/templates/default/images/lang/ko/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ko/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/post.gif b/styles/templates/default/images/lang/ko/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ko/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/release.gif b/styles/templates/default/images/lang/ko/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ko/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/reply-locked.gif b/styles/templates/default/images/lang/ko/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ko/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ko/reply.gif b/styles/templates/default/images/lang/ko/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ko/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_code.gif b/styles/templates/default/images/lang/lt/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_edit.gif b/styles/templates/default/images/lang/lt/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_email.gif b/styles/templates/default/images/lang/lt/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_icq_add.gif b/styles/templates/default/images/lang/lt/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_ip.gif b/styles/templates/default/images/lang/lt/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_mc.gif b/styles/templates/default/images/lang/lt/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_pm.gif b/styles/templates/default/images/lang/lt/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_poll.gif b/styles/templates/default/images/lang/lt/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_profile.gif b/styles/templates/default/images/lang/lt/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_quote.gif b/styles/templates/default/images/lang/lt/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_search.gif b/styles/templates/default/images/lang/lt/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/icon_www.gif b/styles/templates/default/images/lang/lt/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/lt/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/msg_newpost.gif b/styles/templates/default/images/lang/lt/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/lt/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/post.gif b/styles/templates/default/images/lang/lt/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/lt/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/release.gif b/styles/templates/default/images/lang/lt/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/lt/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/reply-locked.gif b/styles/templates/default/images/lang/lt/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/lt/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lt/reply.gif b/styles/templates/default/images/lang/lt/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/lt/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_code.gif b/styles/templates/default/images/lang/lv/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_edit.gif b/styles/templates/default/images/lang/lv/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_email.gif b/styles/templates/default/images/lang/lv/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_icq_add.gif b/styles/templates/default/images/lang/lv/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_ip.gif b/styles/templates/default/images/lang/lv/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_mc.gif b/styles/templates/default/images/lang/lv/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_pm.gif b/styles/templates/default/images/lang/lv/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_poll.gif b/styles/templates/default/images/lang/lv/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_profile.gif b/styles/templates/default/images/lang/lv/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_quote.gif b/styles/templates/default/images/lang/lv/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_search.gif b/styles/templates/default/images/lang/lv/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/icon_www.gif b/styles/templates/default/images/lang/lv/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/lv/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/msg_newpost.gif b/styles/templates/default/images/lang/lv/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/lv/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/post.gif b/styles/templates/default/images/lang/lv/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/lv/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/release.gif b/styles/templates/default/images/lang/lv/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/lv/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/reply-locked.gif b/styles/templates/default/images/lang/lv/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/lv/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/lv/reply.gif b/styles/templates/default/images/lang/lv/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/lv/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_code.gif b/styles/templates/default/images/lang/nl/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_edit.gif b/styles/templates/default/images/lang/nl/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_email.gif b/styles/templates/default/images/lang/nl/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_icq_add.gif b/styles/templates/default/images/lang/nl/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_ip.gif b/styles/templates/default/images/lang/nl/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_mc.gif b/styles/templates/default/images/lang/nl/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_pm.gif b/styles/templates/default/images/lang/nl/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_poll.gif b/styles/templates/default/images/lang/nl/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_profile.gif b/styles/templates/default/images/lang/nl/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_quote.gif b/styles/templates/default/images/lang/nl/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_search.gif b/styles/templates/default/images/lang/nl/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/icon_www.gif b/styles/templates/default/images/lang/nl/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/nl/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/msg_newpost.gif b/styles/templates/default/images/lang/nl/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/nl/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/post.gif b/styles/templates/default/images/lang/nl/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/nl/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/release.gif b/styles/templates/default/images/lang/nl/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/nl/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/reply-locked.gif b/styles/templates/default/images/lang/nl/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/nl/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/nl/reply.gif b/styles/templates/default/images/lang/nl/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/nl/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_code.gif b/styles/templates/default/images/lang/no/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/no/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_edit.gif b/styles/templates/default/images/lang/no/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/no/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_email.gif b/styles/templates/default/images/lang/no/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/no/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_icq_add.gif b/styles/templates/default/images/lang/no/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/no/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_ip.gif b/styles/templates/default/images/lang/no/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/no/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_mc.gif b/styles/templates/default/images/lang/no/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/no/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_pm.gif b/styles/templates/default/images/lang/no/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/no/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_poll.gif b/styles/templates/default/images/lang/no/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/no/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_profile.gif b/styles/templates/default/images/lang/no/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/no/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_quote.gif b/styles/templates/default/images/lang/no/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/no/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_search.gif b/styles/templates/default/images/lang/no/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/no/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/icon_www.gif b/styles/templates/default/images/lang/no/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/no/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/msg_newpost.gif b/styles/templates/default/images/lang/no/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/no/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/post.gif b/styles/templates/default/images/lang/no/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/no/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/release.gif b/styles/templates/default/images/lang/no/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/no/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/reply-locked.gif b/styles/templates/default/images/lang/no/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/no/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/no/reply.gif b/styles/templates/default/images/lang/no/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/no/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_code.gif b/styles/templates/default/images/lang/pl/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_edit.gif b/styles/templates/default/images/lang/pl/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_email.gif b/styles/templates/default/images/lang/pl/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_icq_add.gif b/styles/templates/default/images/lang/pl/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_ip.gif b/styles/templates/default/images/lang/pl/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_mc.gif b/styles/templates/default/images/lang/pl/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_pm.gif b/styles/templates/default/images/lang/pl/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_poll.gif b/styles/templates/default/images/lang/pl/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_profile.gif b/styles/templates/default/images/lang/pl/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_quote.gif b/styles/templates/default/images/lang/pl/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_search.gif b/styles/templates/default/images/lang/pl/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/icon_www.gif b/styles/templates/default/images/lang/pl/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/pl/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/msg_newpost.gif b/styles/templates/default/images/lang/pl/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/pl/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/post.gif b/styles/templates/default/images/lang/pl/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/pl/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/release.gif b/styles/templates/default/images/lang/pl/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/pl/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/reply-locked.gif b/styles/templates/default/images/lang/pl/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/pl/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pl/reply.gif b/styles/templates/default/images/lang/pl/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/pl/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_code.gif b/styles/templates/default/images/lang/pt/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_edit.gif b/styles/templates/default/images/lang/pt/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_email.gif b/styles/templates/default/images/lang/pt/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_icq_add.gif b/styles/templates/default/images/lang/pt/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_ip.gif b/styles/templates/default/images/lang/pt/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_mc.gif b/styles/templates/default/images/lang/pt/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_pm.gif b/styles/templates/default/images/lang/pt/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_poll.gif b/styles/templates/default/images/lang/pt/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_profile.gif b/styles/templates/default/images/lang/pt/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_quote.gif b/styles/templates/default/images/lang/pt/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_search.gif b/styles/templates/default/images/lang/pt/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/icon_www.gif b/styles/templates/default/images/lang/pt/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/pt/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/msg_newpost.gif b/styles/templates/default/images/lang/pt/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/pt/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/post.gif b/styles/templates/default/images/lang/pt/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/pt/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/release.gif b/styles/templates/default/images/lang/pt/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/pt/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/reply-locked.gif b/styles/templates/default/images/lang/pt/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/pt/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/pt/reply.gif b/styles/templates/default/images/lang/pt/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/pt/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_code.gif b/styles/templates/default/images/lang/ro/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_edit.gif b/styles/templates/default/images/lang/ro/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_email.gif b/styles/templates/default/images/lang/ro/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_icq_add.gif b/styles/templates/default/images/lang/ro/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_ip.gif b/styles/templates/default/images/lang/ro/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_mc.gif b/styles/templates/default/images/lang/ro/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_pm.gif b/styles/templates/default/images/lang/ro/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_poll.gif b/styles/templates/default/images/lang/ro/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_profile.gif b/styles/templates/default/images/lang/ro/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_quote.gif b/styles/templates/default/images/lang/ro/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_search.gif b/styles/templates/default/images/lang/ro/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/icon_www.gif b/styles/templates/default/images/lang/ro/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ro/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/msg_newpost.gif b/styles/templates/default/images/lang/ro/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/ro/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/post.gif b/styles/templates/default/images/lang/ro/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/ro/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/release.gif b/styles/templates/default/images/lang/ro/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/ro/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/reply-locked.gif b/styles/templates/default/images/lang/ro/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/ro/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ro/reply.gif b/styles/templates/default/images/lang/ro/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/ro/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_code.gif b/styles/templates/default/images/lang/ru/icon_code.gif deleted file mode 100644 index b3d65a375..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_edit.gif b/styles/templates/default/images/lang/ru/icon_edit.gif deleted file mode 100644 index fd52b6b27..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_email.gif b/styles/templates/default/images/lang/ru/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_icq_add.gif b/styles/templates/default/images/lang/ru/icon_icq_add.gif deleted file mode 100644 index 4309f27b5..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_ip.gif b/styles/templates/default/images/lang/ru/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_mc.gif b/styles/templates/default/images/lang/ru/icon_mc.gif deleted file mode 100644 index 91460ea53..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_pm.gif b/styles/templates/default/images/lang/ru/icon_pm.gif deleted file mode 100644 index 390db0b74..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_poll.gif b/styles/templates/default/images/lang/ru/icon_poll.gif deleted file mode 100644 index 30a6c5ed3..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_profile.gif b/styles/templates/default/images/lang/ru/icon_profile.gif deleted file mode 100644 index 422304b4f..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_quote.gif b/styles/templates/default/images/lang/ru/icon_quote.gif deleted file mode 100644 index 7997dd495..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_search.gif b/styles/templates/default/images/lang/ru/icon_search.gif deleted file mode 100644 index 11e09d7a1..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/icon_www.gif b/styles/templates/default/images/lang/ru/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/ru/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/msg_newpost.gif b/styles/templates/default/images/lang/ru/msg_newpost.gif deleted file mode 100644 index f5d7bcb81..000000000 Binary files a/styles/templates/default/images/lang/ru/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/post.gif b/styles/templates/default/images/lang/ru/post.gif deleted file mode 100644 index e5e3349a0..000000000 Binary files a/styles/templates/default/images/lang/ru/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/release.gif b/styles/templates/default/images/lang/ru/release.gif deleted file mode 100644 index 8daa8f8cb..000000000 Binary files a/styles/templates/default/images/lang/ru/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/reply-locked.gif b/styles/templates/default/images/lang/ru/reply-locked.gif deleted file mode 100644 index 538693e91..000000000 Binary files a/styles/templates/default/images/lang/ru/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/ru/reply.gif b/styles/templates/default/images/lang/ru/reply.gif deleted file mode 100644 index 37914ed0d..000000000 Binary files a/styles/templates/default/images/lang/ru/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_code.gif b/styles/templates/default/images/lang/sk/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_edit.gif b/styles/templates/default/images/lang/sk/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_email.gif b/styles/templates/default/images/lang/sk/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_icq_add.gif b/styles/templates/default/images/lang/sk/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_ip.gif b/styles/templates/default/images/lang/sk/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_mc.gif b/styles/templates/default/images/lang/sk/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_pm.gif b/styles/templates/default/images/lang/sk/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_poll.gif b/styles/templates/default/images/lang/sk/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_profile.gif b/styles/templates/default/images/lang/sk/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_quote.gif b/styles/templates/default/images/lang/sk/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_search.gif b/styles/templates/default/images/lang/sk/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/icon_www.gif b/styles/templates/default/images/lang/sk/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/sk/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/msg_newpost.gif b/styles/templates/default/images/lang/sk/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/sk/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/post.gif b/styles/templates/default/images/lang/sk/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/sk/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/release.gif b/styles/templates/default/images/lang/sk/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/sk/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/reply-locked.gif b/styles/templates/default/images/lang/sk/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/sk/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sk/reply.gif b/styles/templates/default/images/lang/sk/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/sk/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_code.gif b/styles/templates/default/images/lang/sl/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_edit.gif b/styles/templates/default/images/lang/sl/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_email.gif b/styles/templates/default/images/lang/sl/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_icq_add.gif b/styles/templates/default/images/lang/sl/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_ip.gif b/styles/templates/default/images/lang/sl/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_mc.gif b/styles/templates/default/images/lang/sl/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_pm.gif b/styles/templates/default/images/lang/sl/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_poll.gif b/styles/templates/default/images/lang/sl/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_profile.gif b/styles/templates/default/images/lang/sl/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_quote.gif b/styles/templates/default/images/lang/sl/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_search.gif b/styles/templates/default/images/lang/sl/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/icon_www.gif b/styles/templates/default/images/lang/sl/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/sl/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/msg_newpost.gif b/styles/templates/default/images/lang/sl/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/sl/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/post.gif b/styles/templates/default/images/lang/sl/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/sl/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/release.gif b/styles/templates/default/images/lang/sl/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/sl/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/reply-locked.gif b/styles/templates/default/images/lang/sl/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/sl/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sl/reply.gif b/styles/templates/default/images/lang/sl/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/sl/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_code.gif b/styles/templates/default/images/lang/source/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/source/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_edit.gif b/styles/templates/default/images/lang/source/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/source/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_email.gif b/styles/templates/default/images/lang/source/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/source/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_icq_add.gif b/styles/templates/default/images/lang/source/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/source/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_ip.gif b/styles/templates/default/images/lang/source/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/source/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_mc.gif b/styles/templates/default/images/lang/source/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/source/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_pm.gif b/styles/templates/default/images/lang/source/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/source/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_poll.gif b/styles/templates/default/images/lang/source/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/source/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_profile.gif b/styles/templates/default/images/lang/source/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/source/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_quote.gif b/styles/templates/default/images/lang/source/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/source/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_search.gif b/styles/templates/default/images/lang/source/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/source/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icon_www.gif b/styles/templates/default/images/lang/source/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/source/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icons_sources/icon_large.gif b/styles/templates/default/images/lang/source/icons_sources/icon_large.gif deleted file mode 100644 index e3d072db6..000000000 Binary files a/styles/templates/default/images/lang/source/icons_sources/icon_large.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icons_sources/icon_medium.gif b/styles/templates/default/images/lang/source/icons_sources/icon_medium.gif deleted file mode 100644 index fed70f75e..000000000 Binary files a/styles/templates/default/images/lang/source/icons_sources/icon_medium.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/icons_sources/icon_small.gif b/styles/templates/default/images/lang/source/icons_sources/icon_small.gif deleted file mode 100644 index 85b723015..000000000 Binary files a/styles/templates/default/images/lang/source/icons_sources/icon_small.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/msg_newpost.gif b/styles/templates/default/images/lang/source/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/source/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/post.gif b/styles/templates/default/images/lang/source/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/source/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/release.gif b/styles/templates/default/images/lang/source/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/source/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/reply-locked.gif b/styles/templates/default/images/lang/source/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/source/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/source/reply.gif b/styles/templates/default/images/lang/source/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/source/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_code.gif b/styles/templates/default/images/lang/sq/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_edit.gif b/styles/templates/default/images/lang/sq/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_email.gif b/styles/templates/default/images/lang/sq/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_icq_add.gif b/styles/templates/default/images/lang/sq/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_ip.gif b/styles/templates/default/images/lang/sq/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_mc.gif b/styles/templates/default/images/lang/sq/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_pm.gif b/styles/templates/default/images/lang/sq/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_poll.gif b/styles/templates/default/images/lang/sq/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_profile.gif b/styles/templates/default/images/lang/sq/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_quote.gif b/styles/templates/default/images/lang/sq/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_search.gif b/styles/templates/default/images/lang/sq/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/icon_www.gif b/styles/templates/default/images/lang/sq/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/sq/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/msg_newpost.gif b/styles/templates/default/images/lang/sq/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/sq/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/post.gif b/styles/templates/default/images/lang/sq/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/sq/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/release.gif b/styles/templates/default/images/lang/sq/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/sq/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/reply-locked.gif b/styles/templates/default/images/lang/sq/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/sq/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sq/reply.gif b/styles/templates/default/images/lang/sq/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/sq/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_code.gif b/styles/templates/default/images/lang/sr/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_edit.gif b/styles/templates/default/images/lang/sr/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_email.gif b/styles/templates/default/images/lang/sr/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_icq_add.gif b/styles/templates/default/images/lang/sr/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_ip.gif b/styles/templates/default/images/lang/sr/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_mc.gif b/styles/templates/default/images/lang/sr/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_pm.gif b/styles/templates/default/images/lang/sr/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_poll.gif b/styles/templates/default/images/lang/sr/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_profile.gif b/styles/templates/default/images/lang/sr/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_quote.gif b/styles/templates/default/images/lang/sr/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_search.gif b/styles/templates/default/images/lang/sr/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/icon_www.gif b/styles/templates/default/images/lang/sr/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/sr/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/msg_newpost.gif b/styles/templates/default/images/lang/sr/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/sr/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/post.gif b/styles/templates/default/images/lang/sr/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/sr/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/release.gif b/styles/templates/default/images/lang/sr/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/sr/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/reply-locked.gif b/styles/templates/default/images/lang/sr/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/sr/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sr/reply.gif b/styles/templates/default/images/lang/sr/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/sr/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_code.gif b/styles/templates/default/images/lang/sv/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_edit.gif b/styles/templates/default/images/lang/sv/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_email.gif b/styles/templates/default/images/lang/sv/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_icq_add.gif b/styles/templates/default/images/lang/sv/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_ip.gif b/styles/templates/default/images/lang/sv/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_mc.gif b/styles/templates/default/images/lang/sv/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_pm.gif b/styles/templates/default/images/lang/sv/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_poll.gif b/styles/templates/default/images/lang/sv/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_profile.gif b/styles/templates/default/images/lang/sv/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_quote.gif b/styles/templates/default/images/lang/sv/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_search.gif b/styles/templates/default/images/lang/sv/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/icon_www.gif b/styles/templates/default/images/lang/sv/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/sv/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/msg_newpost.gif b/styles/templates/default/images/lang/sv/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/sv/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/post.gif b/styles/templates/default/images/lang/sv/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/sv/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/release.gif b/styles/templates/default/images/lang/sv/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/sv/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/reply-locked.gif b/styles/templates/default/images/lang/sv/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/sv/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/sv/reply.gif b/styles/templates/default/images/lang/sv/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/sv/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_code.gif b/styles/templates/default/images/lang/tg/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_edit.gif b/styles/templates/default/images/lang/tg/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_email.gif b/styles/templates/default/images/lang/tg/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_icq_add.gif b/styles/templates/default/images/lang/tg/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_ip.gif b/styles/templates/default/images/lang/tg/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_mc.gif b/styles/templates/default/images/lang/tg/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_pm.gif b/styles/templates/default/images/lang/tg/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_poll.gif b/styles/templates/default/images/lang/tg/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_profile.gif b/styles/templates/default/images/lang/tg/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_quote.gif b/styles/templates/default/images/lang/tg/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_search.gif b/styles/templates/default/images/lang/tg/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/icon_www.gif b/styles/templates/default/images/lang/tg/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/tg/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/msg_newpost.gif b/styles/templates/default/images/lang/tg/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/tg/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/post.gif b/styles/templates/default/images/lang/tg/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/tg/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/release.gif b/styles/templates/default/images/lang/tg/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/tg/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/reply-locked.gif b/styles/templates/default/images/lang/tg/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/tg/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tg/reply.gif b/styles/templates/default/images/lang/tg/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/tg/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_code.gif b/styles/templates/default/images/lang/th/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/th/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_edit.gif b/styles/templates/default/images/lang/th/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/th/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_email.gif b/styles/templates/default/images/lang/th/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/th/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_icq_add.gif b/styles/templates/default/images/lang/th/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/th/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_ip.gif b/styles/templates/default/images/lang/th/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/th/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_mc.gif b/styles/templates/default/images/lang/th/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/th/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_pm.gif b/styles/templates/default/images/lang/th/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/th/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_poll.gif b/styles/templates/default/images/lang/th/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/th/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_profile.gif b/styles/templates/default/images/lang/th/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/th/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_quote.gif b/styles/templates/default/images/lang/th/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/th/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_search.gif b/styles/templates/default/images/lang/th/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/th/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/icon_www.gif b/styles/templates/default/images/lang/th/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/th/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/msg_newpost.gif b/styles/templates/default/images/lang/th/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/th/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/post.gif b/styles/templates/default/images/lang/th/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/th/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/release.gif b/styles/templates/default/images/lang/th/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/th/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/reply-locked.gif b/styles/templates/default/images/lang/th/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/th/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/th/reply.gif b/styles/templates/default/images/lang/th/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/th/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_code.gif b/styles/templates/default/images/lang/tr/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_edit.gif b/styles/templates/default/images/lang/tr/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_email.gif b/styles/templates/default/images/lang/tr/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_icq_add.gif b/styles/templates/default/images/lang/tr/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_ip.gif b/styles/templates/default/images/lang/tr/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_mc.gif b/styles/templates/default/images/lang/tr/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_pm.gif b/styles/templates/default/images/lang/tr/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_poll.gif b/styles/templates/default/images/lang/tr/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_profile.gif b/styles/templates/default/images/lang/tr/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_quote.gif b/styles/templates/default/images/lang/tr/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_search.gif b/styles/templates/default/images/lang/tr/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/icon_www.gif b/styles/templates/default/images/lang/tr/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/tr/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/msg_newpost.gif b/styles/templates/default/images/lang/tr/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/tr/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/post.gif b/styles/templates/default/images/lang/tr/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/tr/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/release.gif b/styles/templates/default/images/lang/tr/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/tr/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/reply-locked.gif b/styles/templates/default/images/lang/tr/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/tr/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/tr/reply.gif b/styles/templates/default/images/lang/tr/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/tr/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_code.gif b/styles/templates/default/images/lang/uk/icon_code.gif deleted file mode 100644 index b3d65a375..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_edit.gif b/styles/templates/default/images/lang/uk/icon_edit.gif deleted file mode 100644 index 2f1f508ce..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_email.gif b/styles/templates/default/images/lang/uk/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_icq_add.gif b/styles/templates/default/images/lang/uk/icon_icq_add.gif deleted file mode 100644 index 4309f27b5..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_ip.gif b/styles/templates/default/images/lang/uk/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_mc.gif b/styles/templates/default/images/lang/uk/icon_mc.gif deleted file mode 100644 index 91460ea53..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_pm.gif b/styles/templates/default/images/lang/uk/icon_pm.gif deleted file mode 100644 index ff4a918d5..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_poll.gif b/styles/templates/default/images/lang/uk/icon_poll.gif deleted file mode 100644 index 05c38021e..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_profile.gif b/styles/templates/default/images/lang/uk/icon_profile.gif deleted file mode 100644 index 8e0986c9c..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_quote.gif b/styles/templates/default/images/lang/uk/icon_quote.gif deleted file mode 100644 index 33cea78f6..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_search.gif b/styles/templates/default/images/lang/uk/icon_search.gif deleted file mode 100644 index 36e607362..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/icon_www.gif b/styles/templates/default/images/lang/uk/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/uk/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/msg_newpost.gif b/styles/templates/default/images/lang/uk/msg_newpost.gif deleted file mode 100644 index ed5d027f4..000000000 Binary files a/styles/templates/default/images/lang/uk/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/post.gif b/styles/templates/default/images/lang/uk/post.gif deleted file mode 100644 index 64b754718..000000000 Binary files a/styles/templates/default/images/lang/uk/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/release.gif b/styles/templates/default/images/lang/uk/release.gif deleted file mode 100644 index e33191dbf..000000000 Binary files a/styles/templates/default/images/lang/uk/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/reply-locked.gif b/styles/templates/default/images/lang/uk/reply-locked.gif deleted file mode 100644 index 67aaa9372..000000000 Binary files a/styles/templates/default/images/lang/uk/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uk/reply.gif b/styles/templates/default/images/lang/uk/reply.gif deleted file mode 100644 index 4becf4d1c..000000000 Binary files a/styles/templates/default/images/lang/uk/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_code.gif b/styles/templates/default/images/lang/uz/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_edit.gif b/styles/templates/default/images/lang/uz/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_email.gif b/styles/templates/default/images/lang/uz/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_icq_add.gif b/styles/templates/default/images/lang/uz/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_ip.gif b/styles/templates/default/images/lang/uz/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_mc.gif b/styles/templates/default/images/lang/uz/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_pm.gif b/styles/templates/default/images/lang/uz/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_poll.gif b/styles/templates/default/images/lang/uz/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_profile.gif b/styles/templates/default/images/lang/uz/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_quote.gif b/styles/templates/default/images/lang/uz/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_search.gif b/styles/templates/default/images/lang/uz/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/icon_www.gif b/styles/templates/default/images/lang/uz/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/uz/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/msg_newpost.gif b/styles/templates/default/images/lang/uz/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/uz/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/post.gif b/styles/templates/default/images/lang/uz/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/uz/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/release.gif b/styles/templates/default/images/lang/uz/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/uz/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/reply-locked.gif b/styles/templates/default/images/lang/uz/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/uz/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/uz/reply.gif b/styles/templates/default/images/lang/uz/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/uz/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_code.gif b/styles/templates/default/images/lang/vi/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_edit.gif b/styles/templates/default/images/lang/vi/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_email.gif b/styles/templates/default/images/lang/vi/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_icq_add.gif b/styles/templates/default/images/lang/vi/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_ip.gif b/styles/templates/default/images/lang/vi/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_mc.gif b/styles/templates/default/images/lang/vi/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_pm.gif b/styles/templates/default/images/lang/vi/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_poll.gif b/styles/templates/default/images/lang/vi/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_profile.gif b/styles/templates/default/images/lang/vi/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_quote.gif b/styles/templates/default/images/lang/vi/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_search.gif b/styles/templates/default/images/lang/vi/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/icon_www.gif b/styles/templates/default/images/lang/vi/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/vi/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/msg_newpost.gif b/styles/templates/default/images/lang/vi/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/vi/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/post.gif b/styles/templates/default/images/lang/vi/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/vi/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/release.gif b/styles/templates/default/images/lang/vi/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/vi/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/reply-locked.gif b/styles/templates/default/images/lang/vi/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/vi/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/vi/reply.gif b/styles/templates/default/images/lang/vi/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/vi/reply.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_code.gif b/styles/templates/default/images/lang/zh/icon_code.gif deleted file mode 100644 index 5afd6e2c7..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_code.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_edit.gif b/styles/templates/default/images/lang/zh/icon_edit.gif deleted file mode 100644 index 65937c5fc..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_edit.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_email.gif b/styles/templates/default/images/lang/zh/icon_email.gif deleted file mode 100644 index 67137b802..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_email.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_icq_add.gif b/styles/templates/default/images/lang/zh/icon_icq_add.gif deleted file mode 100644 index c0c5cd552..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_icq_add.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_ip.gif b/styles/templates/default/images/lang/zh/icon_ip.gif deleted file mode 100644 index 5822a929a..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_ip.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_mc.gif b/styles/templates/default/images/lang/zh/icon_mc.gif deleted file mode 100644 index 1db8e37f5..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_mc.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_pm.gif b/styles/templates/default/images/lang/zh/icon_pm.gif deleted file mode 100644 index 432075c59..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_pm.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_poll.gif b/styles/templates/default/images/lang/zh/icon_poll.gif deleted file mode 100644 index 73a29852d..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_poll.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_profile.gif b/styles/templates/default/images/lang/zh/icon_profile.gif deleted file mode 100644 index abac5dd87..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_profile.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_quote.gif b/styles/templates/default/images/lang/zh/icon_quote.gif deleted file mode 100644 index 9497b2c57..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_quote.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_search.gif b/styles/templates/default/images/lang/zh/icon_search.gif deleted file mode 100644 index 5d9c01713..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_search.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/icon_www.gif b/styles/templates/default/images/lang/zh/icon_www.gif deleted file mode 100644 index 3da9e0e8c..000000000 Binary files a/styles/templates/default/images/lang/zh/icon_www.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/msg_newpost.gif b/styles/templates/default/images/lang/zh/msg_newpost.gif deleted file mode 100644 index 33a1e1c72..000000000 Binary files a/styles/templates/default/images/lang/zh/msg_newpost.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/post.gif b/styles/templates/default/images/lang/zh/post.gif deleted file mode 100644 index 9d53572cd..000000000 Binary files a/styles/templates/default/images/lang/zh/post.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/release.gif b/styles/templates/default/images/lang/zh/release.gif deleted file mode 100644 index 25440636e..000000000 Binary files a/styles/templates/default/images/lang/zh/release.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/reply-locked.gif b/styles/templates/default/images/lang/zh/reply-locked.gif deleted file mode 100644 index edfd75a87..000000000 Binary files a/styles/templates/default/images/lang/zh/reply-locked.gif and /dev/null differ diff --git a/styles/templates/default/images/lang/zh/reply.gif b/styles/templates/default/images/lang/zh/reply.gif deleted file mode 100644 index f18c08923..000000000 Binary files a/styles/templates/default/images/lang/zh/reply.gif and /dev/null differ diff --git a/tests/Feature/ContainerIntegrationTest.php b/tests/Feature/ContainerIntegrationTest.php deleted file mode 100644 index d972ee3ef..000000000 --- a/tests/Feature/ContainerIntegrationTest.php +++ /dev/null @@ -1,193 +0,0 @@ -createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'services' => [ - 'integration.test' => 'integration_value', - ], - ]); - - $container = Bootstrap::init($rootPath); - - expect($container)->toBeInstanceOf(Container::class); - expect($container->get('integration.test'))->toBe('integration_value'); - - removeTempDirectory($rootPath); - }); - - it('integrates with global helper functions', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'services' => [ - 'helper.test' => 'helper_value', - ], - ]); - - Bootstrap::init($rootPath); - - // Test container() helper - expect(container())->toBeInstanceOf(Container::class); - - // Test app() helper without parameter - expect(app())->toBeInstanceOf(Container::class); - - // Test app() helper with service ID - expect(app('helper.test'))->toBe('helper_value'); - - removeTempDirectory($rootPath); - }); - - it('handles missing services gracefully in helpers', function () { - $rootPath = $this->createTestRootDirectory(); - Bootstrap::init($rootPath); - - // Should throw RuntimeException for missing service - expect(fn() => app('missing.service')) - ->toThrow(RuntimeException::class) - ->toThrow('not found in container'); - - removeTempDirectory($rootPath); - }); - - it('supports autowiring for simple classes', function () { - $rootPath = $this->createTestRootDirectory(); - $container = Bootstrap::init($rootPath); - - // Should be able to autowire stdClass - expect($container->has(stdClass::class))->toBeTrue(); - expect($container->get(stdClass::class))->toBeInstanceOf(stdClass::class); - - removeTempDirectory($rootPath); - }); - - it('loads all architectural layer definitions', function () { - $rootPath = $this->createTestRootDirectory(); - $container = Bootstrap::init($rootPath); - - // Container should be created successfully with all layer definitions loaded - // Even though most definitions are commented out, the loading should work - expect($container)->toBeInstanceOf(Container::class); - - // Container should have itself registered - expect($container->get(Container::class))->toBe($container); - expect($container->get('container'))->toBe($container); - - removeTempDirectory($rootPath); - }); - - it('supports environment-based configuration', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'container' => [ - 'environment' => 'production', - 'compilation_dir' => $rootPath . '/internal_data/cache/container', - 'proxies_dir' => $rootPath . '/internal_data/cache/proxies', - ], - ]); - - $container = Bootstrap::init($rootPath); - - expect($container)->toBeInstanceOf(Container::class); - - removeTempDirectory($rootPath); - }); - - it('supports service provider registration', function () { - $testProviderClass = new class implements \TorrentPier\Infrastructure\DependencyInjection\ServiceProvider { - public static bool $wasRegistered = false; - public static bool $wasBooted = false; - - public function register(\TorrentPier\Infrastructure\DependencyInjection\Container $container): void - { - self::$wasRegistered = true; - $container->getWrappedContainer()->set('provider.test', 'provider_registered'); - } - - public function boot(\TorrentPier\Infrastructure\DependencyInjection\Container $container): void - { - self::$wasBooted = true; - } - }; - - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'container' => [ - 'providers' => [get_class($testProviderClass)], - ], - ]); - - $container = Bootstrap::init($rootPath); - - expect($testProviderClass::$wasRegistered)->toBeTrue(); - expect($testProviderClass::$wasBooted)->toBeTrue(); - expect($container->get('provider.test'))->toBe('provider_registered'); - - removeTempDirectory($rootPath); - }); - - it('handles configuration file loading priority', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'services' => [ - 'priority.test' => \DI\factory(function () { - return 'from_services_file'; - }), - ], - ]); - - // Initialize with runtime config that should override file config - $container = Bootstrap::init($rootPath, [ - 'definitions' => [ - 'priority.test' => \DI\factory(function () { - return 'from_runtime_config'; - }), - 'runtime.only' => \DI\factory(function () { - return 'runtime_value'; - }), - ], - ]); - - // Runtime config should override file config - expect($container->get('priority.test'))->toBe('from_runtime_config'); - expect($container->get('runtime.only'))->toBe('runtime_value'); - - removeTempDirectory($rootPath); - }); - - it('provides meaningful error messages', function () { - $rootPath = $this->createTestRootDirectory(); - Bootstrap::init($rootPath); - - try { - app('definitely.missing.service'); - fail('Expected exception to be thrown'); - } catch (RuntimeException $e) { - expect($e->getMessage())->toContain('definitely.missing.service'); - expect($e->getMessage())->toContain('not found in container'); - } - - removeTempDirectory($rootPath); - }); - - it('supports performance measurement', function () { - $rootPath = $this->createTestRootDirectory(); - - $time = measureExecutionTime(function () use ($rootPath) { - Bootstrap::init($rootPath); - }); - - // Container initialization should be reasonably fast - expect($time)->toBeLessThan(1.0); // Should take less than 1 second - - removeTempDirectory($rootPath); - }); -}); diff --git a/tests/README.md b/tests/README.md index 1ec09dc6b..b8d8d126a 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,76 +1,83 @@ # ๐งช TorrentPier 3.0 Testing Infrastructure -This document outlines the testing infrastructure for TorrentPier 3.0, built using **Pest PHP** and following the hexagonal architecture principles outlined in the project specification. +This document outlines the testing infrastructure for TorrentPier 3.0, built using **Pest PHP** and following Laravel-style MVC patterns. ## ๐ Table of Contents - [Overview](#overview) -- [Hexagonal Architecture Testing](#hexagonal-architecture-testing) +- [Laravel-style Testing](#laravel-style-testing) - [Test Organization](#test-organization) -- [DI Container Testing](#di-container-testing) +- [Container Testing](#container-testing) - [Testing Patterns](#testing-patterns) - [Test Execution](#test-execution) - [Best Practices](#best-practices) ## ๐ฏ Overview -TorrentPier 3.0's testing suite is designed following the hexagonal architecture testing strategy: +TorrentPier 3.0's testing suite is designed following Laravel-style testing patterns: -- **Domain**: Pure unit tests, no mocks needed -- **Application**: Unit tests with mocked repositories -- **Infrastructure**: Integration tests with real services -- **Presentation**: E2E tests for user journeys +- **Unit Tests**: Test individual classes and methods in isolation +- **Feature Tests**: Test HTTP endpoints and user workflows +- **Integration Tests**: Test database operations and external services ### Core Testing Principles -1. **Architecture-Driven**: Tests follow the hexagonal architecture layers -2. **Phase-Aligned**: Testing matches the 5-phase implementation strategy +1. **Laravel-style**: Tests follow familiar Laravel testing patterns +2. **Simple & Clear**: Straightforward test organization and execution 3. **Clean Slate**: No legacy dependencies, modern PHP 8.3+ testing -4. **Infrastructure First**: Focus on foundational DI container testing -5. **Future-Ready**: Structure prepared for upcoming domain/application layers +4. **Container-Driven**: Use Illuminate Container for dependency injection +5. **MVC-Focused**: Test controllers, models, and services separately -## ๐๏ธ Hexagonal Architecture Testing +## ๐๏ธ Laravel-style Testing -### Testing Strategy by Layer +### Testing Strategy by Component -#### Domain Layer Testing (Phase 2 - Future) +#### Model Testing (Unit Tests) ```php -// Pure unit tests, no framework dependencies -it('validates business rules without external dependencies', function () { - $user = new User(new UserId(1), new Email('test@example.com')); - expect($user->canPost())->toBeTrue(); -}); -``` - -#### Application Layer Testing (Phase 3 - Future) -```php -// Unit tests with mocked repositories -it('handles user registration command', function () { - $mockRepo = Mockery::mock(UserRepositoryInterface::class); - $handler = new RegisterUserHandler($mockRepo); +// Test model behavior and business logic +it('calculates user ratio correctly', function () { + $user = new \App\Models\User(); + $user->uploaded = 1000000; + $user->downloaded = 500000; - $command = new RegisterUserCommand('john', 'john@example.com'); - $handler->handle($command); + expect($user->getRatio())->toBe(2.0); +}); +``` + +#### Service Testing (Unit Tests) +```php +// Test service layer with mocked dependencies +it('registers user through service', function () { + $userService = new \App\Services\UserService(); - $mockRepo->shouldHaveReceived('save'); + $result = $userService->register('john', 'john@example.com'); + + expect($result)->toBeInstanceOf(\App\Models\User::class); }); ``` -#### Infrastructure Layer Testing (Phase 1 - Current) +#### Controller Testing (Feature Tests) ```php -// Integration tests with real services -it('creates container with real PHP-DI integration', function () { - $container = ContainerFactory::create(); - expect($container)->toBeInstanceOf(Container::class); +// Test HTTP endpoints and responses +it('handles user registration via API', function () { + $response = $this->postJson('/api/users/register', [ + 'username' => 'john', + 'email' => 'john@example.com', + ]); + + $response->assertStatus(201); + $response->assertJson(['username' => 'john']); }); ``` -#### Presentation Layer Testing (Phase 5 - Future) +#### Container Testing (Integration Tests) ```php -// E2E tests for user journeys -it('handles API request end-to-end', function () { - $response = $this->post('/api/users', ['name' => 'John']); - expect($response->status())->toBe(201); +// Test dependency injection and service resolution +it('resolves services from container', function () { + $container = app(); + + expect($container->bound(\App\Services\UserService::class))->toBeTrue(); + expect($container->make(\App\Services\UserService::class))->toBeInstanceOf(\App\Services\UserService::class); }); ``` @@ -82,97 +89,69 @@ it('handles API request end-to-end', function () { tests/ โโโ README.md # This documentation โโโ Pest.php # Clean Pest configuration -โโโ TestCase.php # Enhanced base test case with DI utilities -โโโ Unit/Infrastructure/DependencyInjection/ # DI Container tests (Phase 1) -โ โโโ ContainerTest.php # Container wrapper tests -โ โโโ ContainerFactoryTest.php # Factory functionality tests -โ โโโ BootstrapTest.php # Application bootstrapping tests -โ โโโ ServiceProviderTest.php # Service provider interface tests -โ โโโ Definitions/ # Layer-specific definition tests -โ โโโ DomainDefinitionsTest.php -โ โโโ ApplicationDefinitionsTest.php -โ โโโ InfrastructureDefinitionsTest.php -โ โโโ PresentationDefinitionsTest.php -โโโ Feature/ # Integration tests - โโโ ContainerIntegrationTest.php # End-to-end container tests +โโโ TestCase.php # Base test case with container utilities +โโโ Unit/ # Unit tests +โ โโโ Models/ # Model tests +โ โ โโโ UserTest.php +โ โ โโโ TorrentTest.php +โ โ โโโ ForumTest.php +โ โโโ Services/ # Service tests +โ โ โโโ UserServiceTest.php +โ โ โโโ TorrentServiceTest.php +โ โ โโโ AuthServiceTest.php +โ โโโ Container/ # Container and DI tests +โ โ โโโ ContainerTest.php +โ โ โโโ ServiceProviderTest.php +โ โโโ Support/ # Helper and utility tests +โ โโโ HelperTest.php +โ โโโ FactoryTest.php +โโโ Feature/ # Feature/integration tests + โโโ Http/ # HTTP endpoint tests + โ โโโ Web/ + โ โ โโโ HomeTest.php + โ โ โโโ AuthTest.php + โ โโโ Api/ + โ โโโ UserApiTest.php + โ โโโ TorrentApiTest.php + โโโ Database/ # Database integration tests + โ โโโ MigrationTest.php + โ โโโ SeedingTest.php + โโโ Cache/ # Cache integration tests + โโโ CacheTest.php ``` -### Future Structure (As Phases Are Implemented) +## ๐ ๏ธ Container Testing -``` -tests/ -โโโ Unit/ -โ โโโ Domain/ # Phase 2: Pure business logic tests -โ โ โโโ User/ -โ โ โโโ Forum/ -โ โ โโโ Tracker/ -โ โโโ Application/ # Phase 3: Use case orchestration tests -โ โ โโโ User/ -โ โ โโโ Forum/ -โ โ โโโ Tracker/ -โ โโโ Infrastructure/ # Phase 4: External service integration tests -โ โ โโโ Persistence/ -โ โ โโโ Cache/ -โ โ โโโ Email/ -โ โโโ Presentation/ # Phase 5: Interface layer tests -โ โโโ Http/ -โ โโโ Cli/ -โโโ Feature/ # Cross-layer integration tests -``` +### Current Implementation -## ๐ ๏ธ DI Container Testing +The Illuminate Container is the foundation of TorrentPier 3.0's dependency injection. Our tests ensure: -### Current Implementation (Phase 1) - -The DI container is the foundation of TorrentPier 3.0's architecture. Our tests ensure: - -#### Container Wrapper Testing +#### Container Resolution Testing ```php -// tests/Unit/Infrastructure/DependencyInjection/ContainerTest.php -it('implements PSR-11 ContainerInterface', function () { - expect($this->container)->toBeInstanceOf(\Psr\Container\ContainerInterface::class); +// tests/Unit/Container/ContainerTest.php +it('resolves services from container', function () { + $container = app(); + expect($container)->toBeInstanceOf(\Illuminate\Container\Container::class); }); -it('can resolve autowired classes', function () { - $result = $this->container->get(stdClass::class); - expect($result)->toBeInstanceOf(stdClass::class); -}); - -it('throws NotFoundExceptionInterface for non-existent services', function () { - expect(fn() => $this->container->get('non.existent.service')) - ->toThrow(NotFoundExceptionInterface::class); -}); -``` - -#### Factory Configuration Testing -```php -// tests/Unit/Infrastructure/DependencyInjection/ContainerFactoryTest.php -it('applies configuration correctly', function () { - $config = [ - 'environment' => 'testing', - 'autowiring' => true, - 'definitions' => [ - 'test.service' => \DI\factory(fn() => 'test_value'), - ], - ]; - - $container = ContainerFactory::create($config); - expect($container->get('test.service'))->toBe('test_value'); -}); -``` - -#### Bootstrap Integration Testing -```php -// tests/Unit/Infrastructure/DependencyInjection/BootstrapTest.php -it('loads configuration from multiple sources', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'env' => ['APP_ENV' => 'testing'], - 'services' => ['config.service' => \DI\factory(fn() => 'merged_config')], +it('can bind and resolve services', function () { + $container = $this->createTestContainer([ + 'test.service' => fn() => 'test_value' ]); - $container = Bootstrap::init($rootPath); - expect($container->get('config.service'))->toBe('merged_config'); + expect($container->make('test.service'))->toBe('test_value'); +}); +``` + +#### Service Provider Testing +```php +// tests/Unit/Container/ServiceProviderTest.php +it('registers services through providers', function () { + $provider = new \App\Providers\AppServiceProvider(app()); + $provider->register(); + + // Assert services are registered + expect(app()->bound('some.service'))->toBeTrue(); }); ``` @@ -183,83 +162,61 @@ it('loads configuration from multiple sources', function () { // tests/TestCase.php abstract class TestCase extends BaseTestCase { - protected function createTestContainer(array $config = []): Container + protected function createTestContainer(array $bindings = []): Container { - $defaultConfig = [ - 'environment' => 'testing', - 'autowiring' => true, - 'definitions' => [], - ]; + $container = new Container(); - return ContainerFactory::create(array_merge($defaultConfig, $config)); + foreach ($bindings as $abstract => $concrete) { + $container->bind($abstract, $concrete); + } + + return $container; } - protected function assertCanResolve(Container $container, string $serviceId): void + protected function app(?string $abstract = null): mixed { - $this->assertTrue($container->has($serviceId)); - $this->assertNotNull($container->get($serviceId)); + if (is_null($abstract)) { + return Container::getInstance(); + } + + return Container::getInstance()->make($abstract); } } ``` ## ๐จ Testing Patterns -### 1. Infrastructure Integration Testing +### 1. Unit Testing ```php -// Real service integration (current phase) -it('integrates with real PHP-DI container', function () { - $container = $this->createTestContainer([ - 'definitions' => [ - 'real.service' => \DI\autowire(stdClass::class), - ], - ]); +// Test individual components +it('validates user email', function () { + $user = new \App\Models\User(); + $user->email = 'invalid-email'; - $service = $container->get('real.service'); - expect($service)->toBeInstanceOf(stdClass::class); + expect($user->isValidEmail())->toBeFalse(); }); ``` -### 2. Configuration-Driven Testing +### 2. Feature Testing ```php -// Environment-based configuration -it('adapts to different environments', function () { - $prodContainer = $this->createTestContainer(['environment' => 'production']); - $devContainer = $this->createTestContainer(['environment' => 'development']); +// Test HTTP endpoints +it('returns user profile data', function () { + $response = $this->get('/api/users/1'); - expect($prodContainer)->toBeInstanceOf(Container::class); - expect($devContainer)->toBeInstanceOf(Container::class); + $response->assertStatus(200); + $response->assertJsonStructure(['id', 'username', 'email']); }); ``` -### 3. Service Provider Testing +### 3. Integration Testing ```php -// Modular service registration -it('registers services through providers', function () { - $provider = new class implements ServiceProvider { - public function register(Container $container): void { - $container->getWrappedContainer()->set('provider.service', 'registered'); - } - public function boot(Container $container): void {} - }; +// Test service interactions +it('creates user with dependencies', function () { + $userService = app(\App\Services\UserService::class); + $user = $userService->create(['username' => 'john', 'email' => 'john@example.com']); - $container = $this->createTestContainer(); - $provider->register($container); - - expect($container->get('provider.service'))->toBe('registered'); -}); -``` - -### 4. Layer Definition Testing -```php -// Architectural layer compliance -it('follows domain layer principles', function () { - $definitions = DomainDefinitions::getDefinitions(); - - // Domain definitions should be empty in Phase 1 - expect($definitions)->toBe([]); - - // Structure should be prepared for Phase 2 - expect($definitions)->toBeArray(); + expect($user)->toBeInstanceOf(\App\Models\User::class); + expect($user->username)->toBe('john'); }); ``` @@ -271,163 +228,94 @@ it('follows domain layer principles', function () { # Run all tests ./vendor/bin/pest -# Run DI container tests specifically -./vendor/bin/pest tests/Unit/Infrastructure/DependencyInjection/ +# Run unit tests only +./vendor/bin/pest tests/Unit/ -# Run integration tests +# Run feature tests only ./vendor/bin/pest tests/Feature/ # Run with coverage ./vendor/bin/pest --coverage # Run specific test file -./vendor/bin/pest tests/Unit/Infrastructure/DependencyInjection/ContainerTest.php +./vendor/bin/pest tests/Unit/Models/UserTest.php ``` ### Performance Testing ```bash -# Measure container bootstrap performance -./vendor/bin/pest --filter="performance" +# Test specific functionality +./vendor/bin/pest --filter="container" # Container creation should be fast -expectExecutionTimeUnder(fn() => Bootstrap::init($rootPath), 1.0); +expectExecutionTimeUnder(fn() => app(\App\Services\UserService::class), 0.1); ``` ## ๐ Best Practices -### 1. Phase-Aligned Testing +### 1. Clear Test Names ```php -// Current Phase 1: Test infrastructure only -it('provides foundation for future phases', function () { - $container = $this->createTestContainer(); - - // Infrastructure works now - expect($container)->toBeInstanceOf(Container::class); - - // Ready for future domain services - expect($container->has(stdClass::class))->toBeTrue(); +// Good: descriptive test names +it('calculates correct torrent ratio when user has downloads', function () { + // Test implementation +}); + +// Bad: vague test names +it('tests ratio', function () { + // Test implementation }); ``` -### 2. Architecture Compliance +### 2. Arrange-Act-Assert Pattern ```php -// Ensure clean architectural boundaries -it('keeps domain layer pure', function () { - $definitions = DomainDefinitions::getDefinitions(); +it('creates user with valid data', function () { + // Arrange + $userData = ['username' => 'john', 'email' => 'john@example.com']; + $userService = app(\App\Services\UserService::class); - // Domain should have no infrastructure dependencies - expect($definitions)->toBeArray(); + // Act + $user = $userService->create($userData); - // Future domain services will be dependency-free + // Assert + expect($user)->toBeInstanceOf(\App\Models\User::class); + expect($user->username)->toBe('john'); }); ``` -### 3. Configuration Testing +### 3. Use Container for Dependencies ```php -// Test multiple configuration sources -it('merges configuration correctly', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'container' => ['autowiring' => true], - 'services' => ['test.service' => \DI\factory(fn() => 'test')], - ]); - - $container = Bootstrap::init($rootPath, [ - 'definitions' => ['runtime.service' => \DI\factory(fn() => 'runtime')], - ]); - - expect($container->get('test.service'))->toBe('test'); - expect($container->get('runtime.service'))->toBe('runtime'); +// Good: use container +it('service uses correct dependencies', function () { + $service = app(\App\Services\UserService::class); + // Test service behavior }); -``` -### 4. Error Handling -```php -// Comprehensive error testing -it('provides meaningful error messages', function () { - $container = $this->createTestContainer(); - - try { - $container->get('missing.service'); - fail('Expected exception'); - } catch (RuntimeException $e) { - expect($e->getMessage())->toContain('missing.service'); - expect($e->getMessage())->toContain('not found in container'); - } +// Avoid: manual instantiation +it('service works', function () { + $service = new \App\Services\UserService(); // Missing dependencies + // Test may fail due to missing dependencies }); ``` ## ๐ Current Implementation Status -### โ Phase 1 Complete: Infrastructure Foundation +### โ Clean Testing Foundation -- **DI Container**: Fully tested container wrapper with PSR-11 compliance -- **Factory Pattern**: Comprehensive configuration and creation testing -- **Bootstrap Process**: Environment loading and configuration merging -- **Service Providers**: Modular service registration interface -- **Helper Functions**: Global container access with proper error handling -- **Layer Definitions**: Prepared structure for all architectural layers +- **Illuminate Container**: Full container-based testing +- **Laravel-style Patterns**: Familiar testing approaches +- **Pest PHP**: Modern, expressive test syntax +- **MVC Testing**: Separate testing for models, services, controllers +- **Feature Tests**: HTTP endpoint and integration testing -### ๐ Testing Coverage +### ๐ Testing Coverage Goals -- **Container Core**: 100% coverage of wrapper functionality -- **Configuration**: All config sources and merging scenarios tested -- **Error Handling**: Complete PSR-11 exception compliance -- **Integration**: End-to-end bootstrap and usage scenarios -- **Performance**: Container creation and resolution timing validation - -### ๐ฎ Future Phase Testing - -As TorrentPier 3.0 phases are implemented: - -#### Phase 2: Domain Layer -```php -// Domain entity testing (future) -it('validates user business rules', function () { - $user = new User(UserId::generate(), new Email('test@example.com')); - expect($user->isActive())->toBeTrue(); -}); -``` - -#### Phase 3: Application Layer -```php -// Command handler testing (future) -it('processes registration command', function () { - $handler = app(RegisterUserHandler::class); - $command = new RegisterUserCommand('john', 'john@example.com'); - - $userId = $handler->handle($command); - expect($userId)->toBeInstanceOf(UserId::class); -}); -``` - -#### Phase 4: Infrastructure Layer -```php -// Repository integration testing (future) -it('persists user through repository', function () { - $repository = app(UserRepositoryInterface::class); - $user = User::create('john', 'john@example.com'); - - $repository->save($user); - expect($repository->findById($user->getId()))->not->toBeNull(); -}); -``` - -#### Phase 5: Presentation Layer -```php -// Controller integration testing (future) -it('handles user registration via API', function () { - $response = $this->postJson('/api/users', [ - 'username' => 'john', - 'email' => 'john@example.com', - ]); - - expect($response->status())->toBe(201); -}); -``` +- **Models**: Test business logic and data validation +- **Services**: Test service layer and business workflows +- **Controllers**: Test HTTP responses and request handling +- **Container**: Test dependency injection and service resolution +- **Integration**: Test database operations and external services --- -**TorrentPier 3.0 Testing Philosophy**: Tests serve as both validation and documentation of the hexagonal architecture. Each layer has distinct testing strategies that ensure clean separation of concerns and maintainable code. +**TorrentPier 3.0 Testing Philosophy**: Tests serve as both validation and documentation of the Laravel-style MVC architecture. Clear, simple tests ensure maintainable code and confident development. -For questions about testing patterns or contributions, refer to the [TorrentPier GitHub repository](https://github.com/torrentpier/torrentpier) or the hexagonal architecture specification at `/docs/specs/hexagonal-architecture-spec.md`. \ No newline at end of file +For questions about testing patterns or contributions, refer to the [TorrentPier GitHub repository](https://github.com/torrentpier/torrentpier). \ No newline at end of file diff --git a/tests/TestCase.php b/tests/TestCase.php index e876511f2..06805e174 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -2,10 +2,8 @@ namespace Tests; +use Illuminate\Container\Container; use PHPUnit\Framework\TestCase as BaseTestCase; -use TorrentPier\Infrastructure\DependencyInjection\Bootstrap; -use TorrentPier\Infrastructure\DependencyInjection\Container; -use TorrentPier\Infrastructure\DependencyInjection\ContainerFactory; abstract class TestCase extends BaseTestCase { @@ -13,14 +11,15 @@ abstract class TestCase extends BaseTestCase { parent::setUp(); - // Reset container state for each test - Bootstrap::reset(); + // Create a fresh container for each test + $container = new Container(); + Container::setInstance($container); } protected function tearDown(): void { // Clean up container state - Bootstrap::reset(); + Container::setInstance(null); parent::tearDown(); } @@ -28,77 +27,30 @@ abstract class TestCase extends BaseTestCase /** * Create a test container with optional custom configuration */ - protected function createTestContainer(array $config = []): Container + protected function createTestContainer(array $bindings = []): Container { - $defaultConfig = [ - 'environment' => 'testing', - 'autowiring' => true, - 'definitions' => [], - ]; + $container = new Container(); + + // Add test-specific bindings + foreach ($bindings as $abstract => $concrete) { + $container->bind($abstract, $concrete); + } - return ContainerFactory::create(array_merge($defaultConfig, $config)); + return $container; } /** - * Create a container with custom service definitions + * Get the app container instance */ - protected function createContainerWithDefinitions(array $definitions): Container + protected function app(?string $abstract = null): mixed { - return $this->createTestContainer([ - 'definitions' => $definitions, - ]); - } - - /** - * Create a temporary test root directory - */ - protected function createTestRootDirectory(): string - { - $tempDir = createTempDirectory(); - - // Create basic directory structure - mkdir($tempDir . '/config', 0755, true); - mkdir($tempDir . '/internal_data/cache', 0755, true); - - return $tempDir; - } - - /** - * Create test configuration files - */ - protected function createTestConfigFiles(string $rootPath, array $configs = []): void - { - $configPath = $rootPath . '/config'; - - // Create container.php - if (isset($configs['container'])) { - file_put_contents( - $configPath . '/container.php', - ' $value) { - if (is_string($value)) { - $servicesContent .= " '$key' => factory(function () { return '$value'; }),\n"; - } - } - $servicesContent .= "];\n"; - - file_put_contents($configPath . '/services.php', $servicesContent); - } - - // Create .env file - if (isset($configs['env'])) { - $envContent = ''; - foreach ($configs['env'] as $key => $value) { - $envContent .= "$key=$value\n"; - } - file_put_contents($rootPath . '/.env', $envContent); + $container = Container::getInstance(); + + if (is_null($abstract)) { + return $container; } + + return $container->make($abstract); } /** @@ -106,8 +58,8 @@ abstract class TestCase extends BaseTestCase */ protected function assertCanResolve(Container $container, string $serviceId): void { - $this->assertTrue($container->has($serviceId), "Container should have service: $serviceId"); - $this->assertNotNull($container->get($serviceId), "Should be able to resolve service: $serviceId"); + $this->assertTrue($container->bound($serviceId), "Container should have service: $serviceId"); + $this->assertNotNull($container->make($serviceId), "Should be able to resolve service: $serviceId"); } /** @@ -115,6 +67,6 @@ abstract class TestCase extends BaseTestCase */ protected function assertCannotResolve(Container $container, string $serviceId): void { - $this->assertFalse($container->has($serviceId), "Container should not have service: $serviceId"); + $this->assertFalse($container->bound($serviceId), "Container should not have service: $serviceId"); } } diff --git a/tests/Unit/Config/ConfigSystemTest.php b/tests/Unit/Config/ConfigSystemTest.php new file mode 100644 index 000000000..eb1d051f7 --- /dev/null +++ b/tests/Unit/Config/ConfigSystemTest.php @@ -0,0 +1,65 @@ +assertInstanceOf(\Illuminate\Config\Repository::class, $config); + } + + /** + * Test getting config values + */ + public function testGettingConfigValues(): void + { + // Assuming app.php config exists + $appConfig = config('app'); + $this->assertIsArray($appConfig); + + // Test with default value + $nonExistent = config('non.existent.key', 'default'); + $this->assertEquals('default', $nonExistent); + } + + /** + * Test setting config values + */ + public function testSettingConfigValues(): void + { + // Set a single value + config(['test.key' => 'test value']); + $this->assertEquals('test value', config('test.key')); + + // Set multiple values + config([ + 'test.foo' => 'bar', + 'test.baz' => 'qux' + ]); + + $this->assertEquals('bar', config('test.foo')); + $this->assertEquals('qux', config('test.baz')); + } + + /** + * Test dot notation access + */ + public function testDotNotationAccess(): void + { + config(['deeply.nested.config.value' => 'found it']); + + $this->assertEquals('found it', config('deeply.nested.config.value')); + $this->assertIsArray(config('deeply.nested')); + $this->assertArrayHasKey('config', config('deeply.nested')); + } +} \ No newline at end of file diff --git a/tests/Unit/Events/EventSystemTest.php b/tests/Unit/Events/EventSystemTest.php new file mode 100644 index 000000000..7ce70c0c0 --- /dev/null +++ b/tests/Unit/Events/EventSystemTest.php @@ -0,0 +1,94 @@ +listen(UserRegistered::class, function ($event) use (&$called, &$eventData) { + $called = true; + $eventData = $event; + }); + + // Dispatch the event + $event = new UserRegistered( + userId: 123, + username: 'testuser', + email: 'test@example.com', + registeredAt: new \DateTime('2025-01-01 12:00:00') + ); + + event($event); + + // Assert the listener was called + $this->assertTrue($called); + $this->assertInstanceOf(UserRegistered::class, $eventData); + $this->assertEquals(123, $eventData->getUserId()); + $this->assertEquals('testuser', $eventData->getUsername()); + $this->assertEquals('test@example.com', $eventData->getEmail()); + } + + /** + * Test event helper function + */ + public function testEventHelperFunction(): void + { + $listenerCalled = false; + + app('events')->listen(TorrentUploaded::class, function () use (&$listenerCalled) { + $listenerCalled = true; + }); + + // Use the event() helper + event(new TorrentUploaded( + torrentId: 456, + uploaderId: 789, + torrentName: 'Test Torrent', + size: 1024 * 1024 * 100, // 100MB + uploadedAt: new \DateTime() + )); + + $this->assertTrue($listenerCalled); + } + + /** + * Test that multiple listeners can be attached to an event + */ + public function testMultipleListeners(): void + { + $listener1Called = false; + $listener2Called = false; + + app('events')->listen(UserRegistered::class, function () use (&$listener1Called) { + $listener1Called = true; + }); + + app('events')->listen(UserRegistered::class, function () use (&$listener2Called) { + $listener2Called = true; + }); + + event(new UserRegistered( + userId: 999, + username: 'multitest', + email: 'multi@test.com', + registeredAt: new \DateTime() + )); + + $this->assertTrue($listener1Called); + $this->assertTrue($listener2Called); + } +} \ No newline at end of file diff --git a/tests/Unit/Infrastructure/DependencyInjection/BootstrapTest.php b/tests/Unit/Infrastructure/DependencyInjection/BootstrapTest.php deleted file mode 100644 index 1a0fbaf16..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/BootstrapTest.php +++ /dev/null @@ -1,190 +0,0 @@ -createTestRootDirectory(); - - $container = Bootstrap::init($rootPath); - - expect($container)->toBeInstanceOf(Container::class); - - removeTempDirectory($rootPath); - }); - - it('returns the same container on subsequent calls', function () { - $rootPath = $this->createTestRootDirectory(); - - $container1 = Bootstrap::init($rootPath); - $container2 = Bootstrap::init($rootPath); - - expect($container1)->toBe($container2); - - removeTempDirectory($rootPath); - }); - - it('registers container instance with itself', function () { - $rootPath = $this->createTestRootDirectory(); - - $container = Bootstrap::init($rootPath); - - expect($container->get(Container::class))->toBe($container); - expect($container->get('container'))->toBe($container); - - removeTempDirectory($rootPath); - }); - - it('loads environment variables from .env file', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'env' => [ - 'TEST_VAR' => 'test_value', - 'APP_ENV' => 'testing', - ], - ]); - - Bootstrap::init($rootPath); - - expect($_ENV['TEST_VAR'] ?? null)->toBe('test_value'); - expect($_ENV['APP_ENV'] ?? null)->toBe('testing'); - - removeTempDirectory($rootPath); - }); - - it('loads configuration from config files', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'container' => [ - 'environment' => 'testing', - 'autowiring' => true, - ], - 'services' => [ - 'test.service' => 'config_value', - ], - ]); - - $container = Bootstrap::init($rootPath); - - expect($container->get('test.service'))->toBe('config_value'); - - removeTempDirectory($rootPath); - }); - - it('handles missing config files gracefully', function () { - $rootPath = $this->createTestRootDirectory(); - - // Should not throw exception even without config files - $container = Bootstrap::init($rootPath); - - expect($container)->toBeInstanceOf(Container::class); - - removeTempDirectory($rootPath); - }); - }); - - describe('getContainer() method', function () { - it('returns null when not initialized', function () { - expect(Bootstrap::getContainer())->toBeNull(); - }); - - it('returns container after initialization', function () { - $rootPath = $this->createTestRootDirectory(); - - $container = Bootstrap::init($rootPath); - - expect(Bootstrap::getContainer())->toBe($container); - - removeTempDirectory($rootPath); - }); - }); - - describe('reset() method', function () { - it('clears the container instance', function () { - $rootPath = $this->createTestRootDirectory(); - - Bootstrap::init($rootPath); - expect(Bootstrap::getContainer())->not->toBeNull(); - - Bootstrap::reset(); - expect(Bootstrap::getContainer())->toBeNull(); - - removeTempDirectory($rootPath); - }); - - it('allows re-initialization after reset', function () { - $rootPath = $this->createTestRootDirectory(); - - $container1 = Bootstrap::init($rootPath); - Bootstrap::reset(); - $container2 = Bootstrap::init($rootPath); - - expect($container1)->not->toBe($container2); - expect($container2)->toBeInstanceOf(Container::class); - - removeTempDirectory($rootPath); - }); - }); - - describe('configuration loading', function () { - it('merges configuration from multiple sources', function () { - $rootPath = $this->createTestRootDirectory(); - $this->createTestConfigFiles($rootPath, [ - 'env' => [ - 'APP_ENV' => 'production', - 'APP_DEBUG' => 'false', - ], - 'container' => [ - 'autowiring' => true, - ], - 'services' => [ - 'config.service' => 'merged_config', - ], - ]); - - $container = Bootstrap::init($rootPath, [ - 'definitions' => [ - 'runtime.service' => \DI\factory(function () { - return 'runtime_config'; - }), - ], - ]); - - expect($container->get('config.service'))->toBe('merged_config'); - expect($container->get('runtime.service'))->toBe('runtime_config'); - - removeTempDirectory($rootPath); - }); - - it('sets default environment when no .env file exists', function () { - $rootPath = $this->createTestRootDirectory(); - - $container = Bootstrap::init($rootPath); - - // Container should still be created successfully - expect($container)->toBeInstanceOf(Container::class); - - removeTempDirectory($rootPath); - }); - }); - - describe('error handling', function () { - it('handles invalid root path gracefully', function () { - // Should not throw fatal error for non-existent path - expect(function () { - Bootstrap::init('/non/existent/path'); - })->not->toThrow(Throwable::class); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/ContainerFactoryTest.php b/tests/Unit/Infrastructure/DependencyInjection/ContainerFactoryTest.php deleted file mode 100644 index ccd6e1ea8..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/ContainerFactoryTest.php +++ /dev/null @@ -1,206 +0,0 @@ -toBeInstanceOf(Container::class); - }); - - it('applies configuration correctly', function () { - $config = [ - 'environment' => 'testing', - 'autowiring' => true, - 'annotations' => false, - ]; - - $container = ContainerFactory::create($config); - expect($container)->toBeInstanceOf(Container::class); - }); - - it('loads custom definitions', function () { - $config = [ - 'definitions' => [ - 'test.service' => \DI\factory(function () { - return 'test_value'; - }), - ], - ]; - - $container = ContainerFactory::create($config); - expect($container->get('test.service'))->toBe('test_value'); - }); - - it('configures autowiring when enabled', function () { - $config = ['autowiring' => true]; - $container = ContainerFactory::create($config); - - // Should be able to autowire stdClass - expect($container->has(stdClass::class))->toBeTrue(); - }); - - it('loads definition files when specified', function () { - $tempDir = createTempDirectory(); - $definitionFile = $tempDir . '/definitions.php'; - - file_put_contents($definitionFile, ' \DI\factory(function () { - return "from_file"; - }), - ];'); - - $config = [ - 'definition_files' => [$definitionFile], - ]; - - $container = ContainerFactory::create($config); - expect($container->get('file.service'))->toBe('from_file'); - - removeTempDirectory($tempDir); - }); - - it('handles non-existent definition files gracefully', function () { - $config = [ - 'definition_files' => ['/non/existent/file.php'], - ]; - - // Should not throw an exception - $container = ContainerFactory::create($config); - expect($container)->toBeInstanceOf(Container::class); - }); - }); - - describe('service providers', function () { - it('registers and boots service providers', function () { - $providerClass = new class implements ServiceProvider { - public static bool $registered = false; - public static bool $booted = false; - - public function register(Container $container): void - { - self::$registered = true; - $container->getWrappedContainer()->set('provider.service', 'provider_value'); - } - - public function boot(Container $container): void - { - self::$booted = true; - } - }; - - $config = [ - 'providers' => [get_class($providerClass)], - ]; - - $container = ContainerFactory::create($config); - - expect($providerClass::$registered)->toBeTrue(); - expect($providerClass::$booted)->toBeTrue(); - expect($container->get('provider.service'))->toBe('provider_value'); - }); - - it('handles invalid provider classes gracefully', function () { - $config = [ - 'providers' => ['NonExistentProvider'], - ]; - - // Should not throw an exception - $container = ContainerFactory::create($config); - expect($container)->toBeInstanceOf(Container::class); - }); - - it('boots providers after all registrations', function () { - // Use a simpler approach without constructor dependencies - $testFile = sys_get_temp_dir() . '/provider_order_test.txt'; - if (file_exists($testFile)) { - unlink($testFile); - } - - $provider1Class = new class implements ServiceProvider { - public function register(Container $container): void - { - $testFile = sys_get_temp_dir() . '/provider_order_test.txt'; - file_put_contents($testFile, "register1\n", FILE_APPEND); - } - - public function boot(Container $container): void - { - $testFile = sys_get_temp_dir() . '/provider_order_test.txt'; - file_put_contents($testFile, "boot1\n", FILE_APPEND); - } - }; - - $provider2Class = new class implements ServiceProvider { - public function register(Container $container): void - { - $testFile = sys_get_temp_dir() . '/provider_order_test.txt'; - file_put_contents($testFile, "register2\n", FILE_APPEND); - } - - public function boot(Container $container): void - { - $testFile = sys_get_temp_dir() . '/provider_order_test.txt'; - file_put_contents($testFile, "boot2\n", FILE_APPEND); - } - }; - - $config = [ - 'providers' => [get_class($provider1Class), get_class($provider2Class)], - ]; - - ContainerFactory::create($config); - - // Read the order from the test file - $content = file_get_contents($testFile); - $lines = array_filter(explode("\n", trim($content))); - - // All registrations should happen before any boots - expect($lines)->toBe(['register1', 'register2', 'boot1', 'boot2']); - - // Clean up - unlink($testFile); - }); - }); - - describe('environment configuration', function () { - it('enables compilation in production', function () { - $tempDir = createTempDirectory(); - - $config = [ - 'environment' => 'production', - 'compilation_dir' => $tempDir . '/container', - 'proxies_dir' => $tempDir . '/proxies', - ]; - - $container = ContainerFactory::create($config); - expect($container)->toBeInstanceOf(Container::class); - - removeTempDirectory($tempDir); - }); - - it('skips compilation in development', function () { - $config = [ - 'environment' => 'development', - ]; - - $container = ContainerFactory::create($config); - expect($container)->toBeInstanceOf(Container::class); - }); - }); - - describe('layer definitions integration', function () { - it('loads definitions from all architectural layers', function () { - $container = ContainerFactory::create(); - - // Container should be created successfully with all layer definitions - expect($container)->toBeInstanceOf(Container::class); - - // Since most definitions are commented out, we just verify the container works - expect($container->has(stdClass::class))->toBeTrue(); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/ContainerTest.php b/tests/Unit/Infrastructure/DependencyInjection/ContainerTest.php deleted file mode 100644 index d751ecf67..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/ContainerTest.php +++ /dev/null @@ -1,165 +0,0 @@ -container = $this->createTestContainer(); - }); - - it('implements PSR-11 ContainerInterface', function () { - expect($this->container)->toBeInstanceOf(\Psr\Container\ContainerInterface::class); - }); - - describe('get() method', function () { - it('can resolve a simple service', function () { - $container = $this->createContainerWithDefinitions([ - 'test.service' => \DI\factory(function () { - return 'test_value'; - }), - ]); - - $result = $container->get('test.service'); - expect($result)->toBe('test_value'); - }); - - it('can resolve autowired classes', function () { - $container = $this->createContainerWithDefinitions([ - 'test.class' => \DI\autowire(stdClass::class), - ]); - - $result = $container->get('test.class'); - expect($result)->toBeInstanceOf(stdClass::class); - }); - - it('throws NotFoundExceptionInterface for non-existent services', function () { - expectException( - fn() => $this->container->get('non.existent.service'), - NotFoundExceptionInterface::class, - 'non.existent.service' - ); - }); - - it('returns same instance for singleton services', function () { - $container = $this->createContainerWithDefinitions([ - 'singleton.service' => \DI\factory(function () { - return new stdClass(); - }), - ]); - - $instance1 = $container->get('singleton.service'); - $instance2 = $container->get('singleton.service'); - - expect($instance1)->toBe($instance2); - }); - }); - - describe('has() method', function () { - it('returns true for existing services', function () { - $container = $this->createContainerWithDefinitions([ - 'existing.service' => \DI\factory(function () { - return 'value'; - }), - ]); - - expect($container->has('existing.service'))->toBeTrue(); - }); - - it('returns false for non-existent services', function () { - expect($this->container->has('non.existent.service'))->toBeFalse(); - }); - - it('returns true for autowirable classes', function () { - expect($this->container->has(stdClass::class))->toBeTrue(); - }); - }); - - describe('make() method', function () { - it('can make instances with parameters', function () { - $result = $this->container->make(stdClass::class); - expect($result)->toBeInstanceOf(stdClass::class); - }); - - it('creates new instances each time', function () { - $instance1 = $this->container->make(stdClass::class); - $instance2 = $this->container->make(stdClass::class); - - expect($instance1)->not->toBe($instance2); - }); - }); - - describe('call() method', function () { - it('can call closures with dependency injection', function () { - $result = $this->container->call(function (stdClass $class) { - return get_class($class); - }); - - expect($result)->toBe('stdClass'); - }); - - it('can call methods with parameters', function () { - $service = new class { - public function test(string $param): string - { - return "Hello $param"; - } - }; - - $result = $this->container->call([$service, 'test'], ['param' => 'World']); - expect($result)->toBe('Hello World'); - }); - }); - - describe('injectOn() method', function () { - it('returns the object after injection', function () { - $object = new stdClass(); - - $result = $this->container->injectOn($object); - expect($result)->toBe($object); - }); - }); - - describe('getWrappedContainer() method', function () { - it('returns the underlying PHP-DI container', function () { - $wrapped = $this->container->getWrappedContainer(); - expect($wrapped)->toBeInstanceOf(\DI\Container::class); - }); - - it('allows direct access to PHP-DI functionality', function () { - $wrapped = $this->container->getWrappedContainer(); - $wrapped->set('direct.service', 'direct_value'); - - expect($this->container->get('direct.service'))->toBe('direct_value'); - }); - }); - - describe('error handling', function () { - it('provides meaningful error messages for missing services', function () { - expectException( - fn() => $this->container->get('missing.service'), - NotFoundExceptionInterface::class, - 'missing.service' - ); - }); - - it('handles circular dependencies gracefully', function () { - $container = $this->createContainerWithDefinitions([ - 'service.a' => \DI\factory(function (\Psr\Container\ContainerInterface $c) { - return $c->get('service.b'); - }), - 'service.b' => \DI\factory(function (\Psr\Container\ContainerInterface $c) { - return $c->get('service.a'); - }), - ]); - - expectException( - fn() => $container->get('service.a'), - ContainerExceptionInterface::class, - 'Circular dependency' - ); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/Definitions/ApplicationDefinitionsTest.php b/tests/Unit/Infrastructure/DependencyInjection/Definitions/ApplicationDefinitionsTest.php deleted file mode 100644 index 8d686cea1..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/Definitions/ApplicationDefinitionsTest.php +++ /dev/null @@ -1,100 +0,0 @@ -toBeArray(); - }); - - it('returns empty array when no application services are implemented yet', function () { - $definitions = ApplicationDefinitions::getDefinitions(); - - // Since we're in Phase 1 and application services aren't implemented yet, - // the definitions should be empty (all examples are commented out) - expect($definitions)->toBe([]); - }); - - it('follows application layer principles', function () { - // Application layer should orchestrate domain objects - // This test verifies the structure is ready for future application services - - $definitions = ApplicationDefinitions::getDefinitions(); - - // Should be an array (even if empty) - expect($definitions)->toBeArray(); - - // When application services are added, they should follow these principles: - // - Command and Query handlers - // - Application services that orchestrate domain logic - // - Event dispatchers - // - No direct infrastructure concerns - }); - - it('can be safely called multiple times', function () { - $definitions1 = ApplicationDefinitions::getDefinitions(); - $definitions2 = ApplicationDefinitions::getDefinitions(); - - expect($definitions1)->toBe($definitions2); - }); - - it('is prepared for future command/query handlers', function () { - // This test documents the intended structure for Phase 3 implementation - - $definitions = ApplicationDefinitions::getDefinitions(); - expect($definitions)->toBeArray(); - - // Future command/query handlers will be registered like: - // 'TorrentPier\Application\User\Handler\RegisterUserHandler' => DI\autowire(), - // 'CommandBusInterface' => DI\factory(function (ContainerInterface $c) { - // return new CommandBus($c); - // }), - - // For now, verify the method works without breaking - expect(count($definitions))->toBeGreaterThanOrEqual(0); - }); - }); - - describe('architectural compliance', function () { - it('follows hexagonal architecture principles', function () { - // Application layer should orchestrate domain objects without infrastructure concerns - - $definitions = ApplicationDefinitions::getDefinitions(); - - // Application definitions should focus on: - // 1. Command and Query handlers - // 2. Application services - // 3. Event dispatchers - // 4. Use case orchestration - - expect($definitions)->toBeArray(); - }); - - it('supports CQRS pattern', function () { - // Application layer should separate commands and queries - // This test ensures the structure supports CQRS implementation - - $definitions = ApplicationDefinitions::getDefinitions(); - - // Future implementation will separate: - // - Command handlers (write operations) - // - Query handlers (read operations) - // - Command and Query buses - - expect($definitions)->toBeArray(); - }); - - it('prepares for event-driven architecture', function () { - // Application layer should support domain events - - $definitions = ApplicationDefinitions::getDefinitions(); - - // Future event dispatcher will be registered here - // 'EventDispatcherInterface' => DI\factory(...) - - expect($definitions)->toBeArray(); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/Definitions/DomainDefinitionsTest.php b/tests/Unit/Infrastructure/DependencyInjection/Definitions/DomainDefinitionsTest.php deleted file mode 100644 index 787083024..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/Definitions/DomainDefinitionsTest.php +++ /dev/null @@ -1,84 +0,0 @@ -toBeArray(); - }); - - it('returns empty array when no domain services are implemented yet', function () { - $definitions = DomainDefinitions::getDefinitions(); - - // Since we're in Phase 1 and domain services aren't implemented yet, - // the definitions should be empty (all examples are commented out) - expect($definitions)->toBe([]); - }); - - it('follows domain layer principles', function () { - // Domain definitions should not contain infrastructure dependencies - // This test verifies the structure is ready for future domain services - - $definitions = DomainDefinitions::getDefinitions(); - - // Should be an array (even if empty) - expect($definitions)->toBeArray(); - - // When domain services are added, they should follow these principles: - // - No framework dependencies - // - Repository interfaces mapped to implementations - // - Pure business logic services - }); - - it('can be safely called multiple times', function () { - $definitions1 = DomainDefinitions::getDefinitions(); - $definitions2 = DomainDefinitions::getDefinitions(); - - expect($definitions1)->toBe($definitions2); - }); - - it('is prepared for future repository interface mappings', function () { - // This test documents the intended structure for Phase 2 implementation - - $definitions = DomainDefinitions::getDefinitions(); - expect($definitions)->toBeArray(); - - // Future repository interfaces will be mapped like: - // 'TorrentPier\Domain\User\Repository\UserRepositoryInterface' => - // DI\factory(function (ContainerInterface $c) { - // return $c->get('TorrentPier\Infrastructure\Persistence\Repository\UserRepository'); - // }), - - // For now, verify the method works without breaking - expect(count($definitions))->toBeGreaterThanOrEqual(0); - }); - }); - - describe('architectural compliance', function () { - it('follows hexagonal architecture principles', function () { - // Domain layer should have no infrastructure dependencies - // This test ensures the definition structure is correct - - $definitions = DomainDefinitions::getDefinitions(); - - // Domain definitions should focus on: - // 1. Repository interface mappings - // 2. Domain service factories - // 3. No framework dependencies - - expect($definitions)->toBeArray(); - }); - - it('supports dependency injection inversion', function () { - // Domain interfaces should be mapped to infrastructure implementations - // following the dependency inversion principle - - $definitions = DomainDefinitions::getDefinitions(); - - // Even though empty now, the structure supports proper DI mapping - expect($definitions)->toBeArray(); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/Definitions/InfrastructureDefinitionsTest.php b/tests/Unit/Infrastructure/DependencyInjection/Definitions/InfrastructureDefinitionsTest.php deleted file mode 100644 index 8a24c6a1b..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/Definitions/InfrastructureDefinitionsTest.php +++ /dev/null @@ -1,166 +0,0 @@ -toBeArray(); - }); - - it('accepts configuration parameter', function () { - $config = ['test' => 'value']; - $definitions = InfrastructureDefinitions::getDefinitions($config); - expect($definitions)->toBeArray(); - }); - - it('returns infrastructure service definitions', function () { - $definitions = InfrastructureDefinitions::getDefinitions(); - - // Should contain HTTP infrastructure services that have been implemented - expect($definitions)->toBeArray(); - expect($definitions)->toHaveKey('TorrentPier\Config'); - expect($definitions)->toHaveKey('TorrentPier\Infrastructure\Http\Router'); - expect($definitions)->toHaveKey('TorrentPier\Infrastructure\Http\RequestFactory'); - expect($definitions)->toHaveKey('TorrentPier\Infrastructure\Http\ResponseFactory'); - expect($definitions)->toHaveKey('TorrentPier\Infrastructure\Http\Middleware\CorsMiddleware'); - }); - - it('follows infrastructure layer principles', function () { - // Infrastructure layer should handle external concerns - // This test verifies the structure is ready for future infrastructure services - - $definitions = InfrastructureDefinitions::getDefinitions(); - - // Should be an array (even if empty) - expect($definitions)->toBeArray(); - - // When infrastructure services are added, they should follow these principles: - // - Database connections and repositories - // - Cache implementations - // - External service adapters - // - File storage systems - }); - - it('can be safely called multiple times', function () { - $definitions1 = InfrastructureDefinitions::getDefinitions(); - $definitions2 = InfrastructureDefinitions::getDefinitions(); - - // Should return same structure (though objects may be different instances) - expect(array_keys($definitions1))->toBe(array_keys($definitions2)); - expect(count($definitions1))->toBe(count($definitions2)); - }); - - it('can handle different configurations', function () { - $config1 = ['database' => ['host' => 'localhost']]; - $config2 = ['cache' => ['driver' => 'redis']]; - - $definitions1 = InfrastructureDefinitions::getDefinitions($config1); - $definitions2 = InfrastructureDefinitions::getDefinitions($config2); - - // Should handle different configs without breaking - expect($definitions1)->toBeArray(); - expect($definitions2)->toBeArray(); - }); - - it('is prepared for future database services', function () { - // This test documents the intended structure for Phase 4 implementation - - $definitions = InfrastructureDefinitions::getDefinitions([ - 'database' => [ - 'host' => '127.0.0.1', - 'port' => 3306, - 'database' => 'tp', - 'username' => 'root', - 'password' => '', - 'charset' => 'utf8mb4', - ], - ]); - - expect($definitions)->toBeArray(); - - // Future database services will be registered like: - // 'database.connection.default' => DI\factory(function () use ($config) { ... }), - // Connection::class => DI\get('database.connection.default'), - - // For now, verify the method works without breaking - // Should at least contain the HTTP infrastructure services - expect(count($definitions))->toBeGreaterThanOrEqual(5); - }); - - it('is prepared for future cache services', function () { - $definitions = InfrastructureDefinitions::getDefinitions([ - 'cache' => [ - 'driver' => 'file', - 'file' => ['path' => '/tmp/cache'], - ], - ]); - - expect($definitions)->toBeArray(); - - // Future cache services will be registered like: - // 'cache.storage' => DI\factory(function () use ($config) { ... }), - // 'cache.factory' => DI\factory(function (ContainerInterface $c) { ... }), - }); - }); - - describe('architectural compliance', function () { - it('follows hexagonal architecture principles', function () { - // Infrastructure layer should handle external concerns and adapters - - $definitions = InfrastructureDefinitions::getDefinitions(); - - // Infrastructure definitions should focus on: - // 1. Database connections and persistence - // 2. Cache implementations - // 3. External service adapters - // 4. File storage systems - // 5. Third-party integrations - - expect($definitions)->toBeArray(); - }); - - it('supports dependency inversion', function () { - // Infrastructure should implement domain interfaces - - $definitions = InfrastructureDefinitions::getDefinitions(); - - // Future repository implementations will be registered here: - // 'TorrentPier\Infrastructure\Persistence\Repository\UserRepository' => DI\autowire() - // ->constructorParameter('connection', DI\get('database.connection.default')) - - expect($definitions)->toBeArray(); - }); - - it('handles configuration-based service creation', function () { - // Infrastructure services should be configurable - - $config = [ - 'database' => ['driver' => 'mysql'], - 'cache' => ['driver' => 'redis'], - 'storage' => ['driver' => 's3'], - ]; - - $definitions = InfrastructureDefinitions::getDefinitions($config); - - // Should handle configuration without breaking - expect($definitions)->toBeArray(); - }); - - it('prepares for multiple database connections', function () { - $config = [ - 'database' => [ - 'default' => 'mysql', - 'connections' => [ - 'mysql' => ['driver' => 'mysql'], - 'sqlite' => ['driver' => 'sqlite'], - ], - ], - ]; - - $definitions = InfrastructureDefinitions::getDefinitions($config); - expect($definitions)->toBeArray(); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/Definitions/PresentationDefinitionsTest.php b/tests/Unit/Infrastructure/DependencyInjection/Definitions/PresentationDefinitionsTest.php deleted file mode 100644 index 3c950ce25..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/Definitions/PresentationDefinitionsTest.php +++ /dev/null @@ -1,151 +0,0 @@ -toBeArray(); - }); - - it('returns presentation service definitions', function () { - $definitions = PresentationDefinitions::getDefinitions(); - - // Should contain HTTP presentation services that have been implemented - expect($definitions)->toBeArray(); - expect($definitions)->toHaveKey('TorrentPier\Presentation\Http\Kernel'); - expect($definitions)->toHaveKey('TorrentPier\Presentation\Http\Controllers\Web\HelloWorldController'); - expect($definitions)->toHaveKey('TorrentPier\Presentation\Http\Controllers\Web\LegacyController'); - }); - - it('follows presentation layer principles', function () { - // Presentation layer should handle user interface concerns - // This test verifies the structure is ready for future presentation services - - $definitions = PresentationDefinitions::getDefinitions(); - - // Should be an array (even if empty) - expect($definitions)->toBeArray(); - - // When presentation services are added, they should follow these principles: - // - HTTP controllers for web and API interfaces - // - CLI commands for console operations - // - Middleware for request/response processing - // - Response transformers for output formatting - }); - - it('can be safely called multiple times', function () { - $definitions1 = PresentationDefinitions::getDefinitions(); - $definitions2 = PresentationDefinitions::getDefinitions(); - - // Should return same structure (though objects may be different instances) - expect(array_keys($definitions1))->toBe(array_keys($definitions2)); - expect(count($definitions1))->toBe(count($definitions2)); - }); - - it('is prepared for future HTTP controllers', function () { - // This test documents the intended structure for Phase 5 implementation - - $definitions = PresentationDefinitions::getDefinitions(); - expect($definitions)->toBeArray(); - - // Future HTTP controllers will be registered like: - // 'TorrentPier\Presentation\Http\Controllers\Web\HomeController' => DI\autowire(), - // 'TorrentPier\Presentation\Http\Controllers\Api\UserController' => DI\autowire(), - // 'TorrentPier\Presentation\Http\Controllers\Admin\DashboardController' => DI\autowire(), - - // For now, verify the method works without breaking - expect(count($definitions))->toBeGreaterThanOrEqual(0); - }); - - it('is prepared for future CLI commands', function () { - $definitions = PresentationDefinitions::getDefinitions(); - expect($definitions)->toBeArray(); - - // Future CLI commands will be registered like: - // 'TorrentPier\Presentation\Cli\Commands\CacheCommand' => DI\autowire(), - // 'TorrentPier\Presentation\Cli\Commands\MigrateCommand' => DI\autowire(), - }); - - it('is prepared for future middleware', function () { - $definitions = PresentationDefinitions::getDefinitions(); - expect($definitions)->toBeArray(); - - // Future middleware will be registered like: - // 'AuthenticationMiddleware' => DI\autowire('TorrentPier\Presentation\Http\Middleware\AuthenticationMiddleware'), - // 'CorsMiddleware' => DI\autowire('TorrentPier\Presentation\Http\Middleware\CorsMiddleware'), - }); - }); - - describe('architectural compliance', function () { - it('follows hexagonal architecture principles', function () { - // Presentation layer should handle user interface and external interfaces - - $definitions = PresentationDefinitions::getDefinitions(); - - // Presentation definitions should focus on: - // 1. HTTP controllers (Web, API, Admin) - // 2. CLI commands - // 3. Middleware for request processing - // 4. Response transformers - // 5. Input validation and output formatting - - expect($definitions)->toBeArray(); - }); - - it('supports multiple interface types', function () { - // Presentation layer should support web, API, and CLI interfaces - - $definitions = PresentationDefinitions::getDefinitions(); - - // Future implementation will include: - // - Web controllers for HTML responses - // - API controllers for JSON responses - // - Admin controllers for administrative interface - // - CLI commands for console operations - - expect($definitions)->toBeArray(); - }); - - it('prepares for middleware stack', function () { - // Presentation layer should support request/response middleware - - $definitions = PresentationDefinitions::getDefinitions(); - - // Future middleware will handle: - // - Authentication and authorization - // - CORS headers - // - Rate limiting - // - Request validation - // - Response transformation - - expect($definitions)->toBeArray(); - }); - - it('supports dependency injection for controllers', function () { - // Controllers should have their dependencies injected - - $definitions = PresentationDefinitions::getDefinitions(); - - // Future controllers will be autowired with dependencies: - // - Application services (command/query handlers) - // - Request validators - // - Response transformers - - expect($definitions)->toBeArray(); - }); - - it('prepares for different response formats', function () { - // Presentation layer should support multiple response formats - - $definitions = PresentationDefinitions::getDefinitions(); - - // Future response transformers: - // 'JsonResponseTransformer' => DI\autowire(...), - // 'HtmlResponseTransformer' => DI\autowire(...), - - expect($definitions)->toBeArray(); - }); - }); -}); diff --git a/tests/Unit/Infrastructure/DependencyInjection/ServiceProviderTest.php b/tests/Unit/Infrastructure/DependencyInjection/ServiceProviderTest.php deleted file mode 100644 index 69c7c68ac..000000000 --- a/tests/Unit/Infrastructure/DependencyInjection/ServiceProviderTest.php +++ /dev/null @@ -1,144 +0,0 @@ -isInterface())->toBeTrue(); - expect($reflection->hasMethod('register'))->toBeTrue(); - expect($reflection->hasMethod('boot'))->toBeTrue(); - }); - - it('register method has correct signature', function () { - $reflection = new ReflectionClass(ServiceProvider::class); - $method = $reflection->getMethod('register'); - - expect($method->isPublic())->toBeTrue(); - expect($method->getParameters())->toHaveCount(1); - expect($method->getParameters()[0]->getType()?->getName())->toBe(Container::class); - expect($method->getReturnType()?->getName())->toBe('void'); - }); - - it('boot method has correct signature', function () { - $reflection = new ReflectionClass(ServiceProvider::class); - $method = $reflection->getMethod('boot'); - - expect($method->isPublic())->toBeTrue(); - expect($method->getParameters())->toHaveCount(1); - expect($method->getParameters()[0]->getType()?->getName())->toBe(Container::class); - expect($method->getReturnType()?->getName())->toBe('void'); - }); -}); - -describe('ServiceProvider implementation examples', function () { - it('can implement a basic service provider', function () { - $provider = new class implements ServiceProvider { - public function register(Container $container): void - { - $container->getWrappedContainer()->set('example.service', 'registered'); - } - - public function boot(Container $container): void - { - // Boot logic here - } - }; - - $container = $this->createTestContainer(); - - $provider->register($container); - - expect($container->get('example.service'))->toBe('registered'); - }); - - it('can implement a provider with complex services', function () { - $provider = new class implements ServiceProvider { - public function register(Container $container): void - { - $container->getWrappedContainer()->set('complex.service', \DI\factory(function () { - return new class { - public function getValue(): string - { - return 'complex_value'; - } - }; - })); - } - - public function boot(Container $container): void - { - // Could perform additional setup here - $service = $container->get('complex.service'); - // Setup complete - } - }; - - $container = $this->createTestContainer(); - - $provider->register($container); - $provider->boot($container); - - $service = $container->get('complex.service'); - expect($service->getValue())->toBe('complex_value'); - }); - - it('can implement a provider that registers multiple services', function () { - $provider = new class implements ServiceProvider { - public function register(Container $container): void - { - $wrapped = $container->getWrappedContainer(); - - $wrapped->set('service.a', 'value_a'); - $wrapped->set('service.b', 'value_b'); - $wrapped->set('service.c', \DI\factory(function () { - return 'value_c'; - })); - } - - public function boot(Container $container): void - { - // Boot all registered services - } - }; - - $container = $this->createTestContainer(); - - $provider->register($container); - $provider->boot($container); - - expect($container->get('service.a'))->toBe('value_a'); - expect($container->get('service.b'))->toBe('value_b'); - expect($container->get('service.c'))->toBe('value_c'); - }); - - it('boot method can access services registered by register method', function () { - $bootedServices = []; - - $provider = new class($bootedServices) implements ServiceProvider { - public function __construct(private array &$bootedServices) - { - } - - public function register(Container $container): void - { - $container->getWrappedContainer()->set('bootable.service', 'registered_value'); - } - - public function boot(Container $container): void - { - $value = $container->get('bootable.service'); - $this->bootedServices[] = $value; - } - }; - - $container = $this->createTestContainer(); - - $provider->register($container); - $provider->boot($container); - - expect($bootedServices)->toBe(['registered_value']); - }); -}); diff --git a/tests/Unit/Infrastructure/Http/RouterTest.php b/tests/Unit/Infrastructure/Http/RouterTest.php deleted file mode 100644 index 921fc5b2c..000000000 --- a/tests/Unit/Infrastructure/Http/RouterTest.php +++ /dev/null @@ -1,251 +0,0 @@ -container = new Container($diContainer); - - // Create router instance - $this->router = new Router($this->container); - }); - - describe('route registration', function () { - it('registers GET routes', function () { - $this->router->get('/test', function () { - return new Response(200, [], 'GET test'); - }); - - $request = new ServerRequest('GET', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('GET test'); - }); - - it('registers POST routes', function () { - $this->router->post('/test', function () { - return new Response(200, [], 'POST test'); - }); - - $request = new ServerRequest('POST', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('POST test'); - }); - - it('registers PUT routes', function () { - $this->router->put('/test', function () { - return new Response(200, [], 'PUT test'); - }); - - $request = new ServerRequest('PUT', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('PUT test'); - }); - - it('registers PATCH routes', function () { - $this->router->patch('/test', function () { - return new Response(200, [], 'PATCH test'); - }); - - $request = new ServerRequest('PATCH', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('PATCH test'); - }); - - it('registers DELETE routes', function () { - $this->router->delete('/test', function () { - return new Response(200, [], 'DELETE test'); - }); - - $request = new ServerRequest('DELETE', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('DELETE test'); - }); - - it('registers HEAD routes', function () { - $this->router->head('/test', function () { - return new Response(200); - }); - - $request = new ServerRequest('HEAD', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - }); - - it('registers OPTIONS routes', function () { - $this->router->options('/test', function () { - return new Response(200, ['Allow' => 'GET, POST, OPTIONS']); - }); - - $request = new ServerRequest('OPTIONS', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect($response->getHeader('Allow'))->toBe(['GET, POST, OPTIONS']); - }); - }); - - describe('route parameters', function () { - it('captures route parameters', function () { - $this->router->get('/user/{id}', function ($request, $args) { - return new Response(200, [], 'User ID: ' . $args['id']); - }); - - $request = new ServerRequest('GET', '/user/123'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('User ID: 123'); - }); - - it('captures multiple route parameters', function () { - $this->router->get('/post/{year}/{month}/{slug}', function ($request, $args) { - return new Response(200, [], sprintf( - 'Post: %s/%s/%s', - $args['year'], - $args['month'], - $args['slug'] - )); - }); - - $request = new ServerRequest('GET', '/post/2024/06/hello-world'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Post: 2024/06/hello-world'); - }); - }); - - describe('controller resolution', function () { - it('resolves controller from DI container', function () { - // Create a test controller - $testController = new class { - public function index() - { - return new Response(200, [], 'Controller response'); - } - }; - - // Register controller in container using the wrapped DI container - $this->container->getWrappedContainer()->set('TestController', $testController); - - // Register route with controller - $this->router->get('/test', ['TestController', 'index']); - - $request = new ServerRequest('GET', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Controller response'); - }); - - it('resolves controller by class name', function () { - // Define a test controller class - $controllerClass = 'TestControllerClass' . uniqid(); - eval(" - class $controllerClass { - public function handle() { - return new \GuzzleHttp\Psr7\Response(200, [], 'Class-based controller'); - } - } - "); - - $this->router->get('/test', [$controllerClass, 'handle']); - - $request = new ServerRequest('GET', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Class-based controller'); - }); - }); - - describe('middleware support', function () { - it('applies middleware to routes', function () { - // Create a simple middleware that implements PSR-15 - $middleware = new class implements \Psr\Http\Server\MiddlewareInterface { - public function process( - \Psr\Http\Message\ServerRequestInterface $request, - \Psr\Http\Server\RequestHandlerInterface $handler - ): \Psr\Http\Message\ResponseInterface - { - $response = $handler->handle($request); - return $response->withHeader('X-Middleware', 'Applied'); - } - }; - - $this->router->middleware($middleware) - ->get('/test', function () { - return new Response(200, [], 'With middleware'); - }); - - $request = new ServerRequest('GET', '/test'); - $response = $this->router->dispatch($request); - - expect($response->getStatusCode())->toBe(200); - expect($response->getHeader('X-Middleware'))->toBe(['Applied']); - expect((string)$response->getBody())->toBe('With middleware'); - }); - }); - - describe('error handling', function () { - it('throws NotFoundException for undefined routes', function () { - $request = new ServerRequest('GET', '/undefined'); - - expect(fn() => $this->router->dispatch($request)) - ->toThrow(League\Route\Http\Exception\NotFoundException::class); - }); - - it('throws MethodNotAllowedException for wrong HTTP method', function () { - $this->router->post('/test', function () { - return new Response(200); - }); - - $request = new ServerRequest('GET', '/test'); - - expect(fn() => $this->router->dispatch($request)) - ->toThrow(League\Route\Http\Exception\MethodNotAllowedException::class); - }); - }); - - describe('route groups', function () { - it('supports route groups with prefix', function () { - $this->router->group('/api', function ($router) { - $router->get('/users', function () { - return new Response(200, [], 'Users list'); - }); - $router->get('/posts', function () { - return new Response(200, [], 'Posts list'); - }); - }); - - // Test /api/users - $request = new ServerRequest('GET', '/api/users'); - $response = $this->router->dispatch($request); - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Users list'); - - // Test /api/posts - $request = new ServerRequest('GET', '/api/posts'); - $response = $this->router->dispatch($request); - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Posts list'); - }); - }); -}); diff --git a/tests/Unit/Presentation/Http/Controllers/Web/LegacyControllerTest.php b/tests/Unit/Presentation/Http/Controllers/Web/LegacyControllerTest.php deleted file mode 100644 index 079593828..000000000 --- a/tests/Unit/Presentation/Http/Controllers/Web/LegacyControllerTest.php +++ /dev/null @@ -1,58 +0,0 @@ -shouldReceive('all')->andReturn([]); - $mockConfig->shouldReceive('get')->andReturn('/fake/path/'); - - // Create controller with mock config - $this->controller = new LegacyController($mockConfig); - }); - - afterEach(function () { - Mockery::close(); - }); - - describe('basic functionality', function () { - it('can be instantiated', function () { - expect($this->controller)->toBeInstanceOf(LegacyController::class); - }); - - it('implements proper method signature', function () { - $reflection = new ReflectionClass($this->controller); - $method = $reflection->getMethod('handle'); - - expect($method->getParameters())->toHaveCount(1); - expect($method->getParameters()[0]->getType()->getName())->toBe('Psr\Http\Message\ServerRequestInterface'); - }); - - it('returns PSR-7 response interface', function () { - $request = new ServerRequest('GET', 'http://example.com/nonexistent'); - - $response = $this->controller->handle($request); - expect($response)->toBeInstanceOf(\Psr\Http\Message\ResponseInterface::class); - }); - - it('returns 404 for non-existent files', function () { - $request = new ServerRequest('GET', 'http://example.com/nonexistent'); - - $response = $this->controller->handle($request); - expect($response->getStatusCode())->toBe(404); - }); - }); - - describe('security', function () { - it('prevents directory traversal', function () { - $request = new ServerRequest('GET', 'http://example.com/../../../etc/passwd'); - - $response = $this->controller->handle($request); - expect($response->getStatusCode())->toBe(404); - }); - }); -}); diff --git a/tests/Unit/Presentation/Http/KernelTest.php b/tests/Unit/Presentation/Http/KernelTest.php deleted file mode 100644 index 857f3d9a6..000000000 --- a/tests/Unit/Presentation/Http/KernelTest.php +++ /dev/null @@ -1,201 +0,0 @@ -container = new Container($diContainer); - - // Create a real router instance and register it in the container - $this->router = new Router($this->container); - $this->container->getWrappedContainer()->set(Router::class, $this->router); - - // Create kernel instance - $this->kernel = new Kernel($this->container); - - // Store original superglobals - $this->originalServer = $_SERVER; - $this->originalGet = $_GET; - $this->originalPost = $_POST; - }); - - afterEach(function () { - // Restore original superglobals - $_SERVER = $this->originalServer; - $_GET = $this->originalGet; - $_POST = $this->originalPost; - }); - - describe('route loading', function () { - it('loads routes from a file', function () { - // Create a temporary routes file - $routesFile = tempnam(sys_get_temp_dir(), 'routes'); - file_put_contents($routesFile, 'get("/test", function () { - return new \GuzzleHttp\Psr7\Response(200, [], "Test route"); - }); - }; - '); - - $this->kernel->loadRoutes($routesFile); - - // Clean up - unlink($routesFile); - - // Verify route was loaded by trying to handle it - $request = new ServerRequest('GET', 'http://example.com/test'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Test route'); - }); - - it('throws exception for non-existent routes file', function () { - $nonExistentFile = '/path/to/nonexistent/routes.php'; - - expect(fn() => $this->kernel->loadRoutes($nonExistentFile)) - ->toThrow(RuntimeException::class); - }); - }); - - describe('request handling', function () { - beforeEach(function () { - // Set up a test route - $routesFile = tempnam(sys_get_temp_dir(), 'routes'); - file_put_contents($routesFile, 'get("/hello", function () { - return new \GuzzleHttp\Psr7\Response(200, [], "Hello World"); - }); - $router->post("/submit", function ($request) { - $body = $request->getParsedBody(); - return new \GuzzleHttp\Psr7\Response(200, [], json_encode($body)); - }); - }; - '); - $this->kernel->loadRoutes($routesFile); - $this->routesFile = $routesFile; - }); - - afterEach(function () { - if (isset($this->routesFile)) { - unlink($this->routesFile); - } - }); - - it('handles GET requests', function () { - $request = new ServerRequest('GET', 'http://example.com/hello'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('Hello World'); - }); - - it('handles POST requests', function () { - $request = new ServerRequest('POST', 'http://example.com/submit'); - $request = $request->withParsedBody(['name' => 'John']); - - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(200); - expect((string)$response->getBody())->toBe('{"name":"John"}'); - }); - - it('returns 404 for undefined routes', function () { - $request = new ServerRequest('GET', 'http://example.com/undefined'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(404); - }); - - it('returns 405 for wrong HTTP method', function () { - $request = new ServerRequest('POST', 'http://example.com/hello'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(405); - }); - }); - - describe('error handling', function () { - it('handles exceptions gracefully', function () { - // Set up a route that throws an exception - $routesFile = tempnam(sys_get_temp_dir(), 'routes'); - file_put_contents($routesFile, 'get("/error", function () { - throw new \RuntimeException("Test exception"); - }); - }; - '); - $this->kernel->loadRoutes($routesFile); - - $request = new ServerRequest('GET', 'http://example.com/error'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(500); - - // Clean up - unlink($routesFile); - }); - - it('logs exceptions when bb_log function exists', function () { - // This is hard to test without actually defining bb_log - // We'll just verify the error response structure - $routesFile = tempnam(sys_get_temp_dir(), 'routes'); - file_put_contents($routesFile, 'get("/error", function () { - throw new \Exception("Test error"); - }); - }; - '); - $this->kernel->loadRoutes($routesFile); - - $request = new ServerRequest('GET', 'http://example.com/error'); - $response = $this->kernel->handle($request); - - expect($response->getStatusCode())->toBe(500); - expect($response->getBody()->getContents())->toContain('Internal Server Error'); - - unlink($routesFile); - }); - }); - - describe('run method', function () { - it('creates request from globals and sends response', function () { - // Set up globals - $_SERVER['REQUEST_METHOD'] = 'GET'; - $_SERVER['REQUEST_URI'] = '/hello'; - $_SERVER['HTTP_HOST'] = 'example.com'; - $_GET = ['foo' => 'bar']; - - // Set up a route - $routesFile = tempnam(sys_get_temp_dir(), 'routes'); - file_put_contents($routesFile, 'get("/hello", function ($request) { - $query = $request->getQueryParams(); - return new \GuzzleHttp\Psr7\Response(200, [], $query["foo"] ?? "no foo"); - }); - }; - '); - $this->kernel->loadRoutes($routesFile); - - // Capture output - ob_start(); - $this->kernel->run(); - $output = ob_get_clean(); - - expect($output)->toContain('bar'); - - unlink($routesFile); - }); - }); -});