Skip to content
Snippets Groups Projects

Rd #14085 pnb

Merged Laurent requested to merge rd_#14085_pnb into master
Compare and
+ 1202
375
Preferences
Compare changes
Files
@@ -68,6 +68,39 @@ class Admin_AlbumController extends ZendAfi_Controller_Action {
}
public function importDilicomAction() {
$this->view->titre = $this->_('Import des offres Dilicom/PNB');
$form = $this->_formImportDilicom();
$this->view->form_import_dilicom = $form;
if (!$this->_request->isPost())
return;
if ($form->isValid($this->_request->getPost()) && $form->offers->receive()) {
$xml = file_get_contents($form->offers->getFileName());
$books = Class_WebService_BibNumerique_Dilicom_PNBOffersFile::booksFromXML($xml);
$errors = [];
$import_count = 0;
foreach($books as $book) {
$album = $book->import();
if (!$album->hasErrors())
$import_count++;
$errors = $errors + $album->getErrors();
}
$this->_helper->notify($this->view->_('%d livres numériques importés. %s',
$import_count,
implode(',', $errors)));
$this->_redirect('admin/album');
return;
}
$this->_helper->notify('Le fichier reçu n\'est pas valide');
$this->_redirect('admin/album/import-onix');
}
public function importeadAction() {
$this->view->titre = 'Import/Export EAD';
@@ -90,6 +123,19 @@ class Admin_AlbumController extends ZendAfi_Controller_Action {
}
protected function _formImportDilicom() {
return $this->view
->newForm(['id' => 'import_dilicom', 'class' => 'form'])
->setMethod('post')
->setAttrib('enctype', 'multipart/form-data')
->setAction($this->view->url(['action' => 'import-dilicom']))
->addElement($this->view->newFormElementFile('offers', 'xml'), 'offers')
->addElement('submit', 'submit', ['label' => $this->_('Importer le fichier XML')]);
}
protected function _formImportEAD() {
return $this->view
->newForm(['id' => 'import_ead', 'class' => 'form'])