diff --git a/mozilla/webtools/addons/shared/bin/update-hashes.php b/mozilla/webtools/addons/shared/bin/update-hashes.php index ca0cc6851b1..d786fb04d0b 100644 --- a/mozilla/webtools/addons/shared/bin/update-hashes.php +++ b/mozilla/webtools/addons/shared/bin/update-hashes.php @@ -1,11 +1,10 @@ query("SELECT name,type,vid,uri FROM main m INNER JOIN version v ON v.id = m.id WHERE m.id=735", SQL_ALL, SQL_ASSOC); +$db->query("SELECT name,version,type,vid,uri FROM main m INNER JOIN version v ON v.id = m.id WHERE v.approved='yes'", SQL_ALL, SQL_ASSOC); $versions=$db->record; foreach($versions as $version) { - // Here we are making some assumptions on the file path. - // Change the first part if the server you are running on has the .xpi repository in a different location. - $buf = sha1_file('/data/amo/files/ftp/'.($version['type']=='E'?'extensions/':'themes/').str_replace(' ','_',strtolower($version['name'])).'/'.basename($version['uri'])); - $db->query("UPDATE version SET hash='sha1:{$buf}' WHERE vid={$version['vid']}"); + + $file = '/data/amo/files/ftp/'.($version['type']=='E'?'extensions/':'themes/').str_replace(' ','_',strtolower($version['name'])).'/'.basename($version['uri']); + + // If the file exists, get its sum and update its record. + if (file_exists($file)) { + $buf = sha1_file($file); + $db->query("UPDATE version SET hash='sha1:{$buf}' WHERE vid={$version['vid']}"); + echo "Updated {$version['name']} {$version['version']} hash to sha1:{$buf}\n"; + } } exit;