public function edytujAction()
 {
     $this->_helper->layout()->disableLayout();
     if ($this->getRequest()->isPost()) {
         $pole = $this->getRequest()->getParam('pole');
         $wartosc = $this->getRequest()->getParam('value');
         $id_zdjec_string = $this->getRequest()->getParam('id');
         $id_zdjec = array_filter(explode(' ', $id_zdjec_string));
         foreach ($id_zdjec as $id_zdjecia) {
             //pobranie aktualnych metadanych z bazy
             $photoMapper = Model_PhotoMapper::getInstance();
             $metadane = $photoMapper->Metadane($id_zdjecia);
             $id_katalogu = $metadane->getCatalogsId();
             //pobranie ścieżki do zdjęcia
             $catalogMapper = Model_CatalogMapper::getInstance();
             $katalog = $catalogMapper->katalog($id_katalogu);
             $file = $katalog->getPath() . '/' . $metadane->getFilename();
             //edycja metadanych w zdjęciu
             $iptc = new Model_Iptc();
             $iptc->iptc($file);
             //ustawienie nowych wartości i zapis metadanych do zdjęcia
             switch ($pole) {
                 case 'filename':
                     $metadane->setFilename($wartosc);
                     $file_new = $katalog->getPath() . '/' . $wartosc;
                     rename($file, $file_new);
                     break;
                 case 'headline':
                     $metadane->setHeadline($wartosc);
                     $iptc->set(IPTC_HEADLINE, $wartosc);
                     $iptc->write();
                     break;
                 case 'caption':
                     $metadane->setCaption($wartosc);
                     $iptc->set(IPTC_CAPTION, $wartosc);
                     $iptc->write();
                     break;
                 case 'writer':
                     $metadane->setWriter($wartosc);
                     $iptc->set(IPTC_WRITER, $wartosc);
                     $iptc->write();
                     break;
                 case 'copyrigthNotice':
                     $metadane->setCopyrightNotice($wartosc);
                     $iptc->set(IPTC_COPYRIGHT_NOTICE, $wartosc);
                     $iptc->write();
                     break;
                 case 'contact':
                     $metadane->setContact($wartosc);
                     $iptc->set(IPTC_CONTACT, $wartosc);
                     $iptc->write();
                     break;
                 case 'objectName':
                     $metadane->setObjectName($wartosc);
                     $iptc->set(IPTC_OBJECT_NAME, $wartosc);
                     $iptc->write();
                     break;
                 case 'byLineTitle':
                     $metadane->setByLineTitle($wartosc);
                     $iptc->set(IPTC_BYLINE_TITLE, $wartosc);
                     $iptc->write();
                     break;
                 case 'city':
                     $metadane->setCity($wartosc);
                     $iptc->set(IPTC_CITY, $wartosc);
                     $iptc->write();
                     break;
                 case 'subLocation':
                     $metadane->setSubLocation($wartosc);
                     $iptc->set(IPTC_SUB_LOCATION, $wartosc);
                     $iptc->write();
                     break;
                 case 'province':
                     $metadane->setProvince($wartosc);
                     $iptc->set(IPTC_PROVINCE_STATE, $wartosc);
                     $iptc->write();
                     break;
                 case 'countryCode':
                     $metadane->setCountryCode($wartosc);
                     $iptc->set(IPTC_COUNTRY_CODE, $wartosc);
                     $iptc->write();
                     break;
                 case 'country':
                     $metadane->setCountry($wartosc);
                     $iptc->set(IPTC_COUNTRY, $wartosc);
                     $iptc->write();
                     break;
                 case 'keywords':
                     $dopisz = strcmp('*', $wartosc[0]);
                     if ($dopisz == 0) {
                         $slowa_kluczowe = substr($wartosc, 1);
                         $poprzednio = $metadane->getKeywords();
                         $metadane->setKeywords($poprzednio . ' ' . $slowa_kluczowe);
                         $iptc->set(IPTC_KEYWORDS, $poprzednio . ' ' . $slowa_kluczowe);
                     } else {
                         $metadane->setKeywords($wartosc);
                         $iptc->set(IPTC_KEYWORDS, $wartosc);
                     }
                     $iptc->write();
                     break;
                 default:
                     break;
             }
             //zapis do bazy
             $photoMapper->save($metadane);
         }
         $this->view->wartosc = $wartosc;
     }
 }
 /**
  *
  * @return Model_PhotoMapper
  */
 public static function getInstance()
 {
     if (is_null(self::$_instance)) {
         $c = __CLASS__;
         self::$_instance = new $c();
     }
     return self::$_instance;
 }
 public function pobierzAction()
 {
     $id = $this->getRequest()->getParam('zdjecie');
     $photoMapper = Model_PhotoMapper::getInstance();
     $zdjecie = $photoMapper->Metadane($id)->getFilename();
     $id_katalogu = $photoMapper->Metadane($id)->getCatalogsId();
     $catalogMapper = Model_CatalogMapper::getInstance();
     $katalog = $catalogMapper->katalog($id_katalogu)->getPath();
     $sciezka = $katalog . '/' . $zdjecie;
     header('Content-Type: image/jpeg');
     header("Content-Disposition: attachment; filename=" . $zdjecie);
     readfile($sciezka);
     $this->view->layout()->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
 }