/** * create the table containing the contacts * * @uses Contact * @return string html-content * @uses TableGenerator */ function createTable() { // create big table $contacts = $this->contactList->getContacts(); $mailtohref = ''; // email link $data = array(); $htmlId = 0; foreach ($contacts as $c) { if ($this->expand) { $p = Page::newPage('PageContact', $c); $data[] = array('cont' => $p->innerCreate(), 'css_class' => 'list-expanded-card', 'group_n' => $groupNormalizer->normalize(mb_substr($c->contact['lastname'], 0, 1))); continue; } // fetch first email ... $mails = $c->getValueGroup('email'); $e = EmailHelper::sendEmailHref($c->rawEmail($mails[0])); $mailtohref .= $e . ','; $r = $c->generateListRowArray(); //$r[] = "<input type='checkbox' checked=1 name='$e' id='cx$htmlId' onchange='generateMailto();'/>"; $data[] = $r; $htmlId++; } $tGen = new TableGenerator('contact-list'); $cont = '<table class="contact-list">'; //$cont .= '<caption>' . $this->contactList->getGroupCaption() . '</caption>'; if (count($data) > 0) { if ($this->expand) { $cont .= $tGen->generateBody($data, array('cont'), 'css_class', $this->isSorted ? 'group_n' : null); } else { $cont .= $tGen->generateBody($data, range(0, count($data[0]) - 3), 'css_class', $this->isSorted ? 'group_n' : null); } } else { $cont .= '<tr class="noentry"><td>No Entries.</td></tr>'; } $cont .= '</table>'; //$this->nav->addEntry('mailtoSelected','mail to selected',"mailto:$mailtohref"); return $cont; }
/** * generate a HTML link to send an email. Takes care of obscuring. * @static * @param string|array list of emails * @param string $text text between <a> and </a> * @return string <a href="mailto:-emails-"> $text </a> */ function sendEmailLink($email, $text) { return "<a class='email' href='mailto:" . EmailHelper::sendEmailHref($email) . "'>" . StringHelper::obscureString($text) . '</a>'; }