''); $errors = array(); if( isset($_POST['login']) && isset($_POST['password']) ) { $agentId = verifyparam( "agentId", "/^(\d{1,9})?$/", ""); $login = getparam('login'); $password = getparam('password'); $passwordConfirm = getparam('passwordConfirm'); $localname = getparam('name'); $commonname = getparam('commonname'); if( !$localname ) $errors[] = no_field("form.field.agent_name"); if( !$commonname ) $errors[] = no_field("form.field.agent_commonname"); // FIXME check login \w+ if( !$login ) $errors[] = no_field("form.field.login"); if( !$agentId && !$password ) $errors[] = no_field("form.field.password"); if( $password != $passwordConfirm ) $errors[] = getlocal("my_settings.error.password_match"); $existing_operator = operator_by_login($login); if( (!$agentId && $existing_operator) || ( $agentId && $existing_operator && $agentId != $existing_operator['operatorid']) ) $errors[] = getlocal("page_agent.error.duplicate_login"); if( count($errors) == 0 ) { if (!$agentId) { create_operator($login,$password,$localname,$commonname); } else { update_operator($agentId,$login,$password,$localname,$commonname); } header("Location: ".dirname($_SERVER['PHP_SELF'])."/operators.php"); exit; } else { $page['formlogin'] = topage($login); $page['formname'] = topage($localname); $page['formcommonname'] = topage($commonname); $page['agentId'] = topage($agentId); } } else if( isset($_GET['op']) ) { $login = verifyparam( 'op', "/^[\w_]+$/"); $op = operator_by_login( $login ); if( !$op ) { $errors[] = getlocal("no_such_operator"); $page['formlogin'] = topage($login); } else { $page['formlogin'] = topage($op['vclogin']); $page['formname'] = topage($op['vclocalename']); $page['formcommonname'] = topage($op['vccommonname']); $page['agentId'] = topage($op['operatorid']); } } $page['operator'] = topage(get_operator_name($operator)); start_html_output(); require('../view/agent.php'); ?>