/**
  * Constructor
  */
 function __construct($id = '', $properties = null)
 {
     parent::__construct();
     //Normalize Properties
     $args = func_get_args();
     $defaults = $this->integrate_id($id);
     $properties = $this->make_properties($args, $defaults);
     //Save init properties
     $this->properties_init = $properties;
     //Set Properties
     $this->set_properties($properties);
 }
Example #2
0
 /**
  * Declare client files (scripts, styles)
  * @uses parent::_client_files()
  * @return void
  */
 protected function _client_files($files = null)
 {
     $js_path = 'client/js/';
     $js_path .= SLB_DEV ? 'dev' : 'prod';
     $pfx = $this->get_prefix();
     $files = array('scripts' => array('admin' => array('file' => "{$js_path}/lib.admin.js", 'deps' => array('[core]'), 'context' => array("admin_page_{$pfx}"), 'in_footer' => true)), 'styles' => array('admin' => array('file' => 'client/css/admin.css', 'context' => array("admin_page_{$pfx}", 'admin_page_plugins'))));
     parent::_client_files($files);
 }
 /**
  * Constructor
  * @param string $id Unique ID for content type
  * @param array $props (optional) Type properties (optional because props can be set post-init)
  */
 public function __construct($id, $props = null)
 {
     parent::__construct();
     $this->set_id($id)->set_props($props);
 }
