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;
}