Beispiel #1
0
 public function replaceString($string, $arraySeparator = ', ')
 {
     if (!$this->submission->fieldsubmissions) {
         $this->submission->getFieldsubmissions();
     }
     $string = preg_replace_callback('/\\$\\$(.+?)\\$\\$/is', function ($matches) use($arraySeparator) {
         $placeholder = explode(':', trim($matches[1]), 2);
         if (empty($placeholder[1]) || !isset($this->submission->fieldsubmissions[$placeholder[0]]) || !isset($this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]])) {
             return '';
         }
         return is_array($this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]]) ? implode($arraySeparator, $this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]]) : $this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]];
     }, $string);
     return $string;
 }
Beispiel #2
0
 public function replaceString($string, $arraySeparator = ', ')
 {
     if (!$this->submission->fieldsubmissions) {
         $this->submission->getFieldsubmissions();
     }
     $string = preg_replace_callback('/\\$\\$(.+?)\\$\\$/is', function ($matches) use($arraySeparator) {
         $placeholder = explode(':', trim($matches[1]), 2);
         if (!empty($placeholder[1]) && $placeholder[0] == 'submission' && property_exists($this->submission, $placeholder[1])) {
             $key = $placeholder[1];
             return $key == 'created' ? $this->submission->{$key}->format('Y-m-d H:i:s') : $this->submission->{$key};
         }
         if (empty($placeholder[1]) || !isset($this->submission->fieldsubmissions[$placeholder[0]]) || !isset($this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]])) {
             return '';
         }
         return is_array($this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]]) ? implode($arraySeparator, $this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]]) : $this->submission->fieldsubmissions[$placeholder[0]][$placeholder[1]];
     }, $string);
     return $string;
 }