public function init()
 {
     $this->setAttrib('enctype', 'multipart/form-data');
     $renameResize = new Zend_Form_Element_File('renameResize');
     $renameResize->setDestination('../upload');
     $renameResize->setLabel('Rename before resize');
     $renameResize->addFilter('Rename', 'rename-resize');
     $renameResize->addFilter(new Skoch_Filter_File_Resize(array('width' => 200, 'height' => 300, 'keepRatio' => true)));
     $this->addElement($renameResize);
     $resizeRename = new Zend_Form_Element_File('resizeRename');
     $resizeRename->setDestination('../upload');
     $resizeRename->setLabel('Resize before rename');
     $resizeRename->addFilter(new Skoch_Filter_File_Resize(array('width' => 200, 'height' => 300, 'keepRatio' => true)));
     $resizeRename->addFilter('Rename', 'resize-rename');
     $this->addElement($resizeRename);
     $multiResize = new Zend_Form_Element_File('multiResize');
     $multiResize->setDestination('../upload');
     $multiResize->setLabel('Multiple resizes');
     $filterChain = new Zend_Filter();
     // Create one big image with at most 600x300 pixel
     $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('width' => 600, 'height' => 300, 'keepRatio' => true)));
     // Create a medium image with at most 500x200 pixels
     $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('directory' => '../upload/medium', 'width' => 500, 'height' => 200, 'keepRatio' => true)));
     $multiResize->addFilter('Rename', 'multi-resize');
     $multiResize->addFilter($filterChain);
     $this->addElement($multiResize);
     $renameCrop = new Zend_Form_Element_File('renameCrop');
     $renameCrop->setDestination('../upload');
     $renameCrop->setLabel('Rename before crop');
     $renameCrop->addFilter('Rename', 'rename-crop');
     $renameCrop->addFilter(new Skoch_Filter_File_Resize(array('width' => 20, 'height' => 30, 'cropToFit' => true, 'keepRatio' => true)));
     $this->addElement($renameCrop);
     $submit = new Zend_Form_Element_Submit('submit');
     $this->addElement($submit);
 }
 /**
  * Ensures that filters can be prepended and will be executed in the
  * expected order
  */
 public function testFilterPrependOrder()
 {
     $this->_filter->appendFilter(new Zend_FilterTest_StripUpperCase())->prependFilter(new Zend_FilterTest_LowerCase());
     $value = 'AbC';
     $valueExpected = 'abc';
     $this->assertEquals($valueExpected, $this->_filter->filter($value));
 }
 private function saveImages($data, $promo)
 {
     if (isset($data['filePromo'])) {
         $relativeImageDir = '/customers/' . $data["userId"];
         $customerImageDir = IMAGE_PATH . $relativeImageDir;
         $form = $this->view->form;
         $adapter = $form->filePromo->getTransferAdapter();
         //create directory where files would be hold
         if (!is_dir($customerImageDir)) {
             mkdir($customerImageDir, 0777, 1);
         }
         $i = 0;
         $images = array();
         //loop uploaded files
         $files = $adapter->getFileInfo();
         foreach ($files as $file => $fileInfo) {
             $extension = substr(strrchr($fileInfo['name'], '.'), 1);
             $promoImageDir = $customerImageDir . '/' . $promo->getId();
             $imageName = $promoImageDir . '/image_' . $i . '.' . $extension;
             $imageName2 = $promoImageDir . '/thumb/image_' . $i . '.' . $extension;
             if (!is_dir($promoImageDir)) {
                 mkdir($promoImageDir, 0777, 1);
             }
             if (!is_dir($promoImageDir . '/thumb')) {
                 mkdir($promoImageDir . '/thumb', 0777, 1);
             }
             $adapter->addFilter('Rename', array('target' => $imageName, 'overwrite' => true));
             $filterChain = new Zend_Filter();
             $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('width' => 300, 'height' => 300, 'keepRatio' => true)));
             $filterChain->appendFilter(new Skoch_Filter_File_Resize(array('directory' => $promoImageDir . '/thumb', 'width' => 60, 'height' => 60, 'keepRatio' => true)));
             $adapter->addFilter($filterChain);
             $images[] = $relativeImageDir . '/' . $promo->getId() . '/image_' . $i . '.' . $extension;
             /* TODO: resizing de la imagen
                $form->file->addFilter(new Skoch_Filter_File_Resize(array('width' => 200,'height' => 300,'keepRatio' => true,))); */
             if (!$adapter->receive($file)) {
                 $mensajes = $form->filePromo->getMessages();
                 throw new Exception('Error!!');
             }
             chmod($logoName, 0777);
             $i++;
         }
         /*foreach ($adapter->getFileInfo() as $info)
                     {     
                         $extension = substr(strrchr($info['name'],'.'),1);
                         
                         $promoImageDir = $customerImageDir.'/'.$promo->getId();
                         if(!is_dir($promoImageDir))
                             mkdir($promoImageDir, 0666, 1);
                         
                         $logoName = $promoImageDir.'/image_'.$i.'.'.$extension;
                                 
                         $adapter->addFilter('Rename', array('target'=>$logoName, 'overwrite'=>true));
         
                         $images[] =  $relativeImageDir.'/'.$promo->getId().'/image_'.$i.'.'.$extension;
                          TODO: resizing de la imagen
                         $form->file->addFilter(new Skoch_Filter_File_Resize(array('width' => 200,'height' => 300,'keepRatio' => true,))); 
                         if (!$form->images->receive()) {
                             $mensajes = $form->images->getMessages();
                             throw new Exception('Error!!');
                         }
                         chmod($logoName,0666);
                         $i++;    
                     } */
         $promo->saveImages($images);
     } else {
         $promo->loadImages($this->user);
     }
 }