You are here

function _vkxp_get_node_message in VK CrossPoster 7.2

Same name and namespace in other branches
  1. 6.3 vkxp.module \_vkxp_get_node_message()

Get message text from node.

Parameters

$node: Node object that should be crossposted.

Return value

string Message text.

2 calls to _vkxp_get_node_message()
vkxp_post_to_wall_action in ./vkxp.rules.inc
Action: Post node to VK wall.
_vkxp_process_node in ./vkxp.module
Process node and send it to VK if needed.

File

./vkxp.module, line 294

Code

function _vkxp_get_node_message($node) {

  // Get message source.
  $message_field = variable_get('vkxp_node_message_field_' . $node->type, '[node:title]');
  $message = strip_tags(token_replace($message_field, array(
    'node' => $node,
  )));

  // Trim message if needed.
  $message_length = variable_get('vkxp_node_message_length_' . $node->type, 255);
  if (!empty($message_length) && drupal_strlen($message) > $message_length) {
    $message = drupal_substr($message, 0, $message_length - 3) . '...';
  }

  // Add tags as hashtags to the post.
  $tags_field = variable_get('vkxp_node_hashtag_field_' . $node->type, 0);
  if (!empty($tags_field)) {
    $tags_items = field_get_items('node', $node, $tags_field);
    if (!empty($tags_items)) {
      $message .= "\n\n";
      $hash_tags = array();
      $tags = array();
      foreach ($tags_items as $item) {

        //Sometimes name attribute is not added to the field value - loading it.
        if (empty($item['name'])) {
          $term = taxonomy_term_load($item['tid']);
          $tags[] = $term->name;
        }
        else {
          $tags[] = $item['name'];
        }
      }
      foreach ($tags as $item) {
        $hash_tags[] = '#' . str_replace(' ', '', $item);
      }
      $message .= implode(' ', $hash_tags);
    }
  }

  // Decode special symbols.
  $message = html_entity_decode($message, ENT_QUOTES, 'UTF-8');
  $message = htmlspecialchars_decode($message);
  return $message;
}