.
*/
if( isset($setup) ) {
#######################################
### Update Address Book (ab_bodies) ###
#######################################
$out.="\n\n=== Updating Address Book copy ===\n";
$ABconn = mysql_connect(MYSQL_AB_HOST, MYSQL_AB_USER, MYSQL_AB_PASS, true);
mysql_select_db(MYSQL_AB_DB,$ABconn);
$query="SELECT `BodyCode`, `BodyName`, `Email`, `BodyStatus`, `BodyCategory`, `BodyCategoryOrder`, `MemberNo`, `BodyNameAscii`, `NetcomCode`, `CountryCode` FROM `bodies`";
if( $res=mysql_query($query,$ABconn) ) {
// Read the AB data from Karl
while( $row=mysql_fetch_array($res) ) {
$AB[ $row['BodyCode'] ]['BodyName']=$row["BodyName"];
$AB[ $row['BodyCode'] ]['Email']=$row["Email"];
$AB[ $row['BodyCode'] ]['BodyStatus']=$row["BodyStatus"];
$AB[ $row['BodyCode'] ]['BodyCategory']=$row["BodyCategory"];
$AB[ $row['BodyCode'] ]['BodyCategoryOrder']=$row['BodyCategoryOrder'];
$AB[ $row['BodyCode'] ]['MemberNo']=$row['MemberNo'];
$AB[ $row['BodyCode'] ]['BodyNameAscii']=$row["BodyNameAscii"];
$AB[ $row['BodyCode'] ]['NetcomCode']=$row["NetcomCode"];
$AB[ $row['BodyCode'] ]['CountryCode']=$row["CountryCode"];
if( strlen($AB[ $row['BodyCode'] ]['CountryCode'])==0 ) $AB[ $row['BodyCode'] ]['CountryCode']="XXX";
}
$query="SELECT `BodyCode`, `BodyName`, `Email`, `BodyStatus`, `BodyCategory`, `BodyCategoryOrder`, `MemberNo`, `BodyNameAscii`, `NetcomCode`, `CountryCode`
FROM `ab_bodies` WHERE `BodyCategoryOrder`>=0";
if( $res=doquery($query) ) {
while( $row=mysql_fetch_array($res) ) {
if( isset( $AB[ $row['BodyCode'] ] ) ) {
// Entry already in local copy of DB
if( $AB[ $row['BodyCode'] ]['BodyName']!=$row['BodyName'] OR
$AB[ $row['BodyCode'] ]['Email']!=$row['Email'] OR
$AB[ $row['BodyCode'] ]['BodyStatus']!=$row['BodyStatus'] OR
$AB[ $row['BodyCode'] ]['BodyCategory']!=$row['BodyCategory'] OR
$AB[ $row['BodyCode'] ]['BodyCategoryOrder']!=$row['BodyCategoryOrder'] OR
$AB[ $row['BodyCode'] ]['BodyNameAscii']!=$row['BodyNameAscii'] OR
$AB[ $row['BodyCode'] ]['NetcomCode']!=$row['NetcomCode'] OR
$AB[ $row['BodyCode'] ]['CountryCode']!=$row['CountryCode'] ) {
// Entries differ
$query="UPDATE `ab_bodies` SET `BodyName`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['BodyName'])."',
`Email`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['Email'])."',
`BodyStatus`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['BodyStatus'])."',
`BodyCategory`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['BodyCategory'])."',
`BodyCategoryOrder`=".mysql_real_escape_string($AB[ $row['BodyCode'] ]['BodyCategoryOrder']).",
`BodyNameAscii`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['BodyNameAscii'])."',
`NetcomCode`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['NetcomCode'])."',
`CountryCode`='".mysql_real_escape_string($AB[ $row['BodyCode'] ]['CountryCode'])."'
WHERE `BodyCode`='".mysql_real_escape_string($row['BodyCode'])."'";
if( doquery($query) ) {
$out.="\nUpdated successfully ".$row['BodyCode'].":\n";
}else {
$out.="\nFailed updating ".$row['BodyCode'].":\n";
}
$out.="BodyName: ".$row['BodyName']." ==> ".$AB[ $row['BodyCode'] ]['BodyName']."\n";
$out.="Email: ".$row['Email']." ==> ".$AB[ $row['BodyCode'] ]['Email']."\n";
$out.="BodyStatus: ".$row['BodyStatus']." ==> ".$AB[ $row['BodyCode'] ]['BodyStatus']."\n";
$out.="BodyCategory: ".$row['BodyCategory']." ==> ".$AB[ $row['BodyCode'] ]['BodyCategory']."\n";
$out.="BodyCategoryOrder: ".$row['BodyCategoryOrder']." ==> ".$AB[ $row['BodyCode'] ]['BodyCategoryOrder']."\n";
$out.="BodyNameAscii: ".$row['BodyNameAscii']." ==> ".$AB[ $row['BodyCode'] ]['BodyNameAscii']."\n";
$out.="NetcomCode: ".$row['NetcomCode']." ==> ".$AB[ $row['BodyCode'] ]['NetcomCode']."\n";
$out.="CountryCode: ".$row['CountryCode']." ==> ".$AB[ $row['BodyCode'] ]['CountryCode']."\n";
}else {
// Nothing changed, so nothing to update
}
unset( $AB[ $row['BodyCode'] ] );
}else {
// Entry does not exist any more in master
$query="SELECT `PersonID` FROM `persons` WHERE `BodyCode`='".mysql_real_escape_string($row['BodyCode'])."'";
if( mysql_num_rows( doquery($query) ) ) {
// Already people from this local applied
$query="UPDATE `ab_bodies` SET `BodyName`='Deleted body (".mysql_real_escape_string($row['BodyName']).")', `BodyStatus`='D',
`BodyCategory`=-1, `BodyCategoryOrder`=-1, `MemberNo`=-1, `BodyNameAscii`='Deleted body (".mysql_real_escape_string($row['BodyNameAscii']).")',
`NetcomCode`='X', `CountryCode`='XXX'
WHERE `BodyCode`='".mysql_real_escape_string($row['BodyCode'])."'";
if( doquery($query) ) {
$out.="\nDeactivated ".$row['BodyCode'].", there were already applications under this body.\n";
}else {
$out.="\nFailed deactivating ".$row['BodyCode']."\n";
}
}else {
// We can delete this entry, it is not in use currently
$query="DELETE FROM `ab_bodies` WHERE `BodyCode`='".mysql_real_escape_string($row['BodyCode'])."'";
if( doquery($query) ) {
$out.="\nSuccessfully deleted ".$row['BodyCode']."\n";
}else {
$out.="\nFailed deleting ".$row['BodyCode'].". Error: ".mysql_error()."\n";
}
}
}
}#/end of while
// Check if there are new bodies in the master AB
$bodies=array_keys($AB);
for($i=0; $i