swicthepp_demonstrator.php 114 KB

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