CRM-14463 - Fix custom address fields to support location type
[civicrm-core.git] / CRM / Core / BAO / LabelFormat.php
index 3b16781c2aa0cac49513d45904db8c271ebd80dd..b2fdccf6d7373cc3cc92651baf3c5e4724eb3719 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.4                                                |
  +--------------------------------------------------------------------+
  | Copyright (C) 2011 Marty Wright                                    |
  | Licensed to CiviCRM under the Academic Free License version 3.0.   |
@@ -194,18 +194,12 @@ class CRM_Core_BAO_LabelFormat extends CRM_Core_DAO_OptionValue {
    * @static
    */
   public static function getFontSizes() {
-    return array(
-      6 => ts('6 pt'),
-      7 => ts('7 pt'),
-      8 => ts('8 pt'),
-      9 => ts('9 pt'),
-      10 => ts('10 pt'),
-      11 => ts('11 pt'),
-      12 => ts('12 pt'),
-      13 => ts('13 pt'),
-      14 => ts('14 pt'),
-      15 => ts('15 pt'),
-    );
+    $fontSizes = array();
+    for ($i = 6; $i <= 60; $i++) {
+      $fontSizes[$i] = ts('%1 pt', array(1 => $i));
+    }
+
+    return $fontSizes;
   }
 
   /**
@@ -239,7 +233,24 @@ class CRM_Core_BAO_LabelFormat extends CRM_Core_DAO_OptionValue {
     return array(
       'R' => ts('Right'),
       'L' => ts('Left'),
-      'J' => ts('Justify'),
+      'C' => ts('Center'),
+    );
+  }
+
+  /**
+   * Get text alignment recognized by the TCPDF package used to create PDF labels.
+   *
+   * @param void
+   *
+   * @return array   array of alignments
+   * @access public
+   * @static
+   */
+  public static function getFontStyles() {
+    return array(
+      '' => ts('Normal'),
+      'B' => ts('Bold'),
+      'I' => ts('Italic'),
     );
   }
 
@@ -502,6 +513,9 @@ class CRM_Core_BAO_LabelFormat extends CRM_Core_DAO_OptionValue {
     // serialize label format fields into a single string to store in the 'value' column of the Option Value table
     $v = json_decode($this->value, TRUE);
     foreach (self::$optionValueFields as $name => $field) {
+      if (!isset($v[$name])) {
+        $v[$name] = NULL;
+      }
       $v[$name] = self::getValue($name, $values, $v[$name]);
     }
     $this->value = json_encode($v);