'CiviMail', 'translatedName' => ts('CiviMail'), 'title' => 'CiviCRM Mailing Engine', 'search' => 1, 'showActivitiesInCore' => 1, ); } public function getAngularModules() { $result = array(); $result['crmMailingAB'] = array( 'ext' => 'civicrm', 'js' => array('js/angular-crmMailingAB.js'), 'css' => array('css/angular-crmMailingAB.css'), ); $civiMails = civicrm_api3('Mailing', 'get', array()); $campNames = civicrm_api3('Campaign', 'get', array()); $mailingabNames = civicrm_api3('MailingAB','get',array()); $mailStatus = civicrm_api3('MailingJob', 'get', array()); $groupNames = civicrm_api3('Group', 'get', array()); $headerfooterList = civicrm_api3('MailingComponent', 'get', array()); $emailAdd = civicrm_api3('Email', 'get', array()); $mesTemplate = civicrm_api3('MessageTemplate', 'get', array( 'sequential' => 1, 'return' => array("msg_html", "id", "msg_title"), 'id' => array('>' => 58), )); CRM_Core_Resources::singleton()->addSetting(array( 'crmMailing' => array( 'mailingabNames'=>array_values($mailingabNames['values']), 'civiMails' => array_values($civiMails['values']), 'campNames' => array_values($campNames['values']), 'mailStatus' => array_values($mailStatus['values']), 'groupNames' => array_values($groupNames['values']), 'headerfooterList' => array_values($headerfooterList['values']), 'mesTemplate' => array_values($mesTemplate['values']), 'emailAdd' => array_values($emailAdd['values']), ), )); return $result; } /** * @return bool */ static function workflowEnabled() { $config = CRM_Core_Config::singleton(); // early exit, since not true for most if (!$config->userSystem->is_drupal || !function_exists('module_exists') ) { return FALSE; } if (!module_exists('rules')) { return FALSE; } $enableWorkflow = CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::MAILING_PREFERENCES_NAME, 'civimail_workflow', NULL, FALSE ); return ($enableWorkflow && $config->userSystem->is_drupal ) ? TRUE : FALSE; } // docs inherited from interface /** * @param bool $getAllUnconditionally * * @return array */ public function getPermissions($getAllUnconditionally = FALSE) { $permissions = array( 'access CiviMail', 'access CiviMail subscribe/unsubscribe pages', 'delete in CiviMail', 'view public CiviMail content', ); if (self::workflowEnabled() || $getAllUnconditionally) { $permissions[] = 'create mailings'; $permissions[] = 'schedule mailings'; $permissions[] = 'approve mailings'; } return $permissions; } // docs inherited from interface /** * @return null */ public function getUserDashboardElement() { // no dashboard element for this component return NULL; } /** * @return null */ public function getUserDashboardObject() { // no dashboard element for this component return NULL; } // docs inherited from interface /** * @return array */ public function registerTab() { return array( 'title' => ts('Mailings'), 'id' => 'mailing', 'url' => 'mailing', 'weight' => 45, ); } // docs inherited from interface /** * @return array */ public function registerAdvancedSearchPane() { return array('title' => ts('Mailings'), 'weight' => 20, ); } // docs inherited from interface /** * @return null */ public function getActivityTypes() { return NULL; } // add shortcut to Create New /** * @param $shortCuts */ public function creatNewShortcut(&$shortCuts) {} }