Skip to content

Instantly share code, notes, and snippets.

@raidenz
Created February 4, 2015 16:51
Show Gist options
  • Save raidenz/5810cd7760995d464f61 to your computer and use it in GitHub Desktop.
Save raidenz/5810cd7760995d464f61 to your computer and use it in GitHub Desktop.
frontend.class.php
<?php
#PLUGIN FRONT-END MANAGEMENT
class hslider_frontend{
#CONSTRUCT
public function __constuct(){
}
#IMPLEMENT SHORTCODE LISTENER
public function get_shortcode_content($atts){
//load global helper
global $hmaps_helper;
//load global wpdb
global $wpdb;
//get hmaps_mapId
$hslider_slider_id = $atts['id'];
//return 'Shortcode intercepted.<br />my_id='.$atts['my_id'];
return '
<script type="text/javascript">
var ajaxurl = "'.admin_url('admin-ajax.php').'";
var pluginurl = "'.plugins_url().'";
var basepluginurl = "'.plugins_url().'";
</script>
<script type="text/javascript" src="'.plugins_url().'/hslider/assets/js/hslider_slider_frontend.js"></script>
<script type="text/javascript">
jQuery(function(){
var hslider_id = '.$atts['id'].';
heroLoadSlides(hslider_id);
});
</script>
<!-- START | SIMULATE AREA -->
<div class="simulate_area">
<!-- START | HERO MAIN SLIDER -->
<div class="hero_slider_main">
<!-- START | HERO SLIDER BUTTONS -->
<div class="hero_slider_btn_left"></div>
<div class="hero_slider_btn_right"></div>
<div class="hero_slider_pager">
<div class="hero_slider_buttons"></div>
</div>
<div class="hero_loader_holder">
<div class="hero_loading"></div>
</div>
<div class="hero_percentage"></div>
<!-- END | HERO SLIDER BUTTONS -->
<!-- START | HERO SLIDER HOLDER -->
<div class="hero_slider_slide_holder">
</div>
<!-- END | HERO SLIDER HOLDER -->
</div>
<!-- END | HERO MAIN SLIDER -->
</div>
<!-- END | SIMULATE AREA -->
<div class="hero_hidden_images"></div>
';
}
public function get_slider_front(){
//load global helper
global $hmaps_helper;
//load global wpdb
global $wpdb;
//get slider result
$slider_id = $_POST['id'];
$result = $wpdb->get_results("
SELECT
`s`.`sliderId`,
`s`.`sliderWidth`,
`s`.`sliderHeight`,
`s`.`sliderTime`,
`s`.`sliderTimeShow`,
`s`.`sliderTheme`,
`s`.`sliderArrows`,
`s`.`sliderPager`,
`s`.`deleted`,
`sl`.`slideId`,
`sl`.`slideImage`,
`sl`.`slideOrder`,
`el`.`elementId`,
`el`.`elementImage`,
`el`.`elementTop`,
`el`.`elementLeft`,
`el`.`elementAnimation`,
`el`.`elementAnimationType`,
`el`.`elementDelay`,
`el`.`elementDuration`,
`el`.`elementRotation`,
`el`.`elementOrder`,
`el`.`elementLink`,
`el`.`elementTarget`
FROM
`". $wpdb->prefix ."hslider_sliders` AS `s`
LEFT JOIN `". $wpdb->prefix ."hslider_slides` AS `sl` ON(`sl`.`sliderId` = `s`.`sliderId` AND `sl`.`deleted` = 0)
LEFT JOIN `". $wpdb->prefix ."hslider_elements` AS `el` ON (`el`.`slideId` = `sl`.`slideId` AND `el`.`deleted` = 0)
WHERE
`s`.`sliderId` = ".$slider_id."
AND
`s`.`deleted` = 0
ORDER BY
`sl`.`slideOrder` ASC;
");
#SLIDER OBJECT
$slider_object = array(
'slider' => array(),
'slides' => array()
);
if($result){
$slider_object['slider'] = array(
'id' => $result[0]->sliderId,
'width' => $result[0]->sliderWidth,
'height' => $result[0]->sliderHeight,
'time' => $result[0]->sliderTime,
'timeshow' => $result[0]->sliderTimeShow,
'theme' => $result[0]->sliderTheme,
'arrows' => $result[0]->sliderArrows,
'pager' => $result[0]->sliderPager
);
//get slide data
foreach($result as $element){
$key = $this->search_array($slider_object['slides'],'slideId',$element->slideId);
if(!is_numeric($key)){
//create new slides entry and add the first element
array_push($slider_object['slides'], array(
'slideId' => $element->slideId,
'slideImage' => $element->slideImage,
'slideOrder' => $element->slideOrder,
'elements' => array(
array(
'elementId' => $element->elementId,
'elementImage' => $element->elementImage,
'elementTop' => $element->elementTop,
'elementLeft' => $element->elementLeft,
'elementAnimation' => $element->elementAnimation,
'elementAnimationType' => $element->elementAnimationType,
'elementDelay' => $element->elementDelay,
'elementDuration' => $element->elementDuration,
'elementRotation' => $element->elementRotation,
'elementOrder' => $element->elementOrder,
'elementLink' => $element->elementLink,
'elementTarget' => $element->elementTarget
)
)
));
}else{
//add element to slide entry
array_push($slider_object['slides'][$key]['elements'],array(
'elementId' => $element->elementId,
'elementImage' => $element->elementImage,
'elementTop' => $element->elementTop,
'elementLeft' => $element->elementLeft,
'elementAnimation' => $element->elementAnimation,
'elementAnimationType' => $element->elementAnimationType,
'elementDelay' => $element->elementDelay,
'elementDuration' => $element->elementDuration,
'elementRotation' => $element->elementRotation,
'elementOrder' => $element->elementOrder,
'elementLink' => $element->elementLink,
'elementTarget' => $element->elementTarget
));
}
}
} else {
//EXPLODE
echo json_encode(false);
exit;
}
echo json_encode($slider_object);
exit;
}
//SEARCH ARRAY
private function search_array($array,$id,$val){
foreach($array as $key => $item){
if($item[$id] === $val){
return $key;
}
}
return false;
}
}
@raidenz
Copy link
Author

raidenz commented Feb 4, 2015

$plugins_url not defined

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment