@랖r#X%l0 @Xl#ͺT@;_N#i% @b۸# @b۸#pS=@scۀ%@H# %@H# $ם@# 0@'# F̰@Ǫ&#1 @k`@!%<]Ѱ@!+#(ϰ@ !/ F@AEg# @z#6@d#$ @d#@, )@ކ#>KB@R#6D@#0&w@ sV#$)p @/|# B ð@ٷi#&hR@#j6?@whm;#HB@ߢc#3N@o#bH°@1Ƴ#+@G1#Le @ob#B6@2#x1py@#G&@NḰ#,@L#t@ e#@7#.{ @#X@vQ#յ<#*@Ԡ:#VS@X#x̰@̀ q$@# TZа@rZ>#BȕS@w`# Q;.@.&# _@0# en@/+1#B@&c#@#4+)@xq#7X=@נ!F;2@]#g,@rBKI#ರ;@Z##'_b@y#b@y# +@#08,@+#%A˰@Ɂ #D@FRy# sL|D@FRy#JD@FRy#D@FRy#ĝD@FRy#ZܝD@FRy#/D@FRy#_ D)@#+7<D)@#TD)@#lD)@#DD)@#D)@#D)@#d̞D)@#VD)@#dD)@#5D)@#m,D)@#^DD)@#\1\D)@#?tD)@#wD)@#D)@#Q@u]##WPA@աr)7@^͜#O7@^͜#]5Oiz@#L@ #@ # @bN(#90`F*@1Aw#EXF*@1Aw#pF*@1Aw#H@s8;#0(`:@dn#6Z9@lؒ#XX@N(T#Wl z@]0#='Xqe@+D#b m e@+D#D8m K@_bj# TͰ@$N{ @`C#B@֮# pB@u #ud@g3D_# @~# ̄s@ #3lE@ܯ\#S7\@# v@~#%x@JU#i`@d#i`@d#}t@K#b<~@%q#% Z@{#g5 Z@{#F58l@uJQ#a@LG0#+B@GEc#x5lw@!nV# Eϰ@#Eϰ@#nU߰@# @8ۢ#d@M#$̇ 8@ ja#d ~@:J#T; %V@N # T\@\#Y@Ѫx# @TF #3P@p /p @r# @r#1 4(@G#Q/{ @%Fg@Q#(N@o#3b/@mO#%@v#H@#4( @#($g.@,P9 #GN@5i#"GN@5i#"FU@-#=t@Z\#O>&@4['#N0 @1Fu#S԰@1Fu#3ΰ@:#)$le@ #$-@C#8P@I!F]@HZ#۳ u@ /R#Su@ /R#4S@b#VP'@͹8#@-@͹8#-,f@#@U@y^f@)#T@)#ilI@d9h#\'$^@7# MD@Ƶh#oB@Bv)#Z<@c#f@RG#1_ f@RG# ` Nİ@%# MNİ@%#8Mη@#Am@)4#'h @F/!cY&@ϗ!@RR#pH @ȍ(#10J@5y#%>D5w@m! X3T@Zxu#_  T@Zxu#V $ a@"#d2@#+2@# ,2@#$,m@U# @q#:@oH\#@P -f@Cn^f@!#hC @_+3#(=@4w\# D2u|@m#ѶPj@h`e#%@ider_data_delay'] = 0; } // attributes $data_position = StringUtil::deserialize($cte['revolutionslider_data_position']); $data_position9 = explode(' ',$cte['revolutionslider_data_pos9grid']); $data_position_m = StringUtil::deserialize($cte['revolutionslider_data_position_m']); $arrAttributes = array ( 'data-easing' => $cte['revolutionslider_data_easing'], 'data-speed' => ($cte['revolutionslider_data_speed'] > 0 ? $cte['revolutionslider_data_speed'] * 1000 : 0), // sec to ms 'data-y' => (strlen($data_position[1]) ? $data_position[1]: $data_position9[1]), 'data-start' => ($cte['revolutionslider_data_start'] > 0 ? $cte['revolutionslider_data_start'] * 1000 : 100), 'data-elementdelay' => ($cte['revolutionslider_data_delay'] > 0 ? $cte['revolutionslider_data_delay'] / 100 : 0), ); // DESKTOP, SMARTPHONE #$pos_x = $data_position[0]; #$pos_y = $data_position[1]; #$pos_x_m = $data_position_m[0]; #$pos_y_m = $data_position_m[1]; #$hoffset = 0; #$hoffset_m = null; #$voffset = 0; #$voffset_m = null; // positions $arrPosition = array ( 'x' => $data_position[0], 'y' => $data_position[1], 'hoffset' => null, 'voffset' => null, ); // positions mobile $arrPositionM = array ( 'x' => $data_position_m[0], 'y' => $data_position_m[1], 'hoffset' => null, 'voffset' => null, ); // h offset if(isset($data_position[0]) && strlen($data_position9[0]) > 0) { $arrPosition['x'] = $arrPositionM['x'] = $data_position9[0]; $arrPosition['hoffset'] = $data_position[0]; $arrPositionM['hoffset'] = $data_position_m[0]; } // v offset if(isset($data_position[1]) && strlen($data_position9[1]) > 0) { $arrPosition['y'] = $arrPositionM['y'] = str_replace(array('center'),array('middle'), $data_position9[1]); $arrPosition['voffset'] = $data_position[1]; $arrPositionM['voffset'] = $data_position_m[1]; } #$arrAttributes['data-x'] = $this->buildDataAttributeValueFromArray( array($pos_x,$pos_x_m) ); #\sprintf("['%s','%s']",$pos_x,$pos_x_m); #"['$data_position[0]','','','$data_position_m[0]']"; #$arrAttributes['data-y'] = $this->buildDataAttributeValueFromArray( array($pos_y,$pos_y_m) ); #$arrAttributes['data-hoffset'] = $this->buildDataAttributeValueFromArray( array($hoffset,$hoffset_m) ); #\sprintf("['%s','%s']",$hoffset,$hoffset_m); #"['$data_position[0]','','','$data_position_m[0]']"; #$arrAttributes['data-voffset'] = $this->buildDataAttributeValueFromArray( array($voffset,$voffset_m) ); #"['$data_position[0]','','','$data_position_m[0]']"; // check if there is atleas one mobile value and mark this slider as mobile first $GLOBALS['REVOLUTIONSLIDER_HAS_MOBILE'][ $this->Slider->id ] = false; if( empty( array_filter( $arrPositionM ) ) === false ) { $GLOBALS['REVOLUTIONSLIDER_HAS_MOBILE'][ $this->Slider->id ] = true; } // DESKTOP, SMARTPHONE $arrAttributes['data-x'] = \sprintf("['%s','%s']",$arrPosition['x'],$arrPositionM['x']); $arrAttributes['data-y'] = \sprintf("['%s','%s']",$arrPosition['y'],$arrPositionM['y']); if( empty($arrPosition['hoffset']) === false || empty($arrPositionM['hoffset']) === false ) { $arrAttributes['data-hoffset'] = \sprintf("['%s','%s']",$arrPosition['hoffset'],$arrPositionM['hoffset']); } if( empty($arrPosition['voffset']) === false || empty($arrPositionM['voffset']) === false ) { $arrAttributes['data-voffset'] = \sprintf("['%s','%s']",$arrPosition['voffset'],$arrPositionM['voffset']); #"['$data_position[0]','','','$data_position_m[0]']"; } $arrAttributes['data-lineheight'] = "['inherit','inherit']"; $arrAttributes['data-whitespace'] = "nowrap"; $arrAttributes['data-responsive_offset'] = "on"; // visibility $arrAttributes['data-visibility'] = "['on','on']"; if( $objContentModel->revolutionslider_visibility == 1 ) { $arrAttributes['data-visibility'] = "['on','off']"; } else if( $objContentModel->revolutionslider_visibility == 2 ) { $arrAttributes['data-visibility'] = "['off','on']"; } // hyperlinks if( \in_array($objContentModel->type, array('hyperlink','revolutionslider_hyperlink') ) ) { $arrAttributes['data-responsive'] = "off"; if( $arrPosition['x'] == 'center' ) { $arrAttributes['data-responsive_offset'] = "off"; } } // data type $arrAttributes['data-type'] = 'text'; if( \in_array($objContentModel->type, array('image','revolutionslider_image') ) ) { $arrAttributes['data-type'] = 'image'; } //! data-fontsize $arrFontSize = StringUtil::deserialize($objContentModel->revolutionslider_text_fontsize); if( !\is_array($arrFontSize) ) { $arrFontSize = \explode(',',$arrFontSize); } if( empty($arrFontSize[1]) === false ) { $arrAttributes['data-fontsize'] = \sprintf("['%s','%s']",$arrFontSize[0],$arrFontSize[1]); } if( \in_array($objContentModel->type, array('hyperlink','revolutionslider_hyperlink') ) ) { unset($arrAttributes['data-fontsize']); } //-- // out animation attributes if( (boolean)$cte['revolutionslider_OUT'] === true) { $arrAttributes['data-endelementdelay'] = ( !empty($objContentModel->revolutionslider_data_start_OUT) ? $cte['revolutionslider_data_start_OUT'] * 1000 : 'wait'); $arrAttributes['data-endspeed'] = $cte['revolutionslider_data_speed_OUT'] * 1000; $arrAttributes['data-endeasing'] = $cte['revolutionslider_data_easing_OUT'] ?: 'wait'; } //! link element to slide if($cte['revolutionslider_data_linktoslide'] > 0) { $objModels = \RevolutionSlider\Models\Slides::findBy( array('pid=?','published=?'), array($this->get('pid'),1), array('order' => 'sorting') ); if( $objModels !== null ) { foreach($objModels as $i => $objModel) { if($cte['revolutionslider_data_linktoslide'] == $objModel->id) { $arrAttributes['data-linktoslide'] = $i + 1; } } } } // disable debug mode $blnDebug = Config::get('debugMode'); Config::set('debugMode',0); // generate the content element $strCte = Controller::replaceInsertTags('{{insert_content::'.$cte['id'].'}}'); Config::set('debugMode',$blnDebug); //! data-frames $strFrameJson = $GLOBALS['REVOLUTIONSLIDER']['FRAMES'][ $objContentModel->revolutionslider_data_animation_start ]; $arrFrameJson = \explode('},{',$strFrameJson); $arrFrameJson[0] .= '}'; $arrFrameJson[1] = '{'.$arrFrameJson[1]; $arrFrames = array ( 'start' => \json_decode($arrFrameJson[0],true), 'end' => \json_decode($arrFrameJson[1],true), ); // map attributes to frame $frameFromAttributes = array ( 'start' => array ( 'delay' => 'data-start', 'speed' => 'data-speed', 'ease' => 'data-easing', ), 'end' => array ( 'delay' => 'data-start', 'speed' => 'data-endspeed', 'ease' => 'data-endeasing', ), ); // if no out animation is set, use the default if( (boolean)$objContentModel->revolutionslider_OUT === false) { unset( $frameFromAttributes['end'] ); } foreach( $frameFromAttributes as $k => $arr) { foreach( $arr as $frame => $attr ) { if( isset($arrAttributes[ $attr ]) ) { $arrFrames[$k][$frame ] = $arrAttributes[ $attr ]; // remove from attributes unset( $arrAttributes[ $attr ] ); } } } $json_frames_start = \json_encode($arrFrames['start']); $json_frames_end = \json_encode($arrFrames['end']); // inject attributes in content element $strAttributes = ''; foreach($arrAttributes as $attr => $value) { $strAttributes .= $attr .'="'.$value.'" '; } trim($strAttributes); $str_data_frames = \sprintf("[%s,%s]", $json_frames_start,$json_frames_end); //! custom data-frames if( (boolean)$objContentModel->revolutionslider_frames === true ) { $str_data_frames = trim($objContentModel->revolutionslider_data_frames); } // append data-frames $strAttributes .= " data-frames='".$str_data_frames."'"; //-- // since we only work on html elements we can easily just replace everything in the first <...> $preg = preg_match('/<(.*?)\>/', $strCte,$result); if($preg) { $search = $result[0]; $replace = sprintf('<%s %s>',$result[1], $strAttributes); $strCte = str_replace($search, $replace, $strCte); } // inject attributes $strCte = \str_replace('###attributes###',$strAttributes,$strCte); $arrReturn[] = $strCte; // add must have classes $preg = preg_match('/class="(.*?)\"/', $strCte,$result); if($preg) { $arrClass = explode(' ', trim($result[1])); $arrClass[] = 'tp-caption'; $arrClass[] = 'tp-resizeme'; #$arrClass[] = 'rs-parallaxlevel-0'; // parallax if( (int)$cte['revolutionslider_parallax'] > 0 && empty($cte['revolutionslider_parallax']) === false ) { $arrClass[] = 'rs-parallaxlevel-'.(int)$cte['revolutionslider_parallax']; } // visibility if( (int)$cte['revolutionslider_visibility'] == 1 ) { $arrClass[] = ''; } else if( (int)$cte['revolutionslider_visibility'] == 2 ) { $arrClass[] = ''; } // add start animation class (deprecated fallback) $arrClass[] = $cte['revolutionslider_data_animation_start']; // add end animation class (deprecated fallback) $arrClass[] = $cte['revolutionslider_data_animation_end']; $search = $result[0]; $strCte = str_replace($search, 'class="'.implode(' ', array_unique($arrClass)).'"', $strCte); } } return $arrReturn; } /** * Generate the current thumbnail from the main image or from the slide image and return the filepath * @param string * @param string * @param string * @param string * @return string path to thumb */ protected function getThumb() { if($this->get('singleSRC') == '' && $this->get('singleSRC_thumb') == '') { return ''; } $src = $this->get('singleSRC_thumb'); if($src == '') { $src = $this->get('singleSRC'); } $objFile = FilesModel::findByPk($src); if( $objFile === null ) { return ''; } $size = $GLOBALS['REVOLUTIONSLIDER']['THUMBNAIL_SIZES'] ?? array(); return Image::get($objFile->path,$size[0] ?? null, $size[1] ?? null, $size[2] ?? null); } } An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.