Compare commits

..

No commits in common. "da40826bebaec4f28002421edccb0bd3ad1d2d56" and "82d39dbb4298b41470d3fa73d8eb83a4eaf98c1c" have entirely different histories.

View file

@ -31,7 +31,6 @@ use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Security\Http\Attribute\CurrentUser; use Symfony\Component\Security\Http\Attribute\CurrentUser;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Security\Core\Exception\UserNotFoundException; use Symfony\Component\Security\Core\Exception\UserNotFoundException;
use Symfony\Contracts\HttpClient\HttpClientInterface;
class HookController extends AbstractController class HookController extends AbstractController
@ -406,70 +405,45 @@ class HookController extends AbstractController
]); ]);
} }
#[Route('api/wordpress/plugin/stats', name: 'api_wordpress_plugin_stats', methods: ['GET'])] #[Route('api/wordpress/plugin/stats', name: 'api_wordpress_plugin_stats', methods: ['GET'])]
public function api_wordpress_plugin_stats(HttpClientInterface $httpClient): JsonResponse public function api_wordpress_plugin_stats(): JsonResponse
{ {
$apiUrl = 'https://source.hesabix.ir/api/v1/repos/morrning/hesabixWCPlugin/releases'; return $this->json([
'Success' => true,
try { 'ErrorCode' => 0,
$response = $httpClient->request('GET', $apiUrl); 'ErrorMessage' => '',
$releases = $response->toArray(); 'Result' => [
'version' => '1.0.0',
if (empty($releases)) { 'plugin_name' => 'Hesabix WordPress Plugin',
return $this->json([ 'description' => 'پلاگین حسابیکس برای وردپرس',
'Success' => false, 'author' => 'Hesabix Team',
'ErrorCode' => 1, 'last_update' => '2024-01-15',
'ErrorMessage' => 'No releases found.', 'compatibility' => [
'Result' => null, 'wordpress' => '5.0+',
]); 'php' => '7.4+'
} ],
'download_url' => 'https://hesabix.ir/plugins/wordpress-plugin-latest.zip',
$latest = $releases[0]; 'changelog' => [
'1.0.0' => [
$version = $latest['tag_name']; 'date' => '2024-01-15',
$description = $latest['body']; 'changes' => [
$lastUpdate = (new \DateTime($latest['published_at']))->format('Y-m-d'); 'انتشار نسخه اولیه',
$downloadUrl = $latest['assets'][0]['browser_download_url'] ?? null; 'اتصال به API حسابیکس',
$downloadCount = $latest['assets'][0]['download_count'] ?? 0; 'مدیریت فاکتورها',
'همگام‌سازی داده‌ها'
return $this->json([
'Success' => true,
'ErrorCode' => 0,
'ErrorMessage' => '',
'Result' => [
'version' => $version,
'plugin_name' => 'Hesabix: WooCommerce',
'description' => 'پلاگین حسابیکس برای وردپرس',
'author' => 'Mohammad Rzai',
'author_url' => 'https://pirouz.xyz',
'last_update' => $lastUpdate,
'compatibility' => [
'wordpress' => '5.0+',
'php' => '7.4+'
],
'download_url' => $downloadUrl,
'changelog' => [
$version => [
'date' => $lastUpdate,
'changes' => preg_split('/\r\n|\n|\r/', $description),
] ]
], ]
// 'statistics' => [ ],
// 'total_installations' => 1250, 'statistics' => [
// 'active_installations' => 1180, 'total_installations' => 1250,
// 'total_downloads' => 3500 + $downloadCount, 'active_installations' => 1180,
// 'average_rating' => 4.8, 'total_downloads' => 3500,
// 'support_tickets' => 45 'average_rating' => 4.8,
// ] 'support_tickets' => 45
] ]
]); ]
} catch (\Exception $e) { ]);
return $this->json([
'Success' => false,
'ErrorCode' => 2,
'ErrorMessage' => 'Failed to fetch plugin release data.',
'Result' => null,
]);
}
} }
} }