HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/ideasforum.kaunokolegija.lt/wp-content/plugins/quiz-master-next/js/qsm-admin-emails.js
/**
 * QSM - Admin emails
 */

var QSMAdminEmails;
(function ($) {
	QSMAdminEmails = {
		total: 0,
		saveEmails: function() {
			QSMAdmin.displayAlert( 'Saving emails...', 'info' );
			var emails = [];
			var email = {};
			$( '.qsm-email' ).each( function() {
                                var email_content = '';
                                if( $( this ).find( '.email-template' ).parent('.wp-editor-container').length > 0 ){
                                    email_content = wp.editor.getContent( $( this ).find( '.email-template' ).attr( 'id' ) );
                                } else {
                                    email_content = $( this ).find( '.email-template' ).val()
                                }                                    
				email = {
					'conditions': [],
					'to': $( this ).find( '.to-email' ).val(),
					'subject': $( this ).find( '.subject' ).val(),
					'content': email_content,
					'replyTo': $( this ).find( '.reply-to' ).prop( 'checked' ),
				};
				$( this ).find( '.email-condition' ).each( function() {
					email.conditions.push({
						'criteria': $( this ).children( '.email-condition-criteria' ).val(),
						'operator': $( this ).children( '.email-condition-operator' ).val(),
						'value': $( this ).children( '.email-condition-value' ).val()
					});
				});
				emails.push( email );
			});
			var data = {
				'emails': emails
			}
			$.ajax({
				url: wpApiSettings.root + 'quiz-survey-master/v1/quizzes/' + qsmEmailsObject.quizID + '/emails',
				method: 'POST',
				data: data,
				headers: { 'X-WP-Nonce': qsmEmailsObject.nonce },
			})
				.done(function( results ) {                                        
					if ( results.status ) {
						QSMAdmin.displayAlert( 'Emails were saved!', 'success' );
					} else {
						QSMAdmin.displayAlert( 'There was an error when saving the emails. Please try again.', 'error' );
					}                                        
				})
				.fail(QSMAdmin.displayjQueryError);
		},
		loadEmails: function() {
			//QSMAdmin.displayAlert( 'Loading emails...', 'info' );
			$.ajax({
				url: wpApiSettings.root + 'quiz-survey-master/v1/quizzes/' + qsmEmailsObject.quizID + '/emails',
				headers: { 'X-WP-Nonce': qsmEmailsObject.nonce },
			})
				.done(function( emails ) {
                                        $( '#qsm_emails' ).find( '.qsm-spinner-loader' ).remove();
					emails.forEach( function( email, i, emails ) {
						QSMAdminEmails.addEmail( email.conditions, email.to, email.subject, email.content, email.replyTo );
					});
					QSMAdmin.clearAlerts();
				})
				.fail(QSMAdmin.displayjQueryError);
		},
		addCondition: function( $email, criteria, operator, value ) {
			var template = wp.template( 'email-condition' );
			$email.find( '.email-when-conditions' ).append( template({
				'criteria': criteria,
				'operator': operator,
				'value': value
			}));
		},
		newCondition: function( $email ) {
			QSMAdminEmails.addCondition( $email, 'score', 'equal', 0 );
		},
		addEmail: function( conditions, to, subject, content, replyTo ) {
			QSMAdminEmails.total += 1;
			var template = wp.template( 'email' );
			$( '#qsm_emails' ).append( template( { id: QSMAdminEmails.total, to: to, subject: subject, content: content, replyTo: replyTo } ) );
			conditions.forEach( function( condition, i, conditions) {
				QSMAdminEmails.addCondition( 
					$( '.qsm-email:last-child' ), 
					condition.criteria,
					condition.operator,
					condition.value
				);
			});
                        if(qsmEmailsObject.qsm_user_ve === 'true'){
                            var settings = {
                                    mediaButtons: true,
                                    tinymce:      {
                                            forced_root_block : '',
                                            toolbar1: 'formatselect,bold,italic,bullist,numlist,blockquote,alignleft,aligncenter,alignright,link,strikethrough,hr,forecolor,pastetext,removeformat,codeformat,charmap,undo,redo'
                                    },
                                    quicktags:    true,
                            };
                            wp.editor.initialize( 'email-template-' + QSMAdminEmails.total, settings );
                        }
		},
		newEmail: function() {
			var conditions = [{
				'criteria': 'score',
				'operator': 'greater',
				'value': '0'
			}];
			var to = '%USER_EMAIL%';
			var subject = 'Quiz Results For %QUIZ_NAME%';
			var content = '%QUESTIONS_ANSWERS_EMAIL%';
			var replyTo = false;
			QSMAdminEmails.addEmail( conditions, to, subject, content, replyTo );
		}
	};
	$(function() {
		QSMAdminEmails.loadEmails();

		$( '.add-new-email' ).on( 'click', function( event ) {
			event.preventDefault();
			QSMAdminEmails.newEmail();
		});
		$( '.save-emails' ).on( 'click', function( event ) {
			event.preventDefault();
			QSMAdminEmails.saveEmails();
		});
		$( '#qsm_emails' ).on( 'click', '.new-condition', function( event ) {
			event.preventDefault();
			$page = $( this ).closest( '.qsm-email' );
			QSMAdminEmails.newCondition( $page );
		});
		$( '#qsm_emails' ).on( 'click', '.delete-email-button', function( event ) {
			event.preventDefault();
			$( this ).closest( '.qsm-email' ).remove();
		});
		$( '#qsm_emails' ).on( 'click', '.delete-condition-button', function( event ) {
			event.preventDefault();
			$( this ).closest( '.email-condition' ).remove();
		});
	});
}(jQuery));