You are here

function socialmedia_update_redirects in Social media 7

1 call to socialmedia_update_redirects()
socialmedia_admin_profiles_form_submit in ./socialmedia.admin.inc

File

./socialmedia.module, line 434
Demonstrate basic module socialmedia.

Code

function socialmedia_update_redirects($redirects = array(), $original_redirects = array()) {
  if (!module_exists('redirect')) {
    return FALSE;
  }
  $platforms = socialmedia_platform_definitions();
  $defaults = drupal_map_assoc(array_keys($platforms));
  $active_platforms = variable_get('socialmedia_platforms_site_redirects_enabled', $defaults);
  $sources = variable_get('socialmedia_platforms_site_redirects_source', array());
  foreach ($platforms as $name => $platform) {
    if (!isset($active_platforms[$name]) && $active_platforms[$name]) {
      continue;
    }
    $source = '';
    if (isset($sources[$name])) {
      $source = $sources[$name];
    }
    elseif (isset($platform['redirect path'])) {
      $source = $platform['redirect path'];
    }
    if (!$source) {
      continue;
    }
    $source = $platform['redirect path'];
    $profile = socialmedia_profile_load($name);
    if (!isset($profile['url'])) {
      continue;
    }
    if ($redirect = redirect_load_by_source($source)) {
      $redirect->source = $source;
      $redirect->redirect = 'http://' . $profile['url'];
    }
    else {
      $redirect = new stdClass();
      redirect_object_prepare($redirect, array(
        'source' => $source,
        'source_options' => array(),
        'redirect' => 'http://' . $profile['url'],
        'redirect_options' => array(),
        'language' => LANGUAGE_NONE,
      ));
    }
    redirect_save($redirect);
  }
}