Conjunto 71baefb en sipes
- Fecha y hora:
- 18/08/2017 11:49:30 (hace 7 años)
- Branches:
- stable
- Children:
- 604b644
- Parents:
- c43ea01
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
0.3-modules/politicas_proyectos/politicas_proyectos.module
r84211f4 r71baefb 555 555 'arguments' => array('element' => NULL), 556 556 ), 557 ); 558 } 557 'politicas_proyectos_formatter_body' => array( 558 'arguments' => array('element'), 559 'function' => 'theme_politicas_proyectos_formatter_body', 560 ), 561 ); 562 } 563 564 /** 565 * Proxy theme function for 'full' and 'teaser' nodereference field formatters. 566 */ 567 function theme_politicas_proyectos_formatter_body($element) { 568 static $recursion_queue = array(); 569 $output = ''; 570 if (!empty($element['#item']['safe']['nid'])) { 571 $nid = $element['#item']['safe']['nid']; 572 $node = $element['#node']; 573 $field = content_fields($element['#field_name'], $element['#type_name']); 574 // If no 'referencing node' is set, we are starting a new 'reference thread' 575 if (!isset($node->referencing_node)) { 576 $recursion_queue = array(); 577 } 578 $recursion_queue[] = $node->nid; 579 if (in_array($nid, $recursion_queue)) { 580 // Prevent infinite recursion caused by reference cycles: 581 // if the node has already been rendered earlier in this 'thread', 582 // we fall back to 'default' (node title) formatter. 583 return theme('nodereference_formatter_default', $element); 584 } 585 $referenced_node = _politicas_proyectos_load_politica($nid); 586 if ($referenced_node) { 587 $referenced_node->referencing_node = $node; 588 $referenced_node->referencing_field = $field; 589 $output = check_plain($referenced_node->body); 590 } 591 } 592 return $output; 593 } 594 595 /** 596 * Implementation of _politicas_proyectos_load_politica(). 597 * Load node 598 */ 599 function _politicas_proyectos_load_politica($nid){ 600 $node = 0; 601 if ($nid) { 602 $sql = 'SELECT n.nid, nr.body FROM {node} AS n INNER JOIN {node_revisions} AS nr ON nr.nid = n.nid AND nr.vid = n.vid WHERE n.nid = %d'; 603 $result = db_query($sql, $nid); 604 $node = db_fetch_object($result); 605 } 606 return $node; 607 } 608 559 609 560 610 … … 579 629 } 580 630 581 631 /** 632 * Implementation of hook_field_formatter_info(). 633 */ 634 function politicas_proyectos_field_formatter_info() { 635 return array( 636 'body' => array( 637 'label' => t('Body'), 638 'field types' => array('nodereference'), 639 'multiple values' => CONTENT_HANDLE_CORE, 640 ), 641 ); 642 } 582 643 583 644 /** … … 746 807 747 808 } 748 749 750 809 if (empty($element[$field_key]['#element_validate'])) { 751 810 $element[$field_key]['#element_validate'] = array(); … … 787 846 $inputs[] = $ente_id; 788 847 } 789 $sql = "SELECT n.nid, nr.body, pd.field_politicas_ente_nid FROM {content_type_politicas_direccionales} AS pd INNER JOIN {node} AS n ON n.nid = pd.nid AND n.vid = pd.vid INNER JOIN {node_revisions} AS nr ON n.nid = nr.nid AND n.vid = nr.vid WHERE pd.field_politicas_ente_nid IN (" . implode (', ', $implode_sql) . ") AND field_politicas_direcc_year_value = %d AND field_politicas_seleccionada_value = %d"; 848 $sql = 'SELECT n.nid, nr.body, pd.field_politicas_ente_nid FROM {content_type_politicas_direccionales} AS pd INNER JOIN {node} AS n ON n.nid = pd.nid AND n.vid = pd.vid INNER JOIN {node_revisions} AS nr ON n.nid = nr.nid AND n.vid = nr.vid WHERE'; 849 if (count($implode_sql)) { 850 $sql .= ' pd.field_politicas_ente_nid IN (' . implode (', ', $implode_sql) . ') AND'; 851 } 852 $sql .= ' field_politicas_direcc_year_value = %d AND field_politicas_seleccionada_value = %d'; 790 853 $inputs[] = variable_get('situacional_actual_preliminar_anho_creacion', 0); 791 854 $inputs[] = 1; … … 799 862 return $results[$ente_id]; 800 863 } 801 802
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.