function _socialmedia_widgets_get_facebook_locales in Social media 7
Retrieve locale keys from Facebook.
Return value
array|mixed
1 call to _socialmedia_widgets_get_facebook_locales()
File
- ./
socialmedia.widgets.inc, line 747 - Functions needed to execute image elements provided by Image module.
Code
function _socialmedia_widgets_get_facebook_locales() {
$fb_locale = array();
$cache = cache_get('socialmedia_facebook_locales');
if (empty($cache->data)) {
$result = drupal_http_request("https://www.facebook.com/translations/FacebookLocales.xml");
if ($result->code == 200) {
$xml = simplexml_load_string($result->data);
foreach ($xml->locale as $line) {
$representation = (array) $line->codes->code->standard->representation;
$name = (array) $line->englishName;
$key = $representation[0];
$value = $name[0];
$fb_locale[$key] = $value;
}
}
else {
// Use JSON version from Github.
$result = drupal_http_request("https://raw.githubusercontent.com/akarve/facebook-locales-to-json/master/FacebookLocalesSimple.json");
if ($result->code == 200) {
$json = json_decode($result->data);
foreach ($json as $key => $value) {
$fb_locale[$value] = $key;
}
}
}
cache_set('socialmedia_facebook_locales', serialize($fb_locale), 'cache');
}
else {
$fb_locale = unserialize($cache->data);
}
return $fb_locale;
}