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 '

'.$text.'

'; }; $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['war_id'] = array( 'inputs' => array( '#type'=> 'hidden', ), ); $form['war_user_id'] = array( 'inputs' => array( '#type'=> 'hidden', ), ); $form['api_header_markup'] = array( '#prefix' => '
', '#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 .= ''.PHP_EOL; $output .= ''.PHP_EOL; $output .= ''.PHP_EOL; $output .= ''.PHP_EOL; $output .= ''.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 .= '
Имя Фамилия ФИО тел дата действия
'.$row['first_name'].''.$row['last_name'].''.$row['fio'].''.$row['phone'].''.date('d.m.Y', $row['updateDate']).'Владелец
'.PHP_EOL; return $output; } }