/**
* Renders this view.
*/
public function display()
{
$view = new Horde_View(array('templatePath' => TURBA_TEMPLATES . '/search/duplicate'));
new Horde_View_Helper_Text($view);
$hasDuplicate = $this->_type && $this->_duplicate && isset($this->_duplicates[$this->_type]) && isset($this->_duplicates[$this->_type][$this->_duplicate]);
if ($hasDuplicate) {
$vars = new Horde_Variables();
$view->type = $GLOBALS['attributes'][$this->_type]['label'];
$view->value = $this->_duplicate;
echo $view->render('header');
$view->contactUrl = Horde::url('contact.php');
$view->mergeUrl = Horde::url('merge.php');
$view->first = true;
$duplicate = $this->_duplicates[$this->_type][$this->_duplicate];
while ($contact = $duplicate->next()) {
$contact->lastModification();
}
$duplicate->sort(array(array('field' => '__modified', 'ascending' => false)));
$view->mergeTarget = $duplicate->reset()->getValue('__key');
while ($contact = $duplicate->next()) {
$view->source = $contact->getSource();
$view->id = $contact->getValue('__key');
$history = $contact->getHistory();
if (isset($history['modified'])) {
$view->changed = $history['modified'];
} elseif (isset($history['created'])) {
$view->changed = $history['created'];
} else {
unset($view->changed);
}
echo $view->render('contact_header');
$contactView = new Turba_Form_Contact($vars, $contact, false);
$contactView->renderInactive($contactView->getRenderer(), $vars);
echo $view->render('contact_footer');
$view->first = false;
}
echo $view->render('footer');
}
$view->duplicates = $this->_duplicates;
$view->hasDuplicate = (bool) $hasDuplicate;
$view->attributes = $GLOBALS['attributes'];
$view->link = Horde::url('search.php')->add(array('source' => $this->_driver->getName(), 'search_mode' => 'duplicate'));
echo $view->render('list');
}