コード例 #1
0
ファイル: functions.php プロジェクト: welearncodes/traktern
/**
 * Register theme and modules Customizer portability link.
 *
 * @since 2.7.0
 *
 * @return bool Always return true.
 */
function et_divi_customizer_link()
{
    if (is_customize_preview()) {
        echo et_core_portability_link('et_divi_mods', array('class' => 'customize-controls-close'));
    }
}
コード例 #2
0
    function et_build_epanel()
    {
        global $themename, $shortname, $options, $et_disabled_jquery;
        // load theme settings array
        et_load_core_options();
        if (isset($_GET['saved'])) {
            if ($_GET['saved']) {
                echo '<div id="message" class="updated fade"><p><strong>' . esc_html($themename) . ' ' . esc_html__('settings saved.', $themename) . '</strong></p></div>';
            }
        }
        if (isset($_GET['reset'])) {
            if ($_GET['reset']) {
                echo '<div id="message" class="updated fade"><p><strong>' . esc_html($themename) . ' ' . esc_html__('settings reset.', $themename) . '</strong></p></div>';
            }
        }
        ?>

		<div id="wrapper">
		  <div id="panel-wrap">


			<div id="epanel-top">
				<button class="save-button" id="epanel-save-top"><?php 
        esc_html_e('Save Changes', $themename);
        ?>
</button>
			</div>

			<form method="post" id="main_options_form" enctype="multipart/form-data">
				<div id="epanel-wrapper">
					<div id="epanel" class="onload">
						<div id="epanel-content-wrap">
							<div id="epanel-content">
								<div id="epanel-header">
									<h1 id="epanel-title"><?php 
        printf(esc_html__('%s Theme Options', $themename), $themename);
        ?>
</h1>

									<?php 
        global $epanelMainTabs;
        $epanelMainTabs = apply_filters('epanel_page_maintabs', $epanelMainTabs);
        ?>

									<a href="#" class="defaults-button epanel-reset" title="<?php 
        esc_attr_e('Reset to Defaults', $themename);
        ?>
"><span class="label"><?php 
        esc_html_e('Reset to Defaults', $themename);
        ?>
</span></a>
									<?php 
        echo et_core_portability_link('epanel', array('class' => 'defaults-button epanel-portability'));
        ?>
								</div>
								<ul id="epanel-mainmenu">
									<?php 
        if (in_array('general', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-general"><?php 
            esc_html_e('General', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('navigation', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-navigation"><?php 
            esc_html_e('Navigation', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('layout', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-layout"><?php 
            esc_html_e('Layout', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('ad', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-advertisements"><?php 
            esc_html_e('Ads', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('colorization', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-colorization"><?php 
            esc_html_e('Colorization', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('seo', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-seo"><?php 
            esc_html_e('SEO', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('integration', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-integration"><?php 
            esc_html_e('Integration', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        if (in_array('updates', $epanelMainTabs)) {
            ?>
										<li><a href="#wrap-updates"><?php 
            esc_html_e('Updates', $themename);
            ?>
</a></li>
									<?php 
        }
        ?>
									<?php 
        do_action('epanel_render_maintabs', $epanelMainTabs);
        ?>
								</ul><!-- end epanel mainmenu -->

								<?php 
        foreach ($options as $value) {
            if (!empty($value['depends_on'])) {
                // function defined in 'depends on' key returns false, if a setting shouldn't be displayed
                if (!call_user_func($value['depends_on'])) {
                    continue;
                }
            }
            if (!empty($value['id'])) {
                $is_new_global_setting = false;
                $global_setting_main_name = $global_setting_sub_name = '';
                if (isset($value['is_global']) && $value['is_global']) {
                    $is_new_global_setting = true;
                    $global_setting_main_name = isset($value['main_setting_name']) ? sanitize_text_field($value['main_setting_name']) : '';
                    $global_setting_sub_name = isset($value['sub_setting_name']) ? sanitize_text_field($value['sub_setting_name']) : '';
                }
            }
            if (in_array($value['type'], array('text', 'textlimit', 'textarea', 'select', 'checkboxes', 'different_checkboxes', 'colorpicker', 'textcolorpopup', 'upload', 'callback_function', 'et_color_palette', 'password'))) {
                ?>
											<div class="epanel-box">
												<div class="box-title">
													<h3><?php 
                echo esc_html($value['name']);
                ?>
</h3>
													<div class="box-descr">
														<p><?php 
                echo wp_kses($value['desc'], array('a' => array('href' => array(), 'title' => array(), 'target' => array())));
                ?>
</p>
													</div> <!-- end box-desc-content div -->
												</div> <!-- end div box-title -->

												<div class="box-content">

													<?php 
                if (in_array($value['type'], array('text', 'password'))) {
                    ?>

														<?php 
                    $et_input_value = '';
                    $et_input_value = '' != et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) ? et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) : $value['std'];
                    $et_input_value = stripslashes($et_input_value);
                    ?>

														<input name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
" type="<?php 
                    echo esc_attr($value['type']);
                    ?>
" value="<?php 
                    echo esc_attr($et_input_value);
                    ?>
" />

													<?php 
                } elseif ('textlimit' == $value['type']) {
                    ?>

														<?php 
                    $et_input_value = '';
                    $et_input_value = '' != et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) ? et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) : $value['std'];
                    $et_input_value = stripslashes($et_input_value);
                    ?>

														<input name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
" type="text" maxlength="<?php 
                    echo esc_attr($value['max']);
                    ?>
" size="<?php 
                    echo esc_attr($value['max']);
                    ?>
" value="<?php 
                    echo esc_attr($et_input_value);
                    ?>
" />

													<?php 
                } elseif ('colorpicker' == $value['type']) {
                    ?>

														<div id="colorpickerHolder"></div>

													<?php 
                } elseif ('textcolorpopup' == $value['type']) {
                    ?>

														<?php 
                    $et_input_value = '';
                    $et_input_value = '' != et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) ? et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) : $value['std'];
                    ?>

														<input name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
" class="colorpopup" type="text" value="<?php 
                    echo esc_attr($et_input_value);
                    ?>
" />

													<?php 
                } elseif ('textarea' == $value['type']) {
                    ?>

														<?php 
                    $et_textarea_value = '';
                    $et_textarea_value = '' != et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) ? et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) : $value['std'];
                    $et_textarea_value = stripslashes($et_textarea_value);
                    ?>

														<textarea name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
"><?php 
                    echo esc_textarea($et_textarea_value);
                    ?>
</textarea>

													<?php 
                } elseif ('upload' == $value['type']) {
                    ?>

													<?php 
                    $et_upload_button_data = isset($value['button_text']) ? sprintf(' data-button_text="%1$s"', esc_attr($value['button_text'])) : '';
                    ?>

														<input id="<?php 
                    echo esc_attr($value['id']);
                    ?>
" class="uploadfield" type="text" size="90" name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" value="<?php 
                    echo esc_url(et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name));
                    ?>
" />
														<div class="upload_buttons">
															<span class="upload_image_reset"><?php 
                    esc_html_e('Reset', $themename);
                    ?>
</span>
															<input class="upload_image_button" type="button"<?php 
                    echo $et_upload_button_data;
                    ?>
 value="<?php 
                    esc_attr_e('Upload', $themename);
                    ?>
" />
														</div>

														<div class="clear"></div>

													<?php 
                } elseif ('select' == $value['type']) {
                    ?>

														<select name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
">
															<?php 
                    foreach ($value['options'] as $option_key => $option) {
                        ?>
																<?php 
                        $et_select_active = '';
                        $et_use_option_values = isset($value['et_array_for']) && in_array($value['et_array_for'], array('pages', 'categories')) || isset($value['et_save_values']) && $value['et_save_values'] ? true : false;
                        $et_option_db_value = et_get_option($value['id']);
                        if ($et_use_option_values && $et_option_db_value == $option_key || stripslashes($et_option_db_value) == trim(stripslashes($option)) || !$et_option_db_value && isset($value['std']) && stripslashes($option) == stripslashes($value['std'])) {
                            $et_select_active = ' selected="selected"';
                        }
                        ?>
																<option<?php 
                        if ($et_use_option_values) {
                            echo ' value="' . esc_attr($option_key) . '"';
                        }
                        ?>
 <?php 
                        echo $et_select_active;
                        ?>
><?php 
                        echo esc_html(trim($option));
                        ?>
</option>
															<?php 
                    }
                    ?>
														</select>

													<?php 
                } elseif ('checkboxes' == $value['type']) {
                    ?>

														<?php 
                    if (empty($value['options'])) {
                        esc_html_e("You don't have pages", $themename);
                    } else {
                        $i = 1;
                        $className = 'inputs';
                        if (isset($value['excludeDefault']) && $value['excludeDefault'] == 'true') {
                            $className .= ' different';
                        }
                        foreach ($value['options'] as $option) {
                            $checked = "";
                            $class_name_last = 0 == $i % 3 ? ' last' : '';
                            if (et_get_option($value['id'])) {
                                if (in_array($option, et_get_option($value['id']))) {
                                    $checked = "checked=\"checked\"";
                                }
                            }
                            $et_checkboxes_label = $value['id'] . '-' . $option;
                            if ('custom' == $value['usefor']) {
                                $et_helper = (array) $value['helper'];
                                $et_checkboxes_value = $et_helper[$option];
                            } else {
                                if ('taxonomy_terms' == $value['usefor'] && isset($value['taxonomy_name'])) {
                                    $et_checkboxes_term = get_term_by('id', $option, $value['taxonomy_name']);
                                    $et_checkboxes_value = sanitize_text_field($et_checkboxes_term->name);
                                } else {
                                    $et_checkboxes_value = 'pages' == $value['usefor'] ? get_pagename($option) : get_categname($option);
                                }
                            }
                            ?>

																<p class="<?php 
                            echo esc_attr($className . $class_name_last);
                            ?>
">
																	<input type="checkbox" class="usual-checkbox" name="<?php 
                            echo esc_attr($value['id']);
                            ?>
[]" id="<?php 
                            echo esc_attr($et_checkboxes_label);
                            ?>
" value="<?php 
                            echo esc_attr($option);
                            ?>
" <?php 
                            echo esc_html($checked);
                            ?>
 />
																	<label for="<?php 
                            echo esc_attr($et_checkboxes_label);
                            ?>
"><?php 
                            echo esc_html($et_checkboxes_value);
                            ?>
</label>
																</p>

																<?php 
                            $i++;
                        }
                    }
                    ?>
														<br class="clearfix"/>

													<?php 
                } elseif ('different_checkboxes' == $value['type']) {
                    ?>

														<?php 
                    foreach ($value['options'] as $option) {
                        $checked = '';
                        if (et_get_option($value['id']) !== false) {
                            if (in_array($option, et_get_option($value['id']))) {
                                $checked = "checked=\"checked\"";
                            }
                        } elseif (isset($value['std'])) {
                            if (in_array($option, $value['std'])) {
                                $checked = "checked=\"checked\"";
                            }
                        }
                        ?>

															<p class="postinfo <?php 
                        echo esc_attr('postinfo-' . $option);
                        ?>
">
																<input type="checkbox" class="usual-checkbox" name="<?php 
                        echo esc_attr($value['id']);
                        ?>
[]" id="<?php 
                        echo esc_attr($value['id'] . '-' . $option);
                        ?>
" value="<?php 
                        echo esc_attr($option);
                        ?>
" <?php 
                        echo esc_html($checked);
                        ?>
 />
															</p>
														<?php 
                    }
                    ?>
														<br class="clearfix"/>

													<?php 
                } elseif ('callback_function' == $value['type']) {
                    call_user_func($value['function_name']);
                    ?>

													<?php 
                } elseif ('et_color_palette' == $value['type']) {
                    $items_amount = isset($value['items_amount']) ? $value['items_amount'] : 1;
                    $et_input_value = '' !== str_replace('|', '', et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name)) ? et_get_option($value['id'], '', '', false, $is_new_global_setting, $global_setting_main_name, $global_setting_sub_name) : $value['std'];
                    ?>
															<div class="et_pb_colorpalette_overview">
														<?php 
                    for ($colorpalette_index = 1; $colorpalette_index <= $items_amount; $colorpalette_index++) {
                        ?>
																<span class="colorpalette-item colorpalette-item-<?php 
                        echo esc_attr($colorpalette_index);
                        ?>
" data-index="<?php 
                        echo esc_attr($colorpalette_index);
                        ?>
"></span>
														<?php 
                    }
                    ?>

															</div>

														<?php 
                    for ($colorpicker_index = 1; $colorpicker_index <= $items_amount; $colorpicker_index++) {
                        ?>
																<div class="colorpalette-colorpicker" data-index="<?php 
                        echo esc_attr($colorpicker_index);
                        ?>
">
																	<input data-index="<?php 
                        echo esc_attr($colorpicker_index);
                        ?>
" type="text" class="input-colorpalette-colorpicker" data-alpha="true" />
																</div>
														<?php 
                    }
                    ?>

														<input name="<?php 
                    echo esc_attr($value['id']);
                    ?>
" id="<?php 
                    echo esc_attr($value['id']);
                    ?>
" class="et_color_palette_main_input" type="hidden" value="<?php 
                    echo esc_attr($et_input_value);
                    ?>
" />

													<?php 
                }
                ?>

												</div> <!-- end box-content div -->
												<span class="box-description"></span>
											</div> <!-- end epanel-box div -->

									<?php 
            } elseif ('checkbox' == $value['type'] || 'checkbox2' == $value['type']) {
                ?>
										<?php 
                $et_box_class = 'checkbox' == $value['type'] ? 'epanel-box-small-1' : 'epanel-box-small-2';
                ?>
										<div class="<?php 
                echo esc_attr('epanel-box ' . $et_box_class);
                ?>
">
											<div class="box-title"><h3><?php 
                echo esc_html($value['name']);
                ?>
</h3>
												<div class="box-descr">
													<p><?php 
                echo wp_kses($value['desc'], array('a' => array('href' => array(), 'title' => array(), 'target' => array())));
                ?>
</p>
												</div> <!-- end box-desc-content div -->
											</div> <!-- end div box-title -->
											<div class="box-content">
												<?php 
                $checked = '';
                if ('' != et_get_option($value['id'])) {
                    if ('on' == et_get_option($value['id'])) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                } else {
                    if ('on' == $value['std']) {
                        $checked = 'checked="checked"';
                    }
                }
                ?>
												<input type="checkbox" class="checkbox yes_no_button" name="<?php 
                echo esc_attr($value['id']);
                ?>
" id="<?php 
                echo esc_attr($value['id']);
                ?>
" <?php 
                echo $checked;
                ?>
 />

											</div> <!-- end box-content div -->
											<span class="box-description"></span>
										</div> <!-- end epanel-box-small div -->

									<?php 
            } elseif ('support' == $value['type']) {
                ?>

										<div class="inner-content">
											<?php 
                include get_template_directory() . "/includes/functions/" . $value['name'] . ".php";
                ?>
										</div>

									<?php 
            } elseif ('contenttab-wrapstart' == $value['type'] || 'subcontent-start' == $value['type']) {
                ?>

										<?php 
                $et_contenttab_class = 'contenttab-wrapstart' == $value['type'] ? 'content-div' : 'tab-content';
                ?>

										<div id="<?php 
                echo esc_attr($value['name']);
                ?>
" class="<?php 
                echo esc_attr($et_contenttab_class);
                ?>
">

									<?php 
            } elseif ('contenttab-wrapend' == $value['type'] || 'subcontent-end' == $value['type']) {
                ?>

										</div> <!-- end <?php 
                echo esc_html($value['name']);
                ?>
 div -->

									<?php 
            } elseif ('subnavtab-start' == $value['type']) {
                ?>

										<ul class="idTabs">

									<?php 
            } elseif ('subnavtab-end' == $value['type']) {
                ?>

										</ul>

									<?php 
            } elseif ('subnav-tab' == $value['type']) {
                ?>

										<li><a href="#<?php 
                echo esc_attr($value['name']);
                ?>
"><span class="pngfix"><?php 
                echo esc_html($value['desc']);
                ?>
</span></a></li>

									<?php 
            } elseif ($value['type'] == "clearfix") {
                ?>

										<div class="clearfix"></div>

									<?php 
            }
            ?>

								<?php 
        }
        //end foreach ($options as $value)
        ?>

							</div> <!-- end epanel-content div -->
						</div> <!-- end epanel-content-wrap div -->
					</div> <!-- end epanel div -->
				</div> <!-- end epanel-wrapper div -->

				<div id="epanel-bottom">
					<?php 
        wp_nonce_field('epanel_nonce');
        ?>
					<button class="save-button" name="save" id="epanel-save"><?php 
        esc_html_e('Save Changes', $themename);
        ?>
</button>

					<input type="hidden" name="action" value="save_epanel" />
				</div><!-- end epanel-bottom div -->

			</form>

			<div class="reset-popup-overlay">
				<div class="defaults-hover">
					<div class="reset-popup-header"><?php 
        esc_html_e('Reset', $themename);
        ?>
</div>
					<?php 
        _e(et_get_safe_localization('This will return all of the settings throughout the options page to their default values. <strong>Are you sure you want to do this?</strong>'), $themename);
        ?>
					<div class="clearfix"></div>
					<form method="post">
						<?php 
        wp_nonce_field('et-nojs-reset_epanel', '_wpnonce_reset');
        ?>
						<input name="reset" type="submit" value="<?php 
        esc_attr_e('Yes', $themename);
        ?>
" id="epanel-reset" />
						<input type="hidden" name="action" value="reset" />
					</form>
					<span class="no"><?php 
        esc_html_e('No', $themename);
        ?>
</span>
				</div>
			</div>

			</div> <!-- end panel-wrap div -->
		</div> <!-- end wrapper div -->

		<div id="epanel-ajax-saving">
			<img src="<?php 
        echo esc_url(get_template_directory_uri() . '/includes/builder/images/ajax-loader.gif');
        ?>
" alt="loading" id="loading" />
		</div>

		<script type="text/template" id="epanel-yes-no-button-template">
		<div class="et_pb_yes_no_button_wrapper">
			<div class="et_pb_yes_no_button"><!-- .et_pb_on_state || .et_pb_off_state -->
				<span class="et_pb_value_text et_pb_on_value"><?php 
        esc_html_e('Enable', $themename);
        ?>
</span>
				<span class="et_pb_button_slider"></span>
				<span class="et_pb_value_text et_pb_off_value"><?php 
        esc_html_e('Disable', $themename);
        ?>
</span>
			</div>
		</div>
		</script>

		<style type="text/css">
			#epanel p.postinfo-author .mark:after {
				content: '<?php 
        esc_html_e("Author", $themename);
        ?>
';
			}

			#epanel p.postinfo-date .mark:after {
				content: '<?php 
        esc_html_e("Date", $themename);
        ?>
';
			}

			#epanel p.postinfo-categories .mark:after {
				content: '<?php 
        esc_html_e("Categories", $themename);
        ?>
';
			}

			#epanel p.postinfo-comments .mark:after {
				content: '<?php 
        esc_html_e("Comments", $themename);
        ?>
';
			}
		</style>

	<?php 
    }
コード例 #3
0
ファイル: functions.php プロジェクト: smoobs/gft
/**
 *
 * Prints the admin page for Role Editor
 *
 */
function et_pb_display_role_editor()
{
    $all_role_options = et_pb_all_role_options();
    $option_tabs = '';
    $menu_tabs = '';
    // get all roles registered in current WP
    if (!function_exists('get_editable_roles')) {
        require_once ABSPATH . '/wp-admin/includes/user.php';
    }
    $all_roles = get_editable_roles();
    $builder_roles_array = array();
    if (!empty($all_roles)) {
        foreach ($all_roles as $role => $role_data) {
            // add roles with edit_posts capability into $builder_roles_array
            if (!empty($role_data['capabilities']['edit_posts']) && 1 === (int) $role_data['capabilities']['edit_posts']) {
                $builder_roles_array[$role] = $role_data['name'];
            }
        }
    }
    // fill the builder roles array with default roles if it's empty
    if (empty($builder_roles_array)) {
        $builder_roles_array = array('administrator' => esc_html__('Administrator', 'et_builder'), 'editor' => esc_html__('Editor', 'et_builder'), 'author' => esc_html__('Author', 'et_builder'), 'contributor' => esc_html__('Contributor', 'et_builder'));
    }
    foreach ($builder_roles_array as $role => $role_title) {
        $option_tabs .= et_pb_generate_roles_tab($all_role_options, $role);
        $menu_tabs .= sprintf('<a href="#" class="et-pb-layout-buttons%4$s" data-open_tab="et_pb_role-%3$s_options" title="%1$s">
				<span>%2$s</span>
			</a>', esc_attr($role_title), esc_html($role_title), esc_attr($role), 'administrator' === $role ? ' et_pb_roles_active_menu' : '');
    }
    printf('<div class="et_pb_roles_main_container">
			<a href="#" id="et_pb_save_roles" class="button button-primary button-large">%3$s</a>
			<h3 class="et_pb_roles_title"><span>%2$s</span></h3>
			<div id="et_pb_main_container" class="post-type-page">
				<div id="et_pb_layout_controls">
					%1$s
					<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-reset" title="Reset all settings">
						<span class="icon"></span><span class="label">Reset</span>
					</a>
					%4$s
				</div>
			</div>
			<div class="et_pb_roles_container_all">
				%5$s
			</div>
		</div>', $menu_tabs, esc_html__('Divi Role Editor', 'et_builder'), esc_html__('Save Divi Roles', 'et_builder'), et_core_portability_link('et_pb_roles', array('class' => 'et-pb-layout-buttons et-pb-portability-button')), $option_tabs);
}