예제 #1
0
 protected function _mapToSdp(array $user)
 {
     if (empty($user['phone'])) {
         unset($user['phone']);
     }
     return parent::_mapToSdp($user);
 }
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if ($data['icc']) {
         $data['subscriptionId'] = $data['icc'];
     }
     if ($data['staticApnIndex']) {
         $data['staticApnIndex']--;
     } else {
         $data['staticApnIndex'] = -1;
     }
     if (isset($data['currentApn'])) {
         $data['apn'] = $data['currentApn'];
         unset($data['currentApn']);
     }
     if (isset($data['apns']) && is_array($data['apns'])) {
         foreach ($data['apns'] as $key => $apn) {
             $data['apn' . $key] = $apn;
         }
         unset($data['apns']);
     }
     if (isset($data['gprsStatus']) && is_array($data['gprsStatus'])) {
         $data['gprsStatus'] = $this->_mapConnStatusToSdp($data['gprsStatus']);
     }
     if (isset($data['ipStatus']) && is_array($data['ipStatus'])) {
         $data['ipStatus'] = $this->_mapConnStatusToSdp($data['ipStatus']);
     }
     if (isset($data['provisionDate'])) {
         $data['provisionDate'] = $this->_createAtom($data['provisionDate']);
     }
     if (isset($data['shippingDate'])) {
         $data['shippingDate'] = $this->_createAtom($data['shippingDate']);
     }
     if (isset($data['activationDate'])) {
         $data['activationDate'] = $this->_createAtom($data['activationDate']);
     }
     if (isset($data['IMEILastChange'])) {
         $data['IMEILastChange'] = $this->_createAtom($data['IMEILastChange']);
     }
     if (isset($data['simModel']) && empty($data['simModel'])) {
         unset($data['simModel']);
     }
     return $data;
 }
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if ($oldDisc = @$data['discount']) {
         $discounts = array();
         if (isset($oldDisc['customer'])) {
             foreach ($oldDisc['customer'] as $disc) {
                 $discounts[] = $this->_mapDiscountToSdp($disc);
             }
         }
         if (isset($oldDisc['billingAccount'])) {
             foreach ($oldDisc['billingAccount'] as $disc) {
                 $discounts[] = $this->_mapDiscountToSdp($disc);
             }
         }
         $data['discount'] = $discounts;
     }
     if ($oldTax = @$data['tax']) {
         $taxes = array();
         if (isset($oldDisc['customer'])) {
             foreach ($oldDisc['customer'] as $disc) {
                 $discounts[] = $this->_mapTaxToSdp($disc);
             }
         }
         if (isset($oldDisc['billingAccount'])) {
             foreach ($oldDisc['billingAccount'] as $tax) {
                 $taxes[] = $this->_mapTaxToSdp($tax);
             }
         }
         $data['tax'] = $taxes;
     }
     if (isset($data['adjustment']) && is_array($data['adjustment'])) {
         $ajustment = 0;
         foreach ($data['adjustment'] as $ajust) {
             if (isset($ajust['value'])) {
                 $ajustment += $ajust['value'];
             }
         }
         $data['adjustment'] = $ajustment;
     }
     if (@$data['published']) {
         unset($data['published']);
         $data['status'] = 'published';
     } else {
         $data['status'] = 'unpublished';
     }
     if (isset($data['fileName'])) {
         unset($data['fileName']);
     }
     return $data;
 }
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if (isset($data['billingCycleStart']['dayOfMonth'])) {
         $gDay = '---' . sprintf('%02d', $data['billingCycleStart']['dayOfMonth']);
         $timezone = App_Util_Date::getTimezoneOffset($data['billingCycleStart']['timezone']);
         $data['billingCycleStart'] = $gDay . $timezone;
     }
     if (isset($data['status'])) {
         switch ($data['status']) {
             case OrgCustomerModel::ORG_STATUS_ACTIVATED:
                 $data['status'] = self::STATUS_ACTIVE;
                 break;
             case OrgCustomerModel::ORG_STATUS_DEACTIVATED:
             default:
                 $data['status'] = self::STATUS_INACTIVE;
                 break;
         }
     }
     if (!isset($data['defaultBillingAccount']['contact'])) {
         $data['defaultBillingAccount']['contact'] = $data['primaryContact'];
     }
     if (!isset($data['defaultBillingAccount']['address'])) {
         $data['defaultBillingAccount']['address'] = $data['companyAddress'];
     }
     return $data;
 }
