Links are now on the Report page & the browse link drop-down.
They only show if the visibility is Public
$objectName = NULL,
$objectId = NULL
) {
- $config = CRM_Core_Config::singleton();
if (empty($links)) {
return NULL;
}
return array_combine($tables, $tables);
}
+ /**
+ * Get the public view url.
+ *
+ * @param int $id
+ * @param bool $absolute
+ *
+ * @return string
+ */
+ public static function getPublicViewUrl($id, $absolute = TRUE) {
+ if ((civicrm_api3('Mailing', 'getvalue', array('id' => $id, 'return' => 'visibility'))) === 'Public Pages') {
+ return CRM_Utils_System::url('civicrm/mailing/view', array('id' => $id), $absolute, NULL, TRUE, TRUE);
+ }
+ }
+
}
}
/**
+ * An array of action links.
+ *
* @return null
*/
public function &links() {
CRM_Utils_System::setTitle(ts('CiviMail Report: %1',
array(1 => $report['mailing']['name'])
));
+ $this->assign('public_url', CRM_Mailing_BAO_Mailing::getPublicViewUrl($this->_mailing_id));
return CRM_Core_Page::run();
}
* @param int $contactID
* @param bool $print
* @param bool $allowID
+ *
+ * @return null|string
*/
public function run($id = NULL, $contactID = NULL, $print = TRUE, $allowID = FALSE) {
if (is_numeric($id)) {
$this->_contactID = $contactID;
}
else {
- $session = CRM_Core_Session::singleton();
- $this->_contactID = $session->get('userID');
+ $this->_contactID = CRM_Core_Session::singleton()->getLoggedInContactID();
}
// mailing key check
}
// get status strings as per locale settings CRM-4411.
$rows[$key]['status'] = CRM_Mailing_BAO_MailingJob::status($row['status']);
+ $validLinks = $actionLinks;
+ if (($mailingUrl = CRM_Mailing_BAO_Mailing::getPublicViewUrl($row['id'])) != FALSE) {
+ $validLinks[] = array(
+ 'name' => ts('Public View'),
+ 'url' => 'civicrm/mailing/view',
+ 'qs' => 'id=%%mid%%&reset=1',
+ 'title' => ts('Public View'),
+ 'fe' => TRUE,
+ );
+ }
- $rows[$key]['action'] = CRM_Core_Action::formLink($actionLinks,
+ $rows[$key]['action'] = CRM_Core_Action::formLink(
+ $validLinks,
$actionMask,
array('mid' => $row['id']),
"more",
<tr><td class="label">{ts}Open tracking{/ts}</td><td>{if $report.mailing.open_tracking}{ts}On{/ts}{else}{ts}Off{/ts}{/if}</td></tr>
<tr><td class="label">{ts}URL Click-through tracking{/ts}</td><td>{if $report.mailing.url_tracking}{ts}On{/ts}{else}{ts}Off{/ts}{/if}</td></tr>
-
+{if $public_url}<td class="label">{ts}Public url{/ts}</td><td><a href="{$public_url}"> {$public_url}</a></td></tr>{/if}
{if $report.mailing.campaign}
<tr><td class="label">{ts}Campaign{/ts}</td><td>{$report.mailing.campaign}</td></tr>
{/if}