subscribe_user2class.php from pointcarre at Krugle
Show subscribe_user2class.php syntax highlighted
<?php // $Id: subscribe_user2class.php 484 2006-10-10 11:49:59Z evie_em $
/*
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2004 Dokeos S.A.
Copyright (c) 2003 University of Ghent (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) Olivier Brouckaert
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
See the GNU General Public License for more details.
Contact: Dokeos, 181 rue Royale, B-1000 Brussels, Belgium, info@dokeos.com
==============================================================================
*/
/**
==============================================================================
* @package dokeos.admin
==============================================================================
*/
$langFile='admin';
$cidReset=true;
require('../inc/claro_init_global.inc.php');
api_protect_admin_script();
$course=$_GET['course'];
$idclass=intval($_GET['idclass']);
$formSent=0;
$errorMsg=$firstLetterLeft=$firstLetterRight='';
$LeftUserList=$RightUserList=array();
$tbl_class=$mysqlMainDb."`.`class";
$tbl_class_user=$mysqlMainDb."`.`class_user";
$tbl_user=$mysqlMainDb."`.`user";
//$tbl_cours_class=$mysqlMainDb."`.`cours_class";
//$tbl_cours_user=$mysqlMainDb."`.`cours_user";
//updated for 1.6 - YW
$tbl_course_user = Database::get_main_table(MAIN_COURSE_USER_TABLE);
$tbl_course_class = Database::get_main_table(MAIN_COURSE_CLASS_TABLE);
$result=api_sql_query("SELECT name FROM `$tbl_class` WHERE id='$idclass'",__FILE__,__LINE__);
if(!list($className)=mysql_fetch_row($result))
{
header('Location: class_list.php?filtreCours='.urlencode($course));
exit();
}
$noPHP_SELF=true;
$tool_name=get_lang('AddUsersToAClass').' ('.$className.')';
$interbredcrump[]=array("url" => "index.php","name" => get_lang('AdministrationTools'));
$interbredcrump[]=array("url" => "class_list.php?filtreCours=".urlencode($course),"name" => get_lang('AdminClasses'));
if($_POST['formSent'] )
{
$formSent=$_POST['formSent'];
$firstLetterLeft=$_POST['firstLetterLeft'];
$firstLetterRight=$_POST['firstLetterRight'];
$LeftUserList=$_POST['LeftUserList'];
$RightUserList=$_POST['RightUserList'];
$addToClass=empty($_POST['addToClass'])?0:1;
$removeFromClass=empty($_POST['removeFromClass'])?0:1;
if(!is_array($LeftUserList))
{
$LeftUserList=array();
}
if(!is_array($RightUserList))
{
$RightUserList=array();
}
if($formSent == 1)
{
if($addToClass)
{
if(!sizeof($LeftUserList)) $errorMsg=get_lang('AtLeastOneUser');
else
{
$liste_cours=array();
$result=api_sql_query("SELECT course_code FROM $tbl_course_class WHERE class_id='$idclass'",__FILE__,__LINE__);
while($row=mysql_fetch_row($result))
{
$liste_cours[]=$row[0];
}
$ok_query2=false;
if(sizeof($liste_cours))
{
$query2="INSERT IGNORE INTO $tbl_course_user(course_code,user_id,status) VALUES";
$ok_query2=true;
}
$query1="INSERT IGNORE INTO `$tbl_class_user`(user_id,class_id) VALUES";
$ok_query1=false;
foreach($LeftUserList as $enreg_user)
{
$query1.="('$enreg_user','$idclass'),";
$ok_query1=true;
foreach($liste_cours as $enreg_cours)
{
$query2.="('$enreg_cours','$enreg_user','5'),";
}
}
if($ok_query1)
{
$query1=substr($query1,0,-1);
api_sql_query($query1,__FILE__,__LINE__);
}
if($ok_query2)
{
$query2=substr($query2,0,-1);
api_sql_query($query2,__FILE__,__LINE__);
}
header('Location: class_list.php?filtreCours='.urlencode($course));
exit();
}
}
elseif($removeFromClass)
{
if(!sizeof($RightUserList)) $errorMsg=get_lang('AtLeastOneUser');
else
{
$in_list=implode(',',$RightUserList);
$liste_cours='';
$result=api_sql_query("SELECT course_code FROM $tbl_course_class WHERE class_id='$idclass'",__FILE__,__LINE__);
while($row=mysql_fetch_row($result))
{
$liste_cours.="'$row[0]',";
}
if(!empty($liste_cours))
{
$liste_cours=substr($liste_cours,0,-1);
$result=api_sql_query("SELECT DISTINCT user_id FROM `$tbl_class_user` t1, $tbl_course_class t2 WHERE t1.class_id=t2.class_id AND course_code IN($liste_cours) AND user_id IN($in_list) AND t2.class_id<>'$idclass'",__FILE__,__LINE__);
$not_in_list='';
while($row=mysql_fetch_row($result))
{
$not_in_list.="$row[0],";
}
if(empty($not_in_list))
{
$not_in_list='0';
}
else
{
$not_in_list=substr($not_in_list,0,-1);
}
api_sql_query("DELETE FROM $tbl_course_user WHERE course_code IN($liste_cours) AND user_id IN($in_list) AND user_id NOT IN($not_in_list)",__FILE__,__LINE__);
}
api_sql_query("DELETE FROM `$tbl_class_user` WHERE user_id IN($in_list) AND class_id='$idclass'",__FILE__,__LINE__);
header('Location: class_list.php?filtreCours='.urlencode($course));
exit();
}
}
}
}
Display::display_header($tool_name);
api_display_tool_title($tool_name);
$sql = "SELECT u.user_id,lastname,firstname,username FROM `$tbl_user` u LEFT JOIN `$tbl_class_user` cu ON u.user_id=cu.user_id AND class_id='$idclass' WHERE lastname LIKE '".$firstLetterLeft."%' AND class_id IS NULL ORDER BY ".(sizeof($LeftUserList)?"(user_id IN(".implode(',',$LeftUserList).")) DESC,":"")." lastname ";
$result=api_sql_query($sql,__FILE__,__LINE__);
$LeftUsers=api_store_result($result);
$result=api_sql_query("SELECT u.user_id,lastname,firstname,username FROM `$tbl_user` u,`$tbl_class_user` cu WHERE cu.user_id=u.user_id AND class_id='$idclass' AND lastname LIKE '".$firstLetterRight."%' ORDER BY ".(sizeof($RightUserList)?"(user_id IN(".implode(',',$RightUserList).")) DESC,":"")." lastname ",__FILE__,__LINE__);
$RightUsers=api_store_result($result);
?>
<form name="formulaire" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?course=<?php echo urlencode($course); ?>&idclass=<?php echo $idclass; ?>" style="margin:0px;">
<input type="hidden" name="formSent" value="1">
<?php
if(!empty($errorMsg))
{
Display::display_normal_message($errorMsg); //main API
}
?>
<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tr>
<td width="40%" align="center"><b><?php echo get_lang('UsersOutsideClass'); ?> :</b><br><br>
<?php echo get_lang('FirstLetterUser'); ?> : <select name="firstLetterLeft" onchange="javascript:document.formulaire.formSent.value='2'; document.formulaire.submit();">
<option value="">--</option>
<option value="A" <?php if($formSent && $firstLetterLeft == 'A') echo 'selected="selected"'; ?>>A</option>
<option value="B" <?php if($formSent && $firstLetterLeft == 'B') echo 'selected="selected"'; ?>>B</option>
<option value="C" <?php if($formSent && $firstLetterLeft == 'C') echo 'selected="selected"'; ?>>C</option>
<option value="D" <?php if($formSent && $firstLetterLeft == 'D') echo 'selected="selected"'; ?>>D</option>
<option value="E" <?php if($formSent && $firstLetterLeft == 'E') echo 'selected="selected"'; ?>>E</option>
<option value="F" <?php if($formSent && $firstLetterLeft == 'F') echo 'selected="selected"'; ?>>F</option>
<option value="G" <?php if($formSent && $firstLetterLeft == 'G') echo 'selected="selected"'; ?>>G</option>
<option value="H" <?php if($formSent && $firstLetterLeft == 'H') echo 'selected="selected"'; ?>>H</option>
<option value="I" <?php if($formSent && $firstLetterLeft == 'I') echo 'selected="selected"'; ?>>I</option>
<option value="J" <?php if($formSent && $firstLetterLeft == 'J') echo 'selected="selected"'; ?>>J</option>
<option value="K" <?php if($formSent && $firstLetterLeft == 'K') echo 'selected="selected"'; ?>>K</option>
<option value="L" <?php if($formSent && $firstLetterLeft == 'L') echo 'selected="selected"'; ?>>L</option>
<option value="M" <?php if($formSent && $firstLetterLeft == 'M') echo 'selected="selected"'; ?>>M</option>
<option value="N" <?php if($formSent && $firstLetterLeft == 'N') echo 'selected="selected"'; ?>>N</option>
<option value="O" <?php if($formSent && $firstLetterLeft == 'O') echo 'selected="selected"'; ?>>O</option>
<option value="P" <?php if($formSent && $firstLetterLeft == 'P') echo 'selected="selected"'; ?>>P</option>
<option value="Q" <?php if($formSent && $firstLetterLeft == 'Q') echo 'selected="selected"'; ?>>Q</option>
<option value="R" <?php if($formSent && $firstLetterLeft == 'R') echo 'selected="selected"'; ?>>R</option>
<option value="S" <?php if($formSent && $firstLetterLeft == 'S') echo 'selected="selected"'; ?>>S</option>
<option value="T" <?php if($formSent && $firstLetterLeft == 'T') echo 'selected="selected"'; ?>>T</option>
<option value="U" <?php if($formSent && $firstLetterLeft == 'U') echo 'selected="selected"'; ?>>U</option>
<option value="V" <?php if($formSent && $firstLetterLeft == 'V') echo 'selected="selected"'; ?>>V</option>
<option value="W" <?php if($formSent && $firstLetterLeft == 'W') echo 'selected="selected"'; ?>>W</option>
<option value="X" <?php if($formSent && $firstLetterLeft == 'X') echo 'selected="selected"'; ?>>X</option>
<option value="Y" <?php if($formSent && $firstLetterLeft == 'Y') echo 'selected="selected"'; ?>>Y</option>
<option value="Z" <?php if($formSent && $firstLetterLeft == 'Z') echo 'selected="selected"'; ?>>Z</option>
</select></td>
<td width="20%"> </td>
<td width="40%" align="center"><b><?php echo get_lang('UsersInsideClass'); ?> :</b><br><br>
<?php echo get_lang('FirstLetterUser'); ?> : <select name="firstLetterRight" onchange="javascript:document.formulaire.formSent.value='2'; document.formulaire.submit();">
<option value="">--</option>
<option value="A" <?php if($formSent && $firstLetterRight == 'A') echo 'selected="selected"'; ?>>A</option>
<option value="B" <?php if($formSent && $firstLetterRight == 'B') echo 'selected="selected"'; ?>>B</option>
<option value="C" <?php if($formSent && $firstLetterRight == 'C') echo 'selected="selected"'; ?>>C</option>
<option value="D" <?php if($formSent && $firstLetterRight == 'D') echo 'selected="selected"'; ?>>D</option>
<option value="E" <?php if($formSent && $firstLetterRight == 'E') echo 'selected="selected"'; ?>>E</option>
<option value="F" <?php if($formSent && $firstLetterRight == 'F') echo 'selected="selected"'; ?>>F</option>
<option value="G" <?php if($formSent && $firstLetterRight == 'G') echo 'selected="selected"'; ?>>G</option>
<option value="H" <?php if($formSent && $firstLetterRight == 'H') echo 'selected="selected"'; ?>>H</option>
<option value="I" <?php if($formSent && $firstLetterRight == 'I') echo 'selected="selected"'; ?>>I</option>
<option value="J" <?php if($formSent && $firstLetterRight == 'J') echo 'selected="selected"'; ?>>J</option>
<option value="K" <?php if($formSent && $firstLetterRight == 'K') echo 'selected="selected"'; ?>>K</option>
<option value="L" <?php if($formSent && $firstLetterRight == 'L') echo 'selected="selected"'; ?>>L</option>
<option value="M" <?php if($formSent && $firstLetterRight == 'M') echo 'selected="selected"'; ?>>M</option>
<option value="N" <?php if($formSent && $firstLetterRight == 'N') echo 'selected="selected"'; ?>>N</option>
<option value="O" <?php if($formSent && $firstLetterRight == 'O') echo 'selected="selected"'; ?>>O</option>
<option value="P" <?php if($formSent && $firstLetterRight == 'P') echo 'selected="selected"'; ?>>P</option>
<option value="Q" <?php if($formSent && $firstLetterRight == 'Q') echo 'selected="selected"'; ?>>Q</option>
<option value="R" <?php if($formSent && $firstLetterRight == 'R') echo 'selected="selected"'; ?>>R</option>
<option value="S" <?php if($formSent && $firstLetterRight == 'S') echo 'selected="selected"'; ?>>S</option>
<option value="T" <?php if($formSent && $firstLetterRight == 'T') echo 'selected="selected"'; ?>>T</option>
<option value="U" <?php if($formSent && $firstLetterRight == 'U') echo 'selected="selected"'; ?>>U</option>
<option value="V" <?php if($formSent && $firstLetterRight == 'V') echo 'selected="selected"'; ?>>V</option>
<option value="W" <?php if($formSent && $firstLetterRight == 'W') echo 'selected="selected"'; ?>>W</option>
<option value="X" <?php if($formSent && $firstLetterRight == 'X') echo 'selected="selected"'; ?>>X</option>
<option value="Y" <?php if($formSent && $firstLetterRight == 'Y') echo 'selected="selected"'; ?>>Y</option>
<option value="Z" <?php if($formSent && $firstLetterRight == 'Z') echo 'selected="selected"'; ?>>Z</option>
</select></td>
</tr>
<tr>
<td width="40%" align="center"><select name="LeftUserList[]" multiple="multiple" size="20" style="width:230px;">
<?php
foreach($LeftUsers as $enreg)
{
?>
<option value="<?php echo $enreg['user_id']; ?>" <?php if(in_array($enreg['user_id'],$LeftUserList)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option>
<?php
}
unset($LeftUsers);
?>
</select></td>
<td width="20%" valign="middle" align="center">
<input type="submit" name="addToClass" value="<?php echo get_lang('AddToClass'); ?> >>">
<br><br>
<input type="submit" name="removeFromClass" value="<< <?php echo get_lang('RemoveFromClass'); ?>">
</td>
<td width="40%" align="center"><select name="RightUserList[]" multiple="multiple" size="20" style="width:230px;">
<?php
foreach($RightUsers as $enreg)
{
?>
<option value="<?php echo $enreg['user_id']; ?>" <?php if(in_array($enreg['user_id'],$RightUserList)) echo 'selected="selected"'; ?>><?php echo $enreg['lastname'].' '.$enreg['firstname'].' ('.$enreg['username'].')'; ?></option>
<?php
}
unset($RightUsers);
?>
</select></td>
</tr>
</table>
</form>
<?php
/*
==============================================================================
FOOTER
==============================================================================
*/
Display::display_footer();
?>
See more files for this project here