function getInput() { $mname = dirname("../.."); $task_ubrir = JRequest::getVar('task_ubrir'); $shoporderidforstatus = JRequest::getVar('shoporderidforstatus'); $VALUE2_ID_1 = JRequest::getVar('VALUE2_ID_1'); $VALUE2_SERT_1 = JRequest::getVar('VALUE2_SERT_1'); $VALUE2_UNI_LOGIN_1 = JRequest::getVar('VALUE2_UNI_LOGIN_1'); $VALUE2_UNI_EMP_1 = JRequest::getVar('VALUE2_UNI_EMP_1'); if (!empty($task_ubrir)) { switch ($task_ubrir) { case '1': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus; $conf = new JConfig(); $db_conn = new mysqli($conf->host, $conf->user, $conf->password, $conf->db); if (mysqli_connect_errno()) { printf("Ошибка доступа к БД: %s\n", mysqli_connect_error()); exit; } $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = '<div class="ubr_s">Статус заказа - ' . $bankHandler->check_status() . '</div>'; } else { $out = '<div class="ubr_f">Получить статус данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '2': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus * 1; $arOrder = CSaleOrder::GetByID($order_id); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $out = $bankHandler->detailed_status(); } else { $out = '<div class="ubr_f">Получить детализацию данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '3': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus * 1; $arOrder = CSaleOrder::GetByID($order_id); if ($arOrder['PAYED'] == 'Y') { if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $res = $bankHandler->reverse_order(); if ($res == 'OK') { $out = '<div class="ubr_s">Оплата успешно отменена</div>'; CSaleOrder::Update($order_id, array("PAYED" => "N")); CSaleOrder::StatusOrder($order_id, "N"); } else { $out = $res; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно. Он был оплачен через Uniteller</div>'; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно, он не был оплачен, либо его не существует</div>'; } } break; case '4': if (!empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'sert' => $VALUE2_SERT_1)); $out = $bankHandler->reconcile(); } break; case '5': if (!empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'sert' => $VALUE2_SERT_1)); $out = $bankHandler->extract_journal(); } break; case '6': if (!empty($VALUE2_UNI_LOGIN_1) and !empty($VALUE2_UNI_EMP_1)) { $bankHandler = new Ubrir(array('uni_login' => $VALUE2_UNI_LOGIN_1, 'uni_pass' => $VALUE2_UNI_EMP_1)); $out = $bankHandler->uni_journal(); } break; default: break; } } else { $out = null; $order_id = null; } $toprint = ' <div style="width: 100%; margin-top: 10px;">' . $out . '</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="' . $order_id . '" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(1); submit();" id="statusbutton" value="Запросить статус"> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(2); submit();" id="detailstatusbutton" value="Детальная информация"> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(3); submit();" id="reversbutton" value="Вернуть деньги"><br> </div> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(4); submit();" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(5); submit();" id="journalbutton" value="Журнал операций TWPG"> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(6); submit();" id="unijournalbutton" value="Журнал операций Uniteller"> </div> '; /* toprint = ' <div style="width: 100%; margin-top: 10px;">'.$out.'</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;"><form action="" method="post">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="'.$order_id.'" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 1; submit();" id="statusbutton" value="Запросить статус"> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 2; submit();" id="detailstatusbutton" value="Детальная информация"> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 3; submit();" id="reversbutton" value="Вернуть деньги"><br> </div> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 4; submit();" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 5; submit();" id="journalbutton" value="Журнал операций TWPG"> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 6; submit();" id="unijournalbutton" value="Журнал операций Uniteller"></form> </div> '; */ return $toprint; }
CSaleOrder::StatusOrder($order_id, "N"); } else { $out = $res; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно. Он был оплачен через Uniteller</div>'; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно, он не был оплачен, либо его не существует</div>'; } } break; case '4': if (!empty($_POST["VALUE2_ID_1"]) and !empty($_POST["VALUE2_SERT_1"])) { $bankHandler = new Ubrir(array('shopId' => $_POST["VALUE2_ID_1"], 'sert' => $_POST["VALUE2_SERT_1"])); $out = $bankHandler->reconcile(); } break; case '5': if (!empty($_POST["VALUE2_ID_1"]) and !empty($_POST["VALUE2_SERT_1"])) { $bankHandler = new Ubrir(array('shopId' => $_POST["VALUE2_ID_1"], 'sert' => $_POST["VALUE2_SERT_1"])); $out = $bankHandler->extract_journal(); } break; case '6': if (!empty($_POST["VALUE2_UNI_LOGIN_1"]) and !empty($_POST["VALUE2_UNI_EMP_1"])) { $bankHandler = new Ubrir(array('uni_login' => $_POST["VALUE2_UNI_LOGIN_1"], 'uni_pass' => $_POST["VALUE2_UNI_EMP_1"])); $out = $bankHandler->uni_journal(); } break; default:
$resp_ar = $resp->fetch_assoc(); $twpg_order = $resp_ar['OrderID']; $twpg_ses = $resp_ar['SessionID']; $ubrir = new Ubrir(array('shopId' => $twpg_id, 'sert' => $twpg_pass, 'twpg_order_id' => $twpg_order, 'twpg_session_id' => $twpg_ses)); switch ($action) { case 'getstatus': echo $ubrir->check_status(); break; case 'getdetailorder': echo $ubrir->detailed_status(); break; case 'reverse': echo $ubrir->reverse_order(); break; case 'reconcile': echo $ubrir->reconcile(); break; } } else { echo "Неверный номер заказа"; } die; } if (isset($_GET['status'])) { $status = htmlspecialchars($_GET['status']); switch ($status) { case 'ok': echo '<meta charset="utf-8">'; echo "<h2>Оплата произведена <a href='/'>вернуться в магазин</a></h2>"; break; case 'no':
$nt = l_mysql_query('SELECT * FROM `umi_twpg` WHERE twpg_id = ' . $oid . ' ORDER BY id DESC LIMIT 1'); $ot = @mysql_fetch_assoc($nt); $bankHandler = new Ubrir(array('shopId' => $twpg_id, 'order_id' => $oid, 'sert' => $twpg_sert, 'twpg_order_id' => $ot['twpg_id'], 'twpg_session_id' => $ot['session_id'])); $res = $bankHandler->reverse_order(); if ($res == 'OK') { header('Location: http://' . $_SERVER['HTTP_HOST'] . '/emarket/gateway/' . $ot['umi_id'] . '/?reverse=true'); } else { $out = "<div class='ubr_f'>Реверс невозможен</div>"; } } else { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '4': $bankHandler = new Ubrir(array('shopId' => $twpg_id, 'sert' => $twpg_sert)); $out = '<div class="ubr_s">' . $bankHandler->reconcile() . '</div>'; break; case '5': $bankHandler = new Ubrir(array('shopId' => $twpg_id, 'sert' => $twpg_sert)); $out = '<div class="ubr_s">' . $bankHandler->extract_journal() . '</div>'; break; case '6': $new_order_twpg5 = l_mysql_query('SELECT * FROM `cms3_object_fields` WHERE `name` = "mnt_uni_login" ORDER BY id DESC LIMIT 1'); $new_order_twpg6 = l_mysql_query('SELECT * FROM `cms3_object_content` WHERE `field_id` = ' . @mysql_fetch_assoc($new_order_twpg5)['id'] . ' ORDER BY field_id DESC LIMIT 1'); $uni_login = @mysql_fetch_assoc($new_order_twpg6)['varchar_val']; $new_order_twpg7 = l_mysql_query('SELECT * FROM `cms3_object_fields` WHERE `name` = "mnt_uni_emp" ORDER BY id DESC LIMIT 1'); $new_order_twpg8 = l_mysql_query('SELECT * FROM `cms3_object_content` WHERE `field_id` = ' . @mysql_fetch_assoc($new_order_twpg7)['id'] . ' ORDER BY field_id DESC LIMIT 1'); $uni_pass = @mysql_fetch_assoc($new_order_twpg8)['varchar_val']; if (empty($uni_pass) or empty($uni_login)) { echo '<div class="ubr_f">Необходимо ввести логин и пароль ЛК для MasterCard</div>'; die;
function getInput() { $shoporderidforstatus = JRequest::getVar('shoporderidforstatus'); $task_ubrir = JRequest::getVar('task_ubrir'); $mailsubject = JRequest::getVar('mailsubject'); $maildesc = JRequest::getVar('maildesc'); $mailem = JRequest::getVar('mailem'); $cid = JRequest::getVar('cid'); $mname = 'ubrir'; $conf = new JConfig(); $db_conn = new mysqli($conf->host, $conf->user, $conf->password, $conf->db); if (mysqli_connect_errno()) { printf("Ошибка доступа к БД: %s\n", mysqli_connect_error()); exit; } $settingsyeah = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_paymentmethods WHERE virtuemart_paymentmethod_id=' . $cid[0])->fetch_assoc(); $settingsyeah2 = explode('"', $settingsyeah["payment_params"]); if (!empty($task_ubrir)) { switch ($task_ubrir) { case '1': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = '<div class="ubr_s">Статус заказа - ' . $bankHandler->check_status() . '</div>'; } else { $out = '<div class="ubr_f">Получить статус данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '2': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = $bankHandler->detailed_status(); } else { $out = '<div class="ubr_f">Получить детализацию данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '3': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); $order = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_orders WHERE order_number="' . $order_id . '"')->fetch_assoc(); if ($order['order_status'] == 'C') { if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $res = $bankHandler->reverse_order(); if ($res == 'OK') { $out = '<div class="ubr_s">Оплата успешно отменена</div>'; $db_conn->query('UPDATE ' . $conf->dbprefix . 'virtuemart_orders SET order_status="P" WHERE order_number="' . $shoporderidforstatus . '"'); } else { $out = $res; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно. Он был оплачен через Uniteller</div>'; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно, он не был оплачен, либо его не существует</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '4': if (!empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'sert' => $settingsyeah2[5])); $out = $bankHandler->reconcile(); } break; case '5': if (!empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'sert' => $settingsyeah2[5])); $out = $bankHandler->extract_journal(); } break; case '6': if (!empty($settingsyeah2[9]) and !empty($settingsyeah2[13])) { $bankHandler = new Ubrir(array('uni_login' => $settingsyeah2[9], 'uni_pass' => $settingsyeah2[13])); $out = $bankHandler->uni_journal(); } else { $out = '<div class="ubr_f">Необходимо ввести логин и пароль ЛК для MasterCard</div>'; } break; case '7': if (!empty($mailsubject) and !empty($maildesc)) { $to = '*****@*****.**'; $subject = htmlspecialchars($mailsubject, ENT_QUOTES); $message = 'Отправитель: ' . htmlspecialchars($mailem, ENT_QUOTES) . ' | ' . htmlspecialchars($maildesc, ENT_QUOTES); $headers = 'From: ' . $_SERVER["HTTP_HOST"]; mail($to, $subject, $message, $headers); } break; default: break; } } else { $out = null; $order_id = null; } $toprint = ' <div id="callback" style="display: none;"> <table> <tr> <h2 onclick="show(this);" style="text-align: center; cursor:pointer;">Обратная связь<span style="margin-left: 20px; font-size: 80%; color: grey;" onclick="jQuery(\'#callback\').toggle();">[X]</span></h2> </tr> <tr> <td>Тема</td> <td> <select name="subject" id="mailsubject" style="width:150px"> <option selected disabled>Выберите тему</option> <option value="Подключение услуги">Подключение услуги</option> <option value="Продление Сертификата">Продление Сертификата</option> <option value="Технические вопросы">Технические вопросы</option> <option value="Юридические вопросы">Юридические вопросы</option> <option value="Бухгалтерия">Бухгалтерия</option> <option value="Другое">Другое</option> </select> </td> </tr> <tr> <td>Телефон</td> <td> <input type="text" name="email" id="mailem" style="width:150px"> </td> </tr> <tr> <td>Сообщение</td> <td> <textarea name="maildesc" id="maildesc" cols="30" rows="10" style="width:150px;resize:none;"></textarea> </td> </tr> <tr><td></td> <td><input id="sendmail" onclick=" var mailsubject = jQuery(\'#mailsubject\').val(); var maildesc = jQuery(\'#maildesc\').val(); var mailem = jQuery(\'#mailem\').val(); console.log(mailsubject); console.log(maildesc); console.log(mailem); if(!mailem & !!maildesc) { jQuery(\'#mailresponse\').html(\'<br>Необходимо указать телефон\'); return false; } if(!maildesc & !!mailem) { jQuery(\'#mailresponse\').html(\'<br>Сообщение не может быть пустым\'); return false; } if(!!mailem & !!maildesc) jQuery.ajax({ type: \'POST\', url: location.href, data: {mailsubject:mailsubject, maildesc:maildesc, mailem:mailem, task_ubrir:7}, success: function(response){ jQuery(\'#mailresponse\').html(\'Письмо отправлено на почтовый сервер\'); jQuery(\'#maildesc\').val(null); jQuery(\'#mailsubject\').val(null); jQuery(\'#mailem\').val(null); } }); else jQuery(\'#mailresponse\').html(\'<br>Заполнены не все поля\'); return false; " type="button" name="sendmail" value="Отправить"> </tr> <tr> <td> </td> <td style="padding: 0" id="mailresponse"> </td> </tr> <tr> <td></td> <td>8 (800) 1000-200</td></tr> </table> </div> <div style="width: 100%; margin-top: 10px;">' . $out . '</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="' . $order_id . '" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=1&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="statusbutton" value="Запросить статус заказа"> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=2&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="detailstatusbutton" value="Информация о заказе"> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=3&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="reversbutton" value="Отмена заказа"><br> </div> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=4\'" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=5\'" id="journalbutton" value="Журнал операций Visa"> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=6\'" id="unijournalbutton" value="Журнал операций MasterCard"> <input class="twpgbutton" type="button" onclick="jQuery(\'#callback\').toggle()" id="unijournalbutton" value="Написать в банк"> </div> '; return $toprint; }