<?php
function sitehelper_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
if($node->type == 'cinfo') {
switch ($op) {
case 'update':
break;
case 'view':
break;
case 'validate':
$newgcd =
trim($node->
field_gcd_user_id[0][value
]);
if(!
preg_match("/^[a-z]{6}_[0-9]{4}$/i",
$newgcd)) {
// VALIDATION GOES HERE
form_set_error('field_gcd_user_id',
'Please enter a valid GCD User ID.');
}
$newfed =
trim($node->
field_federal_id_number_0[0][value
]);
if(!
preg_match("/^([0-9]{3}-?[0-9]{2}-?[0-9]{4}|[0-9]{2}-[0-9]{7})$/",
$newfed)) {
form_set_error('field_federal_id_number_0',
'Please enter a valid Federal ID number.');
}
if($node->field_are_you_a_route_operator[0][value] == 'Yes') {
$newmdr =
trim($node->
field_mdr_number[0][value
]);
if(!
preg_match("/^[0-9]{7}-[0-9]{3}-MDR$/",
$newmdr)) {
form_set_error('field_mdr_number',
'If you are a Route Operator, you must enter a valid MDR Number.');
}
}
break;
case 'delete':
break;
}
}
elseif($node->type == 'linfo') {
switch ($op) {
case 'insert':
break;
case 'update':
break;
case 'view':
break;
case 'validate':
WHERE field_inactivel_value = '%s' AND nid = %d", inactive, $node->nid))) {
form_set_error('field_inactivel',
'This location is inactive. Updates are unavailable.');
} else {
if($node->field_inactivel[0][value] == 'inactive' &&
db_result(db_query("SELECT field_parentnid_value, field_inactive_value FROM {content_type_minfo}
WHERE field_parentnid_value = %d AND field_inactive_value = '%s'",
$node->nid, active))) {
form_set_error('field_inactivel',
'All machines must be removed from this location before the location
can be removed.');
}
$newgcdl =
trim($node->
field_gcd_user_id[0][value
]);
if(!
preg_match("/^[a-z]{6}_[0-9]{4}$/i",
$newgcdl)) {
// VALIDATION GOES HERE
form_set_error('field_gcd_user_id',
'Please enter a valid GCD User ID.');
}
$newfedl =
trim($node->
field_federal_id_number_0[0][value
]);
if(!
preg_match("/^([0-9]{3}-?[0-9]{2}-?[0-9]{4}|[0-9]{2}-[0-9]{7})$/",
$newfedl)) {
form_set_error('field_federal_id_number_0',
'Please enter a valid Federal ID number for this location.');
}
$newgoa =
trim($node->
field_goa[0][value
]);
if(!
preg_match("/^[0-9]{7}-[0-9]{3}-GOA$/",
$newgoa)) {
form_set_error('field_goa',
'The location\'s GOA number is required.');
}
}
break;
case 'delete':
break;
}
}
elseif($node->type == 'minfo') {
switch ($op) {
case 'view':
break;
case 'insert':
break;
case 'update':
break;
case 'validate':
WHERE field_inactive_value = '%s' AND nid = %d'", inactive, $node->nid))) {
form_set_error('field_inactive',
'This machine is inactive. Updates are unavailable.');
} else {
$newvgm =
trim($node->
field_vgm_id_number[0][value
]);
form_set_error('field_vgm_id_number',
'Please enter a valid VGM ID number that is 6 digits long.');
} elseif(db_result(db_query("SELECT nid, field_vgm_id_number_value FROM {content_type_minfo}
WHERE field_vgm_id_number_value = '%s' AND field_inactive_value = '%s' AND nid != %d",
$newvgm, active, $node->nid))) {
form_set_error('field_vgm_id_number',
'That VGM ID number is already in use. If you have a machine with
this VGM ID number in another location, please remove it before enrolling it in this location.');
}
foreach (array(1,
2,
3,
4) as $matrixrow) {
foreach (array(1,
2) as $matrixcol) {
$newmeter =
trim($node->
field_beginning_meter_readings[matrix
][$matrixrow][$matrixcol]);
form_set_error('field_beginning_meter_readings',
'Please enter only numbers into meter readings,
leaving off any decimals (If a meter reading is 525.25, enter it as 52525).');
break;
}
}
}
}
break;
case 'delete':
break;
}
}
}