Example #4
0
 /**
  * Default initialization method
  * @uses _init_passed
  * @uses _env()
  * @uses _options()
  * @uses _admin()
  * @uses _hooks()
  * @uses _client_files()
  */
 public function _init()
 {
     self::$_init_passed = true;
     if ($this->_init || !isset($this) || !$this->can('init')) {
         return false;
     }
     $this->_init = true;
     // Environment
     $this->_env();
     if ($this->can('control')) {
         // Options
         $this->_options();
         // Admin
         if (is_admin()) {
             $this->_admin();
         }
     }
     // Hooks
     $this->_hooks();
     // Client files
     $this->_client_files();
 }
 /**
  * Init options
  */
 protected function _options()
 {
     //Setup options
     $opts = array('groups' => array('activation' => array('title' => __('Activation', 'simple-lightbox'), 'priority' => 10), 'grouping' => array('title' => __('Grouping', 'simple-lightbox'), 'priority' => 20), 'ui' => array('title' => __('UI', 'simple-lightbox'), 'priority' => 30), 'labels' => array('title' => __('Labels', 'simple-lightbox'), 'priority' => 40)), 'items' => array('enabled' => array('title' => __('Enable Lightbox Functionality', 'simple-lightbox'), 'default' => true, 'group' => array('activation', 10)), 'enabled_home' => array('title' => __('Enable on Home page', 'simple-lightbox'), 'default' => true, 'group' => array('activation', 20)), 'enabled_post' => array('title' => __('Enable on Single Posts', 'simple-lightbox'), 'default' => true, 'group' => array('activation', 30)), 'enabled_page' => array('title' => __('Enable on Pages', 'simple-lightbox'), 'default' => true, 'group' => array('activation', 40)), 'enabled_archive' => array('title' => __('Enable on Archive Pages (tags, categories, etc.)', 'simple-lightbox'), 'default' => true, 'group' => array('activation', 50)), 'enabled_widget' => array('title' => __('Enable for Widgets', 'simple-lightbox'), 'default' => false, 'group' => array('activation', 60)), 'group_links' => array('title' => __('Group items (for displaying as a slideshow)', 'simple-lightbox'), 'default' => true, 'group' => array('grouping', 10)), 'group_post' => array('title' => __('Group items by Post (e.g. on pages with multiple posts)', 'simple-lightbox'), 'default' => true, 'group' => array('grouping', 20)), 'group_gallery' => array('title' => __('Group gallery items separately', 'simple-lightbox'), 'default' => false, 'group' => array('grouping', 30)), 'group_widget' => array('title' => __('Group widget items separately', 'simple-lightbox'), 'default' => false, 'group' => array('grouping', 40)), 'ui_autofit' => array('title' => __('Resize lightbox to fit in window', 'simple-lightbox'), 'default' => true, 'group' => array('ui', 10), 'in_client' => true), 'ui_animate' => array('title' => __('Enable animations', 'simple-lightbox'), 'default' => true, 'group' => array('ui', 20), 'in_client' => true), 'slideshow_autostart' => array('title' => __('Start Slideshow Automatically', 'simple-lightbox'), 'default' => true, 'group' => array('ui', 30), 'in_client' => true), 'slideshow_duration' => array('title' => __('Slide Duration (Seconds)', 'simple-lightbox'), 'default' => '6', 'attr' => array('size' => 3, 'maxlength' => 3), 'group' => array('ui', 40), 'in_client' => true), 'group_loop' => array('title' => __('Loop through items', 'simple-lightbox'), 'default' => true, 'group' => array('ui', 50), 'in_client' => true), 'ui_overlay_opacity' => array('title' => __('Overlay Opacity (0 - 1)', 'simple-lightbox'), 'default' => '0.8', 'attr' => array('size' => 3, 'maxlength' => 3), 'group' => array('ui', 60), 'in_client' => true), 'ui_title_default' => array('title' => __('Enable default title', 'simple-lightbox'), 'default' => false, 'group' => array('ui', 70), 'in_client' => true), 'txt_loading' => array('title' => __('Loading indicator', 'simple-lightbox'), 'default' => 'Loading', 'group' => array('labels', 20)), 'txt_close' => array('title' => __('Close button', 'simple-lightbox'), 'default' => 'Close', 'group' => array('labels', 10)), 'txt_nav_next' => array('title' => __('Next Item button', 'simple-lightbox'), 'default' => 'Next', 'group' => array('labels', 30)), 'txt_nav_prev' => array('title' => __('Previous Item button', 'simple-lightbox'), 'default' => 'Previous', 'group' => array('labels', 40)), 'txt_slideshow_start' => array('title' => __('Start Slideshow button', 'simple-lightbox'), 'default' => 'Start slideshow', 'group' => array('labels', 50)), 'txt_slideshow_stop' => array('title' => __('Stop Slideshow button', 'simple-lightbox'), 'default' => 'Stop slideshow', 'group' => array('labels', 60)), 'txt_group_status' => array('title' => __('Slideshow status format', 'simple-lightbox'), 'default' => 'Item %current% of %total%', 'group' => array('labels', 70))), 'legacy' => array('header_activation' => null, 'header_enabled' => null, 'header_strings' => null, 'header_ui' => null, 'activate_attachments' => null, 'validate_links' => null, 'enabled_compat' => null, 'enabled_single' => array('enabled_post', 'enabled_page'), 'enabled_caption' => null, 'enabled_desc' => null, 'ui_enabled_caption' => null, 'ui_caption_src' => null, 'ui_enabled_desc' => null, 'caption_src' => null, 'animate' => 'ui_animate', 'overlay_opacity' => 'ui_overlay_opacity', 'loop' => 'group_loop', 'autostart' => 'slideshow_autostart', 'duration' => 'slideshow_duration', 'txt_numDisplayPrefix' => null, 'txt_numDisplaySeparator' => null, 'txt_closeLink' => 'txt_link_close', 'txt_nextLink' => 'txt_link_next', 'txt_prevLink' => 'txt_link_prev', 'txt_startSlideshow' => 'txt_slideshow_start', 'txt_stopSlideshow' => 'txt_slideshow_stop', 'txt_loadingMsg' => 'txt_loading', 'txt_link_next' => 'txt_nav_next', 'txt_link_prev' => 'txt_nav_prev', 'txt_link_close' => 'txt_close'));
     parent::_options($opts);
 }