[svn r15899] Add 2 more options when creating/editing a session. We can now specify how many days a coach will be able to access his session before the official start date. Same thing for the end date

FS#2724
skala
Julian Prud'homme 17 years ago
parent ba2f56192c
commit 89a66f0270
  1. 21
      main/admin/session_add.php
  2. 38
      main/admin/session_edit.php
  3. 10
      main/inc/lib/usermanager.lib.php
  4. 1
      main/install/migrate-db-1.8.5-1.8.6-pre.sql

@ -70,6 +70,9 @@ $tool_name = get_lang('AddSession');
$interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
$interbreadcrumb[]=array('url' => "session_list.php","name" => get_lang('SessionList'));
$nb_days_acess_before = 0;
$nb_days_acess_after = 0;
if($_POST['formSent'])
{
$formSent=1;
@ -81,6 +84,8 @@ if($_POST['formSent'])
$year_end=intval($_POST['year_end']);
$month_end=intval($_POST['month_end']);
$day_end=intval($_POST['day_end']);
$nb_days_acess_before = intval($_POST['nb_days_acess_before']);
$nb_days_acess_after = intval($_POST['nb_days_acess_after']);
$sql = 'SELECT user_id FROM '.$tbl_user.' WHERE username="'.Database::escape_string($_POST['coach_username']).'"';
$rs = api_sql_query($sql, __FILE__, __LINE__);
@ -106,7 +111,7 @@ if($_POST['formSent'])
$errorMsg = get_lang('SessionNameSoonExists');
}
else {
api_sql_query("INSERT INTO $tbl_session(name,date_start,date_end,id_coach,session_admin_id) VALUES('".addslashes($name)."','$date_start','$date_end','$id_coach',".intval($_user['user_id']).")",__FILE__,__LINE__);
api_sql_query("INSERT INTO $tbl_session(name,date_start,date_end,id_coach,session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end) VALUES('".addslashes($name)."','$date_start','$date_end','$id_coach',".intval($_user['user_id']).",".$nb_days_acess_before.", ".$nb_days_acess_after.")",__FILE__,__LINE__);
$id_session=mysql_insert_id();
header('Location: add_courses_to_session.php?id_session='.$id_session.'&add=true');
@ -327,6 +332,20 @@ for($i=$thisYear-5;$i <= ($thisYear+5);$i++)
</select>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<a href="javascript://" onclick="if(document.getElementById('options').style.display == 'none'){document.getElementById('options').style.display = 'block';}else{document.getElementById('options').style.display = 'none';}"><?php echo get_lang('DefineSessionOptions') ?></a>
<div style="display: <?php if($formSent && ($nb_days_acess_before!=0 || $nb_days_acess_after!=0)) echo 'block'; else echo 'none'; ?>;" id="options">
<br>
<input type="text" name="nb_days_acess_before" value="<?php echo $nb_days_acess_before; ?>" style="width: 30px;">&nbsp;<?php echo get_lang('DaysBefore') ?><br>
<input type="text" name="nb_days_acess_after" value="<?php echo $nb_days_acess_after; ?>" style="width: 30px;">&nbsp;<?php echo get_lang('DaysAfter') ?>
<br>
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="<?php echo get_lang('NextStep') ?>"></td>

@ -25,7 +25,7 @@ $tool_name = get_lang('EditSession');
$interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
$interbreadcrumb[]=array('url' => "session_list.php","name" => get_lang('SessionList'));
$result=api_sql_query("SELECT name,date_start,date_end,id_coach, session_admin_id FROM $tbl_session WHERE id='$id'",__FILE__,__LINE__);
$result=api_sql_query("SELECT name,date_start,date_end,id_coach, session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end FROM $tbl_session WHERE id='$id'",__FILE__,__LINE__);
if(!$infos=mysql_fetch_array($result))
{
@ -54,7 +54,9 @@ if($_POST['formSent'])
$month_end=intval($_POST['month_end']);
$day_end=intval($_POST['day_end']);
$id_coach=intval($_POST['id_coach']);
$nb_days_access_before = intval($_POST['nb_days_access_before']);
$nb_days_access_after = intval($_POST['nb_days_access_after']);
if(empty($_POST['nolimit'])){
$date_start="$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start);
$date_end="$year_end-".(($month_end < 10)?"0$month_end":$month_end)."-".(($day_end < 10)?"0$day_end":$day_end);
@ -84,7 +86,9 @@ if($_POST['formSent'])
SET name='".addslashes($name)."',
date_start='$date_start',
date_end='$date_end',
id_coach='$id_coach'
id_coach='$id_coach',
nb_days_access_before_beginning = ".$nb_days_access_before.",
nb_days_access_after_end = ".$nb_days_access_after."
WHERE id='$id'",__FILE__,__LINE__);
header('Location: resume_session.php?id_session='.$id);
exit();
@ -295,6 +299,34 @@ for($i=$thisYear-5;$i <= ($thisYear+5);$i++)
</select>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<a href="javascript://" onclick="if(document.getElementById('options').style.display == 'none'){document.getElementById('options').style.display = 'block';}else{document.getElementById('options').style.display = 'none';}"><?php echo get_lang('DefineSessionOptions') ?></a>
<div style="display:
<?php
if($formSent){
if($nb_days_access_before!=0 || $nb_days_access_after!=0)
echo 'block';
else echo 'none';
}
else{
if($infos['nb_days_access_before_beginning']!=0 || $infos['nb_days_access_after_end']!=0)
echo 'block';
else
echo 'none';
}
?>
;" id="options">
<br>
<input type="text" name="nb_days_access_before" value="<?php if($formSent) echo htmlentities($nb_days_access_before,ENT_QUOTES,$charset); else echo htmlentities($infos['nb_days_access_before_beginning'],ENT_QUOTES,$charset); ?>" style="width: 30px;">&nbsp;<?php echo get_lang('DaysBefore') ?><br>
<input type="text" name="nb_days_access_after" value="<?php if($formSent) echo htmlentities($nb_days_access_after,ENT_QUOTES,$charset); else echo htmlentities($infos['nb_days_access_after_end'],ENT_QUOTES,$charset); ?>" style="width: 30px;">&nbsp;<?php echo get_lang('DaysAfter') ?>
<br>
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="<?php echo get_lang('Ok'); ?>"></td>

@ -1,4 +1,4 @@
<?php // $Id: usermanager.lib.php 15821 2008-07-18 12:15:35Z pcool $
<?php // $Id: usermanager.lib.php 15899 2008-08-04 13:03:05Z elixir_julian $
/*
==============================================================================
Dokeos - elearning and course management software
@ -1328,12 +1328,16 @@ class UserManager
$sessions = array_merge($sessions , api_store_result($result));
// get the list of sessions where the user is subscribed as coach in a course
$sessions_sql = "SELECT DISTINCT id, name, date_start, date_end
$sessions_sql = "SELECT DISTINCT id, name, date_start, date_end, DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY), ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY)
FROM $tbl_session as session
INNER JOIN $tbl_session_course as session_rel_course
ON session_rel_course.id_coach = $user_id
AND (date_start <= NOW() AND date_end >= NOW() OR date_start='0000-00-00')
AND
( CURDATE() >= DATE_SUB(date_start, INTERVAL nb_days_access_before_beginning DAY) AND
CURDATE() <= ADDDATE(date_end, INTERVAL nb_days_access_after_end DAY) OR
date_start='0000-00-00')
ORDER BY date_start, date_end, name";
$result = api_sql_query($sessions_sql,__FILE__,__LINE__);
$session_is_coach = api_store_result($result);

@ -17,6 +17,7 @@ ALTER TABLE php_session CHANGE session_value session_value MEDIUMTEXT NOT NULL;
INSERT INTO settings_current (variable, subkey,type,category,selected_value,title,comment,scope,subkeytext)VALUES ('add_users_by_coach',NULL,'radio','Platform','false','AddUsersByCoachTitle','AddUsersByCoachComment',NULL,NULL);
INSERT INTO settings_options (variable, value, display_text) VALUES ('add_users_by_coach', 'true', 'Yes');
INSERT INTO settings_options (variable, value, display_text) VALUES ('add_users_by_coach', 'false', 'No');
ALTER TABLE session ADD nb_days_access_before_beginning TINYINT NULL DEFAULT '0' AFTER date_end , ADD nb_days_access_after_end TINYINT NULL DEFAULT '0' AFTER nb_days_access_before_beginning ;
-- xxSTATSxx

Loading…
Cancel
Save