ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
class.ilMailMimeSubjectBuilder.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
23  public function __construct(private readonly ilSetting $settings, private readonly string $default_prefix)
24  {
25  }
26 
27  public function subject(string $subject, bool $add_prefix = false, string $context_prefix = ''): string
28  {
29  $subject = trim($subject);
30  $context_prefix = trim($context_prefix);
31 
32  if ($add_prefix) {
33  // #9096
34  $global_prefix = $this->settings->get('mail_subject_prefix');
35  if (!is_string($global_prefix)) {
36  $global_prefix = $this->default_prefix;
37  }
38  $global_prefix = trim($global_prefix);
39 
40  $prefix = $global_prefix;
41  if ($context_prefix !== '') {
42  $prefix = str_replace(['[', ']',], '', $prefix);
43  if ($prefix !== '') {
44  $prefix = '[' . $prefix . ' : ' . $context_prefix . ']';
45  } else {
46  $prefix = '[' . $context_prefix . ']';
47  }
48  }
49 
50  if ($prefix && $prefix !== '') {
51  $subject = $prefix . ' ' . $subject;
52  }
53  }
54 
55  return $subject;
56  }
57 }
subject(string $subject, bool $add_prefix=false, string $context_prefix='')
__construct(private readonly ilSetting $settings, private readonly string $default_prefix)