options['script_place'] == 'footer'; wp_enqueue_script('animate-image', $this->util->plugins_url('animate-image.min.js'), false, AUTO_ANIMATE_IMAGE_VER, $in_footer); } function print_resources() { echo '' . "\n"; $this->custom_scripts(); } var $js_options = array('delay', 'cycleDelay', 'repeat', 'rewind', 'pauseAtFirst', 'pauseAtLast', 'showBlank', 'output', 'className', 'blankClassName'); function custom_scripts() { $script = ''; foreach ($this->js_options as $option) { if ( $this->is_default_options('options.' . $option) ) continue; $value = $this->options['options.' . $option]; if ( is_numeric($value) || $value == 'true' || $value == 'false' ) $script .= "AnimateImage.options.{$option} = {$value};\n"; else $script .= "AnimateImage.options.{$option} = '{$value}';\n"; } if ($script) echo "\n"; } function is_default_options($names) { if (!is_array($names)) return $this->options[$names] == $this->options_def[$names]; foreach ($names as $name) { if ($this->options[$name] != $this->options_def[$name]) return false; } return true; } function add_animate_image_action_links($links, $file) { if ( $file == plugin_basename(__FILE__) ) $links[] = '' . $this->util->__('Settings') . ''; return $links; } // Additional links on the Plugins page function add_animate_image_links($links, $file) { if ( $file == plugin_basename(__FILE__) ) { $links[] = '' . $this->util->__('Show Details', 'Details') . ''; $links[] = '' . $this->util->__('Support') . ''; $links[] = '' . ucfirst($this->util->__('Contact', 'contact')) . ''; $links[] = '' . $this->util->__('Donate') . ''; } return $links; } var $options, $options_def; var $util; function Animate_Image() { $this->__construct(); // for PHP4 } function __construct() { load_plugin_textdomain('animateimage', false, 'auto-animateimage/languages'); if (require_once dirname(__FILE__) . '/animateimage-utils.php') $this->util = new Animate_Image_Utils(); $this->init_options(); if ( is_admin() ) { if (include_once dirname(__FILE__) . '/animateimage-options.php') new Animate_Image_Options($this); add_filter('plugin_action_links', array(&$this, 'add_animate_image_action_links'), 10, 2); add_filter('plugin_row_meta', array(&$this, 'add_animate_image_links'), 10, 2); } else { add_action('wp_print_scripts', array(&$this, 'scripts')); $res_hook = $this->options['script_place'] == 'header' ? 'wp_head' : 'wp_footer'; add_action($res_hook, array(&$this, 'print_resources'), 20); } } function init_options() { $this->options_def = array( 'script_place' => 'header', 'options.delay' => '500', 'options.repeat' => '-1', 'options.rewind' => 'false', 'options.pauseAtFirst' => 'false', 'options.pauseAtLast' => 'false', 'options.showBlank' => 'false', 'options.cycleDelay' => '0', 'options.className' => 'animation', 'options.blankClassName' => 'blank', 'options.output' => 'true' ); $this->options = get_option('auto-animateimage'); $this->options = $this->options ? wp_parse_args($this->options, $this->options_def) : $this->options_def; } } # class Animate_Image add_action('init', 'init_Animate_Image'); function init_Animate_Image() { new Animate_Image(); } ?>