PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / RequestHandler / Ajax / Integrations.php
codepress-admin-columns / classes / RequestHandler / Ajax Last commit date
AdminGeneralOptionsGet.php 2 days ago AdminGeneralOptionsPersist.php 2 days ago CustomFieldKeys.php 2 days ago EditorMenuFavorites.php 2 days ago EditorMenuStatus.php 2 days ago ExtendedValue.php 2 days ago IntegrationToggle.php 2 days ago Integrations.php 2 days ago ListScreenAddColumn.php 2 days ago ListScreenDelete.php 2 days ago ListScreenOriginalColumns.php 2 days ago ListScreenSave.php 2 days ago ListScreenSelectColumn.php 2 days ago ListScreenSettings.php 2 days ago NetworkPostStati.php 2 days ago NumberFormat.php 2 days ago RestoreSettingsRequest.php 2 days ago ScreenOptions.php 2 days ago
Integrations.php
58 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\RequestHandler\Ajax;
6
7 use AC;
8 use AC\Capabilities;
9 use AC\Integration\IntegrationRepository;
10 use AC\RequestAjaxHandler;
11 use AC\Response\Json;
12
13 class Integrations implements RequestAjaxHandler
14 {
15 private IntegrationRepository $integrations;
16
17 public function __construct(IntegrationRepository $integrations)
18 {
19 $this->integrations = $integrations;
20 }
21
22 public function handle(): void
23 {
24 if (! current_user_can(Capabilities::MANAGE)) {
25 return;
26 }
27
28 $integrations = [];
29
30 foreach ($this->integrations->find_all_active() as $integration) {
31 $integrations[] = $this->encode($integration, true);
32 }
33
34 foreach ($this->integrations->find_all_inactive() as $integration) {
35 $integrations[] = $this->encode($integration, false);
36 }
37
38 (new Json())
39 ->with_parameter('integrations', $integrations)
40 ->success();
41 }
42
43 private function encode(AC\Type\Integration $integration, bool $active): array
44 {
45 return [
46 'plugin_active' => $integration->is_plugin_active(),
47 'title' => $integration->get_title(),
48 'external_link' => (string)$integration->get_url(),
49 'slug' => $integration->get_slug(),
50 'description' => $integration->get_description(),
51 'plugin_logo' => $integration->get_logo(),
52 'plugin_link' => $integration->get_plugin_link(),
53 'active' => $active,
54 ];
55 }
56
57 }
58