Merge pull request #21568 from eileenmcnaughton/labels
[civicrm-core.git] / Civi / Api4 / Query / SqlFunctionIF.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 namespace Civi\Api4\Query;
13
14 /**
15 * Sql function
16 */
17 class SqlFunctionIF extends SqlFunction {
18
19 protected static $category = self::CATEGORY_COMPARISON;
20
21 protected static $dataType = 'String';
22
23 protected static function params(): array {
24 return [
25 [
26 'min_expr' => 3,
27 'max_expr' => 3,
28 'optional' => FALSE,
29 'must_be' => ['SqlEquation', 'SqlField', 'SqlFunction', 'SqlString', 'SqlNumber', 'SqlNull'],
30 'ui_defaults' => [
31 ['type' => 'SqlField', 'placeholder' => ts('If')],
32 ['type' => 'SqlField', 'placeholder' => ts('Then')],
33 ['type' => 'SqlField', 'placeholder' => ts('Else')],
34 ],
35 ],
36 ];
37 }
38
39 /**
40 * @return string
41 */
42 public static function getTitle(): string {
43 return ts('If/Else');
44 }
45
46 /**
47 * @return string
48 */
49 public static function getDescription(): string {
50 return ts('If the field is empty, the first value, otherwise the second.');
51 }
52
53 }