* @link http://www.themepunch.com/ * @copyright 2015 ThemePunch */ if( !defined( 'ABSPATH') ) exit(); class RevSliderWpml{ /* Provider: - * * * true / false if the wpml plugin exists */ public static function isWpmlExists(){ if(class_exists("SitePress")) return(true); else return(false); } /* Provider: - * * * valdiate that wpml exists */ private static function validateWpmlExists(){ if(!self::isWpmlExists()) RevSliderFunctions::throwError("The wpml plugin is not activated"); } /* Provider: - * * * get languages array */ public static function getArrLanguages($getAllCode = true){ self::validateWpmlExists(); $wpml = new SitePress(); $arrLangs = $wpml->get_active_languages(); $response = array(); if($getAllCode == true) $response["all"] = __("All Languages",REVSLIDER_TEXTDOMAIN); foreach($arrLangs as $code=>$arrLang){ $name = $arrLang["native_name"]; $response[$code] = $name; } return($response); } /* Provider: - * * * get assoc array of lang codes */ public static function getArrLangCodes($getAllCode = true){ $arrCodes = array(); if($getAllCode == true) $arrCodes["all"] = "all"; self::validateWpmlExists(); $wpml = new SitePress(); $arrLangs = $wpml->get_active_languages(); foreach($arrLangs as $code=>$arr){ $arrCodes[$code] = $code; } return($arrCodes); } /* Provider: - * * * check if all languages exists in the given langs array */ public static function isAllLangsInArray($arrCodes){ $arrAllCodes = self::getArrLangCodes(); $diff = array_diff($arrAllCodes, $arrCodes); return(empty($diff)); } /* Provider: - * * * get langs with flags menu list * @param $props */ public static function getLangsWithFlagsHtmlList($props = "",$htmlBefore = ""){ $arrLangs = self::getArrLanguages(); if(!empty($props)) $props = " ".$props; $html = ""."\n"; $html .= $htmlBefore; foreach($arrLangs as $code=>$title){ $urlIcon = self::getFlagUrl($code); $html .= "
  • "."\n"; $html .= " $title"."\n"; $html .= "
  • "."\n"; } $html .= ""; return($html); } /* Provider: - * * get flag url */ public static function getFlagUrl($code){ self::validateWpmlExists(); $wpml = new SitePress(); if(empty($code) || $code == "all") $url = RS_PLUGIN_URL.'admin/assets/images/icon-all.png'; else $url = $wpml->get_flag_url($code); //default: show all if(empty($url)) $url = RS_PLUGIN_URL.'admin/assets/images/icon-all.png'; return($url); } /* Provider: - * /* Provider: - get language details by code */ private function getLangDetails($code){ global $wpdb; $details = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."icl_languages WHERE code='$code'"); if(!empty($details)) $details = (array)$details; return($details); } /* Provider: - * * * get language title by code */ public static function getLangTitle($code){ $langs = self::getArrLanguages(); if($code == "all") return(__("All Languages", REVSLIDER_TEXTDOMAIN)); if(array_key_exists($code, $langs)) return($langs[$code]); $details = self::getLangDetails($code); if(!empty($details)) return($details["english_name"]); return(""); } /* Provider: - * * * get current language */ public static function getCurrentLang(){ self::validateWpmlExists(); $wpml = new SitePress(); if(is_admin()) $lang = $wpml->get_default_language(); else $lang = RevSliderFunctionsWP::getCurrentLangCode(); return($lang); } } /* Provider: - * * old classname extends new one (old classnames will be obsolete soon) * @since: 5.0 **/ class UniteWpmlRev extends RevSliderWpml {} ?>