show a larger pic when user clicks on it
git-svn-id: file:///var/lib/svn/phpfspot/trunk@25
fa6a889d-dae6-447d-9e79-
4ba9a3039384
- $this->prepare_single_photo($this->current_photo);
$this->tmpl->assign('tags', $this->tags);
$this->tmpl->show("index.tpl");
$this->tmpl->assign('tags', $this->tags);
$this->tmpl->show("index.tpl");
- public function prepare_single_photo($photo)
+ public function showPhoto($photo)
- $this->tmpl->assign('image_url', 'phpfspot_img.php?idx='. $this->avail_photos[$photo] ."&width=". $this->cfg->photo_width);
+ $this->tmpl->assign('image_url', 'phpfspot_img.php?idx='. $photo ."&width=". $this->cfg->photo_width);
}
if($photo > 0) {
$this->tmpl->assign('previous_url', "javascript:showImage(". ($photo-1) .");");
}
}
if($photo > 0) {
$this->tmpl->assign('previous_url', "javascript:showImage(". ($photo-1) .");");
}
- if($photo < count($this->avail_photos)) {
+ if($photo < count($this->photos)) {
$this->tmpl->assign('next_url', "javascript:showImage(". ($photo+1) .");");
}
$this->tmpl->assign('next_url', "javascript:showImage(". ($photo+1) .");");
}
- } // prepare_single_photo()
+ $this->tmpl->show("single_photo.tpl");
+
+ } // showPhoto()
public function getAvailableTags()
{
public function getAvailableTags()
{
array_push($tagged_photos, $row['photo_id']);
}
array_push($tagged_photos, $row['photo_id']);
}
return $tagged_photos;
} // getAllTagPhotos()
public function showPhotoIndex()
{
return $tagged_photos;
} // getAllTagPhotos()
public function showPhotoIndex()
{
- foreach($this->getAllTagPhotos() as $photo)
- {
- $images.= "<img src=\"phpfspot_img.php?idx=". $photo ."&width=". $this->cfg->thumb_width ."\" /><br />\n";
- }
+ $photos = $this->getAllTagPhotos();
+ $count = count($photos);
+
+ $rows = 0;
+ $cols = 0;
+ $images[$rows] = Array();
+
+ for($i = 0; $i < $count; $i++) {
+
+ $images[$rows][$cols] = $photos[$i];
+
+ if($cols == $this->cfg->thumbs_per_row-1) {
+ $cols = 0;
+ $rows++;
+ $images[$rows] = Array();
+ }
+ else {
+ $cols++;
+ }
+ }
+
+ // +1 for for smarty's selection iteration
+ $rows++;
+
+ //$images.= "<img src=\"phpfspot_img.php?idx=". $photo ."&width=". $this->cfg->thumb_width ."\" /><br />\n";
- $this->tmpl->assign('image_matrix', $images);
+ $this->tmpl->assign('count', $count);
+ $this->tmpl->assign('width', $this->cfg->thumb_width);
+ $this->tmpl->assign('images', $images);
+ $this->tmpl->assign('rows', $rows);
+ $this->tmpl->assign('columns', $this->cfg->thumbs_per_row);
$this->tmpl->show("photo_index.tpl");
$this->tmpl->show("photo_index.tpl");
var $path_replace_from = "/home/unki";
var $path_replace_to = "/var/www/images.netshadow.at/htdocs/phpfspot";
var $path_replace_from = "/home/unki";
var $path_replace_to = "/var/www/images.netshadow.at/htdocs/phpfspot";
+ var $thumbs_per_row = 3;
+
switch($_GET['action']) {
case 'showphoto':
switch($_GET['action']) {
case 'showphoto':
- $fspot->prepare_single_photo($_GET['id']);
- $fspot->tmpl->show("body.tpl");
-
+ $fspot->showPhoto($_GET['id']);
break;
case 'show_available_tags':
break;
case 'show_available_tags':
+<!-- Image Matrix -->
+<table>
+ <tr>
+ <td colspan="{$columns}">
+ {$count} images have been found for the selected tags
+ </td>
+ </tr>
+{section name="row" loop=$rows step=1}
+ <tr>
+ {section name="col" loop=$columns step=1}
+ <td>
+ <a href="javascript:showImage({$images[row][col]});">
+ <img src="phpfspot_img.php?idx={$images[row][col]}&width={$width}" />
+ </a>
+ </td>
+ {/section}
+ </tr>
+{/section}
+</table>
+<!-- /Image Matrix -->