Better numeric check
authorcolemanw <coleman@civicrm.org>
Mon, 26 Jun 2017 21:09:32 +0000 (17:09 -0400)
committerGitHub <noreply@github.com>
Mon, 26 Jun 2017 21:09:32 +0000 (17:09 -0400)
CRM/Price/Form/Set.php

index 6ab31472ace9227aa542d339ba195dd31c72fa55..c6c17e5efb1925c17c5bf4bb2a49ce80c13e1c87 100644 (file)
@@ -95,14 +95,9 @@ class CRM_Price_Form_Set extends CRM_Core_Form {
         $errors['extends'] = ts('If you plan on using this price set for membership signup and renewal, you can not also use it for Events or Contributions. However, a membership price set may include additional fields for non-membership options that require an additional fee (e.g. magazine subscription).');
       }
     }
-    //checks the given price set doesnot start with digit
-    $title = $fields['title'];
-    if ($title) {
-      // gives the ascii value
-      $asciiValue = ord($title{0});
-      if ($asciiValue >= 48 && $asciiValue <= 57) {
-        $errors['title'] = ts("Name cannot not start with a digit");
-      }
+    // Checks the given price set does not start with a digit
+    if (strlen($fields['title']) && is_numeric($fields['title'][0])) {
+      $errors['title'] = ts("Name cannot not start with a digit");
     }
     return empty($errors) ? TRUE : $errors;
   }