Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.51
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle.backup.39 /
message /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
message_area.js
4.76
KB
-rw-rw-r--
message_area_actions.js
1.8
KB
-rw-rw-r--
message_area_contacts.js
30.02
KB
-rw-rw-r--
message_area_events.js
1.82
KB
-rw-rw-r--
message_area_messages.js
36.69
KB
-rw-rw-r--
message_area_profile.js
11.1
KB
-rw-rw-r--
message_area_search.js
16.96
KB
-rw-rw-r--
message_area_tabs.js
6.13
KB
-rw-rw-r--
message_notification_preferenc...
2.14
KB
-rw-rw-r--
message_preferences.js
4.42
KB
-rw-rw-r--
message_repository.js
2.97
KB
-rw-rw-r--
notification_preference.js
5.41
KB
-rw-rw-r--
notification_processor.js
2.86
KB
-rw-rw-r--
notification_processor_setting...
4.22
KB
-rw-rw-r--
preferences_notifications_list...
5.62
KB
-rw-rw-r--
preferences_processor_form.js
3.35
KB
-rw-rw-r--
toggle_contact_button.js
5.91
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : message_area_profile.js
// This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This module handles the profile area of the messaging area. * * @module core_message/message_area_profile * @package core_message * @copyright 2016 Mark Nelson <markn@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define(['jquery', 'core/ajax', 'core/templates', 'core/notification', 'core/str', 'core/config', 'core/custom_interaction_events', 'core_message/message_area_events'], function($, Ajax, Templates, Notification, Str, Config, CustomEvents, Events) { /** @type {Object} The list of selectors for the message area. */ var SELECTORS = { PROFILE: "[data-region='profile']", PROFILEADDCONTACT: "[data-action='profile-add-contact']", PROFILEBLOCKCONTACT: "[data-action='profile-block-contact']", PROFILEREMOVECONTACT: "[data-action='profile-remove-contact']", PROFILESENDMESSAGE: "[data-action='profile-send-message']", PROFILEUNBLOCKCONTACT: "[data-action='profile-unblock-contact']", PROFILEVIEW: "[data-action='profile-view']", SHOWCONTACTS: "[data-action='show-contacts']", MESSAGESAREA: "[data-region='messages-area']", MESSAGINGAREA: "[data-region='messaging-area']" }; /** * Profile class. * * @param {Messagearea} messageArea The messaging area object. */ function Profile(messageArea) { this.messageArea = messageArea; this._init(); } /** @type {Messagearea} The messaging area object. */ Profile.prototype.messageArea = null; /** * Initialise the event listeners. * * @private */ Profile.prototype._init = function() { CustomEvents.define(this.messageArea.node, [ CustomEvents.events.activate ]); this.messageArea.onCustomEvent(Events.CONTACTSELECTED, this._viewProfile.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILEVIEW, function(e, data) { this._viewFullProfile(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILESENDMESSAGE, function(e, data) { this._sendMessage(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILEUNBLOCKCONTACT, function(e, data) { this._unblockContact(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILEBLOCKCONTACT, function(e, data) { this._blockContact(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILEADDCONTACT, function(e, data) { this._addContact(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.PROFILEREMOVECONTACT, function(e, data) { this._removeContact(); data.originalEvent.preventDefault(); }.bind(this)); this.messageArea.onDelegateEvent(CustomEvents.events.activate, SELECTORS.SHOWCONTACTS, this._hideMessagingArea.bind(this)); }; /** * Handles viewing the profile. * * @param {Event} event * @param {int} userid * @return {Promise} The promise resolved when the profile has been rendered * @private */ Profile.prototype._viewProfile = function(event, userid) { // Show loading template. Templates.render('core/loading', {}).done(function(html, js) { Templates.replaceNodeContents(this.messageArea.find(SELECTORS.MESSAGESAREA), html, js); }.bind(this)); // Call the web service to return the profile. var promises = Ajax.call([{ methodname: 'core_message_data_for_messagearea_get_profile', args: { currentuserid: this.messageArea.getCurrentUserId(), otheruserid: userid } }]); // Show the profile. return promises[0].then(function(data) { return Templates.render('core_message/message_area_profile', data); }).then(function(html, js) { Templates.replaceNodeContents(this.messageArea.find(SELECTORS.MESSAGESAREA), html, js); }.bind(this)).fail(Notification.exception); }; /** * Handles viewing the user's full profile. * * @private */ Profile.prototype._viewFullProfile = function() { window.location.href = Config.wwwroot + '/user/profile.php?id=' + this._getUserId(); }; /** * Handles viewing the messages with the user. * * @private */ Profile.prototype._sendMessage = function() { this.messageArea.trigger(Events.SENDMESSAGE, this._getUserId()); }; /** * Handles blocking the contact. * * @return {Promise} The promise resolved when the contact has been blocked * @private */ Profile.prototype._blockContact = function() { var action = this._performAction('core_message_block_contacts', 'unblockcontact', 'profile-block-contact', 'profile-unblock-contact', ''); return action.then(function() { this.messageArea.trigger(Events.CONTACTBLOCKED, this._getUserId()); }.bind(this)); }; /** * Handles unblocking the contact. * * @return {Promise} The promise resolved when the contact has been unblocked * @private */ Profile.prototype._unblockContact = function() { var action = this._performAction('core_message_unblock_contacts', 'blockcontact', 'profile-unblock-contact', 'profile-block-contact', 'danger'); return action.then(function() { this.messageArea.trigger(Events.CONTACTUNBLOCKED, this._getUserId()); }.bind(this)); }; /** * Handles adding the contact. * * @return {Promise} The promise resolved when the contact has been added * @private */ Profile.prototype._addContact = function() { var action = this._performAction('core_message_create_contacts', 'removecontact', 'profile-add-contact', 'profile-remove-contact', 'danger'); return action.then(function() { this.messageArea.trigger(Events.CONTACTADDED, this._getUserId()); }.bind(this)); }; /** * Handles removing the contact. * * @return {Promise} The promise resolved when the contact has been removed * @private */ Profile.prototype._removeContact = function() { var action = this._performAction('core_message_delete_contacts', 'addcontact', 'profile-remove-contact', 'profile-add-contact', ''); return action.then(function() { this.messageArea.trigger(Events.CONTACTREMOVED, this._getUserId()); }.bind(this)); }; /** * Helper function to perform actions on the profile page. * * @param {String} service The web service to call. * @param {String} string The string to change the button value to * @param {String} oldaction The data-action of the button * @param {string} newaction The data-action to change the button to * @param {String} newclass The CSS class we want to add * @return {Promise} The promise resolved when the action has been performed * @private */ Profile.prototype._performAction = function(service, string, oldaction, newaction, newclass) { var promises = Ajax.call([{ methodname: service, args: { userid: this.messageArea.getCurrentUserId(), userids: [ this._getUserId() ] } }]); return promises[0].then(function() { return Str.get_string(string, 'message'); }).then(function(s) { this._changeText(s, oldaction, newaction, newclass); }.bind(this)).fail(Notification.exception); }; /** * Changes the text in the profile area. * * @param {String} text The string to change the button value to * @param {string} oldaction The data-action of the button * @param {string} newaction The data-action to change the button to * @param {String} newclass The CSS class we want to add * @private */ Profile.prototype._changeText = function(text, oldaction, newaction, newclass) { var anchor = this.messageArea.find("[data-action='" + oldaction + "']"); // Change the text. anchor.text(text); // Remove any class. anchor.removeClass(); // Add the class if there is one. if (newclass) { anchor.addClass(newclass); } anchor.attr('data-action', newaction); }; /** * Returns the ID of the user whos profile we are viewing. * * @return {int} The user ID * @private */ Profile.prototype._getUserId = function() { return this.messageArea.find(SELECTORS.PROFILE).data('userid'); }; /** * Hide the messaging area. This only applies on smaller screen resolutions. */ Profile.prototype._hideMessagingArea = function() { this.messageArea.find(SELECTORS.MESSAGINGAREA) .removeClass('show-messages') .addClass('hide-messages'); }; return Profile; } );
Close