示例#1
0
 /**
  * Get HTML email message and list of email recipients from given email
  * info.
  *
  * @param ORMRow $emailInfo
  * @return array With 'message' and 'recipients' items.
  */
 protected function prepareTemplate($emailInfo)
 {
     $template = $emailInfo->getField('template');
     $params = $emailInfo->getField('params');
     $fauxreq = new FauxRequest(array('action' => 'parse', 'text' => $this->getTemplate($template, $params), 'contentmodel' => 'wikitext'));
     $api = new ApiMain($fauxreq);
     $api->execute();
     $data = $api->getResultData();
     $message = $data['parse']['text']['*'];
     $recipients = array();
     foreach ($params['To'] as $to) {
         $recipients[] = new MailAddress($to);
     }
     return array('message' => $message, 'recipients' => $recipients);
 }
 /**
  * Returns a new Site object constructed from the provided ORMRow.
  *
  * @since 1.25
  *
  * @param ORMRow $siteRow
  *
  * @return Site
  */
 protected function siteFromRow(ORMRow $siteRow)
 {
     $site = Site::newForType($siteRow->getField('type', Site::TYPE_UNKNOWN));
     $site->setGlobalId($siteRow->getField('global_key'));
     $site->setInternalId($siteRow->getField('id'));
     if ($siteRow->hasField('forward')) {
         $site->setForward($siteRow->getField('forward'));
     }
     if ($siteRow->hasField('group')) {
         $site->setGroup($siteRow->getField('group'));
     }
     if ($siteRow->hasField('language')) {
         $site->setLanguageCode($siteRow->getField('language') === '' ? null : $siteRow->getField('language'));
     }
     if ($siteRow->hasField('source')) {
         $site->setSource($siteRow->getField('source'));
     }
     if ($siteRow->hasField('data')) {
         $site->setExtraData($siteRow->getField('data'));
     }
     if ($siteRow->hasField('config')) {
         $site->setExtraConfig($siteRow->getField('config'));
     }
     return $site;
 }