. */ 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