Adding 'session.show_description' fields are not showed if the DB change does not exits see BT#6674

1.9.x
Julio Montoya 12 years ago
parent 3ff954fa55
commit 83610d17c8
  1. 64
      main/admin/session_edit.php
  2. 10
      main/inc/lib/display.lib.php
  3. 52
      main/inc/lib/sessionmanager.lib.php

@ -26,25 +26,22 @@ $id = intval($_GET['id']);
SessionManager::protect_session_edit($id);
$sql = "SELECT name,date_start,date_end,id_coach, session_admin_id, nb_days_access_before_beginning, nb_days_access_after_end, session_category_id, visibility
FROM $tbl_session WHERE id = $id";
$result = Database::query($sql);
if (!$infos = Database::fetch_array($result)) {
header('Location: session_list.php');
exit();
}
$infos = SessionManager::fetch($id);
$id_coach = $infos['id_coach'];
$tool_name = get_lang('EditSession');
$interbreadcrumb[] = array('url' => 'index.php',"name" => get_lang('PlatformAdmin'));
$interbreadcrumb[] = array('url' => "session_list.php","name" => get_lang('SessionList'));
$interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$id,"name" => get_lang('SessionOverview'));
list($year_start,$month_start,$day_start) = explode('-',$infos['date_start']);
list($year_end,$month_end,$day_end) = explode('-',$infos['date_end']);
list($year_start,$month_start,$day_start) = explode('-', $infos['date_start']);
list($year_end,$month_end,$day_end) = explode('-', $infos['date_end']);
$showDescriptionChecked = null;
if (isset($infos['show_description']) && !empty($infos['show_description'])) {
$showDescriptionChecked = 'checked';
}
$end_year_disabled = $end_month_disabled = $end_day_disabled = '';
@ -65,6 +62,9 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$id_session_category = $_POST['session_category'];
$id_visibility = $_POST['session_visibility'];
$description = isset($_POST['description']) ? $_POST['description'] : null;
$showDescription = isset($_POST['show_description']) ? 1 : 0;
$end_limit = $_POST['end_limit'];
$start_limit = $_POST['start_limit'];
@ -74,7 +74,27 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$nolimit = null;
}
$return = 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,$start_limit,$end_limit);
$return = 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,
$start_limit,
$end_limit,
$description,
$showDescription
);
if ($return == strval(intval($return))) {
header('Location: resume_session.php?id_session='.$return);
exit();
@ -337,6 +357,26 @@ if (!empty($return)) {
</div>
</div>
<?php if (array_key_exists('show_description', $infos)) { ?>
<div class="control-group">
<div class="controls">
<?php echo get_lang('Description') ?> <br />
<textarea name="description"><?php echo $infos['description']; ?></textarea>
</div>
</div>
<div class="control-group">
<div class="controls">
<label>
<input id="show_description" type="checkbox" name="show_description" <?php echo $showDescriptionChecked ?> />
<?php echo get_lang('ShowDescription') ?>
</label>
</div>
</div>
<?php } ?>
<div class="control-group">
<div class="controls">
<button class="save" type="submit" value="<?php echo get_lang('ModifyThisSession') ?>"><?php echo get_lang('ModifyThisSession') ?></button>

@ -1226,7 +1226,8 @@ class Display {
* @param int Session ID
* @return array Empty array or session array ['title'=>'...','category'=>'','dates'=>'...','coach'=>'...','active'=>true/false,'session_category_id'=>int]
*/
public static function get_session_title_box($session_id) {
public static function get_session_title_box($session_id)
{
global $nosession;
if (!$nosession) {
@ -1287,9 +1288,12 @@ class Display {
$session['active'] = $active;
$session['session_category_id'] = $session_info['session_category_id'];
if (isset($session_info['description'])) {
$session['description'] = $session_info['description'];
if (array_key_exists('show_description', $session_info)) {
if (!empty($session_info['show_description'])) {
$session['description'] = $session_info['description'];
}
}
$output = $session;
}
return $output;

@ -396,9 +396,28 @@ class SessionManager
* @return $id;
* 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) {
global $_user;
$name=trim(stripslashes($name));
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,
$description = null,
$showDescription = null
)
{
$name = trim(stripslashes($name));
$year_start=intval($year_start);
$month_start=intval($month_start);
$day_start=intval($day_start);
@ -411,9 +430,7 @@ class SessionManager
$id_session_category = intval($id_session_category);
$id_visibility = intval($id_visibility);
$tbl_user = Database::get_main_table(TABLE_MAIN_USER);
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_session_rel_course = Database::get_main_table(TABLE_MAIN_SESSION_COURSE);
if (empty($nolimit)) {
$date_start = "$year_start-".(($month_start < 10)?"0$month_start":$month_start)."-".(($day_start < 10)?"0$day_start":$day_start);
@ -453,17 +470,32 @@ class SessionManager
$msg=get_lang('StartDateShouldBeBeforeEndDate');
return $msg;
} else {
$rs = Database::query("SELECT id FROM $tbl_session WHERE name='".Database::escape_string($name)."'");
$exists = false;
while ($row = Database::fetch_array($rs)) {
if($row['id']!=$id)
if ($row['id'] != $id)
$exists = true;
}
if ($exists) {
$msg=get_lang('SessionNameAlreadyExists');
$msg = get_lang('SessionNameAlreadyExists');
return $msg;
} else {
$sql="UPDATE $tbl_session " .
$sessionInfo = SessionManager::fetch($id);
$descriptionCondition = null;
if (array_key_exists('description', $sessionInfo)) {
$descriptionCondition = ' description = "'.Database::escape_string($description).'" ,';
}
$showDescriptionCondition = null;
if (array_key_exists('show_description', $sessionInfo)) {
$showDescriptionCondition = ' show_description = "'.Database::escape_string($showDescription).'" ,';
}
$sql = "UPDATE $tbl_session " .
"SET name='".Database::escape_string($name)."',
date_start='".$date_start."',
date_end='".$date_end."',
@ -471,6 +503,8 @@ class SessionManager
nb_days_access_before_beginning = ".$nb_days_acess_before.",
nb_days_access_after_end = ".$nb_days_acess_after.",
session_category_id = ".$id_session_category." ,
$descriptionCondition
$showDescriptionCondition
visibility= ".$id_visibility."
WHERE id='$id'";
Database::query($sql);
@ -1905,7 +1939,7 @@ class SessionManager
$date_end = $enreg['DateEnd'];
$visibility = isset($enreg['Visibility']) ? $enreg['Visibility'] : $sessionVisibility;
$session_category_id = isset($enreg['SessionCategory']) ? $enreg['SessionCategory'] : null;
$sessionDescription = isset($enreg['SessionDescription']) ? $enreg['SessionDescription'] : null;
$sessionDescription = isset($enreg['SessionDescription']) ? $enreg['SessionDescription'] : null;
$extraSessionParameters = null;
if (!empty($sessionDescription)) {

Loading…
Cancel
Save