additional fix
authordeb.monish <monish.deb@jmaconsulting.biz>
Mon, 24 Jul 2017 12:09:52 +0000 (17:39 +0530)
committerdeb.monish <monish.deb@jmaconsulting.biz>
Mon, 24 Jul 2017 13:24:40 +0000 (18:54 +0530)
CRM/Contribute/BAO/ManagePremiums.php
CRM/Contribute/Form/ManagePremiums.php
tests/phpunit/CRM/Utils/StringTest.php

index 40de859a9af231a18d8c4ce4f844b18a9efbb418..4b00a93734e26092f8bbc70cf9ea6d6a6a13e30a 100644 (file)
@@ -96,19 +96,14 @@ class CRM_Contribute_BAO_ManagePremiums extends CRM_Contribute_DAO_Product {
    * @return CRM_Contribute_DAO_Product
    */
   public static function add(&$params, &$ids) {
-    $defaults = array(
+    $params = array_merge(array(
       'id' => CRM_Utils_Array::value('premium', $ids),
-      'image' => '',
-      'thumbnail' => '',
-      'is_active' => FALSE,
+      'image' => CRM_Utils_String::simplifyURL(CRM_Utils_Array::value('image', $params, ''), TRUE),
+      'thumbnail' => CRM_Utils_String::simplifyURL(CRM_Utils_Array::value('thumbnail', $params, ''), TRUE),
+      'is_active' => 0,
       'is_deductible' => FALSE,
       'currency' => CRM_Core_Config::singleton()->defaultCurrency,
-    );
-    $params = array_merge($defaults, $params);
-
-    // Use local URLs for images when possible
-    $params['image'] = CRM_Utils_String::simplifyURL($params['image'], TRUE);
-    $params['thumbnail'] = CRM_Utils_String::simplifyURL($params['thumbnail'], TRUE);
+    ), $params);
 
     // Save and return
     $premium = new CRM_Contribute_DAO_Product();
index 437505d8349f871ffb18ae1714194adaf443bab9..2cb9c4fa6c80262c3df13d15d72930a245ab407f 100644 (file)
@@ -209,16 +209,14 @@ class CRM_Contribute_Form_ManagePremiums extends CRM_Contribute_Form {
   public static function formRule($params, $files) {
 
     // If choosing to upload an image, then an image must be provided
-    if (
-      isset($params['imageOption']) &&
-      $params['imageOption'] == 'image' &&
-      empty($files['uploadFile']['name'])
+    if (CRM_Utils_Array::value('imageOption', $params['imageOption']) == 'image'
+      && empty($files['uploadFile']['name'])
     ) {
       $errors['uploadFile'] = ts('A file must be selected');
     }
 
     // If choosing to use image URLs, then both URLs must be present
-    if (isset($params['imageOption']) && $params['imageOption'] == 'thumbnail') {
+    if (CRM_Utils_Array::value('imageOption', $params['imageOption']) == 'thumbnail') {
       if (!$params['imageUrl']) {
         $errors['imageUrl'] = ts('Image URL is Required');
       }
index 98a674e7c2179a189a24f1026fb9cb2d3c0fdaa4..ba04a54f31ce864686529cc0fe3fe61e1ebd07eb 100644 (file)
@@ -250,7 +250,6 @@ class CRM_Utils_StringTest extends CiviUnitTestCase {
    * @return array
    */
   public function simplifyURLProvider() {
-
     $config = CRM_Core_Config::singleton();
     $urlParts = parse_url($config->userFrameworkBaseURL);
     $localDomain = $urlParts['host'];
@@ -262,51 +261,37 @@ class CRM_Utils_StringTest extends CiviUnitTestCase {
     }
 
     return array(
-
-      'prototypical example' =>
-      array(
+      'prototypical example' => array(
         "https://$localDomain/sites/default/files/coffee-mug.jpg",
         FALSE,
         '/sites/default/files/coffee-mug.jpg',
       ),
-
-      'external domain with https' =>
-      array(
+      'external domain with https' => array(
         "https://$externalDomain/sites/default/files/coffee-mug.jpg",
         FALSE,
         "https://$externalDomain/sites/default/files/coffee-mug.jpg",
       ),
-
-      'external domain with http forced to https' =>
-      array(
+      'external domain with http forced to https' => array(
         "http://$externalDomain/sites/default/files/coffee-mug.jpg",
         TRUE,
         "https://$externalDomain/sites/default/files/coffee-mug.jpg",
       ),
-
-      'external domain with http not forced' =>
-      array(
+      'external domain with http not forced' => array(
         "http://$externalDomain/sites/default/files/coffee-mug.jpg",
         FALSE,
         "http://$externalDomain/sites/default/files/coffee-mug.jpg",
       ),
-
-      'local URL' =>
-      array(
+      'local URL' => array(
         "/sites/default/files/coffee-mug.jpg",
         FALSE,
         "/sites/default/files/coffee-mug.jpg",
       ),
-
-      'local URL without a forward slash' =>
-      array(
+      'local URL without a forward slash' => array(
         "sites/default/files/coffee-mug.jpg",
         FALSE,
         "/sites/default/files/coffee-mug.jpg",
       ),
-
-      'empty input' =>
-      array(
+      'empty input' => array(
         '',
         FALSE,
         '',
@@ -334,27 +319,21 @@ class CRM_Utils_StringTest extends CiviUnitTestCase {
    */
   public function parseURLProvider() {
     return array(
-
-      "prototypical example" =>
-      array(
+      "prototypical example" => array(
         "https://example.com:8000/foo/bar/?id=1#fragment",
         array(
           'host+port' => "example.com:8000",
           'path+query' => "/foo/bar/?id=1",
         ),
       ),
-
-      "empty" =>
-      array(
+      "empty" => array(
         "",
         array(
           'host+port' => "",
           'path+query' => "",
         ),
       ),
-
-      "path only" =>
-      array(
+      "path only" => array(
         "/foo/bar/image.png",
         array(
           'host+port' => "",