Test Failed
Push — master ( 7ab2d6...9e5b16 )
by Paul
04:34
created

AjaxController::routerChangeAssignedTo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Controllers;
4
5
use GeminiLabs\SiteReviews\Commands\ChangeStatus;
6
use GeminiLabs\SiteReviews\Commands\TogglePinned;
7
use GeminiLabs\SiteReviews\Controllers\AdminController;
8
use GeminiLabs\SiteReviews\Controllers\Controller;
9
use GeminiLabs\SiteReviews\Controllers\PublicController;
10
use GeminiLabs\SiteReviews\Database;
11
use GeminiLabs\SiteReviews\Modules\Console;
12
use GeminiLabs\SiteReviews\Modules\Html;
13
use GeminiLabs\SiteReviews\Modules\Notice;
14
use GeminiLabs\SiteReviews\Modules\Session;
15
use GeminiLabs\SiteReviews\Modules\Translator;
16
use WP_Query;
17
18
class AjaxController extends Controller
19
{
20
	/**
21
	 * @return void
22
	 */
23
	public function routerChangeReviewStatus( array $request )
24
	{
25
		wp_send_json_success( $this->execute( new ChangeStatus( $request )));
26
	}
27
28
	/**
29
	 * @return void
30
	 */
31
	public function routerClearConsole()
32
	{
33
		glsr( AdminController::class )->routerClearConsole();
34
		wp_send_json_success([
35
			'console' => glsr( Console::class )->get(),
36
			'notices' => glsr( Notice::class )->get(),
37
		]);
38
	}
39
40
	/**
41
	 * @return void
42
	 */
43
	public function routerMceShortcode( array $request )
44
	{
45
		$shortcode = $request['shortcode'];
46
		$response = false;
47
		if( array_key_exists( $shortcode, glsr()->mceShortcodes )) {
48
			$data = glsr()->mceShortcodes[$shortcode];
49
			if( !empty( $data['errors'] )) {
50
				$data['btn_okay'] = [esc_html__( 'Okay', 'site-reviews' )];
51
			}
52
			$response = [
53
				'body' => $data['fields'],
54
				'close' => $data['btn_close'],
55
				'ok' => $data['btn_okay'],
56
				'shortcode' => $shortcode,
57
				'title' => $data['title'],
58
			];
59
		}
60
		wp_send_json_success( $response );
61
	}
62
63
	/**
64
	 * @return void
65
	 */
66
	public function routerSearchPosts( array $request )
67
	{
68
		$results = glsr( Database::class )->searchPosts( $request['search'] );
69
		wp_send_json_success([
70
			'empty' => '<div>'.__( 'Nothing found.', 'site-reviews' ).'</div>',
71
			'items' => $results,
72
		]);
73
	}
74
75
	/**
76
	 * @return void
77
	 */
78
	public function routerSearchTranslations( array $request )
79
	{
80
		if( empty( $request['exclude'] )) {
81
			$request['exclude'] = [];
82
		}
83
		$results = glsr( Translator::class )
84
			->search( $request['search'] )
85
			->exclude()
86
			->exclude( $request['exclude'] )
87
			->renderResults();
88
		wp_send_json_success([
89
			'empty' => '<div>'.__( 'Nothing found.', 'site-reviews' ).'</div>',
90
			'items' => $results,
91
		]);
92
	}
93
94
	/**
95
	 * @return void
96
	 */
97 1
	public function routerSubmitReview( array $request )
98
	{
99 1
		glsr( PublicController::class )->routerSubmitReview( $request );
100
		$data = [
101 1
			'errors' => glsr( Session::class )->get( $request['form_id'].'errors', false, true ),
102 1
			'message' => glsr( Session::class )->get( $request['form_id'].'message', '', true ),
103 1
			'recaptcha' => glsr( Session::class )->get( $request['form_id'].'recaptcha', false, true ),
104
		];
105 1
		if( !wp_validate_boolean( $data['errors'] )) {
106 1
			wp_send_json_success( $data );
107
		}
108
		wp_send_json_error( $data );
109
	}
110
111
	/**
112
	 * @return void
113
	 */
114
	public function routerTogglePinned( array $request )
115
	{
116
		$isPinned = $this->execute( new TogglePinned( $request ));
117
		wp_send_json_success([
118
			'notices' => glsr( Notice::class )->get(),
119
			'pinned' => $isPinned,
120
		]);
121
	}
122
}
123