"index.php","name" => get_lang('AdministrationTools')); set_time_limit(0); if($_POST['formSent']) { $formSent=$_POST['formSent']; $file_type=$_POST['file_type']; $sendMail=$_POST['sendMail']?1:0; /*if($_FILES['import_file']['size']) { $content=file($_FILES['import_file']['tmp_name']); } else { $content=array(''); }*/ $sessions=array(); /////////////////////// //XML///////////////// ///////////////////// if($file_type == 'xml') { $xmlparser = new XmlLib_xmlParser($_FILES['import_file']['tmp_name']); $racine = $xmlparser->getDocument(); $sessionNodes = $racine->children('Session'); foreach ($sessionNodes as $sessionNode){ // foreach session $countCourses = 0; $countUsers = 0; list($SessionName) = $sessionNode->children('SessionName'); $SessionName = $SessionName->nodeValue(); list($Coach) = $sessionNode->children('Coach'); if(!empty($Coach)){ $Coach = $Coach->nodeValue(); $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='$Coach'"; $rsCoach = api_sql_query($sqlCoach); list($Coach) = (mysql_fetch_array($rsCoach)); } else { $Coach = ''; } list($DateStart) = $sessionNode->children('DateStart'); $DateStart = $DateStart->nodeValue(); list($DateEnd) = $sessionNode->children('DateEnd'); $DateEnd = $DateEnd->nodeValue(); $sqlSession = "INSERT IGNORE INTO $tbl_session SET name = '$SessionName', id_coach = '$Coach', date_start = '$DateStart', date_end = '$DateEnd'"; $rsSession = api_sql_query($sqlSession, __FILE__, __LINE__); $update = false; if(!mysql_affected_rows($rsSession)){ $update = true; $sqlSession = "UPDATE $tbl_session SET id_coach = '$Coach', date_start = '$DateStart', date_end = '$DateEnd' WHERE name = '$SessionName'"; $rsSession = api_sql_query($sqlSession, __FILE__, __LINE__); $session_id = api_sql_query("SELECT id FROM $tbl_session WHERE name='$SessionName'",__FILE__,__LINE__); list($session_id) = mysql_fetch_array($session_id); api_sql_query("DELETE FROM $tbl_session_user WHERE id_session='$session_id'",__FILE__,__LINE__); api_sql_query("DELETE FROM $tbl_session_course WHERE id_session='$session_id'",__FILE__,__LINE__); api_sql_query("DELETE FROM $tbl_session_course_user WHERE id_session='$session_id'",__FILE__,__LINE__); } else { $session_id = mysql_insert_id($rsSession); } $userNodes = $sessionNode->children('User'); foreach ($userNodes as $userNode){ $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".$userNode->nodeValue()."'"; $rsUser = api_sql_query($sqlUser); list($user_id) = (mysql_fetch_array($rsUser)); if(!empty($user_id)){ $sql = "INSERT INTO $tbl_session_user SET id_user='$user_id', id_session = '$session_id'"; $rsUser = api_sql_query($sql,__FILE__,__LINE__); if(mysql_affected_rows()){ $countUsers++; } } } $courseNodes = $sessionNode->children('Course'); foreach($courseNodes as $courseNode){ list($CourseCode) = $courseNode->children('CourseCode'); $CourseCode = $CourseCode->nodeValue(); list($Coach) = $courseNode->children('Coach'); if(!empty($Coach)){ $Coach = $Coach->nodeValue(); $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='$Coach'"; $rsCoach = api_sql_query($sqlCoach,__FILE__,__LINE__); list($Coach) = (mysql_fetch_array($rsCoach)); } else { $Coach = ''; } $sqlCourse = "INSERT INTO $tbl_session_course SET course_code = '$CourseCode', id_coach='$Coach', id_session='$session_id'"; $rsCourse = api_sql_query($sqlCourse,__FILE__,__LINE__); if(mysql_affected_rows()){ $countCourses++; $userNodes = $courseNode->children('User'); $countUsersCourses = 0; foreach ($userNodes as $userNode){ $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".$userNode->nodeValue()."'"; $rsUser = api_sql_query($sqlUser); list($user_id) = (mysql_fetch_array($rsUser)); $sql = "INSERT INTO $tbl_session_course_user SET id_user='$user_id', course_code='$CourseCode', id_session = '$session_id'"; $rsUsers = api_sql_query($sql,__FILE__,__LINE__); if(mysql_affected_rows()) $countUsersCourses++; } api_sql_query("UPDATE $tbl_session_course SET nbr_users='$countUsersCourses' WHERE course_code='$CourseCode'",__FILE__,__LINE__); } } api_sql_query("UPDATE $tbl_session SET nbr_users='$countUsers', nbr_courses='$countCourses' WHERE id='$session_id'",__FILE__,__LINE__); } } ///////////////////// // CSV ///////////// /////////////////// else { $content=file($_FILES['import_file']['tmp_name']); if(!strstr($content[0],';')) { $errorMsg=get_lang('NotCSV'); } else { $tag_names=array(); foreach($content as $key=>$enreg) { $enreg=explode(';',trim($enreg)); if($key) { foreach($tag_names as $tag_key=>$tag_name) { $sessions[$key-1][$tag_name]=$enreg[$tag_key]; } } else { foreach($enreg as $tag_name) { $tag_names[]=eregi_replace('[^a-z0-9_-]','',$tag_name); } if(!in_array('SessionName',$tag_names) || !in_array('DateStart',$tag_names) || !in_array('DateEnd',$tag_names)) { $errorMsg=get_lang('NoNeededData'); break; } } } foreach($sessions as $enreg) { $SessionName = $enreg['SessionName']; $DateStart = $enreg['DateStart']; $DateEnd = $enreg['DateEnd']; if(!empty($enreg['Coach'])){ $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='".$enreg['Coach']."'"; $rsCoach = api_sql_query($sqlCoach); list($Coach) = (mysql_fetch_array($rsCoach)); } else { $Coach = ''; } $sqlSession = "INSERT IGNORE INTO $tbl_session SET name = '$SessionName', id_coach = '$Coach', date_start = '$DateStart', date_end = '$DateEnd'"; $rsSession = api_sql_query($sqlSession, __FILE__, __LINE__); $update = false; if(!mysql_affected_rows($rsSession)){ $update = true; $sqlSession = "UPDATE $tbl_session SET id_coach = '$Coach', date_start = '$DateStart', date_end = '$DateEnd' WHERE name = '$SessionName'"; $rsSession = api_sql_query($sqlSession, __FILE__, __LINE__); $session_id = api_sql_query("SELECT id FROM $tbl_session WHERE name='$SessionName'",__FILE__,__LINE__); list($session_id) = mysql_fetch_array($session_id); api_sql_query("DELETE FROM $tbl_session_user WHERE id_session='$session_id'",__FILE__,__LINE__); api_sql_query("DELETE FROM $tbl_session_course WHERE id_session='$session_id'",__FILE__,__LINE__); api_sql_query("DELETE FROM $tbl_session_course_user WHERE id_session='$session_id'",__FILE__,__LINE__); } else { $session_id = mysql_insert_id($rsSession); } $users = explode('|',$enreg['Users']); foreach ($users as $user){ $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".$user."'"; $rsUser = api_sql_query($sqlUser); list($user_id) = (mysql_fetch_array($rsUser)); $sql = "INSERT INTO $tbl_session_user SET id_user='$user_id', id_session = '$session_id'"; $rsUser = api_sql_query($sql,__FILE__,__LINE__); if(mysql_affected_rows()){ $countUsers++; } } $courses = explode('|',$enreg['Courses']); foreach($courses as $course){ $CourseCode = substr($course,0,strpos($course,'[')); $Coach = strstr($course,'['); $Coach = substr($Coach,1,strpos($Coach,']')-1); if(!empty($Coach)){ $sqlCoach = "SELECT user_id FROM $tbl_user WHERE username='$Coach'"; $rsCoach = api_sql_query($sqlCoach,__FILE__,__LINE__); list($Coach) = (mysql_fetch_array($rsCoach)); } else { $Coach = ''; } $sqlCourse = "INSERT INTO $tbl_session_course SET course_code = '$CourseCode', id_coach='$Coach', id_session='$session_id'"; $rsCourse = api_sql_query($sqlCourse,__FILE__,__LINE__); if(mysql_affected_rows()){ $countCourses++; $users = substr($course , strpos($course,'[',1)+1 , strpos($course,']',1)); $users = explode('|',$enreg['Users']); $countUsersCourses = 0; foreach ($users as $user){ $sqlUser = "SELECT user_id FROM $tbl_user WHERE username='".$user."'"; $rsUser = api_sql_query($sqlUser); list($user_id) = (mysql_fetch_array($rsUser)); $sql = "INSERT INTO $tbl_session_course_user SET id_user='$user_id', course_code='$CourseCode', id_session = '$session_id'"; $rsUsers = api_sql_query($sql,__FILE__,__LINE__); if(mysql_affected_rows()) $countUsersCourses++; } api_sql_query("UPDATE $tbl_session_course SET nbr_users='$countUsersCourses' WHERE course_code='$CourseCode'",__FILE__,__LINE__); } } api_sql_query("UPDATE $tbl_session SET nbr_users='$countUsers', nbr_courses='$countCourses' WHERE id='$session_id'",__FILE__,__LINE__); } } } header('Location: session_list.php?action=show_message&message='.urlencode(get_lang('FileImported'))); } Display::display_header($tool_name); api_display_tool_title($tool_name); ?>
:
: > ()
> ()
 

:

SessionName;Coach;DateStart;DateEnd;Users;Courses
xxx;xxx;xxx;xxx;username1|username2;course1[coach1][username1,username2,...]|course2[coach1][username1,username2,...]

:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Sessions>
    <Session>
        <SessionName>xxx</SessionName>
        <Coach>xxx</Coach>
        <DateStart>xxx</DateStart>
        <DateEnd>xxx</DateEnd>
        <User>xxx</User>
        <User>xxx</User>
    	<Course>
    		<CourseCode>coursecode1</CourseCode>
    		<Coach>coach1</Coach>
		<User>username1</User>
		<User>username2</User>
    	</Course>
    </Session>
</Sessions>