shell bypass 403
<?php /** * J51_PricingTable * Version : 1.0 * Created by : Joomla51 * Email : [email protected] * URL : www.joomla51.com * License GPLv2.0 - http://www.gnu.org/licenses/gpl-2.0.html */ // no direct access defined('_JEXEC') or die('Restricted access'); use Joomla\CMS\HTML\HTMLHelper; $baseurl = JURI::base(); $j51_num_images = $params->get( 'j51_num_images' ); $j51_image_margin_y = $params->get( 'j51_image_margin_y' ); $j51_image_margin_x = $params->get( 'j51_image_margin_x' ); $j51_column_bg = $params->get( 'j51_column_bg' ); $j51_header_bg = $params->get( 'j51_header_bg' ); $j51_highlight_bg = $params->get( 'j51_highlight_bg' ); $j51_title_color = $params->get( 'j51_title_color' ); $j51_price_color = $params->get( 'j51_price_color' ); $j51_pricesub_color = $params->get( 'j51_pricesub_color' ); $j51_features_color = $params->get( 'j51_features_color' ); $j51_button_color = $params->get( 'j51_button_color' ); $j51_moduleid = $module->id; $image_ref = array(); $j51_title = array(); $j51_subtitle = array(); $j51_price = array(); $j51_features = array(); $j51_buttontext = array(); $j51_buttonurl = array(); $j51_highlight = array(); $max_images = 15; for ($i = 1; $i <= $max_images; $i++) { if ($params->get( 'j51_title'.$i )) { $image_ref[] = $i; $j51_title[$i] = $params->get( 'j51_title'.$i ); $j51_subtitle[$i] = $params->get( 'j51_subtitle'.$i ); $j51_price[$i] = $params->get( 'j51_price'.$i ); $j51_features[$i] = $params->get( 'j51_features'.$i ); $j51_buttontext[$i] = $params->get( 'j51_buttontext'.$i ); $j51_buttonurl[$i] = $params->get( 'j51_buttonurl'.$i ); $j51_highlight[$i] = $params->get( 'j51_highlight'.$i ); } } // Load CSS/JS $document = JFactory::getDocument(); $document->addStyleSheet (JURI::base() . 'modules/mod_j51pricingtable/css/style.css' ); // Styling from module parameters $j51_css=''; $j51_css .=' .j51pricingtable'.$j51_moduleid.' { margin:'.$j51_image_margin_y.'px '.$j51_image_margin_x.'px; } .j51pricingtable'.$j51_moduleid.' .plan { background-color:'.$j51_column_bg.'; } .j51pricingtable'.$j51_moduleid.' header { background-color: '.$j51_header_bg.'; } .j51pricingtable'.$j51_moduleid.' .plan-title { color:'.$j51_title_color.'; } .j51pricingtable'.$j51_moduleid.' .plan-price { color:'.$j51_price_color.'; } .j51pricingtable'.$j51_moduleid.' .plan-type { color:'.$j51_pricesub_color.'; } .j51pricingtable'.$j51_moduleid.' .plan-features { color:'.$j51_features_color.'; } .j51pricingtable'.$j51_moduleid.' .plan-select a { background-color: '.$j51_button_color.'; } .j51pricingtable'.$j51_moduleid.' .plan-select a:hover { background: '.$j51_button_color.'; } .j51pricingtable'.$j51_moduleid.' .featured.plan { } .j51pricingtable'.$j51_moduleid.' .featured .plan-select a { background-color: '.$j51_highlight_bg.'; } .j51pricingtable'.$j51_moduleid.' .featured header { background-color:'.$j51_highlight_bg.'; } '; // Put styling in header $document->addStyleDeclaration($j51_css); /* Columns */ if($j51_num_images == "1") : $style = ' .j51pricingtable'.$j51_moduleid.' .j51pricingtable { width: 100%; } '; $document->addStyleDeclaration( $style ); endif; if($j51_num_images == "2") : $style = ' .j51pricingtable'.$j51_moduleid.' .j51pricingtable { width: 50%; } '; $document->addStyleDeclaration( $style ); endif; if($j51_num_images == "3") : $style = ' .j51pricingtable'.$j51_moduleid.' .j51pricingtable { width: 33.3%; } '; $document->addStyleDeclaration( $style ); endif; if($j51_num_images == "4") : $style = ' .j51pricingtable'.$j51_moduleid.' .j51pricingtable { width: 25%; } '; $document->addStyleDeclaration( $style ); endif; ?> <div class="j51pricingtable<?php echo $j51_moduleid; ?> j51pricingtable-outer"> <?php $imagenr = 0; for ($i= 1; $i <= $j51_num_images; $i++) { $cur_img = $image_ref[$imagenr] ; if(!empty($cur_img)) { ?><div class="j51pricingtable "> <div class="plan <?php if($j51_highlight[$cur_img] == "yes") : ?>featured<?php endif; ?>"> <header> <h3 class="plan-title"> <?php echo $j51_title[$cur_img]; ?> </h3> <div class="plan-cost"><span class="plan-price"><?php echo $j51_price[$cur_img]; ?></span><span class="plan-type"><?php echo $j51_subtitle[$cur_img]; ?></span></div> </header> <ul class="plan-features dot"> <?php foreach ($j51_features[$cur_img] as $item) { ?> <li></i><?php echo $item->j51_feature; ?></li> <?php } ?> </ul> <div class="plan-select"><a class="btn" href="<?php echo $j51_buttonurl[$cur_img]; ?>"><?php echo $j51_buttontext[$cur_img]; ?></a></div> </div> </div><?php } $imagenr++; } ?> <div class="clear"></div> </div>