opensrs\backwardcompatibility\dataconversion\domains\lookup\PremiumDomain::convertDataObject PHP Метод

convertDataObject() публичный Метод

public convertDataObject ( $dataObject, $newStructure = null )
    public function convertDataObject($dataObject, $newStructure = null)
    {
        $p = new parent();
        if (is_null($newStructure)) {
            $newStructure = $this->newStructure;
        }
        $newDataObject = $p->convertDataObject($dataObject, $newStructure);
        $tlds = array();
        if (isset($dataObject->data->selected) && $dataObject->data->selected) {
            $tlds = explode(';', $dataObject->data->selected);
        }
        if (empty($tlds) && isset($dataObject->data->defaulttld) && $dataObject->data->defaulttld) {
            $tlds = explode(';', $dataObject->data->defaulttld);
        }
        if (empty($tlds)) {
            $tlds = $this->defaultTlds;
        }
        /*
         * setting service_override
         */
        $newDataObject->attributes->service_override = new \stdClass();
        $service_override = new \stdCLass();
        $service_override->tlds = $tlds;
        if (isset($dataObject->data->maximum) && $dataObject->data->maximum) {
            $service_override->maximum = $dataObject->data->maximum;
        }
        $newDataObject->attributes->service_override->premium = $service_override;
        $newDataObject->attributes->services = array('premium');
        /* end setting service_override **/
        return $newDataObject;
    }

Usage Example

 /**
  * Valid conversion should complete with no
  * exception thrown.
  *
  *
  * @group validconversion
  */
 public function testValidDataConversion()
 {
     $data = json_decode(json_encode($this->validSubmission));
     $data->data->domain = 'phptest' . time() . '.com';
     $data->data->maximum = '10';
     $data->data->selected = '.com;.net;.org';
     $shouldMatchNewDataObject = new \stdClass();
     $shouldMatchNewDataObject->attributes = new \stdClass();
     $shouldMatchNewDataObject->attributes->service_override = new \stdClass();
     $shouldMatchNewDataObject->attributes->service_override->premium = new \stdClass();
     $shouldMatchNewDataObject->attributes->searchstring = $data->data->domain;
     $shouldMatchNewDataObject->attributes->services = array('premium');
     $shouldMatchNewDataObject->attributes->service_override->premium->maximum = $data->data->maximum;
     $shouldMatchNewDataObject->attributes->service_override->premium->tlds = array('.com', '.net', '.org');
     $ns = new PremiumDomain();
     $newDataObject = $ns->convertDataObject($data);
     $this->assertTrue($newDataObject == $shouldMatchNewDataObject);
 }
PremiumDomain