Необходимо подключить две платежные системы: Webmoney (WMZ) и Payeer к существующему сайту на PHP, основанному на скрипте smm панели. Интеграция должна быть выполнена с выводом систем в админку для удобного управления.
Сделать капчу
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Сделать капчу 20ч 200$
/**
* Rendering HTML code (UI)
*
*
*/
function psp_show_page_header( $remain = false ) {
?>
Проверка Страховой Принадлежности
psp_get_styles();
?>
psp_show_ajax_code( $remain );
?>
//echo '
' . psp_get_pages( psp_get_page() )[0] . '
';}
function psp_get_styles() {
?>
}
function psp_show_footer() {
global $psp_start;
if ( $psp_start ) {
echo "\n".'';
}
echo "\n" . '';
echo "\n" . '';
if ( $range = psp_get_request_field( 'date_range_search', false ) ) {
$range = explode( '-', $range );
$range = array_map( 'strip_tags', $range );
$range = array_map( 'trim', $range );
$range = array_filter( $range );
}
else {
$range = array( 0, 0 );
}
//echo date('d.m.Y',strtotime('01.04.2016'));
?>
}
function psp_render_page() {
global $request;
//psp_show_messages();
?>
echo '
' . psp_get_pages( psp_get_page() )[0] . '
';psp_show_messages();
if ( CSV_Processor::has_errors() ) {
echo CSV_Processor::get_csv_errors();
echo '
Загрузить другой файл
';}
else {
switch ( psp_get_page() ) {
case 'home':
psp_show_home();
break;
case 'single_form':
psp_single_form( $request['id'] );
psp_show_history();
break;
case 'single_log':
psp_show_history( 'full' );
break;
case 'view_single':
psp_show_single( $request['id'] );
break;
case 'group_form':
psp_group_form();
break;
case 'group_log':
psp_show_group_history();
break;
case 'group_view':
psp_show_history( 'full' );
break;
}
psp_show_nav_bar();
}
?>
psp_show_footer();
}
function psp_get_pages( $page = null ) {
$ret = array(
'home' => array( 'Проверка Страховой Принадлежности', 0 ),
'single_form' => array( 'Индивидуальный Запрос', 1 ),
'single_log' => array( 'Журнал Индивидуальных Запросов', 1 ),
'view_single' => array( 'Карточка Запроса', 0 ),
'group_form' => array( 'Групповой Запрос', 1 ),
'group_log' => array( 'Журнал Групповых Запросов', 1 ),
'group_view' => array( 'Журнал Группового Запроса', 0 ),
);
if ( $page ) {
if ( isset( $ret[ $page ] ) ) {
return $ret[ $page ];
}
return false;
}
return $ret;
}
function psp_show_nav_bar() {
global $request;
$pages = psp_get_pages();
$config['single_form'] = array( 'single_log', 'group_form' );
$config['single_log'] = array( 'single_form', 'group_form' );
$config['view_single'] = array( 'single_form', 'single_log', 'group_form' );
$config['group_form'] = array( 'group_log', 'single_form' );
$config['group_log'] = array( 'group_form', 'single_form', 'single_log' );
$config['group_view'] = array( 'group_form', 'group_log' );
$buttons = array();
if ( empty( $config[ psp_get_page() ] ) ) {
return;
}
foreach ( $config[ psp_get_page() ] as $key ) {
$buttons[] = '' . $pages[ $key ][0] . '';
}
if ( psp_get_page() != 'view_single' ) {
$home = '
Главная';}
else {
$home = '';
}
echo '
' . $home . '' . implode( '', $buttons ) . '
';}
function psp_show_home(){
$pages = psp_get_pages();
$buttons = array();
foreach ( $pages as $key => $config ) {
if ( $config[1] != 1 ) {
continue;
}
$buttons[] = '' . $config[0] . '';
}
echo '
' . implode( '', $buttons ) . '
';}
function psp_show_single( $id ) {
if ( ! $req = psp_db_get_request( $id ) ) {
// TODO не отображается на данном этапе
psp_user_error( 'Запрос не найден' );
echo 'Запрос не найден';
return;
}
$req = (object) $req;
$req_data = array();
$req_data[] = array( 'Отправлен', psp_date( $req->req_created ) );
$req_data[] = array( 'Статус', psp_get_status( $req->req_status ) );
foreach ( psp_get_request_fields() as $field => $config ) {
if ( $field == 'dul_type' ) {
$val = psp_dul_type( $req->$field );
}
else {
$val = $req->$field;
}
$req_data[] = array( $config[0], $val );
}
$req_data[] = array( 'GUID', $id );
$table = '
';foreach ( $req_data as $tr ) {
$table .= '' . $tr[0] . '' . $tr[1] . '';
}
$table .= '
';echo $table;
$resp = array();
if ( $req->req_status ) {
$response = unserialize( $req->response );
foreach ( psp_get_response_fields( $response['resp_type'] ) as $key => $config ) {
if ( $config ) {
$resp[] = array( $config, htmlspecialchars( $response[ $key ] ) );
}
}
}
$table = '
';foreach ( $resp as $tr ) {
$table .= '' . $tr[0] . '' . $tr[1] . '';
}
$table .= '
';echo $table;
if ( ! psp_is_group() ) {
echo '
Редактировать
';}
}
function psp_show_history( $view = 'short' ) {
global $request;
if ( $view == 'short' ) {
if ( ! PSP_SHOW_LAST ) {
return;
}
$limit = PSP_SHOW_LAST;
$offset = 0;
$total = false;
$show_footer = false;
}
else {
$limit = PSP_PER_PAGE;
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$total = true;
$show_footer = true;
}
$requests = psp_db_get_history( $limit, $offset, $total );
if ( ! $requests ) {
return;
}
$header = '';
$search_form = '';
$results = '';
$footer = '';
if ( $view == 'short' ) {
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$results .= '' . implode( '',
array(
psp_date( $req->req_created ),
'' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '',
$req->born,
psp_get_status( $req->req_status )
) ) . '';
}
}
else {
$header = array(
'Дата запроса',
'ФИО',
'Дата рождения',
'Документ',
'Статус',
'ЕНП',
'Регион',
'Страховая компания'
);
if ( ! psp_is_group() ) {
unset( $header[5] );
}
$header = '' . implode( '', $header ) . '';
//$header = 'Дата запросаФИОДата рожденияДокументСтатусРегионСтраховая компания';
while ( $req = $requests->fetchArray() ) {
$req = (object) $req;
$data = array();
if ( ! empty( $req->response ) ) {
$data = unserialize( $req->response );
}
$reg = htmlspecialchars( psp_array_get( $data, 'Region', '' ) );
$sk = htmlspecialchars( psp_array_get( $data, 'InsuranceOrganization', '' ) );
$row = array(
psp_date( $req->req_created ),
'' . ' ' . $req->user_fam . ' ' . $req->user_name . ' ' . $req->user_middle . '',
$req->born,
$req->dul_ser . ' ' . $req->dul_num . ' ' . psp_dul_type( $req->dul_type ),
psp_get_status( $req->req_status ),
$reg,
$sk
);
if ( psp_is_group() ) {
$enp = htmlspecialchars( psp_array_get( $data, 'UnitedPolicyNumber', '' ) );
$row = array_merge( array_slice( $row, 0, 5 ), array( 5 => $enp ), array_slice( $row, 5 ) );
}
$results .= '' . implode( '', $row ) . '';
}
}
$text = '';
if ( $group_id = psp_get_group_id() ) {
$gr = psp_db_get_group_request( $group_id );
$text = '
' . $gr['group_name'] . '
';}
if ( psp_is_search() ) {
$text .= '
Результаты поиска ' . htmlspecialchars( $request['fio_search'] ) . '
';}
if ( $results ) {
if ( $show_footer ) {
$search_form = psp_search_form();
$footer = psp_page_navi( $total );
}
$results = '
' . $header . $results . '' . $footer . '
';}
else {
if ( psp_is_search() ) {
$text .= '
По вашему запросу ничего не найдено
';$search_form = psp_search_form();
//$text .= '
Назад к журналу
';}
elseif ( $view != 'short' ) {
$text .= '
Журнал пуст
';}
else {
return;
}
}
if ( psp_is_search() ) {
$text .= '
Назад к журналу
';}
echo '
' . $text . $search_form . $results . '
';}
function psp_search_form() {
global $request;
$preserve_fields = array( 'render_page', 'group_id' );
$fields = '';
foreach ( $preserve_fields as $name ) {
if ( isset( $_GET[ $name ] ) ) {
$fields .= '';
}
}
$search_form = '
' .
psp_dropdown_select( 'status_search', array(
0 => 'Отправлен',
1 => 'Получен ответ'
), psp_get_request_field( 'status_search', 1 ) ) .
' Поиск' .
$fields .
'
';return $search_form;
}
function psp_single_form( $id = null ) {
$fields = psp_get_request_fields();
$data = array();
if ( $id && ( $req = psp_db_get_request( $id ) ) ) {
$data = $req;
}
$rows = '';
foreach ( $fields as $field => $config ) {
$val = isset( $data[ $field ] ) ? $data[ $field ] : null;
if ( $field == 'dul_type' ) {
$f = psp_dropdown( $val );
}
else {
$atts = '';
$atts .= ! empty( $config[3] ) ? 'placeholder = "' . $config[3] . '"' : '';
$atts .= ! empty( $config[4] ) ? 'pattern = "' . $config[4] . '"' : '';
$atts .= ! empty( $config[5] ) ? 'title = "' . $config[5] . '"' : '';
$f = '';
}
$rows .= '
' . $config[0] . '
' . $f . '';}
?>
echo $rows;
?>
Направить Запрос
}
function psp_show_group_history() {
$offset = ( psp_get_pn() - 1 ) * PSP_PER_PAGE;
$limit = PSP_PER_PAGE;
$where = null;
$total = psp_dbs()->querySingle( 'SELECT COUNT(ROWID) FROM ' . USER_CSV_TBL );
if ( ! $total ) {
$total = 0;
}
$requests = psp_dbs()->query( 'SELECT * FROM ' . USER_CSV_TBL . ' ORDER BY group_created DESC LIMIT ' . $limit . ' OFFSET ' . $offset );
if ( ! $requests ) {
return;
}
$results = '';
$header = 'Дата запросаНаименования запросаЧисло вложенных запросовПолучено ответовСтатусВыгрузка';
while ( $group = $requests->fetchArray() ) {
$group = (object) $group;
//$status = ( $group->is_complete ) ? 'Получен ответ' : 'Отправлен';
/*if ( $group->is_complete ) {
$status = 'Получен ответ';
$export = 'Выгрузить';
}
else {
$status = 'Отправлен';
$export = '';
}*/
list( $status, $export ) = psp_get_group_attributes( $group );
$results .= '' . implode( '',
array(
psp_date( $group->group_created ),
'' . ' ' . $group->group_name . '',
$group->req_num,
$group->received_num,
$status,
$export,
) ) . '';
}
if ( $results ) {
$footer = psp_page_navi( $total );
$results = '
' . $header . $results . '' . $footer . '
';}
else {
$results = '
Журнал пуст
';}
echo '
' . $results . '
';}
/**
* @param $group array|object
*
* @return string[]
*/
function psp_get_group_attributes( $group ) {
if ( is_array( $group ) ) {
$group = (object) $group;
}
if ( $group->is_complete ) {
$status = 'Получен ответ';
$export = 'Выгрузить';
}
else {
$status = 'Отправлен';
$export = '';
}
return array( $status, $export );
}
function psp_group_form() {
?>
Наименование запроса
Выберите файл
Направить Запрос
}
function psp_dropdown( $selected = null ) {
$options = array();
$sel = ( $selected !== null ) ? $selected : PSP_DEFAULT_DUL;
foreach ( psp_dul_type() as $key => $value ) {
$s = ( $key == $sel ) ? 'selected' : '';
$options[] = '';
}
return '' . implode( "\n", $options ) . '';
}
/**
* @param string $name
* @param array $list
* @param null $selected
*
* @return string
*/
function psp_dropdown_select( $name, $list, $selected = null ) {
$options = array();
foreach ( $list as $key => $value ) {
$s = '';
if ( $selected !== null && (string) $key === (string) $selected ) {
//$s = ( $key === $selected ) ? 'selected' : '';
$s = 'selected';
}
$options[] = '';
}
return '' . implode( "\n", $options ) . '';
}
function psp_get_status( $s = 0 ) {
$r = array( 'Отправлен', 'Получен', 'Ошибка', 'Ошибка СМЭВ' );
return '' . $r[ $s ] . '';
}
Заявки фрилансеров
Похожие заказы
- Веб-программирование2 заявкиЗакрыт3 года назад
Требуется подключить оплату через сберкассу к сайту без использования WooCommerce. Необходимо добавить селект для выбора суммы и динамически подставлять цену в ссылку на платежную систему. После заполнения формы должен быть переход по ссылке платежки.
Веб-программирование2 заявкиЗакрыт3 года назадТребуется скопировать лендинг на платформе Тильда с точным воспроизведением дизайна с донора. Необходима адаптация под мобильные устройства для корректного отображения. Ссылка на оригинал будет предоставлена в личных сообщениях.
Веб-программирование3 заявкиЗакрыт3 года назадТребуется перенести готовый дизайн лендинга из Figma в приложение на React с использованием Ant Design. Необходима точная верстка и адаптация элементов интерфейса для достижения максимального соответствия оригиналу.
Веб-программирование1 исполнительЗакрыт3 года назадТребуется разработать PHP-скрипт для интеграции API на сайте WordPress, специализирующемся на аренде яхт. Сценарий должен отображать список доступных яхт по заданным параметрам: страна, дата бронирования и тип яхты. Предоставлены доступы к оплаченной API и документация. На сайте будет каталог с фильтром для яхт.
Веб-программирование2 заявкиЗакрыт3 года назад- $10
Требуется заменить тексты на главной странице сайта и установить видео на задний фон в верхнем блоке. Ищется специалист с опытом в веб-программировании. Пример замены текстов предоставлен в скриншоте.
Веб-программирование8 заявокЗакрыт3 года назад Требуется специалист по Битрикс для доработки календаря в оформлении заказа. Необходимо ограничить выбор прошлых дат, чтобы пользователи могли выбирать только текущую и будущие даты для доставки. Календарь и интервалы времени уже выведены, требуется внести изменения в функционал.
Веб-программирование1 исполнительЗавершен3 года назадТребуется программист для разработки сайта на WordPress с доработками в админке и бэкенде. Необходимо реализовать авторизацию через ОК, ВК, Telegram и Facebook. Убедитесь в знании PHP, MySQL, а также JavaScript, включая jQuery и AJAX. Оплата по результатам собеседования.
Веб-программирование7 заявокЗакрыт3 года назад- $120
Разработать чат-бота для Telegram, который будет собирать данные пользователей при регистрации и ежедневно контролировать время выполнения услуг. Данные должны заноситься в Google Таблицы, с возможностью построения графика по имени, услуге и времени выполнения. Бюджет 5-10 тыс. рублей, сроки обсуждаются.
Веб-программирование2 заявкиЗакрыт3 года назад Разработайте PHP-скрипт, который принимает массив координат и формирует ссылку для открытия нескольких точек на Yandex Maps. Пример координат: 57.1658 65.4850, 57.1604 65.5256, 57.1597 65.4872, 57.1926 65.6052. Удобное решение для веб-программистов.
Веб-программирование4 заявкиЗакрыт3 года назад