PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.0
Independent Analytics – WordPress Analytics Plugin v2.15.0
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / AJAX / Delete_Link.php
independent-analytics / IAWP / AJAX Last commit date
AJAX.php 3 months ago AJAX_Manager.php 4 days ago Archive_Link.php 3 months ago Clear_Favorite_Report.php 4 days ago Click_Tracking_Cache_Cleared.php 3 months ago Configure_Pruner.php 3 months ago Copy_Report.php 3 months ago Create_Campaign.php 2 years ago Create_Report.php 3 months ago Delete_Campaign.php 2 years ago Delete_Data.php 3 months ago Delete_Link.php 3 months ago Delete_Module.php 3 months ago Delete_Report.php 3 months ago Dismiss_Notice.php 1 year ago Edit_Link.php 3 months ago Edit_Module.php 3 months ago Export_Report_Statistics.php 2 months ago Export_Report_Table.php 9 months ago Export_Reports.php 4 days ago FetchRealTimeData.php 4 days ago Filter.php 2 months ago Get_Journey_Timeline.php 6 months ago Get_Markup_For_Module.php 1 year ago Get_Markup_For_Modules.php 3 months ago Import_Reports.php 3 months ago Migration_Status.php 3 months ago Pause_Email_Reports.php 3 months ago Preview_Email.php 2 months ago Refresh_Modules.php 3 months ago Rename_Report.php 3 months ago Reorder_Modules.php 3 months ago Reset_Analytics.php 3 months ago Reset_Overview.php 3 months ago SaveRealTimePreferences.php 4 days ago Save_Module.php 3 months ago Save_Report.php 3 months ago Set_Favorite_Report.php 1 year ago Set_WooCommerce_Statuses_To_Track.php 3 months ago Sort_Links.php 3 months ago Sort_Reports.php 3 months ago Test_Email.php 2 months ago Update_Capabilities.php 3 months ago Update_User_Settings.php 3 months ago
Delete_Link.php
48 lines
1 <?php
2
3 namespace IAWP\AJAX;
4
5 use IAWP\Capability_Manager;
6 use IAWP\Illuminate_Builder;
7 use IAWP\Tables;
8 /** @internal */
9 class Delete_Link extends \IAWP\AJAX\AJAX
10 {
11 protected function action_name() : string
12 {
13 return 'iawp_delete_link';
14 }
15 protected function requires_pro() : bool
16 {
17 return \true;
18 }
19 protected function requires_write_access() : bool
20 {
21 return \true;
22 }
23 protected function action_callback() : void
24 {
25 if (!Capability_Manager::can_edit()) {
26 return;
27 }
28 $link_rule_id = $this->get_int_field('id');
29 if (\is_null($link_rule_id)) {
30 \wp_send_json_error([], 400);
31 }
32 // Delete the link rule
33 Illuminate_Builder::new()->from(Tables::link_rules())->where('link_rule_id', '=', $link_rule_id)->delete();
34 // Delete the links
35 Illuminate_Builder::new()->from(Tables::links())->where('link_rule_id', '=', $link_rule_id)->delete();
36 // Delete orphaned click targets
37 $links = Tables::links();
38 Illuminate_Builder::new()->from(Tables::click_targets(), 'click_targets')->leftJoin("{$links} AS links", 'links.click_target_id', '=', 'click_targets.click_target_id')->whereNull('links.click_target_id')->delete();
39 // Delete orphaned clicked links
40 $links = Tables::links();
41 Illuminate_Builder::new()->from(Tables::clicked_links(), 'clicked_links')->leftJoin("{$links} AS links", 'links.id', '=', 'clicked_links.link_id')->whereNull('links.click_target_id')->delete();
42 // Delete orphaned clicks
43 $clicked_links_table = Tables::clicked_links();
44 Illuminate_Builder::new()->from(Tables::clicks(), 'clicks')->leftJoin("{$clicked_links_table} AS clicked_links", 'clicked_links.click_id', '=', 'clicks.click_id')->whereNull('clicked_links.click_id')->delete();
45 \wp_send_json_success(['id' => $link_rule_id]);
46 }
47 }
48