function executemd5($filesmd5, $md5calculated) { //BEGIN ALL MD5 CHECKS global $curdatetime; global $skip_md5_diff; global $sod_guid; if (file_exists('files.md5')) { include 'files.md5'; } //create dir for md5s $md5_directory = create_cache_directory("diagnostic/" . $sod_guid . "/diagnostic" . $curdatetime . "/md5/"); //skip this if the files.md5 didn't exist if (!$skip_md5_diff) { //make sure the files.md5 if ($filesmd5) { if (!copy('files.md5', $md5_directory . "files.md5")) { echo "Couldn't copy files.md5 to " . $md5_directory . "<br>Skipping md5 checks.<br>"; } } } $md5_string_calculated = generateMD5array('./'); if ($md5calculated) { write_array_to_file('md5_string_calculated', $md5_string_calculated, $md5_directory . "md5_array_calculated.php"); } //if the files.md5 didn't exist, we can't do this if (!$skip_md5_diff) { $md5_string_diff = array_diff($md5_string_calculated, $md5_string); write_array_to_file('md5_string_diff', $md5_string_diff, $md5_directory . "md5_array_diff.php"); } //END ALL MD5 CHECKS //BEGIN UPDATING PROGRESS BAR sodUpdateProgressBar(MD5_WEIGHT); //END UPDATING PROGRESS BAR }
public function testgenerateMD5array() { //execute the method and test if it returns expected values $expected = array('data/Relationships/EmailAddressRelationship.php' => '2f04780ddd15f7b65a35c75c303ed5d7', 'data/Relationships/M2MRelationship.php' => 'c320909b5a17d63aafa0d7497fe3c991', 'data/Relationships/One2MBeanRelationship.php' => 'c09fe92826b4c8a3944694098de35027', 'data/Relationships/One2MRelationship.php' => '588ad87910bd9d885fe27da77ad13e30', 'data/Relationships/One2OneBeanRelationship.php' => '765b8785d5ca576a8530db99bdf4d411', 'data/Relationships/One2OneRelationship.php' => '0385f7577687a402d9603ef26984257e', 'data/Relationships/RelationshipFactory.php' => '3bd7cc6998beaf82a13808f54bff1c2d', 'data/Relationships/SugarRelationship.php' => '8d0fa8ae0f41ac34eb5d0c04f0e02825'); $actual = generateMD5array('data/Relationships/'); $this->assertSame($expected, $actual); }
/** * Function to compare two directory structures and return the items in path_a that didn't match in path_b * * @param $path_a The path of the first root directory to scan - must end with '/' * @param $path_b The path of the second root directory to scan - must end with '/' * @param $ignore_dirs array of filenames/directory names to ignore running md5 on - default 'cache' and 'upload' * @result array containing all the md5s of everything in $path_a that didn't have a match in $path_b */ function md5DirCompare($path_a, $path_b, $ignore_dirs = array('cache', 'upload')) { $md5array_a = generateMD5array($path_a, $ignore_dirs); $md5array_b = generateMD5array($path_b, $ignore_dirs); $result = array_diff($md5array_a, $md5array_b); return $result; }
function executemd5($filesmd5, $md5calculated) { //BEGIN ALL MD5 CHECKS global $curdatetime, $skip_md5_diff, $sod_guid, $mod_strings; if (file_exists('files.md5')) { include 'files.md5'; } //create dir for md5s $md5_directory = create_cache_directory("diagnostic/" . $sod_guid . "/diagnostic" . $curdatetime . "/md5/"); //skip this if the files.md5 didn't exist if (!$skip_md5_diff) { //make sure the files.md5 if ($filesmd5) { if (!copy('files.md5', $md5_directory . "files.md5")) { $data = array($md5_directory); echo string_format($mod_strings['LBL_DIAGNOSTICS_ERROR_MD5'], $data); } } } $md5_string_calculated = generateMD5array('./'); if ($md5calculated) { write_array_to_file('md5_string_calculated', $md5_string_calculated, $md5_directory . "md5_array_calculated.php"); } //if the files.md5 didn't exist, we can't do this if (!$skip_md5_diff) { $md5_string_diff = array_diff($md5_string_calculated, $md5_string); write_array_to_file('md5_string_diff', $md5_string_diff, $md5_directory . "md5_array_diff.php"); } //END ALL MD5 CHECKS //BEGIN UPDATING PROGRESS BAR sodUpdateProgressBar(MD5_WEIGHT); //END UPDATING PROGRESS BAR }