File: /home/a/d/v/adventp/www/wp-content/plugins/ut-portfolio/classes/class-ut-portfolio-settings.php
<?php
/*
* Portfolio Management by United Themes
* http://unitedthemes.com/
*/
if ( ! defined( 'ABSPATH' ) ) exit;
class UT_Portfolio_Settings {
private $dir;
private $file;
private $assets_dir;
private $assets_url;
public function __construct( $file ) {
$this->dir = dirname( $file );
$this->file = $file;
$this->assets_dir = trailingslashit( $this->dir ) . 'assets';
$this->assets_url = esc_url( trailingslashit( plugins_url( '/assets/', $file ) ) );
// Register plugin settings
add_action( 'admin_init' , array( &$this , 'register_settings' ) );
// Add settings page to menu
add_action( 'admin_menu' , array( &$this , 'add_menu_item' ) );
// Add settings link to plugins page
add_filter( 'plugin_action_links_' . plugin_basename( $this->file ) , array( &$this , 'add_settings_link' ) );
}
public function add_menu_item() {
add_options_page( 'Portfolio Settings' , 'Portfolio Settings' , 'manage_options' , 'portfolio_settings' , array( &$this , 'settings_page' ) );
}
public function add_settings_link( $links ) {
$settings_link = '<a href="options-general.php?page=portfolio_settings">Settings</a>';
array_push( $links, $settings_link );
return $links;
}
public function register_settings() {
// Add settings section
add_settings_section( 'main_settings' , __( 'Modify portfolio settings' , 'ut_portfolio_lang' ) , array( &$this , 'main_settings' ) , 'portfolio_settings' );
// Add settings fields
add_settings_field( 'portfolio_slug_setting' , __( 'Portfolio Slug:' , 'ut_portfolio_lang' ) , array( &$this , 'portfolio_slug_setting' ) , 'portfolio_settings' , 'main_settings' );
add_settings_field( 'portfolio_category_slug_setting' , __( 'Portfolio Category Slug:' , 'ut_portfolio_lang' ) , array( &$this , 'portfolio_category_slug_setting' ) , 'portfolio_settings' , 'main_settings' );
add_settings_field( 'portfolio_archive_slug_setting' , __( 'Portfolio Archive Slug:' , 'ut_portfolio_lang' ) , array( &$this , 'portfolio_archive_slug_setting' ) , 'portfolio_settings' , 'main_settings' );
add_settings_field( 'portfolio_social_setting' , __( 'Portfolio Social:' , 'ut_portfolio_lang' ) , array( &$this , 'portfolio_social_setting' ) , 'portfolio_settings' , 'main_settings' );
add_settings_field( 'portfolio_social_border' , __( 'Activate Border for Social Icons:' , 'ut_portfolio_lang' ) , array( &$this , 'portfolio_social_border' ) , 'portfolio_settings' , 'main_settings' );
// Register settings fields
register_setting( 'portfolio_settings' , 'portfolio_slug_setting' , array( &$this , 'validate_field' ) );
register_setting( 'portfolio_settings' , 'portfolio_category_slug_setting' , array( &$this , 'validate_field' ) );
register_setting( 'portfolio_settings' , 'portfolio_archive_slug_setting' , array( &$this , 'validate_field' ) );
register_setting( 'portfolio_settings' , 'portfolio_social_setting' , array( &$this , 'validate_field' ) );
register_setting( 'portfolio_settings' , 'portfolio_social_border' , array( &$this , 'validate_field' ) );
}
public function main_settings() { echo '<p>' . __( 'Global Settings.' , 'ut_portfolio_lang' ) . '</p>'; }
public function portfolio_slug_setting() {
$option = get_option('portfolio_slug_setting');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '<input type="text" class="regular-text" name="portfolio_slug_setting" value="' . $data . '">';
echo '<p>' . __( 'Default: "portfolio-item". Please do not forget to update your permalink structure after changing this value.' , 'ut_portfolio_lang' );
}
public function portfolio_category_slug_setting() {
$option = get_option('portfolio_category_slug_setting');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '<input type="text" class="regular-text" name="portfolio_category_slug_setting" value="' . $data . '">';
echo '<p>' . __( 'Default: "portfolio-category". Please do not forget to update your permalink structure after changing this value.' , 'ut_portfolio_lang' );
}
public function portfolio_archive_slug_setting() {
$option = get_option('portfolio_archive_slug_setting');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '<input type="text" class="regular-text" name="portfolio_archive_slug_setting" value="' . $data . '">';
echo '<p>' . __( 'Default: "portfolio-item". Change this to a different value if you have plans having a page with the same slug. Please do not forget to update your permalink structure after changing this value.' , 'ut_portfolio_lang' );
}
public function portfolio_social_setting() {
$option = get_option('portfolio_social_setting');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '<select class="postform" name="portfolio_social_setting">';
echo '<option value="off" ' . selected( 'off' , $data , false ) . '>' . esc_html__('off' , 'ut_portfolio_lang') . '</option>';
echo '<option value="on" ' . selected( 'on' , $data , false ) . '>' . esc_html__('on' , 'ut_portfolio_lang') . '</option>';
echo '</select>';
echo '<p>' . __( 'Shows social share buttons on all your portfolio single pages.' , 'ut_portfolio_lang' );
}
public function portfolio_social_border() {
$option = get_option('portfolio_social_border');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '<select class="postform" name="portfolio_social_border">';
echo '<option value="off" ' . selected( 'off' , $data , false ) . '>' . esc_html__('off' , 'ut_portfolio_lang') . '</option>';
echo '<option value="on" ' . selected( 'on' , $data , false ) . '>' . esc_html__('on' , 'ut_portfolio_lang') . '</option>';
echo '</select>';
echo '<p>' . __( 'Activate border for social share buttons on all your portfolio single pages.' , 'ut_portfolio_lang' );
}
public function portfolio_social_share_buttons() {
$option = get_option('portfolio_social_share_buttons');
$data = '';
if( $option && strlen( $option ) > 0 && $option != '' ) {
$data = $option;
}
echo '';
echo '';
echo '';
echo '';
}
public function validate_field( $slug ) {
if( $slug && strlen( $slug ) > 0 && $slug != '' ) {
$slug = urlencode( strtolower( str_replace( ' ' , '-' , $slug ) ) );
}
return $slug;
}
public function settings_page() {
echo '<div class="wrap">
<div class="icon32" id="icon-options-general"><br/></div>
<h2>' . __('Portfolio Settings' , 'ut_portfolio_lang') . '</h2>
<form method="post" action="options.php" enctype="multipart/form-data">';
settings_fields( 'portfolio_settings' );
do_settings_sections( 'portfolio_settings' );
echo '<p class="submit">
<input name="Submit" type="submit" class="button-primary" value="' . esc_attr( __( 'Save Settings' , 'ut_portfolio_lang' ) ) . '" />
</p>
</form>
</div>';
}
}