swicthepp_demonstrator.php 114 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927
  1. <?php
  2. use Illuminate\Database\Capsule\Manager as Capsule;
  3. use WGSSWITCHEPP\IDNA\idna_convert as IDNA;
  4. include_once '../../../../init.php';
  5. if (!class_exists('Net_EPP_Protocol')) {
  6. if (file_exists(dirname(__DIR__) . "/Net/EPP/Client.php"))
  7. require_once dirname(__DIR__) . "/Net/EPP/Client.php";
  8. }
  9. require_once(dirname(__DIR__) . '/idna_convert.class.php');
  10. /* * ********************** Create table for store login detail **************************** */
  11. if (!Capsule::Schema()->hasTable('switchepp_login_details')) {
  12. try {
  13. Capsule::schema()->create('switchepp_login_details', function ($table) {
  14. $table->increments('id');
  15. $table->string('username');
  16. $table->string('password');
  17. $table->string('epp_url');
  18. $table->string('port');
  19. $table->string('passphrase');
  20. }
  21. );
  22. } catch (\Exception $e) {
  23. logActivity("Unable to create switchepp_login_details: {$e->getMessage()}");
  24. }
  25. }
  26. if (Capsule::Schema()->hasTable('switchepp_login_details')) {
  27. if (!Capsule::Schema()->hasColumn('switchepp_login_details', 'passphrase'))
  28. $table->string('passphrase');
  29. }
  30. /* * *************************Create table for store user record****************************** */
  31. if (!Capsule::Schema()->hasTable('switchepp_contact_details')) {
  32. try {
  33. Capsule::schema()->create(
  34. 'switchepp_contact_details', function ($table) {
  35. $table->increments('id');
  36. $table->string('type');
  37. $table->string('contact_id');
  38. }
  39. );
  40. } catch (\Exception $e) {
  41. logActivity("Unable to create switchepp_contact_details: {$e->getMessage()}");
  42. }
  43. }
  44. /* * **********************************save poll msgid******************************************** */
  45. if (!Capsule::Schema()->hasTable('switchepp_store_msgid')) {
  46. try {
  47. Capsule::schema()->create(
  48. 'switchepp_store_msgid', function ($table) {
  49. $table->increments('id');
  50. $table->string('msgid');
  51. }
  52. );
  53. } catch (\Exception $e) {
  54. logActivity("Unable to create switchepp_store_msgid: {$e->getMessage()}");
  55. }
  56. }
  57. /* * ****************************create table to store country name*********************************** */
  58. if (!Capsule::Schema()->hasTable('switchepp_manage_country')) {
  59. try {
  60. Capsule::schema()->create(
  61. 'switchepp_manage_country', function ($table) {
  62. $table->increments('id');
  63. $table->string('country');
  64. $table->string('country_key');
  65. }
  66. );
  67. } catch (\Exception $e) {
  68. logActivity("Unable to create switchepp_manage_country: {$e->getMessage()}");
  69. }
  70. }
  71. $contrs = "Afghanistan__AF,Aland Islands__AX,Albania__AL,Algeria__DZ,American Samoa__AS,Andorra__AD,Angola__AO,Anguilla__AI,Antarctica__AQ,Antigua And Barbuda__AG,Argentina__AR,Armenia__AM,Aruba__AW,Australia__AU,Austria__AT,Azerbaijan__AZ,Bahamas__BS,Bahrain__BH,Bangladesh__BD,Barbados__BB,Belarus__BY,Belgium__BE,Belize__BZ,Benin__BJ,Bermuda__BM,Bhutan__BT,Bolivia__BO,Bosnia And Herzegovina__BA,Botswana__BW,Bouvet Island__BV,Brazil__BR,British Indian Ocean Territory__IO,Brunei Darussalam__BN,Bulgaria__BG,Burkina Faso__BF,Burundi__BI,Cambodia__KH,Cameroon__CM,Canada__CA,Cape Verde__CV,Cayman Islands__KY,Central African Republic__CF,Chad__TD,Chile__CL,China__CN,Christmas Island__CX,Cocos (Keeling) Islands__CC,Colombia__CO,Comoros__KM,Congo__CG,Congo__CD,Cook Islands__CK,Costa Rica__CR,Croatia__HR,Cuba__CU,Curacao__CW,Cyprus__CY,Czech Republic__CZ,Denmark__DK,Djibouti__DJ,Dominica__DM,Dominican Republic__DO,Ecuador__EC,Egypt__EG,El Salvador__SV,Equatorial Guinea__GQ,Eritrea__ER,Estonia__EE,Ethiopia__ET,Falkland Islands (Malvinas)__FK,Faroe Islands__FO,Fiji__FJ,Finland__FI,France__FR,French Guiana__GF,French Polynesia__PF,French Southern Territories__TF,Gabon__GA,Gambia__GM,Georgia__GE,Germany__DE,Ghana__GH,Gibraltar__GI,Greece__GR,Greenland__GL,Grenada__GD,Guadeloupe__GP,Guam__GU,Guatemala__GT,Guernsey__GG,Guinea__GN,Guinea-Bissau__GW,Guyana__GY,Haiti__HT,Heard Island & Mcdonald Islands__HM,Holy See (Vatican City State)__VA,Honduras__HN,Hong Kong__HK,Hungary__HU,Iceland__IS,India__IN,Indonesia__ID,Iran__IR,Iraq__IQ,Ireland__IE,Isle Of Man__IM,Israel__IL,Italy__IT,Jamaica__JM,Japan__JP,Jersey__JE,Jordan__JO,Kazakhstan__KZ,Kenya__KE,Kiribati__KI,Korea__KR,Kuwait__KW,Kyrgyzstan__KG,Latvia__LV,Lebanon__LB,Lesotho__LS,Liberia__LR,Libyan Arab Jamahiriya__LY,Liechtenstein__LI,Lithuania__LT,Luxembourg__LU,Macao__MO,Macedonia__MK,Madagascar__MG,Malawi__MW,Malaysia__MY,Maldives__MV,Mali__ML,Malta__MT,Marshall Islands__MH,Martinique__MQ,Mauritania__MR,Mauritius__MU,Mayotte__YT,Mexico__MX,Micronesia__FM,Moldova__MD,Monaco__MC,Mongolia__MN,Montenegro__ME,Montserrat__MS,Morocco__MA,Mozambique__MZ,Myanmar__MM,Namibia__NA,Nauru__NR,Nepal__NP,Netherlands__NL,Netherlands Antilles__AN,New Caledonia__NC,New Zealand__NZ,Nicaragua__NI,Niger__NE,Nigeria__NG,Niue__NU,Norfolk Island__NF,Northern Mariana Islands__MP,Norway__NO,Oman__OM,Pakistan__PK,Palau__PW,Palestinian Territory__PS,Panama__PA,Papua New Guinea__PG,Paraguay__PY,Peru__PE,Philippines__PH,Pitcairn__PN,Poland__PL,Portugal__PT,Puerto Rico__PR,Qatar__QA,Reunion__RE,Romania__RO,Russian Federation__RU,Rwanda__RW,Saint Barthelemy__BL,Saint Helena__SH,Saint Kitts And Nevis__KN,Saint Lucia__LC,Saint Martin__MF,Saint Pierre And Miquelon__PM,Saint Vincent And Grenadines__VC,Samoa__WS,San Marino__SM,Sao Tome And Principe__ST,Saudi Arabia__SA,Senegal__SN,Serbia__RS,Seychelles__SC,Sierra Leone__SL,Singapore__SG,Slovakia__SK,Slovenia__SI,Solomon Islands__SB,Somalia__SO,South Africa__ZA,South Georgia And Sandwich Isl.__GS,Spain__ES,Sri Lanka__LK,Sudan__SD,Suriname__SR,Svalbard And Jan Mayen__SJ,Swaziland__SZ,Sweden__SE,Switzerland__CH,Syrian Arab Republic__SY,Taiwan__TW,Tajikistan__TJ,Tanzania__TZ,Thailand__TH,Timor-Leste__TL,Togo__TG,Tokelau__TK,Tonga__TO,Trinidad And Tobago__TT,Tunisia__TN,Turkey__TR,Turkmenistan__TM,Turks And Caicos Islands__TC,Tuvalu__TV,Uganda__UG,Ukraine__UA,United Arab Emirates__AE,United Kingdom__GB,United States__US,United States Outlying Islands__UM,Uruguay__UY,Uzbekistan__UZ,Vanuatu__VU,Venezuela__VE,Viet Nam__VN,Virgin Islands__VG,Virgin Islands.__VI,Wallis And Futuna__WF,Western Sahara__EH,Yemen__YE,Zambia__ZM,Zimbabwe__ZW";
  72. $contrs01 = explode(',', $contrs);
  73. foreach ($contrs01 as $contrs02) {
  74. $contrs03 = explode('__', $contrs02);
  75. try {
  76. Capsule::table('switchepp_manage_country')->insert(['country' => trim($contrs03[0]), 'country_key' => $contrs03[1]]);
  77. } catch (Exception $ex) {
  78. logActivity("Unable to insert data switchepp_manage_country: {$ex->getMessage()}");
  79. }
  80. }
  81. /* * **************************Save login detail*************************************** */
  82. if (isset($_POST['save']) && $_POST['save'] == 'Save To Make Connection') {
  83. $data = Capsule::table('switchepp_login_details')->first();
  84. $data = (array) $data;
  85. $rows = Capsule::table('switchepp_login_details')->count();
  86. $dataArr = array(
  87. 'username' => (empty($_POST['login_id'])) ? '' : $_POST['login_id'],
  88. 'password' => (empty($_POST['password'])) ? '' : $_POST['password'],
  89. 'epp_url' => (empty($_POST['epp_url'])) ? '' : $_POST['epp_url'],
  90. 'port' => (empty($_POST['port'])) ? '' : $_POST['port'],
  91. 'passphrase' => (empty($_POST['passphrase'])) ? '' : $_POST['passphrase'],
  92. );
  93. if ($rows > 0) {
  94. try {
  95. Capsule::table('switchepp_login_details')->where('id', $data['id'])->update($dataArr);
  96. } catch (Exception $ex) {
  97. logActivity("Unable to update data switchepp_login_details: {$ex->getMessage()}");
  98. }
  99. } else {
  100. try {
  101. Capsule::table('switchepp_login_details')->insert($dataArr);
  102. } catch (Exception $ex) {
  103. logActivity("Unable to insert data switchepp_login_details: {$ex->getMessage()}");
  104. }
  105. }
  106. }
  107. $rows = Capsule::table('switchepp_login_details')->count();
  108. $logindata = Capsule::table('switchepp_login_details')->first();
  109. $logindata = $data = (array) $logindata;
  110. $params = array('eppurl' => $logindata['epp_url'], 'eppport' => $logindata['port'], 'registrar_id' => $logindata['username'], 'registrar_password' => $logindata['password'], 'passphrase' => $logindata['passphrase']);
  111. $error = $msg = '';
  112. if (!empty($_POST['eppCommand'])) {
  113. /* * ******************************* Hello command ************************************* */
  114. if ($_POST['eppCommand'] == 'hello') {
  115. $client = switchepp_clientloginepp($params); #Epp Connection
  116. if (is_array($client)) {
  117. $error = $client['msg'];
  118. }
  119. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  120. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  121. <hello/>
  122. </epp>';
  123. $request_xml = $client->request($request);
  124. $response_xml = htmlentities($request_xml);
  125. $response = simplexml_load_string($request_xml);
  126. /* * ******************************* Login Command ************************************* */
  127. } else if ($_POST['eppCommand'] == 'login') { #login command
  128. $client = switchepp_clientloginepp($params); #Epp Connection
  129. if (is_array($client)) {
  130. $error = $client['msg'];
  131. } else {
  132. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  133. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  134. <command>
  135. <login>
  136. <clID>' . $_POST['username'] . '</clID>
  137. <pw>' . $_POST['old_pw'] . '</pw>
  138. <newPW>' . $_POST['new_pw'] . '</newPW>
  139. <options>
  140. <version>1.0</version>
  141. <lang>en</lang>
  142. </options>
  143. <svcs>
  144. <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
  145. <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
  146. <objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
  147. </svcs>
  148. </login>
  149. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  150. </command>
  151. </epp>';
  152. $request_xml = $client->request($request);
  153. $response_xml = htmlentities($request_xml);
  154. $response_chnge = simplexml_load_string($request_xml);
  155. $success = $response_chnge->response->result->attributes()->code[0];
  156. if ($success == '1000') {
  157. foreach ($response_chnge->response->result as $resp) {
  158. $msg = $resp->msg; //for whmcs
  159. }
  160. } else {
  161. foreach ($response_chnge->response->result as $resp) {
  162. $msg = $resp->msg; //for whmcs
  163. }
  164. }
  165. }
  166. /* * ******************************* Logout command ************************************* */
  167. } elseif ($_POST['eppCommand'] == 'logout') { #Logout command
  168. $client = switchepp_clientloginepp($params); #Epp Connection
  169. if (is_array($client)) {
  170. $error = $client['msg'];
  171. }
  172. $xml1 = switchepp_loggedinepp($client, $params);
  173. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  174. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  175. <epp:command xmlns:epp="urn:ietf:params:xml:ns:epp-1.0">
  176. <epp:logout />
  177. <epp:clTRID>' . $data['username'] . '</epp:clTRID>
  178. </epp:command>
  179. </epp>';
  180. $request_xml = $client->request($request);
  181. $response_xml = htmlentities($request_xml);
  182. $response_chnge = simplexml_load_string($request_xml);
  183. $success = $response_chnge->response->result->attributes()->code[0];
  184. if ($success == '1000') {
  185. foreach ($response_chnge->response->result as $resp) {
  186. $msg = $resp->msg; //for whmcs
  187. }
  188. } else {
  189. foreach ($response_chnge->response->result as $resp) {
  190. $msg = $resp->msg; //for whmcs
  191. }
  192. }
  193. /* * ******************************* Poll command ************************************* */
  194. } elseif ($_POST['eppCommand'] == 'poll') { #Poll command
  195. $client = switchepp_clientloginepp($params); #Epp Connection
  196. if (is_array($client)) {
  197. $error = $client['msg'];
  198. }
  199. $xml1 = switchepp_loggedinepp($client, $params);
  200. $request = '<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  201. <command>
  202. <poll op="req"/>
  203. <clTRID>POLL-' . rand(10000, 99999) . '</clTRID>
  204. </command>
  205. </epp>';
  206. $request_xml = $client->request($request);
  207. $response_xml = htmlentities($request_xml);
  208. $poll_xml_code = simplexml_load_string($request_xml);
  209. $msgid = $poll_xml_code->response->msgQ->attributes()->id[0];
  210. $row = Capsule::table('switchepp_store_msgid')->count();
  211. $id = Capsule::table('switchepp_store_msgid')->first();
  212. $id = (array) $id;
  213. if ($row > 0) {
  214. try {
  215. Capsule::table('switchepp_store_msgid')->where('id', $id['id'])->update(['msgid' => $msgid]);
  216. } catch (Exception $ex) {
  217. logActivity("Unable to update data switchepp_store_msgid: {$ex->getMessage()}");
  218. }
  219. } else {
  220. try {
  221. Capsule::table('switchepp_store_msgid')->insert(['msgid' => $msgid]);
  222. } catch (Exception $ex) {
  223. logActivity("Unable to insert data switchepp_store_msgid: {$ex->getMessage()}");
  224. }
  225. }
  226. $response_chnge = simplexml_load_string($request_xml);
  227. $success = $response_chnge->response->result->attributes()->code[0];
  228. if ($success == '1000') {
  229. foreach ($response_chnge->response->result as $resp) {
  230. $msg = $resp->msg; //for whmcs
  231. }
  232. } else {
  233. foreach ($response_chnge->response->result as $resp) {
  234. $msg = $resp->msg; //for whmcs
  235. }
  236. }
  237. /* * ******************************* Transfer Domain1 command ************************************* */
  238. } elseif ($_POST['eppCommand'] == 'transfer_domain1') { # Transfer command
  239. $client = switchepp_clientloginepp($params); #Epp Connection
  240. if (is_array($client)) {
  241. $error = $client['msg'];
  242. }
  243. $xml1 = switchepp_loggedinepp($client, $params);
  244. $IDN = new IDNA();
  245. $input = $_POST['trnsfr_domain'];
  246. $domainname = $IDN->encode($input);
  247. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  248. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  249. <command>
  250. <transfer op="request">
  251. <domain:transfer xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  252. <domain:name>' . $domainname . '</domain:name>
  253. <domain:authInfo>
  254. <domain:pw>' . $_POST['trnsfr_pw'] . '</domain:pw>
  255. </domain:authInfo>
  256. </domain:transfer>
  257. </transfer>
  258. <clTRID>TRANS-' . rand(1000, 9999) . '</clTRID>
  259. </command>
  260. </epp>';
  261. $request_xml = $client->request($request);
  262. $response_xml = htmlentities($request_xml);
  263. $response_chnge = simplexml_load_string($request_xml);
  264. $success = $response_chnge->response->result->attributes()->code[0];
  265. if ($success == '1000') {
  266. foreach ($response_chnge->response->result as $resp) {
  267. $msg = $resp->msg; //for whmcs
  268. }
  269. } else {
  270. foreach ($response_chnge->response->result as $resp) {
  271. $msg = $resp->msg; //for whmcs
  272. }
  273. }
  274. /* * ******************************* Aknowledge Message command ************************************* */
  275. } elseif ($_POST['eppCommand'] == 'acknoledge_msg') { #Poll Acknowledge message
  276. $id = Capsule::table('switchepp_store_msgid')->first();
  277. $id = (array) $id;
  278. $client = switchepp_clientloginepp($params); #Epp Connection
  279. if (is_array($client)) {
  280. $error = $client['msg'];
  281. }
  282. $xml1 = switchepp_loggedinepp($client, $params);
  283. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  284. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  285. <command>
  286. <poll op="ack" msgID="' . $id['msgid'] . '"/>
  287. <clTRID>POLLCF-' . rand(1000, 9999) . '</clTRID>
  288. </command>
  289. </epp>';
  290. $request_xml = $client->request($request);
  291. $response_xml = htmlentities($request_xml);
  292. $response_chnge = simplexml_load_string($request_xml);
  293. $success = $response_chnge->response->result->attributes()->code[0];
  294. if ($success == '1000') {
  295. foreach ($response_chnge->response->result as $resp) {
  296. $msg = $resp->msg; //for whmcs
  297. }
  298. } else {
  299. foreach ($response_chnge->response->result as $resp) {
  300. $msg = $resp->msg; //for whmcs
  301. }
  302. }
  303. /* * ******************************* Check Contact1 Command ************************************* */
  304. } elseif ($_POST['eppCommand'] == 'check_contact1') { #check contact 1
  305. $client = switchepp_clientloginepp($params); #Epp Connection
  306. if (is_array($client)) {
  307. $error = $client['msg'];
  308. }
  309. $xml1 = switchepp_loggedinepp($client, $params);
  310. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  311. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  312. <command>
  313. <check>
  314. <contact:check xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  315. <contact:id>' . $_POST['cont1'] . '</contact:id>
  316. <contact:id>' . $_POST['cont2'] . '</contact:id>
  317. </contact:check>
  318. </check>
  319. <clTRID>ABC-12345</clTRID>
  320. </command>
  321. </epp>';
  322. $request_xml = $client->request($request);
  323. $response_xml = htmlentities($request_xml);
  324. $response_chnge = simplexml_load_string($request_xml);
  325. $success = $response_chnge->response->result->attributes()->code[0];
  326. if ($success == '1000') {
  327. foreach ($response_chnge->response->result as $resp) {
  328. $msg = $resp->msg; //for whmcs
  329. }
  330. } else {
  331. foreach ($response_chnge->response->result as $resp) {
  332. $msg = $resp->msg; //for whmcs
  333. }
  334. }
  335. /* * ******************************* Create Contact1 command ************************************* */
  336. } elseif ($_POST['eppCommand'] == 'create_con1') { #create contact 1
  337. $client = switchepp_clientloginepp($params); #Epp Connection
  338. if (is_array($client)) {
  339. $error = $client['msg'];
  340. }
  341. $xml1 = switchepp_loggedinepp($client, $params);
  342. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  343. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  344. <command>
  345. <create>
  346. <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  347. <contact:id>' . $_POST['contact_id1'] . '</contact:id>
  348. <contact:postalInfo type="loc">
  349. <contact:name>' . $_POST['cfullname'] . '</contact:name>
  350. <contact:org>' . $_POST['ccompanyname'] . '</contact:org>
  351. <contact:addr>
  352. <contact:street>' . $_POST['caddress1'] . '</contact:street>
  353. <contact:street>' . $_POST['caddress2'] . '</contact:street>
  354. <contact:city>' . $_POST['ccity'] . '</contact:city>
  355. <contact:pc>' . $_POST['cpostcode'] . '</contact:pc>
  356. <contact:cc>' . $_POST['ccountry'] . '</contact:cc>
  357. </contact:addr>
  358. </contact:postalInfo>
  359. <contact:voice>' . $_POST['cphone'] . '</contact:voice>
  360. <contact:email>' . $_POST['cemail'] . '</contact:email>
  361. <contact:authInfo>
  362. <contact:pw>Con-' . time() . '</contact:pw>
  363. </contact:authInfo>
  364. </contact:create>
  365. </create>
  366. <clTRID>admin-' . rand(1000, 9999) . '</clTRID>
  367. </command>
  368. </epp>';
  369. $request_xml = $client->request($request);
  370. $response_xml = htmlentities($request_xml);
  371. $response_contact = simplexml_load_string($request_xml);
  372. $success = $response_contact->response->result->attributes()->code[0];
  373. $admin_id = $response_contact->response->resData->children('contact', true)->creData->id;
  374. if ($success == '1000') {
  375. $rows = Capsule::table('switchepp_contact_details')->where('type', 'admin')->count();
  376. if ($rows > 0) {
  377. try {
  378. Capsule::table('switchepp_contact_details')->where('type', 'admin')->update(['contact_id' => $admin_id]);
  379. } catch (Exception $ex) {
  380. logActivity("Could't update into table switchepp_contact_details: {$ex->getMessage()}");
  381. }
  382. } else {
  383. try {
  384. Capsule::table('switchepp_contact_details')->insert(['contact_id' => $admin_id]);
  385. } catch (Exception $ex) {
  386. logActivity("Could't insert into table switchepp_contact_details: {$ex->getMessage()}");
  387. }
  388. }
  389. }
  390. $response_chnge = simplexml_load_string($request_xml);
  391. $success = $response_chnge->response->result->attributes()->code[0];
  392. if ($success == '1000') {
  393. foreach ($response_chnge->response->result as $resp) {
  394. $msg = $resp->msg; //for whmcs
  395. }
  396. } else {
  397. foreach ($response_chnge->response->result as $resp) {
  398. $msg = $resp->msg; //for whmcs
  399. }
  400. }
  401. /* * ******************************* Create NS1 command ************************************* */
  402. } elseif ($_POST['eppCommand'] == 'create_ns1') { #create hostname 1
  403. $client = switchepp_clientloginepp($params); #Epp Connection
  404. if (is_array($client)) {
  405. $error = $client['msg'];
  406. }
  407. $xml1 = switchepp_loggedinepp($client, $params);
  408. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  409. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  410. <command>
  411. <create>
  412. <host:create xmlns:host="urn:ietf:params:xml:ns:host-1.0">
  413. <host:name>' . $_POST['host_name'] . '</host:name>
  414. <host:addr ip="v4">' . $_POST['ip'] . '</host:addr>
  415. </host:create>
  416. </create>
  417. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  418. </command>
  419. </epp>';
  420. $request_xml = $client->request($request);
  421. $response_xml = htmlentities($request_xml);
  422. //if($success == '1000'){
  423. //$query = mysql_query("SELECT * FROM `switchepp_store_host`");
  424. //}
  425. $response_chnge = simplexml_load_string($request_xml);
  426. $success = $response_chnge->response->result->attributes()->code[0];
  427. if ($success == '1000') {
  428. foreach ($response_chnge->response->result as $resp) {
  429. $msg = $resp->msg; //for whmcs
  430. }
  431. } else {
  432. foreach ($response_chnge->response->result as $resp) {
  433. $msg = $resp->msg; //for whmcs
  434. }
  435. }
  436. /* * ******************************* Domain Info 1 command ************************************* */
  437. } elseif ($_POST['eppCommand'] == 'domain_info') { #domain info 1
  438. $client = switchepp_clientloginepp($params); #Epp Connection
  439. if (is_array($client)) {
  440. $error = $client['msg'];
  441. }
  442. $xml1 = switchepp_loggedinepp($client, $params);
  443. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  444. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  445. <command>
  446. <info>
  447. <domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  448. <domain:name>' . $_POST['domaininfo'] . '</domain:name>
  449. </domain:info>
  450. </info>
  451. <clTRID>DOMAININFO-' . rand(100, 999) . '</clTRID>
  452. </command>
  453. </epp>';
  454. $request_xml = $client->request($request);
  455. $response_xml = htmlentities($request_xml);
  456. $response_chnge = simplexml_load_string($request_xml);
  457. $success = $response_chnge->response->result->attributes()->code[0];
  458. if ($success == '1000') {
  459. foreach ($response_chnge->response->result as $resp) {
  460. $msg = $resp->msg; //for whmcs
  461. }
  462. } else {
  463. foreach ($response_chnge->response->result as $resp) {
  464. $msg = $resp->msg; //for whmcs
  465. }
  466. }
  467. /* * ******************************* Info Tech Contact command ************************************* */
  468. } elseif ($_POST['eppCommand'] == 'info_tech_contact') { #Tech contact info
  469. $client = switchepp_clientloginepp($params); #Epp Connection
  470. if (is_array($client)) {
  471. $error = $client['msg'];
  472. }
  473. $xml1 = switchepp_loggedinepp($client, $params);
  474. $data = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  475. $result = (array) $data;
  476. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  477. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  478. <command>
  479. <info>
  480. <contact:info
  481. xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  482. <contact:id>' . $_POST['cont_info'] . '</contact:id>
  483. </contact:info>
  484. </info>
  485. <clTRID>ABC-12345</clTRID>
  486. </command>
  487. </epp>';
  488. $request_xml = $client->request($request);
  489. $response_xml = htmlentities($request_xml);
  490. $response_chnge = simplexml_load_string($request_xml);
  491. $success = $response_chnge->response->result->attributes()->code[0];
  492. if ($success == '1000') {
  493. foreach ($response_chnge->response->result as $resp) {
  494. $msg = $resp->msg; //for whmcs
  495. }
  496. } else {
  497. foreach ($response_chnge->response->result as $resp) {
  498. $msg = $resp->msg; //for whmcs
  499. }
  500. }
  501. /* * ******************************* Update Domain1 command ************************************* */
  502. } elseif ($_POST['eppCommand'] == 'update_domain_1') {
  503. $client = switchepp_clientloginepp($params); #Epp Connection
  504. if (is_array($client)) {
  505. $error = $client['msg'];
  506. }
  507. $xml1 = switchepp_loggedinepp($client, $params);
  508. # Generate XML for nameservers
  509. if ($nameserver1 = $_POST["ns1"]) {
  510. $add_hosts = ' <domain:hostObj>' . $nameserver1 . '</domain:hostObj> ';
  511. }
  512. if ($nameserver2 = $_POST["ns2"]) {
  513. $add_hosts .= ' <domain:hostObj>' . $nameserver2 . '</domain:hostObj> ';
  514. }
  515. if ($nameserver3 = $_POST["ns3"]) {
  516. $add_hosts .= ' <domain:hostObj>' . $nameserver3 . '</domain:hostObj> ';
  517. }
  518. if ($nameserver4 = $_POST["ns4"]) {
  519. $add_hosts .= ' <domain:hostObj>' . $nameserver4 . '</domain:hostObj> ';
  520. }
  521. if ($nameserver5 = $_POST["ns5"]) {
  522. $add_hosts .= ' <domain:hostObj>' . $nameserver5 . '</domain:hostObj> ';
  523. }
  524. $data = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  525. $data = (array) $data;
  526. $IDN = new IDNA();
  527. $input = $_POST['up_domain_name'];
  528. $domainname = $IDN->encode($input);
  529. $add_input = $_POST['up_add_ns'];
  530. $add_ns = $IDN->encode($add_input);
  531. $rem_input = $_POST['up_rem_ns'];
  532. $rem_ns = $IDN->encode($rem_input);
  533. $dnssec = '';
  534. if (isset($_POST['up_d_dnssec']) && $_POST['up_d_dnssec'] == '1') {
  535. $dnssec = '<extension>
  536. <secDNS:update xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
  537. <secDNS:add>
  538. <secDNS:dsData>
  539. <secDNS:keyTag>' . substr(time(), 0, 5) . '</secDNS:keyTag>
  540. <secDNS:alg>3</secDNS:alg>
  541. <secDNS:digestType>1</secDNS:digestType>
  542. <secDNS:digest>' . strtoupper(bin2hex(uniqid())) . '</secDNS:digest>
  543. </secDNS:dsData>
  544. </secDNS:add>
  545. </secDNS:update>
  546. </extension>';
  547. }
  548. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  549. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  550. <command>
  551. <update>
  552. <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  553. <domain:name>' . $domainname . '</domain:name>
  554. <domain:add>
  555. <domain:ns>
  556. <domain:hostObj>' . $add_ns . '</domain:hostObj>
  557. </domain:ns>
  558. <domain:contact type="tech">' . $_POST['up_contact_id'] . '</domain:contact>
  559. </domain:add>
  560. <domain:rem>
  561. <domain:ns>
  562. <domain:hostObj>' . $rem_ns . '</domain:hostObj>
  563. </domain:ns>
  564. </domain:rem>
  565. <domain:chg>
  566. <domain:registrant>' . $_POST['up_contact_id'] . '</domain:registrant>
  567. </domain:chg>
  568. </domain:update>
  569. </update>
  570. ' . $dnssec . '
  571. <clTRID>clientref-' . rand(1000, 9999) . '</clTRID>
  572. </command>
  573. </epp>';
  574. $request_xml = $client->request($request);
  575. $response_xml = htmlentities($request_xml);
  576. $response_chnge = simplexml_load_string($request_xml);
  577. $success = $response_chnge->response->result->attributes()->code[0];
  578. if ($success == '1000') {
  579. foreach ($response_chnge->response->result as $resp) {
  580. $msg = $resp->msg; //for whmcs
  581. }
  582. } else {
  583. foreach ($response_chnge->response->result as $resp) {
  584. $msg = $resp->msg; //for whmcs
  585. }
  586. }
  587. /* * ******************************* Update Domain1 contact command ************************************* */
  588. } elseif ($_POST['eppCommand'] == 'update_domain_1_contact') {
  589. $client = switchepp_clientloginepp($params); #Epp Connection
  590. if (is_array($client)) {
  591. $error = $client['msg'];
  592. }
  593. $IDN = new IDNA();
  594. $xml1 = switchepp_loggedinepp($client, $params);
  595. $input = $_POST['c_up_domain_name'];
  596. error_log("INPUT: \"" . $input . "\" POST: \"" . $_POST['c_up_domain_name'] . "\"");
  597. $domainname = $IDN->encode($input);
  598. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  599. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  600. <command>
  601. <update>
  602. <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  603. <domain:name>' . $domainname . '</domain:name>
  604. <domain:chg>
  605. <domain:registrant>' . $_POST['c_up_contact_id'] . '</domain:registrant>
  606. </domain:chg>
  607. </domain:update>
  608. </update>
  609. <clTRID>clientref-' . rand(1000, 9999) . '</clTRID>
  610. </command>
  611. </epp>';
  612. $request_xml = $client->request($request);
  613. $response_xml = htmlentities($request_xml);
  614. $response_chnge = simplexml_load_string($request_xml);
  615. $success = $response_chnge->response->result->attributes()->code[0];
  616. if ($success == '1000') {
  617. foreach ($response_chnge->response->result as $resp) {
  618. $msg = $resp->msg; //for whmcs
  619. }
  620. } else {
  621. foreach ($response_chnge->response->result as $resp) {
  622. $msg = $resp->msg; //for whmcs
  623. }
  624. }
  625. /* * ******************************* Create Contact 2 command ************************************* */
  626. } elseif ($_POST['eppCommand'] == 'create_con2') {
  627. $client = switchepp_clientloginepp($params); #Epp Connection
  628. if (is_array($client)) {
  629. $error = $client['msg'];
  630. }
  631. $xml1 = switchepp_loggedinepp($client, $params);
  632. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  633. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  634. <command>
  635. <create>
  636. <contact:create xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  637. <contact:id>' . $_POST['contact_id2'] . '</contact:id>
  638. <contact:postalInfo type="loc">
  639. <contact:name>' . $_POST['cfullname2'] . '</contact:name>
  640. <contact:org>' . $_POST['ccompanyname2'] . '</contact:org>
  641. <contact:addr>
  642. <contact:street>' . $_POST['caddress12'] . '</contact:street>
  643. <contact:street>' . $_POST['caddress22'] . '</contact:street>
  644. <contact:city>' . $_POST['ccity2'] . '</contact:city>
  645. <contact:pc>' . $_POST['cpostcode2'] . '</contact:pc>
  646. <contact:cc>' . $_POST['ccountry2'] . '</contact:cc>
  647. </contact:addr>
  648. </contact:postalInfo>
  649. <contact:voice>' . $_POST['cphone2'] . '</contact:voice>
  650. <contact:email>' . $_POST['cemail2'] . '</contact:email>
  651. <contact:authInfo>
  652. <contact:pw>Con-' . time() . '</contact:pw>
  653. </contact:authInfo>
  654. </contact:create>
  655. </create>
  656. <clTRID>admin-' . rand(1000, 9999) . '</clTRID>
  657. </command>
  658. </epp>';
  659. $request_xml = $client->request($request);
  660. $response_xml = htmlentities($request_xml);
  661. $response_contact = simplexml_load_string($request_xml);
  662. $success = $response_contact->response->result->attributes()->code[0];
  663. $tech_id = $response_contact->response->resData->children('contact', true)->creData->id;
  664. if ($success == '1000') {
  665. $rows = Capsule::table('switchepp_contact_details')->where('type', 'tech')->count();
  666. if ($rows > 0) {
  667. try {
  668. Capsule::table('switchepp_contact_details')->where('type', 'tech')->update(['contact_id' => $tech_id]);
  669. } catch (Exception $ex) {
  670. logActivity("Could't update into table switchepp_contact_details: {$ex->getMessage()}");
  671. }
  672. } else {
  673. try {
  674. Capsule::table('switchepp_contact_details')->insert(['contact_id' => $tech_id]);
  675. } catch (Exception $ex) {
  676. logActivity("Could't insert into table switchepp_contact_details: {$ex->getMessage()}");
  677. }
  678. }
  679. }
  680. $response_chnge = simplexml_load_string($request_xml);
  681. $success = $response_chnge->response->result->attributes()->code[0];
  682. if ($success == '1000') {
  683. foreach ($response_chnge->response->result as $resp) {
  684. $msg = $resp->msg; //for whmcs
  685. }
  686. } else {
  687. foreach ($response_chnge->response->result as $resp) {
  688. $msg = $resp->msg; //for whmcs
  689. }
  690. }
  691. /* * ******************************* Domain 1 Delete command ************************************* */
  692. } elseif ($_POST['eppCommand'] == 'domain_delete1') {
  693. $client = switchepp_clientloginepp($params); #Epp Connection
  694. if (is_array($client)) {
  695. $error = $client['msg'];
  696. }
  697. $xml1 = switchepp_loggedinepp($client, $params);
  698. $IDN = new IDNA();
  699. $input = $_POST['domaininfo'];
  700. $domainname = $IDN->encode($input);
  701. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  702. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  703. <command>
  704. <delete>
  705. <domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  706. <domain:name>' . $domainname . '</domain:name>
  707. </domain:delete>
  708. </delete>
  709. <clTRID>ABC-12345</clTRID>
  710. </command>
  711. </epp>';
  712. $request_xml = $client->request($request);
  713. $response_xml = htmlentities($request_xml);
  714. $response_chnge = simplexml_load_string($request_xml);
  715. $success = $response_chnge->response->result->attributes()->code[0];
  716. if ($success == '1000') {
  717. foreach ($response_chnge->response->result as $resp) {
  718. $msg = $resp->msg; //for whmcs
  719. }
  720. } else {
  721. foreach ($response_chnge->response->result as $resp) {
  722. $msg = $resp->msg; //for whmcs
  723. }
  724. }
  725. /* * ******************************* Create Domain1 command ************************************* */
  726. } elseif ($_POST['eppCommand'] == 'create_domain_1') {
  727. $client = switchepp_clientloginepp($params); #Epp Connection
  728. if (is_array($client)) {
  729. $error = $client['msg'];
  730. }
  731. $xml1 = switchepp_loggedinepp($client, $params);
  732. $data = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  733. $data = (array) $data;
  734. $data1 = Capsule::table('switchepp_contact_details')->where('type', 'tech')->first();
  735. $data1 = (array) $data1;
  736. //******************* NameServer *************
  737. if ($_POST['ns1']) {
  738. $ns .= '<domain:hostObj>' . $_POST['ns1'] . '</domain:hostObj>';
  739. }
  740. if ($_POST['ns2']) {
  741. $ns .= '<domain:hostObj>' . $_POST['ns2'] . '</domain:hostObj>';
  742. }
  743. if ($_POST['ns3']) {
  744. $ns .= '<domain:hostObj>' . $_POST['ns3'] . '</domain:hostObj>';
  745. }
  746. if ($_POST['ns4']) {
  747. $ns .= '<domain:hostObj>' . $_POST['ns4'] . '</domain:hostObj>';
  748. }
  749. if ($ns) {
  750. $nsnameserver = ' <domain:ns>
  751. ' . $ns . '
  752. </domain:ns>';
  753. }
  754. $dnssec = '';
  755. if (isset($_POST['cr_d1_dnssec']) && $_POST['cr_d1_dnssec'] == '1') {
  756. $dnssec = '<extension>
  757. <secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
  758. <secDNS:dsData>
  759. <secDNS:keyTag>' . substr(time(), 0, 5) . '</secDNS:keyTag>
  760. <secDNS:alg>3</secDNS:alg>
  761. <secDNS:digestType>1</secDNS:digestType>
  762. <secDNS:digest>' . strtoupper(bin2hex(uniqid())) . '</secDNS:digest>
  763. </secDNS:dsData>
  764. </secDNS:create>
  765. </extension>';
  766. }
  767. $IDN = new IDNA();
  768. $input = $_POST['domain_name'];
  769. $domainname = $IDN->encode($input);
  770. //domian create command
  771. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  772. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  773. <command>
  774. <create>
  775. <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  776. <domain:name>' . $domainname . '</domain:name>
  777. ' . $nsnameserver . '
  778. <domain:registrant>' . $_POST['reg_con_id'] . '</domain:registrant>
  779. <domain:authInfo>
  780. <domain:pw>switchpwd' . uniqid() . '</domain:pw>
  781. </domain:authInfo>
  782. </domain:create>
  783. </create>
  784. ' . $dnssec . '
  785. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  786. </command>
  787. </epp>';
  788. $request_xml = $client->request($request);
  789. $response_xml = htmlentities($request_xml);
  790. $response_chnge = simplexml_load_string($request_xml);
  791. $success = $response_chnge->response->result->attributes()->code[0];
  792. if ($success == '1000') {
  793. foreach ($response_chnge->response->result as $resp) {
  794. $msg = $resp->msg; //for whmcs
  795. }
  796. } else {
  797. foreach ($response_chnge->response->result as $resp) {
  798. $msg = $resp->msg; //for whmcs
  799. }
  800. }
  801. /* * ******************************* Contact Delete 1 command ************************************* */
  802. } elseif ($_POST['eppCommand'] == 'contact_delete_1') {
  803. $client = switchepp_clientloginepp($params); #Epp Connection
  804. if (is_array($client)) {
  805. $error = $client['msg'];
  806. }
  807. $xml1 = switchepp_loggedinepp($client, $params);
  808. $data = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  809. $data = (array) $data;
  810. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  811. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  812. <command>
  813. <delete>
  814. <contact:delete xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  815. <contact:id>' . $_POST['del_contact_id'] . '</contact:id>
  816. </contact:delete>
  817. </delete>
  818. <clTRID>ABC-12345</clTRID>
  819. </command>
  820. </epp>';
  821. $request_xml = $client->request($request);
  822. $response_xml = htmlentities($request_xml);
  823. $response_chnge = simplexml_load_string($request_xml);
  824. $success = $response_chnge->response->result->attributes()->code[0];
  825. if ($success == '1000') {
  826. foreach ($response_chnge->response->result as $resp) {
  827. $msg = $resp->msg; //for whmcs
  828. }
  829. } else {
  830. foreach ($response_chnge->response->result as $resp) {
  831. $msg = $resp->msg; //for whmcs
  832. }
  833. }
  834. /* * ******************************* Delete NS1 command ************************************* */
  835. } elseif ($_POST['eppCommand'] == 'delete_ns_1') {
  836. $client = switchepp_clientloginepp($params); #Epp Connection
  837. if (is_array($client)) {
  838. $error = $client['msg'];
  839. }
  840. $xml1 = switchepp_loggedinepp($client, $params);
  841. $IDN = new IDNA();
  842. $input = $_POST['nameserver'];
  843. $nameserver = $IDN->encode($input);
  844. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  845. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  846. <command>
  847. <delete>
  848. <host:delete xmlns:host="urn:ietf:params:xml:ns:host-1.0">
  849. <host:name>' . $nameserver . '</host:name>
  850. </host:delete>
  851. </delete>
  852. <clTRID>ABC-12345</clTRID>
  853. </command>
  854. </epp>';
  855. $request_xml = $client->request($request);
  856. $response_xml = htmlentities($request_xml);
  857. $response_chnge = simplexml_load_string($request_xml);
  858. $success = $response_chnge->response->result->attributes()->code[0];
  859. if ($success == '1000') {
  860. foreach ($response_chnge->response->result as $resp) {
  861. $msg = $resp->msg; //for whmcs
  862. }
  863. } else {
  864. foreach ($response_chnge->response->result as $resp) {
  865. $msg = $resp->msg; //for whmcs
  866. }
  867. }
  868. /* * ******************************* Check Domain 2 command ************************************* */
  869. } elseif ($_POST['eppCommand'] == 'check_domain_2') {
  870. $client = switchepp_clientloginepp($params); #Epp Connection
  871. if (is_array($client)) {
  872. $error = $client['msg'];
  873. }
  874. $xml1 = switchepp_loggedinepp($client, $params);
  875. $IDN = new IDNA();
  876. $input = $_POST['domain_name2'];
  877. $domainname = $IDN->encode($input);
  878. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  879. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  880. <command>
  881. <check>
  882. <domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  883. <domain:name>' . $domainname . '</domain:name>
  884. </domain:check>
  885. </check>
  886. <clTRID>ABC-12345</clTRID>
  887. </command>
  888. </epp>';
  889. $request_xml = $client->request($request);
  890. $response_xml = htmlentities($request_xml);
  891. $response_chnge = simplexml_load_string($request_xml);
  892. $success = $response_chnge->response->result->attributes()->code[0];
  893. if ($success == '1000') {
  894. foreach ($response_chnge->response->result as $resp) {
  895. $msg = $resp->msg; //for whmcs
  896. }
  897. } else {
  898. foreach ($response_chnge->response->result as $resp) {
  899. $msg = $resp->msg; //for whmcs
  900. }
  901. }
  902. /* * ******************************* Create Domain 2 command ************************************* */
  903. } elseif ($_POST['eppCommand'] == 'create_domain_2') {
  904. $client = switchepp_clientloginepp($params); #Epp Connection
  905. if (is_array($client)) {
  906. $error = $client['msg'];
  907. }
  908. $xml1 = switchepp_loggedinepp($client, $params);
  909. $data = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  910. $data = (array) $data;
  911. $data1 = Capsule::table('switchepp_contact_details')->where('type', 'tech')->first();
  912. $data1 = (array) $data1;
  913. //*******************NameServer*************#
  914. if ($_POST['ns1']) {
  915. $ns .= '<domain:hostObj>' . $_POST['ns1'] . '</domain:hostObj>';
  916. }
  917. if ($_POST['ns2']) {
  918. $ns .= '<domain:hostObj>' . $_POST['ns2'] . '</domain:hostObj>';
  919. }
  920. if ($_POST['ns3']) {
  921. $ns .= '<domain:hostObj>' . $_POST['ns3'] . '</domain:hostObj>';
  922. }
  923. if ($_POST['ns4']) {
  924. $ns .= '<domain:hostObj>' . $_POST['ns4'] . '</domain:hostObj>';
  925. }
  926. if ($ns) {
  927. $nsnameserver = ' <domain:ns>
  928. ' . $ns . '
  929. </domain:ns>';
  930. }
  931. $IDN = new IDNA();
  932. $input = $_POST['domain_name'];
  933. $domainname = $IDN->encode($input);
  934. //domian create command
  935. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  936. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  937. <command>
  938. <create>
  939. <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  940. <domain:name>' . $domainname . '</domain:name>
  941. ' . $nsnameserver . '
  942. <domain:registrant>' . $_POST['tech_con_id'] . '</domain:registrant>
  943. <domain:authInfo>
  944. <domain:pw>switchpwd' . uniqid() . '</domain:pw>
  945. </domain:authInfo>
  946. </domain:create>
  947. </create>
  948. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  949. </command>
  950. </epp>';
  951. $request_xml = $client->request($request);
  952. $response_xml = htmlentities($request_xml);
  953. $response_chnge = simplexml_load_string($request_xml);
  954. $success = $response_chnge->response->result->attributes()->code[0];
  955. if ($success == '1000') {
  956. foreach ($response_chnge->response->result as $resp) {
  957. $msg = $resp->msg; //for whmcs
  958. }
  959. } else {
  960. foreach ($response_chnge->response->result as $resp) {
  961. $msg = $resp->msg; //for whmcs
  962. }
  963. }
  964. /* * ******************************* Create NS2 command ************************************* */
  965. } elseif ($_POST['eppCommand'] == 'create_ns2') {
  966. $client = switchepp_clientloginepp($params); #Epp Connection
  967. if (is_array($client)) {
  968. $error = $client['msg'];
  969. }
  970. $xml1 = switchepp_loggedinepp($client, $params);
  971. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  972. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  973. <command>
  974. <create>
  975. <host:create xmlns:host="urn:ietf:params:xml:ns:host-1.0">
  976. <host:name>' . $_POST['host_name'] . '</host:name>
  977. <host:addr ip="v4">' . $_POST['ip'] . '</host:addr>
  978. </host:create>
  979. </create>
  980. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  981. </command>
  982. </epp>';
  983. $request_xml = $client->request($request);
  984. $response_xml = htmlentities($request_xml);
  985. $response_chnge = simplexml_load_string($request_xml);
  986. $success = $response_chnge->response->result->attributes()->code[0];
  987. if ($success == '1000') {
  988. foreach ($response_chnge->response->result as $resp) {
  989. $msg = $resp->msg; //for whmcs
  990. }
  991. } else {
  992. foreach ($response_chnge->response->result as $resp) {
  993. $msg = $resp->msg; //for whmcs
  994. }
  995. }
  996. /* * ******************************* Update Domain 1 command ************************************* */
  997. } elseif ($_POST['eppCommand'] == 'update_domain1w_2') {
  998. $client = switchepp_clientloginepp($params); #Epp Connection
  999. if (is_array($client)) {
  1000. $error = $client['msg'];
  1001. }
  1002. $xml1 = switchepp_loggedinepp($client, $params);
  1003. $IDN = new IDNA();
  1004. $input = $_POST['domain'];
  1005. $domainname = $IDN->encode($input);
  1006. $input1 = $_POST['upd_nameserver'];
  1007. $nameserver = $IDN->encode($input1);
  1008. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1009. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1010. <command>
  1011. <update>
  1012. <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  1013. <domain:name>' . $domainname . '</domain:name>
  1014. <domain:add>
  1015. <domain:ns>
  1016. <domain:hostObj>' . $nameserver . '</domain:hostObj>
  1017. </domain:ns>
  1018. </domain:add>
  1019. <domain:rem/>
  1020. <domain:chg/>
  1021. </domain:update>
  1022. </update>
  1023. <clTRID>Test3</clTRID>
  1024. </command>
  1025. </epp>';
  1026. $request_xml = $client->request($request);
  1027. $response_xml = htmlentities($request_xml);
  1028. $response_chnge = simplexml_load_string($request_xml);
  1029. $success = $response_chnge->response->result->attributes()->code[0];
  1030. if ($success == '1000') {
  1031. foreach ($response_chnge->response->result as $resp) {
  1032. $msg = $resp->msg; //for whmcs
  1033. }
  1034. } else {
  1035. foreach ($response_chnge->response->result as $resp) {
  1036. $msg = $resp->msg; //for whmcs
  1037. }
  1038. }
  1039. /* * ******************************* Update Contact 2 command ************************************* */
  1040. } elseif ($_POST['eppCommand'] == 'update_con_2') {
  1041. $client = switchepp_clientloginepp($params); #Epp Connection
  1042. if (is_array($client)) {
  1043. $error = $client['msg'];
  1044. }
  1045. $xml1 = switchepp_loggedinepp($client, $params);
  1046. //<contact:id>' . $data['contact_id'] . '</contact:id>
  1047. $data = Capsule::table('switchepp_contact_details')->where('type', 'tech')->first();
  1048. $data = (array) $data;
  1049. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1050. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1051. <command>
  1052. <update>
  1053. <contact:update xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  1054. <contact:id>' . $_POST['contact_id'] . '</contact:id>
  1055. <contact:chg>
  1056. <contact:postalInfo type="loc">
  1057. <contact:org>' . $_POST['cname'] . '</contact:org>
  1058. <contact:addr>
  1059. <contact:street>' . $_POST['add1'] . '</contact:street>
  1060. <contact:street>' . $_POST['add2'] . '</contact:street>
  1061. <contact:city>' . $_POST['up_city'] . '</contact:city>
  1062. <contact:sp>' . $_POST['up_city'] . '</contact:sp>
  1063. <contact:pc>' . $_POST['up_city'] . '</contact:pc>
  1064. <contact:cc>' . $_POST['up_country'] . '</contact:cc>
  1065. </contact:addr>
  1066. </contact:postalInfo>
  1067. <contact:voice>' . $_POST['up_phone'] . '</contact:voice>
  1068. <contact:fax/>
  1069. <contact:email>' . $_POST['email'] . '</contact:email>
  1070. <contact:authInfo>
  1071. <contact:pw>con-' . time() . '</contact:pw>
  1072. </contact:authInfo>
  1073. </contact:chg>
  1074. </contact:update>
  1075. </update>
  1076. <clTRID>clientref-' . rand(1000, 9999) . '</clTRID>
  1077. </command>
  1078. </epp>';
  1079. $request_xml = $client->request($request);
  1080. $response_xml = htmlentities($request_xml);
  1081. $response_chnge = simplexml_load_string($request_xml);
  1082. $success = $response_chnge->response->result->attributes()->code[0];
  1083. if ($success == '1000') {
  1084. foreach ($response_chnge->response->result as $resp) {
  1085. $msg = $resp->msg; //for whmcs
  1086. }
  1087. } else {
  1088. foreach ($response_chnge->response->result as $resp) {
  1089. $msg = $resp->msg; //for whmcs
  1090. }
  1091. }
  1092. /* * ******************************* Delete Domain 1 command ************************************* */
  1093. } elseif ($_POST['eppCommand'] == 'del_domain1') {
  1094. $client = switchepp_clientloginepp($params); #Epp Connection
  1095. if (is_array($client)) {
  1096. $error = $client['msg'];
  1097. }
  1098. $xml1 = switchepp_loggedinepp($client, $params);
  1099. $IDN = new IDNA();
  1100. $input = $_POST['domaininfo'];
  1101. $domainname = $IDN->encode($input);
  1102. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1103. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1104. <command>
  1105. <delete>
  1106. <domain:delete xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  1107. <domain:name>' . $domainname . '</domain:name>
  1108. </domain:delete>
  1109. </delete>
  1110. <clTRID>ABC-12345</clTRID>
  1111. </command>
  1112. </epp>';
  1113. $request_xml = $client->request($request);
  1114. $response_xml = htmlentities($request_xml);
  1115. $response_chnge = simplexml_load_string($request_xml);
  1116. $success = $response_chnge->response->result->attributes()->code[0];
  1117. if ($success == '1000') {
  1118. foreach ($response_chnge->response->result as $resp) {
  1119. $msg = $resp->msg; //for whmcs
  1120. }
  1121. } else {
  1122. foreach ($response_chnge->response->result as $resp) {
  1123. $msg = $resp->msg; //for whmcs
  1124. }
  1125. }
  1126. /* * ******************************* Restore Domain 1 command ************************************* */
  1127. } elseif ($_POST['eppCommand'] == 'restore_domain_1') {
  1128. error_log("RESTORE DOMAIN 1");
  1129. $client = switchepp_clientloginepp($params); #Epp Connection
  1130. if (is_array($client)) {
  1131. $error = $client['msg'];
  1132. }
  1133. error_log("PARAMS: " . print_r($params,true));
  1134. $xml1 = switchepp_loggedinepp($client, $params);
  1135. $IDN = new IDNA();
  1136. $input = $_POST['domain_name1'];
  1137. $domainname = $IDN->encode($input);
  1138. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1139. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  1140. <command>
  1141. <update>
  1142. <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  1143. <domain:name>' . $domainname . '</domain:name>
  1144. <domain:chg/>
  1145. </domain:update>
  1146. </update>
  1147. <extension>
  1148. <rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0" xsi:schemaLocation="urn:ietf:params:xml:ns:rgp-1.0 rgp-1.0.xsd">
  1149. <rgp:restore op="request"/>
  1150. </rgp:update>
  1151. </extension>
  1152. </command>
  1153. </epp>';
  1154. $request_xml = $client->request($request);
  1155. $response_xml = htmlentities($request_xml);
  1156. $response_chnge = simplexml_load_string($request_xml);
  1157. $success = $response_chnge->response->result->attributes()->code[0];
  1158. if ($success == '1000') {
  1159. foreach ($response_chnge->response->result as $resp) {
  1160. $msg = $resp->msg; //for whmcs
  1161. }
  1162. } else {
  1163. foreach ($response_chnge->response->result as $resp) {
  1164. $msg = $resp->msg; //for whmcs
  1165. }
  1166. }
  1167. /* * ******************************* Update Domain Auth command ************************************* */
  1168. } elseif ($_POST['eppCommand'] == 'update_domain_auth') {
  1169. $client = switchepp_clientloginepp($params); #Epp Connection
  1170. if (is_array($client)) {
  1171. $error = $client['msg'];
  1172. }
  1173. $xml1 = switchepp_loggedinepp($client, $params);
  1174. $IDN = new IDNA();
  1175. $input = $_POST['domain_update'];
  1176. $domainname = $IDN->encode($input);
  1177. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1178. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1179. <command>
  1180. <update>
  1181. <domain:update xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  1182. <domain:name>' . $domainname . '</domain:name>
  1183. <domain:chg>
  1184. <domain:authInfo>
  1185. <domain:pw>' . $_POST['auth'] . '</domain:pw>
  1186. </domain:authInfo>
  1187. </domain:chg>
  1188. </domain:update>
  1189. </update>
  1190. <clTRID>Test3</clTRID>
  1191. </command>
  1192. </epp>';
  1193. $request_xml = $client->request($request);
  1194. $response_xml = htmlentities($request_xml);
  1195. $response_chnge = simplexml_load_string($request_xml);
  1196. $success = $response_chnge->response->result->attributes()->code[0];
  1197. if ($success == '1000') {
  1198. foreach ($response_chnge->response->result as $resp) {
  1199. $msg = $resp->msg; //for whmcs
  1200. }
  1201. } else {
  1202. foreach ($response_chnge->response->result as $resp) {
  1203. $msg = $resp->msg; //for whmcs
  1204. }
  1205. }
  1206. }
  1207. }
  1208. function switchepp_clientloginepp($params) {
  1209. try {
  1210. $certFile = __DIR__ . '/../cert/cert.pem';
  1211. $client = new Net_EPP_Client();
  1212. $use_ssl = true;
  1213. if (file_exists($certFile)) {
  1214. $context = stream_context_create();
  1215. stream_context_set_option($context, 'ssl', 'verify_peer', false);
  1216. stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
  1217. stream_context_set_option($context, 'ssl', 'local_cert', $certFile);
  1218. stream_context_set_option($context, 'ssl', 'passphrase', $params['passphrase']);
  1219. $client->connect($params['eppurl'], $params['eppport'], 300, $use_ssl, $context) or die("Not connected with epp server");
  1220. } else {
  1221. $context = false;
  1222. $client->connect($params['eppurl'], $params['eppport'], 300, $use_ssl, $context) or die("Not connected with epp server");
  1223. }
  1224. } catch (Exception $e) {
  1225. $port = $params['eppport'];
  1226. $client = array("error" => 'true', 'msg' => "Connection Error: " . $e->getMessage());
  1227. }
  1228. return $client;
  1229. return $client;
  1230. }
  1231. function switchepp_loggedinepp($client, $params) {
  1232. if (is_array($client)) {
  1233. $error = $client['msg'];
  1234. return $error;
  1235. }
  1236. if ($params['eppurl'] != '' && $params['eppport'] != '' && $params['registrar_password'] != '' && $params['registrar_id'] != '') {
  1237. $request = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1238. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1239. <command>
  1240. <login>
  1241. <clID>' . $params['registrar_id'] . '</clID>
  1242. <pw>' . $params['registrar_password'] . '</pw>
  1243. <options>
  1244. <version>1.0</version>
  1245. <lang>en</lang>
  1246. </options>
  1247. <svcs>
  1248. <objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>
  1249. <objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>
  1250. <objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
  1251. <svcExtension>
  1252. <extURI>urn:ietf:params:xml:ns:rgp-1.0</extURI>
  1253. <extURI>urn:ietf:params:xml:ns:changePoll-1.0</extURI>
  1254. <extURI>https://www.nic.ch/epp/balance-1.0</extURI>
  1255. </svcExtension>
  1256. </svcs>
  1257. </login>
  1258. <clTRID>' . rand(9999999, 100000) . '</clTRID>
  1259. </command>
  1260. </epp>';
  1261. //error_log("switchepp_loggedinepp: " . $client . " | " . $params);
  1262. $response = $client->request($request);
  1263. return $response;
  1264. }
  1265. }
  1266. function switchepp_domain_info($domain) {
  1267. $IDN = new IDNA();
  1268. $input = $domain;
  1269. $domainname = $IDN->encode($input);
  1270. $xml = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1271. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1272. <command>
  1273. <info>
  1274. <domain:info xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  1275. <domain:name>' . $domainname . '</domain:name>
  1276. </domain:info>
  1277. </info>
  1278. <clTRID>clientref-' . rand(100, 999) . '</clTRID>
  1279. </command>
  1280. </epp>';
  1281. return $xml;
  1282. }
  1283. ?><html>
  1284. <head>
  1285. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
  1286. <script>
  1287. $(document).ready(function () {
  1288. $('#selectcommand').change(function () {
  1289. var command = this.value;
  1290. if (command == 'create_con1') {
  1291. //alert(command);
  1292. $('#createContact1').css('display', 'block');
  1293. $('#contactInfo').css('display', 'none');
  1294. } else {
  1295. $('#createContact1').css('display', 'none');
  1296. }
  1297. if (command == 'create_con2') {
  1298. //alert(command);
  1299. $('#createContact2').css('display', 'block');
  1300. $('#contactInfo').css('display', 'none');
  1301. } else {
  1302. $('#createContact2').css('display', 'none');
  1303. }
  1304. if (command == 'update_con_2') {
  1305. alert(command);
  1306. $("#updateContact").css("display", "block");
  1307. } else {
  1308. $("#updateContact").css("display", "none");
  1309. }
  1310. if (command == 'info_tech_contact') {
  1311. $("#info_tech_contact").css("display", "block");
  1312. } else {
  1313. $("#info_tech_contact").css("display", "none");
  1314. }
  1315. if (command == 'transfer_domain1') {
  1316. $('#transferDomain').css('display', 'block');
  1317. } else {
  1318. $('#transferDomain').css('display', 'none');
  1319. }
  1320. if (command == 'create_ns1' || command == 'create_ns2') {
  1321. $("#create_name_server1").css("display", "block");
  1322. } else {
  1323. $("#create_name_server1").css("display", "none");
  1324. }
  1325. if (command == 'check_contact1') {
  1326. $("#check_contact1").css("display", "block");
  1327. } else {
  1328. $("#check_contact1").css("display", "none");
  1329. }
  1330. if (command == 'update_domain1w_2') {
  1331. $("#update_domain1_2").css("display", "block");
  1332. } else {
  1333. $("#update_domain1_2").css("display", "none");
  1334. }
  1335. if (command == 'update_domain_auth') {
  1336. $("#update_domain_auth").css("display", "block");
  1337. } else {
  1338. $("#update_domain_auth").css("display", "none");
  1339. }
  1340. if (command == 'delete_ns_1') {
  1341. $("#delete_ns_1").css("display", "block");
  1342. } else {
  1343. $("#delete_ns_1").css("display", "none");
  1344. }
  1345. if (command == 'contact_delete_1') {
  1346. $("#contact_delete_1").css("display", "block");
  1347. } else {
  1348. $("#contact_delete_1").css("display", "none");
  1349. }
  1350. if (command == 'check_domain_2') {
  1351. $("#check_domain_2").css("display", "block");
  1352. } else {
  1353. $("#check_domain_2").css("display", "none");
  1354. }
  1355. if (command == 'create_domain_1' || command == 'create_domain_2') {
  1356. $("#create_domain").css("display", "block");
  1357. } else {
  1358. $("#create_domain").css("display", "none");
  1359. }
  1360. if (command == 'restore_domain_1') {
  1361. $("#restore_domain_1").css("display", "block");
  1362. } else {
  1363. $("#restore_domain_1").css("display", "none");
  1364. }
  1365. if (command == 'update_domain_1') {
  1366. $("#update_domain_1").css("display", "block");
  1367. } else {
  1368. $("#update_domain_1").css("display", "none");
  1369. }
  1370. if (command == 'update_domain_1_contact') {
  1371. $("#update_domain_1_contact").css("display", "block");
  1372. } else {
  1373. $("#update_domain_1_contact").css("display", "none");
  1374. }
  1375. if (command == 'login') {
  1376. $("#changepw").css('display', 'block');
  1377. } else {
  1378. $("#changepw").css('display', 'none');
  1379. }
  1380. if (command == 'logout') {
  1381. $("#update_domain_auth").css("display", "none");
  1382. }
  1383. if (command == 'contact_info') {
  1384. $('#contactInfo').css('display', 'block');
  1385. $('#createContact').css('display', 'none');
  1386. } else {
  1387. $('#contactInfo').css('display', 'none');
  1388. }
  1389. // if (command == 'contact_delete1') {
  1390. // $('#contactInfo').css('display', 'block');
  1391. // //$('#createContact').css('display', 'none');
  1392. // } else {
  1393. // $('#contactInfo').css('display', 'none');
  1394. // }
  1395. if (command == 'domain_create') {
  1396. $('#optionsforcontacts').css('display', 'block');
  1397. } else {
  1398. $('#optionsforcontacts').css('display', 'none');
  1399. }
  1400. if (command == 'domain_info' || command == 'domain_check' || command == 'domain_delete1' || command == 'del_domain1') {
  1401. $('#domaininfo').css('display', 'block');
  1402. } else {
  1403. $('#domaininfo').css('display', 'none');
  1404. }
  1405. $('.det').click(function () {
  1406. // alert(this.id);
  1407. var selected = this.id;
  1408. if (selected == 'existing') {
  1409. $('#selectedoption').val('existing');
  1410. } else {
  1411. $('#selectedoption').val('newdetails');
  1412. $('#createContactfordomain').css('display', 'block');
  1413. }
  1414. });
  1415. });
  1416. });
  1417. </script>
  1418. </head>
  1419. <body>
  1420. <?php
  1421. $rows = Capsule::table('switchepp_login_details')->count();
  1422. $data = Capsule::table('switchepp_login_details')->first();
  1423. $data = (array) $data;
  1424. ?>
  1425. <div style="border:1px solid red;float:left;width: 50%;background: #dff0d8;margin-left: 25%; padding: 10px;border: 1px solid gray;border-radius: 7px;">
  1426. <form action="" method="POST">
  1427. <h3 style="text-align: center;margin-top: 5px;">Try our EPP Demonstrator:</h3>
  1428. <table style="margin: 12px 88px;">
  1429. <tr>
  1430. <td>
  1431. <table>
  1432. <tr>
  1433. <td>Socket Url :</td><td><input type="text" required="required" name="epp_url" value="<?php echo $data['epp_url']; ?>"></td>
  1434. </tr>
  1435. <tr>
  1436. <td>login Id :</td><td><input type="text" required="required" name="login_id" value="<?php echo $data['username']; ?>"></td>
  1437. </tr>
  1438. </table>
  1439. </td>
  1440. <td>
  1441. <table>
  1442. <tr>
  1443. <td>Port :</td><td><input type="text" required="required" name="port" value="<?php echo $data['port']; ?>"></td>
  1444. </tr>
  1445. <tr>
  1446. <td>Password :</td><td><input type="text" required="required" name="password" value="<?php echo $data['password']; ?>"></td>
  1447. </tr>
  1448. </table>
  1449. </td>
  1450. </tr>
  1451. <input type="hidden" name="save" value="Save To Make Connection">
  1452. <!-- <tr>
  1453. <td colspan="3"><input type="submit" name="save" value="Save To Make Connection"></td>
  1454. </tr>-->
  1455. </table>
  1456. <?php //} if ($rows > 0) { ?>
  1457. <p align="center">Select Command to execute</p>
  1458. <p align="center"><select name="eppCommand" id="selectcommand">
  1459. <option value="">Select an EPP command ...</option>
  1460. <!--<optgroup label="EPP Core Commands">-->
  1461. <option value="hello">Hello Command</option>
  1462. <option value="login">1: Login and change password</option>
  1463. <option value="poll">2: Poll and confirm messages</option>
  1464. <option value="transfer_domain1">3: Transfer domain 1</option>
  1465. <option value="acknoledge_msg">4: Acknowledge messages </option>
  1466. <!--</optgroup>-->
  1467. <!--<optgroup label="EPP Contact Commands">-->
  1468. <option value="check_contact1">5: Check contact 1</option>
  1469. <option value="create_con1">6: Create contact 1</option>
  1470. <option value="create_ns1">7: Create name server 1</option>
  1471. <option value="domain_info">8: Info domain 1</option>
  1472. <option value="info_tech_contact">9: Info Tech Contact</option>
  1473. <!--</optgroup>-->
  1474. <!--<optgroup label="EPP Domain Commands">-->
  1475. <option value="update_domain_1">10: Update domain 1</option>
  1476. <option value="create_con2">11: Create contact 2</option>
  1477. <option value="domain_delete1">12: Delete domain 1 (for a holder transfer)</option>
  1478. <option value="restore_domain_1">13: Restore domain 1</option>
  1479. <option value="update_domain_1_contact">14: Update domain 1 Contact</option>
  1480. <option value="contact_delete_1">15: Delete contact 1</option>
  1481. <option value="delete_ns_1">16: Delete name server 1</option>
  1482. <option value="check_domain_2">17: Check domain</option>
  1483. <option value="create_domain_2">18: Create domain 2</option>
  1484. <option value="create_ns2">19: Create name server 2</option>
  1485. <option value="update_domain1w_2">20: Update domain 1 with ns 2</option>
  1486. <option value="update_con_2">21: Update contact 2</option>
  1487. <option value="update_domain_auth">22: Update domain 2 with authinfo</option>
  1488. <option value="create_domain_1">Create domain 1</option>
  1489. <option value="del_domain1">Delete domain 1</option>
  1490. <option value="logout">Logout</option>
  1491. <!--</optgroup>-->
  1492. </select>
  1493. </p>
  1494. <p align="center" style="color: #ff0000;"><?php echo $error; ?></p>
  1495. <?php //} ?>
  1496. <p style="display: none;" id="hostip" align="center">Enter <input type="text" name="ipaddress" id="field" placeholder="ns1.example-12345.com"></p>
  1497. <p style="display: none;" id="optionsforcontacts">
  1498. Enter Domain Name : <input type="text" name="domain" placeholder="xyz123.qa"> <br> <br>
  1499. <input type="radio" name="usedetails" class="det" id="existing">Use Existing Contacts<br>
  1500. <input type="radio" class="det" name="usedetails" id="newdetails">Make New
  1501. <input type="hidden" id="selectedoption" name="selectedoption" value="">
  1502. </p>
  1503. </table>
  1504. <table style="display: none" id="createContactfordomain">
  1505. <tbody>
  1506. <tr><td>Name </td><td><input type="text" name="c_fullname" placeholder="your fullname"></td></tr>
  1507. <tr><td>Company name </td><td><input type="text" name="c_companyname" placeholder="your company name"></td></tr>
  1508. <tr><td>Address1 </td><td><input type="text" name="c_address1" placeholder="your address"></td></tr>
  1509. <tr><td>Address2 </td><td><input type="text" name="c_address2" placeholder="alternate address"></td></tr>
  1510. <tr><td>City </td><td><input type="text" name="c_city" placeholder="your city"></td></tr>
  1511. <tr><td>Postcode </td><td><input type="text" name="c_postcode" placeholder="zip code"></td></tr>
  1512. <tr><td>Country </td><td><select name="country" id="country" tabindex="13"><?php
  1513. foreach (Capsule::table('switchepp_manage_country')->get() as $rowdata) {
  1514. $rowdata = (array) $rowdata;
  1515. ?>
  1516. <option value="<?php echo $rowdata['country_key']; ?>"><?php echo $rowdata['country']; ?></option>
  1517. <?php } ?></select></td></tr>
  1518. <tr><td>Phone Number</td><td><input type="text" name="c_phone" placeholder="+1.123456789"></td></tr>
  1519. <tr><td>Email</td><td><input type="email" name="c_email" placeholder="abc@abc123.com"></td></tr>
  1520. </tbody>
  1521. </table>
  1522. <table style="display: none;" id="createContact">
  1523. <tbody>
  1524. <tr><td>Contact id</td><td><input name="contact_id2" type="text" value="" placeholder="TEST-123456"></td></tr>
  1525. <tr><td>Name </td><td><input type="text" name="fullname" placeholder="your fullname"></td></tr>
  1526. <tr><td>Company name </td><td><input type="text" name="companyname" placeholder="your company name"></td></tr>
  1527. <tr><td>Address1 </td><td><input type="text" name="address1" placeholder="your address"></td></tr>
  1528. <tr><td>Address2 </td><td><input type="text" name="address2" placeholder="alternate address"></td></tr>
  1529. <tr><td>City </td><td><input type="text" name="city" placeholder="your city"></td></tr>
  1530. <tr><td>Postcode </td><td><input type="text" name="postcode" placeholder="zip code"></td></tr>
  1531. <tr><td>Country </td><td><select name="country" id="country" tabindex="13">
  1532. <option value="CH">Switzerland</option>
  1533. <option value="DE">Germany</option>
  1534. <option value="LI">Liechtenstein</option>
  1535. <option value="IT">Italy</option>
  1536. <option value="FR">France</option>
  1537. </select></td></tr>
  1538. <tr><td>Phone Number</td><td><input type="text" name="phone" placeholder="0123567890"></td></tr>
  1539. <tr><td>Email</td><td><input type="email" name="email" placeholder="abc@abc123.com"></td></tr>
  1540. </tbody>
  1541. </table>
  1542. <table style="display: none;" id="check_contact1">
  1543. <tr>
  1544. <td>Contact id 1:</td>
  1545. <td></td>
  1546. <td><input type="text" value="" name="cont1"</td>
  1547. </tr>
  1548. <tr>
  1549. <td>Contact id 2:</td>
  1550. <td></td>
  1551. <td><input type="text" value="" name="cont2"</td>
  1552. </tr>
  1553. </table>
  1554. <table style="display:none;" id="info_tech_contact">
  1555. <tr>
  1556. <td>Contact id:</td>
  1557. <td></td>
  1558. <td><input type="text" name="cont_info" value="" placeholder="TEST-12345"></td>
  1559. </tr>
  1560. </table>
  1561. <table style="display:none;" id="contact_delete_1">
  1562. <tr>
  1563. <td>Contact Id:</td>
  1564. <td></td>
  1565. <td><input type="text" value="" name="del_contact_id" placeholder="TEST-12345"></td>
  1566. </tr>
  1567. </table>
  1568. <table style="display: none;" id="createContact1">
  1569. <tbody>
  1570. <tr><td>Contact id</td><td><input name="contact_id1" type="text" value="" placeholder="TEST-123456"></td></tr>
  1571. <tr><td>Name </td><td><input type="text" name="cfullname" placeholder="your fullname"></td></tr>
  1572. <tr><td>Company name </td><td><input type="text" name="ccompanyname" placeholder="your company name"></td></tr>
  1573. <tr><td>Address1 </td><td><input type="text" name="caddress1" placeholder="your address"></td></tr>
  1574. <tr><td>Address2 </td><td><input type="text" name="caddress2" placeholder="alternate address"></td></tr>
  1575. <tr><td>City </td><td><input type="text" name="ccity" placeholder="your city"></td></tr>
  1576. <tr><td>Postcode </td><td><input type="text" name="cpostcode" placeholder="zip code"></td></tr>
  1577. <tr><td>Country </td><td><select name="ccountry" id="country" tabindex="13">
  1578. <option value="CH">Switzerland</option>
  1579. <option value="DE">Germany</option>
  1580. <option value="LI">Liechtenstein</option>
  1581. <option value="IT">Italy</option>
  1582. <option value="FR">France</option>
  1583. </select></td></tr>
  1584. <tr><td>Phone Number</td><td><input type="text" name="cphone" placeholder="0123567890"></td></tr>
  1585. <tr><td>Email</td><td><input type="email" name="cemail" placeholder="abc@abc123.com"></td></tr>
  1586. </tbody>
  1587. </table>
  1588. <table style="display: none;" id="createContact2">
  1589. <tbody>
  1590. <tr><td>Contact id</td><td><input name="contact_id2" type="text" value="" placeholder="TEST-123456"></td></tr>
  1591. <tr><td>Name </td><td><input type="text" name="cfullname2" placeholder="your fullname"></td></tr>
  1592. <tr><td>Company name </td><td><input type="text" name="ccompanyname2" placeholder="your company name"></td></tr>
  1593. <tr><td>Address1 </td><td><input type="text" name="caddress12" placeholder="your address"></td></tr>
  1594. <tr><td>Address2 </td><td><input type="text" name="caddress22" placeholder="alternate address"></td></tr>
  1595. <tr><td>City </td><td><input type="text" name="ccity2" placeholder="your city"></td></tr>
  1596. <tr><td>Postcode </td><td><input type="text" name="cpostcode2" placeholder="zip code"></td></tr>
  1597. <tr><td>Country </td><td><select name="ccountry2" id="ccountry2" tabindex="13">
  1598. <option value="CH">Switzerland</option>
  1599. <option value="DE">Germany</option>
  1600. <option value="LI">Liechtenstein</option>
  1601. <option value="IT">Italy</option>
  1602. <option value="FR">France</option>
  1603. </select></td></tr>
  1604. <tr><td>Phone Number</td><td><input type="text" name="cphone2" placeholder="0123567890"></td></tr>
  1605. <tr><td>Email</td><td><input type="email" name="cemail2" placeholder="abc@abc123.com"></td></tr>
  1606. </tbody>
  1607. </table>
  1608. <?php
  1609. $client = switchepp_clientloginepp($params); #Epp Connection
  1610. if (is_array($client)) {
  1611. $error = $client['msg'];
  1612. } {
  1613. $xml1 = switchepp_loggedinepp($client, $params);
  1614. $result = Capsule::table('switchepp_contact_details')->where('type', 'admin')->first();
  1615. $result = (array) $result;
  1616. if ($result['contact_id'] != '') {
  1617. $request_xml = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  1618. <epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  1619. <command>
  1620. <info>
  1621. <contact:info
  1622. xmlns:contact="urn:ietf:params:xml:ns:contact-1.0">
  1623. <contact:id>' . $result['contact_id'] . '</contact:id>
  1624. </contact:info>
  1625. </info>
  1626. <clTRID>ABC-12345</clTRID>
  1627. </command>
  1628. </epp>';
  1629. $get_response_xml = $client->request($request_xml);
  1630. $get_xml_data = simplexml_load_string($get_response_xml);
  1631. $get_data = $get_xml_data->response->resData->children("contact", true)->infData;
  1632. }
  1633. }
  1634. ?>
  1635. <table style="display: none;" id="updateContact">
  1636. <tbody>
  1637. <!--<tr><td>Contact Type </td><td><select name="typeOfcontact"><option value="">Choose</option><option value="registrant">Registrant</option><option value="tech">Tech</option><option value="billing">Billing</option><option value="admin">Admin</option></select></td></tr>-->
  1638. <tr><td>Contact id</td><td><input name="contact_id" type="text" value="" placeholder="TEST-123456"></td></tr>
  1639. <tr><td>Name </td><td><input type="text" name="fname" placeholder="your fullname" value="<?php echo $get_data->postalInfo->name; ?>"></td></tr>
  1640. <tr><td>Company name </td><td><input type="text" name="cname" placeholder="your company name" value="<?php echo $get_data->postalInfo->org; ?>"></td></tr>
  1641. <tr><td>Address1 </td><td><input type="text" name="add1" placeholder="your address" value="<?php echo $get_data->postalInfo->addr->street[0]; ?>"></td></tr>
  1642. <tr><td>Address2 </td><td><input type="text" name="add2" placeholder="alternate address" value="<?php echo $get_data->postalInfo->addr->street[1]; ?>"></td></tr>
  1643. <tr><td>City </td><td><input type="text" name="up_city" placeholder="your city" value="<?php echo $get_data->postalInfo->addr->city; ?>"></td></tr>
  1644. <tr><td>Postcode </td><td><input type="text" name="pcode" placeholder="zip code" value="<?php echo $get_data->postalInfo->addr->pc; ?>"></td></tr>
  1645. <tr><td>Country </td><td><select name="up_country" id="country" tabindex="13"><?php
  1646. foreach (Capsule::table('switchepp_manage_country')->get() as $rowdata) {
  1647. $rowdata = (array) $rowdata;
  1648. ?>
  1649. <option value="<?php echo $rowdata['country_key']; ?>" <?php if ($rowdata['country_key'] == $get_data->postalInfo->addr->cc) { ?> selected="selected" <?php } ?>><?php echo $rowdata['country']; ?></option>
  1650. <?php } ?></select></td></tr>
  1651. <tr><td>Phone Number</td><td><input type="text" name="up_phone" placeholder="+1.123456789" value="<?php echo $get_data->voice; ?>"></td></tr>
  1652. <tr><td>Email</td><td><input type="up_email" name="email" placeholder="abc@abc123.com" value="<?php echo $get_data->email; ?>"></td></tr>
  1653. </tbody>
  1654. </table>
  1655. <table style="display: none;" id="contactInfo">
  1656. <tbody>
  1657. <tr>
  1658. </tr>
  1659. </tbody>
  1660. </table>
  1661. <table style="display: none;" id="transferDomain">
  1662. <tr>
  1663. <td>Transfer Domain Name:</td>
  1664. <td></td>
  1665. <td><input type="text" name="trnsfr_domain" value="" placeholder="example.ch"></td>
  1666. </tr>
  1667. <tr>
  1668. <td>Password:</td>
  1669. <td></td>
  1670. <td><input type="text" name="trnsfr_pw" value=""></td>
  1671. </tr>
  1672. </table>
  1673. <table style="display: none;" id="update_domain_auth">
  1674. <tr>
  1675. <td>Domain Name:</td>
  1676. <td></td>
  1677. <td><input type="text" value="" name="domain_update" placeholder="example.ch"></td>
  1678. </tr>
  1679. <tr>
  1680. <td>Domain Password:</td>
  1681. <td></td>
  1682. <td><input type="text" value="" name="auth"></td>
  1683. </tr>
  1684. </table>
  1685. <table style="display: none;" id="update_domain1_2">
  1686. <tr>
  1687. <td>Domain Name:</td>
  1688. <td></td>
  1689. <td><input type="text" value="" name="domain" placeholder="example.ch"></td>
  1690. </tr>
  1691. <tr>
  1692. <td>Name Server:</td>
  1693. <td></td>
  1694. <td><input type="text" value="" name="upd_nameserver"></td>
  1695. </tr>
  1696. </table>
  1697. <table style="display:none" id="create_name_server1">
  1698. <tr>
  1699. <td>Name Server:</td>
  1700. <td></td>
  1701. <td><input type="text" name="host_name" value="" placeholder="ns1.yourdomain.ch"></td>
  1702. </tr>
  1703. <tr>
  1704. <td>Ip Address:</td>
  1705. <td></td>
  1706. <td><input type="text" name="ip" value="" placeholder="xx.xx.xx.xx"></td>
  1707. </tr>
  1708. </table>
  1709. <table style="display: none;" id="create_domain">
  1710. <tr>
  1711. <td>Domain Name:</td>
  1712. <td></td>
  1713. <td><input type="text" value="" name="domain_name" placeholder="example.ch"></td>
  1714. </tr>
  1715. <tr>
  1716. <td>Reg Contact id:</td>
  1717. <td></td>
  1718. <td><input type="text" value="" name="reg_con_id" placeholder="TEST-12345"></td>
  1719. </tr>
  1720. <tr>
  1721. <td>Tech Contact id:</td>
  1722. <td></td>
  1723. <td><input type="text" value="" name="tech_con_id" placeholder="TEST-12345"></td>
  1724. </tr>
  1725. <tr>
  1726. <td>Name Server 1:</td>
  1727. <td></td>
  1728. <td><input type="text" value="ns1.yourdomain.com" name="ns1"></td>
  1729. </tr>
  1730. <tr>
  1731. <td>Name Server 2:</td>
  1732. <td></td>
  1733. <td><input type="text" value="ns2.yourdomain.com" name="ns2"></td>
  1734. </tr>
  1735. <tr>
  1736. <td>Name Server 3:</td>
  1737. <td></td>
  1738. <td><input type="text" value="" name="ns3"></td>
  1739. </tr>
  1740. <tr>
  1741. <td>Name Server 4:</td>
  1742. <td></td>
  1743. <td><input type="text" value="" name="ns4"></td>
  1744. </tr>
  1745. <tr>
  1746. <td>Name Server 5:</td>
  1747. <td></td>
  1748. <td><input type="text" value="" name="ns5"></td>
  1749. </tr>
  1750. <tr>
  1751. <td>DNSSEC:</td>
  1752. <td></td>
  1753. <td><input type="checkbox" value="1" name="cr_d1_dnssec"></td>
  1754. </tr>
  1755. </table>
  1756. <table style="display: none;" id="update_domain_1">
  1757. <tr>
  1758. <td>Domain Name:</td>
  1759. <td></td>
  1760. <td><input type="text" value="" name="up_domain_name" placeholder="example.ch"></td>
  1761. </tr>
  1762. <tr>
  1763. <td>Registrant Id:</td>
  1764. <td></td>
  1765. <td><input type="text" value="" name="up_contact_id" placeholder="TEST-12345-1"></td>
  1766. </tr>
  1767. <tr>
  1768. <td>Add Name Server:</td>
  1769. <td></td>
  1770. <td><input type="text" value="ns2.yourdomain.com" name="up_add_ns"></td>
  1771. </tr>
  1772. <tr>
  1773. <td>Remove Name Server:</td>
  1774. <td></td>
  1775. <td><input type="text" value="ns1.yourdomain.com" name="up_rem_ns"></td>
  1776. </tr>
  1777. <tr>
  1778. <td>DNSSEC:</td>
  1779. <td></td>
  1780. <td><input type="checkbox" value="1" name="up_d_dnssec"></td>
  1781. </tr>
  1782. </table>
  1783. <table style="display: none;" id="update_domain_1_contact">
  1784. <tr>
  1785. <td>Domain Name:</td>
  1786. <td></td>
  1787. <td><input type="text" value="" name="c_up_domain_name" placeholder="example.ch"></td>
  1788. </tr>
  1789. <tr>
  1790. <td>Registrant Id:</td>
  1791. <td></td>
  1792. <td><input type="text" value="" name="c_up_contact_id" placeholder="TEST-12345-1"></td>
  1793. </tr>
  1794. </table>
  1795. <table style="display: none;" id="check_domain_2">
  1796. <tr>
  1797. <td>Domain Name:</td>
  1798. <td></td>
  1799. <td><input type="text" value="" name="domain_name2" placeholder="example.ch"></td>
  1800. </tr>
  1801. </table>
  1802. <table style="display: none;" id="restore_domain_1">
  1803. <tr>
  1804. <td>Domain Name:</td>
  1805. <td></td>
  1806. <td><input type="text" value="" name="domain_name1" placeholder="example.ch"></td>
  1807. </tr>
  1808. </table>
  1809. <table id="delete_ns_1" style="display:none;">
  1810. <tr>
  1811. <td>Name Server</td>
  1812. <td></td>
  1813. <td><input type="text" name="nameserver" value="" placeholder="ns1.yourdomain.ch"></td>
  1814. </tr>
  1815. </table>
  1816. <table style="display: none;" id="changepw">
  1817. <tr>
  1818. <td>Username Name:</td>
  1819. <td></td>
  1820. <td><input type="text" name="username" value=""></td>
  1821. </tr>
  1822. <tr>
  1823. <td>Old Password:</td>
  1824. <td></td>
  1825. <td><input type="text" name="old_pw" value=""></td>
  1826. </tr>
  1827. <tr>
  1828. <td>New Password:</td>
  1829. <td></td>
  1830. <td><input type="text" name="new_pw" value=""></td>
  1831. </tr>
  1832. </table>
  1833. <table id="domaininfo" style="display: none;">
  1834. <tr>
  1835. <td>Enter domain:</td>
  1836. <td></td>
  1837. <td><input type="text" name="domaininfo" placeholder="example.ch"></td>
  1838. </tr>
  1839. </table>
  1840. <?php
  1841. // if ($rows > 0) {
  1842. ?>
  1843. <p align="center"><input type="submit" name="execute" value="Execute"></p>
  1844. <p align="center"><?php echo $msg; ?></p>
  1845. <?php // }
  1846. ?>
  1847. </form>
  1848. Epp Request : <textarea rows="15" cols="85" style="line-height: 20px;padding: 5px;word-break: break-word;display:<?php
  1849. if (!empty($request)) {
  1850. echo 'display:block';
  1851. } else {
  1852. echo'display:none';
  1853. }
  1854. ?>"><?php
  1855. if (!empty($request)) {
  1856. echo $request;
  1857. }
  1858. ?></textarea>
  1859. <p>************************************************************************************</p>
  1860. Epp Response : <textarea rows="20" cols="85" style="line-height: 20px;padding: 5px;word-break: break-word;display:<?php
  1861. if (!empty($response_xml)) {
  1862. echo 'display:block';
  1863. } else {
  1864. echo'display:none';
  1865. }
  1866. ?>"><?php
  1867. if (!empty($response_xml)) {
  1868. echo $response_xml;
  1869. }
  1870. ?></textarea>
  1871. </div>
  1872. </body>
  1873. </html>