PHP 8.2.31
Preview: support.testimonials.php Size: 4.70 KB
/proc/self/root/home/nshryvcy/taramarriagebureau.com/wp-content/themes/planmyday/plugins/support.testimonials.php

<?php
/**
 * Planmyday Framework: Testimonial support
 *
 * @package	planmyday
 * @since	planmyday 1.0
 */

// Theme init
if (!function_exists('planmyday_testimonial_theme_setup')) {
	add_action( 'planmyday_action_before_init_theme', 'planmyday_testimonial_theme_setup', 1 );
	function planmyday_testimonial_theme_setup() {
	
		// Add item in the admin menu
		add_action('trx_utils_filter_override_options',		'planmyday_testimonial_add_override_options');

		// Save data from override options
		add_action('save_post',				'planmyday_testimonial_save_data');

		// Options fields
		planmyday_storage_set('testimonial_override_options', array(
			'id' => 'testimonial-override-options',
			'title' => esc_html__('Testimonial Details', 'planmyday'),
			'page' => 'testimonial',
			'context' => 'normal',
			'priority' => 'high',
			'fields' => array(
				"testimonial_author" => array(
					"title" => esc_html__('Testimonial author',  'planmyday'),
					"desc" => wp_kses_data( __("Name of the testimonial's author", 'planmyday') ),
					"class" => "testimonial_author",
					"std" => "",
					"type" => "text"),
				"testimonial_position" => array(
					"title" => esc_html__("Author's position",  'planmyday'),
					"desc" => wp_kses_data( __("Position of the testimonial's author", 'planmyday') ),
					"class" => "testimonial_author",
					"std" => "",
					"type" => "text"),
				"testimonial_email" => array(
					"title" => esc_html__("Author's e-mail",  'planmyday'),
					"desc" => wp_kses_data( __("E-mail of the testimonial's author - need to take Gravatar (if registered)", 'planmyday') ),
					"class" => "testimonial_email",
					"std" => "",
					"type" => "text"),
				"testimonial_link" => array(
					"title" => esc_html__('Testimonial link',  'planmyday'),
					"desc" => wp_kses_data( __("URL of the testimonial source or author profile page", 'planmyday') ),
					"class" => "testimonial_link",
					"std" => "",
					"type" => "text")
				)
			)
		);
		
		// Add supported data types
		planmyday_theme_support_pt('testimonial');
		planmyday_theme_support_tx('testimonial_group');
		
	}
}



// Add override options
if (!function_exists('planmyday_testimonial_add_override_options')) {
    //Handler of add_action('trx_utils_filter_override_options', 'planmyday_testimonial_add_override_options');
    function planmyday_testimonial_add_override_options($boxes = array()) {
        $boxes[] = array_merge(planmyday_storage_get('testimonial_override_options'), array('callback' => 'planmyday_testimonial_show_override_options'));
        return $boxes;
    }
}


// Callback function to show fields in override options
if (!function_exists('planmyday_testimonial_show_override_options')) {
	function planmyday_testimonial_show_override_options() {
		global $post;

		// Use nonce for verification
		echo '<input type="hidden" name="override_options_testimonial_nonce" value="'.esc_attr(wp_create_nonce(admin_url())).'" />';
		
		$data = get_post_meta($post->ID, planmyday_storage_get('options_prefix').'_testimonial_data', true);
	
		$fields = planmyday_storage_get_array('testimonial_override_options', 'fields');
		?>
		<table class="testimonial_area">
		<?php
		if (is_array($fields) && count($fields) > 0) {
			foreach ($fields as $id=>$field) { 
				$meta = isset($data[$id]) ? $data[$id] : '';
				?>
				<tr class="testimonial_field <?php echo esc_attr($field['class']); ?>" valign="top">
					<td><label for="<?php echo esc_attr($id); ?>"><?php echo esc_htnl($field['title']); ?></label></td>
					<td><input type="text" name="<?php echo esc_attr($id); ?>" id="<?php echo esc_attr($id); ?>" value="<?php echo esc_attr($meta); ?>" size="30" />
						<br><small><?php echo esc_html($field['desc']); ?></small></td>
				</tr>
				<?php
			}
		}
		?>
		</table>
		<?php
	}
}


// Save data from override options
if (!function_exists('planmyday_testimonial_save_data')) {
	//Handler of add_action('save_post', 'planmyday_testimonial_save_data');
	function planmyday_testimonial_save_data($post_id) {
		// verify nonce
		if ( !wp_verify_nonce( planmyday_get_value_gp('override_options_testimonial_nonce'), admin_url() ) )
			return $post_id;

		// check autosave
		if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
			return $post_id;
		}

		// check permissions
		if ($_POST['post_type']!='testimonial' || !current_user_can('edit_post', $post_id)) {
			return $post_id;
		}

		$data = array();

		$fields = planmyday_storage_get_array('testimonial_override_options', 'fields');

		// Post type specific data handling
		if (is_array($fields) && count($fields) > 0) {
			foreach ($fields as $id=>$field) { 
				if (isset($_POST[$id])) 
					$data[$id] = stripslashes($_POST[$id]);
			}
		}

		update_post_meta($post_id, planmyday_storage_get('options_prefix').'_testimonial_data', $data);
	}
}
?>

Directory Contents

Dirs: 1 × Files: 18

Name Size Perms Modified Actions
install DIR
- drwxr-xr-x 2025-04-30 03:18:25
Edit Download
1.94 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.29 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.33 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.36 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.36 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.19 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.38 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.73 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.16 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
4.28 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.43 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.38 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
2.15 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
32.03 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
1.44 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
7.73 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
14.12 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download
4.70 KB lrw-r--r-- 2025-04-30 03:18:25
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).