function featured_content_get_cck_nids in Featured Content 7.2
Same name and namespace in other branches
- 6.2 featured_content.module \featured_content_get_cck_nids()
- 6 featured_content.module \featured_content_get_cck_nids()
- 7 featured_content.module \featured_content_get_cck_nids()
Get CCK node nids.
1 call to featured_content_get_cck_nids()
- featured_content_block_view in ./
featured_content.module - Implements hook_block_view().
File
- ./
featured_content.module, line 1459 - Featured Content module for created related & featured content blocks.
Code
function featured_content_get_cck_nids($data) {
$nids = array();
$node = _featured_content_load_node();
if (isset($node->nid)) {
$cck_fields = field_info_fields();
if (!empty($cck_fields)) {
foreach ($cck_fields as $field_name => $field_data) {
if (!empty($data['fields'][$field_name])) {
$cck_field = NULL;
if (isset($node->{$field_name})) {
$cck_field = $node->{$field_name};
}
if (!empty($cck_field) && $field_data['type'] == 'text') {
// Parse the text field.
$cck_text = '';
if (isset($cck_field['und'][0]['value'])) {
$cck_text = trim($cck_field['und'][0]['value']);
}
if (!empty($cck_text)) {
$tmp = explode(',', $cck_text);
if (!empty($tmp)) {
foreach ($tmp as $nid) {
$nid = trim($nid);
if (is_numeric($nid) && $nid > 0) {
$nids[$nid] = $nid;
}
}
}
}
}
elseif ($field_data['type'] == 'node_reference') {
if (is_array($cck_field) && isset($cck_field['und'])) {
foreach ($cck_field['und'] as $node_refs) {
if (!empty($node_refs['nid'])) {
$nids[$node_refs['nid']] = $node_refs['nid'];
}
}
}
}
elseif ($field_data['type'] == 'user_reference') {
$uids = array();
if (is_array($cck_field) && isset($cck_field['und'])) {
foreach ($cck_field['und'] as $user_refs) {
if (!empty($user_refs['uid'])) {
$uids[] = $user_refs['uid'];
}
}
}
if (!empty($uids)) {
$query = db_select('node', 'n');
$query
->fields('n', array(
'nid',
));
$query
->condition('uid', $uids);
$results = $query
->execute();
foreach ($results as $row) {
if (is_numeric($row->nid) && $row->nid > 0) {
$nids[$row->nid] = $row->nid;
}
}
}
}
}
}
}
}
return $nids;
}