ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilMailMimeSubjectBuilder.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
26 {
28  private string $defaultPrefix;
29 
30  public function __construct(ilSetting $settings, string $defaultPrefix)
31  {
32  $this->settings = $settings;
33  $this->defaultPrefix = $defaultPrefix;
34  }
35 
36  public function subject(string $subject, bool $addPrefix = false, string $contextPrefix = ''): string
37  {
38  $subject = trim($subject);
39  $contextPrefix = trim($contextPrefix);
40 
41  if ($addPrefix) {
42  // #9096
43  $globalPrefix = $this->settings->get('mail_subject_prefix');
44  if (!is_string($globalPrefix)) {
45  $globalPrefix = $this->defaultPrefix;
46  }
47  $globalPrefix = trim($globalPrefix);
48 
49  $prefix = $globalPrefix;
50  if ($contextPrefix !== '') {
51  $prefix = str_replace(['[', ']',], '', $prefix);
52  if ($prefix !== '') {
53  $prefix = '[' . $prefix . ' : ' . $contextPrefix . ']';
54  } else {
55  $prefix = '[' . $contextPrefix . ']';
56  }
57  }
58 
59  if ($prefix && $prefix !== '') {
60  $subject = $prefix . ' ' . $subject;
61  }
62  }
63 
64  return $subject;
65  }
66 }
Class ilMailMimeSubjectBuilder.
__construct(ilSetting $settings, string $defaultPrefix)
subject(string $subject, bool $addPrefix=false, string $contextPrefix='')