fooplugins /
foogallery
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | if ( !class_exists( 'FooGallery_Justified_Gallery_Template' ) ) { |
||
| 4 | |||
| 5 | define('FOOGALLERY_JUSTIFIED_GALLERY_TEMPLATE_URL', plugin_dir_url( __FILE__ )); |
||
| 6 | |||
| 7 | class FooGallery_Justified_Gallery_Template { |
||
|
0 ignored issues
–
show
|
|||
| 8 | /** |
||
| 9 | * Wire up everything we need to run the extension |
||
| 10 | */ |
||
| 11 | function __construct() { |
||
|
0 ignored issues
–
show
|
|||
| 12 | add_filter( 'foogallery_gallery_templates', array( $this, 'add_template' ) ); |
||
| 13 | add_filter( 'foogallery_gallery_templates_files', array( $this, 'register_myself' ) ); |
||
| 14 | add_filter( 'foogallery_template_thumbnail_dimensions-justified', array( $this, 'get_thumbnail_dimensions' ), 10, 2 ); |
||
| 15 | |||
| 16 | add_action( 'foogallery_located_template-justified', array( $this, 'enqueue_dependencies' ) ); |
||
| 17 | |||
| 18 | //add the data options needed for justified |
||
| 19 | add_filter( 'foogallery_build_container_data_options-justified', array( $this, 'add_justified_options' ), 10, 3 ); |
||
| 20 | |||
| 21 | //build up any preview arguments |
||
| 22 | add_filter( 'foogallery_preview_arguments-justified', array( $this, 'preview_arguments' ), 10, 2 ); |
||
| 23 | |||
| 24 | //build up the thumb dimensions from some arguments |
||
| 25 | add_filter( 'foogallery_calculate_thumbnail_dimensions-justified', array( $this, 'build_thumbnail_dimensions_from_arguments' ), 10, 2 ); |
||
| 26 | |||
| 27 | //build up the arguments needed for rendering this template |
||
| 28 | add_filter( 'foogallery_gallery_template_arguments-justified', array( $this, 'build_gallery_template_arguments' ) ); |
||
| 29 | } |
||
| 30 | |||
| 31 | /** |
||
| 32 | * Register myself so that all associated JS and CSS files can be found and automatically included |
||
| 33 | * @param $extensions |
||
| 34 | * |
||
| 35 | * @return array |
||
| 36 | */ |
||
| 37 | function register_myself( $extensions ) { |
||
|
0 ignored issues
–
show
|
|||
| 38 | $extensions[] = __FILE__; |
||
| 39 | return $extensions; |
||
| 40 | } |
||
| 41 | |||
| 42 | /** |
||
| 43 | * Add our gallery template to the list of templates available for every gallery |
||
| 44 | * @param $gallery_templates |
||
| 45 | * |
||
| 46 | * @return array |
||
| 47 | */ |
||
| 48 | function add_template( $gallery_templates ) { |
||
|
0 ignored issues
–
show
|
|||
| 49 | $gallery_templates[] = array( |
||
| 50 | 'slug' => 'justified', |
||
| 51 | 'name' => __( 'Justified Gallery', 'foogallery' ), |
||
| 52 | 'preview_support' => true, |
||
| 53 | 'common_fields_support' => true, |
||
| 54 | 'lazyload_support' => true, |
||
| 55 | 'paging_support' => true, |
||
| 56 | 'mandatory_classes' => 'fg-justified', |
||
| 57 | 'thumbnail_dimensions' => true, |
||
| 58 | 'filtering_support' => true, |
||
| 59 | 'fields' => array( |
||
| 60 | array( |
||
| 61 | 'id' => 'thumb_height', |
||
| 62 | 'title' => __( 'Thumb Height', 'foogallery' ), |
||
| 63 | 'desc' => __( 'Choose the height of your thumbnails. Thumbnails will be generated on the fly and cached once generated', 'foogallery' ), |
||
| 64 | 'section' => __( 'General', 'foogallery' ), |
||
| 65 | 'type' => 'number', |
||
| 66 | 'class' => 'small-text', |
||
| 67 | 'default' => 250, |
||
| 68 | 'step' => '10', |
||
| 69 | 'min' => '0', |
||
| 70 | 'row_data'=> array( |
||
| 71 | 'data-foogallery-preview' => 'shortcode', |
||
| 72 | 'data-foogallery-change-selector' => 'input', |
||
| 73 | ) |
||
| 74 | ), |
||
| 75 | array( |
||
| 76 | 'id' => 'row_height', |
||
| 77 | 'title' => __( 'Row Height', 'foogallery' ), |
||
| 78 | 'desc' => __( 'The preferred height of your gallery rows. This can be different from the thumbnail height', 'foogallery' ), |
||
| 79 | 'section' => __( 'General', 'foogallery' ), |
||
| 80 | 'type' => 'number', |
||
| 81 | 'class' => 'small-text', |
||
| 82 | 'default' => 150, |
||
| 83 | 'step' => '10', |
||
| 84 | 'min' => '0', |
||
| 85 | 'row_data'=> array( |
||
| 86 | 'data-foogallery-change-selector' => 'input', |
||
| 87 | 'data-foogallery-value-selector' => 'input', |
||
| 88 | 'data-foogallery-preview' => 'shortcode', |
||
| 89 | ) |
||
| 90 | ), |
||
| 91 | array( |
||
| 92 | 'id' => 'max_row_height', |
||
| 93 | 'title' => __( 'Max Row Height', 'foogallery' ), |
||
| 94 | 'desc' => __( 'A number (e.g 200) which specifies the maximum row height in pixels. A negative value for no limits. Alternatively, use a percentage (e.g. 200% which means that the row height cannot exceed 2 * rowHeight)', 'foogallery' ), |
||
| 95 | 'section' => __( 'General', 'foogallery' ), |
||
| 96 | 'type' => 'text', |
||
| 97 | 'class' => 'small-text', |
||
| 98 | 'default' => '200%', |
||
| 99 | 'row_data'=> array( |
||
| 100 | 'data-foogallery-change-selector' => 'input', |
||
| 101 | 'data-foogallery-value-selector' => 'input', |
||
| 102 | 'data-foogallery-preview' => 'shortcode', |
||
| 103 | ) |
||
| 104 | ), |
||
| 105 | array( |
||
| 106 | 'id' => 'margins', |
||
| 107 | 'title' => __( 'Margins', 'foogallery' ), |
||
| 108 | 'desc' => __( 'The spacing between your thumbnails.', 'foogallery' ), |
||
| 109 | 'section' => __( 'General', 'foogallery' ), |
||
| 110 | 'type' => 'number', |
||
| 111 | 'class' => 'small-text', |
||
| 112 | 'default' => 1, |
||
| 113 | 'step' => '1', |
||
| 114 | 'min' => '0', |
||
| 115 | 'row_data'=> array( |
||
| 116 | 'data-foogallery-change-selector' => 'input', |
||
| 117 | 'data-foogallery-value-selector' => 'input', |
||
| 118 | 'data-foogallery-preview' => 'shortcode', |
||
| 119 | ) |
||
| 120 | ), |
||
| 121 | array( |
||
| 122 | 'id' => 'thumbnail_link', |
||
| 123 | 'title' => __( 'Thumbnail Link', 'foogallery' ), |
||
| 124 | 'section' => __( 'General', 'foogallery' ), |
||
| 125 | 'default' => 'image' , |
||
| 126 | 'type' => 'thumb_link', |
||
| 127 | 'desc' => __( 'You can choose to link each thumbnail to the full size image, or to the image\'s attachment page, or you can choose to not link to anything.', 'foogallery' ), |
||
| 128 | ), |
||
| 129 | array( |
||
| 130 | 'id' => 'lightbox', |
||
| 131 | 'title' => __( 'Lightbox', 'foogallery' ), |
||
| 132 | 'desc' => __( 'Choose which lightbox you want to display images with. The lightbox will only work if you set the thumbnail link to "Full Size Image".', 'foogallery' ), |
||
| 133 | 'section' => __( 'General', 'foogallery' ), |
||
| 134 | 'default' => 'none', |
||
| 135 | 'type' => 'lightbox', |
||
| 136 | ), |
||
| 137 | array( |
||
| 138 | 'id' => 'lastrow', |
||
| 139 | 'title' => __( 'Last Row', 'foogallery' ), |
||
| 140 | 'desc' => __( 'What should be done with the last row in the gallery?', 'foogallery' ), |
||
| 141 | 'section' => __( 'General', 'foogallery' ), |
||
| 142 | 'type' => 'radio', |
||
| 143 | 'spacer' => '<span class="spacer"></span>', |
||
| 144 | 'default' => 'center', |
||
| 145 | 'choices' => array( |
||
| 146 | 'hide' => __( 'Hide', 'foogallery' ), |
||
| 147 | 'justify' => __( 'Justify', 'foogallery' ), |
||
| 148 | 'nojustify' => __( 'No Justify', 'foogallery' ), |
||
| 149 | 'right' => __( 'Right', 'foogallery' ), |
||
| 150 | 'center' => __( 'Center', 'foogallery' ), |
||
| 151 | 'left' => __( 'Left', 'foogallery' ), |
||
| 152 | ), |
||
| 153 | 'row_data'=> array( |
||
| 154 | 'data-foogallery-change-selector' => 'input:radio', |
||
| 155 | 'data-foogallery-value-selector' => 'input:checked', |
||
| 156 | 'data-foogallery-preview' => 'shortcode', |
||
| 157 | ) |
||
| 158 | ), |
||
| 159 | ), |
||
| 160 | ); |
||
| 161 | |||
| 162 | return $gallery_templates; |
||
| 163 | } |
||
| 164 | |||
| 165 | /** |
||
| 166 | * Get the thumb dimensions arguments saved for the gallery for this gallery template |
||
| 167 | * |
||
| 168 | * @param array $dimensions |
||
| 169 | * @param FooGallery $foogallery |
||
| 170 | * |
||
| 171 | * @return mixed |
||
| 172 | */ |
||
| 173 | function get_thumbnail_dimensions( $dimensions, $foogallery ) { |
||
|
0 ignored issues
–
show
|
|||
| 174 | $height = $foogallery->get_meta( 'justified_thumb_height', false ); |
||
| 175 | return array( |
||
| 176 | 'height' => intval( $height ), |
||
| 177 | 'width' => 0, |
||
| 178 | 'crop' => false |
||
| 179 | ); |
||
| 180 | } |
||
| 181 | |||
| 182 | /** |
||
| 183 | * Enqueue scripts that the default gallery template relies on |
||
| 184 | */ |
||
| 185 | function enqueue_dependencies( $gallery ) { |
||
|
0 ignored issues
–
show
|
|||
| 186 | //enqueue core files |
||
| 187 | foogallery_enqueue_core_gallery_template_style(); |
||
| 188 | foogallery_enqueue_core_gallery_template_script(); |
||
| 189 | } |
||
| 190 | |||
| 191 | /** |
||
| 192 | * Add the required justified options if needed |
||
| 193 | * |
||
| 194 | * @param $options |
||
| 195 | * @param $gallery FooGallery |
||
| 196 | * |
||
| 197 | * @param $attributes array |
||
| 198 | * |
||
| 199 | * @return array |
||
| 200 | */ |
||
| 201 | function add_justified_options($options, $gallery, $attributes) { |
||
|
0 ignored issues
–
show
|
|||
| 202 | |||
| 203 | $row_height = foogallery_gallery_template_setting( 'row_height', '150' ); |
||
| 204 | $max_row_height = foogallery_gallery_template_setting( 'max_row_height', '200%' ); |
||
| 205 | if ( strpos( $max_row_height, '%' ) === false ) { |
||
| 206 | $max_row_height = intval( $max_row_height ); |
||
| 207 | } |
||
| 208 | $margins = foogallery_gallery_template_setting( 'margins', '1' ); |
||
| 209 | $lastRow = foogallery_gallery_template_setting( 'lastrow', 'center' ); |
||
| 210 | |||
| 211 | $options['template']['rowHeight'] = intval($row_height); |
||
| 212 | $options['template']['maxRowHeight'] = $max_row_height; |
||
| 213 | $options['template']['margins'] = intval($margins); |
||
| 214 | $options['template']['lastRow'] = $lastRow; |
||
| 215 | |||
| 216 | return $options; |
||
| 217 | } |
||
| 218 | |||
| 219 | /** |
||
| 220 | * Build up a arguments used in the preview of the gallery |
||
| 221 | * @param $args |
||
| 222 | * @param $post_data |
||
| 223 | * |
||
| 224 | * @return mixed |
||
| 225 | */ |
||
| 226 | function preview_arguments( $args, $post_data ) { |
||
|
0 ignored issues
–
show
|
|||
| 227 | $args['thumbnail_height'] = $post_data[FOOGALLERY_META_SETTINGS]['justified_thumb_height']; |
||
| 228 | $args['row_height'] = $post_data[FOOGALLERY_META_SETTINGS]['justified_row_height']; |
||
| 229 | $args['max_row_height'] = $post_data[FOOGALLERY_META_SETTINGS]['justified_max_row_height']; |
||
| 230 | $args['margins'] = $post_data[FOOGALLERY_META_SETTINGS]['justified_margins']; |
||
| 231 | $args['lastrow'] = $post_data[FOOGALLERY_META_SETTINGS]['justified_lastrow']; |
||
| 232 | return $args; |
||
| 233 | } |
||
| 234 | |||
| 235 | /** |
||
| 236 | * Builds thumb dimensions from arguments |
||
| 237 | * |
||
| 238 | * @param array $dimensions |
||
| 239 | * @param array $arguments |
||
| 240 | * |
||
| 241 | * @return mixed |
||
| 242 | */ |
||
| 243 | function build_thumbnail_dimensions_from_arguments( $dimensions, $arguments ) { |
||
|
0 ignored issues
–
show
|
|||
| 244 | if ( array_key_exists( 'thumbnail_height', $arguments) ) { |
||
| 245 | return array( |
||
| 246 | 'height' => intval($arguments['thumbnail_height']), |
||
| 247 | 'width' => 0, |
||
| 248 | 'crop' => false |
||
| 249 | ); |
||
| 250 | } |
||
| 251 | |||
| 252 | return null; |
||
| 253 | } |
||
| 254 | |||
| 255 | /** |
||
| 256 | * Build up the arguments needed for rendering this gallery template |
||
| 257 | * |
||
| 258 | * @param $args |
||
| 259 | * @return array |
||
| 260 | */ |
||
| 261 | function build_gallery_template_arguments( $args ) { |
||
|
0 ignored issues
–
show
|
|||
| 262 | $height = foogallery_gallery_template_setting( 'thumb_height', '250' ); |
||
| 263 | $args = array( |
||
| 264 | 'height' => $height, |
||
| 265 | 'link' => foogallery_gallery_template_setting( 'thumbnail_link', 'image' ), |
||
| 266 | 'crop' => false |
||
| 267 | ); |
||
| 268 | |||
| 269 | return $args; |
||
| 270 | } |
||
| 271 | } |
||
| 272 | } |
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.