function _vkxp_get_node_message in VK CrossPoster 7.2
Same name and namespace in other branches
- 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;
}