public function editAction() { $translator = \Zend_Registry::get('container')->getService('translator'); $key = $this->getKey(); $item = $this->service->fetchMetadata($key); $this->view->item = $item; $this->view->placeholder('title')->set($translator->trans("Edit template: \$1", array('$1' => $item->name), 'themes')); switch ($item->type) { case 'jpg': case 'png': case 'gif': $this->_forward('edit-image'); break; case 'css': case 'txt': case 'html': case 'js': case 'tpl': $this->_forward('edit-template'); break; default: $this->_forward('edit-other'); break; } $form = new Admin_Form_ReplaceTemplate(); $form->setMethod('post')->setAttrib('enctype', 'multipart/form-data'); $request = $this->getRequest(); if ($request->isPost() && $request->getParam('file', false) && $form->isValid($request->getPost())) { try { $form->getValues(); // upload $this->service->replaceItem($key, $form->file); $this->_helper->flashMessenger($translator->trans("File \$1 was replaced.", array('$1' => basename($key)), 'themes')); } catch (\InvalidArgumentException $e) { $this->_helper->flashMessenger(array('error', $e->getMessage())); } $this->_helper->redirector('edit', 'template', 'admin', array('path' => $this->_getParam('path'), 'file' => $this->_getParam('file'), 'next' => urlencode($this->_getParam('next')), 'id' => $this->_getParam('id'))); } $this->view->replaceForm = $form; }