Example:
;
  
Or:

  
  
  
See also: BaseParamFilterReader
Author: hans lellelid, hans@velum.net
Inheritance: extends BaseParamFilterReader, implements ChainableReader
 public static function replace($template, $obj)
 {
     //$template = 'eghurrrr {contact->Email->zone} wrnvwirw';
     ReplaceTokens::$obj = $obj;
     //return preg_replace('!{([\w|\->]+)}!e', '\$data_array[\'$1\']',  $Template);
     //preg_match('/{(?:[.]+\->[.]*)+}/',$template,$matches); raw($matches); return '';
     //return preg_replace_callback('!{(?:([0-9A-Za-z_]+)|\->([0-9A-Za-z_]+))+}!', array('ReplaceTokens','get_token_vars'), $template);
     return preg_replace_callback('!{([0-9A-Za-z_\\->]+)}!', array('ReplaceTokens', 'run_token_handler'), $template);
 }
Esempio n. 2
0
 /**
  * Creates a new ReplaceTokens using the passed in
  * Reader for instantiation.
  * 
  * @param object A Reader object providing the underlying stream.
  *               Must not be <code>null</code>.
  * 
  * @return object A new filter based on this configuration, but filtering
  *         the specified reader
  */
 function chain(Reader $reader)
 {
     $newFilter = new ReplaceTokens($reader);
     $newFilter->setProject($this->getProject());
     $newFilter->setBeginToken($this->getBeginToken());
     $newFilter->setEndToken($this->getEndToken());
     $newFilter->setTokens($this->getTokens());
     $newFilter->setTokensources($this->getTokensources());
     $newFilter->setInitialized(true);
     return $newFilter;
 }
Esempio n. 3
0
 function addReplaceTokens(ReplaceTokens $o)
 {
     $o->setProject($this->project);
     $this->filterReaders[] = $o;
 }
Esempio n. 4
0
 public function mail_send($LetterID, $showonly = false)
 {
     $account = clone $this;
     $letter = new Letter($LetterID, $account->reseller->id);
     list($account->amount, $account->bonustime, $account->closetime) = $account->GetBalance();
     $account->closetime = date('d-m-Y', $account->closetime);
     $account->amount = round($this->amount, 2);
     $server = new Server($account->ServerID);
     $account->ServerIP = $server->ips[0];
     $letter->from = ReplaceTokens::replace(html_entity_decode($letter->from, ENT_QUOTES, 'UTF-8'), $account);
     $letter->subject = ReplaceTokens::replace(html_entity_decode($letter->subject, ENT_QUOTES, 'UTF-8'), $account);
     $letter->body = ReplaceTokens::replace(html_entity_decode($letter->body, ENT_QUOTES, 'UTF-8'), $account);
     log_event('mail account', 'notice', 'subject=' . $letter->subject, $this->id);
     if ($showonly) {
         return array($letter->from, $letter->subject, $letter->body);
     } else {
         return mail_send($this->contact->Email, $letter->from, $letter->subject, $letter->body);
     }
 }