diff --git a/app/Resources/public/css/base.css b/app/Resources/public/css/base.css index 479d8ac84f..12f1393710 100644 --- a/app/Resources/public/css/base.css +++ b/app/Resources/public/css/base.css @@ -94,6 +94,11 @@ select { .carousel-indicators{ bottom: 0px !important; } +#updatemp3 .footer-audio{ + padding-bottom: 10px; + padding-top: 10px; + margin-bottom: 20px; +} ul#navigation { position: fixed; margin: 0px; @@ -151,122 +156,10 @@ ul#navigation .report a { /* END CSS BASE */ .button-load{ - background: url("../img/icons/64/file_upload.png") no-repeat center 20px; + background: url("../../main/img/icons/64/file_upload.png") no-repeat center 20px; padding-top: 70px; } -/* START COURSE PROGRESS */ -.thematic-postit{ - padding-top: 5px; - padding-bottom: px; -} -.thematic-postit .tittle-score{ - padding-bottom: 5px; - font-size: 16px; - color: #006699; -} -.thematic-postit .topics{ - font-size: 12px; - padding-bottom: 5px; - color: #006699; -} -.thematic-postit .items-progress { - border-top: 2px solid #C4DDEB; - padding: 5px; - margin-top: 0px; - background-color: #ECF4F8; -} -.thematic-postit .items-progress.current { - border-top: 2px solid #C4DDEB; - padding: 5px; - margin-top: 0px; - background-color: #C4DDEB; -} -.thematic-postit .items-progress .date{ - color: #666; - font-size: 11px; - display: block; -} -.thematic-postit .items-progress .title{ - font-size: 14px; - line-height: 18px; - display: block; -} -.thematic-postit .items-progress .time{ - display: block; - padding-top: 5px; -} -.thematic-postit .info-progress{ - padding: 10px; -} -.thematic-postit .score-thematic .score{ - text-align: right; -} - -.thematic-postit .score-thematic .name-student{ - font-weight: bold; - font-size: 16px; - padding-left: 70px; - margin: 0px; -} -.thematic-postit .score-thematic{ - color: #666; -} -.thematic-postit .score-thematic p{ - padding: 0px; - margin: 0px; -} -.thematic-postit .row-fluid.score-thematic { - padding-top: 5px; -} -.thematic-postit .accordion-heading .accordion-toggle { - display: inline; - padding-bottom: 3px; - padding-left: 10px; - padding-right: 10px; - padding-top: 3px; - float: right; - margin-top: 10px; - margin-bottom: 10px; - margin-right: 15px; -} -.thematic-postit .accordion-heading .title-accordion{ - padding:0px; - background:url(thematic.png) no-repeat left bottom transparent; -} - -.thematic-postit .name-student h2{ - font-size: 18px; - margin: 0; -} -.thematic-postit .accordion-heading h3, .accordion-heading h2{ - line-height: 17px; -} -.thematic-postit .accordion-group{ - border: 1px solid #D4E6F0; - -} -.thematic-postit .name-student h3{ - font-size: 13px; - font-weight: normal; - margin: 0; - -} -.thematic-postit .accordion-heading { - background-color: #E7F1F7; -} -.thematic-postit .items-progress p{ - margin-bottom: 3px; -} -.thematic-postit .accordion-body.collapse { - height: 0; - display: none; -} -.thematic-postit .accordion-body.collapse.in { - height: auto; - display: block; -} - /* END COURSE PROGRESS*/ /* IMPRESS JS */ .impress-content{ @@ -3316,7 +3209,7 @@ form .formw .freeze { padding-bottom: 1em; } .skill-options .skill-winner li a{ - background: url("../img/icons/16/winner.png") no-repeat; + background: url("../../main/img/icons/16/winner.png") no-repeat; padding-left: 1.5em; padding-bottom: 1em; } @@ -3462,119 +3355,7 @@ form .formw .freeze { /* **************************************************** END SKILL **************************************************** */ -/*SCORM CSS BASE */ -#learning_path_left_zone .home{ - display: inline-block; - width: 94%; - margin-bottom: .5em; - margin-top: .5em; - font-size: 12px; -} -#lp_navigation_elem .buttons { - margin-bottom: .5em; - text-align: center; -} -#learning_path_left_zone .scorm_title{ - font-size: 20px; - color: #666; - margin-bottom: .5em; - margin-top: .5em; -} -/* for section */ -.scorm_item_section.scorm_completed{ - background:url("../img/icon_completed_section.png")no-repeat 98% center #606c88; - padding-right: 1.5em; -} -.scorm_item_section{ - background: #2b3d53; /* Old browsers */ - background: -moz-linear-gradient(top, #2b3d53 0%, #2c3d4d 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2b3d53), color-stop(100%,#2c3d4d)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* IE10+ */ - background: linear-gradient(to bottom, #2b3d53 0%,#2c3d4d 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b3d53', endColorstr='#2c3d4d',GradientType=0 ); /* IE6-9 */ - padding-top: 10px; - padding-bottom: 10px; - font-size: 14px; - color: #ffffff; - /* border-top-left-radius:5px; - border-top-right-radius: 5px;*/ -} -.scorm_item_section .scorm_section_level_0{ - padding-left: .5em; - padding-right: .5em; -} -.scorm_item_section .scorm_section_level_1{ - padding-left: 1.5em; - padding-right: .5em; -} -.scorm_item_section .scorm_section_level_2{ - padding-left: 2.5em; - padding-right: .5em; -} -.scorm_item_section .scorm_section_level_3{ - padding-left: 3.5em; - padding-right: .5em; -} -/* items scorm*/ -.scorm_item_normal.scorm_completed { - background:url("../img/icon_completed.png") no-repeat 98% center; -} -.scorm_item_normal.scorm_failed{ - background:url("../img/icon_failed.png") no-repeat 98% center; -} -.scorm_item_normal .scorm_item_level_0{ - padding-left: .5em; - padding-right: 1.5em; - padding-top: 10px; - padding-bottom: 10px; -} -.scorm_item_normal{ - padding:0; - border-bottom: 1px solid #DCDCDC; - border-left: 1px solid #DCDCDC; - border-right: 1px solid #DCDCDC; -} -.scorm_item_normal a{ - color: #666666; - text-decoration: none; -}.scorm_item_normal a:hover{ - text-decoration: none; - } -.scorm_highlight{ - background-color: #6AAEFF !important; -} -.scorm_highlight a{ - color: #ffffff !important; -} -#scorm-info .panel-heading{ - padding: 5px; -} -/* .scorm_item_normal .scorm_item_level_1{ - padding-left: 1.8em; - padding-right: 1.5em; - background:url("../img/level_one.png") no-repeat 0 top; - padding-top: 10px; - padding-bottom: 10px; -} -.scorm_item_normal .scorm_item_level_2{ - padding-left: 2.5em; - padding-right: 1.5em; - background:url("../img/level_two.png") no-repeat 0 top; - padding-top: 10px; - padding-bottom: 10px; -} -.scorm_item_normal .scorm_item_level_3{ - padding-left: 3.5em; - padding-right: 1.5em; - background:url("../img/level_tree.png") no-repeat 0 top; - padding-top: 10px; - padding-bottom: 10px; -}*/ - -/* END SCORM CSS BASE*/ .skill_root { box-shadow: 2px 2px 19px #aaa; -o-box-shadow: 2px 2px 19px #aaa; @@ -3835,7 +3616,7 @@ div#no-data-view div.controls { height: 25px; position: relative; overflow:hidden; - background: url(../img/alt_star.png) top left repeat-x; + background: url(../../main/img/alt_star.png) top left repeat-x; } .star-rating li{ padding:0px; @@ -3857,7 +3638,7 @@ div#no-data-view div.controls { overflow:hidden; } .star-rating li a:hover{ - background: url(../img/alt_star.png) left bottom; + background: url(../../main/img/alt_star.png) left bottom; z-index: 2; left: 0px; border:none; @@ -3893,7 +3674,7 @@ div#no-data-view div.controls { width: 125px; } .star-rating li.current-rating{ - background: url(../img/alt_star.png) left center; + background: url(../../main/img/alt_star.png) left center; position: absolute; height: 25px; display: block; @@ -3925,7 +3706,7 @@ a:active{ height: 20px; width: 20px; position:absolute; - background: url("../img/offline.png") no-repeat scroll right center transparent; + background: url("../../main/img/offline.png") no-repeat scroll right center transparent; } .online_user { @@ -3933,32 +3714,32 @@ a:active{ height: 20px; width: 20px; position:absolute; - background: url("../img/online.png") no-repeat scroll right center transparent; + background: url("../../main/img/online.png") no-repeat scroll right center transparent; } .online_user_in_text { - background: url("../img/online.png") no-repeat scroll right center transparent; + background: url("../../main/img/online.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; margin-right: 4px; } .send_msg_in_text { - background: url("../img/mail_send.png") no-repeat scroll right center transparent; + background: url("../../main/img/mail_send.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; margin-right: 4px; } .send_inv_in_text { - background: url("../img/invitation.png") no-repeat scroll right center transparent; + background: url("../../main/img/invitation.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; margin-right: 4px; } .teacher_online { - background: url("../img/icons/16/teacher.png") no-repeat scroll right center transparent; + background: url("../../main/img/icons/16/teacher.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; @@ -3966,7 +3747,7 @@ a:active{ } .student_online { - background: url("../img/icons/16/user.png") no-repeat scroll right center transparent; + background: url("../../main/img/icons/16/user.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; @@ -3978,7 +3759,7 @@ a:active{ } .offline_user_in_text { - background: url("../img/offline.png") no-repeat scroll right center transparent; + background: url("../../main/img/offline.png") no-repeat scroll right center transparent; height: 16px; width: 17px; display: inline-block; @@ -4074,14 +3855,14 @@ a:active{ } #my_timeline #next { - background: url("../img/action_next.png") no-repeat transparent; + background: url("../../main/img/action_next.png") no-repeat transparent; height: 32px; width: 32px; float:right; } #my_timeline #prev { - background: url("../img/action_prev.png") no-repeat transparent; + background: url("../../main/img/action_prev.png") no-repeat transparent; height: 32px; width: 32px; float:left; @@ -4346,13 +4127,13 @@ a.forum_group_link { cursor:pointer; background-color:#eee; margin-left: 4px !important; - background-image: url("../img/hide0.png"); + background-image: url("../../main/img/hide0.png"); background-repeat: no-repeat; background-position: center center; } .hide_bar_template_not_hide { - background-image: url("../img/hide2.png") !important; + background-image: url("../../main/img/hide2.png") !important; } #hide_bar_template:hover { @@ -4485,7 +4266,7 @@ a.forum_group_link { } .handle{ - background-image: url('../img/div_show.gif'); + background-image: url('../../main/img/div_show.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4493,7 +4274,7 @@ a.forum_group_link { } .handle.collapsed{ - background-image: url('../img/div_show.gif'); + background-image: url('../../main/img/div_show.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4501,7 +4282,7 @@ a.forum_group_link { } .handle.expanded{ - background-image: url('../img/div_hide.gif'); + background-image: url('../../main/img/div_hide.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4509,7 +4290,7 @@ a.forum_group_link { } .collapsible .handle{ - background-image: url('../img/div_hide.gif'); + background-image: url('../../main/img/div_hide.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4517,7 +4298,7 @@ a.forum_group_link { } .collapsible .handle.collapsed{ - background-image: url('../img/div_show.gif'); + background-image: url('../../main/img/div_show.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4525,7 +4306,7 @@ a.forum_group_link { } .collapsible.expanded .handle{ - background-image: url('../img/div_hide.gif'); + background-image: url('../../main/img/div_hide.gif'); background-repeat: no-repeat; background-position:left center; padding-left: 25px; @@ -4541,7 +4322,7 @@ a.forum_group_link { margin:0; padding:0; display:inline-block; - background-image: url('../img/icons/22/invisible.png'); + background-image: url('../../main/img/icons/22/invisible.png'); background-repeat: no-repeat; background-position:center center; box-shadow:none; @@ -4556,7 +4337,7 @@ a.forum_group_link { width:22px; height:22px; display:inline-block; - background-image: url('../img/icons/22/visible.png'); + background-image: url('../../main/img/icons/22/visible.png'); background-repeat: no-repeat; background-position:center center; box-shadow:none; @@ -4571,7 +4352,7 @@ a.forum_group_link { margin:0; padding:0; display:inline-block; - background-image: url('../img/loading1.gif') !important; + background-image: url('../../main/img/loading1.gif') !important; background-repeat: no-repeat; background-position:center center; box-shadow:none; @@ -4608,7 +4389,7 @@ a.forum_group_link { margin:0; padding:0; display:inline-block; - background-image: url('../img/attachment.gif'); + background-image: url('../../main/img/attachment.gif'); background-repeat: no-repeat; background-position:center center; box-shadow:none; @@ -4724,11 +4505,11 @@ li.annoucement{ } .link.invalid .status{ - background-image: url('../img/icons/22/error.png'); + background-image: url('../../main/img/icons/22/error.png'); } .link.valid .status{ - background-image: url('../img/icons/22/accept.png'); + background-image: url('../../main/img/icons/22/accept.png'); } .btn.validate_link{ @@ -4740,7 +4521,7 @@ li.annoucement{ margin:0; padding:0; display:inline-block; - background-image: url('../img/icons/22/preview_view.png'); + background-image: url('../../main/img/icons/22/preview_view.png'); background-repeat: no-repeat; background-position:center center; box-shadow:none; @@ -4751,7 +4532,7 @@ li.annoucement{ */ i.size-32.icon-new-glossary-term{ - background-image: url('../img/icons/32/new_glossary_term.png'); + background-image: url('../../main/img/icons/32/new_glossary_term.png'); } /* @@ -4759,7 +4540,7 @@ i.size-32.icon-new-glossary-term{ */ i.size-32.icon-new-note{ - background-image: url('../img/icons/32/new_note.png'); + background-image: url('../../main/img/icons/32/new_note.png'); } .notebook.entries li{ @@ -4852,13 +4633,13 @@ i.size-32.icon-new-note{ .dataTables_wrapper .paginate_disabled_previous, .dataTables_wrapper .paginate_enabled_previous { padding-left: 23px; - background: url("../img/action_prev.png") no-repeat scroll left top; + background: url("../../main/img/action_prev.png") no-repeat scroll left top; } .dataTables_wrapper .paginate_disabled_next, .dataTables_wrapper .paginate_enabled_next { margin-left: 10px; padding-right: 23px; - background: url("../img/action_next.png") no-repeat scroll left top; + background: url("../../main/img/action_next.png") no-repeat scroll left top; } .dataTables_wrapper .paginate_disabled_previous, .dataTables_wrapper .paginate_disabled_next{ @@ -4866,14 +4647,14 @@ i.size-32.icon-new-note{ } .dataTables_wrapper .sorting_asc { - background-image: url("../img/sort_asc.png"); + background-image: url("../../main/img/sort_asc.png"); background-repeat: no-repeat; background-attachment: scroll; background-position: right center; } .dataTables_wrapper .sorting_desc{ - background-image: url("../img/sort_desc.png"); + background-image: url("../../main/img/sort_desc.png"); background-repeat: no-repeat; background-attachment: scroll; background-position: right center; @@ -4893,21 +4674,21 @@ i.size-32.icon-new-note{ padding: 10px 0px 10px 40px; background-repeat:no-repeat; } - select#question_type_hidden option[value="1"] {background-image: url(../img/icons/32/mcua.png);} - select#question_type_hidden option[value="2"] {background-image: url(../img/icons/32/mcma.png);} - select#question_type_hidden option[value="3"] {background-image: url(../img/icons/32/fill_in_blanks.png);} - select#question_type_hidden option[value="4"] {background-image: url(../img/icons/32/matching.png);} - select#question_type_hidden option[value="5"] {background-image: url(../img/icons/32/open_answer.png);} - select#question_type_hidden option[value="6"] {background-image: url(../img/icons/32/hotspot.png);} - select#question_type_hidden option[value="7"] {background-image: url(../img/icons/32/mcma.png);} - select#question_type_hidden option[value="8"] {background-image: url(../img/icons/32/mcma.png);} - select#question_type_hidden option[value="9"] {background-image: url(../img/icons/32/mcmac.png);} - select#question_type_hidden option[value="10"] {background-image: url(../img/icons/32/mcuao.png);} - select#question_type_hidden option[value="11"] {background-image: url(../img/icons/32/mcmao.png);} - select#question_type_hidden option[value="12"] {background-image: url(../img/icons/32/mcmaco.png);} - select#question_type_hidden option[value="13"] {background-image: url(../img/icons/32/audio_question.png);} - select#question_type_hidden option[value="14"] {background-image: url(../img/icons/32/mcmagl.png);} - select#question_type_hidden option[value="16"] {background-image: url(../img/icons/32/calculated_answer.png);} + select#question_type_hidden option[value="1"] {background-image: url(../../main/img/icons/32/mcua.png);} + select#question_type_hidden option[value="2"] {background-image: url(../../main/img/icons/32/mcma.png);} + select#question_type_hidden option[value="3"] {background-image: url(../../main/img/icons/32/fill_in_blanks.png);} + select#question_type_hidden option[value="4"] {background-image: url(../../main/img/icons/32/matching.png);} + select#question_type_hidden option[value="5"] {background-image: url(../../main/img/icons/32/open_answer.png);} + select#question_type_hidden option[value="6"] {background-image: url(../../main/img/icons/32/hotspot.png);} + select#question_type_hidden option[value="7"] {background-image: url(../../main/img/icons/32/mcma.png);} + select#question_type_hidden option[value="8"] {background-image: url(../../main/img/icons/32/mcma.png);} + select#question_type_hidden option[value="9"] {background-image: url(../../main/img/icons/32/mcmac.png);} + select#question_type_hidden option[value="10"] {background-image: url(../../main/img/icons/32/mcuao.png);} + select#question_type_hidden option[value="11"] {background-image: url(../../main/img/icons/32/mcmao.png);} + select#question_type_hidden option[value="12"] {background-image: url(../../main/img/icons/32/mcmaco.png);} + select#question_type_hidden option[value="13"] {background-image: url(../../main/img/icons/32/audio_question.png);} + select#question_type_hidden option[value="14"] {background-image: url(../../main/img/icons/32/mcmagl.png);} + select#question_type_hidden option[value="16"] {background-image: url(../../main/img/icons/32/calculated_answer.png);} } @@ -4919,7 +4700,7 @@ i.size-32.icon-new-note{ * work */ i.size-32.icon-new-work{ - background-image: url('../img/icons/32/new_work.png'); + background-image: url('../../main/img/icons/32/new_work.png'); } /* Default skill partition colors */ @@ -5512,70 +5293,7 @@ i.size-32.icon-new-work{ vertical-align: bottom; margin-right: 5px; } -/* LP SCORM */ -/* Default LP left column values */ -#learning_path_left_zone { - float:left; - width:315px; - height:100%; - padding-left: 8px; - padding-right: 4px; -} - -#learning_path_left_zone #header { - font-size:14px; -} - - -#author_image { - border: 1px solid #CCCCCC; - float: left; - margin: 0; - padding: 8px; - position: relative; - width: 100%; -} - -#author_name { - float: left; - text-align:center; - width: 100%; - font-size: 11px; - color: #888; - margin-top: 2px; -} - -#lp_media_file { - float: left; - text-align:center; - width: 94%; -} - -#learning_path_toc { - font-size:9pt; - margin:0; -} -#learning_path_left_zone .image-avatar{ - text-align: center; - padding: 10px; - border:1px solid #dddddd; - border-radius: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - margin-bottom: 10px; - margin-top: 5px; -} -#learning_path_left_zone .navegation-bar .buttons{ - text-align: center; - padding-top: 5px; - padding-bottom: 5px; - margin-bottom: 5px; -} -#learning_path_left_zone .description-autor{ - color: #666666; - font-size: 12px; -} .ui-state-highlight_lp { border: 1px solid #FEAA18; background: #FFB738; @@ -5671,110 +5389,7 @@ ul.holder li.bit-box{ #file-descrtiption.form-control{ width: 80%; } -#learning_path_breadcrumb_zone .breadcrumb{ - background: #2b3d53; /* Old browsers */ - background: -moz-linear-gradient(top, #2b3d53 0%, #2c3d4d 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2b3d53), color-stop(100%,#2c3d4d)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* IE10+ */ - background: linear-gradient(to bottom, #2b3d53 0%,#2c3d4d 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b3d53', endColorstr='#2c3d4d',GradientType=0 ); /* IE6-9 */ - border-radius: 0; - -moz-border-radius: 0; - -webkit-border-radius: 0; - color: #ffffff; -} -#learning_path_breadcrumb_zone .breadcrumb a{ - color: #ffffff; - text-decoration: none; -} -#learning_path_breadcrumb_zone .breadcrumb a:hover{ - color: #dddddd; -} -#view_as_link{ - margin-top: 5px; - margin-right: 10px; -} -#learning_path_left_zone #accordion .panel-heading{ - text-align: center; -} -#learning_path_left_zone #ui-option{ - width: 100%; - display: block; - text-align: center; - cursor: pointer; -} -#learning_path_left_zone #ui-option #icon-up, -#learning_path_left_zone #ui-option #icon-down{ - width: 100%; - display: block; -} -.hidden{ - visibility: hidden; - display: none; -} -.sidebar-scorm, -.content-scorm{ - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -.sidebar-scorm, -.content-scorm{ - float: left; -} -.total{ - width: 100%; -} -.panel-default .panel-heading .btn{ - top: -25px; -} -.panel-default .panel-heading .dropdown-menu{ - top: 30%; -} -#touch-button{ - text-decoration: none; - position: fixed; - top: 40px; - left: -5px; - overflow: hidden; - width: 51px; - height: 51px; - border: none; - text-indent: 100%; - opacity: 50; - z-index: 2; -} -.search-skill ul.holder_simple{ - padding: 0; -} -.hidden-touch{ - background: url("../img/icons/48/hidden-touch-left.png")center center no-repeat; -} -.show-touch{ - background: url("../img/icons/48/show-touch-right.png")center center no-repeat; -} -.inner_lp_toc{ - overflow-y:scroll; -} -.scorm-heading{ - font-size: 16px; - font-weight: bold; - padding: 10px; -} -#control-bottom{ - position: fixed; - bottom: 0; - width: 100%; - text-align: center; - left: 0; -} -#control-bottom.well{ - margin-bottom: 0; -} .session-course-edit .control{ padding-top: 2em; padding-bottom: 2em; @@ -6211,7 +5826,9 @@ div#chat-remote-video video { .content-scorm{ width: 83.33333333%; } - +#learning_path_right_zone{ + width: 68%; +} } @media (min-width: 1024px) { .sidebar-scorm{ @@ -6364,4 +5981,3 @@ div#chat-remote-video video { font-size: 20px; } } - diff --git a/app/Resources/public/css/default_scorm.css b/app/Resources/public/css/default_scorm.css deleted file mode 100644 index 9482c618aa..0000000000 --- a/app/Resources/public/css/default_scorm.css +++ /dev/null @@ -1,164 +0,0 @@ -/* -File used to display Learning Path item in student view -If scorm.css file exists in theme folder, scorm.css file is used instead of this one -See https://support.chamilo.org/issues/6976 -*/ - -.inner_lp_toc { - overflow: auto; - background-color: white; - height: 210px; -} - -.inner_lp_toc .scorm_item a { - font-weight: bold; - font-size: 14px; - margin-right: 1px; - padding-bottom: 2px; - text-decoration: none; - color: #2F3E46; -} - -.inner_lp_toc .scorm_item a.chapter_module { - font-weight: normal; - margin-right: 10px; -} -.inner_lp_toc .scorm_item_highlight { - border: 1px solid #999; - background:#999; - font-weight:bold; - text-shadow:0 -1px 1px #666; - background-image:-webkit-gradient(linear,left top,left bottom,from(#666),to(#999)); - background-image:-webkit-linear-gradient(top,#666,#999); - background-image:-moz-linear-gradient(top,#666,#999); - background-image:-ms-linear-gradient(top,#666,#999); - background-image:-o-linear-gradient(top,#666,#999); - background-image:linear-gradient(top,#666,#999); - margin-right: 0px; - padding: 10px 0px 10px 0px; - text-decoration: none; -} - -.inner_lp_toc .scorm_item_highlight a { - color:#fff; - margin-right: 1px; - text-decoration: none; - font-weight: bold; -} - -.inner_lp_toc .scorm_item_section { - border:1px solid #222; - background:#333; - font-weight:bold; - color:#fff; - text-shadow:0 -1px 1px #000; - background-image:-webkit-gradient(linear,left top,left bottom,from(#555),to(#333)); - background-image:-webkit-linear-gradient(top,#555,#333); - background-image:-moz-linear-gradient(top,#555,#333); - background-image:-ms-linear-gradient(top,#555,#333); - background-image:-o-linear-gradient(top,#555,#333); - background-image:linear-gradient(top,#555,#333); - margin-right: 1px; - padding: 10px 0px 10px 0px; - text-decoration: none; -} - -.inner_lp_toc .scorm_item { - font-size: 16px; - margin-left: 10px; - margin-right:10px; - text-decoration: none; - border-color: rgba(255, 255, 255, 0.3); -} - -.inner_lp_toc .scorm_item_1 { - border-bottom: 1px solid #CCCCCC; - background:#eee; - font-weight:bold; - color:#444; - text-shadow:0 1px 1px #f6f6f6; - background-image:-webkit-gradient(linear,left top,left bottom,from(#fdfdfd),to(#eee)); - background-image:-webkit-linear-gradient(top,#fdfdfd,#eee); - background-image:-moz-linear-gradient(top,#fdfdfd,#eee); - background-image:-ms-linear-gradient(top,#fdfdfd,#eee); - background-image:-o-linear-gradient(top,#fdfdfd,#eee); - background-image:linear-gradient(top,#fdfdfd,#eee); - margin-right: 1px; - padding: 10px 0px 10px 0px; - text-decoration: none; - font-weight: normal; - background:#FDFDFD; -} - -.inner_lp_toc .scorm_item_2 { - background-image:-webkit-gradient(linear,left top,left bottom,from(#fdfdfd),to(#eee)); - background-image:-webkit-linear-gradient(top,#fdfdfd,#eee); - background-image:-moz-linear-gradient(top,#fdfdfd,#eee); - background-image:-ms-linear-gradient(top,#fdfdfd,#eee); - background-image:-o-linear-gradient(top,#fdfdfd,#eee); - background-image:linear-gradient(top,#fdfdfd,#eee); - border-bottom: 1px solid #CCCCCC; - color: #444444; - font-weight: bold; - text-shadow: 0 1px 1px #F6F6F6; - margin-right: 1px; - padding: 10px 0px 10px 0px; - text-decoration: none; - font-weight: normal; -} - -.inner_lp_toc .scorm_item_section .scorm_item:before { - content : url('../../img/lp_section.png'); /* path from main/newscorm/lp_controller.php file */ - vertical-align: text-top; - margin-right : 5px; -} - -/* learning path's classes for section and item for 5 levels of depth */ - -.scorm_section_level_0 { - padding : 0 0 0 0; -} - -.scorm_section_level_1 { - padding : 0 0.5em 0 2em; -} - -.scorm_section_level_2 { - padding : 0 0.5em 0 4em; -} - -.scorm_section_level_3 { - padding : 0 0.5em 0 6em; -} - -.scorm_section_level_4 { - padding : 0 0.5em 0 8em; -} - -.scorm_section_level_5 { - padding : 0 0.5em 0 10em; -} - -.scorm_item_level_0 { - padding : 0 0 0 0; -} - -.scorm_item_level_1 { - padding : 0 0.5em 0 1.5em; -} - -.scorm_item_level_2 { - padding : 0 0.5em 0 3em; -} - -.scorm_item_level_3 { - padding : 0 0.5em 0 4.5em; -} - -.scorm_item_level_4 { - padding : 0 0.5em 0 6em; -} - -.scorm_item_level_5 { - padding : 0 0.5em 0 7.5em; -} diff --git a/app/Resources/public/css/scorm.css b/app/Resources/public/css/scorm.css new file mode 100644 index 0000000000..2d2c1da10d --- /dev/null +++ b/app/Resources/public/css/scorm.css @@ -0,0 +1,388 @@ +/* +File used to display Learning Path item in student view +If scorm.css file exists in theme folder, scorm.css file is used instead of this one +See https://support.chamilo.org/issues/6976 +*/ +/* LP SCORM */ +/* Default LP left column values */ + +#learning_path_left_zone { + float:left; + height:100%; + padding-left: 8px; + padding-right: 4px; +} + +#learning_path_left_zone #header { + font-size:14px; +} +#scorm-info.panel-default{ + margin: 0px; +} + +#author_image { + border: 1px solid #CCCCCC; + float: left; + margin: 0; + padding: 8px; + position: relative; + width: 100%; +} + +#author_name { + float: left; + text-align:center; + width: 100%; + font-size: 11px; + color: #888; + margin-top: 2px; +} + +#lp_media_file { + float: left; + text-align:center; + width: 94%; +} + +#learning_path_toc { + font-size:9pt; + margin:0; +} +#learning_path_left_zone .image-avatar{ + text-align: center; + padding: 10px; + border:1px solid #dddddd; + border-radius: 4px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + margin-bottom: 10px; + margin-top: 5px; +} +#learning_path_left_zone .navegation-bar .buttons{ + text-align: center; + padding-top: 5px; + padding-bottom: 5px; + margin-bottom: 5px; +} +#learning_path_left_zone .description-autor{ + color: #666666; + font-size: 12px; +} + +.inner_lp_toc { + overflow: auto; + border-top: 1px solid #dcdcdc; +} + +.inner_lp_toc .scorm_item a { + font-weight: bold; + font-size: 14px; + margin-right: 1px; + padding-bottom: 2px; + text-decoration: none; + color: #2F3E46; +} + +.inner_lp_toc .scorm_item a.chapter_module { + font-weight: normal; + margin-right: 10px; +} +.inner_lp_toc .scorm_item_highlight { + border: 1px solid #999; + background:#999; + font-weight:bold; + text-shadow:0 -1px 1px #666; + background-image:-webkit-gradient(linear,left top,left bottom,from(#666),to(#999)); + background-image:-webkit-linear-gradient(top,#666,#999); + background-image:-moz-linear-gradient(top,#666,#999); + background-image:-ms-linear-gradient(top,#666,#999); + background-image:-o-linear-gradient(top,#666,#999); + background-image:linear-gradient(top,#666,#999); + margin-right: 0px; + padding: 10px 0px 10px 0px; + text-decoration: none; +} + +.inner_lp_toc .scorm_item_highlight a { + color:#fff; + margin-right: 1px; + text-decoration: none; + font-weight: bold; +} + +.inner_lp_toc .scorm_item_section { + border:1px solid #222; + background:#333; + font-weight:bold; + color:#fff; + text-shadow:0 -1px 1px #000; + background-image:-webkit-gradient(linear,left top,left bottom,from(#555),to(#333)); + background-image:-webkit-linear-gradient(top,#555,#333); + background-image:-moz-linear-gradient(top,#555,#333); + background-image:-ms-linear-gradient(top,#555,#333); + background-image:-o-linear-gradient(top,#555,#333); + background-image:linear-gradient(top,#555,#333); + margin-right: 1px; + padding: 10px 0px 10px 0px; + text-decoration: none; +} + +.inner_lp_toc .scorm_item { + font-size: 16px; + margin-left: 10px; + margin-right:10px; + text-decoration: none; + border-color: rgba(255, 255, 255, 0.3); +} + +.inner_lp_toc .scorm_item_section .scorm_item:before { + content : url('../../img/lp_section.png'); /* path from main/newscorm/lp_controller.php file */ + vertical-align: text-top; + margin-right : 5px; +} + +/* learning path's classes for section and item for 5 levels of depth */ + +.scorm_section_level_0 { + padding : 0 0 0 0; +} + +.scorm_section_level_1 { + padding : 0 0.5em 0 2em; +} + +.scorm_section_level_2 { + padding : 0 0.5em 0 4em; +} + +.scorm_section_level_3 { + padding : 0 0.5em 0 6em; +} + +.scorm_section_level_4 { + padding : 0 0.5em 0 8em; +} + +.scorm_section_level_5 { + padding : 0 0.5em 0 10em; +} + +.scorm_item_level_0 { + padding : 0 0 0 0; +} + +.scorm_item_level_1 { + padding : 0 0.5em 0 1.5em; +} + +.scorm_item_level_2 { + padding : 0 0.5em 0 3em; +} + +.scorm_item_level_3 { + padding : 0 0.5em 0 4.5em; +} + +.scorm_item_level_4 { + padding : 0 0.5em 0 6em; +} + +.scorm_item_level_5 { + padding : 0 0.5em 0 7.5em; +} + +#learning_path_right_zone{ + border-left: 1px solid #CCCCCC; + padding-left: 10px; + box-sizing: border-box; +} +#learning_path_breadcrumb_zone .breadcrumb{ + background: #2b3d53; /* Old browsers */ + background: -moz-linear-gradient(top, #2b3d53 0%, #2c3d4d 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2b3d53), color-stop(100%,#2c3d4d)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* IE10+ */ + background: linear-gradient(to bottom, #2b3d53 0%,#2c3d4d 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b3d53', endColorstr='#2c3d4d',GradientType=0 ); /* IE6-9 */ + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + color: #ffffff; +} +#learning_path_breadcrumb_zone .breadcrumb a{ + color: #ffffff; + text-decoration: none; +} +#learning_path_breadcrumb_zone .breadcrumb a:hover{ + color: #dddddd; +} +#view_as_link{ + margin-top: 5px; + margin-right: 10px; +} +#learning_path_left_zone #accordion .panel-heading{ + text-align: center; +} +#learning_path_left_zone #ui-option{ + width: 100%; + display: block; + text-align: center; + cursor: pointer; +} +#learning_path_left_zone #ui-option #icon-up, +#learning_path_left_zone #ui-option #icon-down{ + width: 100%; + display: block; +} +.hidden{ + visibility: hidden; + display: none; +} +.sidebar-scorm, +.content-scorm{ + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.sidebar-scorm, +.content-scorm{ + float: left; +} +.total{ + width: 100%; +} +.panel-default .panel-heading .btn{ + top: -25px; +} +.panel-default .panel-heading .dropdown-menu{ + top: 30%; +} + +#touch-button{ + text-decoration: none; + position: fixed; + top: 40px; + left: -5px; + overflow: hidden; + width: 51px; + height: 51px; + border: none; + opacity: 50; + z-index: 2; + font-size: 26px; +} + +.inner_lp_toc{ + overflow-y:scroll; +} +.scorm-heading{ + font-size: 16px; + font-weight: bold; + padding: 10px; +} +#control-bottom{ + position: fixed; + bottom: 0; + width: 100%; + text-align: center; + left: 0; +} +#control-bottom.well{ + margin-bottom: 0; +} + + + +/*SCORM CSS BASE */ +#learning_path_left_zone .home{ + display: inline-block; + width: 94%; + margin-bottom: .5em; + margin-top: .5em; + font-size: 12px; +} +#lp_navigation_elem .buttons { + margin-bottom: .5em; + text-align: center; +} + +#learning_path_left_zone .scorm_title{ + font-size: 20px; + color: #666; + margin-bottom: .5em; + margin-top: .5em; +} +/* for section */ +.scorm_item_section.scorm_completed{ + background:url("../img/icon_completed_section.png")no-repeat 98% center #606c88; + padding-right: 1.5em; +} +.scorm_item_section{ + background: #2b3d53; /* Old browsers */ + background: -moz-linear-gradient(top, #2b3d53 0%, #2c3d4d 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2b3d53), color-stop(100%,#2c3d4d)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #2b3d53 0%,#2c3d4d 100%); /* IE10+ */ + background: linear-gradient(to bottom, #2b3d53 0%,#2c3d4d 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2b3d53', endColorstr='#2c3d4d',GradientType=0 ); /* IE6-9 */ + padding-top: 10px; + padding-bottom: 10px; + font-size: 14px; + color: #ffffff; + /* border-top-left-radius:5px; + border-top-right-radius: 5px;*/ +} +.scorm_item_section .scorm_section_level_0{ + padding-left: .5em; + padding-right: .5em; +} +.scorm_item_section .scorm_section_level_1{ + padding-left: 1.5em; + padding-right: .5em; +} +.scorm_item_section .scorm_section_level_2{ + padding-left: 2.5em; + padding-right: .5em; +} +.scorm_item_section .scorm_section_level_3{ + padding-left: 3.5em; + padding-right: .5em; +} + +.scorm_item_normal .scorm_item_level_0{ + /* padding-left: .5em; + padding-right: 1.5em; + padding-top: 10px; + padding-bottom: 10px; + */ +} +.scorm_item_normal{ + padding:0; + border-bottom: 1px solid #DCDCDC; +} +.scorm_item_normal a.items-list{ + color: #666666; + text-decoration: none; + display: block; + padding-left: 2em; + padding-right: 1.5em; + padding-top: 5px; + padding-bottom: 5px; +} +.scorm_item_normal a:hover{ + text-decoration: none; +} +.scorm_highlight{ + background-color: #2B3D50 !important; +} +.scorm_highlight a{ + color: #ffffff !important; +} +#scorm-info .panel-heading{ + padding: 5px; +} + +/* END SCORM CSS BASE*/ \ No newline at end of file diff --git a/app/Resources/public/css/themes/chamilo/dataTable.css b/app/Resources/public/css/themes/chamilo/dataTable.css deleted file mode 100644 index 9983117920..0000000000 --- a/app/Resources/public/css/themes/chamilo/dataTable.css +++ /dev/null @@ -1,543 +0,0 @@ -/* - * File: demo_table.css - * CVS: $Id$ - * Description: CSS descriptions for DataTables demo pages - * Author: Allan Jardine - * Created: Tue May 12 06:47:22 BST 2009 - * Modified: $Date$ by $Author$ - * Language: CSS - * Project: DataTables - * - * Copyright 2009 Allan Jardine. All Rights Reserved. - * Note: dataTable.css was later released as part of the jquery.dataTables - * plugin, released itself as GPLv2. As such, we believe this copyright is no - * longer an issue and will try to upgrade to a later version of dataTables - * in the near future. -- Yannick Warnier, Chamilo project leader, 2014-04 - * See https://support.chamilo.org/issues/7043 - * - * *************************************************************************** - * DESCRIPTION - * - * The styles given here are suitable for the demos that are used with the standard DataTables - * distribution (see www.datatables.net). You will most likely wish to modify these styles to - * meet the layout requirements of your site. - * - * Common issues: - * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is - * no conflict between the two pagination types. If you want to use full_numbers pagination - * ensure that you either have "example_alt_pagination" as a body class name, or better yet, - * modify that selector. - * Note that the path used for Images is relative. All images are by default located in - * images/dataTable/ - relative to this CSS file. - */ - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables features - */ - -.dataTables_wrapper { - position: relative; - min-height: 302px; - clear: both; - _height: 302px; - zoom: 1; /* Feeling sorry for IE */ -} - -.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 250px; - height: 30px; - margin-left: -125px; - margin-top: -15px; - padding: 14px 0 2px 0; - border: 1px solid #ddd; - text-align: center; - color: #999; - font-size: 14px; - background-color: white; -} - -.dataTables_length { - width: 40%; - float: left; -} - -.dataTables_filter { - width: 50%; - float: right; - text-align: right; -} - -.dataTables_info { - width: 60%; - float: left; -} - -.dataTables_paginate { - width: 44px; - * width: 50px; - float: right; - text-align: right; -} - -/* Pagination nested */ -.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next { - height: 19px; - width: 19px; - margin-left: 3px; - float: left; -} - -.paginate_disabled_previous { - background-image: url('images/dataTale/back_disabled.jpg'); -} - -.paginate_enabled_previous { - background-image: url('images/dataTable/back_enabled.jpg'); -} - -.paginate_disabled_next { - background-image: url('images/dataTable/forward_disabled.jpg'); -} - -.paginate_enabled_next { - background-image: url('images/dataTable/forward_enabled.jpg'); -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables display - */ -table.display { - margin: 0 auto; - clear: both; - width: 100%; - - /* Note Firefox 3.5 and before have a bug with border-collapse - * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) - * border-spacing: 0; is one possible option. Conditional-css.com is - * useful for this kind of thing - * - * Further note IE 6/7 has problems when calculating widths with border width. - * It subtracts one px relative to the other browsers from the first column, and - * adds one to the end... - * - * If you want that effect I'd suggest setting a border-top/left on th/td's and - * then filling in the gaps with other borders. - */ -} - -table.display thead th { - padding: 3px 18px 3px 10px; - border-bottom: 1px solid black; - font-weight: bold; - cursor: pointer; - * cursor: hand; -} - -table.display tfoot th { - padding: 3px 18px 3px 10px; - border-top: 1px solid black; - font-weight: bold; -} - -table.display tr.heading2 td { - border-bottom: 1px solid #aaa; -} - -table.display td { - padding: 3px 10px; -} - -table.display td.center { - text-align: center; -} - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables sorting - */ - -.sorting_asc { - background: url('images/dataTable/sort_asc.png') no-repeat center right; -} - -.sorting_desc { - background: url('images/dataTable/sort_desc.png') no-repeat center right; -} - -.sorting { - background: url('images/dataTable/sort_both.png') no-repeat center right; -} - -.sorting_asc_disabled { - background: url('images/dataTable/sort_asc_disabled.png') no-repeat center right; -} - -.sorting_desc_disabled { - background: url('images/dataTable/sort_desc_disabled.png') no-repeat center right; -} - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables row classes - */ -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeC { - background-color: #ddddff; -} - -table.display tr.even.gradeC { - background-color: #eeeeff; -} - -table.display tr.odd.gradeX { - background-color: #ffdddd; -} - -table.display tr.even.gradeX { - background-color: #ffeeee; -} - -table.display tr.odd.gradeU { - background-color: #ddd; -} - -table.display tr.even.gradeU { - background-color: #eee; -} - - -tr.odd { - background-color: #E2E4FF; -} - -tr.even { - background-color: white; -} - - - - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Misc - */ -.dataTables_scroll { - clear: both; -} - -.dataTables_scrollBody { - *margin-top: -1px; -} - -.top, .bottom { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -.top .dataTables_info { - float: none; -} - -.clear { - clear: both; -} - -.dataTables_empty { - text-align: center; -} - -tfoot input { - margin: 0.5em 0; - width: 100%; - color: #444; -} - -tfoot input.search_init { - color: #999; -} - -td.group { - background-color: #d1cfd0; - border-bottom: 2px solid #A19B9E; - border-top: 2px solid #A19B9E; -} - -td.details { - background-color: #d1cfd0; - border: 2px solid #A19B9E; -} - - -.example_alt_pagination div.dataTables_info { - width: 40%; -} - -.paging_full_numbers { - width: 400px; - height: 22px; - line-height: 22px; -} - -.paging_full_numbers span.paginate_button, - .paging_full_numbers span.paginate_active { - border: 1px solid #aaa; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - padding: 2px 5px; - margin: 0 3px; - cursor: pointer; - *cursor: hand; -} - -.paging_full_numbers span.paginate_button { - background-color: #ddd; -} - -.paging_full_numbers span.paginate_button:hover { - background-color: #ccc; -} - -.paging_full_numbers span.paginate_active { - background-color: #99B3FF; -} - -table.display tr.even.row_selected td { - background-color: #B0BED9; -} - -table.display tr.odd.row_selected td { - background-color: #9FAFD1; -} - - -/* - * Sorting classes for columns - */ -/* For the standard odd/even */ -tr.odd td.sorting_1 { - background-color: #D3D6FF; -} - -tr.odd td.sorting_2 { - background-color: #DADCFF; -} - -tr.odd td.sorting_3 { - background-color: #E0E2FF; -} - -tr.even td.sorting_1 { - background-color: #EAEBFF; -} - -tr.even td.sorting_2 { - background-color: #F2F3FF; -} - -tr.even td.sorting_3 { - background-color: #F9F9FF; -} - - -/* For the Conditional-CSS grading rows */ -/* - Colour calculations (based off the main row colours) - Level 1: - dd > c4 - ee > d5 - Level 2: - dd > d1 - ee > e2 - */ -tr.odd.gradeA td.sorting_1 { - background-color: #c4ffc4; -} - -tr.odd.gradeA td.sorting_2 { - background-color: #d1ffd1; -} - -tr.odd.gradeA td.sorting_3 { - background-color: #d1ffd1; -} - -tr.even.gradeA td.sorting_1 { - background-color: #d5ffd5; -} - -tr.even.gradeA td.sorting_2 { - background-color: #e2ffe2; -} - -tr.even.gradeA td.sorting_3 { - background-color: #e2ffe2; -} - -tr.odd.gradeC td.sorting_1 { - background-color: #c4c4ff; -} - -tr.odd.gradeC td.sorting_2 { - background-color: #d1d1ff; -} - -tr.odd.gradeC td.sorting_3 { - background-color: #d1d1ff; -} - -tr.even.gradeC td.sorting_1 { - background-color: #d5d5ff; -} - -tr.even.gradeC td.sorting_2 { - background-color: #e2e2ff; -} - -tr.even.gradeC td.sorting_3 { - background-color: #e2e2ff; -} - -tr.odd.gradeX td.sorting_1 { - background-color: #ffc4c4; -} - -tr.odd.gradeX td.sorting_2 { - background-color: #ffd1d1; -} - -tr.odd.gradeX td.sorting_3 { - background-color: #ffd1d1; -} - -tr.even.gradeX td.sorting_1 { - background-color: #ffd5d5; -} - -tr.even.gradeX td.sorting_2 { - background-color: #ffe2e2; -} - -tr.even.gradeX td.sorting_3 { - background-color: #ffe2e2; -} - -tr.odd.gradeU td.sorting_1 { - background-color: #c4c4c4; -} - -tr.odd.gradeU td.sorting_2 { - background-color: #d1d1d1; -} - -tr.odd.gradeU td.sorting_3 { - background-color: #d1d1d1; -} - -tr.even.gradeU td.sorting_1 { - background-color: #d5d5d5; -} - -tr.even.gradeU td.sorting_2 { - background-color: #e2e2e2; -} - -tr.even.gradeU td.sorting_3 { - background-color: #e2e2e2; -} - - -/* - * Row highlighting example - */ -.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted { - background-color: #ECFFB3; -} - -.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted { - background-color: #E6FF99; -} - -.ex_highlight_row #example tr.even:hover { - background-color: #ECFFB3; -} - -.ex_highlight_row #example tr.even:hover td.sorting_1 { - background-color: #DDFF75; -} - -.ex_highlight_row #example tr.even:hover td.sorting_2 { - background-color: #E7FF9E; -} - -.ex_highlight_row #example tr.even:hover td.sorting_3 { - background-color: #E2FF89; -} - -.ex_highlight_row #example tr.odd:hover { - background-color: #E6FF99; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_1 { - background-color: #D6FF5C; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_2 { - background-color: #E0FF84; -} - -.ex_highlight_row #example tr.odd:hover td.sorting_3 { - background-color: #DBFF70; -} - - -/* - * KeyTable - */ -table.KeyTable td { - border: 3px solid transparent; -} - -table.KeyTable td.focus { - border: 3px solid #3366FF; -} - -table.display tr.gradeA { - background-color: #eeffee; -} - -table.display tr.gradeC { - background-color: #ddddff; -} - -table.display tr.gradeX { - background-color: #ffdddd; -} - -table.display tr.gradeU { - background-color: #ddd; -} - -div.box { - height: 100px; - padding: 10px; - overflow: auto; - border: 1px solid #8080FF; - background-color: #E5E5FF; -} diff --git a/app/Resources/public/css/themes/chamilo/images/2leftarrow.gif b/app/Resources/public/css/themes/chamilo/images/2leftarrow.gif deleted file mode 100644 index 3c561583fb..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/2leftarrow.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/2rightarrow.gif b/app/Resources/public/css/themes/chamilo/images/2rightarrow.gif deleted file mode 100644 index e2b04d9624..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/2rightarrow.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/bg-button.png b/app/Resources/public/css/themes/chamilo/images/bg-button.png deleted file mode 100644 index bdd66f531d..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/bg-button.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/bg-main.png b/app/Resources/public/css/themes/chamilo/images/bg-main.png deleted file mode 100644 index b03a3f73ce..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/bg-main.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/blue_arrow.png b/app/Resources/public/css/themes/chamilo/images/blue_arrow.png deleted file mode 100644 index c40ba9fc31..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/blue_arrow.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/border-line.png b/app/Resources/public/css/themes/chamilo/images/border-line.png deleted file mode 100644 index 2a7d91f68b..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/border-line.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/bullet.gif b/app/Resources/public/css/themes/chamilo/images/bullet.gif deleted file mode 100644 index 584d1affef..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/bullet.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_accept.png b/app/Resources/public/css/themes/chamilo/images/button_accept.png deleted file mode 100644 index 6fb82d28fe..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_accept.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_delete.gif b/app/Resources/public/css/themes/chamilo/images/button_delete.gif deleted file mode 100644 index e07331a7c9..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_delete.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_login.gif b/app/Resources/public/css/themes/chamilo/images/button_login.gif deleted file mode 100644 index 7788ea9fe1..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_login.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_minus.gif b/app/Resources/public/css/themes/chamilo/images/button_minus.gif deleted file mode 100644 index 350b7ecc1a..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_minus.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_minus.png b/app/Resources/public/css/themes/chamilo/images/button_minus.png deleted file mode 100644 index bb6d0befc8..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_minus.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_plus_blue.png b/app/Resources/public/css/themes/chamilo/images/button_plus_blue.png deleted file mode 100644 index 78dd59543d..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_plus_blue.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_plus_green.png b/app/Resources/public/css/themes/chamilo/images/button_plus_green.png deleted file mode 100644 index fbf0aadfd0..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_plus_green.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_refresh.gif b/app/Resources/public/css/themes/chamilo/images/button_refresh.gif deleted file mode 100644 index 8268958a19..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_refresh.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_search.gif b/app/Resources/public/css/themes/chamilo/images/button_search.gif deleted file mode 100644 index d9e4ccf177..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_search.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/button_upload.gif b/app/Resources/public/css/themes/chamilo/images/button_upload.gif deleted file mode 100644 index 3d91ac4404..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/button_upload.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/chamilo-welcome.png b/app/Resources/public/css/themes/chamilo/images/chamilo-welcome.png deleted file mode 100644 index 317aa0cc76..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/chamilo-welcome.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/Sorting icons.psd b/app/Resources/public/css/themes/chamilo/images/dataTable/Sorting icons.psd deleted file mode 100644 index 53b2e06850..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/Sorting icons.psd and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/back_disabled.jpg b/app/Resources/public/css/themes/chamilo/images/dataTable/back_disabled.jpg deleted file mode 100644 index 1e73a546e3..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/back_disabled.jpg and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/back_enabled.jpg b/app/Resources/public/css/themes/chamilo/images/dataTable/back_enabled.jpg deleted file mode 100644 index a6d764c79c..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/back_enabled.jpg and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/favicon.ico b/app/Resources/public/css/themes/chamilo/images/dataTable/favicon.ico deleted file mode 100644 index 6eeaa2a0d3..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/favicon.ico and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/forward_disabled.jpg b/app/Resources/public/css/themes/chamilo/images/dataTable/forward_disabled.jpg deleted file mode 100644 index 28a9dc53fa..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/forward_disabled.jpg and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/forward_enabled.jpg b/app/Resources/public/css/themes/chamilo/images/dataTable/forward_enabled.jpg deleted file mode 100644 index 598c075f13..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/forward_enabled.jpg and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc.png b/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc.png deleted file mode 100644 index a56d0e2190..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc_disabled.png b/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc_disabled.png deleted file mode 100644 index b7e621ef1c..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_asc_disabled.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_both.png b/app/Resources/public/css/themes/chamilo/images/dataTable/sort_both.png deleted file mode 100644 index 839ac4bb5b..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_both.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc.png b/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc.png deleted file mode 100644 index 90b295159d..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc_disabled.png b/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc_disabled.png deleted file mode 100644 index 2409653dc9..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/dataTable/sort_desc_disabled.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/help2.png b/app/Resources/public/css/themes/chamilo/images/help2.png deleted file mode 100644 index c3c07e15de..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/help2.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/icon-chamilo.png b/app/Resources/public/css/themes/chamilo/images/icon-chamilo.png deleted file mode 100644 index cc5b2d4e9d..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/icon-chamilo.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/install.png b/app/Resources/public/css/themes/chamilo/images/install.png deleted file mode 100644 index e95b7c7192..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/install.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/loading.gif b/app/Resources/public/css/themes/chamilo/images/loading.gif deleted file mode 100644 index 82290f4833..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/loading.gif and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/nav-border.png b/app/Resources/public/css/themes/chamilo/images/nav-border.png deleted file mode 100644 index 418d47aec8..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/nav-border.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/next.png b/app/Resources/public/css/themes/chamilo/images/next.png deleted file mode 100644 index e3539a9f68..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/next.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/portal.png b/app/Resources/public/css/themes/chamilo/images/portal.png deleted file mode 100644 index 3afac5dc64..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/portal.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/previus.png b/app/Resources/public/css/themes/chamilo/images/previus.png deleted file mode 100644 index 680ac87abc..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/previus.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/refresh.png b/app/Resources/public/css/themes/chamilo/images/refresh.png deleted file mode 100644 index 3fd71d6e59..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/refresh.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/scorm_completed.png b/app/Resources/public/css/themes/chamilo/images/scorm_completed.png new file mode 100644 index 0000000000..ce371d3e50 Binary files /dev/null and b/app/Resources/public/css/themes/chamilo/images/scorm_completed.png differ diff --git a/app/Resources/public/css/themes/chamilo/images/scorm_failed.png b/app/Resources/public/css/themes/chamilo/images/scorm_failed.png new file mode 100644 index 0000000000..64e050cdb3 Binary files /dev/null and b/app/Resources/public/css/themes/chamilo/images/scorm_failed.png differ diff --git a/app/Resources/public/css/themes/chamilo/images/scorm_highlight.png b/app/Resources/public/css/themes/chamilo/images/scorm_highlight.png new file mode 100644 index 0000000000..fbe651221f Binary files /dev/null and b/app/Resources/public/css/themes/chamilo/images/scorm_highlight.png differ diff --git a/app/Resources/public/css/themes/chamilo/images/scorm_not_attempted.png b/app/Resources/public/css/themes/chamilo/images/scorm_not_attempted.png new file mode 100644 index 0000000000..87aa2bcc31 Binary files /dev/null and b/app/Resources/public/css/themes/chamilo/images/scorm_not_attempted.png differ diff --git a/app/Resources/public/css/themes/chamilo/images/sprite-icon-social.png b/app/Resources/public/css/themes/chamilo/images/sprite-icon-social.png deleted file mode 100644 index d5c83afa09..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/sprite-icon-social.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/sprite-icon.png b/app/Resources/public/css/themes/chamilo/images/sprite-icon.png deleted file mode 100644 index b2b042bc13..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/sprite-icon.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/start-level.png b/app/Resources/public/css/themes/chamilo/images/start-level.png deleted file mode 100644 index a2643ba7eb..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/start-level.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/user_icon.png b/app/Resources/public/css/themes/chamilo/images/user_icon.png deleted file mode 100644 index cdb2d3ac4e..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/user_icon.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/user_password.png b/app/Resources/public/css/themes/chamilo/images/user_password.png deleted file mode 100644 index 77cab16886..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/user_password.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/vineta.png b/app/Resources/public/css/themes/chamilo/images/vineta.png deleted file mode 100644 index 5adcc67c71..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/vineta.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/images/white_arrow.png b/app/Resources/public/css/themes/chamilo/images/white_arrow.png deleted file mode 100644 index 8b46a3d421..0000000000 Binary files a/app/Resources/public/css/themes/chamilo/images/white_arrow.png and /dev/null differ diff --git a/app/Resources/public/css/themes/chamilo/learnpath.css b/app/Resources/public/css/themes/chamilo/learnpath.css index bcf18bfbcb..8e8346a583 100644 --- a/app/Resources/public/css/themes/chamilo/learnpath.css +++ b/app/Resources/public/css/themes/chamilo/learnpath.css @@ -1,3 +1,17 @@ +/* items scorm*/ +.scorm_item_normal.scorm_completed { + background:url("images/scorm_completed.png") no-repeat left center; +} +.scorm_item_normal.scorm_failed{ + background:url("images/scorm_failed.png") no-repeat left center; +} +.scorm_item_normal.scorm_not_attempted{ + background:url("images/scorm_not_attempted.png") no-repeat left center; +} +.scorm_item_normal.scorm_highlight{ + background:url("images/scorm_highlight.png") no-repeat left center; +} + div.text { margin-left : 6; margin-right : 6; diff --git a/app/Resources/public/css/themes/chamilo/scorm.css b/app/Resources/public/css/themes/chamilo/scorm.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/app/Resources/public/css/themes/chamilo/scormfs.css b/app/Resources/public/css/themes/chamilo/scormfs.css deleted file mode 100644 index 426d6be075..0000000000 --- a/app/Resources/public/css/themes/chamilo/scormfs.css +++ /dev/null @@ -1,82 +0,0 @@ -.scormpage { -} -.scormpage .menu { - width: 180px; - padding: 0px; - font-size: small; - position: absolute; - background-color: white; -} -.scormpage .menu .lp_nav { - height: 50px; - width: 160px; - padding-top: 4px; - padding-bottom:0px; - /* - margin-left: 10px; - margin-right: 10px; -*/ - margin-top: 0px; -} -.lp_navigation_elem { - padding-left: 15px; - padding-top: 0px; -} -/*.scormpage .menu */ -.lp_navigation_elem .progresstext { - font-size: smaller; -} -/*.scormpage .menu */ -.lp_navigation_elem .buttons { - margin-left: 5px; - margin-right: 0em; - margin-top: 0.4em; -} -#msg_div_id { - padding-left: 10px; - padding-top: 4px; -} -.scormpage .menu .notification { - height: 50px; - margin-left: 15px; - margin-right: 15px; -} -.scormpage .menu .notification .message { - height: 50px; - width: 140px; - border: none; -} -.scormpage .menu .notification .lp_log { - height: 100px; - width: 180px; - border: none; - overflow: auto; -} -.scormpage .content .iframe { - /* - border: none; - height: 700px; - margin: 0px; - padding-right: 0px; - margin-right: 0%; - margin-left: 0%; - */ - /* trying the absolute mode */ - position: fixed; - bottom:0; - left:0; - width: 100%; - height: 100%; -} -.scormpage .footer { - clear: both; -} -#image_preview { - padding-left: 17px; -} -#author_name { - padding-left: 5px; - padding-top: 5px; - font-size: 11px; - color:#888; -} diff --git a/main/course_progress/thematic_advance.php b/main/course_progress/thematic_advance.php index 52afe306aa..6d3f21beb3 100755 --- a/main/course_progress/thematic_advance.php +++ b/main/course_progress/thematic_advance.php @@ -48,7 +48,7 @@ if ($action == 'thematic_advance_add' || $action == 'thematic_advance_edit') { $form->addElement('html', ''); if (isset($thematic_advance_data['attendance_id']) && @@ -104,7 +104,7 @@ if ($action == 'thematic_advance_add' || $action == 'thematic_advance_edit') { } $default['start_date_type'] = 1; - $default['custom_start_date'] = date('Y-m-d', api_strtotime(api_get_local_time())); + $default['custom_start_date'] = date('Y-m-d H:i:s', api_strtotime(api_get_local_time())); $default['duration_in_hours'] = 1; if (!empty($thematic_advance_data)) { @@ -117,7 +117,7 @@ if ($action == 'thematic_advance_add' || $action == 'thematic_advance_edit') { $default['custom_start_date'] = null; if (isset($thematic_advance_data['start_date'])) { $default['custom_start_date'] = date( - 'Y-m-d', + 'Y-m-d H:i:s', api_strtotime(api_get_local_time($thematic_advance_data['start_date'])) ); } diff --git a/main/inc/lib/api.lib.php b/main/inc/lib/api.lib.php index 46d43d20b2..48cd3aa8bc 100644 --- a/main/inc/lib/api.lib.php +++ b/main/inc/lib/api.lib.php @@ -278,6 +278,7 @@ define('VALID_WEB_SERVER_BASE', '/https?:\/\/[^\/]*/i'); // $new_path // Constants for api_get_path() and api_get_path_type(), etc. - registered path types. define('WEB_PATH', 'WEB_PATH'); +define('WEB_APP_PATH', 'WEB_APP_PATH'); define('SYS_PATH', 'SYS_PATH'); define('SYS_APP_PATH', 'SYS_APP_PATH'); define('SYS_UPLOAD_PATH', 'SYS_UPLOAD_PATH'); @@ -651,6 +652,7 @@ function api_get_path($path_type, $path = null) SYS_ARCHIVE_PATH => 'app/cache/', WEB_ARCHIVE_PATH => 'app/cache/', SYS_APP_PATH => 'app/', + WEB_APP_PATH => 'app/', SYS_UPLOAD_PATH => 'app/upload/', REL_UPLOAD_PATH => 'app/upload/', INCLUDE_PATH => 'inc/', @@ -773,6 +775,7 @@ function api_get_path($path_type, $path = null) $paths[SYS_LANG_PATH] = $paths[SYS_CODE_PATH].$paths[SYS_LANG_PATH]; $paths[SYS_APP_PATH] = $paths[SYS_PATH].$paths[SYS_APP_PATH]; + $paths[WEB_APP_PATH] = $paths[WEB_PATH].$paths[WEB_APP_PATH]; $paths[SYS_UPLOAD_PATH] = $paths[SYS_PATH].$paths[SYS_UPLOAD_PATH]; $paths[SYS_PLUGIN_PATH] = $paths[SYS_PATH].$paths[SYS_PLUGIN_PATH]; @@ -1764,6 +1767,8 @@ function api_get_course_info($course_code = null, $strict = false) * Now if the course_code is given, the returned array gives info about that * particular course, not specially the current one. + * @param int $id Numeric ID of the course + * @return array The course info as an array formatted by api_format_course_array, including category.name */ function api_get_course_info_by_id($id = null) { if (!empty($id)) { @@ -3530,6 +3535,7 @@ function api_get_item_visibility( * @param int $userId * @param int $groupId * @param int $sessionId + * @return void */ function api_item_property_delete( $courseInfo, @@ -3594,6 +3600,7 @@ function api_item_property_delete( * @param int $to_user_id : id of the intended user (always has priority over $to_group_id !), only relevant for $type (1) * @param string $start_visible 0000-00-00 00:00:00 format * @param string $end_visible 0000-00-00 00:00:00 format + * @param int $session_id The session ID, if any, otherwise will default to 0 * @return boolean False if update fails. * @author Toon Van Hoecke , Ghent University * @version January 2005 @@ -3603,7 +3610,7 @@ function api_item_property_update( $_course, $tool, $item_id, - $lastedit_type, + $last_edit_type, $user_id, $to_group_id = 0, $to_user_id = null, @@ -3624,8 +3631,8 @@ function api_item_property_update( // Definition of variables. $tool = Database::escape_string($tool); $item_id = intval($item_id); - $lastEditTypeNoFilter = $lastedit_type; - $lastedit_type = Database::escape_string($lastedit_type); + $lastEditTypeNoFilter = $last_edit_type; + $last_edit_type = Database::escape_string($last_edit_type); $user_id = intval($user_id); $startVisible = "NULL"; @@ -3650,7 +3657,7 @@ function api_item_property_update( } // Definition of tables. - $TABLE_ITEMPROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY); + $tableItemProperty = Database::get_course_table(TABLE_ITEM_PROPERTY); if ($to_user_id <= 0) { $to_user_id = null; // No to_user_id set @@ -3670,16 +3677,13 @@ function api_item_property_update( $toValueCondition = empty($to_value) ? "NULL" : "'$to_value'"; // Set filters for $to_user_id and $to_group_id, with priority for $to_user_id - $condition_session = ''; - if (!empty($session_id)) { - $condition_session = " AND session_id = '$session_id' "; - } + $condition_session = " AND session_id = $session_id "; - $filter = " c_id = $course_id AND tool='$tool' AND ref='$item_id' $condition_session "; + $filter = " c_id = $course_id AND tool = '$tool' AND ref = $item_id $condition_session "; if ($item_id === '*') { // For all (not deleted) items of the tool - $filter = " c_id = $course_id AND tool = '$tool' AND visibility<>'2' $condition_session"; + $filter = " c_id = $course_id AND tool = '$tool' AND visibility <> 2 $condition_session"; } // Check whether $to_user_id and $to_group_id are passed in the function call. @@ -3690,11 +3694,11 @@ function api_item_property_update( if (!is_null($to_user_id)) { // Set filter to intended user. - $to_filter = " AND to_user_id= '$to_user_id' $condition_session"; + $to_filter = " AND to_user_id = $to_user_id $condition_session"; } else { // Set filter to intended group. if (($to_group_id != 0) && $to_group_id == strval(intval($to_group_id))) { - $to_filter = " AND to_group_id = '$to_group_id' $condition_session"; + $to_filter = " AND to_group_id = $to_group_id $condition_session"; } } @@ -3708,40 +3712,40 @@ function api_item_property_update( // delete = make item only visible for the platform admin. $visibility = '2'; if (!empty($session_id)) { - // Check whether session id already exist into itemp_properties for updating visibility or add it. - $sql = "SELECT session_id FROM $TABLE_ITEMPROPERTY + // Check whether session id already exist into item_properties for updating visibility or add it. + $sql = "SELECT session_id FROM $tableItemProperty WHERE c_id = $course_id AND tool = '$tool' AND - ref='$item_id' AND - session_id = '$session_id'"; + ref = $item_id AND + session_id = $session_id"; $rs = Database::query($sql); if (Database::num_rows($rs) > 0) { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type = '".str_replace('_', '', ucwords($tool))."Deleted', lastedit_date = '$time', - lastedit_user_id = '$user_id', - visibility = '$visibility', - session_id = '$session_id' $set_type + lastedit_user_id = $user_id, + visibility = $visibility, + session_id = $session_id $set_type WHERE $filter"; $result = Database::query($sql); } else { - $sql = "INSERT INTO $TABLE_ITEMPROPERTY (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) - VALUES ($course_id, '$tool','$item_id','$time', '$user_id', '$time', '$lastedit_type','$user_id', $toValueCondition, '$visibility', $startVisible, $endVisible, '$session_id')"; + $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) + VALUES ($course_id, '$tool',$item_id, '$time', $user_id, '$time', '$last_edit_type',$user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)"; $result = Database::query($sql); $id = Database::insert_id(); if ($id) { - $sql = "UPDATE $TABLE_ITEMPROPERTY SET id = iid WHERE iid = $id"; + $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id"; Database::query($sql); } } } else { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type='".str_replace('_', '', ucwords($tool))."Deleted', lastedit_date='$time', - lastedit_user_id = '$user_id', - visibility='$visibility' $set_type + lastedit_user_id = $user_id, + visibility = $visibility $set_type WHERE $filter"; $result = Database::query($sql); } @@ -3750,40 +3754,40 @@ function api_item_property_update( $visibility = '1'; if (!empty($session_id)) { // Check whether session id already exist into item_properties for updating visibility or add it. - $sql = "SELECT session_id FROM $TABLE_ITEMPROPERTY + $sql = "SELECT session_id FROM $tableItemProperty WHERE c_id = $course_id AND tool = '$tool' AND - ref = '$item_id' AND - session_id = '$session_id'"; + ref = $item_id AND + session_id = $session_id"; $rs = Database::query($sql); if (Database::num_rows($rs) > 0) { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type='".str_replace('_', '', ucwords($tool))."Visible', lastedit_date='$time', - lastedit_user_id = '$user_id', - visibility='$visibility', - session_id = '$session_id' $set_type + lastedit_user_id = $user_id, + visibility = $visibility, + session_id = $session_id $set_type WHERE $filter"; $result = Database::query($sql); } else { - $sql = "INSERT INTO $TABLE_ITEMPROPERTY (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) - VALUES ($course_id, '$tool', '$item_id', '$time', '$user_id', '$time', '$lastedit_type', '$user_id', $toValueCondition, '$visibility', $startVisible, $endVisible, '$session_id')"; + $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) + VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)"; $result = Database::query($sql); $id = Database::insert_id(); if ($id) { - $sql = "UPDATE $TABLE_ITEMPROPERTY SET id = iid WHERE iid = $id"; + $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id"; Database::query($sql); } } } else { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type='".str_replace('_', '', ucwords($tool))."Visible', lastedit_date='$time', - lastedit_user_id='$user_id', - visibility='$visibility' $set_type + lastedit_user_id = $user_id, + visibility = $visibility $set_type WHERE $filter"; $result = Database::query($sql); } @@ -3792,65 +3796,65 @@ function api_item_property_update( $visibility = '0'; if (!empty($session_id)) { // Check whether session id already exist into item_properties for updating visibility or add it - $sql = "SELECT session_id FROM $TABLE_ITEMPROPERTY + $sql = "SELECT session_id FROM $tableItemProperty WHERE c_id = $course_id AND tool = '$tool' AND - ref='$item_id' AND - session_id = '$session_id'"; + ref = $item_id AND + session_id = $session_id"; $rs = Database::query($sql); if (Database::num_rows($rs) > 0) { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible', lastedit_date = '$time', - lastedit_user_id='$user_id', - visibility = '$visibility', - session_id = '$session_id' $set_type + lastedit_user_id = $user_id, + visibility = $visibility, + session_id = $session_id $set_type WHERE $filter"; $result = Database::query($sql); } else { - $sql = "INSERT INTO $TABLE_ITEMPROPERTY (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id,$to_field, visibility, start_visible, end_visible, session_id) - VALUES ($course_id, '$tool', '$item_id', '$time', '$user_id', '$time', '$lastedit_type', '$user_id', $toValueCondition, '$visibility', $startVisible, $endVisible, '$session_id')"; + $sql = "INSERT INTO $tableItemProperty (c_id, tool, ref, insert_date, insert_user_id, lastedit_date, lastedit_type, lastedit_user_id,$to_field, visibility, start_visible, end_visible, session_id) + VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $session_id)"; $result = Database::query($sql); $id = Database::insert_id(); if ($id) { - $sql = "UPDATE $TABLE_ITEMPROPERTY SET id = iid WHERE iid = $id"; + $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id"; Database::query($sql); } } } else { - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_type = '".str_replace('_', '', ucwords($tool))."Invisible', lastedit_date = '$time', - lastedit_user_id = '$user_id', - visibility = '$visibility' $set_type + lastedit_user_id = $user_id, + visibility = $visibility $set_type WHERE $filter"; $result = Database::query($sql); } break; default : // The item will be added or updated. - $set_type = ", lastedit_type='$lastedit_type' "; + $set_type = ", lastedit_type = '$last_edit_type' "; $visibility = '1'; //$filter .= $to_filter; already added - $sql = "UPDATE $TABLE_ITEMPROPERTY + $sql = "UPDATE $tableItemProperty SET lastedit_date = '$time', - lastedit_user_id='$user_id' $set_type + lastedit_user_id = $user_id $set_type WHERE $filter"; $result = Database::query($sql); } - // Insert if no entries are found (can only happen in case of $lastedit_type switch is 'default'). + // Insert if no entries are found (can only happen in case of $last_edit_type switch is 'default'). if (Database::affected_rows($result) == 0) { $sessionCondition = empty($session_id) ? "NULL" : "'$session_id'"; - $sql = "INSERT INTO $TABLE_ITEMPROPERTY (c_id, tool,ref,insert_date,insert_user_id,lastedit_date,lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) - VALUES ($course_id, '$tool', '$item_id', '$time', '$user_id', '$time', '$lastedit_type', '$user_id', $toValueCondition, '$visibility', $startVisible, $endVisible, $sessionCondition)"; + $sql = "INSERT INTO $tableItemProperty (c_id, tool,ref,insert_date,insert_user_id,lastedit_date,lastedit_type, lastedit_user_id, $to_field, visibility, start_visible, end_visible, session_id) + VALUES ($course_id, '$tool', $item_id, '$time', $user_id, '$time', '$last_edit_type', $user_id, $toValueCondition, $visibility, $startVisible, $endVisible, $sessionCondition)"; $res = Database::query($sql); $id = Database::insert_id(); if ($id) { - $sql = "UPDATE $TABLE_ITEMPROPERTY SET id = iid WHERE iid = $id"; + $sql = "UPDATE $tableItemProperty SET id = iid WHERE iid = $id"; Database::query($sql); return false; } @@ -3864,6 +3868,8 @@ function api_item_property_update( * @param string course code * @param string tool name, linked to 'rubrique' of the course tool_list (Warning: language sensitive !!) * @param int id of the item itself, linked to key of every tool ('id', ...), "*" = all items of the tool + * @param int $session_id + * @return array All fields from c_item_property (all rows found) or empty array */ function api_get_item_property_by_tool($tool, $course_code, $session_id = null) { @@ -3874,6 +3880,9 @@ function api_get_item_property_by_tool($tool, $course_code, $session_id = null) $item_property_table = Database::get_course_table(TABLE_ITEM_PROPERTY); $session_id = intval($session_id); $session_condition = ' AND session_id = '.$session_id; + if (empty($session_id)) { + $session_condition = " AND (session_id = 0 OR session_id IS NULL) "; + } $course_id = $course_info['real_id']; $sql = "SELECT * FROM $item_property_table @@ -3913,6 +3922,9 @@ function api_get_item_property_list_by_tool_by_user( // Definition of tables. $item_property_table = Database::get_course_table(TABLE_ITEM_PROPERTY); $session_condition = ' AND session_id = '.$session_id; + if (empty($session_id)) { + $session_condition = " (session_id = 0 OR session_id IS NULL) "; + } $sql = "SELECT * FROM $item_property_table WHERE insert_user_id = $userId AND @@ -3932,21 +3944,27 @@ function api_get_item_property_list_by_tool_by_user( /** * Gets item property id from tool of a course - * @param string course code - * @param string tool name, linked to 'rubrique' of the course tool_list (Warning: language sensitive !!) - * @param int id of the item itself, linked to key of every tool ('id', ...), "*" = all items of the tool + * @param string $course_code course code + * @param string $tool tool name, linked to 'rubrique' of the course tool_list (Warning: language sensitive !!) + * @param int $ref id of the item itself, linked to key of every tool ('id', ...), "*" = all items of the tool + * @param int $sessionId Session ID (optional) + * @return int */ -function api_get_item_property_id($course_code, $tool, $ref) +function api_get_item_property_id($course_code, $tool, $ref, $sessionId = 0) { $course_info = api_get_course_info($course_code); $tool = Database::escape_string($tool); $ref = intval($ref); // Definition of tables. - $TABLE_ITEMPROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY); + $tableItemProperty = Database::get_course_table(TABLE_ITEM_PROPERTY); $course_id = $course_info['real_id']; - $sql = "SELECT id FROM $TABLE_ITEMPROPERTY - WHERE c_id = $course_id AND tool = '$tool' AND ref = '$ref'"; + $sessionCondition = " AND session_id = $sessionId "; + if (empty($sessionId)) { + $sessionCondition = " (session_id = 0 OR session_id IS NULL) "; + } + $sql = "SELECT id FROM $tableItemProperty + WHERE c_id = $course_id AND tool = '$tool' AND ref = $ref $sessionCondition"; $rs = Database::query($sql); $item_property_id = ''; if (Database::num_rows($rs) > 0) { @@ -4015,6 +4033,7 @@ function api_get_track_item_property_history($tool, $ref) * @param string tool name, linked to 'rubrique' of the course tool_list (Warning: language sensitive !!) * @param int id of the item itself, linked to key of every tool ('id', ...), "*" = all items of the tool * @param int $session_id + * @return array Array with all fields from c_item_property, empty array if not found or false if course could not be found */ function api_get_item_property_info($course_id, $tool, $ref, $session_id = 0) { diff --git a/main/inc/lib/template.lib.php b/main/inc/lib/template.lib.php index 3d9bbe61bf..52b304b5cc 100755 --- a/main/inc/lib/template.lib.php +++ b/main/inc/lib/template.lib.php @@ -532,19 +532,18 @@ class Template global $disable_js_and_css_files; // Base CSS $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'base.css'); - $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'themes/'.$this->theme.'/default.css'); if ($this->show_learnpath) { - $css[] = api_get_path(WEB_CSS_PATH).$this->theme.'/learnpath.css'; - - // if we have a SCORM file in theme, don't use default_scorm.css file - if (is_file(api_get_path(SYS_CSS_PATH).$this->theme.'/scorm.css')) { - $css[] = api_get_path(WEB_CSS_PATH).$this->theme.'/scorm.css'; - } else { - $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'default_scorm.css'); + $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'scorm.css'); + if (is_file(api_get_path(SYS_CSS_PATH).'themes/'.$this->theme.'/learnpath.css')) { + $css[] = api_get_path(WEB_CSS_PATH).'themes/'.$this->theme.'/learnpath.css'; } } + $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'themes/'.$this->theme.'/default.css'); + + + $css_file_to_string = null; foreach ($css as $file) { $css_file_to_string .= api_get_css($file); diff --git a/main/inc/lib/thematic.lib.php b/main/inc/lib/thematic.lib.php index 0dee5d71ef..3e9bc58389 100755 --- a/main/inc/lib/thematic.lib.php +++ b/main/inc/lib/thematic.lib.php @@ -521,7 +521,7 @@ class Thematic } } //DATE_TIME_FORMAT_LONG - $thematic_advance_item = '
'.api_convert_and_format_date($thematic_advance['start_date'], DATE_FORMAT_LONG).$session_star.'
'; + $thematic_advance_item = '
'.api_convert_and_format_date($thematic_advance['start_date'], DATE_TIME_FORMAT_LONG).$session_star.'
'; // $thematic_advance_item .= '
'.get_lang('DurationInHours').' : '.$thematic_advance['duration'].'
'; $thematic_advance_item .= '
'.$thematic_advance['duration'].' '.get_lang('HourShort').'
'; $thematic_advance_item .= '
'.Security::remove_XSS($thematic_advance['content'], STUDENT).'
'; @@ -662,7 +662,7 @@ class Thematic // protect data $id = intval($this->thematic_advance_id); - $tematic_id = intval($this->thematic_id); + $thematic_id = intval($this->thematic_id); $attendance_id = intval($this->attendance_id); $content = Database::escape_string($this->thematic_advance_content); $start_date = Database::escape_string($this->start_date); @@ -673,7 +673,7 @@ class Thematic if (empty($id)) { // Insert $sql = "INSERT INTO $tbl_thematic_advance (c_id, thematic_id, attendance_id, content, start_date, duration) - VALUES ($this->course_int_id, $tematic_id, $attendance_id, '$content', '".api_get_utc_datetime($start_date)."', '$duration') "; + VALUES ($this->course_int_id, $thematic_id, $attendance_id, '$content', '".api_get_utc_datetime($start_date)."', '$duration') "; $result = Database::query($sql); $last_id = Database::insert_id(); @@ -685,7 +685,7 @@ class Thematic } } else { // update - $sql = "UPDATE $tbl_thematic_advance SET thematic_id = '$tematic_id', attendance_id = '$attendance_id', content = '$content', start_date = '".api_get_utc_datetime($start_date)."', duration = '$duration' + $sql = "UPDATE $tbl_thematic_advance SET thematic_id = $thematic_id, attendance_id = $attendance_id, content = '$content', start_date = '".api_get_utc_datetime($start_date)."', duration = '$duration' WHERE c_id = {$this->course_int_id} AND id = $id "; $result = Database::query($sql); if (Database::affected_rows($result)) { diff --git a/main/install/data.sql b/main/install/data.sql index bdb0bd503d..e9a7aa96ae 100644 --- a/main/install/data.sql +++ b/main/install/data.sql @@ -1706,7 +1706,8 @@ VALUES ('hide_certificate_export_link', NULL, 'radio', 'Gradebook', 'false', 'CertificateHideExportLinkTitle', 'CertificateHideExportLinkComment', NULL, NULL, 1), ('dropbox_hide_course_coach', NULL, 'radio', 'Tools', 'false', 'DropboxHideCourseCoachTitle', 'DropboxHideCourseCoachComment', NULL, NULL, 1), ('sso_force_redirect', NULL, 'radio', 'Security', 'false', 'SSOForceRedirectTitle', 'SSOForceRedirectComment', NULL, NULL, 1), -('session_course_ordering', NULL, 'radio', 'Session', 'false', 'SessionCourseOrderingTitle', 'SessionCourseOrderingComment', NULL, NULL, 1); +('session_course_ordering', NULL, 'radio', 'Session', 'false', 'SessionCourseOrderingTitle', 'SessionCourseOrderingComment', NULL, NULL, 1), +('gamification_mode', NULL, 'radio', 'Platform', '0', 'GamificationModeTitle', 'GamificationModeComment', NULL, NULL, 1); INSERT INTO settings_options (variable, value, display_text) VALUES @@ -1780,6 +1781,8 @@ VALUES ('sso_force_redirect', 'true', 'Yes'), ('sso_force_redirect', 'false', 'No'), ('session_course_ordering', 'true', 'Yes'), -('session_course_ordering', 'false', 'No'); +('session_course_ordering', 'false', 'No'), +('gamification_mode', '1', 'Yes'), +('gamification_mode', '0', 'No'); UPDATE settings_current SET selected_value = '1.10.0.40' WHERE variable = 'chamilo_database_version'; diff --git a/main/lang/english/trad4all.inc.php b/main/lang/english/trad4all.inc.php index 276d116ea3..bf9a96ae89 100644 --- a/main/lang/english/trad4all.inc.php +++ b/main/lang/english/trad4all.inc.php @@ -7360,4 +7360,4 @@ $FromXUntilY = "From %s until %s"; $CreateForumForThisLearningPath = "Create forum for this learning path"; $ByDate = "By date"; $ByTag = "By tag"; -?> \ No newline at end of file +?> diff --git a/main/lang/spanish/trad4all.inc.php b/main/lang/spanish/trad4all.inc.php index ce3a190e5b..eebdbb22d0 100644 --- a/main/lang/spanish/trad4all.inc.php +++ b/main/lang/spanish/trad4all.inc.php @@ -7389,4 +7389,4 @@ $FromXUntilY = "De %s a %s"; $CreateForumForThisLearningPath = "Crear foro para esta lección"; $ByDate = "Por fecha"; $ByTag = "Por etiqueta"; -?> \ No newline at end of file +?> diff --git a/main/newscorm/learnpath.class.php b/main/newscorm/learnpath.class.php index d353592f2a..4450dfa9af 100755 --- a/main/newscorm/learnpath.class.php +++ b/main/newscorm/learnpath.class.php @@ -3229,7 +3229,7 @@ class learnpath $html .= stripslashes($title); } else { $this->get_link('http', $item['id'], $toc_list); - $html .= '' . stripslashes($title) . ''; + $html .= '' . stripslashes($title) . ''; } $html .= ""; @@ -5272,7 +5272,6 @@ class learnpath * but possibility to do again a completed item. * * @return boolean true if seriousgame_mode has been set to 1, false otherwise - * @deprecated seems not to be used * @author ndiechburg **/ public function set_seriousgame_mode() @@ -5473,7 +5472,10 @@ class learnpath // We need to close the form when we are updating the mp3 files. if ($update_audio == 'true') { - $return .= '
'; // TODO: What kind of language variable is this? + $return .= ''; + //$return .= '
'; // TODO: What kind of language variable is this? } } @@ -5565,7 +5567,7 @@ class learnpath } // The audio column. - $return_audio .= ''; + $return_audio .= ''; $audio = ''; @@ -10139,6 +10141,8 @@ EOD; } /** + * Get whether this is a learning path with the possibility to subscribe + * users or not * @return int */ public function getSubscribeUsers() @@ -10147,7 +10151,9 @@ EOD; } /** - * @param int $subscribeUsers + * Set whether this is a learning path with the possibility to subscribe + * users or not + * @param int $subscribeUsers (0 = false, 1 = true) */ public function setSubscribeUsers($value) { @@ -10157,12 +10163,192 @@ EOD; $this->subscribeUsers = intval($value);; $lp_table = Database :: get_course_table(TABLE_LP_MAIN); $lp_id = $this->get_id(); - $sql = "UPDATE $lp_table SET subscribe_users = '".$this->subscribeUsers."' - WHERE c_id = ".$this->course_int_id." AND id = '$lp_id'"; + $sql = "UPDATE $lp_table SET subscribe_users = ".$this->subscribeUsers." + WHERE c_id = ".$this->course_int_id." AND id = $lp_id"; Database::query($sql); return true; } + /** + * Calculate the count of stars for a user + * @param int $lpId The learn path ID + * @param int $userId The user ID + * @param int $courseId The course ID + * @param int $sessionId Optional. The session ID + * @return int The count of stars + */ + public function getCalculateStars() + { + $stars = 0; + + $progress = self::getProgress($this->lp_id, $this->user_id, $this->course_int_id, $this->lp_session_id); + + if ($progress > 50) { + $stars++; + } + + // Calculate stars chapters evaluation + $exercisesItems = $this->getExercisesItems(); + + if ($exercisesItems === false) { + return $stars; + } + + $totalResult = 0; + + foreach ($exercisesItems as $exerciseItem) { + $exerciseResultInfo = Event::getExerciseResultsByUser( + $this->user_id, + $exerciseItem->ref, + $this->course_int_id, + $this->lp_session_id, + $this->lp_id, + $exerciseItem->db_id + ); + + $exerciseResult = 0; + + foreach ($exerciseResultInfo as $result) { + $exerciseResult += $result['exe_result'] * 100 / $result['exe_weighting']; + } + + $exerciseAverage = $exerciseResult / (count($exerciseResultInfo) > 0 ? count($exerciseResultInfo) : 1); + + $totalResult += $exerciseAverage; + } + + $totalExerciseAverage = $totalResult / (count($exercisesItems) > 0 ? count($exercisesItems) : 1); + + if ($totalExerciseAverage >= 50) { + $stars++; + } + + if ($totalExerciseAverage >= 80) { + $stars++; + } + + // Calculate star for final evaluation + $finalEvaluationItem = $this->getFinalEvaluationItem(); + + if ($finalEvaluationItem === false) { + return $stars; + } + + $evaluationResultInfo = Event::getExerciseResultsByUser( + $this->user_id, + $finalEvaluationItem->ref, + $this->course_int_id, + $this->lp_session_id, + $this->lp_id, + $finalEvaluationItem->db_id + ); + + $evaluationResult = 0; + + foreach ($evaluationResultInfo as $result) { + $evaluationResult += $result['exe_result'] * 100 / $result['exe_weighting']; + } + + $evaluationAverage = $evaluationResult / (count($evaluationResultInfo) > 0 ? count($evaluationResultInfo) : 1); + + if ($evaluationAverage >= 80) { + $stars++; + } + + return $stars; + } + + /** + * Get the items of exercise type + * @return array The items. Otherwise return false + */ + public function getExercisesItems() + { + $exercises = []; + + foreach ($this->items as $item) { + if ($item->type != 'quiz') { + continue; + } + + $exercises[] = $item; + } + + array_pop($exercises); + + return $exercises; + } + + /** + * Get the item of exercise type (evaluation type) + * @return array The final evaluation. Otherwise return false + */ + public function getFinalEvaluationItem() + { + $exercises = []; + + foreach ($this->items as $item) { + if ($item->type != 'quiz') { + continue; + } + + $exercises[] = $item; + } + + return array_pop($exercises); + } + + /** + * Calculate the total points achieved for the current user in this learning path + * @return int + */ + public function getCalculateScore() + { + // Calculate stars chapters evaluation + $exercisesItems = $this->getExercisesItems(); + $finalEvaluationItem = $this->getFinalEvaluationItem(); + + $totalExercisesResult = 0; + $totalEvaluationResult = 0; + + if ($exercisesItems !== false) { + foreach ($exercisesItems as $exerciseItem) { + $exerciseResultInfo = Event::getExerciseResultsByUser( + $this->user_id, + $exerciseItem->ref, + $this->course_int_id, + $this->lp_session_id, + $this->lp_id, + $exerciseItem->db_id + ); + + $exerciseResult = 0; + + foreach ($exerciseResultInfo as $result) { + $exerciseResult += $result['exe_result']; + } + + $totalExercisesResult += $exerciseResult; + } + } + + if ($finalEvaluationItem !== false) { + $evaluationResultInfo = Event::getExerciseResultsByUser( + $this->user_id, + $finalEvaluationItem->ref, + $this->course_int_id, + $this->lp_session_id, + $this->lp_id, + $finalEvaluationItem->db_id + ); + + foreach ($evaluationResultInfo as $result) { + $totalEvaluationResult += $result['exe_result']; + } + } + + return $totalExercisesResult + $totalEvaluationResult; + } } if (!function_exists('trim_value')) { diff --git a/main/newscorm/lp_add.php b/main/newscorm/lp_add.php index c936964360..8eaa301976 100755 --- a/main/newscorm/lp_add.php +++ b/main/newscorm/lp_add.php @@ -115,10 +115,7 @@ $form->addElement('hidden', 'action', 'add_lp'); $form->addButtonAdvancedSettings('advanced_params'); $form->addElement('html', ' - - - + function confirmation(name) { + if (confirm(" {{ "AreYouSureToDelete"|get_lang }} name ?")) { + return true; + } else { + return false; + } + } + + +{{ introduction_section }} + +{% for lp_data in data %} + + + {% if lp_data.lp_list %} +
+ + + + + {% if is_allowed_to_edit %} + + + + + {% else %} + {% if not is_invitee %} + + {% endif %} + + + {% endif %} + + + + {% for row in lp_data.lp_list %} + + + {% if is_allowed_to_edit %} + + + + {% else %} + {% if not is_invitee %} + + {% endif %} + {% endif %} + + + + {% endfor %} + +
{{ "Title"|get_lang }}{{ "PublicationDate"|get_lang }}{{ "ExpirationDate"|get_lang }}{{ "Progress"|get_lang }}{{ "AuthoringOptions"|get_lang }}{{ "Progress"|get_lang }}{{ "Actions"|get_lang }}
+ {{ row.learnpath_icon }} + + {{ row.title }} + {{ row.session_image }} + {{ row.extra }} + + + {% if row.start_time %} + {{ row.start_time }} + {% endif %} + + {{ row.end_time }} + + {{ row.dsp_progress }} + + {{ row.dsp_progress }} + + {{ row.action_build }} + {{ row.action_edit }} + {{ row.action_visible }} + {{ row.action_publish }} + {{ row.action_subscribe_users }} + {{ row.action_serious_game }} + {{ row.action_reinit }} + {{ row.action_default_view }} + {{ row.action_debug }} + {{ row.action_export }} + {{ row.action_copy }} + {{ row.action_auto_launch }} + {{ row.action_pdf }} + {{ row.action_delete }} + {{ row.action_order }} +
+
+ {% endif %} +{% endfor %} + +{% if is_allowed_to_edit and not lp_is_shown %} +
+

{{ "LearningPaths"|get_lang }}

+ + +
+{% endif %} \ No newline at end of file diff --git a/main/template/default/learnpath/view.tpl b/main/template/default/learnpath/view.tpl new file mode 100644 index 0000000000..6eb19b7562 --- /dev/null +++ b/main/template/default/learnpath/view.tpl @@ -0,0 +1,201 @@ +
+ {% if is_allowed_to_edit %} +
+
+ {{ breadcrumb }} +
+
+ {% endif %} + +
+
+ + {# end left zone #} + + {#
#} + + {# right zone #} +
+ {% if oLP.mode == 'fullscreen' %} + + {% else %} + + {% endif %} +
+ {# end right Zone #} + + {{ navigation_bar_bottom }} +
+
+
+ + diff --git a/src/Chamilo/CoreBundle/Component/Editor/CkEditor/CkEditor.php b/src/Chamilo/CoreBundle/Component/Editor/CkEditor/CkEditor.php index 085243b6b0..a90d050a1b 100644 --- a/src/Chamilo/CoreBundle/Component/Editor/CkEditor/CkEditor.php +++ b/src/Chamilo/CoreBundle/Component/Editor/CkEditor/CkEditor.php @@ -134,7 +134,7 @@ class CkEditor extends Editor foreach ($templates as $template) { $image = $template['image']; $image = !empty($image) ? $image : 'empty.gif'; - $image = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/'.$image; + $image = api_get_path(WEB_APP_PATH).'home/default_platform_document/template_thumb/'.$image; /*$image = $this->urlGenerator->generate( 'get_document_template_action', diff --git a/src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150527101600.php b/src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150527101600.php new file mode 100644 index 0000000000..2b00da2494 --- /dev/null +++ b/src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150527101600.php @@ -0,0 +1,55 @@ + autolaunch + * @package Chamilo\CoreBundle\Migrations\Schema\V110 + */ +class Version20150527101600 extends AbstractMigrationChamilo +{ + /** + * @param Schema $schema + */ + public function up(Schema $schema) + { + $this->addSettingCurrent( + 'gamification_mode', + '', + 'radio', + 'Platform', + 0, + 'GamificationModeTitle', + 'GamificationModeComment', + null, + '', + 1, + true, + false, + [ + [ + 'value' => 1, + 'text' => 'Yes' + ], + [ + 'value' => 0, + 'text' => 'No' + ] + ] + ); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema) + { + $this->addSql("DELETE FROM settings_options WHERE variable = 'gamification_mode'"); + $this->addSql("DELETE FROM settings_current WHERE variable = 'gamification_mode'"); + } + +}