Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2012, 13:57
Honolulu
 
Fecha de Ingreso: febrero-2011
Mensajes: 99
Antigüedad: 15 años, 8 meses
Puntos: 6
Actualización de Módulo

Hola amigos,

estoy actualizando un módulo de D6 a D7 y no me queda claro el cambio de nodeapi.

En la versión D6 tengo esta función:
Código PHP:
function updatemodule_nodeapi(&$node, $op, $teaser) {


  if (
variable_get("updatemodule_status_$node->type", false)
      || (isset (
$_GET['shr']) && $op == 'view' ) )
  {
    switch (
$op) {

      case 
"validate":
        
updatemodule_validate_updatemodule($node);
      break;
     
      case 
"insert":
        
updatemodule_save_updatemodule($node);
      break;
      
      case 
"update":
        
updatemodule_save_updatemodule($node);
      break;
      
      case 
"load":
        
$node->updatemodule = updatemodule_load_updatemodule($node->nid);
      break;
      
      case 
"view":
        
updatemodule_view_node($node, $teaser);
      break;    
    }
  }
} 
Si lo conservo así me da un error (lógico):

Notice: Undefined variable: op in updatemodule_node_view()

me salta una alerta por cada "case".

He probado separar las funciones pero me sigue dando errores

Código PHP:
function updatemodule_node_validate($node, $view_mode = 'full') {
    
updatemodule_validate_updatemodule($node);
}
function 
updatemodule_node_insert($node, $view_mode = 'full') {
    
updatemodule_save_updatemodule($node);
}
function 
updatemodule_node_update($node, $view_mode = 'full') {
    
updatemodule_save_updatemodule($node);
}
function 
updatemodule_node_load($node, $view_mode = 'full') {
    
    
$node->updatemodule = updatemodule_load_updatemodule($node->nid);
}
function 
updatemodule_node_view($node, $view_mode = 'full') {
    
updatemodule_view_node($node);
} 
Me da un error del tipo "intentando ... en un non object." Con la penúltima función, donde está $node->nid.

¿Alguna sugerencia?

Gracias