118 lines
3.4 KiB
PHP
118 lines
3.4 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
class ApiPincodeForm extends WebAppRaiserForm
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public function __construct($form_id)
|
|||
|
|
{
|
|||
|
|
parent::__construct($form_id);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function form()
|
|||
|
|
{
|
|||
|
|
$form = parent::form();
|
|||
|
|
|
|||
|
|
$header = function ($text) {
|
|||
|
|
return '<div style="border-bottom: 2px solid rgb(67, 160, 71); margin-bottom: 1.5em;"><h3>'.$text.'</h3></div>';
|
|||
|
|
};
|
|||
|
|
$label = function($text) {
|
|||
|
|
return array('#text' => $text, '#class' => ['label'], '#style' => ['width:33%;']);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//$form['form_attributes']['enctype'] = 'multipart/form-data';
|
|||
|
|
|
|||
|
|
//$form['form_attributes']['js'][] = 'engine/classes/WebAppRaiser/forms/ApiSettingsForm.js';
|
|||
|
|
|
|||
|
|
$form['uid'] = array(
|
|||
|
|
'inputs' => array(
|
|||
|
|
'#type'=> 'hidden',
|
|||
|
|
),
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
$form['war_username'] = array(
|
|||
|
|
'label'=> $label('Email пользователя'),
|
|||
|
|
'inputs' => array(
|
|||
|
|
'#type'=> 'text',
|
|||
|
|
'#required'=> true,
|
|||
|
|
),
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
$form['war_pincode'] = array(
|
|||
|
|
'label'=> $label('Пинкод для доступа'),
|
|||
|
|
'inputs' => array(
|
|||
|
|
'#type'=> 'number',
|
|||
|
|
'#required'=> true,
|
|||
|
|
'#attributes' => array(
|
|||
|
|
'min' => 11111,
|
|||
|
|
'max' => 99999,
|
|||
|
|
'placeholder' => 'xxxxx',
|
|||
|
|
'maxlength' => 5,
|
|||
|
|
),
|
|||
|
|
'#inputs_style' => 'width:120px;',
|
|||
|
|
),
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
$form['submit'] = array(
|
|||
|
|
'#markup' => '<div class="clear"> </div>
|
|||
|
|
<div class="control-group control-line">
|
|||
|
|
<div class="control-inputs" style="clear:both;">
|
|||
|
|
<div class="inputs-group" style="margin-bottom: -90px;width: 95%;position: relative;">
|
|||
|
|
<button class="top-line__button button-fl-right medium-button">Подключить</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>',
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
return $form;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function validate()
|
|||
|
|
{
|
|||
|
|
$status = parent::validate();
|
|||
|
|
return $status;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public function submit($status, &$page, WebAppRaiserAPI $WebAppRaiserAPI){
|
|||
|
|
parent::submit($status, $page, $WebAppRaiserAPI);
|
|||
|
|
$page['status'] = $status['code'];
|
|||
|
|
$page['msg'] = array_merge($page['msg'], $status['message']);
|
|||
|
|
if($status['code'] == 'success'){
|
|||
|
|
//todo найти запись по емейлу и проверить его пинкод
|
|||
|
|
$war = WebAppRaiserDB::select('user_api_war', 'username', $status['post']['war_username']);
|
|||
|
|
if(empty($war) || empty($war[0]['pincode'])){
|
|||
|
|
$page['msg'][] = 'Не верный логин либо общий доступ не предоставлен.';
|
|||
|
|
$page['status'] = 'error';
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
if($war[0]['pincode'] == $status['post']['war_pincode']){
|
|||
|
|
//todo успех даем доступ
|
|||
|
|
$uid = $status['post']['uid'];
|
|||
|
|
$api_id = $war[0]['id'];
|
|||
|
|
$fields = array(
|
|||
|
|
'uid' => $uid,
|
|||
|
|
'api_id' => $api_id,
|
|||
|
|
'updateDate' => time(),
|
|||
|
|
);
|
|||
|
|
$valid_fields = array(
|
|||
|
|
'uid' => 'uid',
|
|||
|
|
'api_id' => 'api_id',
|
|||
|
|
'updateDate' => 'updateDate',
|
|||
|
|
);
|
|||
|
|
$sql = "DELETE FROM `war_users` WHERE `uid`=$uid AND `api_id`=$api_id";
|
|||
|
|
mysql_query($sql);
|
|||
|
|
WebAppRaiserDB::save('war_users', $fields, $valid_fields);
|
|||
|
|
$page['msg'][] = 'Доступ предоставлен.';
|
|||
|
|
$page['msg'][] = 'Настройки сохранены.';
|
|||
|
|
}
|
|||
|
|
else{
|
|||
|
|
$page['msg'][] = 'Ошибка пинкода.';
|
|||
|
|
$page['status'] = 'error';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
$page['msg'][] = 'Произошла ошибки при проверке формы!';
|
|||
|
|
}
|
|||
|
|
parent::redirect($page);
|
|||
|
|
}
|
|||
|
|
}
|