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;