public function get_current_row_size() { $images_left = count($this->images); if ($images_left < 3) { return array_fill(0, $images_left, 1); } foreach (array('One_Three', 'One_Two', 'Five', 'Four', 'Three', 'Two_One', 'Symmetric_Row') as $shape_name) { $class_name = "themePacific_Jetpack_Tiled_Gallery_{$shape_name}"; $shape = new $class_name($this->images); if ($shape->is_possible()) { themePacific_Jetpack_Tiled_Gallery_Shape::set_last_shape($class_name); return $shape->shape; } } themePacific_Jetpack_Tiled_Gallery_Shape::set_last_shape('Two'); return array(1, 1); }
} if (isset($id)) { $tvf = $modx->getTemplateVar($tvname, '*', $id); $tvv = $tvf['value']; } else { $id = $modx->documentObject['id']; $tvf = $modx->documentObject[$tvname]; $tvv = $tvf[1]; } if (!$tvv || $tvv == '[]') { return; } $attachments = json_decode($tvv); include_once MODX_BASE_PATH . 'assets/snippets/tiledphotos/tiledphotos.class.php'; $grouper = new themePacific_Jetpack_Tiled_Gallery_Grouper($attachments, $modx); themePacific_Jetpack_Tiled_Gallery_Shape::reset_last_shape(); $rows = ''; $num = 1; foreach ($grouper->grouped_images as $row) { $groups = ''; foreach ($row->groups as $group) { $count = count($group->images); $wrap = ''; foreach ($group->images as $image) { $size = 'large'; if ($image->width < 250) { $size = 'small'; } $image_title = $image->post_title; $link = $image->image_url; $img_src = $modx->runSnippet('phpthumb', array('input' => $link, 'options' => 'w=' . $image->width . '&h=' . $image->height . '&zc=C'));
public function calculate_image_sizes($group) { // Storing the calculated image heights in an array for rounding them later while preserving their sum // This fixes the rounding error that can lead to a few ugly pixels sticking out in the gallery $image_heights_array = array(); foreach ($group->images as $image) { $image->width = $group->width - $this->margin; // Storing the raw calculations in a separate property for diagnostics $image->raw_height = ($group->raw_width - $this->margin) / $image->ratio; $image_heights_array[] = $image->raw_height; } $image_height_sum = $group->height - count($image_heights_array) * $this->margin; $rounded_image_heights_array = themePacific_Jetpack_Tiled_Gallery_Shape::get_rounded_constrained_array($image_heights_array, $image_height_sum); foreach ($group->images as $image) { $image->height = array_shift($rounded_image_heights_array); } }