Give_Template_Loader::give_output_sidebar_option()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 0
dl 0
loc 11
ccs 0
cts 1
cp 0
crap 6
rs 9.9
c 0
b 0
f 0
1
<?php
0 ignored issues
show
Coding Style introduced by
End of line character is invalid; expected "\n" but found "\r\n"
Loading history...
2
/**
3
 * Template Loader
4
 *
5
 * @package     Give
6
 * @subpackage  Classes/Give_Template_Loader
7
 * @copyright   Copyright (c) 2016, Give
8
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
9
 * @since       1.0
10
 */
11
12
// Exit if accessed directly.
13
if ( ! defined( 'ABSPATH' ) ) {
14
	exit;
15
}
16
17
/**
18
 * Give_Template_Loader Class
19
 *
20
 * Base class template loader.
21
 *
22
 * @since 1.0
23
 */
24
class Give_Template_Loader {
25
26
	/**
27
	 * Class Constructor
28
	 *
29
	 * Set up the template loader Class.
30
	 *
31
	 * @since  1.0
32
	 * @access public
33
	 */
34
	public function __construct() {
35
36
		/**
37
		 * Templates
38
		 */
39
		add_filter( 'template_include', array( __CLASS__, 'template_loader' ) );
40
41
		/**
42
		 * Content Wrappers
43
		 */
44
		add_action( 'give_before_main_content', 'give_output_content_wrapper', 10 );
45
		add_action( 'give_after_main_content', 'give_output_content_wrapper_end', 10 );
46
47
		/**
48
		 * Entry Summary Classes
49
		 */
50
		add_filter( 'give_forms_single_summary_classes', array( $this, 'give_set_single_summary_classes' ) );
51
52
		/**
53
		 * Sidebar
54
		 */
55
		add_action( 'give_before_single_form_summary', array( $this, 'give_output_sidebar_option' ), 1 );
56
57
		/**
58
		 * Single Forms Summary Box
59
		 */
60
		add_action( 'give_single_form_summary', 'give_template_single_title', 5 );
61
		add_action( 'give_single_form_summary', 'give_get_donation_form', 10 );
62
63
	}
64
65
	/**
66
	 * Give Set Single Summary Classes
67
	 *
68
	 * Determines if the single form should be full width or with a sidebar.
69
	 *
70
	 * @access public
71
	 *
72
	 * @param  string $classes List of space separated class names.
73
	 *
74
	 * @return string $classes List of space separated class names.
75
	 */
76
	public function give_set_single_summary_classes( $classes ) {
77
78
		//Add full width class when feature image is disabled AND no widgets are present
79
		if ( ! give_is_setting_enabled( give_get_option( 'form_sidebar' ) ) ) {
80
			$classes .= ' give-full-width';
81
		}
82
83
		return $classes;
84
85
	}
86
87
	/**
88
	 * Output sidebar option
89
	 *
90
	 * Determines whether the user has enabled or disabled the sidebar for Single Give forms.
91
	 *
92
	 * @since  1.3
93
	 * @access public
94
	 *
95
	 * @return void
96
	 */
97
	public function give_output_sidebar_option() {
98
99
		//Add full width class when feature image is disabled AND no widgets are present
100
		if ( give_is_setting_enabled( give_get_option( 'form_sidebar' ) ) ) {
101
			add_action( 'give_before_single_form_summary', 'give_left_sidebar_pre_wrap', 5 );
102
			add_action( 'give_before_single_form_summary', 'give_show_form_images', 10 );
103
			add_action( 'give_before_single_form_summary', 'give_get_forms_sidebar', 20 );
104
			add_action( 'give_before_single_form_summary', 'give_left_sidebar_post_wrap', 30 );
105
		}
106
107
	}
108
109
	/**
110
	 * Load a template.
111
	 *
112
	 * Handles template usage so that we can use our own templates instead of the themes.
113
	 *
114
	 * Templates are in the 'templates' folder. Give looks for theme
115
	 * overrides in /theme/give/ by default.
116
	 *
117
	 * For beginners, it also looks for a give.php template first. If the user adds this
118
	 * to the theme (containing give() inside) this will be used for all give templates.
119
	 *
120
	 * @access public
121
	 *
122
	 * @param  mixed  $template 
123
	 *
124
	 * @return string $template
125
	 */
126
	public static function template_loader( $template ) {
127
		$find = array( 'give.php' );
128
		$file = '';
129
130
		if ( is_single() && get_post_type() == 'give_forms' ) {
0 ignored issues
show
introduced by
Found "== '". Use Yoda Condition checks, you must
Loading history...
131
			$file   = 'single-give-form.php';
132
			$find[] = $file;
133
			$find[] = apply_filters( 'give_template_path', 'give/' ) . $file;
134
		}
135
136
		if ( $file ) {
137
			$template = locate_template( array_unique( $find ) );
138
			if ( ! $template ) {
139
				$template = GIVE_PLUGIN_DIR . '/templates/' . $file;
140
			}
141
		}
142
143
		return $template;
144
	}
145
146
}
147