コード例 #1
0
 /**
  * Add a name label.
  *
  * @param array $params
  *   Reference array contains the values submitted by the form.
  *
  *
  * @return object
  */
 public static function create(&$params)
 {
     $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
     $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
     $params['is_reserved'] = CRM_Utils_Array::value('is_reserved', $params, FALSE);
     $params['label_type_id'] = CRM_Core_OptionGroup::getValue('label_type', 'Event Badge', 'name');
     // check if new layout is create, if so set the created_id (if not set)
     if (empty($params['id'])) {
         if (empty($params['created_id'])) {
             $session = CRM_Core_Session::singleton();
             $params['created_id'] = $session->get('userID');
         }
     }
     if (!isset($params['id']) && !isset($params['name'])) {
         $params['name'] = CRM_Utils_String::munge($params['title'], '_', 64);
     }
     // action is taken depending upon the mode
     $printLabel = new CRM_Core_DAO_PrintLabel();
     $printLabel->copyValues($params);
     if ($params['is_default']) {
         $query = "UPDATE civicrm_print_label SET is_default = 0";
         CRM_Core_DAO::executeQuery($query, CRM_Core_DAO::$_nullArray);
     }
     $printLabel->save();
     return $printLabel;
 }