예제 #5
0
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if (isset($data['staticIpApnIndex']) && isset($data['apns'][$data['staticIpApnIndex']])) {
         $data['apn'] = $data['apns'][$data['staticIpApnIndex']];
         unset($data['staticIpApnIndex']);
     }
     if (isset($data['gprsStatus']) && is_array($data['gprsStatus'])) {
         $data['gprsStatus'] = $this->_mapConnStatusToSdp($data['gprsStatus']);
     }
     if (isset($data['ipStatus']) && is_array($data['ipStatus'])) {
         $data['ipStatus'] = $this->_mapConnStatusToSdp($data['ipStatus']);
     }
     //TODO neoSdp defined it as integer, but we didn't
     if (isset($data['simModel']) && !is_int($data['simModel'])) {
         $data['simModel'] = 0;
     }
     if (isset($data['provisionDate'])) {
         $data['provisionDate'] = $this->_createAtom($data['provisionDate']);
     }
     if (isset($data['shippingDate'])) {
         $data['shippingDate'] = $this->_createAtom($data['shippingDate']);
     }
     if (isset($data['activationDate'])) {
         $data['activationDate'] = $this->_createAtom($data['activationDate']);
     }
     /**
      * put Imei dashes
      */
     if (isset($data['imei'])) {
         if (trim($data['imei'])) {
             $imei = trim($data['imei']);
             $nImei = substr_replace($imei, '-', '2', 0);
             $nImei = substr_replace($nImei, '-', '9', 0);
             $nImei = substr_replace($nImei, '-', '16', 0);
             $data['imei'] = $nImei;
         } else {
             unset($data['imei']);
         }
     }
     return $data;
 }
 protected function _mapToSdp(array $data)
 {
     $limits = array('limitVoice', 'limitData', 'limitSms', 'limitTotal');
     $currencyId = \App::getOrgUserLogged()->currency;
     $currency = EnumeratedService::getInstance()->findCurrencyById($currencyId);
     $decimals = $currency['internalNumberOfDecimals'];
     foreach ($limits as &$limit) {
         if (isset($data[$limit]['value'])) {
             $data[$limit]['value'] = (double) $data[$limit]['value'] / pow(10, $decimals);
         }
     }
     return parent::_mapToSdp($data);
 }
