Removing old code to add/edit sessions

skala
Julio Montoya 13 years ago
parent 7c2623633e
commit faa0c0baee
  1. 2
      main/inc/lib/main_api.lib.php
  2. 44
      main/inc/lib/sessionmanager.lib.php
  3. 1
      main/inc/lib/tracking.lib.php
  4. 37
      main/webservices/webservice_session.php
  5. 48
      tests/main/inc/lib/sessionmanager.lib.test.php

@ -1859,7 +1859,7 @@ function api_get_session_visibility($session_id, $course_code = null, $ignore_vi
//if access_end_date is set //if access_end_date is set
if (!empty($row['access_end_date']) && $row['access_end_date'] != '0000-00-00 00:00:00') { if (!empty($row['access_end_date']) && $row['access_end_date'] != '0000-00-00 00:00:00') {
//only if date_start said that it was ok //only if access_end_date said that it was ok
if ($visibility == SESSION_AVAILABLE) { if ($visibility == SESSION_AVAILABLE) {
$visibility = $row['visibility']; $visibility = $row['visibility'];

@ -132,6 +132,7 @@ class SessionManager {
* @todo use an array to replace all this parameters or use the model.lib.php ... * @todo use an array to replace all this parameters or use the model.lib.php ...
* @return mixed Session ID on success, error message otherwise * @return mixed Session ID on success, error message otherwise
**/ **/
/*
public static function create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after, $nolimit,$coach_username, $id_session_category,$id_visibility, $start_limit = true, $end_limit = true, $fix_name = false) { public static function create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after, $nolimit,$coach_username, $id_session_category,$id_visibility, $start_limit = true, $end_limit = true, $fix_name = false) {
global $_configuration; global $_configuration;
@ -228,16 +229,7 @@ class SessionManager {
$session_id = Database::insert_id(); $session_id = Database::insert_id();
if (!empty($session_id)) { if (!empty($session_id)) {
/*
Sends a message to the user_id = 1
$user_info = api_get_user_info(1);
$complete_name = $user_info['firstname'].' '.$user_info['lastname'];
$subject = api_get_setting('siteName').' - '.get_lang('ANewSessionWasCreated');
$message = get_lang('ANewSessionWasCreated')." <br /> ".get_lang('NameOfTheSession').' : '.$name;
api_mail_html($complete_name, $user_info['email'], $subject, $message);
*
*/
//Adding to the correct URL //Adding to the correct URL
$access_url_id = api_get_current_access_url_id(); $access_url_id = api_get_current_access_url_id();
UrlManager::add_session_to_url($session_id,$access_url_id); UrlManager::add_session_to_url($session_id,$access_url_id);
@ -251,6 +243,7 @@ class SessionManager {
} }
} }
*/
function session_name_exists($session_name) { function session_name_exists($session_name) {
$session_name = Database::escape_string($session_name); $session_name = Database::escape_string($session_name);
$result = Database::fetch_array(Database::query("SELECT COUNT(*) as count FROM ".Database::get_main_table(TABLE_MAIN_SESSION)." WHERE name = '$session_name' ")); $result = Database::fetch_array(Database::query("SELECT COUNT(*) as count FROM ".Database::get_main_table(TABLE_MAIN_SESSION)." WHERE name = '$session_name' "));
@ -455,6 +448,7 @@ class SessionManager {
* @return $id; * @return $id;
* The parameter id is a primary key * The parameter id is a primary key
**/ **/
/*
public static function edit_session ($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility, $start_limit = true, $end_limit = true) { public static function edit_session ($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility, $start_limit = true, $end_limit = true) {
global $_user; global $_user;
$name=trim(stripslashes($name)); $name=trim(stripslashes($name));
@ -537,6 +531,7 @@ class SessionManager {
} }
} }
} }
*/
/** /**
* Delete session * Delete session
* @author Carlos Vargas from existing code * @author Carlos Vargas from existing code
@ -1354,14 +1349,14 @@ class SessionManager {
$return_array = array(); $return_array = array();
$sql_query = " SELECT s.id, s.name, s.nbr_courses, s.date_start, s.date_end, u.firstname, u.lastname, sc.name as category_name, s.promotion_id $sql_query = " SELECT s.id, s.name, s.nbr_courses, s.access_start_date, s.access_end_date, u.firstname, u.lastname, sc.name as category_name, s.promotion_id
FROM $session_table s FROM $session_table s
INNER JOIN $user_table u ON s.id_coach = u.user_id INNER JOIN $user_table u ON s.id_coach = u.user_id
INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id
LEFT JOIN $session_category_table sc ON s.session_category_id = sc.id LEFT JOIN $session_category_table sc ON s.session_category_id = sc.id
WHERE ar.access_url_id = $access_url_id "; WHERE ar.access_url_id = $access_url_id ";
if (count($conditions)>0) { if (count($conditions) > 0) {
$sql_query .= ' AND '; $sql_query .= ' AND ';
foreach ($conditions as $field=>$value) { foreach ($conditions as $field=>$value) {
$field = Database::escape_string($field); $field = Database::escape_string($field);
@ -1784,29 +1779,10 @@ class SessionManager {
*/ */
public function copy_session($id, $copy_courses = true, $copy_users = true, $create_new_courses = false, $set_exercises_lp_invisible = false) { public function copy_session($id, $copy_courses = true, $copy_users = true, $create_new_courses = false, $set_exercises_lp_invisible = false) {
$id = intval($id); $id = intval($id);
$s = self::fetch($id); $params = self::fetch($id);
$s['year_start'] = substr($s['date_start'],0,4);
$s['month_start'] = substr($s['date_start'],5,2);
$s['day_start'] = substr($s['date_start'],8,2);
$s['year_end'] = substr($s['date_end'],0,4);
$s['month_end'] = substr($s['date_end'],5,2);
$s['day_end'] = substr($s['date_end'],8,2);
$consider_start = true;
if ($s['year_start'].'-'.$s['month_start'].'-'.$s['day_start'] == '0000-00-00') {
$consider_start = false;
}
$consider_end = true;
if ($s['year_end'].'-'.$s['month_end'].'-'.$s['day_end'] == '0000-00-00') {
$consider_end = false;
}
$sid = self::create_session($s['name'].' '.get_lang('Copy'),
$s['year_start'], $s['month_start'], $s['day_start'],
$s['year_end'],$s['month_end'],$s['day_end'],
$s['nb_days_acess_before_beginning'],$s['nb_days_acess_after_end'],
false,(int)$s['id_coach'], $s['session_category_id'],
(int)$s['visibility'],$consider_start, $consider_end, true);
$params['name'] = $params['name'].' '.get_lang('Copy');
$sid = self::add($params);
if (!is_numeric($sid) || empty($sid)) { if (!is_numeric($sid) || empty($sid)) {
return false; return false;
} }

@ -1308,7 +1308,6 @@ class Tracking {
public static function get_sessions_coached_by_user($coach_id) { public static function get_sessions_coached_by_user($coach_id) {
// table definition // table definition
$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER); $tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
// protect datas // protect datas

@ -31,7 +31,7 @@ class WSSession extends WS {
* @param array Array of extra fields * @param array Array of extra fields
* @return mixed Generated id in case of success, WSError otherwise * @return mixed Generated id in case of success, WSError otherwise
*/ */
protected function createSessionHelper($name, $start_date, $end_date, $nb_days_access_before, $nb_days_access_after, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) { protected function createSessionHelper($name, $start_date, $end_date, $coach_access_start_date, $coach_access_end_date, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
// Verify that coach exists and get its id // Verify that coach exists and get its id
$user_id = $this->getUserId($user_id_field_name, $user_id_value); $user_id = $this->getUserId($user_id_field_name, $user_id_value);
if($user_id instanceof WSError) { if($user_id instanceof WSError) {
@ -47,7 +47,17 @@ class WSSession extends WS {
$ed_element = intval($ed_element); $ed_element = intval($ed_element);
} }
// Try to create the session // Try to create the session
$session_id = SessionManager::create_session($name, $start_date_array[0], $start_date_array[1], $start_date_array[2], $end_date_array[0], $end_date_array[1], $end_date_array[2], (int)$nb_days_access_before, (int)$nb_days_access_after, (int)$nolimit, $user_id, 0, (int)$visibility); $params = array(
'name' => $name,
'access_start_date' => $start_date,
'access_end_date' => $end_date,
'coach_access_start_date' => $coach_access_start_date,
'coach_access_end_date' => $coach_access_end_date,
'visibility' => $visibility
);
$session_id = SessionManager::add($params);
if(!is_int($session_id)) { if(!is_int($session_id)) {
return new WSError(301, 'Could not create the session'); return new WSError(301, 'Could not create the session');
} else { } else {
@ -153,7 +163,7 @@ class WSSession extends WS {
* @param array Array of extra fields * @param array Array of extra fields
* @return mixed True on success, WSError otherwise * @return mixed True on success, WSError otherwise
*/ */
protected function editSessionHelper($name, $start_date, $end_date, $nb_days_access_before, $nb_days_access_after, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) { protected function editSessionHelper($name, $start_date, $end_date, $coach_access_start_date, $coach_access_end_date, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
$session_id = $this->getSessionId($session_id_field_name, $session_id_value); $session_id = $this->getSessionId($session_id_field_name, $session_id_value);
if($session_id instanceof WSError) { if($session_id instanceof WSError) {
return $session_id; return $session_id;
@ -163,16 +173,17 @@ class WSSession extends WS {
if($user_id instanceof WSError) { if($user_id instanceof WSError) {
return $user_id; return $user_id;
} }
// Build the date $params = array(
$start_date_array = explode('-', $start_date); 'id' => $session_id,
foreach($start_date_array as &$sd_element) { 'name' => $name,
$sd_element = intval($sd_element); 'access_start_date' => $start_date,
} 'access_end_date' => $end_date,
$end_date_array = explode('-', $end_date); 'coach_access_start_date' => $coach_access_start_date,
foreach($end_date_array as &$ed_element) { 'coach_access_end_date' => $coach_access_end_date,
$ed_element = intval($ed_element); 'visibility' => $visibility
} );
$result_id = SessionManager::edit_session($session_id, $name, $start_date_array[0], $start_date_array[1], $start_date_array[2], $end_date_array[0], $end_date_array[1], $end_date_array[2], (int)$nb_days_access_before, (int)$nb_days_access_after, (int)$nolimit, $user_id, 0, (int)$visibility); $result_id = SessionManager::update($params);
if(!is_int($result_id)) { if(!is_int($result_id)) {
return new WSError(302, 'Could not edit the session'); return new WSError(302, 'Could not edit the session');
} else { } else {

@ -21,31 +21,7 @@ class TestSessionManager extends UnitTestCase {
//var_dump($res); //var_dump($res);
} }
function testcreate_session() { function testcreate_session_extra_field() {
global $_user;
$sname='';
$syear_start='';
$smonth_start='';
$sday_start='';
$syear_end='';
$smonth_end='';
$sday_end='';
$snb_days_acess_before='';
$snb_days_acess_after='';
$nolimit='';
$coach_username='';
$id_session_category='';
$id_visibility='';
$id_session=Database::insert_id();
ob_start();
$res=SessionManager::create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after,$nolimit,$coach_username,$id_session_category,$id_visibility);
$this->assertTrue(is_numeric($id_session));
$this->assertTrue(is_string($res));
ob_end_clean();
//var_dump($id_session);
}
function testcreate_session_extra_field() {
$fieldvarname=''; $fieldvarname='';
$fieldtype=''; $fieldtype='';
$fieldtitle=''; $fieldtitle='';
@ -71,27 +47,7 @@ class TestSessionManager extends UnitTestCase {
} }
*/ */
function testedit_session() {
global $_user;
$id=1;
$name='';
$year_start='';
$month_start='';
$day_start='';
$year_end='';
$month_end='';
$day_end='';
$nb_days_acess_before='';
$nb_days_acess_after='';
$nolimit='';
$id_coach='';
$id_session_category='';
$id_visibility='';
$res=SessionManager::edit_session($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility);
$this->assertTrue(is_numeric($id));
$this->assertTrue(is_string($res));
//var_dump($id);
}
function testget_session_by_name() { function testget_session_by_name() {
$session_name=''; $session_name='';

Loading…
Cancel
Save