wp/wp-content/themes/themeforest-2964855-scrn-responsive-single-page-portfolio/SCRN/includes/additional_functions.php
author ymh <ymh.work@gmail.com>
Mon, 14 Oct 2019 17:39:30 +0200
changeset 7 cf61fcea0001
parent 0 d970ebf37754
permissions -rwxr-xr-x
resynchronize code repo with production
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
add_action( 'admin_init', 'vp_meta_boxes');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
function vp_meta_boxes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
	add_meta_box('vp_post_meta', 'SCRN Options', 'vp_post_meta', 'page', 'normal', 'high');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	add_meta_box('vp_pagetemplates_meta', 'Page Template Settings', 'vp_pagetemplates_meta', 'page', 'side');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
function vp_post_meta() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	$temp = maybe_unserialize(get_post_meta($post->ID,'vp_settings',true));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
	$background = isset($temp['background']) ? $temp['background'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	$background_color = isset($temp['background_color']) ? $temp['background_color'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	$slogan = isset($temp['slogan']) ? $temp['slogan'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	$slogan_bg = isset($temp['slogan_bg']) ? $temp['slogan_bg'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	$variation = isset($temp['variation']) ? $temp['variation'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
	<div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		<div style="margin: 15px 0px 15px 4px" class="vp_bg">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
			<label style="font-weight: bold" for="vp_background">Background style:</label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
			<select name="vp_bg_style" class="vp_bg_style">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
				<option value="1" <?php if($variation == '1' || !isset($variation) || $variation == '') echo 'selected="selected"';?>>White</option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
				<option value="2" <?php if($variation == '2') echo 'selected="selected"';?>>Dark</option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
				<option value="3" <?php if($variation == '3') echo 'selected="selected"';?>>Custom (defined below)</option>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
			</select>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		<div style="margin: 15px 0px 15px 4px" class="vp_custom_bg">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
			<label style="font-weight: bold" for="vp_background">Background image URL:</label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
			<input type="text" name="vp_background" id="vp_background" value="<?php echo $background;?>" style="width: 40em" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
		<div style="margin: 15px 0px 15px 4px" class="vp_custom_bg">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			<label style="font-weight: bold" for="vp_background_color">Background image color:</label>(use just the hex code, skip the "#" character. Will use just a color and not an image) <br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
			<input type="text" name="vp_background_color" id="vp_background_color" value="<?php echo $background_color;?>" style="width: 40em" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
		<div style="margin: 15px 0px 15px 4px">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
			<label style="font-weight: bold" for="vp_slogan">Slogan text:</label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
			<input type="text" name="vp_slogan" id="vp_slogan" value="<?php echo $slogan;?>" style="width: 40em" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		<div style="margin: 15px 0px 15px 4px">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
			<label style="font-weight: bold" for="vp_sloganbg">Slogan background image url:</label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
			<input type="text" name="vp_sloganbg" id="vp_sloganbg" value="<?php echo $slogan_bg;?>" style="width: 40em" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
	</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
	<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
			jQuery(document).ready(function() {	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
				var $bg_style = jQuery("select.vp_bg_style");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
				$bg_style.on("change", function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
					var val = jQuery(this).val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
					if(val == 3) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
						jQuery(".vp_custom_bg").show(400);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
					else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
						jQuery(".vp_custom_bg").hide(400);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
						jQuery(".vp_background").val("");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
						jQuery(".vp_background_color").val("");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
				$bg_style.trigger('change');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
<?php 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
add_action('save_post', 'vp_save_metadata', 10, 2);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
function vp_save_metadata($post_id, $post) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
	// verify if this is an auto save routine. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    // If it is our form has not been submitted, so we dont want to do anything
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
   		 return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
   	// Check permissions
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
    if ( 'page' == $post->post_type ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
    {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
 	   if ( !current_user_can( 'edit_page', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
       		 return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
 	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
  	else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
  	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
    	if ( !current_user_can( 'edit_post', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        	return;	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
    $temp['background'] = isset($_POST['vp_background']) ? esc_attr($_POST['vp_background']) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
    $temp['background_color'] = isset($_POST['vp_background_color']) ? esc_attr($_POST['vp_background_color']) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
    $temp['slogan'] = isset($_POST['vp_slogan']) ? $_POST['vp_slogan'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
    $temp['slogan_bg'] = isset($_POST['vp_sloganbg']) ? esc_attr($_POST['vp_sloganbg']) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
    $temp['variation'] = isset($_POST['vp_bg_style']) ? esc_attr($_POST['vp_bg_style']) : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
    update_post_meta($post_id, 'vp_settings', $temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
//*********** Page Templates Area **************
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
function vp_pagetemplates_meta() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
	global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	$temp = maybe_unserialize(get_post_meta($post->ID,'vp_ptemplate_settings',true));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
	$categories = isset($temp['categories']) ? $temp['categories'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
	$blog_posts = isset($temp['blog_posts']) ? $temp['blog_posts'] : '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
		Here you'll see some page template options(just for the theme specific page templates)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		<div style="margin: 15px 0px 15px 0px; display: none" class="blog">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
			<h4>Select categories to include: </h4>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
					
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
			<?php $cats_array = get_categories('hide_empty=0');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
			foreach ($cats_array as $cat) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
				$checked = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
				if (!empty($categories)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
					if (in_array($cat->cat_ID, $categories)) $checked = "checked=\"checked\"";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
				} ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
				<label style="padding-bottom: 5px; display: block" for="<?php echo 'cat-' . $cat->cat_ID; ?>">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
					<input type="checkbox" name="vp_categories[]" id="<?php echo 'cat-' . $cat->cat_ID; ?>" value="<?php echo $cat->cat_ID; ?>" <?php echo $checked; ?> />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
					<?php echo $cat->cat_name; ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
				</label>							
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
			<?php } ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
		<div style="margin: 15px 0px 15px 0px; display: none" class="blog">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
			<label style="font-weight: bold" for="vp_blogposts">Number of blog posts per page:</label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
			<input size="2" type="text" name="vp_blogposts" id="vp_blogposts" value="<?php if($blog_posts == '') echo '6'; else echo $blog_posts;?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
		</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
		<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
			jQuery(document).ready(function() {	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
				var page_template = jQuery('select#page_template'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
					page_template_div = jQuery('#vp_pagetemplates_meta');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
				page_template.on('change', function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
					page_template_div.find('.inside > div').css('display','none');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
					var ptval = jQuery(this).val();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
					if(ptval === "page-template-blog.php")
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
						jQuery("div.blog").show(400);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
				});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
				page_template.trigger('change');				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
		</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
<?php 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
add_action('save_post', 'vp_save_ptemplate_settings', 10, 2);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
function vp_save_ptemplate_settings($post_id, $post) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
	// verify if this is an auto save routine. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
    // If it is our form has not been submitted, so we dont want to do anything
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
   		 return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
   	// Check permissions
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
    if ( 'page' == $post->post_type )  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
    {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
 	   if ( !current_user_can( 'edit_page', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
       		 return;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
 	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
  	else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
  	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
    	if ( !current_user_can( 'edit_post', $post_id ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
        	return;	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
    $temp = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
    if(isset($_POST['vp_categories']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
    {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
    		$temp['categories'] = (array)$_POST['vp_categories'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
    else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    	$temp['categories'] = '';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
    if(isset($_POST['vp_blogposts']) != '' && is_numeric($_POST['vp_blogposts']) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
    	$temp['blog_posts'] = (int)$_POST['vp_blogposts'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
    else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
    	$temp['blog_posts'] = 6; 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
    update_post_meta($post_id, 'vp_ptemplate_settings', $temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
?>