api['is_owner']){
unset($this->form['api_header_markup']);
unset($this->form['war_username']);
unset($this->form['war_client_id']);
unset($this->form['war_client_secret']);
unset($this->form['war_access_token']);
unset($this->form['war_refresh_token']);
unset($this->form['war_pincode']);
unset($this->form['submit']);
}
}
public function form()
{
$form = parent::form();
$header = function ($text) {
return '
',
'#markup' => $header('Интеграция API ВебОценщик'),
);
$form['war_username'] = array(
'label'=> $label('Email пользователя в системе ВебОценщик'),
'inputs' => array(
'#type'=> 'text',
'#required'=> true,
),
);
$form['war_client_id'] = array(
'label'=> $label('Логин для доступа к API'),
'inputs' => array(
'#type'=> 'text',
'#required'=> true,
'#attributes' => array(
'placeholder' => 'client_id',
),
//'#inputs_style' => 'float:none; width:90%',
),
);
$form['war_client_secret'] = array(
'label'=> $label('Секретный код для API'),
'inputs' => array(
'#type'=> 'password',
'#required'=> true,
'#attributes' => array(
'placeholder' => 'client_secret',
),
//'#inputs_style' => 'float:none; width:90%',
),
);
$form['war_access_token'] = array(
'label'=> $label('Токен для доступа к данным'),
'inputs' => array(
'#type'=> 'text',
'#attributes' => array(
'disabled' => 'disabled',
),
),
);
$form['war_refresh_token'] = array(
'label'=> $label('Токен для обновления авторизационных данных'),
'inputs' => array(
'#type'=> 'text',
'#attributes' => array(
'disabled' => 'disabled',
),
//'#required'=> true,
//'#inputs_style' => 'float:none; width:90%',
),
'#suffix' => '
',
);
$form['access_header_markup'] = array(
'#prefix' => '
',
'#markup' => $header('Общий доступ к API ВебОценщик'),
);
$form['war_pincode'] = array(
'label'=> $label('Пинкод для доступа'),
'inputs' => array(
'#type'=> 'number',
'#attributes' => array(
'min' => 11111,
'max' => 99999,
'placeholder' => 'xxxxx',
'maxlength' => 5,
),
'#inputs_style' => 'width:120px;',
),
);
$form['war_attached_users'] = array(
'#markup' => 'Пользователи, имеющие доступ к вашему API',
'#suffix' => '
',
);
$form['submit'] = array(
'#markup' => '
',
);
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 запрос авторизации
$res = $WebAppRaiserAPI->auth_request('password', $status['post']);
//todo если успех то сохраняем
if($res['status'] == 'success'){
$page['msg'][] = $res['msg'];
$page['msg'][] = 'Настройки сохранены!';
}
else {
$page['msg'][] = 'Произошла ошибка при сохренении настроек!';
$page['msg'][] = $res['result']['message'];
}
$page['status'] = $res['status'];
}
else {
$page['msg'][] = 'Произошла ошибки при проверке формы!';
}
parent::redirect($page);
}
public static function getApiUsersInForm($api_id){
global $user;
$sql = "SELECT wu.*, u.fio, u.first_name, u.last_name, u.phone, wa.id as user_api_id
FROM war_users wu
INNER JOIN users u ON u.id = wu.uid
LEFT JOIN user_api_war wa ON wa.user_id = wu.uid
WHERE wu.api_id = $api_id";
$res = mysql_query($sql);
$output = '
Пользователи, имеющие доступ к вашему API
';
$output .= '
';
$output .= '
'.PHP_EOL;
$output .= '
| Имя |
Фамилия |
ФИО |
тел |
дата |
действия |
'.PHP_EOL;
while ($row = mysql_fetch_assoc($res)) {
$output .= ''.PHP_EOL;
$output .= '| '.$row['first_name'].' | '.PHP_EOL;
$output .= ''.$row['last_name'].' | '.PHP_EOL;
$output .= ''.$row['fio'].' | '.PHP_EOL;
$output .= ''.$row['phone'].' | '.PHP_EOL;
$output .= ''.date('d.m.Y', $row['updateDate']).' | '.PHP_EOL;
if(!empty($row['user_api_id']) && $row['user_api_id'] == $api_id){
$output .= 'Владелец | '.PHP_EOL;
}
elseif(!$user->api['is_owner'] && $row['uid'] != $user->id){
$output .= ' | '.PHP_EOL;
}
else{
$output .= '
| '.PHP_EOL;
}
$output .= '
'.PHP_EOL;
}
$output .= '
'.PHP_EOL;
return $output;
}
}