function _register_adapters()
 {
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Pro_Horizontal_Filmstrip_Mapper');
     if (!is_admin()) {
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Horizontal_Filmstrip_Controller', $this->module_id);
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Horizontal_Filmstrip_Form', $this->module_id);
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Pro_Horizontal_Filmstrip_Forms');
     }
 }
 function _register_adapters()
 {
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Pro_Thumbnail_Grid_Mapper');
     if (!is_admin()) {
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Thumbnail_Grid_Controller', $this->module_id);
         C_Dynamic_Stylesheet_Controller::get_instance('all')->register('nextgen_pro_thumbnail_grid', 'photocrati-nextgen_pro_thumbnail_grid#nextgen_pro_thumbnail_grid_dyncss');
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Thumbnail_Grid_Form', $this->module_id);
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Pro_Thumbnail_Grid_Forms');
     }
 }
 function _register_adapters()
 {
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Captions_Form', NGG_PRO_MASONRY);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Captions_Form', NGG_PRO_THUMBNAIL_GRID);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Captions_Form', NGG_PRO_BLOG_GALLERY);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Captions_Form', NGG_PRO_FILM);
     }
     if (!is_admin()) {
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Captions_Resources');
     }
 }
 function _register_adapters()
 {
     // Provides default values for the display type
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_Singlepic_Mapper');
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Provides the display settings form for the SinglePic display type
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_SinglePic_Form', $this->module_id);
     }
     if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)) {
         // Provides settings fields and frontend rendering
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Singlepic_Controller', $this->module_id);
     }
 }
 function _register_adapters()
 {
     // Provides default values for the display type
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Pro_Slideshow_Mapper');
     if (!is_admin()) {
         // Provides settings fields and frontend rendering
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Slideshow_Controller', $this->module_id);
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Provides a display settings form
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Slideshow_Form', $this->module_id);
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Pro_Slideshow_Forms');
     }
 }
 /**
  * Register adapters
  */
 function _register_adapters()
 {
     // Add display type
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Pro_Masonry_Mapper');
     if (!is_admin()) {
         // Add controller
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Masonry_Controller', $this->module_id);
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Add settings form
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Masonry_Form', $this->module_id);
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Pro_Masonry_Forms');
     }
 }
 function _register_hooks()
 {
     add_action('init', array($this, 'wp_init'));
     add_action('admin_init', array(&$this, 'register_forms'));
     add_action('add_meta_boxes', array($this, 'add_meta_box'));
     add_filter('the_posts', array($this, 'serve_proofing_page'));
     if (!empty($_GET['post_type']) && $_GET['post_type'] == 'nextgen_proof') {
         add_action('admin_head', array($this, 'hide_add_new_button'));
     }
     // add additional columns to display the customer name
     if (M_Attach_To_Post::is_atp_url() || is_admin() && strpos($_SERVER['SCRIPT_NAME'], '/wp-admin/edit.php') !== FALSE && isset($_REQUEST['post_type']) && $_REQUEST['post_type'] == 'nextgen_proof') {
         add_filter('manage_nextgen_proof_posts_columns', array(&$this, 'proofing_columns'));
         add_action('manage_nextgen_proof_posts_custom_column', array(&$this, 'output_proofing_column'), 10, 2);
         add_filter('manage_edit-nextgen_proof_sortable_columns', array(&$this, 'proofing_columns'));
     }
 }
 /**
  * Register adapters required for the NextGen Basic ImageBrowser
  */
 function _register_adapters()
 {
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_ImageBrowser_Mapper');
     // Add validation for the display type
     $this->get_registry()->add_adapter('I_Display_Type', 'A_NextGen_Basic_ImageBrowser');
     // Add imagebrowser ngglegacy-compatible urls
     $this->get_registry()->add_adapter('I_Routing_App', 'A_NextGen_Basic_ImageBrowser_Urls');
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Provide the imagebrowser form
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_ImageBrowser_Form', $this->module_id);
     }
     if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)) {
         // Add rendering logic
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_ImageBrowser_Controller', $this->module_id);
     }
 }
 function _register_adapters()
 {
     // Provides validation for the display type
     $this->get_registry()->add_adapter('I_Display_Type', 'A_NextGen_Basic_Tagcloud');
     // Provides default values for the display type
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_TagCloud_Mapper');
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Adds a display settings form
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_TagCloud_Form', $this->module_id);
     }
     if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)) {
         // Provides settings fields and frontend rendering
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Tagcloud_Controller', $this->module_id);
         // Add legacy urls
         $this->get_registry()->add_adapter('I_Routing_App', 'A_NextGen_Basic_TagCloud_Urls');
     }
 }
 function _register_adapters()
 {
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Pro_Album_Mapper');
     if (!is_admin()) {
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_List_Album_Controller', NGG_PRO_LIST_ALBUM);
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Grid_Album_Controller', NGG_PRO_GRID_ALBUM);
         $stylesheet_controller = C_Dynamic_Stylesheet_Controller::get_instance('all');
         $stylesheet_controller->register('nextgen_pro_list_album', 'photocrati-nextgen_pro_albums#nextgen_pro_list_album_dyncss');
         $stylesheet_controller->register('nextgen_pro_grid_album', 'photocrati-nextgen_pro_albums#nextgen_pro_grid_album_dyncss');
         $this->get_registry()->add_adapter('I_Displayed_Gallery_Renderer', 'A_NextGen_Pro_Album_Routes');
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_List_Album_Form', NGG_PRO_LIST_ALBUM);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Grid_Album_Form', NGG_PRO_GRID_ALBUM);
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Pro_Album_Forms');
     }
 }
 function _register_adapters()
 {
     // Add validation for album display settings
     $this->get_registry()->add_adapter('I_Display_Type', 'A_NextGen_Basic_Album');
     if (!is_admin()) {
         // Add a controller for displaying albums on the front-end
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Album_Controller', array(NGG_BASIC_COMPACT_ALBUM, NGG_BASIC_EXTENDED_ALBUM, $this->module_id));
         // Add a generic adapter for display types to do late url rewriting
         $this->get_registry()->add_adapter('I_Displayed_Gallery_Renderer', 'A_NextGen_Basic_Album_Routes');
     }
     // Add a mapper for setting the defaults for the album
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_Album_Mapper');
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Add a display settings form for each display type
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Compact_Album_Form', NGG_BASIC_COMPACT_ALBUM);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Extended_Album_Form', NGG_BASIC_EXTENDED_ALBUM);
     }
     // Creates special parameter segments
     $this->get_registry()->add_adapter('I_Routing_App', 'A_NextGen_Basic_Album_Urls');
 }
 function _register_adapters()
 {
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Provides the display type forms
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Slideshow_Form', NGG_BASIC_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Thumbnail_Form', NGG_BASIC_THUMBNAILS);
     }
     // Frontend-only components
     if (apply_filters('ngg_load_frontend_logic', TRUE, $this->module_id)) {
         // Provides the controllers for the display types
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Slideshow_Controller', NGG_BASIC_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Thumbnails_Controller', NGG_BASIC_THUMBNAILS);
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Gallery_Controller', NGG_BASIC_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Gallery_Controller', NGG_BASIC_THUMBNAILS);
     }
     // Provide defaults for the display types
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_Gallery_Mapper');
     // Provides validation for the display types
     $this->get_registry()->add_adapter('I_Display_Type', 'A_NextGen_Basic_Gallery_Validation');
     // Provides url generation support for the display types
     $this->get_registry()->add_adapter('I_Routing_App', 'A_NextGen_Basic_Gallery_Urls');
 }
 function _register_adapters()
 {
     $this->get_registry()->add_adapter('I_Ajax_Controller', 'A_NextGen_Pro_Lightbox_Ajax');
     if (!is_admin()) {
         $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Pro_Lightbox_Effect_Code');
     }
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // add additional settings to each supported display type
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_BASIC_THUMBNAILS);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_BASIC_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_BASIC_IMAGEBROWSER);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_BASIC_SINGLEPIC);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_HORIZONTAL_FILMSTRIP);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_THUMBNAIL_GRID);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_BLOG_GALLERY);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_FILM);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Triggers_Form', NGG_PRO_MASONRY);
         // lightbox settings form
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Pro_Lightbox_Form', NGG_PRO_LIGHTBOX);
     }
 }
 function _register_adapters()
 {
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Provides the display type forms
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Slideshow_Form', NGG_BASIC_SLIDESHOW);
         $this->get_registry()->add_adapter('I_Form', 'A_NextGen_Basic_Thumbnail_Form', NGG_BASIC_THUMBNAILS);
     }
     // Provides the controllers for the display types
     $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Slideshow_Controller', NGG_BASIC_SLIDESHOW);
     $this->get_registry()->add_adapter('I_Display_Type_Controller', 'A_NextGen_Basic_Thumbnails_Controller', NGG_BASIC_THUMBNAILS);
     // Provide defaults for the display types
     $this->get_registry()->add_adapter('I_Display_Type_Mapper', 'A_NextGen_Basic_Gallery_Mapper');
     // Provides validation for the display types
     $this->get_registry()->add_adapter('I_Display_Type', 'A_NextGen_Basic_Gallery_Validation');
     // Provides url generation support for the display types
     $this->get_registry()->add_adapter('I_Routing_App', 'A_NextGen_Basic_Gallery_Urls');
     // Provides routing logic for the display types
     $this->get_registry()->add_adapter('I_Router', 'A_NextGen_Basic_Gallery_Routes');
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         // Adds the settings forms
         $this->get_registry()->add_adapter('I_Form_Manager', 'A_NextGen_Basic_Gallery_Forms');
     }
 }
 /**
  * WPML Translation Management has a similar problem to plain ol' WPML
  */
 function wpml_translation_management()
 {
     if (!class_exists('WPML_Translation_Management')) {
         return;
     }
     if (!M_Attach_To_Post::is_atp_url()) {
         return;
     }
     global $wp_filter;
     if (empty($wp_filter['init'][10])) {
         return;
     }
     foreach ($wp_filter['init'][10] as $id => $filter) {
         if (!strpos($id, 'init')) {
             continue;
         }
         $object = $filter['function'][0];
         if (is_object($object) && get_class($object) != 'WPML_Translation_Management') {
             continue;
         }
         remove_action('init', array($object, 'init'), 10);
     }
 }
 function _register_hooks()
 {
     add_action('init', array(&$this, 'register_post_types'), 1);
     add_action('init', array($this, 'register_display_type_settings'));
     add_filter('posts_results', array(&$this, 'serve_ecommerce_pages'), 10, 2);
     add_action('wp_enqueue_scripts', array(&$this, 'enqueue_resources'), 9);
     if (M_Attach_To_Post::is_atp_url() || is_admin()) {
         add_action('admin_init', array(&$this, 'register_forms'));
         add_action('init', array($this, 'register_display_type_settings'), PHP_INT_MAX - 1);
         add_filter('ngg_manage_gallery_fields', array(&$this, 'add_gallery_pricelist_field'), 20, 2);
         add_filter('ngg_manage_images_number_of_columns', array(&$this, 'add_ecommerce_column'));
         add_filter('get_edit_post_link', array(&$this, 'custom_edit_link'));
         add_action('admin_init', array(&$this, 'redirect_to_manage_pricelist_page'));
         add_action('admin_menu', array(&$this, 'add_parent_menu'), 15);
         add_action('admin_init', array(&$this, 'enqueue_backend_resources'));
         // Tweak our custom post type UIs
         if (strpos($_SERVER['SCRIPT_NAME'], '/wp-admin/edit.php') !== FALSE && isset($_REQUEST['post_type']) && in_array($_REQUEST['post_type'], array('ngg_pricelist', 'ngg_order'))) {
             add_filter('post_row_actions', array(&$this, 'hide_quick_edit_link'), 10, 2);
             add_filter('bulk_actions-edit-ngg_order', array(&$this, 'set_bulk_actions'));
             add_filter('bulk_actions-edit-ngg_pricelist', array($this, 'set_pricelist_bulk_actions'));
             add_filter('views_edit-ngg_order', array(&$this, 'remove_post_status_views'));
             add_filter('views_edit-ngg_pricelist', array(&$this, 'remove_post_status_views'));
             add_action('admin_init', array(&$this, 'duplicate_pricelist'));
             if ($_REQUEST['post_type'] == 'ngg_order') {
                 add_action('restrict_manage_posts', array(&$this, 'filter_orders'));
                 if (isset($_REQUEST['action']) && $_REQUEST['action'] == -1) {
                     add_filter('pre_get_posts', array(&$this, 'filter_orders'));
                 }
                 add_filter('manage_ngg_order_posts_columns', array(&$this, 'order_columns'));
                 add_action('manage_ngg_order_posts_custom_column', array(&$this, 'output_order_column'), 10, 2);
                 add_filter('manage_edit-ngg_order_sortable_columns', array(&$this, 'order_columns'));
                 if (isset($_REQUEST['s'])) {
                     add_filter('get_search_query', array(&$this, 'restore_search_filter'));
                 }
             }
             // We want the Manage Pricelists page to be overwritten with our form used for
             // creating new pricelists
             if (isset($_REQUEST['ngg_edit'])) {
                 if (isset($_REQUEST['action'])) {
                     $_REQUEST['ngg_action'] = $_REQUEST['action'];
                 }
                 unset($_REQUEST['action']);
                 unset($_POST['action']);
                 add_action('all_admin_notices', array(&$this, 'buffer_for_manage_pricelist_page'), PHP_INT_MAX - 1);
                 add_action('in_admin_footer', array(&$this, 'render_manage_pricelist_page'));
             }
         }
     }
     // Flush the cart when the order is complete
     if (isset($_REQUEST['ngg_order_complete'])) {
         add_action('wp_enqueue_scripts', array(&$this, 'enqueue_flush_cart'));
     }
 }