diff --git a/local/config/vufind/config.ini b/local/config/vufind/config.ini index 957a30a890c717cb09e24cb30bd825ae57358291..75b42dda3bbe6365284cb221113b7a80809160dd 100644 --- a/local/config/vufind/config.ini +++ b/local/config/vufind/config.ini @@ -1231,6 +1231,19 @@ max_tag_length = 64 ; take general format field of Solr index. If false it takes the format fields ; with index extension defined above. ;generalFormats = true ;for ubl & htwk it should be true + +; This section configures the form for patrdon driven acquisition suggestions. +;[Acquisition] +; Email address to receive the acquisition suggestions +;to = erwerbungsservice@ub.uni-leipzig.de +; Email address to be placed as sender if the patrons email address is unknown +;from_unknown = katalog@ub.uni-leipzig.de +; Email subject +;subject_acquisition = "Ihr Auftrag: %s, %s" +; Subjects that are shown in a dropdown menu on the acquisition form (the values will +; be translated in the frontend and the email-templates, so make sure you have the +; translations in your language files) +;nepcategories = nep_misc, nep_bio, nep_geo, nep_hist, nep_art, nep_ling, nep_math, nep_med, nep_mus, nep_nat, nep_paed, nep_phil, nep_pol, nep_psy, nep_jur, nep_soz, nep_sport, nep_vet, nep_theo, nep_ethno, nep_wiwi ; ***************** ; * EOF finc ; ***************** diff --git a/local/languages/de.ini b/local/languages/de.ini index b58150081b70812dd392a1ea9d37e438a6c68b7e..a651c0aae9d4085a8455cce7adcf0ad6d8c12835 100644 --- a/local/languages/de.ini +++ b/local/languages/de.ini @@ -1772,7 +1772,7 @@ nep_art = "Kunst" nep_ling = "Literatur- und Sprachwissenschaft" nep_math = "Mathematik, Informatik" nep_med = "Medizin" -nep_mus = "MusiK" +nep_mus = "Musik" nep_nat = "Naturwissenschaften, Chemie, Physik, Technik" nep_paed = "Pädagogik" nep_phil = "Philosophie" @@ -1784,6 +1784,7 @@ nep_sport = "Sport" nep_vet = "Tiermedizin" nep_theo = "Theologie" nep_ethno = "Volks- und Völkerkunde" +nep_wiwi = "Wirtschaftswissenschaft" Category = "Fachgebiet" Check interlibrary loans = "Fernleihe prüfen" @@ -1819,5 +1820,17 @@ history = Suchverlauf renew_item_maximum = "There is a maximum of three renewals allowed." guser_dunning_process = "User account is blocked due to a dunning process" -################### finc-spezifisch inzugefuegt ########################## -p. = S. \ No newline at end of file +################### finc-spezifisch hinzugefuegt ########################## +p. = S. +Suggestions for acquisition = Erwerbungsvorschlag +Your acquisition proposal = Ihr Erwerbungsvorschlag +Subject area = Fachgebiet +Please select a subject area = Bitte wählen Sie ein Fachgebiet +Please give reasons for your suggestion = Bitte begründen Sie Ihren Vorschlag +Please send only one form per acquisition proposal. = Bitte senden Sie pro Formular nur einen Erwerbungsvorschlag. +acquisition_success = Ihr Erwerbungsvorschlag wurde erfolgreich gesendet. +note_mandatory_fields = Anmerkung: Mit einem * markierte Felder müssen ausgefüllt werden. +Reasons for suggestion not be blank = Bitte geben Sie eine Begründung an. +Proposal for acquisition should not be blank = Bitte geben Sie einen Erwerbungsvorschlag an. +Subject area should not be blank = Bitte geben Sie ein Fachgebiet an. +acquisition_success = Ihr Erwerbungsvorschlag wurde erfolgreich gesendet. \ No newline at end of file diff --git a/local/languages/en.ini b/local/languages/en.ini index e29e8218f402a95beb73b6ead18b91cde5f11149..d6e6fedc5f7ceb673e07b693931c10eca952a869 100644 --- a/local/languages/en.ini +++ b/local/languages/en.ini @@ -690,6 +690,7 @@ nep_sport = "Sport science" nep_vet = "Veterinary medicine" nep_theo = "Theology" nep_ethno = "Ethnology" +nep_wiwi = "Economics" Category = "Subject" @@ -1764,4 +1765,16 @@ Please purchase = Please purchase ################### finc-spezifisch hinzugefuegt ########################## -p. = p. \ No newline at end of file +p. = p. +Suggestions for acquisition = Suggestions for acquisition +Your acquisition proposal = Your acquisition proposal +Subject area = Subject area +Please select a subject area = Please select a subject area +Please give reasons for your suggestion = Please give reasons for your suggestion +Please send only one form per acquisition proposal. = Please send only one form per acquisition proposal. +acquisition_success = Your proposal for acquisition has been sent successfully. +note_mandatory_fields = Please note: All fields marked with an asterik * are required. +Reasons for suggestion not be blank = Reasons for suggestion not be blank +Proposal for acquisition should not be blank = Proposal for acquisition should not be blank +Subject area should not be blank = Subject area should not be blank +acquisition_success = Your proposal for acquisition has been sent successfully. \ No newline at end of file diff --git a/module/finc/config/module.config.php b/module/finc/config/module.config.php index 29a34c75af67f92e7f6415f990e1c904ecdbe725..ed86e87b651a939919d222ac93bc90508081b396 100644 --- a/module/finc/config/module.config.php +++ b/module/finc/config/module.config.php @@ -2,6 +2,11 @@ namespace finc\Module\Configuration; $config = [ + 'controllers' => [ + 'invokables' => [ + 'my-research' => 'finc\Controller\MyResearchController', + ], + ], 'vufind' => [ 'plugin_managers' => [ 'ils_driver' => [ @@ -85,4 +90,25 @@ $config = [ ], ]; +// Define static routes -- Controller/Action strings +$staticRoutes = [ + 'MyResearch/Acquisition' +]; + +// Build static routes +foreach ($staticRoutes as $route) { + list($controller, $action) = explode('/', $route); + $routeName = str_replace('/', '-', strtolower($route)); + $config['router']['routes'][$routeName] = [ + 'type' => 'Zend\Mvc\Router\Http\Literal', + 'options' => [ + 'route' => '/' . $route, + 'defaults' => [ + 'controller' => $controller, + 'action' => $action, + ] + ] + ]; +} + return $config; diff --git a/module/finc/src/finc/Controller/MyResearchController.php b/module/finc/src/finc/Controller/MyResearchController.php new file mode 100644 index 0000000000000000000000000000000000000000..1d462244a658bf73333f3ea08aff27d6c15c0091 --- /dev/null +++ b/module/finc/src/finc/Controller/MyResearchController.php @@ -0,0 +1,217 @@ +<?php +/** + * MyResearch Controller + * + * PHP version 5 + * + * Copyright (C) Villanova University 2010. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @category VuFind2 + * @package Controller + * @author Demian Katz <demian.katz@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org Main Site + */ +namespace finc\Controller; + +use Zend\Validator\StringLength, + Zend\I18n\Validator\Int, + finc\Mailer\Mailer; + +/** + * Controller for the acqusition area. + * + * @category VuFind2 + * @package Controller + * @author Demian Katz <demian.katz@villanova.edu> + * @author Gregor Gawol <gawol@ub.uni-leipzig.de> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org Main Site + */ +class MyResearchController extends \VuFind\Controller\MyResearchController +{ + + /** + * Subjects + * + * @var array + */ + private $_subjectlist = []; + + /** + * Returns the subject list generated by config setting in Acquisition section. + * Rebuilds the subject list if it's empty. + * + * @return array + */ + private function _getSubjectList() + { + + if (count($this->_subjectlist) <= 0) { + $this->_subjectlist = explode( + ",", + (isset($this->getConfig()->Acquisition->nepcategories) + ? $this->getConfig()->Acquisition->nepcategories : '') + ); + + foreach ($this->_subjectlist as $key => $subject) { + // trim subject to avoid translation errors with preceding/trailing + // whitespaces + $this->_subjectlist[$key] = trim($subject); + } + } + + return $this->_subjectlist; + } + + /** + * Send a acquisition proposal + * + * @return mixed + */ + public function acquisitionAction() + { + // Force login: + $user = $this->getUser(); + if (!$user) { + return $this->forceLogin(); + } + + // Process save action if necessary: + if ($this->formWasSubmitted('submit')) { + return $this->processAcquisition($user); + } + + return $this->createViewModel( + [ + 'subjectlist' => $this->_getSubjectList() + ] + ); + } + + /** + * Helper function acquisitionAction + * + * @param \VuFind\Db\Row\User $user logged in user + * + * @return \Zend\View\Model\ViewModel + * @throws \VuFind\Exception\Mail + */ + protected function processAcquisition($user) + { + $validatorAlnum = new Int(); + $validatorString = new StringLength(['min' => 1]); + $valueArr = []; + + $subject = $this->params()->fromPost('subject'); + $valueArr['subject'] = $subject; + $proposal = $this->params()->fromPost('proposal'); + $valueArr['proposal'] = $proposal; + $reasons = $this->params()->fromPost('reasons'); + $valueArr['reasons'] = $reasons; + $error = false; + + if ($validatorAlnum->isValid($subject)) { + $this->flashMessenger()->setNamespace('error') + ->addMessage('Subject area should not be blank'); + $error = true; + } + if (!$validatorString->isValid($proposal)) { + $this->flashMessenger()->setNamespace('error') + ->addMessage('Reasons for suggestion not be blank'); + $error = true; + } + if (!$validatorString->isValid($reasons)) { + $this->flashMessenger()->setNamespace('error') + ->addMessage('Proposal for acquisition should not be blank'); + $error = true; + } + + if (!$error) { + // send email + try { + $config = $this->getConfig(); + $renderer = $this->getViewRenderer(); + // Custom template for emails (html-only) + $message_html = $renderer->render( + 'Email/acquisition-html.phtml', + [ + 'user' => $user, + 'subject' => $this->translate($subject), + 'proposal' => $proposal, + 'reasons' => $reasons, + 'time' => date('d.m.Y H:i') + ] + ); + // Custom template for emails (text-only) + $message_text = $renderer->render( + 'Email/acquisition-text.phtml', + [ + 'user' => $user, + 'subject' => $this->translate($subject), + 'proposal' => $proposal, + 'reasons' => $reasons, + 'time' => date('d.m.Y H:i') + ] + ); + $subject = ( + isset($config->Acquisition->subject_acquisition) + ? sprintf( + $config->Acquisition->subject_acquisition, + $this->translate($subject), $user->username + ) + : $this->translate('Suggestions for acquisition') + ); + $from_unknown = (isset($config->Acquisition->from_unknown) + ? $config->Acquisition->from_unknown : ''); + $from = (isset($user->email) + ? $user->email : $from_unknown); + $to = (isset($config->Acquisition->to) + ? $config->Acquisition->to : ''); + $mailer = new Mailer( + $this->getServiceLocator() + ->get('VuFind\Mailer')->getTransport() + ); + + $reply_to = $from; + $reply_to_name = $user->firstname . ' ' . $user->lastname; + + $mailer->sendTextHtml( + $to, + $from, + $reply_to, + $reply_to_name, + $subject, + $message_html, + $message_text + ); + $this->flashMessenger()->setNamespace('info') + ->addMessage('acquisition_success'); + } catch (MailException $e) { + $this->flashMessenger()->setNamespace('error') + ->addMessage($e->getMessage()); + } + } + + return $this->createViewModel( + [ + 'subjectlist' => $this->_getSubjectList(), + 'values' => $valueArr + ] + ); + } + +} diff --git a/module/finc/src/finc/Mailer/Mailer.php b/module/finc/src/finc/Mailer/Mailer.php new file mode 100644 index 0000000000000000000000000000000000000000..451c448c7ad50e79acf7cb0b82379fc733381b1a --- /dev/null +++ b/module/finc/src/finc/Mailer/Mailer.php @@ -0,0 +1,122 @@ +<?php +/** + * VuFind Mailer Class + * + * PHP version 5 + * + * Copyright (C) Villanova University 2009. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * @category VuFind2 + * @package Mailer + * @author Demian Katz <demian.katz@villanova.edu> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org/wiki/vufind2:developer_manual Wiki + */ +namespace finc\Mailer; +use VuFind\Exception\Mail as MailException, + Zend\Mail\Message, + Zend\Mime\Message as MimeMessage, + Zend\Mime\Part as MimePart, + Zend\Mime as Mime; + +/** + * VuFind Mailer Class + * + * @category VuFind2 + * @package Mailer + * @author Demian Katz <demian.katz@villanova.edu> + * @author Gregor Gawol <gawol@ub.uni-leipzig.de> + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link http://vufind.org/wiki/vufind2:developer_manual Wiki + */ +class Mailer extends \VuFind\Mailer\Mailer +{ + /** + * Get a blank html email message object. + * + * @return Message + */ + public function getNewTextHtmlMessage() + { + $message = new Message(); + $message->setEncoding('UTF-8'); + return $message; + } + + /** + * Send an email message. + * + * @param string $to Recipient email address + * @param string $from Sender email address + * @param string $reply reply email address + * @param string $subject Subject line for message + * @param string $body Message body + * + * @throws MailException + * @return void + */ + public function sendTextHtml($to, $from, $reply, $reply_name, $subject, $body_html, $body_text) + { + // Validate sender and recipient + $validator = new \Zend\Validator\EmailAddress(); + if (!$validator->isValid($to)) { + throw new MailException('Invalid Recipient Email Address'); + } + if (!$validator->isValid($from)) { + throw new MailException('Invalid Sender Email Address'); + } + if (!$validator->isValid($reply)) { + throw new MailException('Invalid Reply Email Address'); + } + + // Convert all exceptions thrown by mailer into MailException objects: + try { + // Send message + $htmlPart = new MimePart($body_html); + $htmlPart->type = 'text/html'; + $htmlPart->charset = 'UTF-8'; + $textPart = new MimePart($body_text); + $textPart->type = 'text/plain'; + $textPart->charset = 'UTF-8'; + $body = new MimeMessage(); + $body->addPart($textPart); + $body->addPart($htmlPart); + + $alternativePart = new MimePart($body->generateMessage()); + $alternativePart->type = 'multipart/alternative'; + $alternativePart->boundary = $body->getMime()->boundary(); + $alternativePart->charset = 'utf-8'; + + $mimeBody = new MimeMessage(); + $mimeBody->addPart($alternativePart); + + $reply_to = $reply_name . '<' . $reply . '>'; + + $message = $this->getNewTextHtmlMessage() + ->addFrom($from) + ->addTo($to) + ->addReplyTo($reply_to) + ->setBody($mimeBody) + ->setSubject($subject); + $message->getHeaders() + ->get('content-type') + ->setType('multipart/alternative'); + $this->getTransport()->send($message); + } catch (\Exception $e) { + throw new MailException($e->getMessage()); + } + } +} \ No newline at end of file diff --git a/themes/finc/templates/Email/acquisition-html.phtml b/themes/finc/templates/Email/acquisition-html.phtml new file mode 100644 index 0000000000000000000000000000000000000000..0bb9d0484071ae4d67f578d3a3c0c2ef170ba3ef --- /dev/null +++ b/themes/finc/templates/Email/acquisition-html.phtml @@ -0,0 +1,38 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>Erwerbungsvorschlag</title> +</head> +<body style="font-family: Arial, Verdana, sans-serif;"> +<h2 style="padding:5px 0;">Erwerbungsvorschlag</h2> +<table width="800" border="0"> + <tr valign="top"> + <td width="390"> + Name: <strong><?=$user->lastname ?>, <?=$user->firstname ?></strong><br /> + Lesekarte-Nr.: <strong><?=$user->username ?></strong><br /> + Email: <a href="mailto:<?=$user->email ?>"><?=$user->email ?></a><br /> + <? /*if ($user->group): ?>Benutzergruppe: <?=$user->group ?><? endif;*/ ?> + </td> + <td width="20"> </td> + <td width="390"> + hat folgenden Titel zur Erwerbung empfohlen:<br /> + <br /> + <strong><?=$proposal ?></strong><br /> + <br /> + Begründung für Empfehlung: + <br /><br /> + <strong><?=$reasons ?></strong> + <br /><br /><br /> + für das Fachgebiet: <strong><?=$subject ?></strong><br /> + <br /> + </td> + </tr> + <tr valign="top"> + <td width="800" colspan="3"> + Zeitpunkt der Bestellung: <?=$time ?> + </td> + </tr> +</table> +</body> +</html> diff --git a/themes/finc/templates/Email/acquisition-text.phtml b/themes/finc/templates/Email/acquisition-text.phtml new file mode 100644 index 0000000000000000000000000000000000000000..5131d7a34101540bb05f5e70f91d472c8b72cf1c --- /dev/null +++ b/themes/finc/templates/Email/acquisition-text.phtml @@ -0,0 +1,23 @@ + +== Erwerbungsvorschlag == + +Der Benutzer: <?=$user->lastname ?>, <?=$user->firstname ?> + +Benutzerkarte: <?=$user->username ?> + +E-Mail-Adresse: <?=$user->email ?> + + +hat folgenden Titel zur Erwerbung empfohlen: + +<?=$proposal ?> + + +Begründung für Empfehlung: + +<?=$reasons ?> + + +für den Fachbereich: <?=$subject ?> + +<? if ($time): ?>Zeitpunkt: <?=$time ?><? endif; ?> diff --git a/themes/finc/templates/footer.phtml b/themes/finc/templates/footer.phtml new file mode 100644 index 0000000000000000000000000000000000000000..1034a24248c6adf6c11a9a6cb36eba3a72e614e8 --- /dev/null +++ b/themes/finc/templates/footer.phtml @@ -0,0 +1,28 @@ +<hr/> +<div class="row"> + <div class="col-sm-4"> + <p><strong><?=$this->transEsc('Search Options')?></strong></p> + <ul> + <li><a href="<?=$this->url('search-history')?>"><?=$this->transEsc('Search History')?></a></li> + <li><a href="<?=$this->url('search-advanced')?>"><?=$this->transEsc('Advanced Search')?></a></li> + </ul> + </div> + <div class="col-sm-4"> + <p><strong><?=$this->transEsc('Find More')?></strong></p> + <ul> + <li><a href="<?=$this->url('browse-home')?>"><?=$this->transEsc('Browse the Catalog')?></a></li> + <li><a href="<?=$this->url('alphabrowse-home')?>"><?=$this->transEsc('Browse Alphabetically')?></a></li> + <li><a href="<?=$this->url('search-reserves')?>"><?=$this->transEsc('Course Reserves')?></a></li> + <li><a href="<?=$this->url('search-newitem')?>"><?=$this->transEsc('New Items')?></a></li> + <li><a href="<?=$this->url('myresearch-acquisition')?>"><?=$this->transEsc('Suggestions for acquisition')?></a></li> + </ul> + </div> + <div class="col-sm-4"> + <p><strong><?=$this->transEsc('Need Help?')?></strong></p> + <ul> + <li><a href="<?=$this->url('help-home')?>?topic=search" class="help-link" title="<?=$this->transEsc('Search Tips')?>"><?=$this->transEsc('Search Tips')?></a></li> + <li><a href="#"><?=$this->transEsc('Ask a Librarian')?></a></li> + <li><a href="#"><?=$this->transEsc('FAQs')?></a></li> + </ul> + </div> +</div> diff --git a/themes/finc/templates/myresearch/acquisition.phtml b/themes/finc/templates/myresearch/acquisition.phtml new file mode 100644 index 0000000000000000000000000000000000000000..789b60884350de5452b43f568500c3723f3ddcf9 --- /dev/null +++ b/themes/finc/templates/myresearch/acquisition.phtml @@ -0,0 +1,66 @@ +<? +// Set up page title: +$this->headTitle($this->translate('Suggestions for acquisition')); + +// Set up breadcrumbs: +$this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('Suggestions for acquisition') . '</li>'; +?> + +<div class="row"> + <div class="<?=$this->layoutClass('mainbody')?>"> + <h2><?=$this->transEsc('Your acquisition proposal') ?></h2> + <?=$this->flashmessages() ?> + <form class="form-horizontal" method="post" action="" name="acquisitionForm"> + <h6><?=$this->transEsc('Please send only one form per acquisition proposal.') ?></h6> + <div class="form-group"> + <label class="col-sm-3 control-label" for="acquisition_subject"><?=$this->transEsc('Subject area') ?><span class="required">*</span></label> + <div class="col-sm-9"> + <select name="subject" class="form-control"> + <option value="-1"><?=$this->transEsc('Please select a subject area') ?></option> + <? if (isset($subjectlist) && is_array($subjectlist)): ?> + <? foreach ($subjectlist as $value): ?> + <option value="<?=$value?>" <? if (isset($values['subject']) && ($values['subject'] != '-1') && ($values['subject'] == $value)): ?> selected="selected"<? endif; ?>><?=$this->transEsc($value)?></option> + <? endforeach; ?> + <? endif; ?> + </select> + <? /*if (isset($error) && in_array('subjectlist', $error)): ?> + <span class="error-form"><?=$this->transEsc('Subject area should not be blank') ?></span> + <? endif;*/ ?> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label" for="acquistion_reasons"><?=$this->transEsc('Please give reasons for your suggestion') ?><span class="required">*</span></label> + <div class="col-sm-9"> + <textarea id="acquisition_reasons" type="text" cols="50" rows="5" name="reasons"><? if (isset($values['reasons']) && !empty($values['reasons'])): ?><?=$this->transEsc($values['reasons']) ?><? endif; ?></textarea> + <br /> + <? /*if (isset($error) && in_array('reasons', $error)): ?> + <span class="error-form"><?=$this->transEsc('Reasons for suggestion not be blank') ?></span> + <? endif;*/ ?> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label" for="acquistion_proposal"><?=$this->transEsc('Your acquisition proposal') ?><span class="required">*</span></label> + <div class="col-sm-9"> + <textarea id="acquisition_proposal" type="text" cols="50" rows="5" name="proposal"><? if (isset($values['proposal']) && !empty($values['proposal'])): ?><?=$this->transEsc($values['proposal']) ?><? endif; ?></textarea> + <br /> + <? /*if (isset($error) && in_array('proposal', $error)): ?> + <span class="error-form"><?=$this->transEsc('Proposal for acquisition should not be blank') ?></span> + <? endif;*/ ?> + </div> + </div> + <div class="form-group"> + <div class="col-sm-9 col-sm-offset-3"> + <input class="btn btn-primary" type="submit" name="submit" value="<?=$this->transEsc('Submit') ?>"/> + </div> + </div> + <div class="form-group"> + <div class="col-sm-9 col-sm-offset-3"> + <?=$this->transEsc('note_mandatory_fields') ?> + </div> + </div> + </form> + </div> + <div class="<?=$this->layoutClass('sidebar')?>"> + <?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => 'aquisition'))?> + </div> +</div> \ No newline at end of file