You are here

function metatag_opengraph_metatag_bundled_config_alter in Metatag 7

Implements hook_metatag_bundled_config_alter().

File

metatag_opengraph/metatag_opengraph.metatag.inc, line 11
Metatag integration for the metatag_opengraph module.

Code

function metatag_opengraph_metatag_bundled_config_alter(array &$configs) {
  foreach ($configs as &$config) {
    switch ($config->instance) {
      case 'global':
        $config->config += array(
          'og:site_name' => array(
            'value' => '[site:name]',
          ),
          'og:title' => array(
            'value' => '[current-page:title]',
          ),
          'og:type' => array(
            'value' => 'article',
          ),
          'og:url' => array(
            'value' => '[current-page:url:absolute]',
          ),
        );
        break;
      case 'global:frontpage':
        $config->config += array(
          'og:description' => array(
            'value' => '[site:slogan]',
          ),
          'og:title' => array(
            'value' => '[site:name]',
          ),
          'og:type' => array(
            'value' => 'website',
          ),
          'og:url' => array(
            'value' => '[site:url]',
          ),
        );
        break;

      // On error pages point everything to the homepage.
      case 'global:403':
      case 'global:404':
        $config->config += array(
          'og:title' => array(
            'value' => '[site:name]',
          ),
          'og:type' => array(
            'value' => 'website',
          ),
          'og:url' => array(
            'value' => '[site:url]',
          ),
        );
        break;
      case 'node':
        $config->config += array(
          'article:modified_time' => array(
            'value' => '[node:changed:custom:c]',
          ),
          'article:published_time' => array(
            'value' => '[node:created:custom:c]',
          ),
          'og:description' => array(
            'value' => '[node:summary]',
          ),
          'og:title' => array(
            'value' => '[node:title]',
          ),
          'og:updated_time' => array(
            'value' => '[node:changed:custom:c]',
          ),
        );
        break;
      case 'taxonomy_term':
        $config->config += array(
          'og:description' => array(
            'value' => '[term:description]',
          ),
          'og:title' => array(
            'value' => '[term:name]',
          ),
        );
        break;
      case 'user':
        $config->config += array(
          'og:title' => array(
            'value' => '[user:name]',
          ),
          'og:type' => array(
            'value' => 'profile',
          ),
          'profile:username' => array(
            'value' => '[user:name]',
          ),
        );
        if (variable_get('user_pictures')) {
          $config->config += array(
            'og:image' => array(
              'value' => '[user:picture:url]',
            ),
          );
        }
        break;
    }
  }
}