Admin_TemplateController::uploadAction PHP Метод

uploadAction() публичный Метод

public uploadAction ( )
    public function uploadAction()
    {
        $translator = \Zend_Registry::get('container')->getService('translator');
        // get next redirect param
        $nextRedirect = new Zend_Session_Namespace('upload-next');
        $path = $this->parsePath($this->_getParam('path', ''));
        $plupload = $this->getHelper('plupload');
        $form = new Admin_Form_Upload();
        $form->setMethod('post');
        $form->getElement('submit')->setLabel($translator->trans('Done uploading', array(), 'themes'));
        $request = $this->getRequest();
        if ($request->isPost() && $form->isValid($request->getPost())) {
            $files = $plupload->getUploadedFiles();
            foreach ($files as $basename => $tmp) {
                $this->service->storeItem("{$path}/{$basename}", file_get_contents($tmp));
            }
            $this->_helper->flashMessenger($this->formatMessage(array_keys($files), $translator->trans('uploaded', array(), 'themes')));
            // redirect by next parameter
            if (!is_null($nextRedirect->next)) {
                $this->_helper->redirector->gotoRouteAndExit($nextRedirect->next);
            } else {
                $this->_helper->redirector->gotoSimple("index", "themes", "admin");
            }
        }
        // prelong next parameter
        $nextRedirect->setExpirationHops(7, 'next', true);
        $this->view->form = $form;
        $this->view->path = $this->view->basePath . $path;
        $this->view->isWritable = $this->service->isWritable($path);
    }