/** * Bulk upload multiple pages with a zip file. * */ public function uploadPagesAction() { $id = $this->_request->getParam('id'); $client = new Object_Client($id); $clientId = $client->getId(); if (empty($clientId)) { // No client defined, redirec to list users. $this->_redirect('/admin/client'); return false; } $this->view->client = $client; $form = new Form_Admin_Client_Page_BulkUpload(false, array('clientId' => $id)); if ($this->_request->isPost()) { $params = $this->_request->getPost(); if ($form->isValid($params)) { $pages = $form->generatePages($id); if (!empty($pages)) { // Redirect to client page list $this->_helper->getHelper('FlashMessenger')->addMessage(count($pages) . ' pages have been created/updated.'); $titleId = $params['title']; if (!empty($titleId) && (int) $titleId > 0) { $titlePages = array(); // Added to a title if title is available $title = new Object_Title($titleId); $existingPages = Repo_TitlePage::getInstance()->getTitlePages($title->getId()); if ($existingPages) { foreach ($existingPages as $_p) { $titlePages[] = $_p->id; } } $titlePages = array_merge($titlePages, $pages); $title->savePages($titlePages); $this->_helper->getHelper('FlashMessenger')->addMessage('Pages have been added to title: <a href="/admin/client/title-detail/id/' . $title->id . '">' . $title->name . '</a>.'); } $this->_redirect('/admin/client/page/client/' . $id); } $form->populate($params); } else { $form->populate($params); } } $this->view->form = $form; }