bulet1n
Forum Replies Created
Viewing 1 replies (of 1 total)
-
Replace the content of the file package.module.widget.php with this content than it should Work our u just create a new package.module.widget.php with Notepad and paste this content, the old _package.module.widget.php just rename it
<?php /** * Class C_Widget * @mixin Mixin_Widget * @implements I_Widget */ class C_Widget extends C_MVC_Controller { public static $_instances = array(); function define($context = FALSE) { parent::define($context); $this->add_mixin('Mixin_Widget'); $this->implement('I_Widget'); } /** * @param bool|string $context * @return C_Widget */ public static function get_instance($context = FALSE) { if (!isset(self::$_instances[$context])) { self::$_instances[$context] = new C_Widget($context); } return self::$_instances[$context]; } } class Mixin_Widget extends Mixin { /** * Function for templates without widget support * * @return C_Widget_Gallery */ function echo_widget_random($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail') { $options = array('title' => FALSE, 'items' => $number, 'show' => $show, 'type' => 'random', 'width' => $width, 'height' => $height, 'exclude' => $exclude, 'list' => $list, 'webslice' => FALSE); $widget = new C_Widget_Gallery(); $widget->widget($args = array('widget_id' => 'sidebar_1'), $options); return $widget; } /** * Function for templates without widget support * * @return C_Widget_Gallery */ function echo_widget_recent($number, $width = '75', $height = '50', $exclude = 'all', $list = '', $show = 'thumbnail') { $options = array('title' => FALSE, 'items' => $number, 'show' => $show, 'type' => 'recent', 'width' => $width, 'height' => $height, 'exclude' => $exclude, 'list' => $list, 'webslice' => FALSE); $widget = new C_Widget_Gallery(); $widget->widget($args = array('widget_id' => 'sidebar_1'), $options); return $widget; } /** * Function for templates without widget support * * @param integer $galleryID * @param string $width * @param string $height * @return C_Widget_Slideshow */ function echo_widget_slideshow($galleryID, $width = '', $height = '') { $widget = new C_Widget_Slideshow(); $widget->render_slideshow($galleryID, $width, $height); return $widget; } } class C_Widget_Gallery extends WP_Widget { function __construct() { $widget_ops = array('classname' => 'ngg_images', 'description' => __('Add recent or random images from the galleries', 'nggallery')); parent::__construct('ngg-images', __('NextGEN Widget', 'nggallery'), $widget_ops); } function form($instance) { // used for rendering utilities $parent = C_Widget::get_instance(); // defaults $instance = wp_parse_args((array) $instance, array('exclude' => 'all', 'height' => '75', 'items' => '4', 'list' => '', 'show' => 'thumbnail', 'title' => 'Gallery', 'type' => 'recent', 'webslice' => TRUE, 'width' => '100')); return $parent->render_partial('photocrati-widget#form_gallery', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'items' => intval($instance['items']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width']))); } function update($new_instance, $old_instance) { $instance = $old_instance; // do not allow 0 or less if ((int) $new_instance['items'] <= 0) { $new_instance['items'] = 4; } // for clarity: empty the list if we're showing every gallery anyway if ($new_instance['exclude'] == 'all') { $new_instance['list'] = ''; } // remove gallery ids that do not exist if (in_array($new_instance['exclude'], array('denied', 'allow'))) { // do search $mapper = C_Gallery_Mapper::get_instance(); $ids = explode(',', $new_instance['list']); foreach ($ids as $ndx => $id) { if (!$mapper->find($id)) { unset($ids[$ndx]); } } $new_instance['list'] = implode(',', $ids); } // reset to show all galleries IF there are no valid galleries in the list if ($new_instance['exclude'] !== 'all' && empty($new_instance['list'])) { $new_instance['exclude'] = 'all'; } $instance['title'] = strip_tags($new_instance['title']); $instance['items'] = (int) $new_instance['items']; $instance['type'] = $new_instance['type']; $instance['show'] = $new_instance['show']; $instance['width'] = (int) $new_instance['width']; $instance['height'] = (int) $new_instance['height']; $instance['exclude'] = $new_instance['exclude']; $instance['list'] = $new_instance['list']; $instance['webslice'] = (bool) $new_instance['webslice']; return $instance; } function widget($args, $instance) { $settings = C_NextGen_Settings::get_instance(); $router = C_Router::get_instance(); wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), array(), NGG_SCRIPT_VERSION); wp_enqueue_style('nextgen_basic_thumbnails_style', $router->get_static_url('photocrati-nextgen_basic_gallery#thumbnails/nextgen_basic_thumbnails.css'), array(), NGG_SCRIPT_VERSION); // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist $before_widget = NULL; $before_title = NULL; $after_widget = NULL; $after_title = NULL; $widget_id = NULL; extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); $renderer = C_Displayed_Gallery_Renderer::get_instance(); $factory = C_Component_Factory::get_instance(); $view = $factory->create('mvc_view', ''); // IE8 webslice support if needed if (!empty($instance['webslice'])) { $before_widget .= '<div class="hslice" id="ngg-webslice">'; $before_title = str_replace('class="', 'class="entry-title ', $before_title); $after_widget = '</div>' . $after_widget; } $source = $instance['type'] == 'random' ? 'random_images' : 'recent'; $template = !empty($instance['template']) ? $instance['template'] : $view->get_template_abspath('photocrati-widget#display_gallery'); $params = array('slug' => 'widget-' . $args['widget_id'], 'source' => $source, 'display_type' => NGG_BASIC_THUMBNAILS, 'images_per_page' => $instance['items'], 'maximum_entity_count' => $instance['items'], 'template' => $template, 'image_type' => $instance['show'] == 'original' ? 'full' : 'thumb', 'show_all_in_lightbox' => FALSE, 'show_slideshow_link' => FALSE, 'show_thumbnail_link' => FALSE, 'use_imagebrowser_effect' => FALSE, 'disable_pagination' => TRUE, 'image_width' => $instance['width'], 'image_height' => $instance['height'], 'ngg_triggers_display' => 'never', 'widget_setting_title' => $title, 'widget_setting_before_widget' => $before_widget, 'widget_setting_before_title' => $before_title, 'widget_setting_after_widget' => $after_widget, 'widget_setting_after_title' => $after_title, 'widget_setting_width' => $instance['width'], 'widget_setting_height' => $instance['height'], 'widget_setting_show_setting' => $instance['show'], 'widget_setting_widget_id' => $widget_id); switch ($instance['exclude']) { case 'all': break; case 'denied': $mapper = C_Gallery_Mapper::get_instance(); $gallery_ids = array(); $list = explode(',', $instance['list']); foreach ($mapper->find_all() as $gallery) { if (!in_array($gallery->{$gallery->id_field}, $list)) { $gallery_ids[] = $gallery->{$gallery->id_field}; } } $params['container_ids'] = implode(',', $gallery_ids); break; case 'allow': $params['container_ids'] = $instance['list']; break; } // "Random" galleries are a bit resource intensive when querying the database and widgets are generally // going to be on every page a site may serve. Because the displayed gallery renderer does *NOT* cache the // HTML of random galleries the following is a bit of a workaround: for random widgets we create a displayed // gallery object and then cache the results of get_entities() so that, for at least as long as // NGG_RENDERING_CACHE_TTL seconds, widgets will be temporarily cached if (in_array($params['source'], array('random', 'random_images')) && (float) $settings->random_widget_cache_ttl > 0) { $displayed_gallery = $renderer->params_to_displayed_gallery($params); if (is_null($displayed_gallery->id())) { $displayed_gallery->id(md5(json_encode($displayed_gallery->get_entity()))); } $cache_group = 'random_widget_gallery_ids'; $cache_params = array($displayed_gallery->get_entity()); $transientM = C_Photocrati_Transient_Manager::get_instance(); $key = $transientM->generate_key($cache_group, $cache_params); $ids = $transientM->get($key, FALSE); if (!empty($ids)) { $params['image_ids'] = $ids; } else { $ids = array(); foreach ($displayed_gallery->get_entities($instance['items'], FALSE, TRUE) as $item) { $ids[] = $item->{$item->id_field}; } $params['image_ids'] = implode(',', $ids); $transientM->set($key, $params['image_ids'], (float) $settings->random_widget_cache_ttl * 60); } $params['source'] = 'images'; unset($params['container_ids']); } print $renderer->display_images($params); } } class C_Widget_MediaRSS extends WP_Widget { var $options; function __construct() { $widget_ops = array('classname' => 'ngg_mrssw', 'description' => __('Widget that displays Media RSS links for NextGEN Gallery.', 'nggallery')); parent::__construct('ngg-mrssw', __('NextGEN Media RSS', 'nggallery'), $widget_ops); } function form($instance) { // used for rendering utilities $parent = C_Widget::get_instance(); // defaults $instance = wp_parse_args((array) $instance, array('mrss_text' => __('Media RSS', 'nggallery'), 'mrss_title' => __('Link to the main image feed', 'nggallery'), 'show_global_mrss' => TRUE, 'show_icon' => TRUE, 'title' => 'Media RSS')); return $parent->render_partial('photocrati-widget#form_mediarss', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'mrss_text' => esc_attr($instance['mrss_text']), 'mrss_title' => esc_attr($instance['mrss_title']))); } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['show_global_mrss'] = $new_instance['show_global_mrss']; $instance['show_icon'] = $new_instance['show_icon']; $instance['mrss_text'] = $new_instance['mrss_text']; $instance['mrss_title'] = $new_instance['mrss_title']; return $instance; } function widget($args, $instance) { // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist $before_widget = NULL; $before_title = NULL; $after_widget = NULL; $after_title = NULL; $widget_id = NULL; extract($args); $settings = C_NextGen_Settings::get_instance(); $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); $parent->render_partial('photocrati-widget#display_mediarss', array('self' => $this, 'instance' => $instance, 'title' => $title, 'settings' => $settings, 'before_widget' => $before_widget, 'before_title' => $before_title, 'after_widget' => $after_widget, 'after_title' => $after_title, 'widget_id' => $widget_id)); } function get_mrss_link($mrss_url, $show_icon = TRUE, $title, $text) { $out = ''; if ($show_icon) { $icon_url = NGGALLERY_URLPATH . 'images/mrss-icon.gif'; $out .= "<a href='{$mrss_url}' title='{$title}' class='ngg-media-rss-link'>"; $out .= "<img src='{$icon_url}' alt='MediaRSS Icon' title='" . $title . "' class='ngg-media-rss-icon' />"; $out .= "</a> "; } if ($text != '') { $out .= "<a href='{$mrss_url}' title='{$title}' class='ngg-media-rss-link'>"; $out .= $text; $out .= "</a>"; } return $out; } } class C_Widget_Slideshow extends WP_Widget { function __construct() { $widget_ops = array('classname' => 'widget_slideshow', 'description' => __('Show a NextGEN Gallery Slideshow', 'nggallery')); parent::__construct('slideshow', __('NextGEN Slideshow', 'nggallery'), $widget_ops); } function form($instance) { global $wpdb; // used for rendering utilities $parent = C_Widget::get_instance(); // defaults $instance = wp_parse_args((array) $instance, array('galleryid' => '0', 'height' => '120', 'title' => 'Slideshow', 'width' => '160', 'limit' => '10')); return $parent->render_partial('photocrati-widget#form_slideshow', array('self' => $this, 'instance' => $instance, 'title' => esc_attr($instance['title']), 'height' => esc_attr($instance['height']), 'width' => esc_attr($instance['width']), 'limit' => esc_attr($instance['limit']), 'tables' => $wpdb->get_results("SELECT * FROM {$wpdb->nggallery} ORDER BY 'name' ASC"))); } function update($new_instance, $old_instance) { $nh = $new_instance['height']; $nw = $new_instance['width']; if (empty($nh) || (int) $nh === 0) { $new_instance['height'] = 120; } if (empty($nw) || (int) $nw === 0) { $new_instance['width'] = 160; } if (empty($new_instance['limit'])) { $new_instance['limit'] = 10; } $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['galleryid'] = (int) $new_instance['galleryid']; $instance['height'] = (int) $new_instance['height']; $instance['width'] = (int) $new_instance['width']; $instance['limit'] = (int) $new_instance['limit']; return $instance; } function widget($args, $instance) { $router = C_Router::get_instance(); wp_enqueue_style('nextgen_widgets_style', $router->get_static_url('photocrati-widget#widgets.css'), array(), NGG_SCRIPT_VERSION); wp_enqueue_style('nextgen_basic_slideshow_style', $router->get_static_url('photocrati-nextgen_basic_gallery#slideshow/ngg_basic_slideshow.css'), array(), NGG_SCRIPT_VERSION); // these are handled by extract() but I want to silence my IDE warnings that these vars don't exist $before_widget = NULL; $before_title = NULL; $after_widget = NULL; $after_title = NULL; $widget_id = NULL; extract($args); $parent = C_Component_Registry::get_instance()->get_utility('I_Widget'); $title = apply_filters('widget_title', empty($instance['title']) ? __('Slideshow', 'nggallery') : $instance['title'], $instance, $this->id_base); if (empty($instance['limit'])) { $instance['limit'] = 10; } $out = $this->render_slideshow($instance['galleryid'], $instance['width'], $instance['height'], $instance['limit'], $args); $parent->render_partial('photocrati-widget#display_slideshow', array('self' => $this, 'instance' => $instance, 'title' => $title, 'out' => $out, 'before_widget' => $before_widget, 'before_title' => $before_title, 'after_widget' => $after_widget, 'after_title' => $after_title, 'widget_id' => $widget_id)); } function render_slideshow($galleryID, $irWidth = '', $irHeight = '', $limit = 10, $args) { $registry = C_Component_Registry::get_instance(); $renderer = C_Displayed_Gallery_Renderer::get_instance(); $params = array( 'container_ids' => $galleryID, 'display_type' => 'photocrati-nextgen_basic_slideshow', 'gallery_width' => $irWidth, 'gallery_height' => $irHeight, 'source' => 'galleries', 'slug' => 'widget-' . $args['widget_id'], 'entity_types' => array('image'), 'show_thumbnail_link' => FALSE, 'show_slideshow_link' => FALSE, 'use_imagebrowser_effect' => FALSE, // just to be safe 'ngg_triggers_display' => 'never', ); if (0 === $galleryID) { $params['source'] = 'random_images'; $params['maximum_entity_count'] = $limit; unset($params['container_ids']); } $retval = $renderer->display_images($params, NULL); $retval = apply_filters('ngg_show_slideshow_widget_content', $retval, $galleryID, $irWidth, $irHeight); return $retval; } }
Viewing 1 replies (of 1 total)