Skip to content

Commit

Permalink
Fix issue with course icons not showing correctly when visibility is …
Browse files Browse the repository at this point in the history
…updated on course homepage and custom icons are defined in CSS theme - refs BT#9617
  • Loading branch information
ywarnier committed Mar 30, 2015
1 parent 66c5908 commit 8eea258
Showing 1 changed file with 44 additions and 38 deletions.
82 changes: 44 additions & 38 deletions main/inc/ajax/course_home.ajax.php
Expand Up @@ -7,62 +7,68 @@
$action = $_GET['a'];

switch ($action) {
case 'set_visibility':
case 'set_visibility':
require_once '../global.inc.php';
$course_id = api_get_course_int_id();
if (api_is_allowed_to_edit(null,true)) {
if (api_is_allowed_to_edit(null, true)) {
$tool_table = Database::get_course_table(TABLE_TOOL_LIST);
$tool_info = api_get_tool_information($_GET["id"]);
$tool_info = api_get_tool_information($_GET['id']);
$tool_visibility = $tool_info['visibility'];
$tool_image = $tool_info['image'];
if (api_get_setting('homepage_view') != 'activity_big') {
$new_image = Display::return_icon(str_replace('.gif','_na.gif',$tool_image), null, null, null, null, true);
$tool_image = Display::return_icon($tool_image, null, null, null, null, true);
$tool_image = Display::return_icon($tool_image, null, null, null, null, true);
$na_image = str_replace('.gif', '_na.gif', $tool_image);
} else {
$tool_image = $tool_info['image'];
// Display::return_icon() also checks in the main/css/{theme}/icons folder
$tool_image = (substr($tool_info['image'], 0, strpos($tool_info['image'], '.'))).'.png';
$new_image = str_replace('.png','_na.png',$tool_image);
$new_image = api_get_path(WEB_IMG_PATH).'icons/64/'.$new_image;
$tool_image = api_get_path(WEB_IMG_PATH).'icons/64/'.$tool_image;
$tool_image = Display::return_icon(
$tool_image,
get_lang(ucfirst($too_info['name'])),
null,
ICON_SIZE_BIG,
null,
true
);
$na_image = str_replace('.png', '_na.png', $tool_image);
}

$requested_image = ($tool_visibility == 0 ) ? $tool_image : $new_image;
$requested_clase = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
$requested_image = ($tool_visibility == 0 ) ? $tool_image : $na_image;
$requested_class = ($tool_visibility == 0 ) ? 'visible' : 'invisible';
$requested_message = ($tool_visibility == 0 ) ? 'is_active' : 'is_inactive';
$requested_view = ($tool_visibility == 0 ) ? 'visible.png' : 'invisible.png';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;

$requested_view = ($tool_visibility == 0 ) ? 'visible.png' : 'invisible.png';
$requested_visible = ($tool_visibility == 0 ) ? 1 : 0;
//HIDE AND REACTIVATE TOOL
//HIDE AND REACTIVATE TOOL
if ($_GET["id"] == strval(intval($_GET["id"]))) {

/* -- session condition for visibility
if (!empty($session_id)) {
$sql = "select session_id FROM $tool_table WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
$sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
} else {
$sql_select = "select * FROM $tool_table WHERE id='".$_GET["id"]."'";
$res_select = Database::query($sql_select);
$row_select = Database::fetch_array($res_select);
$sql = "INSERT INTO $tool_table(name,link,image,visibility,admin,address,added_tool,target,category,session_id)
VALUES('{$row_select['name']}','{$row_select['link']}','{$row_select['image']}','0','{$row_select['admin']}','{$row_select['address']}','{$row_select['added_tool']}','{$row_select['target']}','{$row_select['category']}','$session_id')";
}
} else $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."'";
*/

$sql="UPDATE $tool_table SET visibility=$requested_visible WHERE c_id = $course_id AND id='".intval($_GET['id'])."'";
Database::query($sql);
}
$response_data = array(
'image' => $requested_image,
'tclass' => $requested_clase,
'message' => $requested_message,
'view' => $requested_view
);
echo json_encode($response_data);
/* -- session condition for visibility
if (!empty($session_id)) {
$sql = "select session_id FROM $tool_table WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {
$sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."' AND session_id = '$session_id'";
} else {
$sql_select = "select * FROM $tool_table WHERE id='".$_GET["id"]."'";
$res_select = Database::query($sql_select);
$row_select = Database::fetch_array($res_select);
$sql = "INSERT INTO $tool_table(name,link,image,visibility,admin,address,added_tool,target,category,session_id)
VALUES('{$row_select['name']}','{$row_select['link']}','{$row_select['image']}','0','{$row_select['admin']}','{$row_select['address']}','{$row_select['added_tool']}','{$row_select['target']}','{$row_select['category']}','$session_id')";
}
} else $sql="UPDATE $tool_table SET visibility=$requested_visible WHERE id='".$_GET["id"]."'";
*/

$sql = "UPDATE $tool_table SET visibility=$requested_visible WHERE c_id = $course_id AND id='" . intval($_GET['id']) . "'";
Database::query($sql);
}
$response_data = array(
'image' => $requested_image,
'tclass' => $requested_class,
'message' => $requested_message,
'view' => $requested_view
);
echo json_encode($response_data);
}
break;
case 'show_course_information' :
Expand Down

0 comments on commit 8eea258

Please sign in to comment.