init_options(); if (is_admin()) { // admin actions add_action('admin_menu', array($this, 'display_admin_menu')); // Insert admin menu add_action('admin_init', array($this, 'register_and_build_fields')); // Register fields } else { // Front actions if ($this->options['enable'] == 'on') { // If lightbox is enabled add_action('the_content', array($this, 'display_block')); wp_enqueue_style('ara-lightbox-style', plugin_dir_url(__FILE__).'/css/style.css'); wp_enqueue_script('ara-lightbox-script', plugin_dir_url(__FILE__).'js/lightbox.js', array('jquery'), '1.0', true); } } } // Display front end code public function display_block($content) { $caption = "
"; $bgopacity = $this->options['bgopacity'] / 100; $content .= "
hex2rgb($this->options['bgcolor'])).",{$bgopacity});'> ".($this->options['capposition'] == 'top' ? $caption : '')." #options['imgborderstyle']} {$this->options['imgbordercolor']};' /> ".($this->options['capposition'] == 'bottom' ? $caption : '')."
"; return $content; } public function build_options_page() { ?>

options['enable'] == 'on' ? ' checked' : '')." />"; } public function bgcolor_setting() { echo ""; } public function bgopacity_setting() { echo ""; } public function imgbordersize_setting() { echo ""; } public function imgborderstyle_setting() { echo ""; } public function imgbordercolor_setting() { echo ""; } public function capposition_setting() { echo ""; } public function capcolor_setting() { echo ""; } // Display menu button public function display_admin_menu() { if (function_exists('add_options_page')) { $plugin_page_options = add_options_page( 'Ara Lightbox', 'Ara Lightbox', 'administrator', 'ara-lightbox', array($this, 'build_options_page') ); add_action('admin_print_scripts-'.$plugin_page_options, array($this, 'load_admin_scripts')); } } public function load_admin_scripts() { wp_enqueue_style('ara-lightbox-admin-style', plugin_dir_url(__FILE__).'/css/admin.css'); wp_enqueue_style('wp-color-picker'); wp_enqueue_script('myplugin-script', plugins_url('js/admin.js', __FILE__), array('wp-color-picker'), false, true); } public function init_options() { $defaults = array( 'enable' => 'on', 'bgcolor' => '#000000', 'bgopacity' => 80, 'imgbordersize' => 0, 'imgborderstyle' => 'solid', 'imgbordercolor' => '#000000', 'capposition' => 'bottom', 'capcolor' => '#FFFFFF', ); $this->options = wp_parse_args(get_option('ara_lightbox_options'), $defaults); } public function load_textdomain() { load_plugin_textdomain( 'ara-lightbox', false, plugin_basename(dirname(__FILE__)).'/languages'); } public function hex2rgb($hex) { $hex = str_replace("#", "", $hex); if(strlen($hex) == 3) { $r = hexdec(substr($hex,0,1).substr($hex,0,1)); $g = hexdec(substr($hex,1,1).substr($hex,1,1)); $b = hexdec(substr($hex,2,1).substr($hex,2,1)); } else { $r = hexdec(substr($hex,0,2)); $g = hexdec(substr($hex,2,2)); $b = hexdec(substr($hex,4,2)); } $rgb = array($r, $g, $b); return $rgb; // returns an array with the rgb values } } new ara_lightbox_plugin;