예제 #7
0
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if ($data['staticApnIndex']) {
         $data['staticApnIndex']--;
     } else {
         $data['staticApnIndex'] = -1;
     }
     if (isset($data['currentApn'])) {
         $data['apn'] = $data['currentApn'];
         unset($data['currentApn']);
     }
     if (isset($data['apns']) && is_array($data['apns'])) {
         foreach ($data['apns'] as $key => $apn) {
             $data['apn' . $key] = $apn;
         }
         unset($data['apns']);
     }
     if (isset($data['gprsStatus']) && is_array($data['gprsStatus'])) {
         $data['gprsStatus'] = $this->_mapConnStatusToSdp($data['gprsStatus']);
     }
     if (isset($data['ipStatus']) && is_array($data['ipStatus'])) {
         $data['ipStatus'] = $this->_mapConnStatusToSdp($data['ipStatus']);
     }
     if (isset($data['provisionDate'])) {
         $data['provisionDate'] = $this->_createAtom($data['provisionDate']);
     }
     if (isset($data['shippingDate'])) {
         $data['shippingDate'] = $this->_createAtom($data['shippingDate']);
     }
     if (isset($data['activationDate'])) {
         $data['activationDate'] = $this->_createAtom($data['activationDate']);
     }
     if (isset($data['IMEILastChange'])) {
         $data['IMEILastChange'] = $this->_createAtom($data['IMEILastChange']);
     }
     /**
      * put Imei dashes
      */
     if (isset($data['imei'])) {
         if (trim($data['imei'])) {
             $imei = trim($data['imei']);
             $nImei = substr_replace($imei, '-', '2', 0);
             $nImei = substr_replace($nImei, '-', '9', 0);
             $nImei = substr_replace($nImei, '-', '16', 0);
             $data['imei'] = $nImei;
         } else {
             unset($data['imei']);
         }
     }
     if (isset($data['restrictions'])) {
         $data['basicServices'] = array('voiceOriginatedHome' => !$data['restrictions']['voice']['mo']['home'], 'voiceOriginatedRoaming' => !$data['restrictions']['voice']['mo']['roaming'], 'voiceOriginatedInternational' => !$data['restrictions']['voice']['mo']['international'], 'voiceTerminatedHome' => !$data['restrictions']['voice']['mt']['home'], 'voiceTerminatedRoaming' => !$data['restrictions']['voice']['mt']['roaming'], 'smsOriginatedHome' => !$data['restrictions']['sms']['mo']['home'], 'smsOriginatedRoaming' => !$data['restrictions']['sms']['mo']['roaming'], 'smsOriginatedInternational' => !$data['restrictions']['sms']['mo']['international'], 'smsTerminatedHome' => !$data['restrictions']['sms']['mt']['home'], 'smsTerminatedRoaming' => !$data['restrictions']['sms']['mt']['roaming'], 'dataHome' => !$data['restrictions']['data']['home'], 'dataRoaming' => !$data['restrictions']['data']['roaming']);
         unset($data['restrictions']);
     }
     if (isset($data['supplServices'])) {
         unset($data['supplServices']['customServices']);
     }
     //NOTE: it's very dangerous making assignations into conditionals
     //sentences.
     //Loaded customer data was being evaluated as boolean by means of the boolean
     //operator && then the result was being asigned to $customer variable in the end
     //we had a boolean instead of a customer instance
     //RESULT: $currencyId was always 0
     if (isset($data['customerID']) && ($customer = OrgService::getInstance()->load($data['customerID'])) && isset($data['expenseMonthly'])) {
         $currencyId = $customer->currency;
         $currency = EnumeratedService::getInstance()->findCurrencyById($currencyId);
         $decimals = $currency['internalNumberOfDecimals'];
         $fields = array('voiceOver', 'smsOver', 'dataOver', 'totalOver');
         foreach ($fields as $field) {
             if (isset($data['expenseMonthly'][$field])) {
                 $data['expenseMonthly'][$field]['limit'] = (double) $data['expenseMonthly'][$field]['limit'] / pow(10, $decimals);
                 $data['expenseMonthly'][$field]['value'] = (double) $data['expenseMonthly'][$field]['value'] / pow(10, $decimals);
                 $data['expenseMonthly'][$field]['thrReached'] = (double) $data['expenseMonthly'][$field]['thrReached'] / pow(10, 2);
             }
         }
         $fields = array('voiceFee', 'smsFee', 'dataFee', 'totalFee', 'other', 'total');
         foreach ($fields as $field) {
             if (isset($data['expenseMonthly'][$field])) {
                 $data['expenseMonthly'][$field] = (double) $data['expenseMonthly'][$field] / pow(10, $decimals);
             }
         }
     }
     if (!empty($data['manualLocation'])) {
         $data['manualLocation'] = $this->_mapLocationToSdp($data['manualLocation']);
     }
     if (!empty($data['automaticLocation'])) {
         $data['automaticLocation'] = $this->_mapLocationToSdp($data['automaticLocation']);
     }
     if (isset($data['simModel']) && empty($data['simModel'])) {
         unset($data['simModel']);
     }
     return $data;
 }
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if (isset($data['type'])) {
         unset($data['type']);
     }
     if (isset($data['description'])) {
         unset($data['description']);
     }
     if (isset($data['companyAddress'])) {
         if (!isset($data['billingAddressIsCompanyAddress']) || $data['billingAddressIsCompanyAddress']) {
             $data['billingAddress'] = $data['companyAddress'];
         }
         if (!isset($data['shippingAddressIsCompanyAddress']) || $data['shippingAddressIsCompanyAddress']) {
             $data['shippingAddress'] = $data['companyAddress'];
         }
     }
     if (isset($data['billingAddressIsCompanyAddress'])) {
         unset($data['billingAddressIsCompanyAddress']);
     }
     if (isset($data['shippingAddressIsCompanyAddress'])) {
         unset($data['shippingAddressIsCompanyAddress']);
     }
     if (isset($data['parentId'])) {
         unset($data['parentId']);
     }
     if (isset($data['status'])) {
         switch ($data['status']) {
             case OrgAggregatorModel::ORG_STATUS_ACTIVATED:
                 $data['status'] = self::STATUS_ACTIVE;
                 break;
             case OrgAggregatorModel::ORG_STATUS_DEACTIVATED:
             default:
                 $data['status'] = self::STATUS_INACTIVE;
                 break;
         }
     }
     return $data;
 }
 protected function _mapToSdp(array $data)
 {
     $data = parent::_mapToSdp($data);
     if (isset($data['currency'])) {
         $currency = $this->enumSrv->findCurrencyById($data['currency']);
         $decimalsNumber = $currency["internalNumberOfDecimals"];
         $data = $this->_mapToSdpCurrencies($data, $decimalsNumber);
     }
     $services = array('selfManagement', 'vpnService', 'applicationOriginatedSms', 'advancedSupervision', 'location', 'dca', 'dim');
     foreach ($services as $service) {
         if (isset($data[$service]) && isset($this->_mapService[$data[$service]])) {
             $data[$service] = $this->_mapService[$data[$service]];
         }
     }
     if (isset($data['published']) && isset($this->_mapStatus[$data['published']])) {
         $data['published'] = $this->_mapStatus[$data['published']];
     }
     if (isset($data['supervisionLevel']) && isset($this->_mapKeepAlive[$data['supervisionLevel']])) {
         $data['supervisionLevel'] = $this->_mapKeepAlive[$data['supervisionLevel']];
     }
     return $data;
 }