PageSourceSearch

https://helplus.de/wp-content/plugins/designthemes-lms/modules/ass…?ver=3e48a0a2203ab47ba0761359138cf086

js helplus.de collected 2026-10-06 04:11:09 UTC 7,527 bytes, 200 lines download raw bytes

1var dtLMSAssignmentFrontend = {
2
3	dtInit : function() {
4
5		jQuery( 'body' ).delegate( '#dtlms-upload-assignment', 'click', function(){
6
7			var this_item              = jQuery(this),
8				uploadassignment_nonce = this_item.attr('data-uploadassignment-nonce'),
9				course_id              = this_item.attr('data-courseid'),
10				user_id                = this_item.attr('data-userid'),
11				lesson_id              = this_item.attr('data-lessonid'),
12				quiz_id                = this_item.attr('data-quizid'),
13				assignment_id          = this_item.attr('data-assignmentid'),
14				author_id              = this_item.attr('data-authorid'),
15				assignment_grade_id    = this_item.attr('data-assignmentgradeid'),
16				parent_curriculum_id   = this_item.attr('data-parentcurriculumid');
17
18			jQuery.ajax({
19				type: 'POST',
20				url: lmsfrontendobject.ajaxurl,
21				data:
22				{
23					action                : 'dtlms_upload_assignment',
24					uploadassignment_nonce: uploadassignment_nonce,
25					course_id             : course_id,
26					user_id               : user_id,
27					lesson_id             : lesson_id,
28					quiz_id               : quiz_id,
29					assignment_id         : assignment_id,
30					author_id             : author_id,
31					assignment_grade_id   : assignment_grade_id,
32					parent_curriculum_id  : parent_curriculum_id,
33				},
34				beforeSend: function(){
35					dtLMSCommonUtils.dtLMSAjaxBeforeSend(undefined);
36				},
37				error: function (xhr, status, error) {
38					jQuery('.dtlms-curriculum-content-holder').html('Something went wrong!');
39					jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
40				},
41				success: function (response) {
42					jQuery('.dtlms-curriculum-content-holder').html(response);
43					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
44					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
45					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
46				},
47				complete: function(){
48					dtLMSCommonUtils.dtLMSAjaxAfterSend(undefined);
49				}
50			});
51
52		});
53
54		jQuery( 'body' ).delegate( '.dtlms-add-upload-assignment-field', 'click', function(){
55
56			var clone = jQuery("#dtlms-upload-assignment-section-to-clone").clone();
57			clone.attr('class', 'dtlms-upload-assignment').removeAttr('id').removeClass('hidden');
58			clone.find('input').attr('class', 'assignment-attachment').attr('name', 'assignment-attachment[]');
59			clone.appendTo('.dtlms-upload-assignment-holder');
60
61			jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
62
63			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
64			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
65			dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
66
67		});
68
69		jQuery('body').delegate('span.dtlms-remove-upload-assignment-field','click', function(e){
70
71			jQuery(this).parents('.dtlms-upload-assignment').remove();
72			e.preventDefault();
73
74		});
75
76		if(jQuery('.dtlms-upload-assignment-holder').length) {
77			jQuery('.dtlms-upload-assignment-holder').sortable({ placeholder: 'sortable-placeholder' });
78		}
79
80
81		jQuery( 'body' ).delegate( '.dtlms-submit-assignment', 'click', function(){
82
83			var assignment_attachment = jQuery('input[name^=assignment-attachment]').map(function(idx, elem) {
84				if(this.value != '') {
85					return this.value;
86				}
87			}).get();
88
89			if((jQuery('.assignment-textarea').length && jQuery('.assignment-textarea').val() == '') || (jQuery('.assignment-attachment').length && assignment_attachment.length === 0)) {
90				alert(lmsassignmentobject.assignmentNotification);
91				return;
92			}
93
94			var this_item           = jQuery(this),
95				submitassignment_nonce = this_item.attr('data-submitassignment-nonce'),
96				course_id              = this_item.attr('data-courseid'),
97				user_id                = this_item.attr('data-userid'),
98				lesson_id              = this_item.attr('data-lessonid'),
99				quiz_id                = this_item.attr('data-quizid'),
100				assignment_id          = this_item.attr('data-assignmentid'),
101				author_id              = this_item.attr('data-authorid'),
102				parent_curriculum_id   = this_item.attr('data-parentcurriculumid'),
103				next_curriculum_id     = this_item.attr('data-nextcurriculumid'),
104				enable_next_curriculum = this_item.attr('data-enablenextcurriculum');
105
106	        var form = jQuery('.formAssignment')[0];
107	        var data = new FormData(form);
108	        data.append('action', 'dtlms_submit_assignment');
109	        data.append('submitassignment_nonce', submitassignment_nonce);
110	        data.append('course_id', course_id);
111	        data.append('user_id', user_id);
112	        data.append('lesson_id', lesson_id);
113	        data.append('quiz_id', quiz_id);
114	        data.append('assignment_id', assignment_id);
115	        data.append('author_id', author_id);
116	        data.append('parent_curriculum_id', parent_curriculum_id);
117	        data.append('next_curriculum_id', next_curriculum_id);
118
119			jQuery.ajax({
120				type: 'POST',
121				url: lmsfrontendobject.ajaxurl,
122				enctype: 'multipart/form-data',
123				data: data,
124	            processData: false,
125	            contentType: false,
126	            cache: false,
127				beforeSend: function(){
128					this_item.prepend( '<span><i class="fas fa-spinner fa-spin"></i></span>' );
129				},
130				success: function (response) {
131					if(response == 'error') {
132						jQuery('body').find('.dtlms-assignment-errors').removeClass('hidden');
133					} else {
134						jQuery('body').find('#dtlms-course-curriculum-popup').remove();
135						jQuery('body').append(response);
136					}
137
138					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumContentScroll();
139					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumDetailsScroll();
140					dtLMSFrontendUtils.dtLMSEnableCourseCurriculumResponsiveScroll();
141
142					// Enable next curriculum item
143					if(enable_next_curriculum == 'true') {
144						if(next_curriculum_id > 0) {
145							if(parent_curriculum_id > 0) {
146								jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"][ data-parentcurriculumid="' + parent_curriculum_id + '"]').parents('li').removeClass('locked').addClass('unlocked');
147							} else {
148								jQuery('ul.dtlms-curriculum-list li a[data-curriculumid="' + next_curriculum_id + '"][ data-parentcurriculumid="-1"]').parents('li').removeClass('locked').addClass('unlocked');
149							}
150						}
151					}
152
153				},
154				complete: function(){
155					this_item.find('span').remove();
156				}
157			});
158
159		});
160		
161
162		jQuery( 'body' ).delegate( '.dtlms-view-assignment', 'click', function(){
163
164			var this_item = jQuery(this),
165				assignment_grade_id = this_item.attr('data-assignmentgradeid'),
166				assignment_id = this_item.attr('data-assignmentid');
167
168			jQuery.ajax({
169				type: "POST",
170				url: lmsfrontendobject.ajaxurl,
171				data:
172				{
173					action             : 'dtlms_view_assignment',
174					assignment_grade_id: assignment_grade_id,
175					assignment_id      : assignment_id,
176				},
177				beforeSend: function(){
178					this_item.prepend( '<span><i class="fas fa-spinner fa-spin"></i></span>' );
179				},
180				success: function (response) {
181					jQuery('.dtlms-curriculum-content-holder').html(response);
182				},
183				complete: function(){
184					this_item.find('span').remove();
185				}
186			});
187
188		});
189
190	},
191
192};
193
194jQuery(document).ready(function() {
195
196	"use strict";
197
198	dtLMSAssignmentFrontend.dtInit();
199
200});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.