Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/revslide.../includes
File: cssparser.class.php
$c.'.NotGeneric-Menuitem' => '5.0',
[500] Fix | Delete
$c.'.MarkerStyle' => '5.0',
[501] Fix | Delete
$c.'.Gym-Menuitem' => '5.0',
[502] Fix | Delete
$c.'.Newspaper-Button' => '5.0',
[503] Fix | Delete
$c.'.Newspaper-Subtitle' => '5.0',
[504] Fix | Delete
$c.'.Newspaper-Title' => '5.0',
[505] Fix | Delete
$c.'.Newspaper-Title-Centered' => '5.0',
[506] Fix | Delete
$c.'.Hero-Button' => '5.0',
[507] Fix | Delete
$c.'.Video-Title' => '5.0',
[508] Fix | Delete
$c.'.Video-SubTitle' => '5.0',
[509] Fix | Delete
$c.'.NotGeneric-Button' => '5.0',
[510] Fix | Delete
$c.'.NotGeneric-BigButton' => '5.0',
[511] Fix | Delete
$c.'.WebProduct-Button' => '5.0',
[512] Fix | Delete
$c.'.Restaurant-Button' => '5.0',
[513] Fix | Delete
$c.'.Gym-Button' => '5.0',
[514] Fix | Delete
$c.'.Gym-Button-Light' => '5.0',
[515] Fix | Delete
$c.'.Sports-Button-Light' => '5.0',
[516] Fix | Delete
$c.'.Sports-Button-Red' => '5.0',
[517] Fix | Delete
$c.'.Photography-Button' => '5.0',
[518] Fix | Delete
$c.'.Newspaper-Button-2' => '5.0'
[519] Fix | Delete
);
[520] Fix | Delete
[521] Fix | Delete
return apply_filters('revslider_mod_default_css_handles', $default);
[522] Fix | Delete
}
[523] Fix | Delete
[524] Fix | Delete
[525] Fix | Delete
/**
[526] Fix | Delete
* Defines the deformation CSS which is not directly usable as pure CSS
[527] Fix | Delete
* @since: 5.0
[528] Fix | Delete
**/
[529] Fix | Delete
public function get_deformation_css_tags(){
[530] Fix | Delete
[531] Fix | Delete
return array(
[532] Fix | Delete
'x' => 'x',
[533] Fix | Delete
'y' => 'y',
[534] Fix | Delete
'z' => 'z',
[535] Fix | Delete
'skewx' => 'skewx',
[536] Fix | Delete
'skewy' => 'skewy',
[537] Fix | Delete
'scalex' => 'scalex',
[538] Fix | Delete
'scaley' => 'scaley',
[539] Fix | Delete
'opacity' => 'opacity',
[540] Fix | Delete
'xrotate' => 'xrotate',
[541] Fix | Delete
'yrotate' => 'yrotate',
[542] Fix | Delete
'2d_rotation' => '2d_rotation',
[543] Fix | Delete
'layer_2d_origin_x' => 'layer_2d_origin_x',
[544] Fix | Delete
'layer_2d_origin_y' => 'layer_2d_origin_y',
[545] Fix | Delete
'2d_origin_x' => '2d_origin_x',
[546] Fix | Delete
'2d_origin_y' => '2d_origin_y',
[547] Fix | Delete
'pers' => 'pers',
[548] Fix | Delete
[549] Fix | Delete
'color-transparency' => 'color-transparency',
[550] Fix | Delete
'background-transparency' => 'background-transparency',
[551] Fix | Delete
'border-transparency'=> 'border-transparency',
[552] Fix | Delete
'cursor' => 'cursor',
[553] Fix | Delete
'speed' => 'speed',
[554] Fix | Delete
'easing' => 'easing',
[555] Fix | Delete
'corner_left' => 'corner_left',
[556] Fix | Delete
'corner_right' => 'corner_right',
[557] Fix | Delete
'parallax' => 'parallax',
[558] Fix | Delete
'type' => 'type',
[559] Fix | Delete
'padding' => 'padding',
[560] Fix | Delete
'margin' => 'margin',
[561] Fix | Delete
'text-align' => 'text-align'
[562] Fix | Delete
);
[563] Fix | Delete
[564] Fix | Delete
}
[565] Fix | Delete
[566] Fix | Delete
[567] Fix | Delete
/**
[568] Fix | Delete
* return the captions sorted by handle name
[569] Fix | Delete
**/
[570] Fix | Delete
public function get_captions_sorted(){
[571] Fix | Delete
global $wpdb;
[572] Fix | Delete
[573] Fix | Delete
$styles = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS . " ORDER BY handle ASC", ARRAY_A);
[574] Fix | Delete
$arr = array('5.0' => array(), 'Custom' => array(), '4' => array());
[575] Fix | Delete
[576] Fix | Delete
foreach($styles as $style){
[577] Fix | Delete
$setting = json_decode($this->get_val($style, 'settings'), true);
[578] Fix | Delete
[579] Fix | Delete
if(!isset($setting['type'])) $setting['type'] = 'text';
[580] Fix | Delete
[581] Fix | Delete
if(array_key_exists('version', $setting) && isset($setting['version'])) $arr[ucfirst($setting['version'])][] = array('label' => trim(str_replace('.tp-caption.', '', $style['handle'])), 'type' => $setting['type']);
[582] Fix | Delete
}
[583] Fix | Delete
[584] Fix | Delete
$sorted = array();
[585] Fix | Delete
foreach($arr as $version => $class){
[586] Fix | Delete
foreach($class as $name){
[587] Fix | Delete
$sorted[] = array('label' => $this->get_val($name, 'label'), 'version' => $version, 'type' => $this->get_val($name, 'type'));
[588] Fix | Delete
}
[589] Fix | Delete
}
[590] Fix | Delete
[591] Fix | Delete
return $sorted;
[592] Fix | Delete
}
[593] Fix | Delete
[594] Fix | Delete
[595] Fix | Delete
/**
[596] Fix | Delete
* Handles media queries
[597] Fix | Delete
* @since: 5.2.0
[598] Fix | Delete
**/
[599] Fix | Delete
public function parse_media_blocks($css){
[600] Fix | Delete
$blocks = array();
[601] Fix | Delete
$start = 0;
[602] Fix | Delete
[603] Fix | Delete
while(($start = strpos($css, '@media', $start)) !== false){
[604] Fix | Delete
$s = array();
[605] Fix | Delete
$i = strpos($css, '{', $start);
[606] Fix | Delete
[607] Fix | Delete
if ($i !== false){
[608] Fix | Delete
$block = trim(substr($css, $start, $i - $start));
[609] Fix | Delete
array_push($s, $css[$i]);
[610] Fix | Delete
$i++;
[611] Fix | Delete
[612] Fix | Delete
while(!empty($s)){
[613] Fix | Delete
if($css[$i] == '{'){
[614] Fix | Delete
array_push($s, '{');
[615] Fix | Delete
}elseif($css[$i] == '}'){
[616] Fix | Delete
array_pop($s);
[617] Fix | Delete
}else{
[618] Fix | Delete
//broken css?
[619] Fix | Delete
}
[620] Fix | Delete
$i++;
[621] Fix | Delete
}
[622] Fix | Delete
[623] Fix | Delete
$blocks[$block] = substr($css, $start, ($i + 1) - $start);
[624] Fix | Delete
$start = $i;
[625] Fix | Delete
}
[626] Fix | Delete
}
[627] Fix | Delete
[628] Fix | Delete
return $blocks;
[629] Fix | Delete
}
[630] Fix | Delete
[631] Fix | Delete
[632] Fix | Delete
/**
[633] Fix | Delete
* removes @media { ... } queries from CSS
[634] Fix | Delete
* @since: 5.2.0
[635] Fix | Delete
**/
[636] Fix | Delete
public function clear_media_block($css){
[637] Fix | Delete
$start = 0;
[638] Fix | Delete
[639] Fix | Delete
if(empty($css)) return $css;
[640] Fix | Delete
[641] Fix | Delete
if(strpos($css, '@media', $start) !== false){
[642] Fix | Delete
$start = strpos($css, '@media', 0);
[643] Fix | Delete
$i = strpos($css, '{', $start);
[644] Fix | Delete
if($i === false) return $css;
[645] Fix | Delete
$i += 1;
[646] Fix | Delete
$remove = substr($css, $start - 1, $i - $start + 1); //remove @media ... first {
[647] Fix | Delete
$css = str_replace($remove, '', $css);
[648] Fix | Delete
$css = preg_replace('/}$/', '', $css); //remove last }
[649] Fix | Delete
}
[650] Fix | Delete
[651] Fix | Delete
return $css;
[652] Fix | Delete
}
[653] Fix | Delete
[654] Fix | Delete
[655] Fix | Delete
[656] Fix | Delete
/**
[657] Fix | Delete
* import contents of the css file
[658] Fix | Delete
* @before: RevSliderOperations::importCaptionsCssContentArray()
[659] Fix | Delete
*/
[660] Fix | Delete
public function import_css_captions(){
[661] Fix | Delete
global $wpdb;
[662] Fix | Delete
[663] Fix | Delete
$css = $this->get_base_css_captions();
[664] Fix | Delete
$static = array();
[665] Fix | Delete
[666] Fix | Delete
if(is_array($css) && $css !== false && count($css) > 0){
[667] Fix | Delete
foreach($css as $class => $styles){
[668] Fix | Delete
//check if static style or dynamic style
[669] Fix | Delete
$class = trim($class);
[670] Fix | Delete
[671] Fix | Delete
if((strpos($class, ':hover') === false && strpos($class, ':') !== false) || //before, after
[672] Fix | Delete
strpos($class, ' ') !== false || // .tp-caption.imageclass img or .tp-caption .imageclass or .tp-caption.imageclass .img
[673] Fix | Delete
strpos($class, '.tp-caption') === false || // everything that is not tp-caption
[674] Fix | Delete
(strpos($class, '.') === false || strpos($class, '#') !== false) || // no class -> #ID or img
[675] Fix | Delete
strpos($class, '>') !== false){ //.tp-caption>.imageclass or .tp-caption.imageclass>img or .tp-caption.imageclass .img
[676] Fix | Delete
[677] Fix | Delete
$static[$class] = $styles;
[678] Fix | Delete
continue;
[679] Fix | Delete
}
[680] Fix | Delete
[681] Fix | Delete
//is a dynamic style
[682] Fix | Delete
if(strpos($class, ':hover') !== false){
[683] Fix | Delete
$class = trim(str_replace(':hover', '', $class));
[684] Fix | Delete
$add = array(
[685] Fix | Delete
'hover' => json_encode($styles),
[686] Fix | Delete
'settings' => json_encode(array('hover' => 'true'))
[687] Fix | Delete
);
[688] Fix | Delete
}else{
[689] Fix | Delete
$add = array(
[690] Fix | Delete
'params' => json_encode($styles)
[691] Fix | Delete
);
[692] Fix | Delete
}
[693] Fix | Delete
[694] Fix | Delete
//check if class exists
[695] Fix | Delete
$result = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS." WHERE handle = %s", $class), ARRAY_A);
[696] Fix | Delete
[697] Fix | Delete
if(!empty($result)){ //update
[698] Fix | Delete
$wpdb->update($wpdb->prefix . RevSliderFront::TABLE_CSS, $add, array('handle' => $class));
[699] Fix | Delete
}else{ //insert
[700] Fix | Delete
$add['handle'] = $class;
[701] Fix | Delete
$wpdb->insert($wpdb->prefix . RevSliderFront::TABLE_CSS, $add);
[702] Fix | Delete
}
[703] Fix | Delete
}
[704] Fix | Delete
}
[705] Fix | Delete
[706] Fix | Delete
if(!empty($static)){ //save static into static-captions.css
[707] Fix | Delete
$css = $this->get_static_css()."\n".$this->static_to_css($static); //get the open sans line!
[708] Fix | Delete
[709] Fix | Delete
$this->update_static_css($css);
[710] Fix | Delete
}
[711] Fix | Delete
}
[712] Fix | Delete
[713] Fix | Delete
[714] Fix | Delete
/**
[715] Fix | Delete
* get contents of the css file
[716] Fix | Delete
* @before: RevSliderOperations::getCaptionsCssContentArray();
[717] Fix | Delete
*/
[718] Fix | Delete
public function get_base_css_captions(){
[719] Fix | Delete
include(RS_PLUGIN_PATH . 'includes/basic-css.php');
[720] Fix | Delete
[721] Fix | Delete
return $this->css_to_array($css);
[722] Fix | Delete
}
[723] Fix | Delete
[724] Fix | Delete
[725] Fix | Delete
/**
[726] Fix | Delete
* get the css raw from the database
[727] Fix | Delete
*/
[728] Fix | Delete
public function get_raw_css(){
[729] Fix | Delete
global $wpdb;
[730] Fix | Delete
[731] Fix | Delete
$result = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS, ARRAY_A);
[732] Fix | Delete
[733] Fix | Delete
return $result;
[734] Fix | Delete
}
[735] Fix | Delete
[736] Fix | Delete
[737] Fix | Delete
/**
[738] Fix | Delete
* get the css from the database and set it into an object structure
[739] Fix | Delete
*/
[740] Fix | Delete
public function get_database_classes($adv = false){
[741] Fix | Delete
$css = $this->get_raw_css();
[742] Fix | Delete
[743] Fix | Delete
if(!empty($css)){
[744] Fix | Delete
foreach($css as $k => $v){
[745] Fix | Delete
if($adv === true){
[746] Fix | Delete
$css[$v['handle']]['hover'] = json_decode($this->get_val($v, 'hover', ''), true);
[747] Fix | Delete
$css[$v['handle']]['params'] = json_decode($this->get_val($v, 'params', ''), true);
[748] Fix | Delete
$css[$v['handle']]['settings'] = json_decode($this->get_val($v, 'settings', ''), true);
[749] Fix | Delete
}else{
[750] Fix | Delete
unset($css[$v['handle']]['hover']);
[751] Fix | Delete
unset($css[$v['handle']]['params']);
[752] Fix | Delete
unset($css[$v['handle']]['settings']);
[753] Fix | Delete
}
[754] Fix | Delete
$css[$v['handle']]['advanced'] = json_decode($this->get_val($v, 'advanced', ''), true);
[755] Fix | Delete
}
[756] Fix | Delete
}
[757] Fix | Delete
[758] Fix | Delete
return $css;
[759] Fix | Delete
}
[760] Fix | Delete
[761] Fix | Delete
[762] Fix | Delete
/**
[763] Fix | Delete
* add missing px/% to value, do also for object and array
[764] Fix | Delete
* @since: 5.0
[765] Fix | Delete
**/
[766] Fix | Delete
public function add_missing_val($obj, $set_to = 'px'){
[767] Fix | Delete
if(is_array($obj)){
[768] Fix | Delete
foreach($obj as $key => $value){
[769] Fix | Delete
if(strpos($value, $set_to) === false){
[770] Fix | Delete
$obj[$key] = $value.$set_to;
[771] Fix | Delete
}
[772] Fix | Delete
}
[773] Fix | Delete
}elseif(is_object($obj)){
[774] Fix | Delete
foreach($obj as $key => $value){
[775] Fix | Delete
if(is_object($value)){
[776] Fix | Delete
if(isset($value->v)){
[777] Fix | Delete
if(strpos($value->v, $set_to) === false){
[778] Fix | Delete
$obj->$key->v = $value->v.$set_to;
[779] Fix | Delete
}
[780] Fix | Delete
}
[781] Fix | Delete
}else{
[782] Fix | Delete
if(strpos($value, $set_to) === false){
[783] Fix | Delete
$obj->$key = $value.$set_to;
[784] Fix | Delete
}
[785] Fix | Delete
}
[786] Fix | Delete
}
[787] Fix | Delete
}else{
[788] Fix | Delete
if(strpos($obj, $set_to) === false){
[789] Fix | Delete
$obj .= $set_to;
[790] Fix | Delete
}
[791] Fix | Delete
}
[792] Fix | Delete
[793] Fix | Delete
return $obj;
[794] Fix | Delete
}
[795] Fix | Delete
[796] Fix | Delete
[797] Fix | Delete
/**
[798] Fix | Delete
* change hex to rgba
[799] Fix | Delete
*/
[800] Fix | Delete
public function hex2rgba($hex, $transparency = false, $raw = false, $do_rgb = false){
[801] Fix | Delete
if($transparency !== false){
[802] Fix | Delete
$transparency = ($transparency > 0) ? number_format(($transparency / 100), 2, '.', '') : 0;
[803] Fix | Delete
}else{
[804] Fix | Delete
$transparency = 1;
[805] Fix | Delete
}
[806] Fix | Delete
[807] Fix | Delete
$hex = str_replace('#', '', $hex);
[808] Fix | Delete
[809] Fix | Delete
if(strlen($hex) == 3){
[810] Fix | Delete
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
[811] Fix | Delete
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
[812] Fix | Delete
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
[813] Fix | Delete
}elseif($this->is_rgb($hex)){
[814] Fix | Delete
return $hex;
[815] Fix | Delete
}else{
[816] Fix | Delete
$r = hexdec(substr($hex,0,2));
[817] Fix | Delete
$g = hexdec(substr($hex,2,2));
[818] Fix | Delete
$b = hexdec(substr($hex,4,2));
[819] Fix | Delete
}
[820] Fix | Delete
[821] Fix | Delete
$ret = ($do_rgb) ? $r.', '.$g.', '.$b : $r.', '.$g.', '.$b.', '.$transparency;
[822] Fix | Delete
[823] Fix | Delete
return ($raw) ? $ret : 'rgba('.$ret.')';
[824] Fix | Delete
}
[825] Fix | Delete
}
[826] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function