''); $errors = array(); $opId = ''; if( isset($_POST['login']) && isset($_POST['password']) ) { $opId = verifyparam( "opid", "/^(\d{1,9})?$/", ""); $login = getparam('login'); $email = getparam('email'); $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"); if( !$login ) { $errors[] = no_field("form.field.login"); } else if( !preg_match( "/^[\w_\.]+$/",$login) ) { $errors[] = getlocal("page_agent.error.wrong_login"); } if($email != '' && !is_valid_email($email)) $errors[] = wrong_field("form.field.mail"); if( !$opId && !$password ) $errors[] = no_field("form.field.password"); if( $password != $passwordConfirm ) $errors[] = getlocal("my_settings.error.password_match"); $existing_operator = operator_by_login($login); if( (!$opId && $existing_operator) || ( $opId && $existing_operator && $opId != $existing_operator['operatorid']) ) $errors[] = getlocal("page_agent.error.duplicate_login"); $canmodify = ($opId == $operator['operatorid'] && is_capable($can_modifyprofile, $operator)) || is_capable($can_administrate, $operator); if(!$canmodify) { $errors[] = getlocal('page_agent.cannot_modify'); } if( count($errors) == 0 ) { if (!$opId) { $newop = create_operator($login,$email,$password,$localname,$commonname,""); header("Location: $webimroot/operator/avatar.php?op=".$newop['operatorid']); exit; } else { update_operator($opId,$login,$email,$password,$localname,$commonname); header("Location: $webimroot/operator/operator.php?op=$opId&stored"); exit; } } else { $page['formlogin'] = topage($login); $page['formname'] = topage($localname); $page['formemail'] = topage($email); $page['formcommonname'] = topage($commonname); $page['opid'] = topage($opId); } } else if( isset($_GET['op']) ) { $opId = verifyparam( 'op', "/^\d{1,9}$/"); $op = operator_by_id($opId); if( !$op ) { $errors[] = getlocal("no_such_operator"); $page['opid'] = topage($opId); } else { $page['formlogin'] = topage($op['vclogin']); $page['formname'] = topage($op['vclocalename']); $page['formemail'] = topage($op['vcemail']); $page['formcommonname'] = topage($op['vccommonname']); $page['opid'] = topage($op['operatorid']); } } if(!$opId && !is_capable($can_administrate, $operator)) { $errors[] = "You are not allowed to create operators"; } $canmodify = ($opId == $operator['operatorid'] && is_capable($can_modifyprofile, $operator)) || is_capable($can_administrate, $operator); $page['stored'] = isset($_GET['stored']); $page['canmodify'] = $canmodify ? "1" : ""; prepare_menu($operator); setup_operator_settings_tabs($opId,0); start_html_output(); require('../view/agent.php'); ?>