pingback_nodeapi(&$node, $op, $teaser = NULL, $page = NULL)
contributions/pingback/pingback.module, line 123
<?php
function pingback_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
if (_pingback_valid_for_node_type($node->type)) {
switch ($op) {
case 'insert':
case 'update':
if (variable_get('pingback_mode', 'off') == 'submit') {
global $_pingback_nid;
$_pingback_nid = $node->nid;
}
else { //mode == 'cron'
//queue this nid in variable pingback_nid_queue, but take care for not queuing existing nids
$q = variable_get('pingback_nid_queue', array());
if (!in_array($node->nid, $q)) {
$q[] = $node->nid;
variable_set('pingback_nid_queue', $q);
}
}
break;
case 'view':
// Insert pingback header when a node is being viewed.
if (arg(0) == 'node' && is_numeric(arg(1)) && arg(3) == NULL) {
drupal_set_header('X-Pingback: '. $GLOBALS['base_url'] .'/xmlrpc.php');
}
break;
}
}
}
?>