helper = new twojHelper(); $this->slideshowId = 'twoj_slideshow_'.uniqid(); if( isset($attr) && isset($attr['id']) ){ $this->id = $attr['id']; $options_id = (int) get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'options', true ); if($options_id){ $this->real_id = $this->id; $this->options_id = $options_id; $this->id = $options_id; } $this->helper->setId( $this->id ); } } function twoj_slideshow_styles() { wp_enqueue_style( 'twoj-slideshow', TWOJ_SLIDESHOW_URL.'css/slideshow.css', array(), TWOJ_SLIDESHOW_VERSION, 'all' ); wp_enqueue_style( 'twoj-slideshow-desc', TWOJ_SLIDESHOW_URL.'css/desc.css', array(), TWOJ_SLIDESHOW_VERSION, 'all' ); } function twoj_slideshow_scripts() { //wp_enqueue_script( 'jquery', false, array(), false, true); wp_enqueue_script( 'twoj-rbjquer', TWOJ_SLIDESHOW_URL.'js/rbjquer.min.js', array(), TWOJ_SLIDESHOW_VERSION ); wp_enqueue_script( 'twoj-slideshow', TWOJ_SLIDESHOW_URL.'js/slideshow.min.js', array('twoj-rbjquer'), TWOJ_SLIDESHOW_VERSION ); } /* $hover - 0 - hover style 1 + hover style 2 - mainID */ public function addJavaScriptStyle($styleValue, $styleName = '', $hover='1'){ if(isset($this->{$styleValue.'Style'}) && $this->{$styleValue.'Style'} ){ $this->javaScriptStyle.= ($hover!=2?'#'.$this->slideshowId.' ':'').$styleName.'{'.$this->{$styleValue.'Style'}.'}'; } if( $hover==1 && isset($this->{$styleValue.'HoverStyle'}) && $this->{$styleValue.'HoverStyle'} ){ $this->javaScriptStyle.= '#'.$this->slideshowId.' '.$styleName.':hover{'.$this->{$styleValue.'HoverStyle'}.'}'; } } function getSizeValue($option, $name, $param = ''){ $returnOption = ''; $widthType = ( isset($option[$name.'Type']) && $option[$name.'Type']==1 ?'%':''); if( isset($option[$name]) ){ $returnOption .= ' data-'.$param.$name.'="'.(int)$option[$name].$widthType.'"'; } return $returnOption; } function getSize( $option, $param = '' ){ $returnOption = ''; $returnOption .= $this->getSizeValue( $option, 'width', $param ); $returnOption .= $this->getSizeValue( $option, 'height', $param ); return $returnOption; } public function getSlideshow( ){ if( !$this->id ) return ''; $count_key = 'views'; $countView = (int) get_post_meta($this->id, $count_key, true); if( !$countView){ $countView = 0; delete_post_meta($this->id, $count_key); add_post_meta($this->id, $count_key, '0'); } $countView++; update_post_meta($this->id, $count_key, $countView); $size = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'size', true ); $this->mainBlockData[] = $this->getSize($size); $size = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'minsize', true ); $this->mainBlockData[] = $this->getSize($size, 'min'); $size = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'maxsize', true ); $this->mainBlockData[] = $this->getSize($size, 'max'); if( $ratio = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'ratio', true ) ) $this->mainBlockData[] = ' data-ratio="'.$ratio.'"'; $slideshowImages = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'slideshowImages', true ); if( !$slideshowImages || !is_array( $slideshowImages ) || !count($slideshowImages) || !(int)$slideshowImages[0] ) return ''; $this->caption = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'caption', true ); if($this->pro){ $this->getNavType(); } else { $this->mainBlockData[] = ' data-nav="dots"'; } if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'navPos', true ) ) $this->mainBlockData[] = ' data-navposition="top"'; $fullscreen = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'fullscreen', true ); if(!$fullscreen && $fullscreen!='false' ) $fullscreen = 'true'; $this->mainBlockData[] = 'data-allowfullscreen="'.$fullscreen.'"'; if($this->pro){ $this->getClick(); $this->getSwipe(); } if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'arrow', true ) ) $this->mainBlockData[] = ' data-arrows="true"'; if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'keyboard', true ) ) $this->mainBlockData[] = ' data-keyboard="true"'; if( $startindex = (int) get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'startindex', true ) ) $this->mainBlockData[] = ' data-startindex="'.($startindex-1).'"'; if( $transition = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'transition', true ) ){ $this->mainBlockData[] = ' data-transition="'.$transition.'"'; } $this->mainBlockData[] = ' data-transitionduration="'.(int)get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'transitionduration', true ).'"'; if($loop = (int) get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'loop', true ) ) $this->mainBlockData[] = ' data-loop="'.$loop.'"'; if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'autoplay', true ) && $timer = (int) get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'timer', true ) ){ $this->mainBlockData[] = ' data-autoplay="'.$timer.'"'; if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'autoplaystop', true ) ) $this->mainBlockData[] = ' data-stopautoplayontouch="true"'; } if( $fit = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'fit', true ) ){ $this->mainBlockData[] = ' data-fit="'.$fit.'"'; } $this->mainBlockData[] = ' data-margin="'.(int)get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'margin', true ).'"'; $this->mainBlockData[] = ' data-thumbmargin="'.(int)get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'thumbmargin', true ).'"'; if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'border', true ) ){ $borderOptions = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'border-options', true ); if(isset($borderOptions['width'])) $this->mainBlockData[] = ' data-thumbborderwidth="'.$borderOptions['width'].'"'; if(isset($borderOptions['color'])) $this->twojBorderStyle .= 'border-color: '.$borderOptions['color'].';'; if(isset($borderOptions['style'])) $this->twojBorderStyle .= 'border-style: '.$borderOptions['style'].';'; } else { $this->mainBlockData[] = ' data-thumbborderwidth="0"'; } if($this->pro){ $this->setAlign(); } $paddingCustom = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'paddingCustom', true ); if( isset($paddingCustom['left']) && $paddingCustom['left'] ) $this->twojMainStyle .= 'margin-left:'. $paddingCustom['left'] .(strpos($paddingCustom['left'], '%') ?'':'px').';'; if( isset($paddingCustom['top']) && $paddingCustom['top'] ) $this->twojMainStyle .= 'margin-top:'. $paddingCustom['top'] .(strpos($paddingCustom['top'], '%') ?'':'px').';'; if( isset($paddingCustom['right']) && $paddingCustom['right'] ) $this->twojMainStyle .= 'margin-right:'. $paddingCustom['right'] .(strpos($paddingCustom['right'], '%') ?'':'px').';'; if( isset($paddingCustom['bottom']) && $paddingCustom['bottom'] ) $this->twojMainStyle .= 'margin-bottom:'. $paddingCustom['bottom'].(strpos($paddingCustom['bottom'], '%') ?'':'px').';'; if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'bg', true )){ $this->twojStageStyle .='background-color:' .get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'bgColor', true ) .';'; $this->twojNavStyle .= 'background-color: ' .get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'bgNavColor', true ) .';'; } if( get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'rtl', true )){ $this->mainBlockData[] = ' data-direction="rtl" '; } $this->addJavaScriptStyle('twojBorder', '.twoj_slideshow__thumb-border'); $this->addJavaScriptStyle('twojWrap', '>.twoj_slideshow__wrap'); $this->addJavaScriptStyle('twojMain', ' '); $this->addJavaScriptStyle('twojStage', '.twoj_slideshow__stage'); $this->addJavaScriptStyle('twojNav', '.twoj_slideshow__nav__shaft'); $sizeType = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'sizeType', true ); $width = 120; $height = 60; $size = get_post_meta( $this->id, TWOJ_SLIDESHOW_PREFIX.'thumb-size-options', true ); if( count($size) ){ if( isset($size['width']) ) $width = (int) $size['width']; else $width = 120; if( isset($size['height']) ) $height = (int) $size['height']; else $height = 60; } $this->mainBlockData[] = ' data-thumbwidth="'.$width.'" '; $this->mainBlockData[] = ' data-thumbheight="'.$height.'" '; if($this->pro){ $this->getSource($size); } if($this->options_id){ $this->id = $this->real_id; } $this->selectImages = new twojSlideshowImages($this->id); if($this->options_id){ $this->id = $this->options_id; } $this->selectImages->setSize( $width , $height, $this->thumbsource ); $this->selectImages->getImages(); $image_listing = ''; if(count($this->selectImages->imgArray)){ $this->twoj_slideshow_styles(); $this->twoj_slideshow_scripts(); for ($i=0; $iselectImages->imgArray); $i++) { $img = $this->selectImages->imgArray[$i]; $image_listing .= $this->getImage($img); } } if( $image_listing ){ $this->returnHtml = '
mainBlockData) .'>' .$image_listing .'
' .'
'. ''; } return $this->returnHtml; } function getImage($img){ $imageEl = ""; $cleatTitle = htmlspecialchars($img['data']->post_title); $captionText = $this->caption ? 'data-caption="'.$cleatTitle.'" ' :''; $ratio = $img['sizeW'].'/'.$img['sizeH']; if($img['typelink']==5) $img['linkoptions']=0; if($img['typelink']==6) $img['linkoptions']=1; $link = ''; if( $img['link'] ){ if( $img['linkoptions']==0 || $img['linkoptions']==1 ){ $link .= ' data-link="'.$img['link'].'"'; if( $img['linkoptions'] == 1 ) $link .= ' data-link_targer="_blank"'; } if( $img['linkoptions']==2){ $link .= ' data-link="'.str_replace('"', "'", $img['link']).'" '; $link .= ' data-link_targer="javascript"'; } } if( $img['link'] && ( $img['typelink']==1 || $img['typelink']==2) ){ $imageEl .= ''; $imageEl .=''; } else if($img['typelink']) { $imageEl .= '
' .( $img['typelink'] == 3 || $img['typelink'] == 4 ? '
' .'
'.$img['data']->post_title.'
' .'
'.$img['data']->post_content.'
' .'
' : '') .'
'; } else { $imageEl .= '' .($img['thumb']?''.$cleatTitle.'':'') .''; } return $imageEl; } }