This question has been answered by muzzstick. See the first response.
private function generateThumbs($path) {
// Check if landscape or portrait
list($width, $height) = getimagesize($path);
if ($width > $height) {
// Landscape
$thumbnail_widths = array(70, 320, 820);
foreach ($thumbnail_widths as $thumbnail_width) {
$modPhpThumb = new modPhpThumb($this->modx);
$modPhpThumb->setSourceFilename($path); // original image
$modPhpThumb->setParameter('w', $thumbnail_width);
$modPhpThumb->setParameter('config_output_format', 'jpeg');
$output_filename = pathinfo($path,PATHINFO_DIRNAME).'/thumbnails/'.basename($path).'_'.$thumbnail_width.'.'.$modPhpThumb->config_output_format;
if ($modPhpThumb->GenerateThumbnail()) {
$modPhpThumb->RenderToFile($output_filename);
}
unset($modPhpThumb);
}
} else {
// Portrait or Square
$thumbnail_heights = array(50, 320, 680);
foreach ($thumbnail_heights as $thumbnail_height) {
$modPhpThumb = new modPhpThumb($this->modx);
$modPhpThumb->setSourceFilename($path); // original image
$modPhpThumb->setParameter('h', $thumbnail_height);
$modPhpThumb->setParameter('config_output_format', 'jpeg');
$output_filename = pathinfo($path,PATHINFO_DIRNAME).'/thumbnails/'.basename($path).'_'.$thumbnail_height.'.'.$modPhpThumb->config_output_format;
if ($modPhpThumb->GenerateThumbnail()) {
$modPhpThumb->RenderToFile($output_filename);
}
unset($modPhpThumb);
}
}
}