Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00032 class ilRadiusAttributeToUser
00033 {
00040 public function __construct()
00041 {
00042 global $ilLog;
00043
00044 $this->log = $ilLog;
00045
00046 include_once('Services/Radius/classes/class.ilRadiusSettings.php');
00047 $this->rad_settings = ilRadiusSettings::_getInstance();
00048
00049 include_once('classes/class.ilXmlWriter.php');
00050 $this->writer = new ilXmlWriter();
00051 }
00052
00060 public function create($a_username)
00061 {
00062 $this->writer->xmlStartTag('Users');
00063
00064
00065
00066
00067 $this->writer->xmlStartTag('User',array('Action' => 'Insert'));
00068 $this->writer->xmlElement('Login',array(),$new_name = ilAuthUtils::_generateLogin($a_username));
00069
00070
00071 $this->writer->xmlElement('Role',array('Id' => $this->rad_settings->getDefaultRole(),
00072 'Type' => 'Global',
00073 'Action' => 'Assign'),'');
00074
00075 $this->writer->xmlElement('Active',array(),"true");
00076 $this->writer->xmlElement('TimeLimitOwner',array(),7);
00077 $this->writer->xmlElement('TimeLimitUnlimited',array(),1);
00078 $this->writer->xmlElement('TimeLimitFrom',array(),time());
00079 $this->writer->xmlElement('TimeLimitUntil',array(),time());
00080 $this->writer->xmlElement('AuthMode',array('type' => 'radius'),'radius');
00081 $this->writer->xmlElement('ExternalAccount',array(),$a_username);
00082
00083 $this->writer->xmlEndTag('User');
00084 $this->writer->xmlEndTag('Users');
00085 $this->log->write('Radius: Started creation of user: '.$new_name);
00086
00087 include_once './Services/User/classes/class.ilUserImportParser.php';
00088 $importParser = new ilUserImportParser();
00089 $importParser->setXMLContent($this->writer->xmlDumpMem(false));
00090 $importParser->setRoleAssignment(array($this->rad_settings->getDefaultRole() => $this->rad_settings->getDefaultRole()));
00091 $importParser->setFolderId(7);
00092 $importParser->startParsing();
00093
00094 return $new_name;
00095 }
00096 }
00097
00098
00099 ?>