Code Duplication    Length = 43-44 lines in 2 locations

_inc/lib/core-api/class.jetpack-core-api-module-endpoints.php 2 locations

@@ 47-90 (lines=44) @@
44
	 *
45
	 * @return bool|WP_Error True if module was activated. Otherwise, a WP_Error instance with the corresponding error.
46
	 */
47
	public function activate_module( $request ) {
48
		$module_slug = '';
49
50
		if (
51
			(
52
				is_array( $request )
53
				|| is_object( $request )
54
			)
55
			&& isset( $request['slug'] )
56
		) {
57
			$module_slug = $request['slug'];
58
		} else {
59
			$module_slug = $request;
60
		}
61
62
		if ( ! Jetpack::is_module( $module_slug ) ) {
63
			return new WP_Error(
64
				'not_found',
65
				esc_html__( 'The requested Jetpack module was not found.', 'jetpack' ),
66
				array( 'status' => 404 )
67
			);
68
		}
69
70
		if ( ! Jetpack::active_plan_supports( $module_slug ) ) {
71
			return new WP_Error(
72
				'not_supported',
73
				esc_html__( 'The requested Jetpack module is not supported by your plan.', 'jetpack' ),
74
				array( 'status' => 424 )
75
			);
76
		}
77
78
		if ( Jetpack::activate_module( $module_slug, false, false ) ) {
79
			return rest_ensure_response( array(
80
				'code' 	  => 'success',
81
				'message' => esc_html__( 'The requested Jetpack module was activated.', 'jetpack' ),
82
			) );
83
		}
84
85
		return new WP_Error(
86
			'activation_failed',
87
			esc_html__( 'The requested Jetpack module could not be activated.', 'jetpack' ),
88
			array( 'status' => 424 )
89
		);
90
	}
91
92
	/**
93
	 * If it's a valid Jetpack module, deactivate it.
@@ 107-149 (lines=43) @@
104
	 *
105
	 * @return bool|WP_Error True if module was activated. Otherwise, a WP_Error instance with the corresponding error.
106
	 */
107
	public function deactivate_module( $request ) {
108
		$module_slug = '';
109
110
		if (
111
			(
112
				is_array( $request )
113
				|| is_object( $request )
114
			)
115
			&& isset( $request['slug'] )
116
		) {
117
			$module_slug = $request['slug'];
118
		} else {
119
			$module_slug = $request;
120
		}
121
122
		if ( ! Jetpack::is_module( $module_slug ) ) {
123
			return new WP_Error(
124
				'not_found',
125
				esc_html__( 'The requested Jetpack module was not found.', 'jetpack' ),
126
				array( 'status' => 404 )
127
			);
128
		}
129
130
		if ( ! Jetpack::is_module_active( $module_slug ) ) {
131
			return new WP_Error(
132
				'already_inactive',
133
				esc_html__( 'The requested Jetpack module was already inactive.', 'jetpack' ),
134
				array( 'status' => 409 )
135
			);
136
		}
137
138
		if ( Jetpack::deactivate_module( $module_slug ) ) {
139
			return rest_ensure_response( array(
140
				'code' 	  => 'success',
141
				'message' => esc_html__( 'The requested Jetpack module was deactivated.', 'jetpack' ),
142
			) );
143
		}
144
		return new WP_Error(
145
			'deactivation_failed',
146
			esc_html__( 'The requested Jetpack module could not be deactivated.', 'jetpack' ),
147
			array( 'status' => 400 )
148
		);
149
	}
150
151
	/**
152
	 * Check that the current user has permissions to manage Jetpack modules.