WordPress.org

Plugin Directory

Changeset 608725


Ignore:
Timestamp:
10/05/12 22:27:03 (19 months ago)
Author:
rzen
Message:

Overhauled plugin settings to use Settings API, updated screenshots, added plugin banner, fixed bugs, pushed new stable tag of 1.7

Location:
nextgen-public-uploader
Files:
8 added
10 deleted
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • nextgen-public-uploader/tags/1.7/inc/class.npu_uploader.php

    r376822 r608725  
    1717    public $arrErrorMsg_widg = array(); 
    1818 
    19     function upload_images() {         
     19    function upload_images() { 
    2020        global $wpdb; 
    2121        // Image Array 
     
    3232        } 
    3333        // Get Gallery Path 
    34         $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");       
     34        $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); 
    3535        if (!$gallerypath){ 
    3636            nggGallery::show_error(__('Failure in database, no gallery path set.','nggallery')); 
     
    4141        foreach ($_FILES as $key => $value) { 
    4242            if ($_FILES[$key]['error'] == 0) { 
     43                $entropy = ''; 
    4344                $temp_file = $_FILES[$key]['tmp_name']; 
    4445                $filepart = pathinfo ( strtolower($_FILES[$key]['name']) ); 
     
    5152                $filename = sanitize_title($filepart['filename']) . '-' . sha1(md5($entropy)) . '.' . $filepart['extension']; 
    5253                // Allowed Extensions 
    53                 $ext = array('jpeg', 'jpg', 'png', 'gif');           
     54                $ext = array('jpeg', 'jpg', 'png', 'gif'); 
    5455                if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ 
    5556                    nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is not a valid file.','nggallery')); 
     
    8384            } 
    8485        } 
    85         if (count($imageslist) > 0) {        
     86        if (count($imageslist) > 0) { 
    8687            if (get_option('npu_exclude_select') == "Disabled") { 
    8788                $npu_exclude_id = 0; 
     
    104105        return; 
    105106    } // End Function 
    106      
    107     function upload_images_widget() {        
     107 
     108    function upload_images_widget() { 
    108109        global $wpdb; 
    109110        // Image Array 
     
    120121        } 
    121122        // Get Gallery Path 
    122         $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");        
     123        $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); 
    123124        if (!$gallerypath){ 
    124125            nggGallery::show_error(__('Failure in database, no gallery path set.','nggallery')); 
     
    135136                $filename = sanitize_title($filepart['filename']) . '.' . $filepart['extension']; 
    136137                // Allowed Extensions 
    137                 $ext = array('jpeg', 'jpg', 'png', 'gif');       
     138                $ext = array('jpeg', 'jpg', 'png', 'gif'); 
    138139                if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ 
    139140                    nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is not a valid file.','nggallery')); 
     
    167168            } 
    168169        } 
    169         if (count($imageslist) > 0) {        
     170        if (count($imageslist) > 0) { 
    170171            if (get_option('npu_exclude_select') == "Disabled") { 
    171172                $npu_exclude_id = 0; 
  • nextgen-public-uploader/tags/1.7/inc/npu-upload.php

    r200043 r608725  
    22 
    33if (!class_exists("npuGalleryUpload")) { 
    4      
     4 
    55    // Public Variables 
    6     class npuGalleryUpload { 
    7         public $arrImageIds; 
    8         public $strGalleryPath = false; 
    9         public $blnRedirectPage = false; 
    10         public $arrUploadedThumbUrls = false; 
    11         public $arrUploadedImageUrls = false; 
    12         public $arrErrorMsg = array(); 
     6    class npuGalleryUpload { 
     7        public $arrImageIds; 
     8        public $strGalleryPath = false; 
     9        public $blnRedirectPage = false; 
     10        public $arrUploadedThumbUrls = false; 
     11        public $arrUploadedImageUrls = false; 
     12        public $arrErrorMsg = array(); 
    1313        public $arrImageMsg = array(); 
    1414        public $arrErrorMsg_widg = array(); 
    1515        public $arrImageMsg_widg = array(); 
    16         public $arrImageNames = array(); 
    17         public $arrImageMeta = array(); 
    18         public $strTitle = false; 
    19         public $strDescription = false; 
    20         public $strKeywords = false; 
    21         public $strTimeStamp = false; 
    22          
    23         // Function: Constructors 
    24         public function __construct() 
    25         { 
    26             add_shortcode("ngg_uploader", array(&$this, 'shortcode_show_uploader')); // Shortcode Uploader 
    27             // Enable Widget 
    28             if(get_option('npu_widget_uploader_select') == 'Enabled') { 
    29                 add_action('widgets_init', array(&$this, 'npu_upload_register')); // Widget Uploader 
    30             }        
    31         } 
    32          
     16        public $arrImageNames = array(); 
     17        public $arrImageMeta = array(); 
     18        public $strTitle = false; 
     19        public $strDescription = false; 
     20        public $strKeywords = false; 
     21        public $strTimeStamp = false; 
     22 
     23        // Function: Constructors 
     24        public function __construct() 
     25        { 
     26            add_shortcode("ngg_uploader", array(&$this, 'shortcode_show_uploader')); // Shortcode Uploader 
     27            add_action('widgets_init', array(&$this, 'npu_upload_register')); // Widget Uploader 
     28        } 
     29 
    3330        // Function: Register Widget 
    34         public function npu_upload_register() { 
    35             $options = get_option('npu_gal_upload'); 
    36             if (!$options) { 
    37                 $options = array(); 
    38             } 
    39             $widget_ops = array('classname' => 'npu_gallery_upload', 'description' => __('Upload images to a NextGEN Gallery', 'nggallery')); 
    40             $control_ops = array('width' => 250, 'height' => 200, 'id_base' => 'npu-gallery-upload'); 
    41             $name = __('NextGEN Uploader','nggallery'); 
    42             $id = false; 
    43             foreach (array_keys($options) as $o) { 
    44                 if (!isset($options[$o]['title'])) { 
    45                     continue; 
    46                 } 
    47                 $id = "npu-gallery-upload-$o"; 
    48                 wp_register_sidebar_widget($id, $name, array(&$this, 'npu_upload_output'), $widget_ops, array('number' => $o)); 
    49                 wp_register_widget_control($id, $name, array(&$this, 'npu_upload_control'), $control_ops, array('number' => $o)); 
    50             } 
    51             if ( !$id ) { 
    52                 wp_register_sidebar_widget( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_output'), $widget_ops, array( 'number' => -1 ) ); 
    53                 wp_register_widget_control( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_control'), $control_ops, array( 'number' => -1 ) ); 
    54             } 
    55         } 
    56          
     31        public function npu_upload_register() { 
     32            $options = get_option('npu_gal_upload'); 
     33            if (!$options) { 
     34                $options = array(); 
     35            } 
     36            $widget_ops = array('classname' => 'npu_gallery_upload', 'description' => __('Upload images to a NextGEN Gallery', 'nggallery')); 
     37            $control_ops = array('width' => 250, 'height' => 200, 'id_base' => 'npu-gallery-upload'); 
     38            $name = __('NextGEN Uploader','nggallery'); 
     39            $id = false; 
     40            foreach (array_keys($options) as $o) { 
     41                if (!isset($options[$o]['title'])) { 
     42                    continue; 
     43                } 
     44                $id = "npu-gallery-upload-$o"; 
     45                wp_register_sidebar_widget($id, $name, array(&$this, 'npu_upload_output'), $widget_ops, array('number' => $o)); 
     46                wp_register_widget_control($id, $name, array(&$this, 'npu_upload_control'), $control_ops, array('number' => $o)); 
     47            } 
     48            if ( !$id ) { 
     49                wp_register_sidebar_widget( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_output'), $widget_ops, array( 'number' => -1 ) ); 
     50                wp_register_widget_control( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_control'), $control_ops, array( 'number' => -1 ) ); 
     51            } 
     52        } 
     53 
    5754        // Function: Widget Control 
    58         public function npu_upload_control($widget_args = 1) {           
    59             global $wp_registered_widgets, $wpdb; 
    60             static $updated = false; 
    61             if (is_numeric($widget_args)) { 
    62                 $widget_args = array('number' => $widget_args); 
    63             }           
    64             $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
    65             extract($widget_args, EXTR_SKIP); 
    66             $options = get_option('npu_gal_upload'); 
    67             if (!is_array($options)) { 
    68                 $options = array(); 
    69             }           
    70             if (!$updated && !empty($_POST['sidebar'])) {            
    71                 $sidebar = (string) $_POST['sidebar']; 
    72                 $sidebar_widgets = wp_get_sidebars_widgets();              
    73                 if (isset($sidebar_widgets[$sidebar])) { 
    74                     $this_sidebar = &$sidebar_widgets[$sidebar]; 
    75                 } else { 
    76                     $this_sidebar = array(); 
    77                 } 
    78                 foreach ($this_sidebar as $_widget_id) {                 
    79                     if ('npu_gallery_upload' == $wp_registered_widgets[$_widget_id]['classname'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number'])) { 
    80                         $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    81                         if (!in_array("npu-gallery-upload-{$widget_number}", $_POST['widget-id'])) { 
    82                             unset ($options[$widget_number]); 
    83                         } 
    84                     }                     
    85                 } 
    86                 foreach ((array)$_POST['widget_npu_upload'] as $widget_number => $widget_npu_upload) {                   
    87                     if (!isset($widget_npu_upload['gal_id']) && isset($options[$widget_number])) { 
    88                         continue; 
    89                     } 
    90                     $widget_npu_upload = stripslashes_deep($widget_npu_upload); 
    91                     $options[$widget_number]['title'] = $widget_npu_upload['title']; 
    92                     $options[$widget_number]['gal_id'] = $widget_npu_upload['gal_id']; 
    93                 } 
    94                 update_option('npu_gal_upload', $options); 
    95                 $updated = true; 
    96             } 
    97             if (-1 == $number) { 
    98                 $title = 'Upload'; 
    99                 $gal_id = 0; 
    100                 $number = '%i%'; 
    101             } else { 
    102                 extract((array)$options[$number]); 
    103             } 
    104             include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
    105             $nggdb = new nggdb(); 
    106             $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
    107             ?> 
    108             <p> 
    109                 <label for="npu_upload-title-<?php echo $number; ?>"><?php _e('Title :','nggallery'); ?> 
    110                     <input id="npu_upload-title-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][title]" type="text" class="widefat" value="<?php echo $title; ?>" /> 
    111                 </label> 
    112             </p> 
    113             <p> 
    114                 <label for="npu_upload-id-<?php echo $number; ?>"><?php _e('Upload to :','nggallery'); ?> 
    115                     <select id="npu_upload-id-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][gal_id]" > 
    116                         <option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option> 
    117                         <?php  
    118                         foreach ($gallerylist as $gallery) { 
    119                             $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?> 
    120                             <option <?php selected($gallery->gid , $gal_id); ?> value="<?php echo $gallery->gid; ?>"><?php _e($gallery->gid.' - '.$name,'nggallery'); ?></option> 
    121                         <?php } ?> 
    122                     </select> 
    123                 </label> 
    124             </p> 
    125             <input type="hidden" id="npu_upload-submit-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][submit]" value="1" /> 
    126             <?php 
    127         } 
    128          
     55        public function npu_upload_control($widget_args = 1) { 
     56            global $wp_registered_widgets, $wpdb; 
     57            static $updated = false; 
     58            if (is_numeric($widget_args)) { 
     59                $widget_args = array('number' => $widget_args); 
     60            } 
     61            $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
     62            extract($widget_args, EXTR_SKIP); 
     63            $options = get_option('npu_gal_upload'); 
     64            if (!is_array($options)) { 
     65                $options = array(); 
     66            } 
     67            if (!$updated && !empty($_POST['sidebar'])) { 
     68                $sidebar = (string) $_POST['sidebar']; 
     69                $sidebar_widgets = wp_get_sidebars_widgets(); 
     70                if (isset($sidebar_widgets[$sidebar])) { 
     71                    $this_sidebar = &$sidebar_widgets[$sidebar]; 
     72                } else { 
     73                    $this_sidebar = array(); 
     74                } 
     75                foreach ($this_sidebar as $_widget_id) { 
     76                    if ('npu_gallery_upload' == $wp_registered_widgets[$_widget_id]['classname'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number'])) { 
     77                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
     78                        if (!in_array("npu-gallery-upload-{$widget_number}", $_POST['widget-id'])) { 
     79                            unset ($options[$widget_number]); 
     80                        } 
     81                    } 
     82                } 
     83                foreach ((array)$_POST['widget_npu_upload'] as $widget_number => $widget_npu_upload) { 
     84                    if (!isset($widget_npu_upload['gal_id']) && isset($options[$widget_number])) { 
     85                        continue; 
     86                    } 
     87                    $widget_npu_upload = stripslashes_deep($widget_npu_upload); 
     88                    $options[$widget_number]['title'] = $widget_npu_upload['title']; 
     89                    $options[$widget_number]['gal_id'] = $widget_npu_upload['gal_id']; 
     90                } 
     91                update_option('npu_gal_upload', $options); 
     92                $updated = true; 
     93            } 
     94            if (-1 == $number) { 
     95                $title = 'Upload'; 
     96                $gal_id = 0; 
     97                $number = '%i%'; 
     98            } else { 
     99                extract((array)$options[$number]); 
     100            } 
     101            include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
     102            $nggdb = new nggdb(); 
     103            $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
     104            ?> 
     105            <p> 
     106                <label for="npu_upload-title-<?php echo $number; ?>"><?php _e('Title:','nggallery'); ?> 
     107                    <input id="npu_upload-title-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][title]" type="text" class="widefat" value="<?php echo $title; ?>" /> 
     108                </label> 
     109            </p> 
     110            <p> 
     111                <label for="npu_upload-id-<?php echo $number; ?>"><?php _e('Upload to :','nggallery'); ?> 
     112                    <select id="npu_upload-id-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][gal_id]" > 
     113                        <option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option> 
     114                        <?php 
     115                            foreach ($gallerylist as $gallery) { 
     116                                $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; 
     117                                echo '<option ' . selected( $gallery->gid , $gal_id ) . ' value="' . $gallery->gid . '">ID: ' . $gallery->gid . ' &ndash; ' . $name . '</option>'; 
     118                            } 
     119                        ?> 
     120                    </select> 
     121                </label> 
     122            </p> 
     123            <input type="hidden" id="npu_upload-submit-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][submit]" value="1" /> 
     124            <?php 
     125        } 
     126 
    129127        // Function: Widget Output 
    130         public function npu_upload_output($args, $widget_args = 1, $options = false) { 
    131             extract($args, EXTR_SKIP); 
    132             if (is_numeric($widget_args)) { 
    133                 $widget_args = array('number' => $widget_args); 
    134             } 
    135             $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
    136             extract($widget_args, EXTR_SKIP); 
    137             if(!$options) { 
    138                 $options = get_option('npu_gal_upload'); 
    139             } 
    140             $gal_id = $options[$number]['gal_id']; 
    141             $this->handleUpload_widget(); 
    142             echo $args['before_widget']; 
    143             echo $args['before_title'].$options[$number]['title'].$args['after_title']; 
    144             $this->display_uploader_widget($gal_id, false); 
    145             echo $args['after_widget'];        
    146         } 
     128        public function npu_upload_output($args, $widget_args = 1, $options = false) { 
     129            extract($args, EXTR_SKIP); 
     130            if (is_numeric($widget_args)) { 
     131                $widget_args = array('number' => $widget_args); 
     132            } 
     133            $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
     134            extract($widget_args, EXTR_SKIP); 
     135            if(!$options) { 
     136                $options = get_option('npu_gal_upload'); 
     137            } 
     138            $gal_id = $options[$number]['gal_id']; 
     139            $this->handleUpload_widget(); 
     140            echo $args['before_widget']; 
     141            echo $args['before_title'].$options[$number]['title'].$args['after_title']; 
     142            $this->display_uploader_widget($gal_id, false); 
     143            echo $args['after_widget']; 
     144        } 
    147145 
    148146        // Function: Add Scripts 
    149         public function add_scripts () {         
    150             wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0');            
    151             // Setup Array 
    152             wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( 
    153                         'url' => admin_url('admin-ajax.php'), 
    154                         'action' => 'ngg_ajax_operation', 
    155                         'operation' => '', 
    156                         'nonce' => wp_create_nonce( 'ngg-ajax' ), 
    157                         'ids' => '', 
    158                         'permission' => __('You do not have the correct permission', 'nggallery'), 
    159                         'error' => __('Unexpected Error', 'nggallery'), 
    160                         'failure' => __('Upload Failed', 'nggallery') 
    161             ) );            
    162             wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0'); 
    163             wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0'); 
    164             wp_enqueue_script( 'jquery-ui-tabs' ); 
    165             wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' ); 
    166             wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' ); 
    167             wp_enqueue_script( 'ngg-ajax' ); 
    168             wp_enqueue_script( 'ngg-progressbar' );            
    169         } 
     147        public function add_scripts () { 
     148            wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0'); 
     149            // Setup Array 
     150            wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( 
     151                        'url' => admin_url('admin-ajax.php'), 
     152                        'action' => 'ngg_ajax_operation', 
     153                        'operation' => '', 
     154                        'nonce' => wp_create_nonce( 'ngg-ajax' ), 
     155                        'ids' => '', 
     156                        'permission' => __('You do not have the correct permission', 'nggallery'), 
     157                        'error' => __('Unexpected Error', 'nggallery'), 
     158                        'failure' => __('Upload Failed', 'nggallery') 
     159            ) ); 
     160            wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0'); 
     161            wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0'); 
     162            wp_enqueue_script( 'jquery-ui-tabs' ); 
     163            wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' ); 
     164            wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' ); 
     165            wp_enqueue_script( 'ngg-ajax' ); 
     166            wp_enqueue_script( 'ngg-progressbar' ); 
     167        } 
    170168 
    171169        // Function: Shortcode Form 
    172         public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
     170        public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
    173171            $strOutput = ""; 
    174             if (count($this->arrErrorMsg) > 0) { 
    175                 $strOutput .= "<div class=\"upload_error\">"; 
    176                 foreach ($this->arrErrorMsg as $msg) { 
    177                     $strOutput .= $msg; 
    178                 } 
    179                 $strOutput .= "</div>"; 
    180             } 
     172            if (count($this->arrErrorMsg) > 0) { 
     173                $strOutput .= "<div class=\"upload_error\">"; 
     174                foreach ($this->arrErrorMsg as $msg) { 
     175                    $strOutput .= $msg; 
     176                } 
     177                $strOutput .= "</div>"; 
     178            } 
    181179            if (count($this->arrImageMsg) > 0) { 
    182                 $strOutput .= "<div class=\"upload_error\">"; 
    183                 foreach ($this->arrImageMsg as $msg) { 
    184                     $strOutput .= $msg; 
    185                 } 
    186                 $strOutput .= "</div>"; 
    187             } 
    188             if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
    189                 $strOutput .= "<div class=\"need_login\">"; 
     180                $strOutput .= "<div class=\"upload_error\">"; 
     181                foreach ($this->arrImageMsg as $msg) { 
     182                    $strOutput .= $msg; 
     183                } 
     184                $strOutput .= "</div>"; 
     185            } 
     186            if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
     187                $strOutput .= "<div class=\"need_login\">"; 
    190188                if(get_option('npu_notlogged')) { 
    191                     $strOutput .= get_option('npu_notlogged'); 
     189                    $strOutput .= get_option('npu_notlogged'); 
    192190                } else { 
    193191                    $strOutput .= "You must be registered and logged in to upload images."; 
    194192                } 
    195                 $strOutput .= "</div>";             
    196             } else {                 
    197                 $npu_selected_user_role = get_option('npu_user_role_select');            
    198                 if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {                  
    199                     $strOutput .= "<div id=\"uploadimage\">"; 
    200                     $strOutput .= "\n\t<form name=\"uploadimage\" id=\"uploadimage_form\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
    201                     $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
    202                     $strOutput .= "\n\t<div class=\"uploader\">"; 
    203                     $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
    204                     $strOutput .= "\n</div>"; 
    205                     $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
    206                     if (!$strDetailsPage) { 
    207                         $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
    208                         if ($blnShowAltText) {} 
    209                         $strOutput .= "\n\t</div>"; 
    210                     }                
    211                     if(get_option('npu_image_description_select') == 'Enabled') {            
    212                         $strOutput .= "<br />";              
    213                         if(get_option('npu_description_text')) {             
    214                             $strOutput .= get_option('npu_description_text');            
    215                         } else {             
     193                $strOutput .= "</div>"; 
     194            } else { 
     195                $npu_selected_user_role = get_option('npu_user_role_select'); 
     196                if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) { 
     197                    $strOutput .= "<div id=\"uploadimage\">"; 
     198                    $strOutput .= "\n\t<form name=\"uploadimage\" id=\"uploadimage_form\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
     199                    $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
     200                    $strOutput .= "\n\t<div class=\"uploader\">"; 
     201                    $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
     202                    $strOutput .= "\n</div>"; 
     203                    $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
     204                    if (!$strDetailsPage) { 
     205                        $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
     206                        if ($blnShowAltText) {} 
     207                        $strOutput .= "\n\t</div>"; 
     208                    } 
     209                    if(get_option('npu_image_description_select') == 'Enabled') { 
     210                        $strOutput .= "<br />"; 
     211                        if(get_option('npu_description_text')) { 
     212                            $strOutput .= get_option('npu_description_text'); 
     213                        } else { 
    216214                        $strOutput .= __('Description:', 'ngg-public-uploader'); 
    217                         }                
    218                         $strOutput .= "<br />";              
    219                         $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>";                
    220                     }                
    221                     $strOutput .= "\n\t<div class=\"submit\"><br />";                 
     215                        } 
     216                        $strOutput .= "<br />"; 
     217                        $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>"; 
     218                    } 
     219                    $strOutput .= "\n\t<div class=\"submit\"><br />"; 
    222220                    if(get_option('npu_upload_button')) { 
    223                         $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" "; 
    224                         $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
     221                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" "; 
     222                        $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
    225223                    } else { 
    226224                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" value=\"Upload\" />"; 
    227                     }                              
    228                     $strOutput .= "\n\t\t</div>"; 
    229                     $strOutput .= "\n</form>"; 
    230                     $strOutput .= "\n</div>"; 
    231                 } 
    232             }             
    233             if ($echo) { 
    234                 echo $strOutput; 
    235             } else { 
    236                 return $strOutput; 
    237             }            
    238         } 
    239          
     225                    } 
     226                    $strOutput .= "\n\t\t</div>"; 
     227                    $strOutput .= "\n</form>"; 
     228                    $strOutput .= "\n</div>"; 
     229                } 
     230            } 
     231            if ($echo) { 
     232                echo $strOutput; 
     233            } else { 
     234                return $strOutput; 
     235            } 
     236        } 
     237 
    240238        // Function: Widget Form 
    241         public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {    
    242             $strOutput = ""; 
    243             if (count($this->arrErrorMsg_widg) > 0) { 
    244                 $strOutput .= "<div class=\"upload_error\">"; 
    245                 foreach ($this->arrErrorMsg_widg as $msg) { 
    246                     $strOutput .= $msg; 
    247                 } 
    248                 $strOutput .= "</div>"; 
    249             }        
     239        public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
     240            $strOutput = ""; 
     241            if (count($this->arrErrorMsg_widg) > 0) { 
     242                $strOutput .= "<div class=\"upload_error\">"; 
     243                foreach ($this->arrErrorMsg_widg as $msg) { 
     244                    $strOutput .= $msg; 
     245                } 
     246                $strOutput .= "</div>"; 
     247            } 
    250248            if (count($this->arrImageMsg_widg) > 0) { 
    251                 $strOutput .= "<div class=\"upload_error\">"; 
    252                 foreach ($this->arrImageMsg_widg as $msg) { 
    253                     $strOutput .= $msg; 
    254                 } 
    255                 $strOutput .= "</div>"; 
    256             }        
    257             if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
    258                 $strOutput .= "<div class=\"need_login\">"; 
     249                $strOutput .= "<div class=\"upload_error\">"; 
     250                foreach ($this->arrImageMsg_widg as $msg) { 
     251                    $strOutput .= $msg; 
     252                } 
     253                $strOutput .= "</div>"; 
     254            } 
     255            if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
     256                $strOutput .= "<div class=\"need_login\">"; 
    259257                if(get_option('npu_notlogged')) { 
    260                     $strOutput .= get_option('npu_notlogged'); 
     258                    $strOutput .= get_option('npu_notlogged'); 
    261259                } else { 
    262260                    $strOutput .= "You must be registered and logged in to upload images."; 
    263261                } 
    264                 $strOutput .= "</div>"; 
    265             } else {                 
    266                 $npu_selected_user_role = get_option('npu_user_role_select');                
     262                $strOutput .= "</div>"; 
     263            } else { 
     264                $npu_selected_user_role = get_option('npu_user_role_select'); 
    267265                if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) { 
    268                     $strOutput .= "<div id=\"uploadimage\">"; 
    269                     $strOutput .= "\n\t<form name=\"uploadimage_widget\" id=\"uploadimage_form_widget\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
    270                     $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
    271                     $strOutput .= "\n\t<div class=\"uploader\">"; 
    272                     $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
    273                     $strOutput .= "\n</div>"; 
    274                     $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
    275                     if (!$strDetailsPage) { 
    276                         $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
    277                         if ($blnShowAltText) {} 
    278                         $strOutput .= "\n\t</div>"; 
    279                     }        
    280                     if(get_option('npu_image_description_select') == 'Enabled') {        
    281                         $strOutput .= "<br />";                              
    282                         if(get_option('npu_description_text')) {             
    283                             $strOutput .= get_option('npu_description_text');            
    284                         } else {             
     266                    $strOutput .= "<div id=\"uploadimage\">"; 
     267                    $strOutput .= "\n\t<form name=\"uploadimage_widget\" id=\"uploadimage_form_widget\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
     268                    $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
     269                    $strOutput .= "\n\t<div class=\"uploader\">"; 
     270                    $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
     271                    $strOutput .= "\n</div>"; 
     272                    $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
     273                    if (!$strDetailsPage) { 
     274                        $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
     275                        if ($blnShowAltText) {} 
     276                        $strOutput .= "\n\t</div>"; 
     277                    } 
     278                    if(get_option('npu_image_description_select') == 'Enabled') { 
     279                        $strOutput .= "<br />"; 
     280                        if(get_option('npu_description_text')) { 
     281                            $strOutput .= get_option('npu_description_text'); 
     282                        } else { 
    285283                            $strOutput .= __('Description:', 'ngg-public-uploader'); 
    286                         }                
    287                         $strOutput .= "<br />";              
    288                         $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>";        
    289                     }                
    290                     $strOutput .= "\n\t<div class=\"submit\"><br />"; 
     284                        } 
     285                        $strOutput .= "<br />"; 
     286                        $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>"; 
     287                    } 
     288                    $strOutput .= "\n\t<div class=\"submit\"><br />"; 
    291289                    if(get_option('npu_upload_button')) { 
    292                         $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" "; 
    293                         $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
     290                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" "; 
     291                        $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
    294292                    } else { 
    295293                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" value=\"Upload\" />"; 
    296294                    } 
    297                     $strOutput .= "\n\t\t</div>"; 
    298                     $strOutput .= "\n</form>"; 
    299                     $strOutput .= "\n</div>"; 
    300                 } 
    301             } 
    302             if ($echo) { 
    303                 echo $strOutput; 
    304             } else { 
    305                 return $strOutput; 
    306             }           
     295                    $strOutput .= "\n\t\t</div>"; 
     296                    $strOutput .= "\n</form>"; 
     297                    $strOutput .= "\n</div>"; 
     298                } 
     299            } 
     300            if ($echo) { 
     301                echo $strOutput; 
     302            } else { 
     303                return $strOutput; 
     304            } 
    307305        } 
    308306 
    309307        // Function: Handle Upload for Shortcode 
    310         public function handleUpload() {     
    311             global $wpdb; 
    312             require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
    313             require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
    314             $ngg->options['swfupload'] = false; 
    315             if ($_POST['uploadimage']){          
    316                 check_admin_referer('ngg_addgallery'); 
    317                 if ($_FILES['MF__F_0_0']['error'] == 0) { 
    318                     $objUploaderNggAdmin = new UploaderNggAdmin(); 
    319                     $messagetext = $objUploaderNggAdmin->upload_images(); 
    320                     $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
    321                     $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
    322                     $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
    323                     if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
    324                         foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
    325                             if ($strReturnMsg != '1') { 
    326                                 $this->arrErrorMsg[] = $strReturnMsg; 
    327                             } 
    328                         }    
     308        public function handleUpload() { 
     309            global $wpdb; 
     310            require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
     311            require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
     312            $ngg->options['swfupload'] = false; 
     313            if ( isset( $_POST['uploadimage'] ) ) { 
     314                check_admin_referer('ngg_addgallery'); 
     315                if ( !isset($_FILES['MF__F_0_0']['error']) || $_FILES['MF__F_0_0']['error'] == 0) { 
     316                    $objUploaderNggAdmin = new UploaderNggAdmin(); 
     317                    $messagetext = $objUploaderNggAdmin->upload_images(); 
     318                    $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
     319                    $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
     320                    $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
     321                    if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
     322                        foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
     323                            if ($strReturnMsg != '1') { 
     324                                $this->arrErrorMsg[] = $strReturnMsg; 
     325                            } 
     326                        } 
    329327                        if(get_option('npu_upload_success')) { 
    330328                            $this->arrImageMsg[] = get_option('npu_upload_success'); 
     
    333331                        } 
    334332                        $this->sendEmail(); 
    335                     } 
    336                     if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
    337                         foreach ($this->arrImageIds as $imageId) { 
    338                             $pic = nggdb::find_image($imageId); 
    339                             $objEXIF = new nggMeta($pic->imagePath); 
    340                             $this->strTitle = $objEXIF->get_META('title'); 
    341                             $this->strDescription = $objEXIF->get_META('caption'); 
    342                             $this->strKeywords = $objEXIF->get_META('keywords'); 
    343                             $this->strTimeStamp = $objEXIF->get_date_time(); 
    344                         } 
    345                     } else { 
     333                    } 
     334                    if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
     335                        foreach ($this->arrImageIds as $imageId) { 
     336                            $pic = nggdb::find_image($imageId); 
     337                            $objEXIF = new nggMeta($pic->imagePath); 
     338                            $this->strTitle = $objEXIF->get_META('title'); 
     339                            $this->strDescription = $objEXIF->get_META('caption'); 
     340                            $this->strKeywords = $objEXIF->get_META('keywords'); 
     341                            $this->strTimeStamp = $objEXIF->get_date_time(); 
     342                        } 
     343                    } else { 
    346344                        if(get_option('npu_no_file')) { 
    347345                        $this->arrErrorMsg[] = get_option('npu_no_file'); 
    348346                        } else { 
    349                         $this->arrErrorMsg[] = "You must select a file to upload"; 
    350                         } 
    351                     }                   
    352                     $this->update_details(); 
    353                 } else { 
     347                        $this->arrErrorMsg[] = "You must select a file to upload"; 
     348                        } 
     349                    } 
     350                    $this->update_details(); 
     351                } else { 
    354352                    if(get_option('npu_upload_failed')) { 
    355                     $this->arrErrorMsg[] = get_option('npu_upload_failed'); 
     353                    $this->arrErrorMsg[] = get_option('npu_upload_failed'); 
    356354                    } else { 
    357355                    $this->arrErrorMsg[] = "Upload failed!"; 
    358356                    } 
    359                 } 
    360                 if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
    361                     $gal_id = $_POST['galleryselect']; 
    362                     foreach ($this->arrImageIds as $intImageId) { 
    363                         $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
    364                         if ($filename) { 
    365                             $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
    366                             if ($gallerypath){ 
    367                                 @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
    368                                 @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
    369                             } 
    370                             $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
    371                         } 
    372                     } 
    373                 } 
    374             } 
    375         } 
    376          
     357                } 
     358                if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
     359                    $gal_id = $_POST['galleryselect']; 
     360                    foreach ($this->arrImageIds as $intImageId) { 
     361                        $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
     362                        if ($filename) { 
     363                            $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
     364                            if ($gallerypath){ 
     365                                @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
     366                                @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
     367                            } 
     368                            $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
     369                        } 
     370                    } 
     371                } 
     372            } 
     373        } 
     374 
    377375        // Function: Handle Upload for Widget 
    378         public function handleUpload_widget() {  
    379             global $wpdb; 
    380             require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
    381             require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
    382             $ngg->options['swfupload'] = false; 
    383             if ($_POST['uploadimage_widget']){           
    384                 check_admin_referer('ngg_addgallery'); 
    385                 if ($_FILES['MF__F_0_0']['error'] == 0) { 
    386                     $objUploaderNggAdmin = new UploaderNggAdmin(); 
    387                     $messagetext = $objUploaderNggAdmin->upload_images_widget(); 
    388                     $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
    389                     $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
    390                     $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
    391                     if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
    392                         foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
    393                             if ($strReturnMsg != '1') { 
    394                                 $this->arrErrorMsg_widg[] = $strReturnMsg; 
    395                             } 
    396                         }                    
     376        public function handleUpload_widget() { 
     377            global $wpdb; 
     378            require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
     379            require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
     380            $ngg->options['swfupload'] = false; 
     381            if (isset($_POST['uploadimage_widget'])){ 
     382                check_admin_referer('ngg_addgallery'); 
     383                if ( ! isset($_FILES['MF__F_0_0']['error']) || $_FILES['MF__F_0_0']['error'] == 0 ) { 
     384                    $objUploaderNggAdmin = new UploaderNggAdmin(); 
     385                    $messagetext = $objUploaderNggAdmin->upload_images_widget(); 
     386                    $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
     387                    $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
     388                    $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
     389                    if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
     390                        foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
     391                            if ($strReturnMsg != '1') { 
     392                                $this->arrErrorMsg_widg[] = $strReturnMsg; 
     393                            } 
     394                        } 
    397395                        if(get_option('npu_upload_success')) { 
    398396                            $this->arrImageMsg_widg[] = get_option('npu_upload_success'); 
     
    401399                        } 
    402400                        $this->sendEmail(); 
    403                     } 
    404                     if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
    405                         foreach ($this->arrImageIds as $imageId) { 
    406                             $pic = nggdb::find_image($imageId); 
    407                             $objEXIF = new nggMeta($pic->imagePath); 
    408                             $this->strTitle = $objEXIF->get_META('title'); 
    409                             $this->strDescription = $objEXIF->get_META('caption'); 
    410                             $this->strKeywords = $objEXIF->get_META('keywords'); 
    411                             $this->strTimeStamp = $objEXIF->get_date_time(); 
    412                         } 
    413                     } else { 
     401                    } 
     402                    if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
     403                        foreach ($this->arrImageIds as $imageId) { 
     404                            $pic = nggdb::find_image($imageId); 
     405                            $objEXIF = new nggMeta($pic->imagePath); 
     406                            $this->strTitle = $objEXIF->get_META('title'); 
     407                            $this->strDescription = $objEXIF->get_META('caption'); 
     408                            $this->strKeywords = $objEXIF->get_META('keywords'); 
     409                            $this->strTimeStamp = $objEXIF->get_date_time(); 
     410                        } 
     411                    } else { 
    414412                        if(get_option('npu_no_file')) { 
    415413                        $this->arrErrorMsg_widg[] = get_option('npu_no_file'); 
    416414                        } else { 
    417                         $this->arrErrorMsg_widg[] = "You must select a file to upload"; 
    418                         } 
    419                     }                     
    420                     $this->update_details(); 
    421                 } else { 
    422                     if(get_option('npu_upload_failed')) { 
    423                     $this->arrErrorMsg_widg[] = get_option('npu_upload_failed'); 
     415                        $this->arrErrorMsg_widg[] = "You must select a file to upload"; 
     416                        } 
     417                    } 
     418                    $this->update_details(); 
     419                } else { 
     420                    if ( get_option('npu_upload_failed') ) { 
     421                       $this->arrErrorMsg_widg[] = get_option('npu_upload_failed'); 
    424422                    } else { 
    425                     $this->arrErrorMsg_widg[] = "Upload failed!"; 
    426                     } 
    427                 } 
    428                 if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
    429                     $gal_id = $_POST['galleryselect']; 
    430                     foreach ($this->arrImageIds as $intImageId) { 
    431                         $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
    432                         if ($filename) { 
    433                             $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
    434                             if ($gallerypath){ 
    435                                 @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
    436                                 @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
    437                             } 
    438                             $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
    439                         } 
    440                     } 
    441                 } 
    442             } 
    443         } 
    444          
     423                       $this->arrErrorMsg_widg[] = "Upload failed!"; 
     424                    } 
     425                } 
     426                if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
     427                    $gal_id = $_POST['galleryselect']; 
     428                    foreach ($this->arrImageIds as $intImageId) { 
     429                        $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
     430                        if ($filename) { 
     431                            $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
     432                            if ($gallerypath){ 
     433                                @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
     434                                @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
     435                            } 
     436                            $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
     437                        } 
     438                    } 
     439                } 
     440            } 
     441        } 
     442 
    445443        // Function: Update Details 
    446         public function update_details() { 
    447             global $wpdb; 
    448             $arrUpdateFields = array(); 
    449             if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) { 
    450                 $this->strDescription = $wpdb->escape($_POST['imagedescription']); 
    451                 $arrUpdateFields[] = "description = '$this->strDescription'"; 
    452             } else { 
    453                 return; 
    454             } 
    455             if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) { 
    456                 $this->strTitle = $wpdb->escape($_POST['alttext']); 
    457                 $arrUpdateFields[] = "alttext = '$this->strTitle'"; 
    458             } 
    459             if (isset ($_POST['tags']) && !empty($_POST['tags'])) { 
    460                 $this->strKeywords = $_POST['tags']; 
    461             } 
    462             if (count($arrUpdateFields) > 0) {           
     444        public function update_details() { 
     445            global $wpdb; 
     446            $arrUpdateFields = array(); 
     447            if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) { 
     448                $this->strDescription = $wpdb->escape($_POST['imagedescription']); 
     449                $arrUpdateFields[] = "description = '$this->strDescription'"; 
     450            } else { 
     451                return; 
     452            } 
     453            if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) { 
     454                $this->strTitle = $wpdb->escape($_POST['alttext']); 
     455                $arrUpdateFields[] = "alttext = '$this->strTitle'"; 
     456            } 
     457            if (isset ($_POST['tags']) && !empty($_POST['tags'])) { 
     458                $this->strKeywords = $_POST['tags']; 
     459            } 
     460            if (count($arrUpdateFields) > 0) { 
    463461            if (get_option('npu_exclude_select') == "Disabled") { 
    464462                $npu_exclude_id = 0; 
    465463            } else { 
    466464                $npu_exclude_id = 1; 
    467             }                
    468                 $strUpdateFields = implode(", ", $arrUpdateFields); 
    469                 $pictures = $this->arrImageIds; 
    470                 if (count($pictures) > 0) { 
    471                     foreach( $pictures as $pid ) { 
    472                         $strQuery = "UPDATE $wpdb->nggpictures SET "; 
    473                         $strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid"; 
    474                         $wpdb->query($strQuery); 
    475                         $arrTags = explode(',', $this->strKeywords); 
    476                         wp_set_object_terms($pid, $arrTags, 'ngg_tag'); 
    477                     } 
    478                 } 
    479             }             
    480         } 
    481          
     465            } 
     466                $strUpdateFields = implode(", ", $arrUpdateFields); 
     467                $pictures = $this->arrImageIds; 
     468                if (count($pictures) > 0) { 
     469                    foreach( $pictures as $pid ) { 
     470                        $strQuery = "UPDATE $wpdb->nggpictures SET "; 
     471                        $strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid"; 
     472                        $wpdb->query($strQuery); 
     473                        $arrTags = explode(',', $this->strKeywords); 
     474                        wp_set_object_terms($pid, $arrTags, 'ngg_tag'); 
     475                    } 
     476                } 
     477            } 
     478        } 
     479 
    482480        // Function: Shortcode 
    483         public function shortcode_show_uploader($atts) { 
    484             global $wpdb;            
     481        public function shortcode_show_uploader($atts) { 
     482            global $wpdb; 
    485483            $default_gallery = get_option('npu_default_gallery'); 
    486             extract(shortcode_atts(array( 
    487                 'id' => $default_gallery, 
    488                 'template' => '' 
    489             ), $atts)); 
    490             $this->handleUpload(); 
    491             $out = $this->display_uploader($id, false, true, false); 
    492             return $out; 
    493         } 
    494          
     484            extract(shortcode_atts(array( 
     485                'id' => $default_gallery, 
     486                'template' => '' 
     487            ), $atts)); 
     488            $this->handleUpload(); 
     489            $out = $this->display_uploader($id, false, true, false); 
     490            return $out; 
     491        } 
     492 
    495493        // Function: Send Email Notice 
    496494        public function sendEmail() { 
     
    500498                $message = "A new image has been submitted and is waiting to be reviewed."; 
    501499                wp_mail( $to, $subject, $message); 
    502             }            
    503         } 
    504                  
    505     } 
     500            } 
     501        } 
     502 
     503    } 
    506504} 
    507505 
  • nextgen-public-uploader/tags/1.7/nextgen-public-uploader.php

    r376822 r608725  
    22/* 
    33Plugin Name: NextGEN Public Uploader 
    4 Plugin URI: http://webdevstudios.com/support/wordpress-plugins/nextgen-public-uploader/ 
     4Plugin URI: http://webdevstudios.com/plugin/nextgen-public-uploader/ 
    55Description: NextGEN Public Uploader is an extension to NextGEN Gallery which allows frontend image uploads for your users. 
    6 Version: 1.6.1 
     6Version: 1.7 
    77Author: WebDevStudios 
    88Author URI: http://webdevstudios.com 
    99 
    10 Copyright 2009 WebDevStudios  (email : contact@webdevstudios.com) 
     10Copyright 2009-2012 WebDevStudios  (email : contact@webdevstudios.com) 
    1111 
    1212This program is free software; you can redistribute it and/or modify 
     
    2525*/ 
    2626 
    27 /* 
    28 == Changelog == 
    29  
    30 = V1.6.1 - 4.25.2011 = 
    31 * Security Patch (QuickFix): Adds random hash to images held for moderation. (Thanks to Linus-Neumann.de) 
    32  
    33 = V1.6 - 1.30.2010 = 
    34 * Updates: Added localization 
    35 * Updates: Displays gallery name in TinyMCE 
    36  
    37 = V1.5 - 12.7.2009 = 
    38 * New Feature: TinyMCE Button 
    39 * Bugfix: Widget Uploader 
    40 * Updates: Settings Page 
    41  
    42 = V1.4 - 11.5.2009 = 
    43 * New Feature: Image Description 
    44 * Updates: More options available via settings page 
    45 * Updates: Default Gallery Drop-down 
    46 * Updates: Added button to reset default values 
    47 * Updates: Edit more text areas from settings page 
    48 * Bugfix: Fixed bug when saving options 
    49  
    50 = V1.3 - 10.20.2009 = 
    51 * New Feature: Widget Uploader 
    52 * New Feature: Select which user level can upload 
    53 * Fixed: More than one form can be displayed 
    54 * Updates: More options available via settings page 
    55 * Updates: Readme.txt updated 
    56 * Updates: Check if NextGEN Gallery exists optimized 
    57 * Bugfix: Saving options with WPMU 
    58  
    59 = V1.2.2 - 10.7.2009 = 
    60 * New Feature: Ability to edit messages displayed 
    61  
    62 = V1.2.1 - 10.7.2009 = 
    63 * Bugfix: 404 File not found 
    64  
    65 = V1.2 - 10.7.2009 = 
    66 * Updates: Options page updated 
    67 * Updates: Readme.txt updated 
    68  
    69 = V1.1 - 10.5.2009 = 
    70 * Fixed: SVN repository 
    71  
    72 = V1.0 - 10.5.2009 = 
    73 * NextGEN Public Uploader is launched 
    74  
    75 */ 
    76  
    77 // Define current version. 
    78 define( 'NG_PUBLIC_UPLOADER_VERSION', '1.6.1' ); 
    79  
    80 /***  
    81  * Define the path and url of the CollabPress plugins directory.  
    82  * It is important to use plugins_url() core function to obtain  
    83  * the correct scheme used (http or https).  
    84  */ 
    85 define( 'NG_PUBLIC_PLUGIN_DIR', WP_PLUGIN_DIR . '/nextgen-public-uploader' ); 
    86 define( 'NG_PUBLIC_CP_PLUGIN_URL', plugins_url( $path = '/nextgen-public-uploader' ) ); 
    87  
    88 // Function -> Display Error If NextGEN Gallery Doesn't Exist 
    89 function npu_error_message(){ 
    90     echo '<div class="error fade" style="background-color:red;"><p><strong>NextGEN Public Uploader requires NextGEN gallery in order to work. Please deactivate this plugin or activate <a href="http://wordpress.org/extend/plugins/nextgen-gallery/">NextGEN Gallery</a>.</strong></p></div>'; 
    91 } 
    92      
    93 $plugins = get_option('active_plugins'); 
    94 $required_plugin = 'nextgen-gallery/nggallery.php'; 
    95 $debug_queries_on = FALSE; 
    96  
    97 // Does Nextgen Gallery Exist, If Yes Continue 
    98 if(class_exists('nggLoader') || in_array( $required_plugin , $plugins )) {  
    99  
    100     // Hook -> Add Settings Page 
    101     add_action('admin_menu', 'npu_plugin_menu'); 
    102  
    103     // Function -> Add Settings Page 
    104     function npu_plugin_menu() { 
    105         add_menu_page('NextGEN Public Uploader', 'Public Uploader', '8', 'nextgen-public-uploader', 'npu_plugin_options', WP_PLUGIN_URL.'/'.plugin_basename( dirname(__FILE__) ).'/images/npu.png'); 
    106         $plugin = plugin_basename(__FILE__);  
    107         add_filter( 'plugin_action_links_' . $plugin, 'filter_plugin_actions' ); 
    108     } 
    109      
    110     // Hook -> Add Options 
    111     add_option('npu_default_gallery', 1); 
    112     add_option('npu_email_option', ''); 
    113     add_option('npu_notification_email', get_option('admin_email')); 
    114     add_option('npu_upload_button', ''); 
    115     add_option('npu_description_text', ''); 
    116     add_option('npu_notlogged', ''); 
    117     add_option('npu_upload_success', ''); 
    118     add_option('npu_no_file', ''); 
    119     add_option('npu_upload_failed', ''); 
    120     add_option('npu_widget_uploader_select', 'Enabled'); 
    121     add_option('npu_exclude_select', 'Enabled'); 
    122     add_option('npu_user_role_select', 0); 
    123     add_option('npu_image_description_select', 'Disabled'); 
    124     add_option('npu_image_linklove_select', 'Disabled'); 
    125  
    126     // Function -> Update Uptions 
    127     function npu_update_options() { 
    128     update_option('npu_default_gallery', $_POST['npu_default_gallery']); 
    129     update_option('npu_email_option', $_POST['npu_email_option']); 
    130     update_option('npu_notification_email', $_POST['npu_notification_email']); 
    131     update_option('npu_upload_button', $_POST['npu_upload_button']); 
    132     update_option('npu_description_text', $_POST['npu_description_text']); 
    133     update_option('npu_notlogged', $_POST['npu_notlogged']); 
    134     update_option('npu_upload_success', $_POST['npu_upload_success']); 
    135     update_option('npu_no_file', $_POST['npu_no_file']); 
    136     update_option('npu_upload_failed', $_POST['npu_upload_failed']); 
    137     update_option('npu_widget_uploader_select', $_POST['npu_widget_uploader_select']); 
    138     update_option('npu_exclude_select', $_POST['npu_exclude_select']); 
    139     update_option('npu_user_role_select', $_POST['npu_user_role_select']); 
    140     update_option('npu_image_description_select', $_POST['npu_image_description_select']); 
    141     update_option('npu_image_linklove_select', $_POST['npu_image_linklove_select']); 
    142     } 
    143      
    144     function npu_restore_options() { 
    145     update_option('npu_default_gallery', 1); 
    146     update_option('npu_email_option', ''); 
    147     update_option('npu_notification_email', get_option('admin_email')); 
    148     update_option('npu_upload_button', ''); 
    149     update_option('npu_description_text', ''); 
    150     update_option('npu_notlogged', ''); 
    151     update_option('npu_upload_success', ''); 
    152     update_option('npu_no_file', ''); 
    153     update_option('npu_upload_failed', ''); 
    154     update_option('npu_widget_uploader_select', 'Enabled'); 
    155     update_option('npu_exclude_select', 'Enabled'); 
    156     update_option('npu_user_role_select', 0); 
    157     update_option('npu_image_description_select', 'Disabled'); 
    158     update_option('npu_image_linklove_select', 'Disabled'); 
    159     } 
    160  
    161     // Function -> Settings Page 
    162     function npu_plugin_options() { ?> 
    163      
    164     <?php 
    165      
    166     if ( current_user_can('manage_options') ) {  
    167      
    168     if (isset($_POST['Submit'])) { 
    169             npu_update_options(); 
    170             echo "<div class=\"updated\">\n" 
    171                 . "<p>" 
    172                     . "<strong>" 
    173                     . __('Settings saved.') 
    174                     . "</strong>" 
    175                 . "</p>\n" 
    176                 . "</div>\n"; 
    177      
    178         }  
    179      
    180         if (isset($_POST['Restore'])) { 
    181             npu_restore_options(); 
    182             echo "<div class=\"updated\">\n" 
    183                 . "<p>" 
    184                     . "<strong>" 
    185                     . __('Default settings restored.') 
    186                     . "</strong>" 
    187                 . "</p>\n" 
    188                 . "</div>\n"; 
    189      
    190         } 
    191     } 
    192  
    193     ?> 
    194  
    195         <div class="wrap"> 
    196             <div class="icon32" id="icon-options-general"><br/></div> 
    197              
    198                 <h2>NextGEN Public Uploader</h2> 
    199                 <p><strong><?php _e('Author', 'ngg-public-uploader') ?>:</strong> <a href="http://webdevstudios.com">WebDevStudios</a></p> 
    200                 <p><strong><?php _e('Current Version', 'ngg-public-uploader') ?>:</strong> <?php echo NG_PUBLIC_UPLOADER_VERSION ?></p> 
    201                 <p><strong><?php _e('Shortcode Examples', 'ngg-public-uploader') ?>: </strong><code>[ngg_uploader]</code> or <code>[ngg_uploader id = 1]</code></p> 
    202                 <p><strong><a href="http://webdevstudios.com/support/wordpress-plugins/nextgen-public-uploader/"><?php _e('Visit The Plugin Homepage', 'ngg-public-uploader') ?></a></strong></p> 
    203                 <p><strong><a href="http://webdevstudios.com/support/forum/nextgen-public-uploader/"><?php _e('Visit The Support Forum', 'ngg-public-uploader') ?></a></strong></p> 
    204                 <p><strong><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3084056"><?php _e('Donate To This Plugin', 'ngg-public-uploader') ?></a></strong></p> 
    205                  
    206                 <form method="post"> 
    207                     <input type="hidden" name="action" value="update" /> 
    208                     <?php wp_nonce_field('update-options'); ?> 
    209                     <input type="hidden" name="npu_update_options" value="1"> 
    210                     <table class="form-table"> 
    211                         <?php 
    212                         include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
    213                         $nggdb = new nggdb(); 
    214                         $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
    215                         ?> 
    216                         <tr valign="top"> 
    217                             <th scope="row"><?php _e('Default Gallery ID', 'ngg-public-uploader') ?>:</th> 
    218                             <td> 
    219                                 <select name="npu_default_gallery"> 
    220                                     <option selected><?php echo get_option('npu_default_gallery'); ?></option> 
    221                                     <?php  
    222                                     foreach ($gallerylist as $gallery) { 
    223                                         $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?> 
    224                                         <?php if (get_option('npu_default_gallery') != $gallery->gid) { ?> 
    225                                             <option <?php selected($gallery->gid , $gal_id); ?> value="<?php echo $gallery->gid; ?>"><?php _e($gallery->gid,'nggallery'); ?></option> 
    226                                         <?php } ?> 
    227                                     <?php } ?> 
    228                                 </select> 
    229                                 <span class="description"><?php _e('Select the default gallery ID when using', 'ngg-public-uploader') ?> [ngg_uploader].</span> 
    230                             </td> 
    231                         </tr> 
    232          
    233                         <tr valign="top"> 
    234                             <th scope="row"><?php _e('Widget Uploader', 'ngg-public-uploader') ?>: </th> 
    235                             <td> 
    236                                 <select name="npu_widget_uploader_select"> 
    237                                     <option selected><?php echo get_option('npu_widget_uploader_select'); ?></option> 
    238                                         <?php if (get_option('npu_widget_uploader_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    239                                         <?php if (get_option('npu_widget_uploader_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    240                                 </select> 
    241                                 <span class="description"><?php _e('Enable or disable the widget uploader.', 'ngg-public-uploader') ?></span> 
    242                             </td> 
    243                         </tr> 
    244          
    245                         <tr valign="top"> 
    246                             <th scope="row"><?php _e('Description Field', 'ngg-public-uploader') ?>: </th> 
    247                             <td> 
    248                                 <select name="npu_image_description_select"> 
    249                                     <option selected><?php echo get_option('npu_image_description_select'); ?></option> 
    250                                     <?php if (get_option('npu_image_description_select') != "Enabled") { ?><option value="Enabled"><?php _e('Enabled', 'ngg-public-uploader') ?></option><?php } ?> 
    251                                     <?php if (get_option('npu_image_description_select') != "Disabled") { ?><option value="Disabled"><?php _e('Disabled', 'ngg-public-uploader') ?></option><?php } ?> 
    252                                 </select> 
    253                                 <span class="description"><?php _e('Enable or disable upload description field.', 'ngg-public-uploader') ?></span> 
    254                             </td> 
    255                         </tr> 
    256          
    257                         <?php  
    258          
    259                         if (get_option('npu_user_role_select') == 99) { 
    260                             $npu_selected_user_role = "Visitor"; 
    261                         } else if (get_option('npu_user_role_select') == 0) { 
    262                             $npu_selected_user_role = "Subscriber"; 
    263                         } else if (get_option('npu_user_role_select') == 1) { 
    264                             $npu_selected_user_role = "Contributer"; 
    265                         } else if (get_option('npu_user_role_select') == 2) { 
    266                             $npu_selected_user_role = "Author"; 
    267                         } else if (get_option('npu_user_role_select') == 7) { 
    268                             $npu_selected_user_role = "Editor"; 
    269                         } else if (get_option('npu_user_role_select') == 10) { 
    270                             $npu_selected_user_role = "Admin"; 
    271                         } 
    272          
    273                         ?> 
    274          
    275                         <tr valign="top"> 
    276                             <th scope="row"><?php _e('Minimum User Role', 'ngg-public-uploader') ?>: </th> 
    277                             <td> 
    278                                 <select name="npu_user_role_select"> 
    279                                     <option selected value="<?php echo get_option('npu_user_role_select'); ?>"><?php echo $npu_selected_user_role; ?></option> 
    280                                     <?php if (get_option('npu_user_role_select') != 99) { ?><option value="99"><?php _e('Visitor', 'ngg-public-uploader') ?></option><?php } ?> 
    281                                     <?php if (get_option('npu_user_role_select') != 0) { ?><option value="0"><?php _e('Subscriber', 'ngg-public-uploader') ?></option><?php } ?> 
    282                                     <?php if (get_option('npu_user_role_select') != 1) { ?><option value="1"><?php _e('Contributer', 'ngg-public-uploader') ?></option><?php } ?> 
    283                                     <?php if (get_option('npu_user_role_select') != 2) { ?><option value="2"><?php _e('Author', 'ngg-public-uploader') ?></option><?php } ?> 
    284                                     <?php if (get_option('npu_user_role_select') != 7) { ?><option value="7"><?php _e('Editor', 'ngg-public-uploader') ?></option><?php } ?> 
    285                                     <?php if (get_option('npu_user_role_select') != 10) { ?><option value="10"><?php _e('Admin', 'ngg-public-uploader') ?></option><?php } ?> 
    286                                 </select> 
    287                                 <span class="description"><?php _e('Select the minimum required user role for image uploading.', 'ngg-public-uploader') ?></span> 
    288                             </td> 
    289                         </tr> 
    290          
    291                         <tr valign="top"> 
    292                             <th scope="row"><?php _e('Notification Email', 'ngg-public-uploader') ?>:</th> 
    293                             <td> 
    294                                 <input type="text" name="npu_notification_email" value="<?php echo get_option('npu_notification_email'); ?>" /> 
    295                                 <span class="description"><?php _e('Enter an email address to be notified when a image has been submitted.', 'ngg-public-uploader') ?></span> 
    296                             </td> 
    297                         </tr> 
    298          
    299                         <tr valign="top"> 
    300                             <th scope="row"><?php _e('Upload Button', 'ngg-public-uploader') ?>:</th> 
    301                             <td> 
    302                                 <input type="text" name="npu_upload_button" value="<?php echo get_option('npu_upload_button'); ?>" /> 
    303                                 <span class="description"><?php _e('Customize text for upload button.', 'ngg-public-uploader') ?></span> 
    304                             </td> 
    305                         </tr> 
    306          
    307                         <tr valign="top"> 
    308                             <th scope="row"><?php _e('Description Text', 'ngg-public-uploader') ?>:</th> 
    309                             <td> 
    310                                 <input type="text" name="npu_description_text" value="<?php echo get_option('npu_description_text'); ?>" /> 
    311                                 <span class="description"><?php _e('Message displayed for image description.', 'ngg-public-uploader') ?></span> 
    312                             </td> 
    313                         </tr> 
    314  
    315                         <tr valign="top"> 
    316                             <th scope="row"><?php _e('Not Authorized', 'ngg-public-uploader') ?>:</th> 
    317                             <td> 
    318                                 <input type="text" name="npu_notlogged" value="<?php echo get_option('npu_notlogged'); ?>" /> 
    319                                 <span class="description"><?php _e('Message displayed when a user does not have permission to upload.', 'ngg-public-uploader') ?></span> 
    320                             </td> 
    321                         </tr> 
    322  
    323                         <tr valign="top"> 
    324                             <th scope="row"><?php _e('Upload Success', 'ngg-public-uploader') ?>:</th> 
    325                             <td> 
    326                                 <input type="text" name="npu_upload_success" value="<?php echo get_option('npu_upload_success'); ?>" /> 
    327                                 <span class="description"><?php _e('Message displayed when an image has been successfully uploaded.', 'ngg-public-uploader') ?></span> 
    328                             </td> 
    329                         </tr> 
    330  
    331                         <tr valign="top"> 
    332                             <th scope="row"><?php _e('No File', 'ngg-public-uploader') ?>:</th> 
    333                             <td> 
    334                                 <input type="text" name="npu_no_file" value="<?php echo get_option('npu_no_file'); ?>" /> 
    335                                 <span class="description"><?php _e('Message displayed when no file has been selected.', 'ngg-public-uploader') ?></span> 
    336                             </td> 
    337                         </tr> 
    338  
    339                         <tr valign="top"> 
    340                             <th scope="row"><?php _e('Upload Failed', 'ngg-public-uploader') ?>:</th> 
    341                             <td> 
    342                                 <input type="text" name="npu_upload_failed" value="<?php echo get_option('npu_upload_failed'); ?>" /> 
    343                                 <span class="description"><?php _e('Message displayed when an upload has failed.', 'ngg-public-uploader') ?></span> 
    344                             </td> 
    345                         </tr> 
    346          
    347                         <tr valign="top"> 
    348                             <th scope="row"><?php _e('Exclude Uploaded Images', 'ngg-public-uploader') ?>: </th> 
    349                             <td> 
    350                                 <select name="npu_exclude_select"> 
    351                                     <option selected><?php echo get_option('npu_exclude_select'); ?></option> 
    352                                     <?php if (get_option('npu_exclude_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    353                                     <?php if (get_option('npu_exclude_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    354                                 </select> 
    355                                 <span class="description"><?php _e('Enable or disable images flagged as excluded.', 'ngg-public-uploader') ?></span> 
    356                             </td> 
    357                         </tr> 
    358          
    359                         <tr valign="top"> 
    360                             <th scope="row"><?php _e('Link Love', 'ngg-public-uploader') ?>: </th> 
    361                             <td> 
    362                                 <select name="npu_image_linklove_select"> 
    363                                     <option selected><?php echo get_option('npu_image_linklove_select'); ?></option> 
    364                                     <?php if (get_option('npu_image_linklove_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    365                                     <?php if (get_option('npu_image_linklove_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    366                                 </select> 
    367                                 <span class="description"><?php _e('If you love this plugin link to us in your footer.', 'ngg-public-uploader') ?></span> 
    368                             </td> 
    369                         </tr> 
    370      
    371                     </table> 
    372  
    373                     <input type="hidden" name="action" value="update" /> 
    374                     <input type="hidden" name="npu_page_options" value="npu_default_gallery, npu_email_option, npu_notification_email, npu_notlogged, npu_upload_success, npu_no_file, npu_upload_failed, npu_widget_uploader_select, npu_exclude_select, npu_user_role_select, npu_image_description_select, npu_image_linklove_select, npu_upload_button, npu_description_text" /> 
    375  
    376                     <p class="submit"><input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" /></p> 
    377          
    378                 </form> 
    379          
    380                 <form name="Restore" method="post"> 
    381                     <?php wp_nonce_field('restore-options') ?> 
    382                     <p><strong><?php _e('Restore Default Settings', 'ngg-public-uploader') ?></strong></p> 
    383                     <div> 
    384                         <input type="submit" class="button" name="Restore" value="<?php _e('Reset Options') ;?>" onclick="javascript:check=confirm('<?php _e('WARNING: This will restore all default settings.\n\nChoose [Cancel] to Stop, [OK] to proceed.\n'); ?>');if(check==false) return false;" /> 
    385                     </div> 
    386                 </form> 
    387          
    388         </div> 
    389  
    390     <?php 
    391 } 
    392      
    393     // Upload Form Path 
    394     require_once(dirname (__FILE__). '/inc/npu-upload.php'); 
    395          
    396     // TinyMCE 
    397     define('nextgenPublicUpload_ABSPATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' ); 
    398     define('nextgenPublicUpload_URLPATH', WP_PLUGIN_URL.'/'.plugin_basename( dirname(__FILE__) ).'/' ); 
    399     include_once (dirname (__FILE__)."/tinymce/tinymce.php"); 
    400     // End TinyMCE 
    401          
    402      
    403     // NextGEN Public Uploader Link Love 
    404     function npu_link_love() { 
    405     ?><p><a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/">NextGEN Public Uploader</a> by <a href="http://www.webdevstudios.com/">WebDevStudios</a></p><?php 
    406     } 
    407  
    408     if(get_option('npu_image_linklove_select') == 'Enabled') { 
    409         add_action('wp_footer', 'npu_link_love'); 
    410     } 
    411      
    412     // Add Settings Link -> Plugins Page 
    413     function filter_plugin_actions ( $links ) {  
    414         $settings_link = '<a href="options-general.php?page=nextgen-public-uploader">Settings</a>';  
    415         array_unshift ( $links, $settings_link );  
    416         return $links; 
    417     } 
    418  
    419 } else { 
    420      
     27 
     28// If NextGEN Gallery doesn't exist, or it's not active... 
     29if ( ! class_exists('nggLoader') || ! in_array( 'nextgen-gallery/nggallery.php', get_option('active_plugins') ) ) { 
     30 
    42131    // Display Error Message 
    42232    add_action( 'admin_notices', 'npu_error_message'); 
    423      
    424 } 
     33    function npu_error_message() { 
     34        // Include thickbox support 
     35        add_thickbox(); 
     36 
     37        // Generate our error message 
     38        $output = ''; 
     39        $output .= '<div id="message" class="error">'; 
     40        $output .= '<p><strong>NextGEN Public Uploader</strong> requires NextGEN Gallery in order to work. Please deactivate NextGEN Public Uploader or activate <a href="' . admin_url( '/plugin-install.php?tab=plugin-information&plugin=nextgen-gallery&TB_iframe=true&width=600&height=550' ) . '" target="_blank" class="thickbox onclick">NextGEN Gallery</a>.</strong></p>'; 
     41        $output .= '</div>'; 
     42        echo $output; 
     43 
     44    } 
     45 
     46// Otherwise, continue like normal 
     47} else { 
     48 
     49// Register an activation hook for setting our default settings 
     50register_activation_hook( __FILE__, 'npu_plugin_activation' ); 
     51function npu_plugin_activation() { 
     52 
     53    // If our settings don't already exist, load them in to the database 
     54    if ( ! get_option( 'npu_default_gallery' ) ) { 
     55        update_option( 'npu_default_gallery',           '1' ); 
     56        update_option( 'npu_user_role_select',          '99' ); 
     57        update_option( 'npu_exclude_select',            'Enabled' ); 
     58        update_option( 'npu_image_description_select',  'Enabled' ); 
     59        update_option( 'npu_description_text',          '' ); 
     60        update_option( 'npu_notification_email',        get_option('admin_email') ); 
     61        update_option( 'npu_upload_button',             __( 'Upload', 'ngg-public-uploader' ) ); 
     62        update_option( 'npu_no_file',                   __( 'No file selected.', 'ngg-public-uploader' ) ); 
     63        update_option( 'npu_notlogged',                 __( 'You are not authorized to upload an image.', 'ngg-public-uploader' ) ); 
     64        update_option( 'npu_upload_success',            __( 'Your image has been successfully uploaded.', 'ngg-public-uploader' ) ); 
     65        update_option( 'npu_description_text',          __( 'Your upload failed. Please try again.', 'ngg-public-uploader' ) ); 
     66        update_option( 'npu_image_link_love',           '' ); 
     67    } 
     68 
     69} 
     70 
     71// Upload Form Path 
     72require_once( dirname (__FILE__) . '/inc/npu-upload.php'); 
     73 
     74// TinyMCE 
     75define( 'nextgenPublicUpload_URLPATH', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/' ); 
     76include_once( dirname (__FILE__)."/tinymce/tinymce.php" ); 
     77 
     78// Output NextGEN Public Uploader Link Love in footer 
     79if ( get_option('npu_image_link_love') ) { add_action('wp_footer', 'npu_link_love'); } 
     80function npu_link_love() { echo '<p><a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/">NextGEN Public Uploader</a> by <a href="http://webdevstudios.com/" title="WordPress Website Design and Development">WebDevStudios</a></p>'; } 
     81 
     82// Register our settings page as a submenu item of the NextGEN menu item 
     83add_action('admin_menu', 'npu_plugin_menu'); 
     84function npu_plugin_menu() { 
     85    add_submenu_page( 'nextgen-gallery', 'NextGEN Public Uploader', 'Public Uploader', '8', 'nextgen-public-uploader', 'npu_plugin_options_page' ); 
     86    add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'filter_plugin_actions' ); 
     87} 
     88 
     89// Add "Settings" Link to Plugin on Plugins Page 
     90function filter_plugin_actions ( $links ) { 
     91    return array_merge( 
     92        array( 
     93            'settings' => '<a href="' . admin_url( 'admin.php?page=nextgen-public-uploader' ) . '">Settings</a>' 
     94        ), 
     95        $links 
     96    ); 
     97} 
     98 
     99// Register all of our settings 
     100add_action( 'admin_init', 'npu_plugin_settings' ); 
     101function npu_plugin_settings() { 
     102 
     103    // Register our settings section 
     104    add_settings_section( 'npu_settings', 'Plugin Settings', 'npu_settings_description', 'nextgen-public-uploader' ); 
     105 
     106    // Register all our settings 
     107    register_setting( 'npu_settings', 'npu_default_gallery',            'npu_settings_sanitization' ); 
     108    register_setting( 'npu_settings', 'npu_user_role_select',           'npu_settings_sanitization' ); 
     109    register_setting( 'npu_settings', 'npu_image_description_select',   'npu_settings_sanitization' ); 
     110    register_setting( 'npu_settings', 'npu_exclude_select',             'npu_settings_sanitization' ); 
     111    register_setting( 'npu_settings', 'npu_notification_email',         'npu_settings_sanitization' ); 
     112    register_setting( 'npu_settings', 'npu_upload_button',              'npu_settings_sanitization' ); 
     113    register_setting( 'npu_settings', 'npu_no_file',                    'npu_settings_sanitization' ); 
     114    register_setting( 'npu_settings', 'npu_description_text',           'npu_settings_sanitization' ); 
     115    register_setting( 'npu_settings', 'npu_notlogged',                  'npu_settings_sanitization' ); 
     116    register_setting( 'npu_settings', 'npu_upload_success',             'npu_settings_sanitization' ); 
     117    register_setting( 'npu_settings', 'npu_upload_failed',              'npu_settings_sanitization' ); 
     118    register_setting( 'npu_settings', 'npu_image_link_love',            'npu_settings_sanitization' ); 
     119 
     120    // Setup the options for our gallery selector 
     121    $gallery_options = array(); 
     122    include_once( NGGALLERY_ABSPATH . "lib/ngg-db.php" ); 
     123    $nggdb = new nggdb(); 
     124    $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
     125    foreach ($gallerylist as $gallery) { 
     126        $name = !empty($gallery->title) ? $gallery->title : $gallery->name; 
     127        $gallery_options[$gallery->gid] = 'ID: ' . $gallery->gid . ' &ndash; ' . $name; 
     128    } 
     129 
     130    // Setup the options for our role selector 
     131    $role_options = array( 
     132        '99'    => __('Visitor', 'ngg-public-uploader'), 
     133        '0'     => __('Subscriber', 'ngg-public-uploader'), 
     134        '1'     => __('Contributor', 'ngg-public-uploader'), 
     135        '2'     => __('Author', 'ngg-public-uploader'), 
     136        '7'     => __('Editor', 'ngg-public-uploader'), 
     137        '10'    => __('Admin', 'ngg-public-uploader') 
     138    ); 
     139 
     140    // Add our settings fields 
     141    add_settings_field( 'npu_default_gallery',          __( 'Default Gallery:', 'ngg-public-uploader' ),            'npu_settings_select',      'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_default_gallery',           'description' => sprintf( __( 'The default gallery ID when using %s with no ID specified.', 'ngg-public-uploader' ), '<code>[ngg_uploader]</code>' ), 'options' => $gallery_options ) ); 
     142    add_settings_field( 'npu_user_role_select',         __( 'Minimum User Role:', 'ngg-public-uploader' ),          'npu_settings_select',      'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_user_role_select',          'description' => __( 'The minimum user role required for image uploading.', 'ngg-public-uploader' ), 'options' => $role_options ) ); 
     143    add_settings_field( 'npu_exclude_select',           __( 'Uploads Require Approval:', 'ngg-public-uploader' ),   'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_exclude_select',            'description' => '',    'value' => 'Enabled', 'label' => __( 'Exclude images from appearing in galleries until they have been approved.', 'ngg-public-uploader' ) ) ); 
     144    add_settings_field( 'npu_image_description_select', __( 'Show Description Field:', 'ngg-public-uploader' ),     'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_image_description_select',  'description' => '',    'value' => 'Enabled', 'label' => __( 'Enable the Image Description text field.', 'ngg-public-uploader' ) ) ); 
     145    add_settings_field( 'npu_description_text',         __( 'Image Description Label:', 'ngg-public-uploader' ),    'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_description_text',          'description' => __( 'Default label shown for the image description textbox.', 'ngg-public-uploader' ) ) ); 
     146    add_settings_field( 'npu_notification_email',       __( 'Notification Email:', 'ngg-public-uploader' ),         'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_notification_email',        'description' => __( 'The email address to be notified when a image has been submitted.', 'ngg-public-uploader' ) ) ); 
     147    add_settings_field( 'npu_upload_button',            __( 'Upload Button Text:', 'ngg-public-uploader' ),         'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_button',             'description' => __( 'Custom text for upload button.', 'ngg-public-uploader' ) ) ); 
     148    add_settings_field( 'npu_no_file',                  __( 'No File Selected Warning:', 'ngg-public-uploader' ),   'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_no_file',                   'description' => __( 'Warning displayed when no file has been selected for upload.', 'ngg-public-uploader' ) ) ); 
     149    add_settings_field( 'npu_notlogged',                __( 'Unauthorized Warning:', 'ngg-public-uploader' ),       'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_notlogged',                 'description' => __( 'Warning displayed when a user does not have permission to upload.', 'ngg-public-uploader' ) ) ); 
     150    add_settings_field( 'npu_upload_success',           __( 'Upload Success Message:', 'ngg-public-uploader' ),     'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_success',            'description' => __( 'Message displayed when an image has been successfully uploaded.', 'ngg-public-uploader' ) ) ); 
     151    add_settings_field( 'npu_upload_failed',            __( 'Upload Failed Message:', 'ngg-public-uploader' ),      'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_failed',             'description' => __( 'Message displayed when an image failed to upload.', 'ngg-public-uploader' ) ) ); 
     152    add_settings_field( 'npu_image_link_love',          __( 'Link Love:', 'ngg-public-uploader' ),                  'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_image_link_love',           'description' => '',    'value' => true, 'label' => __( 'Display link to this plugin in your site\'s footer (because you love us!)', 'ngg-public-uploader' ) ) ); 
     153 
     154} 
     155 
     156// Descriptive text for our settings section 
     157function npu_settings_description() { 
     158    echo '<p>' . __( 'Edit the settings below to control the default behaviors of this plugin.', 'ngg-public-uploader' ) . '</p>'; 
     159} 
     160 
     161// Input for select options 
     162function npu_settings_select( $args ) { 
     163 
     164    $output = ''; 
     165    $output .= '<select name="' . $args['ID'] . '">'; 
     166    foreach ( $args['options'] as $value => $label ) { 
     167        $output .= '<option ' . selected( $value, get_option($args['ID']), false ) . ' value="' . $value . '">' . $label . '</option>'; 
     168    } 
     169    $output .= '</select>'; 
     170 
     171    if ( isset( $args['description'] ) ) 
     172        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     173 
     174    echo $output; 
     175} 
     176 
     177// Input for checkbox options 
     178function npu_settings_checkbox( $args ) { 
     179 
     180    $output = ''; 
     181    $output .= '<label for="' . $args['ID'] . '"><input type="checkbox" id="' . $args['ID'] . '" name="' . $args['ID'] . '" value="' . $args['value'] . '" ' . checked( get_option($args['ID']), $args['value'], false ) . ' /> ' . $args['label'] . '</label>'; 
     182    if ( isset( $args['description'] ) ) 
     183        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     184 
     185    echo $output; 
     186} 
     187 
     188// Input for text options 
     189function npu_settings_text( $args ) { 
     190 
     191    $output = ''; 
     192    $output .= '<input type="text" class="regular-text" name="' . $args['ID'] . '" value="' . get_option($args['ID']) . '" />'; 
     193    if ( isset( $args['description'] ) ) 
     194        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     195    echo $output; 
     196} 
     197 
     198// Perform some rudimentary sanitization on all our options 
     199function npu_settings_sanitization( $input ) { 
     200    $valid = esc_html( $input ); 
     201    return $valid; 
     202 
     203} 
     204 
     205// Create our Settings page 
     206function npu_plugin_options_page() { 
     207 
     208// If the user cannot manage options, bail here 
     209if ( ! current_user_can('manage_options') ) 
     210    return false; 
    425211 
    426212?> 
     213    <div class="wrap"> 
     214 
     215        <?php screen_icon(); ?> <h2><?php _e( 'NextGEN Public Uploader', 'ngg-public-uploader' ); ?></h2> 
     216 
     217        <?php if ( isset($_GET['settings-updated']) ) echo '<div class="updated"><p><strong>' . __( 'Settings saved.', 'ngg-public-uploader' ) . "</strong></p></div>\n"; ?> 
     218 
     219        <p> 
     220            <strong><?php _e('Current Version', 'ngg-public-uploader') ?>:</strong> <?php $plugin_data = get_plugin_data( __FILE__, false ); echo $plugin_data['Version']; ?> | 
     221            <a href="http://webdevstudios.com">WebDevStudios.com</a> | 
     222            <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=3084056"><?php _e('Donate', 'ngg-public-uploader' ) ?></a> | 
     223            <a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/"><?php _e('Plugin Homepage', 'ngg-public-uploader' ) ?></a> | 
     224            <a href="http://wordpress.org/support/plugin/nextgen-public-uploader/"><?php _e('Support Forum', 'ngg-public-uploader' ) ?></a> 
     225        </p> 
     226 
     227        <h3><?php _e('Shortcode Examples', 'ngg-public-uploader') ?></h3> 
     228        <p><?php printf( __( 'To insert the public uploader into any content area, use %s or %s, where %s is the ID of the corresponding gallery.' ), '<code>[ngg_uploader]</code>', '<code>[ngg_uploader id=1]</code>', '<strong>1</strong>' ); ?></p> 
     229 
     230        <form action="options.php" method="post"> 
     231 
     232            <?php 
     233                settings_fields('npu_settings'); 
     234                do_settings_sections('nextgen-public-uploader'); 
     235            ?> 
     236 
     237            <p class="submit"> 
     238                <input class="button-primary" type="submit" name="Submit" value="<?php _e('Save Changes') ?>" /> 
     239            </p> 
     240 
     241        </form> 
     242 
     243    </div> 
     244 
     245<?php 
     246} 
     247 
     248} // End check for NextGEN gallery 
  • nextgen-public-uploader/tags/1.7/readme.txt

    r376822 r608725  
    11=== NextGEN Public Uploader === 
    2 Contributors: WDS-Scott, williamsba1 
     2Contributors: WDS-Scott, williamsba1, rzen, webdevstudios 
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3084056 
    44Tags: nextgen public uploader,nextgen uploader,nextgen gallery,nextgen,gallery,image,upload,photo,picture,visitor,public,uploader 
    5 Requires at least: 3.0 Tested up to: 3.1.1 
    6 Stable tag: 1.6.1 
     5Requires at least: 3.0 
     6Tested up to: 3.5 
     7Stable tag: 1.7 
    78 
    89NextGEN Public Uploader is an extension to NextGEN Gallery which allows frontend image uploads for your users. 
     
    1011== Description == 
    1112 
    12 The NextGEN Public Uploader plugin for WordPress allows users to upload images from the frontend of your blog to a specified gallery. Upon upload the submitted image is marked as "excluded" and an email notification will be sent letting you know an image is waiting to be reviewed. 
    13  
    14 Get the latest version here - [NextGEN Public Uploader](http://downloads.wordpress.org/plugin/nextgen-public-uploader.1.6.1.zip "NextGEN Public Uploader") 
     13The NextGEN Public Uploader plugin for WordPress allows users to upload images from the frontend of your website to a specified gallery in NextGEN. Upon upload the submitted image is marked as "excluded" and an email notification will be sent letting you know an image is waiting to be reviewed. 
    1514 
    1615REMEMBER: Always backup your database! 
     
    2019[NextGEN Gallery](http://wordpress.org/extend/plugins/nextgen-gallery/ "NextGEN Gallery") 
    2120 
    22 = For NextGEN Public Uploader Support Visit = 
    23  
    24 [NextGEN Public Uploader Support](http://webdevstudios.com/support/wordpress-plugins/ "WordPress Plugins and Support Services") 
    25  
    2621Special thanks to Patrick McCoy for his help. 
    2722 
    2823== Screenshots == 
    2924 
    30 1. Front End 
     251. Sample use in front-end (placed below gallery and in sidebar) 
    3126 
    32 2. Back End 
     272. Excluded Images in gallery, uploaded by anonymous users 
    3328 
    34 3. TinyMCE 
     293. Plugin Settings 
    3530 
    36 4. Shortcode Example 
     314. TinyMCE Integration 
     32 
     335. Shortcode Example 
     34 
     356. Upload Widget 
    3736 
    3837== Installation == 
     
    5251REMEMBER: This plugin requires NextGEN Gallery in order to work. 
    5352 
    54 == Frequently Asked Questions ==  
     53== Frequently Asked Questions == 
    5554 
    5655= Will this plugin work without the NextGEN Gallery plugin? = 
     
    6261 
    6362= Why am I getting the following error? = 
    64    
     63 
    6564"NextGEN Public Uploader requires NextGEN gallery in order to work. Please deactivate this plugin or activate NextGEN Gallery." 
    6665 
     
    6968= Still Need Help? Please visit the NextGEN Public Uploader Support Forum = 
    7069 
    71 [NextGEN Public Uploader Support](http://webdevstudios.com/support/forum/nextgen-public-uploader/ "WordPress Plugins and Support Services") 
     70[NextGEN Public Uploader Support](http://wordpress.org/support/plugin/nextgen-public-uploader) 
    7271 
    7372== Changelog == 
     73 
     74= V1.7 - 10.5.2012 = 
     75* Confirmed Working: Tested with latest versions of NextGen and WordPress, everything works fine 
     76* Moved settings menu: The menu now righfully resides as a sub-item of Gallery 
     77* Updated settings: Dropped unnecessary options, updated all setings to use WordPress Settings API 
     78* Security Updates: Added a couple more security measures for data sanitization 
    7479 
    7580= V1.6.1 - 4.25.2011 = 
     
    102107* Bugfix: Saving options with WPMU 
    103108 
    104  
    105109= V1.2.2 - 10.7.2009 = 
    106110* New Feature: Ability to edit messages displayed 
     
    123127NextGEN Public Uploader is distributed under an open source license called the GNU General Public License, or GPL. The text of the license is distributed with every copy of this plugin. 
    124128 
    125 == Upgrade Notice ==  
     129== Upgrade Notice == 
    126130 
    127131Before upgrading NextGEN Public Uploader please remember to backup your database and files. 
  • nextgen-public-uploader/tags/1.7/tinymce/editor_plugin.js

    r180757 r608725  
    22    // Load plugin specific language pack 
    33    tinymce.PluginManager.requireLangPack('nextgenPublicUpload'); 
    4      
     4 
    55    tinymce.create('tinymce.plugins.nextgenPublicUpload', { 
    66        /** 
     
    1818                ed.windowManager.open({ 
    1919                    file : url + '/window.php', 
    20                     width : 210 + ed.getLang('nextgenPublicUpload.delta_width', 0), 
     20                    width : 300 + ed.getLang('nextgenPublicUpload.delta_width', 0), 
    2121                    height : 210 + ed.getLang('nextgenPublicUpload.delta_height', 0), 
    2222                    inline : 1 
  • nextgen-public-uploader/tags/1.7/tinymce/window.php

    r200043 r608725  
    55global $wpdb; 
    66 
    7 if ( !is_user_logged_in() || !current_user_can('edit_posts') )  
     7if ( !is_user_logged_in() || !current_user_can('edit_posts') ) 
    88    wp_die(__("You are not allowed to be here")); 
    99 
     
    2121        tinyMCEPopup.resizeToInnerSize(); 
    2222    } 
    23      
     23 
    2424    function insertcetsHWLink() { 
    25          
     25 
    2626        var tagtext; 
    27          
     27 
    2828        var rss = document.getElementById('rss_panel'); 
    29          
    30          
     29 
     30 
    3131        // who is active ? 
    3232        if (rss.className.indexOf('current') != -1) { 
    3333            var rssid = document.getElementById('rsstag').value; 
    34                  
     34 
    3535            if (rssid != '' ) 
    3636                tagtext = "[ngg_uploader id=" + rssid + "]"; 
     
    3838                tinyMCEPopup.close(); 
    3939        } 
    40      
    41          
     40 
     41 
    4242        if(window.tinyMCE) { 
    4343            window.tinyMCE.execInstanceCommand('content', 'mceInsertContent', false, tagtext); 
    44             //Peforms a clean up of the current editor HTML.  
     44            //Peforms a clean up of the current editor HTML. 
    4545            //tinyMCEPopup.editor.execCommand('mceCleanup'); 
    46             //Repaints the editor. Sometimes the browser has graphic glitches.  
     46            //Repaints the editor. Sometimes the browser has graphic glitches. 
    4747            tinyMCEPopup.editor.execCommand('mceRepaint'); 
    4848            tinyMCEPopup.close(); 
    4949        } 
    50          
     50 
    5151        return; 
    5252    } 
     
    6262        </ul> 
    6363    </div> 
    64      
     64 
    6565    <div class="panel_wrapper"> 
    6666        <div id="rss_panel" class="panel current"> 
     
    7474        <tr> 
    7575            <td nowrap="nowrap"><label for="rsstag"><?php _e("Select Gallery:", 'ngg-public-uploader'); ?></label></td> 
     76        </tr> 
     77        <tr> 
    7678            <td> 
    7779            <select id="rsstag" name="rsstag"> 
    78                 <?php  
     80                <?php 
    7981                foreach ($gallerylist as $gallery) { 
    80                     $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;  
     82                    $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; 
    8183                    $galleryid = $gallery->gid . ': '; 
    8284                ?> 
    83                     <option value="<?php echo $gallery->gid; ?>"><?php _e($galleryid,'ngg-public-uploader'); _e($name,'ngg-public-uploader'); ?></option> 
     85                    <option value="<?php echo $gallery->gid; ?>"><?php echo 'ID: ' . $galleryid . ' &ndash; ' . $name; ?></option> 
    8486                <?php } ?> 
    8587            </select> 
     
    8890        </table> 
    8991        </div> 
    90                  
     92 
    9193    </div> 
    9294 
  • nextgen-public-uploader/trunk/inc/class.npu_uploader.php

    r376822 r608725  
    1717    public $arrErrorMsg_widg = array(); 
    1818 
    19     function upload_images() {         
     19    function upload_images() { 
    2020        global $wpdb; 
    2121        // Image Array 
     
    3232        } 
    3333        // Get Gallery Path 
    34         $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");       
     34        $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); 
    3535        if (!$gallerypath){ 
    3636            nggGallery::show_error(__('Failure in database, no gallery path set.','nggallery')); 
     
    4141        foreach ($_FILES as $key => $value) { 
    4242            if ($_FILES[$key]['error'] == 0) { 
     43                $entropy = ''; 
    4344                $temp_file = $_FILES[$key]['tmp_name']; 
    4445                $filepart = pathinfo ( strtolower($_FILES[$key]['name']) ); 
     
    5152                $filename = sanitize_title($filepart['filename']) . '-' . sha1(md5($entropy)) . '.' . $filepart['extension']; 
    5253                // Allowed Extensions 
    53                 $ext = array('jpeg', 'jpg', 'png', 'gif');           
     54                $ext = array('jpeg', 'jpg', 'png', 'gif'); 
    5455                if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ 
    5556                    nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is not a valid file.','nggallery')); 
     
    8384            } 
    8485        } 
    85         if (count($imageslist) > 0) {        
     86        if (count($imageslist) > 0) { 
    8687            if (get_option('npu_exclude_select') == "Disabled") { 
    8788                $npu_exclude_id = 0; 
     
    104105        return; 
    105106    } // End Function 
    106      
    107     function upload_images_widget() {        
     107 
     108    function upload_images_widget() { 
    108109        global $wpdb; 
    109110        // Image Array 
     
    120121        } 
    121122        // Get Gallery Path 
    122         $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");        
     123        $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' "); 
    123124        if (!$gallerypath){ 
    124125            nggGallery::show_error(__('Failure in database, no gallery path set.','nggallery')); 
     
    135136                $filename = sanitize_title($filepart['filename']) . '.' . $filepart['extension']; 
    136137                // Allowed Extensions 
    137                 $ext = array('jpeg', 'jpg', 'png', 'gif');       
     138                $ext = array('jpeg', 'jpg', 'png', 'gif'); 
    138139                if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){ 
    139140                    nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is not a valid file.','nggallery')); 
     
    167168            } 
    168169        } 
    169         if (count($imageslist) > 0) {        
     170        if (count($imageslist) > 0) { 
    170171            if (get_option('npu_exclude_select') == "Disabled") { 
    171172                $npu_exclude_id = 0; 
  • nextgen-public-uploader/trunk/inc/npu-upload.php

    r200043 r608725  
    22 
    33if (!class_exists("npuGalleryUpload")) { 
    4      
     4 
    55    // Public Variables 
    6     class npuGalleryUpload { 
    7         public $arrImageIds; 
    8         public $strGalleryPath = false; 
    9         public $blnRedirectPage = false; 
    10         public $arrUploadedThumbUrls = false; 
    11         public $arrUploadedImageUrls = false; 
    12         public $arrErrorMsg = array(); 
     6    class npuGalleryUpload { 
     7        public $arrImageIds; 
     8        public $strGalleryPath = false; 
     9        public $blnRedirectPage = false; 
     10        public $arrUploadedThumbUrls = false; 
     11        public $arrUploadedImageUrls = false; 
     12        public $arrErrorMsg = array(); 
    1313        public $arrImageMsg = array(); 
    1414        public $arrErrorMsg_widg = array(); 
    1515        public $arrImageMsg_widg = array(); 
    16         public $arrImageNames = array(); 
    17         public $arrImageMeta = array(); 
    18         public $strTitle = false; 
    19         public $strDescription = false; 
    20         public $strKeywords = false; 
    21         public $strTimeStamp = false; 
    22          
    23         // Function: Constructors 
    24         public function __construct() 
    25         { 
    26             add_shortcode("ngg_uploader", array(&$this, 'shortcode_show_uploader')); // Shortcode Uploader 
    27             // Enable Widget 
    28             if(get_option('npu_widget_uploader_select') == 'Enabled') { 
    29                 add_action('widgets_init', array(&$this, 'npu_upload_register')); // Widget Uploader 
    30             }        
    31         } 
    32          
     16        public $arrImageNames = array(); 
     17        public $arrImageMeta = array(); 
     18        public $strTitle = false; 
     19        public $strDescription = false; 
     20        public $strKeywords = false; 
     21        public $strTimeStamp = false; 
     22 
     23        // Function: Constructors 
     24        public function __construct() 
     25        { 
     26            add_shortcode("ngg_uploader", array(&$this, 'shortcode_show_uploader')); // Shortcode Uploader 
     27            add_action('widgets_init', array(&$this, 'npu_upload_register')); // Widget Uploader 
     28        } 
     29 
    3330        // Function: Register Widget 
    34         public function npu_upload_register() { 
    35             $options = get_option('npu_gal_upload'); 
    36             if (!$options) { 
    37                 $options = array(); 
    38             } 
    39             $widget_ops = array('classname' => 'npu_gallery_upload', 'description' => __('Upload images to a NextGEN Gallery', 'nggallery')); 
    40             $control_ops = array('width' => 250, 'height' => 200, 'id_base' => 'npu-gallery-upload'); 
    41             $name = __('NextGEN Uploader','nggallery'); 
    42             $id = false; 
    43             foreach (array_keys($options) as $o) { 
    44                 if (!isset($options[$o]['title'])) { 
    45                     continue; 
    46                 } 
    47                 $id = "npu-gallery-upload-$o"; 
    48                 wp_register_sidebar_widget($id, $name, array(&$this, 'npu_upload_output'), $widget_ops, array('number' => $o)); 
    49                 wp_register_widget_control($id, $name, array(&$this, 'npu_upload_control'), $control_ops, array('number' => $o)); 
    50             } 
    51             if ( !$id ) { 
    52                 wp_register_sidebar_widget( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_output'), $widget_ops, array( 'number' => -1 ) ); 
    53                 wp_register_widget_control( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_control'), $control_ops, array( 'number' => -1 ) ); 
    54             } 
    55         } 
    56          
     31        public function npu_upload_register() { 
     32            $options = get_option('npu_gal_upload'); 
     33            if (!$options) { 
     34                $options = array(); 
     35            } 
     36            $widget_ops = array('classname' => 'npu_gallery_upload', 'description' => __('Upload images to a NextGEN Gallery', 'nggallery')); 
     37            $control_ops = array('width' => 250, 'height' => 200, 'id_base' => 'npu-gallery-upload'); 
     38            $name = __('NextGEN Uploader','nggallery'); 
     39            $id = false; 
     40            foreach (array_keys($options) as $o) { 
     41                if (!isset($options[$o]['title'])) { 
     42                    continue; 
     43                } 
     44                $id = "npu-gallery-upload-$o"; 
     45                wp_register_sidebar_widget($id, $name, array(&$this, 'npu_upload_output'), $widget_ops, array('number' => $o)); 
     46                wp_register_widget_control($id, $name, array(&$this, 'npu_upload_control'), $control_ops, array('number' => $o)); 
     47            } 
     48            if ( !$id ) { 
     49                wp_register_sidebar_widget( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_output'), $widget_ops, array( 'number' => -1 ) ); 
     50                wp_register_widget_control( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_control'), $control_ops, array( 'number' => -1 ) ); 
     51            } 
     52        } 
     53 
    5754        // Function: Widget Control 
    58         public function npu_upload_control($widget_args = 1) {           
    59             global $wp_registered_widgets, $wpdb; 
    60             static $updated = false; 
    61             if (is_numeric($widget_args)) { 
    62                 $widget_args = array('number' => $widget_args); 
    63             }           
    64             $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
    65             extract($widget_args, EXTR_SKIP); 
    66             $options = get_option('npu_gal_upload'); 
    67             if (!is_array($options)) { 
    68                 $options = array(); 
    69             }           
    70             if (!$updated && !empty($_POST['sidebar'])) {            
    71                 $sidebar = (string) $_POST['sidebar']; 
    72                 $sidebar_widgets = wp_get_sidebars_widgets();              
    73                 if (isset($sidebar_widgets[$sidebar])) { 
    74                     $this_sidebar = &$sidebar_widgets[$sidebar]; 
    75                 } else { 
    76                     $this_sidebar = array(); 
    77                 } 
    78                 foreach ($this_sidebar as $_widget_id) {                 
    79                     if ('npu_gallery_upload' == $wp_registered_widgets[$_widget_id]['classname'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number'])) { 
    80                         $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
    81                         if (!in_array("npu-gallery-upload-{$widget_number}", $_POST['widget-id'])) { 
    82                             unset ($options[$widget_number]); 
    83                         } 
    84                     }                     
    85                 } 
    86                 foreach ((array)$_POST['widget_npu_upload'] as $widget_number => $widget_npu_upload) {                   
    87                     if (!isset($widget_npu_upload['gal_id']) && isset($options[$widget_number])) { 
    88                         continue; 
    89                     } 
    90                     $widget_npu_upload = stripslashes_deep($widget_npu_upload); 
    91                     $options[$widget_number]['title'] = $widget_npu_upload['title']; 
    92                     $options[$widget_number]['gal_id'] = $widget_npu_upload['gal_id']; 
    93                 } 
    94                 update_option('npu_gal_upload', $options); 
    95                 $updated = true; 
    96             } 
    97             if (-1 == $number) { 
    98                 $title = 'Upload'; 
    99                 $gal_id = 0; 
    100                 $number = '%i%'; 
    101             } else { 
    102                 extract((array)$options[$number]); 
    103             } 
    104             include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
    105             $nggdb = new nggdb(); 
    106             $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
    107             ?> 
    108             <p> 
    109                 <label for="npu_upload-title-<?php echo $number; ?>"><?php _e('Title :','nggallery'); ?> 
    110                     <input id="npu_upload-title-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][title]" type="text" class="widefat" value="<?php echo $title; ?>" /> 
    111                 </label> 
    112             </p> 
    113             <p> 
    114                 <label for="npu_upload-id-<?php echo $number; ?>"><?php _e('Upload to :','nggallery'); ?> 
    115                     <select id="npu_upload-id-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][gal_id]" > 
    116                         <option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option> 
    117                         <?php  
    118                         foreach ($gallerylist as $gallery) { 
    119                             $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?> 
    120                             <option <?php selected($gallery->gid , $gal_id); ?> value="<?php echo $gallery->gid; ?>"><?php _e($gallery->gid.' - '.$name,'nggallery'); ?></option> 
    121                         <?php } ?> 
    122                     </select> 
    123                 </label> 
    124             </p> 
    125             <input type="hidden" id="npu_upload-submit-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][submit]" value="1" /> 
    126             <?php 
    127         } 
    128          
     55        public function npu_upload_control($widget_args = 1) { 
     56            global $wp_registered_widgets, $wpdb; 
     57            static $updated = false; 
     58            if (is_numeric($widget_args)) { 
     59                $widget_args = array('number' => $widget_args); 
     60            } 
     61            $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
     62            extract($widget_args, EXTR_SKIP); 
     63            $options = get_option('npu_gal_upload'); 
     64            if (!is_array($options)) { 
     65                $options = array(); 
     66            } 
     67            if (!$updated && !empty($_POST['sidebar'])) { 
     68                $sidebar = (string) $_POST['sidebar']; 
     69                $sidebar_widgets = wp_get_sidebars_widgets(); 
     70                if (isset($sidebar_widgets[$sidebar])) { 
     71                    $this_sidebar = &$sidebar_widgets[$sidebar]; 
     72                } else { 
     73                    $this_sidebar = array(); 
     74                } 
     75                foreach ($this_sidebar as $_widget_id) { 
     76                    if ('npu_gallery_upload' == $wp_registered_widgets[$_widget_id]['classname'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number'])) { 
     77                        $widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number']; 
     78                        if (!in_array("npu-gallery-upload-{$widget_number}", $_POST['widget-id'])) { 
     79                            unset ($options[$widget_number]); 
     80                        } 
     81                    } 
     82                } 
     83                foreach ((array)$_POST['widget_npu_upload'] as $widget_number => $widget_npu_upload) { 
     84                    if (!isset($widget_npu_upload['gal_id']) && isset($options[$widget_number])) { 
     85                        continue; 
     86                    } 
     87                    $widget_npu_upload = stripslashes_deep($widget_npu_upload); 
     88                    $options[$widget_number]['title'] = $widget_npu_upload['title']; 
     89                    $options[$widget_number]['gal_id'] = $widget_npu_upload['gal_id']; 
     90                } 
     91                update_option('npu_gal_upload', $options); 
     92                $updated = true; 
     93            } 
     94            if (-1 == $number) { 
     95                $title = 'Upload'; 
     96                $gal_id = 0; 
     97                $number = '%i%'; 
     98            } else { 
     99                extract((array)$options[$number]); 
     100            } 
     101            include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
     102            $nggdb = new nggdb(); 
     103            $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
     104            ?> 
     105            <p> 
     106                <label for="npu_upload-title-<?php echo $number; ?>"><?php _e('Title:','nggallery'); ?> 
     107                    <input id="npu_upload-title-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][title]" type="text" class="widefat" value="<?php echo $title; ?>" /> 
     108                </label> 
     109            </p> 
     110            <p> 
     111                <label for="npu_upload-id-<?php echo $number; ?>"><?php _e('Upload to :','nggallery'); ?> 
     112                    <select id="npu_upload-id-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][gal_id]" > 
     113                        <option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option> 
     114                        <?php 
     115                            foreach ($gallerylist as $gallery) { 
     116                                $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; 
     117                                echo '<option ' . selected( $gallery->gid , $gal_id ) . ' value="' . $gallery->gid . '">ID: ' . $gallery->gid . ' &ndash; ' . $name . '</option>'; 
     118                            } 
     119                        ?> 
     120                    </select> 
     121                </label> 
     122            </p> 
     123            <input type="hidden" id="npu_upload-submit-<?php echo $number; ?>" name="widget_npu_upload[<?php echo $number; ?>][submit]" value="1" /> 
     124            <?php 
     125        } 
     126 
    129127        // Function: Widget Output 
    130         public function npu_upload_output($args, $widget_args = 1, $options = false) { 
    131             extract($args, EXTR_SKIP); 
    132             if (is_numeric($widget_args)) { 
    133                 $widget_args = array('number' => $widget_args); 
    134             } 
    135             $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
    136             extract($widget_args, EXTR_SKIP); 
    137             if(!$options) { 
    138                 $options = get_option('npu_gal_upload'); 
    139             } 
    140             $gal_id = $options[$number]['gal_id']; 
    141             $this->handleUpload_widget(); 
    142             echo $args['before_widget']; 
    143             echo $args['before_title'].$options[$number]['title'].$args['after_title']; 
    144             $this->display_uploader_widget($gal_id, false); 
    145             echo $args['after_widget'];        
    146         } 
     128        public function npu_upload_output($args, $widget_args = 1, $options = false) { 
     129            extract($args, EXTR_SKIP); 
     130            if (is_numeric($widget_args)) { 
     131                $widget_args = array('number' => $widget_args); 
     132            } 
     133            $widget_args = wp_parse_args($widget_args, array('number' => -1)); 
     134            extract($widget_args, EXTR_SKIP); 
     135            if(!$options) { 
     136                $options = get_option('npu_gal_upload'); 
     137            } 
     138            $gal_id = $options[$number]['gal_id']; 
     139            $this->handleUpload_widget(); 
     140            echo $args['before_widget']; 
     141            echo $args['before_title'].$options[$number]['title'].$args['after_title']; 
     142            $this->display_uploader_widget($gal_id, false); 
     143            echo $args['after_widget']; 
     144        } 
    147145 
    148146        // Function: Add Scripts 
    149         public function add_scripts () {         
    150             wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0');            
    151             // Setup Array 
    152             wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( 
    153                         'url' => admin_url('admin-ajax.php'), 
    154                         'action' => 'ngg_ajax_operation', 
    155                         'operation' => '', 
    156                         'nonce' => wp_create_nonce( 'ngg-ajax' ), 
    157                         'ids' => '', 
    158                         'permission' => __('You do not have the correct permission', 'nggallery'), 
    159                         'error' => __('Unexpected Error', 'nggallery'), 
    160                         'failure' => __('Upload Failed', 'nggallery') 
    161             ) );            
    162             wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0'); 
    163             wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0'); 
    164             wp_enqueue_script( 'jquery-ui-tabs' ); 
    165             wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' ); 
    166             wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' ); 
    167             wp_enqueue_script( 'ngg-ajax' ); 
    168             wp_enqueue_script( 'ngg-progressbar' );            
    169         } 
     147        public function add_scripts () { 
     148            wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0'); 
     149            // Setup Array 
     150            wp_localize_script('ngg-ajax', 'nggAjaxSetup', array( 
     151                        'url' => admin_url('admin-ajax.php'), 
     152                        'action' => 'ngg_ajax_operation', 
     153                        'operation' => '', 
     154                        'nonce' => wp_create_nonce( 'ngg-ajax' ), 
     155                        'ids' => '', 
     156                        'permission' => __('You do not have the correct permission', 'nggallery'), 
     157                        'error' => __('Unexpected Error', 'nggallery'), 
     158                        'failure' => __('Upload Failed', 'nggallery') 
     159            ) ); 
     160            wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0'); 
     161            wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0'); 
     162            wp_enqueue_script( 'jquery-ui-tabs' ); 
     163            wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' ); 
     164            wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' ); 
     165            wp_enqueue_script( 'ngg-ajax' ); 
     166            wp_enqueue_script( 'ngg-progressbar' ); 
     167        } 
    170168 
    171169        // Function: Shortcode Form 
    172         public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
     170        public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
    173171            $strOutput = ""; 
    174             if (count($this->arrErrorMsg) > 0) { 
    175                 $strOutput .= "<div class=\"upload_error\">"; 
    176                 foreach ($this->arrErrorMsg as $msg) { 
    177                     $strOutput .= $msg; 
    178                 } 
    179                 $strOutput .= "</div>"; 
    180             } 
     172            if (count($this->arrErrorMsg) > 0) { 
     173                $strOutput .= "<div class=\"upload_error\">"; 
     174                foreach ($this->arrErrorMsg as $msg) { 
     175                    $strOutput .= $msg; 
     176                } 
     177                $strOutput .= "</div>"; 
     178            } 
    181179            if (count($this->arrImageMsg) > 0) { 
    182                 $strOutput .= "<div class=\"upload_error\">"; 
    183                 foreach ($this->arrImageMsg as $msg) { 
    184                     $strOutput .= $msg; 
    185                 } 
    186                 $strOutput .= "</div>"; 
    187             } 
    188             if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
    189                 $strOutput .= "<div class=\"need_login\">"; 
     180                $strOutput .= "<div class=\"upload_error\">"; 
     181                foreach ($this->arrImageMsg as $msg) { 
     182                    $strOutput .= $msg; 
     183                } 
     184                $strOutput .= "</div>"; 
     185            } 
     186            if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
     187                $strOutput .= "<div class=\"need_login\">"; 
    190188                if(get_option('npu_notlogged')) { 
    191                     $strOutput .= get_option('npu_notlogged'); 
     189                    $strOutput .= get_option('npu_notlogged'); 
    192190                } else { 
    193191                    $strOutput .= "You must be registered and logged in to upload images."; 
    194192                } 
    195                 $strOutput .= "</div>";             
    196             } else {                 
    197                 $npu_selected_user_role = get_option('npu_user_role_select');            
    198                 if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {                  
    199                     $strOutput .= "<div id=\"uploadimage\">"; 
    200                     $strOutput .= "\n\t<form name=\"uploadimage\" id=\"uploadimage_form\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
    201                     $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
    202                     $strOutput .= "\n\t<div class=\"uploader\">"; 
    203                     $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
    204                     $strOutput .= "\n</div>"; 
    205                     $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
    206                     if (!$strDetailsPage) { 
    207                         $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
    208                         if ($blnShowAltText) {} 
    209                         $strOutput .= "\n\t</div>"; 
    210                     }                
    211                     if(get_option('npu_image_description_select') == 'Enabled') {            
    212                         $strOutput .= "<br />";              
    213                         if(get_option('npu_description_text')) {             
    214                             $strOutput .= get_option('npu_description_text');            
    215                         } else {             
     193                $strOutput .= "</div>"; 
     194            } else { 
     195                $npu_selected_user_role = get_option('npu_user_role_select'); 
     196                if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) { 
     197                    $strOutput .= "<div id=\"uploadimage\">"; 
     198                    $strOutput .= "\n\t<form name=\"uploadimage\" id=\"uploadimage_form\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
     199                    $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
     200                    $strOutput .= "\n\t<div class=\"uploader\">"; 
     201                    $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
     202                    $strOutput .= "\n</div>"; 
     203                    $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
     204                    if (!$strDetailsPage) { 
     205                        $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
     206                        if ($blnShowAltText) {} 
     207                        $strOutput .= "\n\t</div>"; 
     208                    } 
     209                    if(get_option('npu_image_description_select') == 'Enabled') { 
     210                        $strOutput .= "<br />"; 
     211                        if(get_option('npu_description_text')) { 
     212                            $strOutput .= get_option('npu_description_text'); 
     213                        } else { 
    216214                        $strOutput .= __('Description:', 'ngg-public-uploader'); 
    217                         }                
    218                         $strOutput .= "<br />";              
    219                         $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>";                
    220                     }                
    221                     $strOutput .= "\n\t<div class=\"submit\"><br />";                 
     215                        } 
     216                        $strOutput .= "<br />"; 
     217                        $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>"; 
     218                    } 
     219                    $strOutput .= "\n\t<div class=\"submit\"><br />"; 
    222220                    if(get_option('npu_upload_button')) { 
    223                         $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" "; 
    224                         $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
     221                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" "; 
     222                        $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
    225223                    } else { 
    226224                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage\" id=\"uploadimage_btn\" value=\"Upload\" />"; 
    227                     }                              
    228                     $strOutput .= "\n\t\t</div>"; 
    229                     $strOutput .= "\n</form>"; 
    230                     $strOutput .= "\n</div>"; 
    231                 } 
    232             }             
    233             if ($echo) { 
    234                 echo $strOutput; 
    235             } else { 
    236                 return $strOutput; 
    237             }            
    238         } 
    239          
     225                    } 
     226                    $strOutput .= "\n\t\t</div>"; 
     227                    $strOutput .= "\n</form>"; 
     228                    $strOutput .= "\n</div>"; 
     229                } 
     230            } 
     231            if ($echo) { 
     232                echo $strOutput; 
     233            } else { 
     234                return $strOutput; 
     235            } 
     236        } 
     237 
    240238        // Function: Widget Form 
    241         public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {    
    242             $strOutput = ""; 
    243             if (count($this->arrErrorMsg_widg) > 0) { 
    244                 $strOutput .= "<div class=\"upload_error\">"; 
    245                 foreach ($this->arrErrorMsg_widg as $msg) { 
    246                     $strOutput .= $msg; 
    247                 } 
    248                 $strOutput .= "</div>"; 
    249             }        
     239        public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) { 
     240            $strOutput = ""; 
     241            if (count($this->arrErrorMsg_widg) > 0) { 
     242                $strOutput .= "<div class=\"upload_error\">"; 
     243                foreach ($this->arrErrorMsg_widg as $msg) { 
     244                    $strOutput .= $msg; 
     245                } 
     246                $strOutput .= "</div>"; 
     247            } 
    250248            if (count($this->arrImageMsg_widg) > 0) { 
    251                 $strOutput .= "<div class=\"upload_error\">"; 
    252                 foreach ($this->arrImageMsg_widg as $msg) { 
    253                     $strOutput .= $msg; 
    254                 } 
    255                 $strOutput .= "</div>"; 
    256             }        
    257             if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
    258                 $strOutput .= "<div class=\"need_login\">"; 
     249                $strOutput .= "<div class=\"upload_error\">"; 
     250                foreach ($this->arrImageMsg_widg as $msg) { 
     251                    $strOutput .= $msg; 
     252                } 
     253                $strOutput .= "</div>"; 
     254            } 
     255            if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) { 
     256                $strOutput .= "<div class=\"need_login\">"; 
    259257                if(get_option('npu_notlogged')) { 
    260                     $strOutput .= get_option('npu_notlogged'); 
     258                    $strOutput .= get_option('npu_notlogged'); 
    261259                } else { 
    262260                    $strOutput .= "You must be registered and logged in to upload images."; 
    263261                } 
    264                 $strOutput .= "</div>"; 
    265             } else {                 
    266                 $npu_selected_user_role = get_option('npu_user_role_select');                
     262                $strOutput .= "</div>"; 
     263            } else { 
     264                $npu_selected_user_role = get_option('npu_user_role_select'); 
    267265                if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) { 
    268                     $strOutput .= "<div id=\"uploadimage\">"; 
    269                     $strOutput .= "\n\t<form name=\"uploadimage_widget\" id=\"uploadimage_form_widget\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
    270                     $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
    271                     $strOutput .= "\n\t<div class=\"uploader\">"; 
    272                     $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
    273                     $strOutput .= "\n</div>"; 
    274                     $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
    275                     if (!$strDetailsPage) { 
    276                         $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
    277                         if ($blnShowAltText) {} 
    278                         $strOutput .= "\n\t</div>"; 
    279                     }        
    280                     if(get_option('npu_image_description_select') == 'Enabled') {        
    281                         $strOutput .= "<br />";                              
    282                         if(get_option('npu_description_text')) {             
    283                             $strOutput .= get_option('npu_description_text');            
    284                         } else {             
     266                    $strOutput .= "<div id=\"uploadimage\">"; 
     267                    $strOutput .= "\n\t<form name=\"uploadimage_widget\" id=\"uploadimage_form_widget\" method=\"POST\" enctype=\"multipart/form-data\" accept-charset=\"utf-8\" >"; 
     268                    $strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false); 
     269                    $strOutput .= "\n\t<div class=\"uploader\">"; 
     270                    $strOutput .= "\n\t<input type=\"file\" name=\"imagefiles\" id=\"imagefiles\"/>"; 
     271                    $strOutput .= "\n</div>"; 
     272                    $strOutput .= "\n<input type=\"hidden\" name=\"galleryselect\" value=\"{$gal_id}\">"; 
     273                    if (!$strDetailsPage) { 
     274                        $strOutput .= "\n\t<div class=\"image_details_textfield\">"; 
     275                        if ($blnShowAltText) {} 
     276                        $strOutput .= "\n\t</div>"; 
     277                    } 
     278                    if(get_option('npu_image_description_select') == 'Enabled') { 
     279                        $strOutput .= "<br />"; 
     280                        if(get_option('npu_description_text')) { 
     281                            $strOutput .= get_option('npu_description_text'); 
     282                        } else { 
    285283                            $strOutput .= __('Description:', 'ngg-public-uploader'); 
    286                         }                
    287                         $strOutput .= "<br />";              
    288                         $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>";        
    289                     }                
    290                     $strOutput .= "\n\t<div class=\"submit\"><br />"; 
     284                        } 
     285                        $strOutput .= "<br />"; 
     286                        $strOutput .= "\n\t<input type=\"text\" name=\"imagedescription\" id=\"imagedescription\"/>"; 
     287                    } 
     288                    $strOutput .= "\n\t<div class=\"submit\"><br />"; 
    291289                    if(get_option('npu_upload_button')) { 
    292                         $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" "; 
    293                         $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
     290                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" "; 
     291                        $strOutput .= 'value="' . get_option("npu_upload_button") . '" >'; 
    294292                    } else { 
    295293                        $strOutput .= "\n\t\t<input class=\"button-primary\" type=\"submit\" name=\"uploadimage_widget\" id=\"uploadimage_btn\" value=\"Upload\" />"; 
    296294                    } 
    297                     $strOutput .= "\n\t\t</div>"; 
    298                     $strOutput .= "\n</form>"; 
    299                     $strOutput .= "\n</div>"; 
    300                 } 
    301             } 
    302             if ($echo) { 
    303                 echo $strOutput; 
    304             } else { 
    305                 return $strOutput; 
    306             }           
     295                    $strOutput .= "\n\t\t</div>"; 
     296                    $strOutput .= "\n</form>"; 
     297                    $strOutput .= "\n</div>"; 
     298                } 
     299            } 
     300            if ($echo) { 
     301                echo $strOutput; 
     302            } else { 
     303                return $strOutput; 
     304            } 
    307305        } 
    308306 
    309307        // Function: Handle Upload for Shortcode 
    310         public function handleUpload() {     
    311             global $wpdb; 
    312             require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
    313             require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
    314             $ngg->options['swfupload'] = false; 
    315             if ($_POST['uploadimage']){          
    316                 check_admin_referer('ngg_addgallery'); 
    317                 if ($_FILES['MF__F_0_0']['error'] == 0) { 
    318                     $objUploaderNggAdmin = new UploaderNggAdmin(); 
    319                     $messagetext = $objUploaderNggAdmin->upload_images(); 
    320                     $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
    321                     $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
    322                     $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
    323                     if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
    324                         foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
    325                             if ($strReturnMsg != '1') { 
    326                                 $this->arrErrorMsg[] = $strReturnMsg; 
    327                             } 
    328                         }    
     308        public function handleUpload() { 
     309            global $wpdb; 
     310            require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
     311            require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
     312            $ngg->options['swfupload'] = false; 
     313            if ( isset( $_POST['uploadimage'] ) ) { 
     314                check_admin_referer('ngg_addgallery'); 
     315                if ( !isset($_FILES['MF__F_0_0']['error']) || $_FILES['MF__F_0_0']['error'] == 0) { 
     316                    $objUploaderNggAdmin = new UploaderNggAdmin(); 
     317                    $messagetext = $objUploaderNggAdmin->upload_images(); 
     318                    $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
     319                    $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
     320                    $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
     321                    if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
     322                        foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
     323                            if ($strReturnMsg != '1') { 
     324                                $this->arrErrorMsg[] = $strReturnMsg; 
     325                            } 
     326                        } 
    329327                        if(get_option('npu_upload_success')) { 
    330328                            $this->arrImageMsg[] = get_option('npu_upload_success'); 
     
    333331                        } 
    334332                        $this->sendEmail(); 
    335                     } 
    336                     if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
    337                         foreach ($this->arrImageIds as $imageId) { 
    338                             $pic = nggdb::find_image($imageId); 
    339                             $objEXIF = new nggMeta($pic->imagePath); 
    340                             $this->strTitle = $objEXIF->get_META('title'); 
    341                             $this->strDescription = $objEXIF->get_META('caption'); 
    342                             $this->strKeywords = $objEXIF->get_META('keywords'); 
    343                             $this->strTimeStamp = $objEXIF->get_date_time(); 
    344                         } 
    345                     } else { 
     333                    } 
     334                    if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
     335                        foreach ($this->arrImageIds as $imageId) { 
     336                            $pic = nggdb::find_image($imageId); 
     337                            $objEXIF = new nggMeta($pic->imagePath); 
     338                            $this->strTitle = $objEXIF->get_META('title'); 
     339                            $this->strDescription = $objEXIF->get_META('caption'); 
     340                            $this->strKeywords = $objEXIF->get_META('keywords'); 
     341                            $this->strTimeStamp = $objEXIF->get_date_time(); 
     342                        } 
     343                    } else { 
    346344                        if(get_option('npu_no_file')) { 
    347345                        $this->arrErrorMsg[] = get_option('npu_no_file'); 
    348346                        } else { 
    349                         $this->arrErrorMsg[] = "You must select a file to upload"; 
    350                         } 
    351                     }                   
    352                     $this->update_details(); 
    353                 } else { 
     347                        $this->arrErrorMsg[] = "You must select a file to upload"; 
     348                        } 
     349                    } 
     350                    $this->update_details(); 
     351                } else { 
    354352                    if(get_option('npu_upload_failed')) { 
    355                     $this->arrErrorMsg[] = get_option('npu_upload_failed'); 
     353                    $this->arrErrorMsg[] = get_option('npu_upload_failed'); 
    356354                    } else { 
    357355                    $this->arrErrorMsg[] = "Upload failed!"; 
    358356                    } 
    359                 } 
    360                 if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
    361                     $gal_id = $_POST['galleryselect']; 
    362                     foreach ($this->arrImageIds as $intImageId) { 
    363                         $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
    364                         if ($filename) { 
    365                             $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
    366                             if ($gallerypath){ 
    367                                 @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
    368                                 @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
    369                             } 
    370                             $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
    371                         } 
    372                     } 
    373                 } 
    374             } 
    375         } 
    376          
     357                } 
     358                if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
     359                    $gal_id = $_POST['galleryselect']; 
     360                    foreach ($this->arrImageIds as $intImageId) { 
     361                        $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
     362                        if ($filename) { 
     363                            $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
     364                            if ($gallerypath){ 
     365                                @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
     366                                @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
     367                            } 
     368                            $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
     369                        } 
     370                    } 
     371                } 
     372            } 
     373        } 
     374 
    377375        // Function: Handle Upload for Widget 
    378         public function handleUpload_widget() {  
    379             global $wpdb; 
    380             require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
    381             require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
    382             $ngg->options['swfupload'] = false; 
    383             if ($_POST['uploadimage_widget']){           
    384                 check_admin_referer('ngg_addgallery'); 
    385                 if ($_FILES['MF__F_0_0']['error'] == 0) { 
    386                     $objUploaderNggAdmin = new UploaderNggAdmin(); 
    387                     $messagetext = $objUploaderNggAdmin->upload_images_widget(); 
    388                     $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
    389                     $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
    390                     $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
    391                     if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
    392                         foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
    393                             if ($strReturnMsg != '1') { 
    394                                 $this->arrErrorMsg_widg[] = $strReturnMsg; 
    395                             } 
    396                         }                    
     376        public function handleUpload_widget() { 
     377            global $wpdb; 
     378            require_once(dirname (__FILE__). '/class.npu_uploader.php'); 
     379            require_once(NGGALLERY_ABSPATH . '/lib/meta.php'); 
     380            $ngg->options['swfupload'] = false; 
     381            if (isset($_POST['uploadimage_widget'])){ 
     382                check_admin_referer('ngg_addgallery'); 
     383                if ( ! isset($_FILES['MF__F_0_0']['error']) || $_FILES['MF__F_0_0']['error'] == 0 ) { 
     384                    $objUploaderNggAdmin = new UploaderNggAdmin(); 
     385                    $messagetext = $objUploaderNggAdmin->upload_images_widget(); 
     386                    $this->arrImageIds = $objUploaderNggAdmin->arrImageIds; 
     387                    $this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath; 
     388                    $this->arrImageNames = $objUploaderNggAdmin->arrImageNames; 
     389                    if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) { 
     390                        foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) { 
     391                            if ($strReturnMsg != '1') { 
     392                                $this->arrErrorMsg_widg[] = $strReturnMsg; 
     393                            } 
     394                        } 
    397395                        if(get_option('npu_upload_success')) { 
    398396                            $this->arrImageMsg_widg[] = get_option('npu_upload_success'); 
     
    401399                        } 
    402400                        $this->sendEmail(); 
    403                     } 
    404                     if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
    405                         foreach ($this->arrImageIds as $imageId) { 
    406                             $pic = nggdb::find_image($imageId); 
    407                             $objEXIF = new nggMeta($pic->imagePath); 
    408                             $this->strTitle = $objEXIF->get_META('title'); 
    409                             $this->strDescription = $objEXIF->get_META('caption'); 
    410                             $this->strKeywords = $objEXIF->get_META('keywords'); 
    411                             $this->strTimeStamp = $objEXIF->get_date_time(); 
    412                         } 
    413                     } else { 
     401                    } 
     402                    if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) { 
     403                        foreach ($this->arrImageIds as $imageId) { 
     404                            $pic = nggdb::find_image($imageId); 
     405                            $objEXIF = new nggMeta($pic->imagePath); 
     406                            $this->strTitle = $objEXIF->get_META('title'); 
     407                            $this->strDescription = $objEXIF->get_META('caption'); 
     408                            $this->strKeywords = $objEXIF->get_META('keywords'); 
     409                            $this->strTimeStamp = $objEXIF->get_date_time(); 
     410                        } 
     411                    } else { 
    414412                        if(get_option('npu_no_file')) { 
    415413                        $this->arrErrorMsg_widg[] = get_option('npu_no_file'); 
    416414                        } else { 
    417                         $this->arrErrorMsg_widg[] = "You must select a file to upload"; 
    418                         } 
    419                     }                     
    420                     $this->update_details(); 
    421                 } else { 
    422                     if(get_option('npu_upload_failed')) { 
    423                     $this->arrErrorMsg_widg[] = get_option('npu_upload_failed'); 
     415                        $this->arrErrorMsg_widg[] = "You must select a file to upload"; 
     416                        } 
     417                    } 
     418                    $this->update_details(); 
     419                } else { 
     420                    if ( get_option('npu_upload_failed') ) { 
     421                       $this->arrErrorMsg_widg[] = get_option('npu_upload_failed'); 
    424422                    } else { 
    425                     $this->arrErrorMsg_widg[] = "Upload failed!"; 
    426                     } 
    427                 } 
    428                 if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
    429                     $gal_id = $_POST['galleryselect']; 
    430                     foreach ($this->arrImageIds as $intImageId) { 
    431                         $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
    432                         if ($filename) { 
    433                             $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
    434                             if ($gallerypath){ 
    435                                 @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
    436                                 @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
    437                             } 
    438                             $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
    439                         } 
    440                     } 
    441                 } 
    442             } 
    443         } 
    444          
     423                       $this->arrErrorMsg_widg[] = "Upload failed!"; 
     424                    } 
     425                } 
     426                if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) { 
     427                    $gal_id = $_POST['galleryselect']; 
     428                    foreach ($this->arrImageIds as $intImageId) { 
     429                        $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' "); 
     430                        if ($filename) { 
     431                            $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' "); 
     432                            if ($gallerypath){ 
     433                                @unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename); 
     434                                @unlink(WINABSPATH . $gallerypath . '/' . $filename); 
     435                            } 
     436                            $delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId"); 
     437                        } 
     438                    } 
     439                } 
     440            } 
     441        } 
     442 
    445443        // Function: Update Details 
    446         public function update_details() { 
    447             global $wpdb; 
    448             $arrUpdateFields = array(); 
    449             if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) { 
    450                 $this->strDescription = $wpdb->escape($_POST['imagedescription']); 
    451                 $arrUpdateFields[] = "description = '$this->strDescription'"; 
    452             } else { 
    453                 return; 
    454             } 
    455             if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) { 
    456                 $this->strTitle = $wpdb->escape($_POST['alttext']); 
    457                 $arrUpdateFields[] = "alttext = '$this->strTitle'"; 
    458             } 
    459             if (isset ($_POST['tags']) && !empty($_POST['tags'])) { 
    460                 $this->strKeywords = $_POST['tags']; 
    461             } 
    462             if (count($arrUpdateFields) > 0) {           
     444        public function update_details() { 
     445            global $wpdb; 
     446            $arrUpdateFields = array(); 
     447            if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) { 
     448                $this->strDescription = $wpdb->escape($_POST['imagedescription']); 
     449                $arrUpdateFields[] = "description = '$this->strDescription'"; 
     450            } else { 
     451                return; 
     452            } 
     453            if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) { 
     454                $this->strTitle = $wpdb->escape($_POST['alttext']); 
     455                $arrUpdateFields[] = "alttext = '$this->strTitle'"; 
     456            } 
     457            if (isset ($_POST['tags']) && !empty($_POST['tags'])) { 
     458                $this->strKeywords = $_POST['tags']; 
     459            } 
     460            if (count($arrUpdateFields) > 0) { 
    463461            if (get_option('npu_exclude_select') == "Disabled") { 
    464462                $npu_exclude_id = 0; 
    465463            } else { 
    466464                $npu_exclude_id = 1; 
    467             }                
    468                 $strUpdateFields = implode(", ", $arrUpdateFields); 
    469                 $pictures = $this->arrImageIds; 
    470                 if (count($pictures) > 0) { 
    471                     foreach( $pictures as $pid ) { 
    472                         $strQuery = "UPDATE $wpdb->nggpictures SET "; 
    473                         $strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid"; 
    474                         $wpdb->query($strQuery); 
    475                         $arrTags = explode(',', $this->strKeywords); 
    476                         wp_set_object_terms($pid, $arrTags, 'ngg_tag'); 
    477                     } 
    478                 } 
    479             }             
    480         } 
    481          
     465            } 
     466                $strUpdateFields = implode(", ", $arrUpdateFields); 
     467                $pictures = $this->arrImageIds; 
     468                if (count($pictures) > 0) { 
     469                    foreach( $pictures as $pid ) { 
     470                        $strQuery = "UPDATE $wpdb->nggpictures SET "; 
     471                        $strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid"; 
     472                        $wpdb->query($strQuery); 
     473                        $arrTags = explode(',', $this->strKeywords); 
     474                        wp_set_object_terms($pid, $arrTags, 'ngg_tag'); 
     475                    } 
     476                } 
     477            } 
     478        } 
     479 
    482480        // Function: Shortcode 
    483         public function shortcode_show_uploader($atts) { 
    484             global $wpdb;            
     481        public function shortcode_show_uploader($atts) { 
     482            global $wpdb; 
    485483            $default_gallery = get_option('npu_default_gallery'); 
    486             extract(shortcode_atts(array( 
    487                 'id' => $default_gallery, 
    488                 'template' => '' 
    489             ), $atts)); 
    490             $this->handleUpload(); 
    491             $out = $this->display_uploader($id, false, true, false); 
    492             return $out; 
    493         } 
    494          
     484            extract(shortcode_atts(array( 
     485                'id' => $default_gallery, 
     486                'template' => '' 
     487            ), $atts)); 
     488            $this->handleUpload(); 
     489            $out = $this->display_uploader($id, false, true, false); 
     490            return $out; 
     491        } 
     492 
    495493        // Function: Send Email Notice 
    496494        public function sendEmail() { 
     
    500498                $message = "A new image has been submitted and is waiting to be reviewed."; 
    501499                wp_mail( $to, $subject, $message); 
    502             }            
    503         } 
    504                  
    505     } 
     500            } 
     501        } 
     502 
     503    } 
    506504} 
    507505 
  • nextgen-public-uploader/trunk/nextgen-public-uploader.php

    r376822 r608725  
    22/* 
    33Plugin Name: NextGEN Public Uploader 
    4 Plugin URI: http://webdevstudios.com/support/wordpress-plugins/nextgen-public-uploader/ 
     4Plugin URI: http://webdevstudios.com/plugin/nextgen-public-uploader/ 
    55Description: NextGEN Public Uploader is an extension to NextGEN Gallery which allows frontend image uploads for your users. 
    6 Version: 1.6.1 
     6Version: 1.7 
    77Author: WebDevStudios 
    88Author URI: http://webdevstudios.com 
    99 
    10 Copyright 2009 WebDevStudios  (email : contact@webdevstudios.com) 
     10Copyright 2009-2012 WebDevStudios  (email : contact@webdevstudios.com) 
    1111 
    1212This program is free software; you can redistribute it and/or modify 
     
    2525*/ 
    2626 
    27 /* 
    28 == Changelog == 
    29  
    30 = V1.6.1 - 4.25.2011 = 
    31 * Security Patch (QuickFix): Adds random hash to images held for moderation. (Thanks to Linus-Neumann.de) 
    32  
    33 = V1.6 - 1.30.2010 = 
    34 * Updates: Added localization 
    35 * Updates: Displays gallery name in TinyMCE 
    36  
    37 = V1.5 - 12.7.2009 = 
    38 * New Feature: TinyMCE Button 
    39 * Bugfix: Widget Uploader 
    40 * Updates: Settings Page 
    41  
    42 = V1.4 - 11.5.2009 = 
    43 * New Feature: Image Description 
    44 * Updates: More options available via settings page 
    45 * Updates: Default Gallery Drop-down 
    46 * Updates: Added button to reset default values 
    47 * Updates: Edit more text areas from settings page 
    48 * Bugfix: Fixed bug when saving options 
    49  
    50 = V1.3 - 10.20.2009 = 
    51 * New Feature: Widget Uploader 
    52 * New Feature: Select which user level can upload 
    53 * Fixed: More than one form can be displayed 
    54 * Updates: More options available via settings page 
    55 * Updates: Readme.txt updated 
    56 * Updates: Check if NextGEN Gallery exists optimized 
    57 * Bugfix: Saving options with WPMU 
    58  
    59 = V1.2.2 - 10.7.2009 = 
    60 * New Feature: Ability to edit messages displayed 
    61  
    62 = V1.2.1 - 10.7.2009 = 
    63 * Bugfix: 404 File not found 
    64  
    65 = V1.2 - 10.7.2009 = 
    66 * Updates: Options page updated 
    67 * Updates: Readme.txt updated 
    68  
    69 = V1.1 - 10.5.2009 = 
    70 * Fixed: SVN repository 
    71  
    72 = V1.0 - 10.5.2009 = 
    73 * NextGEN Public Uploader is launched 
    74  
    75 */ 
    76  
    77 // Define current version. 
    78 define( 'NG_PUBLIC_UPLOADER_VERSION', '1.6.1' ); 
    79  
    80 /***  
    81  * Define the path and url of the CollabPress plugins directory.  
    82  * It is important to use plugins_url() core function to obtain  
    83  * the correct scheme used (http or https).  
    84  */ 
    85 define( 'NG_PUBLIC_PLUGIN_DIR', WP_PLUGIN_DIR . '/nextgen-public-uploader' ); 
    86 define( 'NG_PUBLIC_CP_PLUGIN_URL', plugins_url( $path = '/nextgen-public-uploader' ) ); 
    87  
    88 // Function -> Display Error If NextGEN Gallery Doesn't Exist 
    89 function npu_error_message(){ 
    90     echo '<div class="error fade" style="background-color:red;"><p><strong>NextGEN Public Uploader requires NextGEN gallery in order to work. Please deactivate this plugin or activate <a href="http://wordpress.org/extend/plugins/nextgen-gallery/">NextGEN Gallery</a>.</strong></p></div>'; 
    91 } 
    92      
    93 $plugins = get_option('active_plugins'); 
    94 $required_plugin = 'nextgen-gallery/nggallery.php'; 
    95 $debug_queries_on = FALSE; 
    96  
    97 // Does Nextgen Gallery Exist, If Yes Continue 
    98 if(class_exists('nggLoader') || in_array( $required_plugin , $plugins )) {  
    99  
    100     // Hook -> Add Settings Page 
    101     add_action('admin_menu', 'npu_plugin_menu'); 
    102  
    103     // Function -> Add Settings Page 
    104     function npu_plugin_menu() { 
    105         add_menu_page('NextGEN Public Uploader', 'Public Uploader', '8', 'nextgen-public-uploader', 'npu_plugin_options', WP_PLUGIN_URL.'/'.plugin_basename( dirname(__FILE__) ).'/images/npu.png'); 
    106         $plugin = plugin_basename(__FILE__);  
    107         add_filter( 'plugin_action_links_' . $plugin, 'filter_plugin_actions' ); 
    108     } 
    109      
    110     // Hook -> Add Options 
    111     add_option('npu_default_gallery', 1); 
    112     add_option('npu_email_option', ''); 
    113     add_option('npu_notification_email', get_option('admin_email')); 
    114     add_option('npu_upload_button', ''); 
    115     add_option('npu_description_text', ''); 
    116     add_option('npu_notlogged', ''); 
    117     add_option('npu_upload_success', ''); 
    118     add_option('npu_no_file', ''); 
    119     add_option('npu_upload_failed', ''); 
    120     add_option('npu_widget_uploader_select', 'Enabled'); 
    121     add_option('npu_exclude_select', 'Enabled'); 
    122     add_option('npu_user_role_select', 0); 
    123     add_option('npu_image_description_select', 'Disabled'); 
    124     add_option('npu_image_linklove_select', 'Disabled'); 
    125  
    126     // Function -> Update Uptions 
    127     function npu_update_options() { 
    128     update_option('npu_default_gallery', $_POST['npu_default_gallery']); 
    129     update_option('npu_email_option', $_POST['npu_email_option']); 
    130     update_option('npu_notification_email', $_POST['npu_notification_email']); 
    131     update_option('npu_upload_button', $_POST['npu_upload_button']); 
    132     update_option('npu_description_text', $_POST['npu_description_text']); 
    133     update_option('npu_notlogged', $_POST['npu_notlogged']); 
    134     update_option('npu_upload_success', $_POST['npu_upload_success']); 
    135     update_option('npu_no_file', $_POST['npu_no_file']); 
    136     update_option('npu_upload_failed', $_POST['npu_upload_failed']); 
    137     update_option('npu_widget_uploader_select', $_POST['npu_widget_uploader_select']); 
    138     update_option('npu_exclude_select', $_POST['npu_exclude_select']); 
    139     update_option('npu_user_role_select', $_POST['npu_user_role_select']); 
    140     update_option('npu_image_description_select', $_POST['npu_image_description_select']); 
    141     update_option('npu_image_linklove_select', $_POST['npu_image_linklove_select']); 
    142     } 
    143      
    144     function npu_restore_options() { 
    145     update_option('npu_default_gallery', 1); 
    146     update_option('npu_email_option', ''); 
    147     update_option('npu_notification_email', get_option('admin_email')); 
    148     update_option('npu_upload_button', ''); 
    149     update_option('npu_description_text', ''); 
    150     update_option('npu_notlogged', ''); 
    151     update_option('npu_upload_success', ''); 
    152     update_option('npu_no_file', ''); 
    153     update_option('npu_upload_failed', ''); 
    154     update_option('npu_widget_uploader_select', 'Enabled'); 
    155     update_option('npu_exclude_select', 'Enabled'); 
    156     update_option('npu_user_role_select', 0); 
    157     update_option('npu_image_description_select', 'Disabled'); 
    158     update_option('npu_image_linklove_select', 'Disabled'); 
    159     } 
    160  
    161     // Function -> Settings Page 
    162     function npu_plugin_options() { ?> 
    163      
    164     <?php 
    165      
    166     if ( current_user_can('manage_options') ) {  
    167      
    168     if (isset($_POST['Submit'])) { 
    169             npu_update_options(); 
    170             echo "<div class=\"updated\">\n" 
    171                 . "<p>" 
    172                     . "<strong>" 
    173                     . __('Settings saved.') 
    174                     . "</strong>" 
    175                 . "</p>\n" 
    176                 . "</div>\n"; 
    177      
    178         }  
    179      
    180         if (isset($_POST['Restore'])) { 
    181             npu_restore_options(); 
    182             echo "<div class=\"updated\">\n" 
    183                 . "<p>" 
    184                     . "<strong>" 
    185                     . __('Default settings restored.') 
    186                     . "</strong>" 
    187                 . "</p>\n" 
    188                 . "</div>\n"; 
    189      
    190         } 
    191     } 
    192  
    193     ?> 
    194  
    195         <div class="wrap"> 
    196             <div class="icon32" id="icon-options-general"><br/></div> 
    197              
    198                 <h2>NextGEN Public Uploader</h2> 
    199                 <p><strong><?php _e('Author', 'ngg-public-uploader') ?>:</strong> <a href="http://webdevstudios.com">WebDevStudios</a></p> 
    200                 <p><strong><?php _e('Current Version', 'ngg-public-uploader') ?>:</strong> <?php echo NG_PUBLIC_UPLOADER_VERSION ?></p> 
    201                 <p><strong><?php _e('Shortcode Examples', 'ngg-public-uploader') ?>: </strong><code>[ngg_uploader]</code> or <code>[ngg_uploader id = 1]</code></p> 
    202                 <p><strong><a href="http://webdevstudios.com/support/wordpress-plugins/nextgen-public-uploader/"><?php _e('Visit The Plugin Homepage', 'ngg-public-uploader') ?></a></strong></p> 
    203                 <p><strong><a href="http://webdevstudios.com/support/forum/nextgen-public-uploader/"><?php _e('Visit The Support Forum', 'ngg-public-uploader') ?></a></strong></p> 
    204                 <p><strong><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3084056"><?php _e('Donate To This Plugin', 'ngg-public-uploader') ?></a></strong></p> 
    205                  
    206                 <form method="post"> 
    207                     <input type="hidden" name="action" value="update" /> 
    208                     <?php wp_nonce_field('update-options'); ?> 
    209                     <input type="hidden" name="npu_update_options" value="1"> 
    210                     <table class="form-table"> 
    211                         <?php 
    212                         include_once (NGGALLERY_ABSPATH."lib/ngg-db.php"); 
    213                         $nggdb = new nggdb(); 
    214                         $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
    215                         ?> 
    216                         <tr valign="top"> 
    217                             <th scope="row"><?php _e('Default Gallery ID', 'ngg-public-uploader') ?>:</th> 
    218                             <td> 
    219                                 <select name="npu_default_gallery"> 
    220                                     <option selected><?php echo get_option('npu_default_gallery'); ?></option> 
    221                                     <?php  
    222                                     foreach ($gallerylist as $gallery) { 
    223                                         $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?> 
    224                                         <?php if (get_option('npu_default_gallery') != $gallery->gid) { ?> 
    225                                             <option <?php selected($gallery->gid , $gal_id); ?> value="<?php echo $gallery->gid; ?>"><?php _e($gallery->gid,'nggallery'); ?></option> 
    226                                         <?php } ?> 
    227                                     <?php } ?> 
    228                                 </select> 
    229                                 <span class="description"><?php _e('Select the default gallery ID when using', 'ngg-public-uploader') ?> [ngg_uploader].</span> 
    230                             </td> 
    231                         </tr> 
    232          
    233                         <tr valign="top"> 
    234                             <th scope="row"><?php _e('Widget Uploader', 'ngg-public-uploader') ?>: </th> 
    235                             <td> 
    236                                 <select name="npu_widget_uploader_select"> 
    237                                     <option selected><?php echo get_option('npu_widget_uploader_select'); ?></option> 
    238                                         <?php if (get_option('npu_widget_uploader_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    239                                         <?php if (get_option('npu_widget_uploader_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    240                                 </select> 
    241                                 <span class="description"><?php _e('Enable or disable the widget uploader.', 'ngg-public-uploader') ?></span> 
    242                             </td> 
    243                         </tr> 
    244          
    245                         <tr valign="top"> 
    246                             <th scope="row"><?php _e('Description Field', 'ngg-public-uploader') ?>: </th> 
    247                             <td> 
    248                                 <select name="npu_image_description_select"> 
    249                                     <option selected><?php echo get_option('npu_image_description_select'); ?></option> 
    250                                     <?php if (get_option('npu_image_description_select') != "Enabled") { ?><option value="Enabled"><?php _e('Enabled', 'ngg-public-uploader') ?></option><?php } ?> 
    251                                     <?php if (get_option('npu_image_description_select') != "Disabled") { ?><option value="Disabled"><?php _e('Disabled', 'ngg-public-uploader') ?></option><?php } ?> 
    252                                 </select> 
    253                                 <span class="description"><?php _e('Enable or disable upload description field.', 'ngg-public-uploader') ?></span> 
    254                             </td> 
    255                         </tr> 
    256          
    257                         <?php  
    258          
    259                         if (get_option('npu_user_role_select') == 99) { 
    260                             $npu_selected_user_role = "Visitor"; 
    261                         } else if (get_option('npu_user_role_select') == 0) { 
    262                             $npu_selected_user_role = "Subscriber"; 
    263                         } else if (get_option('npu_user_role_select') == 1) { 
    264                             $npu_selected_user_role = "Contributer"; 
    265                         } else if (get_option('npu_user_role_select') == 2) { 
    266                             $npu_selected_user_role = "Author"; 
    267                         } else if (get_option('npu_user_role_select') == 7) { 
    268                             $npu_selected_user_role = "Editor"; 
    269                         } else if (get_option('npu_user_role_select') == 10) { 
    270                             $npu_selected_user_role = "Admin"; 
    271                         } 
    272          
    273                         ?> 
    274          
    275                         <tr valign="top"> 
    276                             <th scope="row"><?php _e('Minimum User Role', 'ngg-public-uploader') ?>: </th> 
    277                             <td> 
    278                                 <select name="npu_user_role_select"> 
    279                                     <option selected value="<?php echo get_option('npu_user_role_select'); ?>"><?php echo $npu_selected_user_role; ?></option> 
    280                                     <?php if (get_option('npu_user_role_select') != 99) { ?><option value="99"><?php _e('Visitor', 'ngg-public-uploader') ?></option><?php } ?> 
    281                                     <?php if (get_option('npu_user_role_select') != 0) { ?><option value="0"><?php _e('Subscriber', 'ngg-public-uploader') ?></option><?php } ?> 
    282                                     <?php if (get_option('npu_user_role_select') != 1) { ?><option value="1"><?php _e('Contributer', 'ngg-public-uploader') ?></option><?php } ?> 
    283                                     <?php if (get_option('npu_user_role_select') != 2) { ?><option value="2"><?php _e('Author', 'ngg-public-uploader') ?></option><?php } ?> 
    284                                     <?php if (get_option('npu_user_role_select') != 7) { ?><option value="7"><?php _e('Editor', 'ngg-public-uploader') ?></option><?php } ?> 
    285                                     <?php if (get_option('npu_user_role_select') != 10) { ?><option value="10"><?php _e('Admin', 'ngg-public-uploader') ?></option><?php } ?> 
    286                                 </select> 
    287                                 <span class="description"><?php _e('Select the minimum required user role for image uploading.', 'ngg-public-uploader') ?></span> 
    288                             </td> 
    289                         </tr> 
    290          
    291                         <tr valign="top"> 
    292                             <th scope="row"><?php _e('Notification Email', 'ngg-public-uploader') ?>:</th> 
    293                             <td> 
    294                                 <input type="text" name="npu_notification_email" value="<?php echo get_option('npu_notification_email'); ?>" /> 
    295                                 <span class="description"><?php _e('Enter an email address to be notified when a image has been submitted.', 'ngg-public-uploader') ?></span> 
    296                             </td> 
    297                         </tr> 
    298          
    299                         <tr valign="top"> 
    300                             <th scope="row"><?php _e('Upload Button', 'ngg-public-uploader') ?>:</th> 
    301                             <td> 
    302                                 <input type="text" name="npu_upload_button" value="<?php echo get_option('npu_upload_button'); ?>" /> 
    303                                 <span class="description"><?php _e('Customize text for upload button.', 'ngg-public-uploader') ?></span> 
    304                             </td> 
    305                         </tr> 
    306          
    307                         <tr valign="top"> 
    308                             <th scope="row"><?php _e('Description Text', 'ngg-public-uploader') ?>:</th> 
    309                             <td> 
    310                                 <input type="text" name="npu_description_text" value="<?php echo get_option('npu_description_text'); ?>" /> 
    311                                 <span class="description"><?php _e('Message displayed for image description.', 'ngg-public-uploader') ?></span> 
    312                             </td> 
    313                         </tr> 
    314  
    315                         <tr valign="top"> 
    316                             <th scope="row"><?php _e('Not Authorized', 'ngg-public-uploader') ?>:</th> 
    317                             <td> 
    318                                 <input type="text" name="npu_notlogged" value="<?php echo get_option('npu_notlogged'); ?>" /> 
    319                                 <span class="description"><?php _e('Message displayed when a user does not have permission to upload.', 'ngg-public-uploader') ?></span> 
    320                             </td> 
    321                         </tr> 
    322  
    323                         <tr valign="top"> 
    324                             <th scope="row"><?php _e('Upload Success', 'ngg-public-uploader') ?>:</th> 
    325                             <td> 
    326                                 <input type="text" name="npu_upload_success" value="<?php echo get_option('npu_upload_success'); ?>" /> 
    327                                 <span class="description"><?php _e('Message displayed when an image has been successfully uploaded.', 'ngg-public-uploader') ?></span> 
    328                             </td> 
    329                         </tr> 
    330  
    331                         <tr valign="top"> 
    332                             <th scope="row"><?php _e('No File', 'ngg-public-uploader') ?>:</th> 
    333                             <td> 
    334                                 <input type="text" name="npu_no_file" value="<?php echo get_option('npu_no_file'); ?>" /> 
    335                                 <span class="description"><?php _e('Message displayed when no file has been selected.', 'ngg-public-uploader') ?></span> 
    336                             </td> 
    337                         </tr> 
    338  
    339                         <tr valign="top"> 
    340                             <th scope="row"><?php _e('Upload Failed', 'ngg-public-uploader') ?>:</th> 
    341                             <td> 
    342                                 <input type="text" name="npu_upload_failed" value="<?php echo get_option('npu_upload_failed'); ?>" /> 
    343                                 <span class="description"><?php _e('Message displayed when an upload has failed.', 'ngg-public-uploader') ?></span> 
    344                             </td> 
    345                         </tr> 
    346          
    347                         <tr valign="top"> 
    348                             <th scope="row"><?php _e('Exclude Uploaded Images', 'ngg-public-uploader') ?>: </th> 
    349                             <td> 
    350                                 <select name="npu_exclude_select"> 
    351                                     <option selected><?php echo get_option('npu_exclude_select'); ?></option> 
    352                                     <?php if (get_option('npu_exclude_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    353                                     <?php if (get_option('npu_exclude_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    354                                 </select> 
    355                                 <span class="description"><?php _e('Enable or disable images flagged as excluded.', 'ngg-public-uploader') ?></span> 
    356                             </td> 
    357                         </tr> 
    358          
    359                         <tr valign="top"> 
    360                             <th scope="row"><?php _e('Link Love', 'ngg-public-uploader') ?>: </th> 
    361                             <td> 
    362                                 <select name="npu_image_linklove_select"> 
    363                                     <option selected><?php echo get_option('npu_image_linklove_select'); ?></option> 
    364                                     <?php if (get_option('npu_image_linklove_select') != "Enabled") { ?><option value="Enabled">Enabled</option><?php } ?> 
    365                                     <?php if (get_option('npu_image_linklove_select') != "Disabled") { ?><option value="Disabled">Disabled</option><?php } ?> 
    366                                 </select> 
    367                                 <span class="description"><?php _e('If you love this plugin link to us in your footer.', 'ngg-public-uploader') ?></span> 
    368                             </td> 
    369                         </tr> 
    370      
    371                     </table> 
    372  
    373                     <input type="hidden" name="action" value="update" /> 
    374                     <input type="hidden" name="npu_page_options" value="npu_default_gallery, npu_email_option, npu_notification_email, npu_notlogged, npu_upload_success, npu_no_file, npu_upload_failed, npu_widget_uploader_select, npu_exclude_select, npu_user_role_select, npu_image_description_select, npu_image_linklove_select, npu_upload_button, npu_description_text" /> 
    375  
    376                     <p class="submit"><input type="submit" name="Submit" value="<?php _e('Save Changes') ?>" /></p> 
    377          
    378                 </form> 
    379          
    380                 <form name="Restore" method="post"> 
    381                     <?php wp_nonce_field('restore-options') ?> 
    382                     <p><strong><?php _e('Restore Default Settings', 'ngg-public-uploader') ?></strong></p> 
    383                     <div> 
    384                         <input type="submit" class="button" name="Restore" value="<?php _e('Reset Options') ;?>" onclick="javascript:check=confirm('<?php _e('WARNING: This will restore all default settings.\n\nChoose [Cancel] to Stop, [OK] to proceed.\n'); ?>');if(check==false) return false;" /> 
    385                     </div> 
    386                 </form> 
    387          
    388         </div> 
    389  
    390     <?php 
    391 } 
    392      
    393     // Upload Form Path 
    394     require_once(dirname (__FILE__). '/inc/npu-upload.php'); 
    395          
    396     // TinyMCE 
    397     define('nextgenPublicUpload_ABSPATH', WP_PLUGIN_DIR.'/'.plugin_basename( dirname(__FILE__) ).'/' ); 
    398     define('nextgenPublicUpload_URLPATH', WP_PLUGIN_URL.'/'.plugin_basename( dirname(__FILE__) ).'/' ); 
    399     include_once (dirname (__FILE__)."/tinymce/tinymce.php"); 
    400     // End TinyMCE 
    401          
    402      
    403     // NextGEN Public Uploader Link Love 
    404     function npu_link_love() { 
    405     ?><p><a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/">NextGEN Public Uploader</a> by <a href="http://www.webdevstudios.com/">WebDevStudios</a></p><?php 
    406     } 
    407  
    408     if(get_option('npu_image_linklove_select') == 'Enabled') { 
    409         add_action('wp_footer', 'npu_link_love'); 
    410     } 
    411      
    412     // Add Settings Link -> Plugins Page 
    413     function filter_plugin_actions ( $links ) {  
    414         $settings_link = '<a href="options-general.php?page=nextgen-public-uploader">Settings</a>';  
    415         array_unshift ( $links, $settings_link );  
    416         return $links; 
    417     } 
    418  
    419 } else { 
    420      
     27 
     28// If NextGEN Gallery doesn't exist, or it's not active... 
     29if ( ! class_exists('nggLoader') || ! in_array( 'nextgen-gallery/nggallery.php', get_option('active_plugins') ) ) { 
     30 
    42131    // Display Error Message 
    42232    add_action( 'admin_notices', 'npu_error_message'); 
    423      
    424 } 
     33    function npu_error_message() { 
     34        // Include thickbox support 
     35        add_thickbox(); 
     36 
     37        // Generate our error message 
     38        $output = ''; 
     39        $output .= '<div id="message" class="error">'; 
     40        $output .= '<p><strong>NextGEN Public Uploader</strong> requires NextGEN Gallery in order to work. Please deactivate NextGEN Public Uploader or activate <a href="' . admin_url( '/plugin-install.php?tab=plugin-information&plugin=nextgen-gallery&TB_iframe=true&width=600&height=550' ) . '" target="_blank" class="thickbox onclick">NextGEN Gallery</a>.</strong></p>'; 
     41        $output .= '</div>'; 
     42        echo $output; 
     43 
     44    } 
     45 
     46// Otherwise, continue like normal 
     47} else { 
     48 
     49// Register an activation hook for setting our default settings 
     50register_activation_hook( __FILE__, 'npu_plugin_activation' ); 
     51function npu_plugin_activation() { 
     52 
     53    // If our settings don't already exist, load them in to the database 
     54    if ( ! get_option( 'npu_default_gallery' ) ) { 
     55        update_option( 'npu_default_gallery',           '1' ); 
     56        update_option( 'npu_user_role_select',          '99' ); 
     57        update_option( 'npu_exclude_select',            'Enabled' ); 
     58        update_option( 'npu_image_description_select',  'Enabled' ); 
     59        update_option( 'npu_description_text',          '' ); 
     60        update_option( 'npu_notification_email',        get_option('admin_email') ); 
     61        update_option( 'npu_upload_button',             __( 'Upload', 'ngg-public-uploader' ) ); 
     62        update_option( 'npu_no_file',                   __( 'No file selected.', 'ngg-public-uploader' ) ); 
     63        update_option( 'npu_notlogged',                 __( 'You are not authorized to upload an image.', 'ngg-public-uploader' ) ); 
     64        update_option( 'npu_upload_success',            __( 'Your image has been successfully uploaded.', 'ngg-public-uploader' ) ); 
     65        update_option( 'npu_description_text',          __( 'Your upload failed. Please try again.', 'ngg-public-uploader' ) ); 
     66        update_option( 'npu_image_link_love',           '' ); 
     67    } 
     68 
     69} 
     70 
     71// Upload Form Path 
     72require_once( dirname (__FILE__) . '/inc/npu-upload.php'); 
     73 
     74// TinyMCE 
     75define( 'nextgenPublicUpload_URLPATH', WP_PLUGIN_URL . '/' . plugin_basename( dirname(__FILE__) ) . '/' ); 
     76include_once( dirname (__FILE__)."/tinymce/tinymce.php" ); 
     77 
     78// Output NextGEN Public Uploader Link Love in footer 
     79if ( get_option('npu_image_link_love') ) { add_action('wp_footer', 'npu_link_love'); } 
     80function npu_link_love() { echo '<p><a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/">NextGEN Public Uploader</a> by <a href="http://webdevstudios.com/" title="WordPress Website Design and Development">WebDevStudios</a></p>'; } 
     81 
     82// Register our settings page as a submenu item of the NextGEN menu item 
     83add_action('admin_menu', 'npu_plugin_menu'); 
     84function npu_plugin_menu() { 
     85    add_submenu_page( 'nextgen-gallery', 'NextGEN Public Uploader', 'Public Uploader', '8', 'nextgen-public-uploader', 'npu_plugin_options_page' ); 
     86    add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'filter_plugin_actions' ); 
     87} 
     88 
     89// Add "Settings" Link to Plugin on Plugins Page 
     90function filter_plugin_actions ( $links ) { 
     91    return array_merge( 
     92        array( 
     93            'settings' => '<a href="' . admin_url( 'admin.php?page=nextgen-public-uploader' ) . '">Settings</a>' 
     94        ), 
     95        $links 
     96    ); 
     97} 
     98 
     99// Register all of our settings 
     100add_action( 'admin_init', 'npu_plugin_settings' ); 
     101function npu_plugin_settings() { 
     102 
     103    // Register our settings section 
     104    add_settings_section( 'npu_settings', 'Plugin Settings', 'npu_settings_description', 'nextgen-public-uploader' ); 
     105 
     106    // Register all our settings 
     107    register_setting( 'npu_settings', 'npu_default_gallery',            'npu_settings_sanitization' ); 
     108    register_setting( 'npu_settings', 'npu_user_role_select',           'npu_settings_sanitization' ); 
     109    register_setting( 'npu_settings', 'npu_image_description_select',   'npu_settings_sanitization' ); 
     110    register_setting( 'npu_settings', 'npu_exclude_select',             'npu_settings_sanitization' ); 
     111    register_setting( 'npu_settings', 'npu_notification_email',         'npu_settings_sanitization' ); 
     112    register_setting( 'npu_settings', 'npu_upload_button',              'npu_settings_sanitization' ); 
     113    register_setting( 'npu_settings', 'npu_no_file',                    'npu_settings_sanitization' ); 
     114    register_setting( 'npu_settings', 'npu_description_text',           'npu_settings_sanitization' ); 
     115    register_setting( 'npu_settings', 'npu_notlogged',                  'npu_settings_sanitization' ); 
     116    register_setting( 'npu_settings', 'npu_upload_success',             'npu_settings_sanitization' ); 
     117    register_setting( 'npu_settings', 'npu_upload_failed',              'npu_settings_sanitization' ); 
     118    register_setting( 'npu_settings', 'npu_image_link_love',            'npu_settings_sanitization' ); 
     119 
     120    // Setup the options for our gallery selector 
     121    $gallery_options = array(); 
     122    include_once( NGGALLERY_ABSPATH . "lib/ngg-db.php" ); 
     123    $nggdb = new nggdb(); 
     124    $gallerylist = $nggdb->find_all_galleries('gid', 'DESC'); 
     125    foreach ($gallerylist as $gallery) { 
     126        $name = !empty($gallery->title) ? $gallery->title : $gallery->name; 
     127        $gallery_options[$gallery->gid] = 'ID: ' . $gallery->gid . ' &ndash; ' . $name; 
     128    } 
     129 
     130    // Setup the options for our role selector 
     131    $role_options = array( 
     132        '99'    => __('Visitor', 'ngg-public-uploader'), 
     133        '0'     => __('Subscriber', 'ngg-public-uploader'), 
     134        '1'     => __('Contributor', 'ngg-public-uploader'), 
     135        '2'     => __('Author', 'ngg-public-uploader'), 
     136        '7'     => __('Editor', 'ngg-public-uploader'), 
     137        '10'    => __('Admin', 'ngg-public-uploader') 
     138    ); 
     139 
     140    // Add our settings fields 
     141    add_settings_field( 'npu_default_gallery',          __( 'Default Gallery:', 'ngg-public-uploader' ),            'npu_settings_select',      'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_default_gallery',           'description' => sprintf( __( 'The default gallery ID when using %s with no ID specified.', 'ngg-public-uploader' ), '<code>[ngg_uploader]</code>' ), 'options' => $gallery_options ) ); 
     142    add_settings_field( 'npu_user_role_select',         __( 'Minimum User Role:', 'ngg-public-uploader' ),          'npu_settings_select',      'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_user_role_select',          'description' => __( 'The minimum user role required for image uploading.', 'ngg-public-uploader' ), 'options' => $role_options ) ); 
     143    add_settings_field( 'npu_exclude_select',           __( 'Uploads Require Approval:', 'ngg-public-uploader' ),   'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_exclude_select',            'description' => '',    'value' => 'Enabled', 'label' => __( 'Exclude images from appearing in galleries until they have been approved.', 'ngg-public-uploader' ) ) ); 
     144    add_settings_field( 'npu_image_description_select', __( 'Show Description Field:', 'ngg-public-uploader' ),     'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_image_description_select',  'description' => '',    'value' => 'Enabled', 'label' => __( 'Enable the Image Description text field.', 'ngg-public-uploader' ) ) ); 
     145    add_settings_field( 'npu_description_text',         __( 'Image Description Label:', 'ngg-public-uploader' ),    'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_description_text',          'description' => __( 'Default label shown for the image description textbox.', 'ngg-public-uploader' ) ) ); 
     146    add_settings_field( 'npu_notification_email',       __( 'Notification Email:', 'ngg-public-uploader' ),         'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_notification_email',        'description' => __( 'The email address to be notified when a image has been submitted.', 'ngg-public-uploader' ) ) ); 
     147    add_settings_field( 'npu_upload_button',            __( 'Upload Button Text:', 'ngg-public-uploader' ),         'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_button',             'description' => __( 'Custom text for upload button.', 'ngg-public-uploader' ) ) ); 
     148    add_settings_field( 'npu_no_file',                  __( 'No File Selected Warning:', 'ngg-public-uploader' ),   'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_no_file',                   'description' => __( 'Warning displayed when no file has been selected for upload.', 'ngg-public-uploader' ) ) ); 
     149    add_settings_field( 'npu_notlogged',                __( 'Unauthorized Warning:', 'ngg-public-uploader' ),       'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_notlogged',                 'description' => __( 'Warning displayed when a user does not have permission to upload.', 'ngg-public-uploader' ) ) ); 
     150    add_settings_field( 'npu_upload_success',           __( 'Upload Success Message:', 'ngg-public-uploader' ),     'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_success',            'description' => __( 'Message displayed when an image has been successfully uploaded.', 'ngg-public-uploader' ) ) ); 
     151    add_settings_field( 'npu_upload_failed',            __( 'Upload Failed Message:', 'ngg-public-uploader' ),      'npu_settings_text',        'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_upload_failed',             'description' => __( 'Message displayed when an image failed to upload.', 'ngg-public-uploader' ) ) ); 
     152    add_settings_field( 'npu_image_link_love',          __( 'Link Love:', 'ngg-public-uploader' ),                  'npu_settings_checkbox',    'nextgen-public-uploader',  'npu_settings',     array( 'ID' => 'npu_image_link_love',           'description' => '',    'value' => true, 'label' => __( 'Display link to this plugin in your site\'s footer (because you love us!)', 'ngg-public-uploader' ) ) ); 
     153 
     154} 
     155 
     156// Descriptive text for our settings section 
     157function npu_settings_description() { 
     158    echo '<p>' . __( 'Edit the settings below to control the default behaviors of this plugin.', 'ngg-public-uploader' ) . '</p>'; 
     159} 
     160 
     161// Input for select options 
     162function npu_settings_select( $args ) { 
     163 
     164    $output = ''; 
     165    $output .= '<select name="' . $args['ID'] . '">'; 
     166    foreach ( $args['options'] as $value => $label ) { 
     167        $output .= '<option ' . selected( $value, get_option($args['ID']), false ) . ' value="' . $value . '">' . $label . '</option>'; 
     168    } 
     169    $output .= '</select>'; 
     170 
     171    if ( isset( $args['description'] ) ) 
     172        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     173 
     174    echo $output; 
     175} 
     176 
     177// Input for checkbox options 
     178function npu_settings_checkbox( $args ) { 
     179 
     180    $output = ''; 
     181    $output .= '<label for="' . $args['ID'] . '"><input type="checkbox" id="' . $args['ID'] . '" name="' . $args['ID'] . '" value="' . $args['value'] . '" ' . checked( get_option($args['ID']), $args['value'], false ) . ' /> ' . $args['label'] . '</label>'; 
     182    if ( isset( $args['description'] ) ) 
     183        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     184 
     185    echo $output; 
     186} 
     187 
     188// Input for text options 
     189function npu_settings_text( $args ) { 
     190 
     191    $output = ''; 
     192    $output .= '<input type="text" class="regular-text" name="' . $args['ID'] . '" value="' . get_option($args['ID']) . '" />'; 
     193    if ( isset( $args['description'] ) ) 
     194        $output .= ' <span class="description">' . $args['description'] . '</span>'; 
     195    echo $output; 
     196} 
     197 
     198// Perform some rudimentary sanitization on all our options 
     199function npu_settings_sanitization( $input ) { 
     200    $valid = esc_html( $input ); 
     201    return $valid; 
     202 
     203} 
     204 
     205// Create our Settings page 
     206function npu_plugin_options_page() { 
     207 
     208// If the user cannot manage options, bail here 
     209if ( ! current_user_can('manage_options') ) 
     210    return false; 
    425211 
    426212?> 
     213    <div class="wrap"> 
     214 
     215        <?php screen_icon(); ?> <h2><?php _e( 'NextGEN Public Uploader', 'ngg-public-uploader' ); ?></h2> 
     216 
     217        <?php if ( isset($_GET['settings-updated']) ) echo '<div class="updated"><p><strong>' . __( 'Settings saved.', 'ngg-public-uploader' ) . "</strong></p></div>\n"; ?> 
     218 
     219        <p> 
     220            <strong><?php _e('Current Version', 'ngg-public-uploader') ?>:</strong> <?php $plugin_data = get_plugin_data( __FILE__, false ); echo $plugin_data['Version']; ?> | 
     221            <a href="http://webdevstudios.com">WebDevStudios.com</a> | 
     222            <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=3084056"><?php _e('Donate', 'ngg-public-uploader' ) ?></a> | 
     223            <a href="http://wordpress.org/extend/plugins/nextgen-public-uploader/"><?php _e('Plugin Homepage', 'ngg-public-uploader' ) ?></a> | 
     224            <a href="http://wordpress.org/support/plugin/nextgen-public-uploader/"><?php _e('Support Forum', 'ngg-public-uploader' ) ?></a> 
     225        </p> 
     226 
     227        <h3><?php _e('Shortcode Examples', 'ngg-public-uploader') ?></h3> 
     228        <p><?php printf( __( 'To insert the public uploader into any content area, use %s or %s, where %s is the ID of the corresponding gallery.' ), '<code>[ngg_uploader]</code>', '<code>[ngg_uploader id=1]</code>', '<strong>1</strong>' ); ?></p> 
     229 
     230        <form action="options.php" method="post"> 
     231 
     232            <?php 
     233                settings_fields('npu_settings'); 
     234                do_settings_sections('nextgen-public-uploader'); 
     235            ?> 
     236 
     237            <p class="submit"> 
     238                <input class="button-primary" type="submit" name="Submit" value="<?php _e('Save Changes') ?>" /> 
     239            </p> 
     240 
     241        </form> 
     242 
     243    </div> 
     244 
     245<?php 
     246} 
     247 
     248} // End check for NextGEN gallery 
  • nextgen-public-uploader/trunk/readme.txt

    r376822 r608725  
    11=== NextGEN Public Uploader === 
    2 Contributors: WDS-Scott, williamsba1 
     2Contributors: WDS-Scott, williamsba1, rzen, webdevstudios 
    33Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3084056 
    44Tags: nextgen public uploader,nextgen uploader,nextgen gallery,nextgen,gallery,image,upload,photo,picture,visitor,public,uploader 
    5 Requires at least: 3.0 Tested up to: 3.1.1 
    6 Stable tag: 1.6.1 
     5Requires at least: 3.0 
     6Tested up to: 3.5 
     7Stable tag: 1.7 
    78 
    89NextGEN Public Uploader is an extension to NextGEN Gallery which allows frontend image uploads for your users. 
     
    1011== Description == 
    1112 
    12 The NextGEN Public Uploader plugin for WordPress allows users to upload images from the frontend of your blog to a specified gallery. Upon upload the submitted image is marked as "excluded" and an email notification will be sent letting you know an image is waiting to be reviewed. 
    13  
    14 Get the latest version here - [NextGEN Public Uploader](http://downloads.wordpress.org/plugin/nextgen-public-uploader.1.6.1.zip "NextGEN Public Uploader") 
     13The NextGEN Public Uploader plugin for WordPress allows users to upload images from the frontend of your website to a specified gallery in NextGEN. Upon upload the submitted image is marked as "excluded" and an email notification will be sent letting you know an image is waiting to be reviewed. 
    1514 
    1615REMEMBER: Always backup your database! 
     
    2019[NextGEN Gallery](http://wordpress.org/extend/plugins/nextgen-gallery/ "NextGEN Gallery") 
    2120 
    22 = For NextGEN Public Uploader Support Visit = 
    23  
    24 [NextGEN Public Uploader Support](http://webdevstudios.com/support/wordpress-plugins/ "WordPress Plugins and Support Services") 
    25  
    2621Special thanks to Patrick McCoy for his help. 
    2722 
    2823== Screenshots == 
    2924 
    30 1. Front End 
     251. Sample use in front-end (placed below gallery and in sidebar) 
    3126 
    32 2. Back End 
     272. Excluded Images in gallery, uploaded by anonymous users 
    3328 
    34 3. TinyMCE 
     293. Plugin Settings 
    3530 
    36 4. Shortcode Example 
     314. TinyMCE Integration 
     32 
     335. Shortcode Example 
     34 
     356. Upload Widget 
    3736 
    3837== Installation == 
     
    5251REMEMBER: This plugin requires NextGEN Gallery in order to work. 
    5352 
    54 == Frequently Asked Questions ==  
     53== Frequently Asked Questions == 
    5554 
    5655= Will this plugin work without the NextGEN Gallery plugin? = 
     
    6261 
    6362= Why am I getting the following error? = 
    64    
     63 
    6564"NextGEN Public Uploader requires NextGEN gallery in order to work. Please deactivate this plugin or activate NextGEN Gallery." 
    6665 
     
    6968= Still Need Help? Please visit the NextGEN Public Uploader Support Forum = 
    7069 
    71 [NextGEN Public Uploader Support](http://webdevstudios.com/support/forum/nextgen-public-uploader/ "WordPress Plugins and Support Services") 
     70[NextGEN Public Uploader Support](http://wordpress.org/support/plugin/nextgen-public-uploader) 
    7271 
    7372== Changelog == 
     73 
     74= V1.7 - 10.5.2012 = 
     75* Confirmed Working: Tested with latest versions of NextGen and WordPress, everything works fine 
     76* Moved settings menu: The menu now righfully resides as a sub-item of Gallery 
     77* Updated settings: Dropped unnecessary options, updated all setings to use WordPress Settings API 
     78* Security Updates: Added a couple more security measures for data sanitization 
    7479 
    7580= V1.6.1 - 4.25.2011 = 
     
    102107* Bugfix: Saving options with WPMU 
    103108 
    104  
    105109= V1.2.2 - 10.7.2009 = 
    106110* New Feature: Ability to edit messages displayed 
     
    123127NextGEN Public Uploader is distributed under an open source license called the GNU General Public License, or GPL. The text of the license is distributed with every copy of this plugin. 
    124128 
    125 == Upgrade Notice ==  
     129== Upgrade Notice == 
    126130 
    127131Before upgrading NextGEN Public Uploader please remember to backup your database and files. 
  • nextgen-public-uploader/trunk/tinymce/editor_plugin.js

    r180757 r608725  
    22    // Load plugin specific language pack 
    33    tinymce.PluginManager.requireLangPack('nextgenPublicUpload'); 
    4      
     4 
    55    tinymce.create('tinymce.plugins.nextgenPublicUpload', { 
    66        /** 
     
    1818                ed.windowManager.open({ 
    1919                    file : url + '/window.php', 
    20                     width : 210 + ed.getLang('nextgenPublicUpload.delta_width', 0), 
     20                    width : 300 + ed.getLang('nextgenPublicUpload.delta_width', 0), 
    2121                    height : 210 + ed.getLang('nextgenPublicUpload.delta_height', 0), 
    2222                    inline : 1 
  • nextgen-public-uploader/trunk/tinymce/window.php

    r200043 r608725  
    55global $wpdb; 
    66 
    7 if ( !is_user_logged_in() || !current_user_can('edit_posts') )  
     7if ( !is_user_logged_in() || !current_user_can('edit_posts') ) 
    88    wp_die(__("You are not allowed to be here")); 
    99 
     
    2121        tinyMCEPopup.resizeToInnerSize(); 
    2222    } 
    23      
     23 
    2424    function insertcetsHWLink() { 
    25          
     25 
    2626        var tagtext; 
    27          
     27 
    2828        var rss = document.getElementById('rss_panel'); 
    29          
    30          
     29 
     30 
    3131        // who is active ? 
    3232        if (rss.className.indexOf('current') != -1) { 
    3333            var rssid = document.getElementById('rsstag').value; 
    34                  
     34 
    3535            if (rssid != '' ) 
    3636                tagtext = "[ngg_uploader id=" + rssid + "]"; 
     
    3838                tinyMCEPopup.close(); 
    3939        } 
    40      
    41          
     40 
     41 
    4242        if(window.tinyMCE) { 
    4343            window.tinyMCE.execInstanceCommand('content', 'mceInsertContent', false, tagtext); 
    44             //Peforms a clean up of the current editor HTML.  
     44            //Peforms a clean up of the current editor HTML. 
    4545            //tinyMCEPopup.editor.execCommand('mceCleanup'); 
    46             //Repaints the editor. Sometimes the browser has graphic glitches.  
     46            //Repaints the editor. Sometimes the browser has graphic glitches. 
    4747            tinyMCEPopup.editor.execCommand('mceRepaint'); 
    4848            tinyMCEPopup.close(); 
    4949        } 
    50          
     50 
    5151        return; 
    5252    } 
     
    6262        </ul> 
    6363    </div> 
    64      
     64 
    6565    <div class="panel_wrapper"> 
    6666        <div id="rss_panel" class="panel current"> 
     
    7474        <tr> 
    7575            <td nowrap="nowrap"><label for="rsstag"><?php _e("Select Gallery:", 'ngg-public-uploader'); ?></label></td> 
     76        </tr> 
     77        <tr> 
    7678            <td> 
    7779            <select id="rsstag" name="rsstag"> 
    78                 <?php  
     80                <?php 
    7981                foreach ($gallerylist as $gallery) { 
    80                     $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title;  
     82                    $name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; 
    8183                    $galleryid = $gallery->gid . ': '; 
    8284                ?> 
    83                     <option value="<?php echo $gallery->gid; ?>"><?php _e($galleryid,'ngg-public-uploader'); _e($name,'ngg-public-uploader'); ?></option> 
     85                    <option value="<?php echo $gallery->gid; ?>"><?php echo 'ID: ' . $galleryid . ' &ndash; ' . $name; ?></option> 
    8486                <?php } ?> 
    8587            </select> 
     
    8890        </table> 
    8991        </div> 
    90                  
     92 
    9193    </div> 
    9294 
Note: See TracChangeset for help on using the changeset viewer.