From: <gem...@li...> - 2011-09-19 16:29:30
|
Revision: 40 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=40&view=rev Author: matijsdejong Date: 2011-09-19 16:29:20 +0000 (Mon, 19 Sep 2011) Log Message: ----------- Started on #9 MailLog activity overview en #10 replacement for BrowseEditAction The results works for browsing, but misses a data cache as in BrowseEdit Updated the Marker object to allow changes later in the execution of the program Modified Paths: -------------- trunk/library/classes/Gems/Menu/MenuAbstract.php trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php trunk/library/classes/MUtil/Html/Marker.php trunk/library/classes/MUtil/Html/PagePanel.php trunk/library/classes/MUtil/Snippets/ModelSnippetAbstract.php trunk/library/classes/MUtil/Snippets/ModelTableSnippetAbstract.php trunk/library/classes/MUtil/Snippets/SnippetAbstract.php trunk/library/languages/default-en.mo trunk/library/languages/default-en.po trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Added Paths: ----------- trunk/library/classes/Gems/Controller/ModelSnippetActionAbstract.php trunk/library/classes/Gems/Default/MailLogAction.php trunk/library/classes/MUtil/Controller/ModelSnippetActionAbstract.php trunk/library/controllers/MailLogController.php trunk/library/snippets/Generic/ trunk/library/snippets/Generic/AutosearchForm.php trunk/library/snippets/Generic/ModelTableSnippet.php Added: trunk/library/classes/Gems/Controller/ModelSnippetActionAbstract.php =================================================================== --- trunk/library/classes/Gems/Controller/ModelSnippetActionAbstract.php (rev 0) +++ trunk/library/classes/Gems/Controller/ModelSnippetActionAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -0,0 +1,97 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Short description of file + * + * @package Gems + * @subpackage Controller + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * Short description for class + * + * Long description for class (if any)... + * + * @package Gems + * @subpackage Controller + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.4.2 + */ +abstract class Gems_Controller_ModelSnippetActionAbstract extends MUtil_Controller_ModelSnippetActionAbstract +{ + /** + * + * @var GemsEscort + */ + public $escort; + + /** + * The parameters used for the autofilter action. + * + * @var array Mixed key => value array for snippet initialization + */ + protected $autofilterParameters = array( + 'browse' => true, + 'containingId' => 'autofilter_target', + 'keyboard' => true, + ); + + /** + * The snippets used for the autofilter action. + * + * @var mixed String or array of snippets name + */ + protected $autofilterSnippets = 'Generic_ModelTableSnippet'; + + /** + * The snippets used for the index action, minus those in autofilter + * + * @var mixed String or array of snippets name + */ + protected $indexSnippets = 'Generic_AutosearchForm'; + + /** + * Intializes the html component. + * + * @param boolean $reset Throws away any existing html output when true + * @return void + */ + public function initHtml($reset = false) + { + if (! $this->html) { + Gems_Html::init(); + } + + parent::initHtml($reset); + } +} Added: trunk/library/classes/Gems/Default/MailLogAction.php =================================================================== --- trunk/library/classes/Gems/Default/MailLogAction.php (rev 0) +++ trunk/library/classes/Gems/Default/MailLogAction.php 2011-09-19 16:29:20 UTC (rev 40) @@ -0,0 +1,89 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Short description of file + * + * @package Gems + * @subpackage Default + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * Short description for class + * + * Long description for class (if any)... + * + * @package Gems + * @subpackage Default + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.4 + */ +class Gems_Default_MailLogAction extends Gems_Controller_ModelSnippetActionAbstract +{ + /** + * Creates a model for getModel(). Called only for each new $action. + * + * The parameters allow you to easily adapt the model to the current action. The $detailed + * parameter was added, because the most common use of action is a split between detailed + * and summarized actions. + * + * @param boolean $detailed True when the current action is not in $summarizedActions. + * @param string $action The current action. + * @return MUtil_Model_ModelAbstract + */ + public function createModel($detailed, $action) + { + $model = new MUtil_Model_TableModel('gems__respondent_communications'); + + // $model->set('grco_id_to', 'label', $this->_('')); + // $model->set('grco_id_by', 'label', $this->_('')); + $model->set('grco_address', 'label', $this->_('To')); + $model->set('grco_sender', 'label', $this->_('From')); + $model->set('grco_topic', 'label', $this->_('Subject')); + $model->set('grco_created', 'label', $this->_('Date sent')); + // $model->set('', 'label', $this->_('')); + + return $model; + } + + public function indexAction() + { + $this->html->h3($this->_('Mail Activity Log')); + + $filter = array('grco_organization' => $this->escort->getCurrentOrganization()); + + $this->indexParameters['extraFilter'] = $filter; + $this->indexParameters['extraSort'] = array('grco_created' => SORT_DESC); + + parent::indexAction(); + } +} Modified: trunk/library/classes/Gems/Menu/MenuAbstract.php =================================================================== --- trunk/library/classes/Gems/Menu/MenuAbstract.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/Gems/Menu/MenuAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -202,6 +202,9 @@ { $setup = $this->addContainer($label); + // MAIL ACTIVITY CONTROLLER + $setup->addBrowsePage($this->_('Activity'), 'pr.mail.log', 'mail-log'); + // MAIL Server CONTROLLER $page = $setup->addBrowsePage($this->_('Servers'), 'pr.mail.server', 'mail-server'); // $page->addAction($this->_('Test'), 'pr.mail.server.test', 'test')->addParameters(MUtil_Model::REQUEST_ID); Modified: trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php =================================================================== --- trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -3,7 +3,7 @@ /** * Copyright (c) 2011, Erasmus MC * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -14,7 +14,7 @@ * * Neither the name of Erasmus MC nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -25,8 +25,8 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * + * + * * @package Gems * @subpackage Snippets * @author Matijs de Jong <mj...@ma...> @@ -37,10 +37,10 @@ /** * Adds Gems specific display details and helper functions: - * + * * Items set are: * - Display class: 'browser' - * + * * Extra helpers are: * - Baseurl helper: $this->requestCache * - Keyboard access: $this->keyboard & getHtmlOutput() @@ -63,6 +63,12 @@ protected $class = 'browser'; /** + * + * @var string The id of a div that contains the table. + */ + protected $containingId; + + /** * Use keyboard to select row * * @var boolean @@ -96,6 +102,19 @@ protected $sortParamDesc = 'dsrt'; /** + * Add the paginator panel to the table. + * + * Only called when $this->browse is true. Overrule this function + * to define your own method. + * + * $param Zend_Paginator $paginator + */ + protected function addPaginator(MUtil_Html_TableElement $table, Zend_Paginator $paginator) + { + $table->tfrow()->pagePanel($paginator, $this->request, $this->translate, array('baseUrl' => $this->baseUrl)); + } + + /** * Should be called after answering the request to allow the Target * to check if all required registry values have been set correctly. * @@ -153,12 +172,16 @@ $table = parent::getHtmlOutput($view); $table->getOnEmpty()->class = 'centerAlign'; - if ($this->keyboard) { + if ($this->containingId || $this->keyboard) { $this->applyHtmlAttributes($table); - $div = MUtil_Html::create()->div(array('id' => 'keys_target'), $table); + $div = MUtil_Html::create()->div(array('id' => $this->containingId ? $this->containingId : 'keys_target'), $table); - return array($div, new Gems_JQuery_TableRowKeySelector($div)); + if ($this->keyboard) { + return array($div, new Gems_JQuery_TableRowKeySelector($div)); + } else { + return $div; + } } else { return $table; } Added: trunk/library/classes/MUtil/Controller/ModelSnippetActionAbstract.php =================================================================== --- trunk/library/classes/MUtil/Controller/ModelSnippetActionAbstract.php (rev 0) +++ trunk/library/classes/MUtil/Controller/ModelSnippetActionAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -0,0 +1,134 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * @package MUtil + * @subpackage Controller + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * Controller class with standard model and snippet based browse (index), IN THE NEAR FUTURE show, edit and delete actions. + * + * To change the behaviour of this class the prime method is changing the snippets used for an action. + * + * @package MUtil + * @subpackage Controller + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.4.2 + */ +abstract class MUtil_Controller_ModelSnippetActionAbstract extends MUtil_Controller_ModelActionAbstract +{ + /** + * The parameters used for the autofilter action. + * + * @var array Mixed key => value array for snippet initialization + */ + protected $autofilterParameters = array(); + + /** + * The snippets used for the autofilter action. + * + * @var mixed String or array of snippets name + */ + protected $autofilterSnippets = 'ModelTableSnippet'; + + /** + * The parameters used for the index action minus those in autofilter. + * + * @var array Mixed key => value array for snippet initialization + */ + protected $indexParameters = array(); + + /** + * The snippets used for the index action, minus those in autofilter + * + * @var mixed String or array of snippets name + */ + protected $indexSnippets = null; + + /** + * Set the action key in request + * + * Use this when an action is a Ajax action for retrieving + * information for use within the screen of another action + * + * @param string $alias + */ + protected function aliasAction($alias) + { + $request = $this->getRequest(); + $request->setActionName($alias); + $request->setParam($request->getActionKey(), $alias); + } + + /** + * The automatically filtered result + */ + public function autofilterAction($resetMvc = true) + { + // MUtil_Model::$verbose = true; + + // We do not need to return the layout, just the above table + if ($resetMvc) { + // Make sure all links are generated as if the current request was index. + $this->aliasAction('index'); + + Zend_Layout::resetMvcInstance(); + } + + if ($this->autofilterSnippets) { + $this->autofilterParameters['model'] = $this->getModel(); + $this->autofilterParameters['request'] = $this->getRequest(); + + $this->addSnippets($this->autofilterSnippets, $this->autofilterParameters); + } + } + + /** + * Action for showing a browse page, optional with + */ + public function indexAction() + { + if ($this->indexSnippets) { + $this->indexParameters = $this->indexParameters + $this->autofilterParameters; + + $this->indexParameters['model'] = $this->getModel(); + $this->indexParameters['request'] = $this->getRequest(); + + $this->addSnippets($this->indexSnippets, $this->indexParameters); + } + + $this->autofilterAction(false); + } + +} Modified: trunk/library/classes/MUtil/Html/Marker.php =================================================================== --- trunk/library/classes/MUtil/Html/Marker.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/MUtil/Html/Marker.php 2011-09-19 16:29:20 UTC (rev 40) @@ -1,33 +1,33 @@ <?php - -/** - * Copyright (c) 2011, Erasmus MC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Erasmus MC nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * @version $Id$ + * + * @version $Id$ * @package MUtil * @subpackage Html * @copyright Copyright (c) 2011 Erasmus MC @@ -39,7 +39,7 @@ * @subpackage Html * @copyright Copyright (c) 2011 Erasmus MC * @license New BSD License - */ + */ class MUtil_Html_Marker { const TAG_MARKER = "\0"; @@ -52,23 +52,14 @@ public function __construct($searches, $tag, $encoding, $attributes = 'class="marked"') { - $this->_encoding = $encoding; + $this->setEncoding($encoding); $this->_tag = $tag; if ($attributes) { $this->_attributes = ' ' . trim($attributes) . ' '; } - // Do not use the $tag itself here: str_replace will then replace - // the text of tag itself on later finds - $topen = '<' . self::TAG_MARKER . '>'; - $tclose = '</' . self::TAG_MARKER . '>'; - - foreach ((array) $searches as $search) { - $searchHtml = $this->escape($search); - $this->_searches[] = $searchHtml; - $this->_replaces[] = $topen . $searchHtml . $tclose; - } + $this->_searches = (array) $searches; } private function _fillTags($text) @@ -91,6 +82,23 @@ public function mark($value) { + if (! $this->_replaces) { + // Late setting of search & replaces + $searches = $this->_searches; + $this->_searches = array(); + + // Do not use the $tag itself here: str_replace will then replace + // the text of tag itself on later finds + $topen = '<' . self::TAG_MARKER . '>'; + $tclose = '</' . self::TAG_MARKER . '>'; + + foreach ((array) $searches as $search) { + $searchHtml = $this->escape($search); + $this->_searches[] = $searchHtml; + $this->_replaces[] = $topen . $searchHtml . $tclose; + } + } + if ($value instanceof MUtil_Html_Raw) { $values = array(); // Split into HTML Elements @@ -128,5 +136,33 @@ return new MUtil_Html_Raw($this->_fillTags($valueTemp)); } } + + /** + * Function to allow later setting of encoding. + * + * @see htmlspecialchars() + * + * @param string $encoding Encoding htmlspecialchars + * @return MUtil_Html_Marker (continuation pattern) + */ + public function setEncoding($encoding) + { + $this->_encoding = $encoding; + + return $this; + } + + /** + * Function to allow later setting of tag name. + * + * @param string $tagName Html element tag name + * @return MUtil_Html_Marker (continuation pattern) + */ + public function setTagName($tagName) + { + $this->_tag = $tagName; + + return $this; + } } Modified: trunk/library/classes/MUtil/Html/PagePanel.php =================================================================== --- trunk/library/classes/MUtil/Html/PagePanel.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/MUtil/Html/PagePanel.php 2011-09-19 16:29:20 UTC (rev 40) @@ -1,33 +1,33 @@ <?php - -/** - * Copyright (c) 2011, Erasmus MC - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Erasmus MC nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + class MUtil_Html_PagePanel extends MUtil_Html_Sequence implements MUtil_Lazy_Procrastinator { protected $_baseUrl = array(); @@ -401,9 +401,9 @@ return new MUtil_Html_PageRangeRenderer($this, $args); } - public function setBaseUrl(array $baseUrl) + public function setBaseUrl(array $baseUrl = null) { - $this->_baseUrl = $baseUrl; + $this->_baseUrl = (array) $baseUrl; return $this; } Modified: trunk/library/classes/MUtil/Snippets/ModelSnippetAbstract.php =================================================================== --- trunk/library/classes/MUtil/Snippets/ModelSnippetAbstract.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/MUtil/Snippets/ModelSnippetAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -3,7 +3,7 @@ /** * Copyright (c) 2011, Erasmus MC * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -14,7 +14,7 @@ * * Neither the name of Erasmus MC nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -25,8 +25,8 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * + * + * * @package MUtil * @subpackage Snippets * @author Matijs de Jong <mj...@ma...> @@ -55,7 +55,7 @@ * Set a fixed model filter. * * Leading _ means not overwritten by sources. - * + * * @var array */ protected $_fixedFilter; @@ -77,7 +77,28 @@ private $_model; /** + * Optional extra filter * + * @var array + */ + public $extraFilter; + + /** + * Optional extra sort(s) + * + * @var array + */ + public $extraSort; + + /** + * When true the post parameters are removed from the request while filtering + * + * @var boolean Should post variables be removed from the request? + */ + public $removePost = true; + + /** + * * @var Zend_Controller_Request_Abstract */ protected $request; @@ -154,9 +175,15 @@ if ($this->_fixedFilter) { $model->addFilter($this->_fixedFilter); } + if ($this->extraFilter) { + $model->addFilter($this->extraFilter); + } if ($this->_fixedSort) { $model->addSort($this->_fixedSort); } + if ($this->extraSort) { + $model->addSort($this->extraSort); + } } /** @@ -165,15 +192,15 @@ * @param MUtil_Model_ModelAbstract $model */ protected function processFilterAndSort(MUtil_Model_ModelAbstract $model) - { + { if ($this->request) { - $model->applyRequest($this->request); + $model->applyRequest($this->request, $this->removePost); } } /** - * Use this when overruling processFilterAndSort() - * + * Use this when overruling processFilterAndSort() + * * Overrule to implement snippet specific filtering and sorting. * * @param MUtil_Model_ModelAbstract $model Modified: trunk/library/classes/MUtil/Snippets/ModelTableSnippetAbstract.php =================================================================== --- trunk/library/classes/MUtil/Snippets/ModelTableSnippetAbstract.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/MUtil/Snippets/ModelTableSnippetAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -3,7 +3,7 @@ /** * Copyright (c) 2011, Erasmus MC * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -14,7 +14,7 @@ * * Neither the name of Erasmus MC nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -25,8 +25,8 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * + * + * * @package MUtil * @subpackage Snippets * @author Matijs de Jong <mj...@ma...> @@ -36,12 +36,12 @@ */ /** - * Displays multiple items in a model below each other in an Html table. - * + * Displays multiple items in a model below each other in an Html table. + * * To use this class either subclass or use the existing default ModelTableSnippet. * * @see ModelTableSnippet - * + * * @package MUtil * @subpackage Snippets * @copyright Copyright (c) 2011 Erasmus MC @@ -51,12 +51,18 @@ abstract class MUtil_Snippets_ModelTableSnippetAbstract extends MUtil_Snippets_ModelSnippetAbstract { /** + * + * @var MUtil_Html_Marker Class for marking text in the output + */ + protected $_marker; + + /** * Url parts added to each link in the resulting table - * + * * @var array */ public $baseUrl; - + /** * Sets pagination on or off. * @@ -65,6 +71,13 @@ public $browse = false; /** + * When true the post parameters are removed from the request while filtering + * + * @var boolean Should post variables be removed from the request? + */ + public $removePost = false; + + /** * Content to show when there are no rows. * * Null shows '…' @@ -93,6 +106,20 @@ } /** + * Add the paginator panel to the table. + * + * Only called when $this->browse is true. Overrule this function + * to define your own method. + * + * @param MUtil_Html_TableElement $table + * $param Zend_Paginator $paginator + */ + protected function addPaginator(MUtil_Html_TableElement $table, Zend_Paginator $paginator) + { + $table->tfrow()->pagePanel($paginator, $this->request, array('baseUrl' => $this->baseUrl)); + } + + /** * Creates from the model a MUtil_Html_TableElement that can display multiple items. * * Allows overruling @@ -116,7 +143,7 @@ return $bridge->getTable(); } - + /** * Create the snippets content * @@ -135,11 +162,51 @@ if ($this->browse) { $paginator = $model->loadPaginator(); $table->setRepeater($paginator); - $table->tfrow()->pagePanel($paginator, $this->request, array('baseUrl' => $this->baseUrl)); + $this->addPaginator($table, $paginator); } else { $table->setRepeater($model->loadRepeatable()); } return $table; } + + /** + * Overrule to implement snippet specific filtering and sorting. + * + * @param MUtil_Model_ModelAbstract $model + */ + protected function processFilterAndSort(MUtil_Model_ModelAbstract $model) + { + parent::processFilterAndSort($model); + + // Add generic text search filter and marker + $textKey = $model->getTextFilter(); + if ($searchText = $this->request->getParam($textKey)) { + // MUtil_Echo::r($textKey . '[' . $searchText . ']'); + $this->_marker = new MUtil_Html_Marker($model->getTextSearches($searchText), 'strong', 'xxUTF-8'); + + foreach ($model->getItemNames() as $name) { + if ($model->get($name, 'label')) { + $model->set($name, 'markCallback', array($this->_marker, 'mark')); + } + } + } + } + + /** + * Render a string that becomes part of the HtmlOutput of the view + * + * You should override either getHtmlOutput() or this function to generate output + * + * @param Zend_View_Abstract $view + * @return string Html output + */ + public function render(Zend_View_Abstract $view) + { + if ($this->_marker) { + $this->_marker->setEncoding($view->getEncoding()); + } + + return parent::render($view); + } } Modified: trunk/library/classes/MUtil/Snippets/SnippetAbstract.php =================================================================== --- trunk/library/classes/MUtil/Snippets/SnippetAbstract.php 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/classes/MUtil/Snippets/SnippetAbstract.php 2011-09-19 16:29:20 UTC (rev 40) @@ -3,7 +3,7 @@ /** * Copyright (c) 2011, Erasmus MC * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -14,7 +14,7 @@ * * Neither the name of Erasmus MC nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -25,8 +25,8 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * + * + * * @package MUtil * @subpackage Snippets * @author Matijs de Jong <mj...@ma...> @@ -36,7 +36,7 @@ */ /** - * An abstract class for building snippets. Sub classes should override at leist + * An abstract class for building snippets. Sub classes should override at least * getHtmlOutput(0 or render() to generate output. * * This class add's to the interface helper variables and functions for: @@ -59,7 +59,7 @@ * @var Zend_Controller_Action_Helper_FlashMessenger */ private $_messenger; - + /** * Attributes (e.g. class) for the main html element * @@ -77,11 +77,11 @@ /** * Variable to either keep or throw away the request data * not specified in the route. - * + * * @var boolean True then the route is reset */ public $resetRoute = false; - + /** * Set as this is a MUtil_Registry_TargetInterface * @@ -124,9 +124,9 @@ } /** - * Applies the $this=>attributes and $this->class snippet parameters to the + * Applies the $this=>attributes and $this->class snippet parameters to the * $html element. - * + * * @param MUtil_Html_HtmlElement $html Element to apply the snippet parameters to. */ protected function applyHtmlAttributes(MUtil_Html_HtmlElement $html) @@ -168,7 +168,7 @@ /** * Retrieves the messenger - * + * * @return Zend_Controller_Action_Helper_FlashMessenger */ protected function getMessenger() @@ -181,22 +181,22 @@ /** * When hasHtmlOutput() is false a snippet code user should check - * for a redirectRoute. Otherwise the redirect calling render() will + * for a redirectRoute. Otherwise the redirect calling render() will * execute the redirect. - * + * * This function should never return a value when the snippet does * not redirect. - * - * Also when hasHtmlOutput() is true this function should not be + * + * Also when hasHtmlOutput() is true this function should not be * called. - * + * * @see Zend_Controller_Action_Helper_Redirector - * + * * @return mixed Nothing or either an array or a string that is acceptable for Redector->gotoRoute() */ public function getRedirectRoute() { } - + /** * The place to check if the data set in the snippet is valid * to generate the snippet. @@ -235,9 +235,9 @@ /** * When there is a redirectRoute this function will execute it. - * + * * When hasHtmlOutput() is true this functions should not be called. - * + * * @see Zend_Controller_Action_Helper_Redirector */ public function redirectRoute() @@ -247,7 +247,7 @@ $router->gotoRouteAndExit($url, null, $this->resetRoute); } } - + /** * Render a string that becomes part of the HtmlOutput of the view * @@ -260,7 +260,7 @@ { if ($this->getRedirectRoute()) { $this->redirectRoute(); - + } else { $html = $this->getHtmlOutput($view); Copied: trunk/library/controllers/MailLogController.php (from rev 34, trunk/library/controllers/MailServerController.php) =================================================================== --- trunk/library/controllers/MailLogController.php (rev 0) +++ trunk/library/controllers/MailLogController.php 2011-09-19 16:29:20 UTC (rev 40) @@ -0,0 +1,47 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @package Gems + * @subpackage Default + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id$ + */ + +/** + * + * @package Gems + * @subpackage Default + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.4.2 + */ +class MailLogController extends Gems_Default_MailLogAction +{ +} Modified: trunk/library/languages/default-en.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-en.po =================================================================== --- trunk/library/languages/default-en.po 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/languages/default-en.po 2011-09-19 16:29:20 UTC (rev 40) @@ -2,9 +2,9 @@ msgstr "" "Project-Id-Version: Pulse EN\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-19 10:05+0100\n" +"POT-Creation-Date: 2011-09-19 18:18+0100\n" "PO-Revision-Date: \n" -"Last-Translator: Menno Dekker <men...@er...>\n" +"Last-Translator: Matijs de Jong <mj...@ma...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -473,56 +473,56 @@ msgid "No %s found" msgstr "No %s found" -#: classes/Gems/Controller/BrowseEditAction.php:634 +#: classes/Gems/Controller/BrowseEditAction.php:635 #, php-format msgid "No %s found." msgstr "No %s found." -#: classes/Gems/Controller/BrowseEditAction.php:749 +#: classes/Gems/Controller/BrowseEditAction.php:750 msgid "Are you sure?" msgstr "Are you sure?" -#: classes/Gems/Controller/BrowseEditAction.php:765 +#: classes/Gems/Controller/BrowseEditAction.php:766 msgid "Yes" msgstr "Yes" -#: classes/Gems/Controller/BrowseEditAction.php:766 +#: classes/Gems/Controller/BrowseEditAction.php:767 msgid "No" msgstr "No" -#: classes/Gems/Controller/BrowseEditAction.php:819 +#: classes/Gems/Controller/BrowseEditAction.php:820 #, php-format msgid "Unknown %s requested" msgstr "Unknown %s requested" -#: classes/Gems/Controller/BrowseEditAction.php:842 +#: classes/Gems/Controller/BrowseEditAction.php:843 #, php-format msgid "New %1$s..." msgstr "New %1$s..." -#: classes/Gems/Controller/BrowseEditAction.php:850 +#: classes/Gems/Controller/BrowseEditAction.php:851 msgid "Save" msgstr "Save" -#: classes/Gems/Controller/BrowseEditAction.php:886 +#: classes/Gems/Controller/BrowseEditAction.php:887 #, php-format msgid "%2$u %1$s saved" msgstr "%2$u %1$s saved" -#: classes/Gems/Controller/BrowseEditAction.php:889 +#: classes/Gems/Controller/BrowseEditAction.php:890 msgid "No changes to save." msgstr "No changes to save." -#: classes/Gems/Controller/BrowseEditAction.php:898 +#: classes/Gems/Controller/BrowseEditAction.php:899 msgid "Input error! No changes saved!" msgstr "Input error! No changes saved!" -#: classes/Gems/Controller/BrowseEditAction.php:926 +#: classes/Gems/Controller/BrowseEditAction.php:927 #, php-format msgid "Show %s" msgstr "Show %s" -#: classes/Gems/Controller/BrowseEditAction.php:933 +#: classes/Gems/Controller/BrowseEditAction.php:934 #, php-format msgid "Unknown %s." msgstr "Unknown %s." @@ -629,10 +629,13 @@ msgstr "The number zero and the letter O are treated as the same; the same goes for the number one and the letter L." #: classes/Gems/Default/ConsentAction.php:66 +#: classes/Gems/Default/CountryAction.php:67 +#: classes/Gems/Default/GroupAction.php:87 msgid "Description" msgstr "Description" #: classes/Gems/Default/ConsentAction.php:68 +#: classes/Gems/Default/DatabaseAction.php:155 msgid "Order" msgstr "Order" @@ -751,7 +754,6 @@ msgstr "Group" #: classes/Gems/Default/DatabaseAction.php:156 -#: classes/Gems/Default/OrganizationAction.php:116 msgid "Location" msgstr "Location" @@ -1043,7 +1045,6 @@ msgstr "Role" #: classes/Gems/Default/GroupAction.php:91 -#: classes/Gems/Default/OrganizationAction.php:132 msgid "Active" msgstr "Active" @@ -1224,6 +1225,7 @@ msgstr "Log maintenance" #: classes/Gems/Default/MailAction.php:61 +#: classes/Gems/Default/MailLogAction.php:71 msgid "Subject" msgstr "Subject" @@ -1241,6 +1243,22 @@ msgid "Email templates" msgstr "Email templates" +#: classes/Gems/Default/MailLogAction.php:69 +msgid "To" +msgstr "To" + +#: classes/Gems/Default/MailLogAction.php:70 +msgid "From" +msgstr "From" + +#: classes/Gems/Default/MailLogAction.php:72 +msgid "Date sent" +msgstr "Date sent" + +#: classes/Gems/Default/MailLogAction.php:80 +msgid "Mail Activity Log" +msgstr "Mail Activity Log" + #: classes/Gems/Default/MailServerAction.php:68 msgid "From address [part]" msgstr "From address [part]" @@ -1282,8 +1300,6 @@ msgstr "User ID" #: classes/Gems/Default/MailServerAction.php:90 -#: classes/Gems/Default/OptionAction.php:107 -#: classes/Gems/Default/OptionAction.php:112 msgid "Repeat password" msgstr "Repeat password" @@ -1303,10 +1319,13 @@ #: classes/Gems/Default/OptionAction.php:73 #: classes/Gems/Default/OrganizationAction.php:128 +#: classes/Gems/Default/RespondentAction.php:164 +#: classes/Gems/Default/StaffAction.php:192 msgid "Language" msgstr "Language" #: classes/Gems/Default/OptionAction.php:74 +#: classes/Gems/Default/StaffAction.php:193 msgid "Logout on survey" msgstr "Logout on survey" @@ -1371,6 +1390,7 @@ msgstr "Invalid organization." #: classes/Gems/Default/OrganizationAction.php:117 +#: classes/Gems/Default/SourceAction.php:143 msgid "Url" msgstr "Url" @@ -1533,13 +1553,6 @@ msgid "By" msgstr "By" -#: classes/Gems/Default/ProjectSurveysAction.php:69 -#: classes/Gems/Default/ProjectTracksAction.php:67 -#: classes/Gems/Default/SurveyAction.php:193 -#: classes/Gems/Default/TrackAction.php:329 -msgid "From" -msgstr "From" - #: classes/Gems/Default/ProjectSurveysAction.php:70 #: classes/Gems/Default/ProjectTracksAction.php:68 #: classes/Gems/Default/SurveyAction.php:195 @@ -1583,7 +1596,6 @@ msgstr "Survey not specified." #: classes/Gems/Default/ProjectTracksAction.php:120 -#: classes/Gems/Default/TrackActionAbstract.php:479 #, php-format msgid "Track %s does not exist." msgstr "Track %s does not exist." @@ -2282,10 +2294,12 @@ msgstr "Free text" #: classes/Gems/Default/TrackFieldsAction.php:114 +#: classes/Gems/Default/TrackMaintenanceAction.php:211 msgid "Values" msgstr "Values" #: classes/Gems/Default/TrackFieldsAction.php:116 +#: classes/Gems/Default/TrackMaintenanceAction.php:213 msgid "Required" msgstr "Required" @@ -2431,11 +2445,6 @@ msgid "Method" msgstr "Method" -#: classes/Gems/Email/MultiMailForm.php:105 -#: classes/Gems/Email/OneMailForm.php:87 -msgid "To" -msgstr "To" - #: classes/Gems/Email/MultiMailForm.php:126 msgid "Survey has been taken." msgstr "Survey has been taken." @@ -2505,26 +2514,30 @@ msgstr "Some help for this export" #: classes/Gems/Menu/MenuAbstract.php:206 +msgid "Activity" +msgstr "Activity" + +#: classes/Gems/Menu/MenuAbstract.php:209 msgid "Servers" msgstr "Servers" -#: classes/Gems/Menu/MenuAbstract.php:210 +#: classes/Gems/Menu/MenuAbstract.php:213 msgid "Templates" msgstr "Templates" -#: classes/Gems/Menu/MenuAbstract.php:243 +#: classes/Gems/Menu/MenuAbstract.php:246 msgid "By period" msgstr "By period" -#: classes/Gems/Menu/MenuAbstract.php:244 +#: classes/Gems/Menu/MenuAbstract.php:247 msgid "By token" msgstr "By token" -#: classes/Gems/Menu/MenuAbstract.php:245 +#: classes/Gems/Menu/MenuAbstract.php:248 msgid "By respondent" msgstr "By respondent" -#: classes/Gems/Menu/MenuAbstract.php:249 +#: classes/Gems/Menu/MenuAbstract.php:252 msgid "Bulk mail" msgstr "Bulk mail" @@ -3496,9 +3509,8 @@ msgid "This track can be assigned since %s." msgstr "This track can be assigned since %s." -#: views/scripts/index/login.phtml:12 -msgid "The Pulse software was made possible thanks to support from " -msgstr "The Pulse software was made possible thanks to support from " +#~ msgid "The Pulse software was made possible thanks to support from " +#~ msgstr "The Pulse software was made possible thanks to support from " #~ msgid "Email" #~ msgstr "Email" Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2011-09-19 13:46:53 UTC (rev 39) +++ trunk/library/languages/default-nl.po 2011-09-19 16:29:20 UTC (rev 40) @@ -2,9 +2,9 @@ msgstr "" "Project-Id-Version: Pulse NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-19 09:57+0100\n" +"POT-Creation-Date: 2011-09-19 18:16+0100\n" "PO-Revision-Date: \n" -"Last-Translator: Menno Dekker <men...@er...>\n" +"Last-Translator: Matijs de Jong <mj...@ma...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -473,56 +473,56 @@ msgid "No %s found" msgstr "Geen %s gevonden" -#: classes/Gems/Controller/BrowseEditAction.php:634 +#: classes/Gems/Controller/BrowseEditAction.php:635 #, php-format msgid "No %s found." msgstr "Geen %s gevonden." -#: classes/Gems/Controller/BrowseEditAction.php:749 +#: classes/Gems/Controller/BrowseEditAction.php:750 msgid "Are you sure?" msgstr "Weet u het zeker?" -#: classes/Gems/Controller/BrowseEditAction.php:765 +#: classes/Gems/Controller/BrowseEditAction.php:766 msgid "Yes" msgstr "Ja" -#: classes/Gems/Controller/BrowseEditAction.php:766 +#: classes/Gems/Controller/BrowseEditAction.php:767 msgid "No" msgstr "Nee" -#: classes/Gems/Controller/BrowseEditAction.php:819 +#: classes/Gems/Controller/BrowseEditAction.php:820 #, php-format msgid "Unknown %s requested" msgstr "Onjuist %s verzoek" -#: classes/Gems/Controller/BrowseEditAction.php:842 +#: classes/Gems/Controller/BrowseEditAction.php:843 #, php-format msgid "New %1$s..." msgstr "Nieuwe %1$s..." -#: classes/Gems/Controller/BrowseEditAction.php:850 +#: classes/Gems/Controller/BrowseEditAction.php:851 msgid "Save" msgstr "Opslaan" -#: classes/Gems/Controller/BrowseEditAction.php:886 +#: classes/Gems/Controller/BrowseEditAction.php:887 #, php-format msgid "%2$u %1$s saved" msgstr "%2$u %1$s opgeslagen" -#: classes/Gems/Controller/BrowseEditAction.php:889 +#: classes/Gems/Controller/BrowseEditAction.php:890 msgid "No changes to save." msgstr "Geen verandering om op te slaan." -#: classes/Gems/Controller/BrowseEditAction.php:898 +#: classes/Gems/Controller/BrowseEditAction.php:899 msgid "Input error! No changes saved!" msgstr "Invoer fout! Veranderingen niet opgeslagen!" -#: classes/Gems/Controller/BrowseEditAction.php:926 +#: classes/Gems/Controller/BrowseEditAction.php:927 #, php-format msgid "Show %s" msgstr "Toon %s" -#: classes/Gems/Controller/BrowseEditAction.php:933 +#: classes/Gems/Controller/BrowseEditAction.php:934 #, php-format msgid "Unknown %s." msgstr "%s is onbekend." @@ -629,10 +629,13 @@ msgstr "Er wordt geen verschil gemaakt tussen het getal nul en de letter O en ook niet tussen het getal één en de letter L." #: classes/Gems/Default/ConsentAction.php:66 +#: classes/Gems/Default/CountryAction.php:67 +#: classes/Gems/Default/GroupAction.php:87 msgid "Description" msgstr "Omschrijving" #: classes/Gems/Default/ConsentAction.php:68 +#: classes/Gems/Default/DatabaseAction.php:155 msgid "Order" msgstr "Volgorde" @@ -751,7 +754,6 @@ msgstr "Groep" #: classes/Gems/Default/DatabaseAction.php:156 -#: classes/Gems/Default/OrganizationAction.php:116 msgid "Location" msgstr "Locatie" @@ -1043,7 +1045,6 @@ msgstr "Rol" #: classes/Gems/Default/GroupAction.php:91 -#: classes/Gems/Default/OrganizationAction.php:132 msgid "Active" msgstr "Actief" @@ -1224,6 +1225,7 @@ msgstr "Logboek onderhoud" #: classes/Gems/Default/MailAction.php:61 +#: classes/Gems/Default/MailLogAction.php:71 msgid "Subject" msgstr "Onderwerp" @@ -1241,6 +1243,22 @@ msgid "Email templates" msgstr "Email sjabloon" +#: classes/Gems/Default/MailLogAction.php:69 +msgid "To" +msgstr "Aan" + +#: classes/Gems/Default/MailLogAction.php:70 +msgid "From" +msgstr "Van" + +#: classes/Gems/Default/MailLogAction.php:72 +msgid "Date sent" +msgstr "Datum verstuurd" + +#: classes/Gems/Default/MailLogAction.php:80 +msgid "Mail Activity Log" +msgstr "Logboek Mail Activiteit" + #: classes/Gems/Default/MailServerAction.php:68 msgid "From address [part]" msgstr "Vanaf adres [gedeelte]" @@ -1282,8 +1300,6 @@ msgstr "Gebruikers ID" #: classes/Gems/Default/MailServerAction.php:90 -#: classes/Gems/Default/OptionAction.php:107 -#: classes/Gems/Default/OptionAction.php:112 msgid "Repeat password" msgstr "Herhaal wachtwoord" @@ -1303,10 +1319,13 @@ #: classes/Gems/Default/OptionAction.php:73 #: classes/Gems/Default/OrganizationAction.php:128 +#: classes/Gems/Default/RespondentAction.php:164 +#: classes/Gems/Default/StaffAction.php:192 msgid "Language" msgstr "Taal" #: classes/Gems/Default/OptionAction.php:74 +#: classes/Gems/Default/StaffAction.php:193 msgid "Logout on survey" msgstr "Logout bij beantwoorden vragenlijst" @@ -1371,6 +1390,7 @@ msgstr "Ongeldige organisatie." #: classes/Gems/Default/OrganizationAction.php:117 +#: classes/Gems/Default/SourceAction.php:143 msgid "Url" msgstr "Url" @@ -1533,13 +1553,6 @@ msgid "By" msgstr "Door" -#: classes/Gems/Default/ProjectSurveysAction.php:69 -#: classes/Gems/Default/ProjectTracksAction.php:67 -#: classes/Gems/Default/SurveyAction.php:193 -#: classes/Gems/Default/TrackAction.php:329 -msgid "From" -msgstr "Van" - #: classes/Gems/Default/ProjectSurveysAction.php:70 #: classes/Gems/Default/ProjectTracksAction.php:68 #: classes/Gems/Default/SurveyAction.php:195 @@ -1583,7 +1596,6 @@ msgstr "Vragenlijst niet opgegeven." #: classes/Gems/Default/ProjectTracksAction.php:120 -#: classes/Gems/Default/TrackActionAbstract.php:479 #, php-format msgid "Track %s does not exist." msgstr "Trajectnummer %s bestaat niet." @@ -2282,10 +2294,12 @@ msgstr "Vrije tekst" #: classes/Gems/Default/TrackFieldsAction.php:114 +#: classes/Gems/Default/TrackMaintenanceAction.php:211 msgid "Values" msgstr "Waarden" #: classes/Gems/Default/TrackFieldsAction.php:116 +#: classes/Gems/Default/TrackMaintenanceAction.php:213 msgid "Required" msgstr "Verplicht" @@ -2431,11 +2445,6 @@ msgid "Method" msgstr "Methode" -#: classes/Gems/Email/MultiMailForm.php:105 -#: classes/Gems/Email/OneMailForm.php:87 -msgid "To" -msgstr "Aan" - #: classes/Gems/Email/MultiMailForm.php:126 msgid "Survey has been taken." msgstr "Vragenlijsten is al afgenomen" @@ -2505,26 +2514,30 @@ msgstr "Uitleg over deze export mogelijkheid" #: classes/Gems/Menu/MenuAbstract.php:206 +msgid "Activity" +msgstr "Activiteit" + +#: classes/Gems/Menu/MenuAbstract.php:209 msgid "Servers" msgstr "Servers" -#: classes/Gems/Menu/MenuAbstract.php:210 +#: classes/Gems/Menu/MenuAbstract.php:213 msgid "Templates" msgstr "Sjablonen" -#: classes/Gems/Menu/MenuAbstract.php:243 +#: classes/Gems/Menu/MenuAbstract.php:246 msgid "By period" msgstr "Per periode" -#: classes/Gems/Menu/MenuAbstract.php:244 +#: classes/Gems/Menu/MenuAbstract.php:247 msgid "By token" msgstr "Per kenmerk" -#: classes/Gems/Menu/MenuAbstract.php:245 +#: classes/Gems/Menu/MenuAbstract.php:248 msgid "By respondent" msgstr "Per patiënt" -#: classes/Gems/Menu/MenuAbstract.php:249 +#: classes/Gems/Menu/MenuAbstract.php:252 msgid "Bulk mail" msgstr "Bulk mail" @@ -3496,9 +3509,8 @@ msgid "This track can be assigned since %s." msgstr "Dit traject kan sinds %s aan een patiënt toegewezen worden." -#: views/scripts/index/login.phtml:12 -msgid "The Pulse software was made possible thanks to support from " -msgstr "De PULSE software is mede mogelijk gemaakt met steun van " +#~ msgid "The Pulse software was made possible thanks to support from " +#~ msgstr "De PULSE software is mede mogelijk gemaakt met steun van " #~ msgid "Email" #~ msgstr "Email" Added: trunk/library/snippets/Generic/AutosearchForm.php =================================================================== --- trunk/library/snippets/Generic/Autosear... [truncated message content] |