issue27, added a nice export icon
[phpfspot.git] / phpfspot.class.php
index 32c2df71cd647ec1fd3f1e6ef4c8f30eae234aba..33d4e24ffe0a5b99469ecb75a62f23b8cf048d9a 100644 (file)
@@ -64,6 +64,11 @@ class PHPFSPOT {
                $_SESSION['selected_tags'] = split(',', $_GET['tags']);
             }
             break;
+         case 'export':
+            $this->tmpl->show("export.tpl");
+            return;
+            break;
+
       }
 
       $this->tmpl->assign('content_page', 'welcome.tpl');
@@ -114,18 +119,14 @@ class PHPFSPOT {
 
    } // get_photo_details
 
-   public function getPhotoName($idx)
+   public function getPhotoName($idx, $limit = 0)
    {
       if($details = $this->get_photo_details($idx)) {
-
          $name = $details['name'];
-
-         if(strlen($name) > 15) {
-            $name = substr($name, 0, 10) ."...". substr($name, -10);
+         if($limit != 0 && strlen($name) > $limit) {
+            $name = substr($name, 0, $limit-5) ."...". substr($name, -($limit-5));
          }
-
          return $name;
-   
       }
 
    } // getPhotoName()
@@ -287,15 +288,18 @@ class PHPFSPOT {
 
    public function getSelectedTags()
    {
+      $output = "";
       foreach($this->avail_tags as $tag)
       {
          // return all selected tags
          if(isset($_SESSION['selected_tags']) && in_array($tag, $_SESSION['selected_tags'])) {
-            print "<a href=\"javascript:Tags('del', ". $tag .");\" class=\"tag\">". $this->tags[$tag] ."</a>, ";
+            $output.= "<a href=\"javascript:Tags('del', ". $tag .");\" class=\"tag\">". $this->tags[$tag] ."</a>, ";
          }
-
       }
 
+      $output = substr($output, 0, strlen($output)-2);
+      print $output;
+
    } // getSelectedTags()
 
    public function addTag($tag)
@@ -474,12 +478,14 @@ class PHPFSPOT {
       $img_width[$rows] = Array();
       $img_id[$rows] = Array();
       $img_name[$rows] = Array();
+      $img_title = Array();
 
       for($i = $begin_with; $i < $end_with; $i++) {
 
          $images[$rows][$cols] = $photos[$i];
          $img_id[$rows][$cols] = $i;
-         $img_name[$rows][$cols] = $this->getPhotoName($photos[$i]);
+         $img_name[$rows][$cols] = htmlspecialchars($this->getPhotoName($photos[$i], 15));
+         $img_title[$rows][$cols] = "Click to view photo ". htmlspecialchars($this->getPhotoName($photos[$i], 0));
 
          $thumb_path = $this->cfg->base_path ."/thumbs/". $this->cfg->thumb_width ."_". $this->getMD5($photos[$i]);
 
@@ -586,12 +592,15 @@ class PHPFSPOT {
          $current_tags = substr($current_tags, 0, strlen($current_tags)-1);
       }
 
-      $extern_link = "http://". $_SERVER['SERVER_NAME'] ."/index.php?mode=showpi";
+      $extern_link = "index.php?mode=showpi";
       if($current_tags != "") {
          $extern_link.= "&tags=". $current_tags;
       }
 
+      $export_link = "index.php?mode=export";
+
       $this->tmpl->assign('extern_link', $extern_link);
+      $this->tmpl->assign('export_link', $export_link);
       $this->tmpl->assign('count', $count);
       $this->tmpl->assign('width', $this->cfg->thumb_width);
       $this->tmpl->assign('images', $images);
@@ -599,6 +608,7 @@ class PHPFSPOT {
       $this->tmpl->assign('img_height', $img_height);
       $this->tmpl->assign('img_id', $img_id);
       $this->tmpl->assign('img_name', $img_name);
+      $this->tmpl->assign('img_title', $img_title);
       $this->tmpl->assign('rows', $rows);
       $this->tmpl->assign('columns', $this->cfg->thumbs_per_row);
 
@@ -1126,6 +1136,37 @@ class PHPFSPOT {
 
    } // get_calendar()
 
+   public function getExport($mode)
+   {
+      $pictures = $this->getPhotoSelection();
+
+      if(!isset($_SERVER['HTTPS'])) $protocol = "http";
+      else $protocol = "https";
+
+      $server_name = $_SERVER['SERVER_NAME'];
+
+      foreach($pictures as $picture) {
+
+         $orig_url = $protocol ."://". $server_name . $this->cfg->web_path ."phpfspot_img.php?idx=". $picture ."&width=". $this->cfg->photo_width;
+         $thumb_url = $protocol ."://". $server_name . $this->cfg->web_path ."phpfspot_img.php?idx=". $picture ."&width=". $this->cfg->thumb_width;
+
+         switch($mode) {
+
+            case 'HTML':
+               // <a href="%pictureurl%"><img src="%thumbnailurl%" ></a>
+               print htmlspecialchars("<a href=\"". $orig_url ."\"><img src=\"". $thumb_url ."\" /></a>") ."<br />\n";
+               break;
+               
+            case 'MoinMoin':
+               // [%pictureurl% %thumbnailurl%]
+               print htmlspecialchars(" * [".$orig_url." ".$thumb_url."&fake=1.jpg]") ."<br />\n";
+               break;
+         }
+
+      }
+
+   } // getExport()
+
 }
 
 ?>