Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2012, 13:57
Honolulu
 
Fecha de Ingreso: febrero-2011
Mensajes: 99
Antigüedad: 13 años, 2 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