wp/wp-content/plugins/portfolio/portfolio.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
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
/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
Plugin Name: Portfolio
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
Plugin URI:  http://bestwebsoft.com/plugin/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
Description: Plugin for portfolio.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
Author: BestWebSoft
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
Version: 2.20
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
Author URI: http://bestwebsoft.com/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
License: GPLv2 or later
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
/*  Copyright 2011  BestWebSoft  ( http://support.bestwebsoft.com )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    This program is free software; you can redistribute it and/or modify
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    it under the terms of the GNU General Public License, version 2, as 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    published by the Free Software Foundation.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    This program is distributed in the hope that it will be useful,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    but WITHOUT ANY WARRANTY; without even the implied warranty of
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    GNU General Public License for more details.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    You should have received a copy of the GNU General Public License
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    along with this program; if not, write to the Free Software
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
$prtfl_boxes = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
if ( ! function_exists( 'prtfl_plugin_install' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	function prtfl_plugin_install() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
		$filename_1 = WP_PLUGIN_DIR .'/portfolio/template/portfolio.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
		$filename_2 = WP_PLUGIN_DIR .'/portfolio/template/portfolio-post.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		$filename_theme_1 = get_stylesheet_directory() .'/portfolio.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
		$filename_theme_2 = get_stylesheet_directory() .'/portfolio-post.php';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		if ( ! file_exists( $filename_theme_1 ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
			$handle = @fopen( $filename_1, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
			$contents = @fread( $handle, filesize( $filename_1 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
			if ( ! ( $handle = @fopen( $filename_theme_1, 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
			chmod( $filename_theme_1, octdec(755) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
			$handle = @fopen( $filename_theme_1, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
			$contents = @fread( $handle, filesize( $filename_theme_1 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
			if ( ! ( $handle = @fopen( $filename_theme_1.'.bak', 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
			$handle = @fopen( $filename_1, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
			$contents = @fread( $handle, filesize( $filename_1 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
			if ( ! ( $handle = @fopen( $filename_theme_1, 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
			chmod( $filename_theme_1, octdec(755) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		if ( ! file_exists( $filename_theme_2 ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
			$handle = @fopen( $filename_2, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
			$contents = @fread( $handle, filesize( $filename_2 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			if ( ! ( $handle = @fopen( $filename_theme_2, 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
			chmod( $filename_theme_2, octdec(755) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			$handle = @fopen( $filename_theme_2, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			$contents = @fread( $handle, filesize( $filename_theme_2 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
			if ( ! ( $handle = @fopen( $filename_theme_2.'.bak', 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			$handle = @fopen( $filename_2, "r" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
			$contents = @fread( $handle, filesize( $filename_2 ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
			if ( ! ( $handle = @fopen( $filename_theme_2, 'w' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
			@fwrite( $handle, $contents );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
			@fclose( $handle );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
			chmod( $filename_theme_2, octdec(755) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
if ( ! function_exists( 'prtfl_admin_error' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
	function prtfl_admin_error() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
		$post = isset( $_REQUEST['post'] ) ? $_REQUEST['post'] : "" ;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
		$post_type = isset( $_REQUEST['post_type'] ) ? $_REQUEST['post_type'] : "" ;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
		if ( ( 'portfolio' == get_post_type( $post )  || 'portfolio' == $post_type ) && ( ! file_exists( get_stylesheet_directory() .'/portfolio.php' ) || ! file_exists( get_stylesheet_directory() .'/portfolio-post.php' ) ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
			echo '<div class="error"><p><strong>'.__( 'The files "portfolio.php" and "portfolio-post.php" are not found in your theme directory. Please copy them from the directory `wp-content/plugins/portfolio/template/` to your theme directory for correct work of the Portfolio plugin', 'portfolio' ).'</strong></p></div>';	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
if ( ! function_exists( 'prtfl_plugin_uninstall' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	function prtfl_plugin_uninstall() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		if ( file_exists( get_stylesheet_directory() .'/portfolio.php' ) && ! unlink(get_stylesheet_directory() .'/portfolio.php') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
			add_action( 'admin_notices', create_function( '', ' return "Error delete template file";' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
		if ( file_exists( get_stylesheet_directory() .'/portfolio-post.php' ) && ! unlink(get_stylesheet_directory() .'/portfolio-post.php') ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
			add_action( 'admin_notices', create_function( '', ' return "Error delete template file";' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
		if( get_option( 'prtfl_postmeta_update' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
			delete_option( 'prtfl_postmeta_update' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
		if( get_option( 'prtfl_tag_update' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
			delete_option( 'prtfl_tag_update' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
		if( get_option( 'prtfl_options' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
			delete_option( 'prtfl_options' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
		}		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
if ( ! function_exists ( 'prtfl_plugin_init' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
	function prtfl_plugin_init() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
		// Internationalization, first(!)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		load_plugin_textdomain( 'portfolio', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
		load_plugin_textdomain( 'bestwebsoft', false, dirname( plugin_basename( __FILE__ ) ) . '/bws_menu/languages/' ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
		global $prtfl_boxes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
		$prtfl_boxes['Portfolio-Info'] = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
			array( '_prtfl_short_descr', __( 'Short description', 'portfolio' ), __( 'A short description which you\'d like to be displayed on your portfolio page', 'portfolio' ), '', '' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
			array( '_prtfl_date_compl', __( 'Date of completion', 'portfolio' ), __( 'The date when the task was completed', 'portfolio' ), '', '' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
			array( '_prtfl_link', __( 'Link', 'portfolio' ), __( 'A link to the site', 'portfolio' ), '', '' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
			array( '_prtfl_svn', __( 'SVN', 'portfolio' ), __( 'SVN URL', 'portfolio' ), '', '' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
// Create post type for portfolio
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
if ( ! function_exists( 'prtfl_post_type_portfolio' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
	function prtfl_post_type_portfolio() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
		global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
		prtfl_replace_old_post_tag();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
		$options = get_site_option( 'prtfl_options' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
		$slug = isset( $options['prtfl_slug'] ) && ! empty( $options['prtfl_slug'] ) ? $options['prtfl_slug'] : 'portfolio';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
		register_post_type( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
			'portfolio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
			array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
				'labels' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
					'name' => __( 'Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
					'singular_name' 	=> __( 'Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
					'add_new'			=> __( 'Add New', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
					'add_new_item'		=> __( 'Add New Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
					'edit'				=> __( 'Edit', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
					'edit_item'			=> __( 'Edit Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
					'new_item'			=> __( 'New Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
					'view'				=> __( 'View Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
					'view_item'			=> __( 'View Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
					'search_items'		=> __( 'Search Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
					'not_found'			=> __( 'No portfolio found', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
					'not_found_in_trash' => __( 'No portfolio found in Trash', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
					'parent'			=> __( 'Parent Portfolio', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
				),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
				'description' => __( 'Create a portfolio item', 'portfolio' ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
				'public'	=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
				'show_ui' => true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
				'publicly_queryable'	=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
				'exclude_from_search' => true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
				'menu_position' => 6,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
				'hierarchical'	=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
				'query_var'			=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
				'register_meta_box_cb' => 'prtfl_init_metaboxes',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
				'rewrite'		=> array( 'slug' => $slug ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
				'supports' => array (
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
					'title', //Text input field to create a post title.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
					'editor',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
					'custom-fields',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
					'comments', //Ability to turn on/off comments.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
					'thumbnail', //Displays a box for featured image.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
					'author' 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
				)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
			)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
// Create taxonomy for portfolio - Technologies and Executors Profile
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
if ( ! function_exists( 'prtfl_taxonomy_portfolio' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
	function prtfl_taxonomy_portfolio() {		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
		register_taxonomy(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
			'portfolio_executor_profile',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
			'portfolio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
			array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
				'hierarchical' => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
				'update_count_callback' => '_update_post_term_count',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
				'labels' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
					'name'						=> __( 'Executor Profiles', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
					'singular_name'				=> __( 'Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
					'search_items'				=> __( 'Search Executor Profiles', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
					'popular_items'				=> __( 'Popular Executor Profiles', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
					'all_items'					=> __( 'All Executor Profiles', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
					'parent_item'				=> __( 'Parent Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
					'parent_item_colon'			=> __( 'Parent Executor Profile:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
					'edit_item'					=> __( 'Edit Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
					'update_item'				=> __( 'Update Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
					'add_new_item'				=> __( 'Add New Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
					'new_item_name'				=> __( 'New Executor Name', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
					'separate_items_with_commas' => __( 'Separate Executor Profiles with commas', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
					'add_or_remove_items'		=> __( 'Add or remove Executor Profile', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
					'choose_from_most_used'		=> __( 'Choose from the most used Executor Profiles', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
					'menu_name'					=> __( 'Executors', 'portfolio' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
				),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
				'sort'					=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
				'args'					=> array( 'orderby' => 'term_order' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
				'rewrite'				=> array( 'slug' => 'executor_profile' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
				'show_tagcloud' => false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
			)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
		register_taxonomy( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
			'portfolio_technologies', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			'portfolio', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
			array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
				'hierarchical' => false,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
				'update_count_callback' => '_update_post_term_count',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
				'labels' => array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
					'name'						=> __( 'Technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
					'singular_name'				=> __( 'Technology', 'portfolio'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
					'search_items'				=> __( 'Search Technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
					'popular_items'				=> __( 'Popular Technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
					'all_items'					=> __( 'All Technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
					'parent_item'				=> __( 'Parent Technology', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
					'parent_item_colon'			=> __( 'Parent Technology:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
					'edit_item'					=> __( 'Edit Technology', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
					'update_item'				=> __( 'Update Technology', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
					'add_new_item'				=> __( 'Add New Technology', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
					'new_item_name'				=> __( 'New Technology Name', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
					'separate_items_with_commas' => __( 'Separate Technologies with commas', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
					'add_or_remove_items' 		=> __( 'Add or remove Technology', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
					'choose_from_most_used' 	=> __( 'Choose from the most used technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
					'menu_name'					=> __( 'Technologies', 'portfolio' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
				),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
				'query_var' => 'technologies',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
				'rewrite'		=> array( 'slug' => 'technologies' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
				'public'		=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
				'show_ui'		=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
				'_builtin'	=> true,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
				'show_tagcloud' => false
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
			) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
if ( ! function_exists( 'prtfl_technologies_get_posts' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
	function prtfl_technologies_get_posts( $query ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
		if ( isset( $query->query_vars["technologies"] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
			$query->set( 'post_type', array( 'portfolio' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
		return $query;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
if ( ! function_exists( 'prtfl_register_widget' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
	function prtfl_register_widget() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
		$control_ops = array('width' => 200, 'height' => 200, 'id_base' => 'portfolio_technologies_widget');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
		wp_register_sidebar_widget(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
			'portfolio_technologies_widget', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
			__( 'Technologies', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
			'prtfl_widget_display',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
			array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
					'description' => __( 'Your most used portfolio technologies as a tag cloud', 'portfolio' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
			)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
		wp_register_widget_control(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
			'portfolio_technologies_widget', // your unique widget id
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
			__( 'Technologies', 'portfolio' ), // widget name
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
			'prtfl_widget_display_control', // Callback function
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
			$control_ops, 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
			array( 'number' => 1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
if ( ! function_exists( 'prtfl_widget_display' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
	function prtfl_widget_display( $args, $vars = array() ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		 // print some HTML for the widget to display here
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
		extract( $args);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
		$options = get_option( 'widget-portfolio_technologies_widget' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
		if ( !empty( $options[1]['title'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
			$title = $options[1]['title'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
			$title = $widget_name;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
		$title = apply_filters( 'widget_title', $title, '', 'portfolio_technologies_widget' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
		echo $before_widget;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
		if ( $title )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
			echo $before_title . $title . $after_title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
		echo '<div class="tagcloud">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
		wp_tag_cloud( apply_filters( 'widget_tag_cloud_args', array( 'taxonomy' => 'portfolio_technologies', 'number'=>0 ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
		echo "</div>\n";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
		echo $after_widget;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
if ( ! function_exists( 'prtfl_widget_display_control' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
	function prtfl_widget_display_control( $args ) { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
		$options = get_option( 'widget-portfolio_technologies_widget' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
		if ( empty( $options ) ) $options = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
		if ( isset( $options[0] ) ) unset( $options[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
	 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
		// update options array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
		if ( ! empty( $_POST['widget-portfolio_technologies_widget'] ) && is_array( $_POST ) ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
			foreach( $_POST['widget-portfolio_technologies_widget'] as $widget_number => $values ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
				if ( empty( $values ) && isset( $options[$widget_number] ) ) // user clicked cancel
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
					continue;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
	 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
				if ( ! isset( $options[$widget_number] ) && $args['number'] == -1 ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
					$args['number'] = $widget_number;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
				$options[$widget_number] = $values;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
			}		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
			// clear unused options and update options in DB. return actual options array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
			$options = prtfl_widget_portfolio_technologies_update( 'widget-portfolio_technologies_widget', $options, $_POST['widget-portfolio_technologies_widget'], $_POST['sidebar'], 'widget-portfolio_technologies_widget' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
		}	 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
		// $number - is dynamic number for multi widget, gived by WP
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
		// by default $number = -1 (if no widgets activated). In this case we should use %i% for inputs
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
		//   to allow WP generate number automatically
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
		$number = ( $args['number'] == -1)? '%i%' : $args['number'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
	 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
		// now we can output control
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
		$title = $options[$number]['title'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
	?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
		<p><label for="widget-portfolio_technologies_widget-<?php echo $number; ?>-title"><?php _e( 'Title', 'portfolio' ); ?>:</label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
		<input type="text" value="<?php echo $title; ?>" name="widget-portfolio_technologies_widget[<?php echo $number; ?>][title]" id="widget-portfolio_technologies_widget-<?php echo $number; ?>-title" class="widefat"></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
	<?php 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
if( ! function_exists( 'prtfl_widget_portfolio_technologies_update' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
	function prtfl_widget_portfolio_technologies_update( $id_prefix, $options, $post, $sidebar, $option_name = '' ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
		global $wp_registered_widgets;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
		static $updated = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
		// get active sidebar
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
		$sidebars_widgets = wp_get_sidebars_widgets();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
		if ( isset( $sidebars_widgets[$sidebar]) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
			$this_sidebar =& $sidebars_widgets[$sidebar];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
			$this_sidebar = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
		// search unused options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
		foreach ( $this_sidebar as $_widget_id ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
			if( preg_match( '/' . $id_prefix . '-([0-9]+)/i', $_widget_id, $match ) ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
				$widget_number = $match[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
				// $_POST['widget-id'] contain current widgets set for current sidebar
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
				// $this_sidebar is not updated yet, so we can determine which was deleted
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
				if ( ! in_array( $match[0], $_POST['widget-id'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
					unset( $options[$widget_number] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
		} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
		// update database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
		if ( ! empty( $option_name ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
			update_option( $option_name, $options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
			$updated = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
		} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
		// return updated array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
		return $options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
// Create custom permalinks for portfolio post type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
if ( ! function_exists( 'prtfl_custom_permalinks' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
	function prtfl_custom_permalinks( $rules ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
	 	$newrules = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
			$newrules['portfolio/page/([^/]+)/?$'] = 'index.php?pagename=portfolio&paged=$matches[1]';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
			$newrules['portfolio/page/([^/]+)?$'] = 'index.php?pagename=portfolio&paged=$matches[1]';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
		// return $newrules + $rules;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
		if ( $rules ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
			return array_merge( $newrules, $rules );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
		}	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
// flush_rules() if our rules are not yet included
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
if ( ! function_exists( 'prtfl_flush_rules' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
	function prtfl_flush_rules(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
		$rules = get_option( 'rewrite_rules' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
		if ( ! isset( $rules['portfolio/page/([^/]+)/?$'] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
			global $wp_rewrite;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
			$wp_rewrite->flush_rules();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
// Initialization of all metaboxes on the 'Add Portfolio' and Edit Portfolio pages
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
if ( ! function_exists( 'prtfl_init_metaboxes' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
	function prtfl_init_metaboxes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
		add_meta_box( 'Portfolio-Info', __( 'Portfolio Info', 'portfolio' ), 'prtfl_post_custom_box', 'portfolio', 'normal', 'high' ); // Description metaboxe
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
// Create custom meta box for portfolio post type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
if ( ! function_exists( 'prtfl_post_custom_box' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
	function prtfl_post_custom_box( $obj = '', $box = '' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
		global $prtfl_boxes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
		// Generate box contents
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
		foreach( $prtfl_boxes[ $box[ 'id' ] ] as $prtfl_box ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
			echo prtfl_text_field( $prtfl_box );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
// This is the default text field meta box
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
if ( ! function_exists( 'prtfl_text_field' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
	function prtfl_text_field( $args ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
		global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
		$description	= $args[2];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
		if ( get_option( 'prtfl_postmeta_update' ) == '1' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
			$post_meta = get_post_meta( $post->ID, 'prtfl_information', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
			$args[ 2 ] = is_array( $post_meta ) ? esc_html ( $post_meta[ $args[0] ] ) : "" ;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
			$args[ 2 ] = esc_html ( get_post_meta( $post->ID, $args[0], true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
		$label_format =
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
			'<div class="portfolio_admin_box">'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
			'<p><label for="%1$s"><strong>%2$s</strong></label></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
			'<p><input style="width: 80%%;" type="text" name="%1$s" id="%1$s" value="%3$s" /></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
			'<p><em>'. $description .'</em></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
			'</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
		if ( '_prtfl_date_compl' == $args[0] ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
			echo '<script type="text/javascript">jQuery(document).ready(function(){jQuery("#_prtfl_date_compl").simpleDatepicker({ startdate: new Date().getFullYear()-3, enddate: new Date().getFullYear()+3 });});</script>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
		return vsprintf( $label_format, $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
// This is the text area meta box
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
if ( ! function_exists( 'prtfl_prtfl_text_area' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
	function prtfl_text_area( $args ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
		global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
		$description	= $args[2];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
		$args[2]		= esc_html( get_post_meta( $post->ID, $args[0], true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
		$label_format =
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
			'<div class="portfolio_admin_box">'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
			'<p><label for="%1$s"><strong>%2$s</strong></label></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
			'<p><textarea class="theEditor" id="theEditor" style="width: 90%%;color:#000;" name="%1$s">%3$s</textarea></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
			'<p><em>'. $description .'</em></p>'.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
			'</div>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
		return vsprintf( $label_format, $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
/* When the post is saved, saves our custom data */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
if ( ! function_exists ( 'prtfl_save_postdata' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
	function prtfl_save_postdata( $post_id, $post ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
		global $prtfl_boxes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
		if ( "portfolio" == $post->post_type && ! wp_is_post_revision( $post_id ) && ! empty( $_POST ) ) { // don't store custom data twice
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
			// verify this came from the our screen and with proper authorization,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
			// because save_post can be triggered at other times
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
			if( ! current_user_can ( 'edit_page', $post->ID ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
				return $post->ID;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
			} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
			// We'll put it into an array to make it easier to loop though.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
			// The data is already in $prtfl_boxes, but we need to flatten it out.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
			foreach( $prtfl_boxes as $prtfl_boxe ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
				foreach( $prtfl_boxe as $prtfl_fields ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
					$my_data[ $prtfl_fields[0] ] = $_POST[ $prtfl_fields[0] ];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
			// Add values of $my_data as custom fields
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
			// Let's cycle through the $my_data array!
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
			if( get_option( 'prtfl_postmeta_update' ) == '1' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
				if( get_post_meta( $post->ID, 'prtfl_information', FALSE ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
					// Custom field has a value and this custom field exists in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
					update_post_meta( $post->ID, 'prtfl_information', $my_data );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
				} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
				elseif( $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
					// Custom field has a value, but this custom field does not exist in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
					add_post_meta( $post->ID, 'prtfl_information', $my_data );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
				else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
					// Custom field does not have a value, but this custom field exists in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
					update_post_meta( $post->ID, 'prtfl_information', $my_data );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
			} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
				foreach( $my_data as $key => $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
					// if $value is an array, make it a CSV (unlikely)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
					$value = implode( ',', ( array ) $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
					if( get_post_meta( $post->ID, $key, FALSE ) && $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
						// Custom field has a value and this custom field exists in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
						update_post_meta( $post->ID, $key, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
					} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
					elseif( $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
						// Custom field has a value, but this custom field does not exist in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
						add_post_meta( $post->ID, $key, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
					else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
						// Custom field does not have a value, but this custom field exists in database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
						update_post_meta( $post->ID, $key, $value );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
// This is pagenation functionality for portfolio post type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
if ( ! function_exists ( 'prtfl_pagination' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
	function prtfl_pagination( $pages = '', $range = 2 ) {  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
		$showitems = get_option( 'posts_per_page' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
		global $paged, $wp_query;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
		if ( empty ( $paged ) ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
			$paged = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
		if ( '' == $pages ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
			$pages = $wp_query->max_num_pages;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
			if( ! $pages ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
				$pages = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
		}   
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
		if ( 1 != $pages ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
			echo "<div class='pagination'>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
			if ( 2 < $paged && $paged > $range + 1 && $showitems < $pages ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
				echo "<a href='". get_pagenum_link( 1 ) ."'>&laquo;</a>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
			if ( 1 < $paged && $showitems < $pages ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
				echo "<a href='". get_pagenum_link( $paged - 1 ) ."'>&lsaquo;</a>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
			for ( $i = 1; $i <= $pages; $i++ ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
				if ( 1 != $pages && ( !( $i >= $paged + $range + 1 || $i <= $paged - $range - 1 ) || $pages <= $showitems ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
					echo ( $paged == $i ) ? "<span class='current'>". $i ."</span>":"<a href='". get_pagenum_link( $i) ."' class='inactive' >". $i ."</a>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
			if ( $paged < $pages && $showitems < $pages ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
				echo "<a href='". get_pagenum_link( $paged + 1 ) ."'>&rsaquo;</a>";  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
			if ( $paged < $pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
				echo "<a href='". get_pagenum_link( $pages ) ."'>&raquo;</a>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
			echo "</div>\n";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
if ( ! function_exists ( 'prtfl_register_plugin_links' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
	function prtfl_register_plugin_links( $links, $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
		$base = plugin_basename(__FILE__);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
		if ( $file == $base ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
			$links[] = '<a href="admin.php?page=portfolio.php">' . __( 'Settings', 'portfolio' ) . '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
			$links[] = '<a href="http://wordpress.org/extend/plugins/portfolio/faq/" target="_blank">' . __( 'FAQ', 'portfolio' ) . '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
			$links[] = '<a href="http://support.bestwebsoft.com">' . __( 'Support', 'portfolio' ) . '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
		return $links;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
if ( ! function_exists ( 'prtfl_replace_old_post_tag' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
	function prtfl_replace_old_post_tag() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
		global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
		if ( false === get_option( 'prtfl_tag_update' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
			$tag_id_array = $wpdb->get_results( "SELECT term_taxonomy_id FROM $wpdb->posts, $wpdb->term_relationships WHERE post_type = 'portfolio' AND $wpdb->posts.ID = $wpdb->term_relationships.object_id" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
			while( list( $key, $val ) = each( $tag_id_array ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
				$wpdb->update( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
					$wpdb->term_taxonomy, 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
					array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
						'taxonomy' => 'portfolio_technologies'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
					), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
					array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
						'taxonomy' => 'post_tag' , 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
						'term_taxonomy_id' => $val->term_taxonomy_id
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
					), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
					array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
						'%s'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
					), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
					array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
						'%s', 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
						'%d' 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
					) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
				);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
			$wpdb->query( "UPDATE $wpdb->posts, $wpdb->postmeta SET $wpdb->posts.post_content = $wpdb->postmeta.meta_value WHERE $wpdb->postmeta.post_id = $wpdb->posts.ID AND $wpdb->posts.post_type = 'portfolio' AND	$wpdb->postmeta.meta_key = '_prtfl_short_descr' " );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
			$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE $wpdb->postmeta.meta_key = '_prtfl_short_descr'"	);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
			$wpdb->query( "UPDATE $wpdb->postmeta SET meta_key = REPLACE(meta_key, 'prtf_', 'prtfl_') WHERE meta_key LIKE '_prtf_%'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
			add_option( 'prtfl_tag_update', '1', '', 'no' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
		$postmeta = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key LIKE '%_short_descr%' LIMIT 0 , 1" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
		if ( empty( $postmeta ) && ! get_option( 'prtfl_postmeta_update' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
			add_option( 'prtfl_postmeta_update', 1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
require_once( dirname( __FILE__ ) . '/bws_menu/bws_menu.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
if ( ! function_exists( 'add_prtfl_admin_menu' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
	function add_prtfl_admin_menu() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
		add_menu_page( 'BWS Plugins', 'BWS Plugins', 'manage_options', 'bws_plugins', 'bws_add_menu_render', plugins_url( "images/px.png", __FILE__ ), 1001 ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
		add_submenu_page( 'bws_plugins', __( 'Portfolio', 'portfolio' ), __( 'Portfolio', 'portfolio' ), 'manage_options', "portfolio.php", 'prtfl_settings_page' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
		//call register settings function
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
		add_action( 'admin_init', 'register_prtfl_settings' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
// register settings function
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
if ( ! function_exists( 'register_prtfl_settings' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
	function register_prtfl_settings() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
		global $wpmu, $prtfl_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
		$prtfl_option_defaults = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
			'prtfl_custom_size_name'				=> array( 'portfolio-thumb', 'portfolio-photo-thumb' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
			'prtfl_custom_size_px'					=> array( array( 280, 300 ), array( 240, 260 ) ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
			'prtfl_order_by' 						=> 'menu_order',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
			'prtfl_order' 							=> 'ASC',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
			'prtfl_custom_image_row_count'			=> 3,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
			'prtfl_date_additional_field' 			=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
			'prtfl_link_additional_field' 			=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
			'prtfl_shrdescription_additional_field' => 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
			'prtfl_description_additional_field' 	=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
			'prtfl_svn_additional_field' 			=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
			'prtfl_executor_additional_field' 		=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
			'prtfl_technologies_additional_field'	=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
			'prtfl_link_additional_field_for_non_registered'	=> 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
			'prtfl_date_text_field'					=> __( 'Date of completion:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
			'prtfl_link_text_field'					=> __( 'Link:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
			'prtfl_shrdescription_text_field'		=> __( 'Short description:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
			'prtfl_description_text_field'			=> __( 'Description:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
			'prtfl_svn_text_field'					=> __( 'SVN:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
			'prtfl_executor_text_field'				=> __( 'Executor Profile:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
			'prtfl_screenshot_text_field'			=> __( 'More screenshots:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
			'prtfl_technologies_text_field'			=> __( 'Technologies:', 'portfolio' ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
			'prtfl_slug' 							=> 'portfolio'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
		);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
		// install the option defaults
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
		if ( 1 == $wpmu ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
			if( !get_site_option( 'prtfl_options' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
				add_site_option( 'prtfl_options', $prtfl_option_defaults, '', 'yes' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
			if( ! get_option( 'prtfl_options' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
				add_option( 'prtfl_options', $prtfl_option_defaults, '', 'yes' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
		// get options from the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
		if ( 1 == $wpmu )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
			$prtfl_options = get_site_option( 'prtfl_options' ); // get options from the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
			$prtfl_options = get_option( 'prtfl_options' );// get options from the database
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
		if ( isset( $prtfl_options['prtfl_prettyPhoto_style'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
			unset( $prtfl_options['prtfl_prettyPhoto_style'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
		// array merge incase this version has added new options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
		$prtfl_options = array_merge( $prtfl_option_defaults, $prtfl_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
		update_option( 'prtfl_options', $prtfl_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
		if ( function_exists( 'add_image_size' ) ) { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
			add_image_size( 'portfolio-thumb', $prtfl_options['prtfl_custom_size_px'][0][0], $prtfl_options['prtfl_custom_size_px'][0][1], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
			add_image_size( 'portfolio-photo-thumb', $prtfl_options['prtfl_custom_size_px'][1][0], $prtfl_options['prtfl_custom_size_px'][1][1], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
if( ! function_exists( 'prtfl_settings_page' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
	function prtfl_settings_page() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
		global $prtfl_options;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
		$error = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
		// Save data for settings page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
		if( isset( $_REQUEST['prtfl_form_submit'] ) && check_admin_referer( plugin_basename(__FILE__), 'prtfl_nonce_name' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
			$prtfl_request_options = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
			$prtfl_request_options["prtfl_custom_size_name"] = $prtfl_options["prtfl_custom_size_name"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
			$prtfl_request_options["prtfl_custom_size_px"] = array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
				array( intval( trim( $_REQUEST['prtfl_custom_image_size_w_album'] ) ), intval( trim( $_REQUEST['prtfl_custom_image_size_h_album'] ) ) ), 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
				array( intval( trim( $_REQUEST['prtfl_custom_image_size_w_photo'] ) ), intval( trim( $_REQUEST['prtfl_custom_image_size_h_photo'] ) ) ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
			);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
			$prtfl_request_options["prtfl_custom_image_row_count"] =  intval( trim( $_REQUEST['prtfl_custom_image_row_count'] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
			if( $prtfl_request_options["prtfl_custom_image_row_count"] == "" || $prtfl_request_options["prtfl_custom_image_row_count"] < 1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
				$prtfl_request_options["prtfl_custom_image_row_count"] = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
			$prtfl_request_options["prtfl_order_by"] = $_REQUEST['prtfl_order_by'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
			$prtfl_request_options["prtfl_order"] = $_REQUEST['prtfl_order'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
			$prtfl_request_options["prtfl_date_additional_field"] = isset( $_REQUEST["prtfl_date_additional_field"] ) ? $_REQUEST["prtfl_date_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
			$prtfl_request_options["prtfl_link_additional_field"] = isset( $_REQUEST["prtfl_link_additional_field"] ) ? $_REQUEST["prtfl_link_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
			$prtfl_request_options["prtfl_shrdescription_additional_field"] = isset( $_REQUEST["prtfl_shrdescription_additional_field"] ) ? $_REQUEST["prtfl_shrdescription_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
			$prtfl_request_options["prtfl_description_additional_field"] = isset( $_REQUEST["prtfl_description_additional_field"] ) ? $_REQUEST["prtfl_description_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
			$prtfl_request_options["prtfl_svn_additional_field"] = isset( $_REQUEST["prtfl_svn_additional_field"] ) ? $_REQUEST["prtfl_svn_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
			$prtfl_request_options["prtfl_executor_additional_field"] = isset( $_REQUEST["prtfl_executor_additional_field"] ) ? $_REQUEST["prtfl_executor_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
			$prtfl_request_options["prtfl_technologies_additional_field"] = isset( $_REQUEST["prtfl_technologies_additional_field"] ) ? $_REQUEST["prtfl_technologies_additional_field"] : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
			$prtfl_request_options["prtfl_link_additional_field_for_non_registered"] = isset( $_REQUEST["prtfl_link_additional_field_for_non_registered"] ) ? $_REQUEST["prtfl_link_additional_field_for_non_registered"] : 0;	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
			$prtfl_request_options["prtfl_date_text_field"] = $_REQUEST["prtfl_date_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
			$prtfl_request_options["prtfl_link_text_field"] = $_REQUEST["prtfl_link_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
			$prtfl_request_options["prtfl_shrdescription_text_field"] = $_REQUEST["prtfl_shrdescription_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
			$prtfl_request_options["prtfl_description_text_field"] = $_REQUEST["prtfl_description_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
			$prtfl_request_options["prtfl_svn_text_field"] = $_REQUEST["prtfl_svn_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
			$prtfl_request_options["prtfl_executor_text_field"] = $_REQUEST["prtfl_executor_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
			$prtfl_request_options["prtfl_screenshot_text_field"] = $_REQUEST["prtfl_screenshot_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
			$prtfl_request_options["prtfl_technologies_text_field"] = $_REQUEST["prtfl_technologies_text_field"];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
			$prtfl_request_options["prtfl_slug"] = trim( $_REQUEST['prtfl_slug'] ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
			$prtfl_request_options["prtfl_slug"] = strtolower($prtfl_request_options["prtfl_slug"]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
			$prtfl_request_options["prtfl_slug"] = preg_replace("/[^a-z0-9\s-]/", "", $prtfl_request_options["prtfl_slug"]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
			$prtfl_request_options["prtfl_slug"] = trim(preg_replace("/[\s-]+/", " ", $prtfl_request_options["prtfl_slug"]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
			$prtfl_request_options["prtfl_slug"] = preg_replace("/\s/", "-", $prtfl_request_options["prtfl_slug"]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
			// for revrite prtfl_slug			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
			global $wp_rewrite;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
			$rules = get_option( 'rewrite_rules' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
			prtfl_custom_permalinks( $rules );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
			$wp_rewrite->flush_rules();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
			// array merge incase this version has added new options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
			$prtfl_options = array_merge( $prtfl_options, $prtfl_request_options );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
			// Check select one point in the blocks Arithmetic actions and Difficulty on settings page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
			update_option( 'prtfl_options', $prtfl_options, '', 'yes' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
			$message = __( "Settings saved.", 'portfolio' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
		if ( ! file_exists( get_stylesheet_directory() .'/portfolio.php' ) || ! file_exists( get_stylesheet_directory() .'/portfolio-post.php' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
			$error .= __( 'The files "portfolio.php" and "portfolio-post.php" are not found in your theme directory. Please copy them from the directory `wp-content/plugins/portfolio/template/` to your theme directory for correct work of the Portfolio plugin', 'portfolio' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
		// Display form on the setting page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
	?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
	<div class="wrap">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
		<div class="icon32 icon32-bws" id="icon-options-general"></div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
		<h2><?php _e( 'Portfolio Settings', 'portfolio' ); ?></h2>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
		<div class="updated fade" <?php if( ! isset( $_REQUEST['prtfl_form_submit'] ) || $error != "" ) echo "style=\"display:none\""; ?>><p><strong><?php echo $message; ?></strong></p></div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
		<div class="error" <?php if( "" == $error ) echo "style=\"display:none\""; ?>><p><strong><?php echo $error; ?></strong></p></div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
		<p><?php _e( "If you would like to add the Latest Portfolio Items to your page or post, just copy and paste this shortcode into your post or page:", 'portfolio' ); ?> [latest_portfolio_items count=3], <?php _e( 'where count=3 is a number of posts to show up in the portfolio.', 'portfolio' ); ?></p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
		<form method="post" action="admin.php?page=portfolio.php" id="prtfl_form_image_size">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
			<table class="form-table">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
					<th scope="row"><?php _e('The album cover size', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
						<label for="prtfl_custom_image_size_name"><?php _e( 'Image size name', 'portfolio' ); ?></label> <?php echo $prtfl_options["prtfl_custom_size_name"][0]; ?><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
						<label for="prtfl_custom_image_size_w"><?php _e( 'Width (in px)', 'portfolio' ); ?></label> <input type="text" name="prtfl_custom_image_size_w_album" value="<?php echo $prtfl_options["prtfl_custom_size_px"][0][0]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
						<label for="prtfl_custom_image_size_h"><?php _e( 'Height (in px)', 'portfolio' ); ?></label> <input type="text" name="prtfl_custom_image_size_h_album" value="<?php echo $prtfl_options["prtfl_custom_size_px"][0][1]; ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
					<th scope="row"><?php _e('Size of portfolio images', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
						<label for="prtfl_custom_image_size_name"><?php _e( 'Image size name', 'portfolio' ); ?></label> <?php echo $prtfl_options["prtfl_custom_size_name"][1]; ?><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
						<label for="prtfl_custom_image_size_w"><?php _e( 'Width (in px)', 'portfolio' ); ?></label> <input type="text" name="prtfl_custom_image_size_w_photo" value="<?php echo $prtfl_options["prtfl_custom_size_px"][1][0]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
						<label for="prtfl_custom_image_size_h"><?php _e( 'Height (in px)', 'portfolio' ); ?></label> <input type="text" name="prtfl_custom_image_size_h_photo" value="<?php echo $prtfl_options["prtfl_custom_size_px"][1][1]; ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
					<td colspan="2"><span style="color: #888888;font-size: 10px;"><?php _e( 'WordPress will copy thumbnails with the specified dimensions when you upload a new image. It is necessary to click  the Update images button at the bottom of this page in order to generate new images and set new dimensions', 'portfolio' ); ?></span></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
					<th scope="row"><?php _e('Sort portfolio by', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
						<input class="prtfl_left" type="radio" name="prtfl_order_by" value="ID" <?php if( $prtfl_options["prtfl_order_by"] == 'ID' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order_by"><?php _e( 'portfolio id', 'gallery' ); ?></label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
						<input class="prtfl_left" type="radio" name="prtfl_order_by" value="title" <?php if( $prtfl_options["prtfl_order_by"] == 'title' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order_by"><?php _e( 'portfolio title', 'gallery' ); ?></label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
						<input class="prtfl_left" type="radio" name="prtfl_order_by" value="date" <?php if( $prtfl_options["prtfl_order_by"] == 'date' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order_by"><?php _e( 'date', 'gallery' ); ?></label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
						<input class="prtfl_left" type="radio" name="prtfl_order_by" value="menu_order" <?php if( $prtfl_options["prtfl_order_by"] == 'menu_order' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order_by"><?php _e( 'menu order', 'gallery' ); ?></label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
						<input class="prtfl_left" type="radio" name="prtfl_order_by" value="rand" <?php if( $prtfl_options["prtfl_order_by"] == 'rand' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order_by"><?php _e( 'random', 'gallery' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
					<th scope="row"><?php _e('Portfolio sorting', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
						<input class="prtfl_left" type="radio" name="prtfl_order" value="ASC" <?php if( $prtfl_options["prtfl_order"] == 'ASC' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order"><?php _e( 'ASC (ascending order from lowest to highest values - 1, 2, 3; a, b, c)', 'gallery' ); ?></label><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
						<input class="prtfl_left" type="radio" name="prtfl_order" value="DESC" <?php if( $prtfl_options["prtfl_order"] == 'DESC' ) echo 'checked="checked"'; ?> /> <label class="label_radio prtfl_left" for="prtfl_order"><?php _e( 'DESC (descending order from highest to lowest values - 3, 2, 1; c, b, a)', 'gallery' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
					<th scope="row"><?php _e( 'Number of images in the row', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
						<input type="text" name="prtfl_custom_image_row_count" value="<?php echo $prtfl_options["prtfl_custom_image_row_count"]; ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
					<th scope="row"><?php _e( 'Display additional fields', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
						<input type="checkbox" name="prtfl_date_additional_field" value="1" id="prtfl_date_additional_field" <?php if( 1 == $prtfl_options['prtfl_date_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_date_additional_field" style="float:none;"><?php _e( 'Date', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
						<input type="checkbox" name="prtfl_link_additional_field" value="1" id="prtfl_link_additional_field" <?php if( 1 == $prtfl_options['prtfl_link_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_link_additional_field" style="float:none;"><?php _e( 'Link', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
						<input type="checkbox" name="prtfl_shrdescription_additional_field" value="1" id="prtfl_shrdescription_additional_field" <?php if( 1 == $prtfl_options['prtfl_shrdescription_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_shrdescription_additional_field" style="float:none;"><?php _e( 'Short Description', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
						<input type="checkbox" name="prtfl_description_additional_field" value="1" id="prtfl_description_additional_field" <?php if( 1 == $prtfl_options['prtfl_description_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_description_additional_field" style="float:none;"><?php _e( 'Description', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
						<input type="checkbox" name="prtfl_svn_additional_field" value="1" id="prtfl_svn_additional_field" <?php if( 1 == $prtfl_options['prtfl_svn_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_svn_additional_field" style="float:none;"><?php _e( 'SVN', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
						<input type="checkbox" name="prtfl_executor_additional_field" value="1" id="prtfl_executor_additional_field" <?php if( 1 == $prtfl_options['prtfl_executor_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_executor_additional_field" style="float:none;"><?php _e( 'Executor', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
						<input type="checkbox" name="prtfl_technologies_additional_field" value="1" id="prtfl_technologies_additional_field" <?php if( 1 == $prtfl_options['prtfl_technologies_additional_field'] ) echo "checked=\"checked\""; ?> /> <label for="prtfl_technologies_additional_field" style="float:none;"><?php _e( 'Technologies', 'portfolio' ); ?></label>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
					<th scope="row"><?php _e( 'Display the link field as a text for non-registered users', 'portfolio' ); ?></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
						<input type="checkbox" name="prtfl_link_additional_field_for_non_registered" value="1" id="prtfl_link_additional_field_for_non_registered" <?php if( 1 == $prtfl_options['prtfl_link_additional_field_for_non_registered'] ) echo "checked=\"checked\""; ?> />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
					<th scope="row"><?php _e( 'Text for additional fields', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
					 <label for="prtfl_date_text_field"><?php _e( 'Date of completion:', 'portfolio' ); ?></label> <input type="text" name="prtfl_date_text_field" value="<?php echo $prtfl_options["prtfl_date_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
						<label for="prtfl_link_text_field"><?php _e( 'Link:', 'portfolio' ); ?></label> <input type="text" name="prtfl_link_text_field" value="<?php echo $prtfl_options["prtfl_link_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
						<label for="prtfl_shrdescription_text_field"><?php _e( 'Short description:', 'portfolio' ); ?></label> <input type="text" name="prtfl_shrdescription_text_field" value="<?php echo $prtfl_options["prtfl_shrdescription_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
						<label for="prtfl_description_text_field"><?php _e( 'Description:', 'portfolio' ); ?></label> <input type="text" name="prtfl_description_text_field" value="<?php echo $prtfl_options["prtfl_description_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
						<label for="prtfl_svn_text_field"><?php _e( 'SVN:', 'portfolio' ); ?></label> <input type="text" name="prtfl_svn_text_field" value="<?php echo $prtfl_options["prtfl_svn_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
						<label for="prtfl_executor_text_field"><?php _e( 'Executor Profile:', 'portfolio' ); ?></label> <input type="text" name="prtfl_executor_text_field" value="<?php echo $prtfl_options["prtfl_executor_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
						<label for="prtfl_screenshot_text_field"><?php _e( 'More screenshots:', 'portfolio' ); ?></label> <input type="text" name="prtfl_screenshot_text_field" value="<?php echo $prtfl_options["prtfl_screenshot_text_field"]; ?>" /><br />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
						<label for="prtfl_technologies_text_field"><?php _e( 'Technologies:', 'portfolio' ); ?></label> <input type="text" name="prtfl_technologies_text_field" value="<?php echo $prtfl_options["prtfl_technologies_text_field"]; ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
				<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
					<th scope="row"><?php _e( 'Slug for portfolio item', 'portfolio' ); ?></th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
					<td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
						<input type="text" name="prtfl_slug" value="<?php echo $prtfl_options["prtfl_slug"]; ?>" /> <span style="color: #888888;font-size: 10px;"><?php _e( 'for any structure of permalinks except the default structure', 'portfolio' ); ?></span>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
					</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
				</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
			</table>  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
			<input type="hidden" name="prtfl_form_submit" value="submit" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
			<p class="submit">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
				<input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
			</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
			<?php wp_nonce_field( plugin_basename(__FILE__), 'prtfl_nonce_name' ); ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
		</form>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
		<?php global $wpdb; 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
		if( get_option( 'prtfl_tag_update' ) == '1' )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
			$prefix = '_prtfl';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
		else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
			$prefix = '_prtf';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
		if ( $wpdb->get_var( "SELECT meta_id FROM ".$wpdb->postmeta." WHERE meta_key = '".$prefix."_short_descr' LIMIT 1" ) != NULL ) { ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
		<table class="form-table">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
			<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
				<th scope="row"><?php _e( 'Change the way to store your post_meta information for portfolio', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
				<td style="position:relative">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
					<input type="button" value="<?php _e( 'Update All Info' ); ?>" id="ajax_update_postmeta" name="ajax_update_postmeta" class="button" onclick="javascript:update_postmeta();"> <div id="prtfl_loader"><img src="<?php echo plugins_url( 'images/ajax-loader.gif', __FILE__ ); ?>" alt="loader" /></div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
				</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
			</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
		</table>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
		<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
			var update_message = "<?php _e( 'Updating post_meta information...', 'portfolio' ) ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
			var not_found_info = "<?php _e( 'No portfolio item found', 'portfolio'); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
			var success = "<?php _e( 'All info is updated', 'portfolio' ); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
			var error = "<?php _e( 'Error.', 'portfolio' ); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
		</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
		<?php } ?>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
		<table class="form-table">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
			<tr valign="top">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
				<th scope="row"><?php _e( 'Update images for portfolio', 'portfolio' ); ?> </th>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
				<td style="position:relative">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
					<input type="button" value="<?php _e( 'Update images' ); ?>" id="ajax_update_images" name="ajax_update_images" class="button" onclick="javascript:update_images();"> <div id="prtfl_img_loader"><img src="<?php echo plugins_url( 'images/ajax-loader.gif', __FILE__ ); ?>" alt="loader" /></div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
				</td>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
			</tr>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
		</table>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
		<script type="text/javascript">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
			var update_img_message = "<?php _e( 'Updating images...', 'portfolio' ) ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
			var not_found_img_info = "<?php _e( 'No image found', 'portfolio'); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
			var img_success = "<?php _e( 'All images are updated', 'portfolio' ); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
			var img_error = "<?php _e( 'Error.', 'portfolio' ); ?>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
		</script>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
	</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
	<?php } 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
if ( ! function_exists( 'prtfl_template_redirect' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
	function prtfl_template_redirect() { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
		global $wp_query, $post, $posts;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
		if ( 'portfolio' == get_post_type() && "" == $wp_query->query_vars["s"] && ! isset( $wp_query->query_vars["technologies"] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
			include( get_stylesheet_directory() . '/portfolio-post.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
			exit(); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
		} else if ( 'portfolio' == get_post_type() && isset( $wp_query->query_vars["technologies"] ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
			include( get_stylesheet_directory() . '/portfolio.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
			exit(); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   884
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   885
if ( ! function_exists ( 'prtfl_add_template_in_new_theme' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
	function prtfl_add_template_in_new_theme() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
		if ( ! file_exists( get_stylesheet_directory() .'/portfolio.php' ) || ! file_exists( get_stylesheet_directory() .'/portfolio-post.php' ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
			prtfl_plugin_install();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
if ( ! function_exists ( 'prtfl_plugin_action_links' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
	function prtfl_plugin_action_links( $links, $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
		//Static so we don't call plugin_basename on every plugin row.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
		static $this_plugin;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
		if ( ! $this_plugin ) $this_plugin = plugin_basename( __FILE__ );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
		if ( $file == $this_plugin ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
			$settings_link = '<a href="admin.php?page=portfolio.php">' . __( 'Settings', 'portfolio' ) . '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
			array_unshift( $links, $settings_link );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
		return $links;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
if ( ! function_exists( 'prtfl_add_portfolio_ancestor_to_menu' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
	function prtfl_add_portfolio_ancestor_to_menu( $classes, $item ) {		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
		if ( is_singular( 'portfolio' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
			global $wpdb, $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
			$parent = $wpdb->get_var( "SELECT $wpdb->posts.post_name FROM $wpdb->posts, $wpdb->postmeta WHERE meta_key = '_wp_page_template' AND meta_value = 'portfolio.php' AND (post_status = 'publish' OR post_status = 'private') AND $wpdb->posts.ID = $wpdb->postmeta.post_id" );	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
			if ( in_array( 'menu-item-' . $item->ID, $classes ) && $parent == strtolower( $item->title ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
				$classes[] = 'current-page-ancestor';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
		return $classes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
if ( ! function_exists( 'prtfl_latest_items' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
	function prtfl_latest_items( $atts ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
		$content = '<div class="prtfl_portfolio_block">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
		$args = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
			'post_type'				=> 'portfolio',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
			'post_status'			=> 'publish',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
			'orderby'				=> 'date',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
			'order'					=> 'DESC',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
			'posts_per_page'		=> $atts['count'],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
			);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
		query_posts( $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
		while ( have_posts() ) : the_post(); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
			$content .= '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
			<div class="portfolio_content">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
				<div class="entry">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
					global $post;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
					$meta_values				= get_post_custom($post->ID);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
					$post_thumbnail_id	= get_post_thumbnail_id( $post->ID );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
					if( empty ( $post_thumbnail_id ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
						$args = array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
							'post_parent' => $post->ID,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
							'post_type' => 'attachment',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
							'post_mime_type' => 'image',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
							'numberposts' => 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
						);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   946
						$attachments				= get_children( $args );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   947
						$post_thumbnail_id	= key($attachments);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
					$image						= wp_get_attachment_image_src( $post_thumbnail_id, 'portfolio-thumb' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
					$image_alt				= get_post_meta( $post_thumbnail_id, '_wp_attachment_image_alt', true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
					$image_desc 			= get_post($post_thumbnail_id);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
					$image_desc				= $image_desc->post_content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
					if( get_option( 'prtfl_postmeta_update' ) == '1' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
						$post_meta		= get_post_meta( $post->ID, 'prtfl_information', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
						$date_compl		= $post_meta['_prtfl_date_compl'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
						if( ! empty( $date_compl ) && 'in progress' != $date_compl) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
							$date_compl		= explode( "/", $date_compl );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
							$date_compl		= date( get_option( 'date_format' ), strtotime( $date_compl[1]."-".$date_compl[0].'-'.$date_compl[2] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
						$link					= $post_meta['_prtfl_link'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   961
						$short_descr	= $post_meta['_prtfl_short_descr'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
					} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
						$date_compl		= get_post_meta( $post->ID, '_prtfl_date_compl', true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
						if( ! empty( $date_compl ) && 'in progress' != $date_compl) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   965
							$date_compl		= explode( "/", $date_compl );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   966
							$date_compl		= date( get_option( 'date_format' ), strtotime( $date_compl[1]."-".$date_compl[0].'-'.$date_compl[2] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
						$link					= get_post_meta($post->ID, '_prtfl_link', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
						$short_descr	= get_post_meta($post->ID, '_prtfl_short_descr', true); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
					} 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
					$content .= '<div class="portfolio_thumb" style="width:165px">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
							<img src="'.$image[0].'" width="'.$image[1].'" alt="'.$image_alt.'" />
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
					</div>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
					<div class="portfolio_short_content">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
						<div class="item_title">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
							<p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
								<a href="'.get_permalink().'" rel="bookmark">'.get_the_title().'</a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
							</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
						</div> <!-- .item_title -->';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
						$content .= '<p>'.$short_descr.'</p>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   982
					</div> <!-- .portfolio_short_content -->
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   983
				</div> <!-- .entry -->
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   984
				<div class="read_more">
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   985
					<a href="'.get_permalink().'" rel="bookmark">'.__( 'Read more', 'portfolio' ).'</a>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   986
				</div> <!-- .read_more -->
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   987
				<div class="portfolio_terms">';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   988
				$terms = wp_get_object_terms( $post->ID, 'portfolio_technologies' ) ;			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   989
				if ( is_array( $terms ) && count( $terms ) > 0) { 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   990
					$content .= __( 'Technologies', 'portfolio' ).':';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   991
					$count = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   992
					foreach ( $terms as $term ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   993
						if( $count > 0 ) 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   994
							$content .= ', '; 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   995
						$content .= '<a href="'. get_term_link( $term->slug, 'portfolio_technologies') . '" title="' . sprintf( __( "View all posts in %s" ), $term->name ) . '" ' . '>' . $term->name.'</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   996
						$count++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   997
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   998
				} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   999
					$content .= '&nbsp;';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1000
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1001
				$content .= '</div><!-- .portfolio_terms -->';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1002
			$content .= '<div class="prtfl_clear"></div></div> <!-- .portfolio_content -->';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1003
		endwhile; 		
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1004
		$content .= '</div> <!-- .prtfl_portfolio_block -->';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1005
		wp_reset_query();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1006
		return $content;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1007
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1008
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1009
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1010
/* Register style and script files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1011
if ( ! function_exists ( 'prtfl_admin_head' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1012
	function prtfl_admin_head() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1013
		wp_enqueue_style( 'prtflStylesheet', plugins_url( 'css/stylesheet.css', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1014
		wp_enqueue_style( 'prtflDatepickerStylesheet', plugins_url( 'datepicker/datepicker.css', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1015
		wp_enqueue_script( 'jquery' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1016
		wp_enqueue_script( 'prtflScript', plugins_url( 'js/script.js', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1017
		wp_enqueue_script( 'prtflDatepickerScript', plugins_url( 'datepicker/datepicker.js', __FILE__ ) );  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1018
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1019
		if ( isset( $_GET['page'] ) && $_GET['page'] == "bws_plugins" )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1020
			wp_enqueue_script( 'bws_menu_script', plugins_url( 'js/bws_menu.js' , __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1021
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1022
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1023
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1024
if ( ! function_exists ( 'prtfl_wp_head' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1025
	function prtfl_wp_head() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1026
		wp_enqueue_style( 'prtflLightboxStylesheet', plugins_url( 'fancybox/jquery.fancybox-1.3.4.css', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1027
		wp_enqueue_style( 'prtflStylesheet', plugins_url( 'css/stylesheet.css', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1028
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1029
		wp_enqueue_script( 'jquery' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1030
		wp_enqueue_script( 'prtflScript', plugins_url( 'js/script.js', __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1031
		wp_enqueue_script( 'prtflFancyboxMousewheelJs', plugins_url( 'fancybox/jquery.mousewheel-3.0.4.pack.js', __FILE__ ), array( 'jquery' ) ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1032
		wp_enqueue_script( 'prtflFancyboxJs', plugins_url( 'fancybox/jquery.fancybox-1.3.4.pack.js', __FILE__ ), array( 'jquery' ) ); 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1033
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1034
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1035
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1036
if ( ! function_exists ( 'prtfl_update_info' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1037
	function prtfl_update_info(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1038
		global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1039
		$action = isset( $_REQUEST['action1'] ) ? $_REQUEST['action1'] : "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1040
		$id = isset( $_REQUEST['id'] ) ? $_REQUEST['id'] : "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1041
		switch($action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1042
			case 'get_portfolio_id':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1043
				$result = $wpdb->get_results( "SELECT ID FROM " . $wpdb->posts . " WHERE post_type = 'portfolio'" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1044
				echo json_encode( $result );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1045
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1046
			case 'update_info':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1047
				if( $id != "" && is_numeric( $id ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1048
					$result = $wpdb->get_results( "SELECT * FROM " . $wpdb->postmeta . " WHERE meta_key LIKE '_prtf%' AND post_id = " . $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1049
					if( ! empty( $result ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1050
						$new_post_meta = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1051
						foreach( $result as $value ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1052
							$new_post_meta[ $value->meta_key ] = $value->meta_value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1053
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1054
						add_post_meta($id, 'prtfl_information', $new_post_meta);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1055
						$wpdb->query( "DELETE FROM " . $wpdb->postmeta . " WHERE meta_key LIKE '_prtf%' AND post_id = " . $id );				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1056
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1057
					$post_meta = get_post_meta($id, 'prtfl_information', true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1058
					$wpdb->query( $wpdb->prepare( "UPDATE " . $wpdb->posts . " SET post_content = '%s' WHERE ID = " . $id, $post_meta["_prtfl_short_descr"] ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1059
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1060
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1061
			case 'update_options':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1062
				add_option( 'prtfl_postmeta_update', '1', '', 'no' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1063
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1064
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1065
		die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1066
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1067
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1068
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1069
if ( ! function_exists ( 'prtfl_update_image' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1070
	function prtfl_update_image(){	
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1071
		global $wpdb;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1072
		$action = isset( $_REQUEST['action1'] ) ? $_REQUEST['action1'] : "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1073
		$id = isset( $_REQUEST['id'] ) ? $_REQUEST['id'] : "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1074
		switch($action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1075
			case 'get_all_attachment':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1076
				$result_parent_id = $wpdb->get_results( $wpdb->prepare( "SELECT ID FROM " . $wpdb->posts . " WHERE post_type = %s", 'portfolio' ) , ARRAY_N );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1077
				$array_parent_id = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1078
				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1079
				while(list($key, $val) = each($result_parent_id))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1080
					$array_parent_id[] = $val[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1081
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1082
				$string_parent_id = implode( ",", $array_parent_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1083
				
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1084
				$result_attachment_id = $wpdb->get_results( "SELECT ID FROM " . $wpdb->posts . " WHERE post_type = 'attachment' AND post_mime_type LIKE 'image%' AND post_parent IN (".$string_parent_id.")" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1085
				echo json_encode( $result_attachment_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1086
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1087
			case 'update_image':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1088
				$metadata = wp_get_attachment_metadata( $id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1089
				$uploads = wp_upload_dir();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1090
				$path = $uploads['basedir']."/".$metadata['file'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1091
				require_once( ABSPATH . 'wp-admin/includes/image.php' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1092
				$metadata_new = prtfl_wp_generate_attachment_metadata( $id, $path, $metadata );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1093
				wp_update_attachment_metadata( $id, array_merge($metadata, $metadata_new) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1094
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1095
			case 'update_options':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1096
				add_option( 'prtfl_images_update', '1', '', 'no' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1097
				break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1098
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1099
		die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1100
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1101
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1102
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1103
if ( ! function_exists ( 'prtfl_wp_generate_attachment_metadata' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1104
	function prtfl_wp_generate_attachment_metadata( $attachment_id, $file, $metadata ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1105
		$attachment = get_post( $attachment_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1106
		$prtfl_options = get_option( 'prtfl_options' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1107
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1108
		add_image_size( 'portfolio-thumb', $prtfl_options['prtfl_custom_size_px'][0][0], $prtfl_options['prtfl_custom_size_px'][0][1], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1109
		add_image_size( 'portfolio-photo-thumb', $prtfl_options['prtfl_custom_size_px'][1][0], $prtfl_options['prtfl_custom_size_px'][1][1], true );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1110
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1111
		$metadata = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1112
		if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($file) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1113
			$imagesize = getimagesize( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1114
			$metadata['width'] = $imagesize[0];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1115
			$metadata['height'] = $imagesize[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1116
			list($uwidth, $uheight) = wp_constrain_dimensions($metadata['width'], $metadata['height'], 128, 96);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1117
			$metadata['hwstring_small'] = "height='$uheight' width='$uwidth'";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1118
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1119
			// Make the file path relative to the upload dir
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1120
			$metadata['file'] = _wp_relative_upload_path($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1121
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1122
			// make thumbnails and other intermediate sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1123
			global $_wp_additional_image_sizes;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1124
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1125
			$image_size = array( 'portfolio-thumb', 'portfolio-photo-thumb' );//get_intermediate_image_sizes();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1126
			
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1127
			foreach ( $image_size as $s ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1128
				$sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => FALSE );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1129
				if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1130
					$sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1131
				else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1132
					$sizes[$s]['width'] = get_option( "{$s}_size_w" ); // For default sizes set in options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1133
				if ( isset( $_wp_additional_image_sizes[$s]['height'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1134
					$sizes[$s]['height'] = intval( $_wp_additional_image_sizes[$s]['height'] ); // For theme-added sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1135
				else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1136
					$sizes[$s]['height'] = get_option( "{$s}_size_h" ); // For default sizes set in options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1137
				if ( isset( $_wp_additional_image_sizes[$s]['crop'] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1138
					$sizes[$s]['crop'] = intval( $_wp_additional_image_sizes[$s]['crop'] ); // For theme-added sizes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1139
				else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1140
					$sizes[$s]['crop'] = get_option( "{$s}_crop" ); // For default sizes set in options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1141
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1142
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1143
			$sizes = apply_filters( 'intermediate_image_sizes_advanced', $sizes );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1144
			foreach ($sizes as $size => $size_data ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1145
				$resized = prtfl_image_make_intermediate_size( $file, $size_data['width'], $size_data['height'], $size_data['crop'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1146
				if ( $resized )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1147
					$metadata['sizes'][$size] = $resized;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1148
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1149
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1150
			// fetch additional metadata from exif/iptc
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1151
			$image_meta = wp_read_image_metadata( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1152
			if ( $image_meta )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1153
				$metadata['image_meta'] = $image_meta;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1154
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1155
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1156
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1157
		return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1158
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1159
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1160
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1161
if ( ! function_exists ( 'prtfl_image_make_intermediate_size' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1162
	function prtfl_image_make_intermediate_size( $file, $width, $height, $crop=false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1163
		if ( $width || $height ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1164
			$resized_file = prtfl_image_resize( $file, $width, $height, $crop );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1165
			if ( !is_wp_error($resized_file) && $resized_file && $info = getimagesize( $resized_file ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1166
				$resized_file = apply_filters('image_make_intermediate_size', $resized_file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1167
				return array(
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1168
					'file' => wp_basename( $resized_file ),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1169
					'width' => $info[0],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1170
					'height' => $info[1],
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1171
				);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1172
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1173
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1174
		return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1175
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1176
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1177
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1178
if ( ! function_exists ( 'prtfl_image_resize' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1179
	function prtfl_image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1180
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1181
		$size = @getimagesize( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1182
        if ( !$size )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1183
            return new WP_Error('invalid_image', __('Image size not defined'), $file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1184
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1185
        $type = $size[2];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1186
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1187
        if ( $type == 3 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1188
            $image = imagecreatefrompng($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1189
        else if ( $type == 2 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1190
            $image = imagecreatefromjpeg($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1191
        else if ( $type == 1 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1192
            $image = imagecreatefromgif($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1193
        else if ( $type == 15 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1194
            $image = imagecreatefromwbmp($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1195
       	else if ( $type == 16 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1196
            $image = imagecreatefromxbm($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1197
        else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1198
        	return new WP_Error('invalid_image', __('We can update only PNG, JPEG, GIF, WPMP or XBM filetype. For other, please, manually reload image.'), $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1199
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1200
        if ( !is_resource( $image ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1201
            return new WP_Error( 'error_loading_image', $image, $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1202
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1203
        //$size = @getimagesize( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1204
        list( $orig_w, $orig_h, $orig_type ) = $size;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1205
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1206
		$dims = prtfl_image_resize_dimensions($orig_w, $orig_h, $max_w, $max_h, $crop);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1207
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1208
		if ( !$dims )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1209
			return new WP_Error( 'error_getting_dimensions', __('Image size changes not defined') );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1210
		list( $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h ) = $dims;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1211
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1212
		$newimage = wp_imagecreatetruecolor( $dst_w, $dst_h );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1213
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1214
		imagecopyresampled( $newimage, $image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1215
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1216
		// convert from full colors to index colors, like original PNG.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1217
		if ( IMAGETYPE_PNG == $orig_type && function_exists('imageistruecolor') && !imageistruecolor( $image ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1218
			imagetruecolortopalette( $newimage, false, imagecolorstotal( $image ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1219
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1220
		// we don't need the original in memory anymore
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1221
		imagedestroy( $image );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1222
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1223
		// $suffix will be appended to the destination filename, just before the extension
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1224
		if ( !$suffix )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1225
			$suffix = "{$dst_w}x{$dst_h}";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1226
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1227
		$info = pathinfo($file);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1228
		$dir = $info['dirname'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1229
		$ext = $info['extension'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1230
		$name = wp_basename($file, ".$ext");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1231
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1232
		if ( !is_null($dest_path) and $_dest_path = realpath($dest_path) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1233
			$dir = $_dest_path;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1234
		$destfilename = "{$dir}/{$name}-{$suffix}.{$ext}";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1235
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1236
		if ( IMAGETYPE_GIF == $orig_type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1237
			if ( !imagegif( $newimage, $destfilename ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1238
				return new WP_Error('resize_path_invalid', __( 'Invalid path' ));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1239
		} elseif ( IMAGETYPE_PNG == $orig_type ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1240
			if ( !imagepng( $newimage, $destfilename ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1241
				return new WP_Error('resize_path_invalid', __( 'Invalid path' ));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1242
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1243
			// all other formats are converted to jpg
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1244
			$destfilename = "{$dir}/{$name}-{$suffix}.jpg";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1245
			if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1246
				return new WP_Error('resize_path_invalid', __( 'Invalid path' ));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1247
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1248
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1249
		imagedestroy( $newimage );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1250
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1251
		// Set correct file permissions
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1252
		$stat = stat( dirname( $destfilename ));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1253
		$perms = $stat['mode'] & 0000666; //same permissions as parent folder, strip off the executable bits
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1254
		@ chmod( $destfilename, $perms );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1255
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1256
		return $destfilename;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1257
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1258
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1259
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1260
if ( ! function_exists ( 'prtfl_image_resize_dimensions' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1261
	function prtfl_image_resize_dimensions( $orig_w, $orig_h, $dest_w, $dest_h, $crop = false ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1262
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1263
		if ( $orig_w <= 0 || $orig_h <= 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1264
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1265
		// at least one of dest_w or dest_h must be specific
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1266
		if ( $dest_w <= 0 && $dest_h <= 0 )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1267
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1268
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1269
		if ( $crop ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1270
			// crop the largest possible portion of the original image that we can size to $dest_w x $dest_h
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1271
			$aspect_ratio = $orig_w / $orig_h;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1272
			$new_w = min($dest_w, $orig_w);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1273
			$new_h = min($dest_h, $orig_h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1274
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1275
			if ( !$new_w ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1276
				$new_w = intval($new_h * $aspect_ratio);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1277
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1278
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1279
			if ( !$new_h ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1280
				$new_h = intval($new_w / $aspect_ratio);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1281
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1282
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1283
			$size_ratio = max($new_w / $orig_w, $new_h / $orig_h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1284
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1285
			$crop_w = round($new_w / $size_ratio);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1286
			$crop_h = round($new_h / $size_ratio);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1287
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1288
			$s_x = floor( ($orig_w - $crop_w) / 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1289
			$s_y = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1290
		} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1291
			// don't crop, just resize using $dest_w x $dest_h as a maximum bounding box
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1292
			$crop_w = $orig_w;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1293
			$crop_h = $orig_h;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1294
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1295
			$s_x = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1296
			$s_y = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1297
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1298
			list( $new_w, $new_h ) = wp_constrain_dimensions( $orig_w, $orig_h, $dest_w, $dest_h );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1299
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1300
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1301
		// if the resulting image would be the same size or larger we don't want to resize it
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1302
		if ( $new_w >= $orig_w && $new_h >= $orig_h )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1303
			return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1304
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1305
		// the return array matches the parameters to imagecopyresampled()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1306
		// int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1307
		return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1308
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1309
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1310
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1311
register_activation_hook( __FILE__, 'prtfl_plugin_install'); // activate plugin
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1312
register_uninstall_hook( __FILE__, 'prtfl_plugin_uninstall' ); // deactivate plugin
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1313
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1314
// adds "Settings" link to the plugin action page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1315
add_filter( 'plugin_action_links', 'prtfl_plugin_action_links', 10, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1316
add_filter( 'nav_menu_css_class', 'prtfl_add_portfolio_ancestor_to_menu', 10, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1317
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1318
//Additional links on the plugin page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1319
add_filter( 'plugin_row_meta', 'prtfl_register_plugin_links', 10, 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1320
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1321
add_action( 'admin_init', 'prtfl_admin_error' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1322
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1323
add_action( 'admin_menu', 'add_prtfl_admin_menu' ); // add portfolio settings page in admin menu
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1324
add_action( 'init', 'prtfl_plugin_init' ); // add language file
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1325
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1326
add_action( 'init', 'prtfl_taxonomy_portfolio' ); // register taxonomy for portfolio
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1327
add_action( 'init', 'prtfl_post_type_portfolio' ); // register post type
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1328
add_action( 'init', 'prtfl_register_widget' ); // add widget for portfolio technologies
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1329
add_action( 'save_post', 'prtfl_save_postdata', 1, 2 ); // save custom data from admin 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1330
add_filter( 'pre_get_posts', 'prtfl_technologies_get_posts' ); // display tachnologies taxonomy
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1331
add_action( 'template_redirect', 'prtfl_template_redirect' ); // add template for single gallery page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1332
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1333
//add_action( 'init', 'prtfl_custom_permalinks' ); // add custom permalink for portfolio
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1334
add_filter( 'rewrite_rules_array', 'prtfl_custom_permalinks' ); // add custom permalink for gallery
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1335
add_action( 'wp_loaded', 'prtfl_flush_rules' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1336
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1337
add_action( 'after_setup_theme', 'prtfl_add_template_in_new_theme' ); // add template in theme after activate new theme
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1338
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1339
add_shortcode('latest_portfolio_items', 'prtfl_latest_items');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1340
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1341
add_action( 'admin_enqueue_scripts', 'prtfl_admin_head' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1342
add_action( 'wp_enqueue_scripts', 'prtfl_wp_head' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1343
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1344
add_action( 'wp_ajax_prtfl_update_info', 'prtfl_update_info' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1345
add_action( 'wp_ajax_prtfl_update_image', 'prtfl_update_image' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1346
?>