!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/snap/core20/2585/usr/share/subiquity/subiquitycore/ui/   drwxr-xr-x
Free 0 B of 59.63 MB (0%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     actionmenu.py (4.71 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# Copyright 2018 Canonical, Ltd.
#
# This program 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, version 3.
#
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.

import attr

from urwid import (
    ACTIVATE,
    AttrWrap,
    Button,
    connect_signal,
    LineBox,
    PopUpLauncher,
    SelectableIcon,
    Text,
    Widget,
    )

from subiquitycore.ui.container import (
    Columns,
    ListBox,
    WidgetWrap,
)
from subiquitycore.ui.utils import Color


class ActionBackButton(Button):
    button_left = Text("\N{BLACK LEFT-POINTING SMALL TRIANGLE}")
    button_right = Text("")


class ActionMenuOpenButton(Button):
    button_left = Text("")
    button_right = Text("\N{BLACK RIGHT-POINTING SMALL TRIANGLE}")


class ActionMenuButton(Button):
    button_left = Text("")
    button_right = Text("")


class _ActionMenuDialog(WidgetWrap):
    """A list of action buttons with a box around them."""

    def __init__(self, parent):
        self.parent = parent
        close_text = "(close)"
        close = ActionBackButton(close_text)
        connect_signal(close, "click", self.close)
        group = [Color.menu_button(close)]
        width = len(close_text)
        for i, action in enumerate(self.parent._actions):
            if action.enabled:
                if isinstance(action.label, Widget):
                    btn = action.label
                elif action.opens_dialog:
                    btn = Color.menu_button(ActionMenuOpenButton(action.label))
                else:
                    btn = Color.menu_button(ActionMenuButton(action.label))
                width = max(width, len(btn.base_widget.label))
                connect_signal(
                    btn.base_widget, 'click', self.click, action.value)
            else:
                label = action.label
                if isinstance(label, Widget):
                    label = label.base_widget.label
                width = max(width, len(label))
                if action.opens_dialog:
                    rhs = "\N{BLACK RIGHT-POINTING SMALL TRIANGLE}"
                else:
                    rhs = ""
                btn = Columns([
                    ('fixed', 1, Text("")),
                    Text(label),
                    ('fixed', 1, Text(rhs)),
                    ], dividechars=1)
                btn = AttrWrap(btn, 'info_minor')
            group.append(btn)
        self.width = width
        super().__init__(Color.body(LineBox(ListBox(group))))

    def close(self, sender):
        self.parent.close_pop_up()

    def click(self, btn, value):
        self.parent._action(value)
        self.parent.close_pop_up()

    def keypress(self, size, key):
        if key == 'esc':
            self.parent.close_pop_up()
        else:
            return super().keypress(size, key)


@attr.s
class Action:
    # The label that is shown in the menu
    label = attr.ib()
    enabled = attr.ib()
    # The value passed along with the 'action' signal
    value = attr.ib()
    # Actions that open a dialog get a > at the end.
    opens_dialog = attr.ib(default=False)


class ActionMenu(PopUpLauncher):

    signals = ['action', 'open', 'close']

    def __init__(self, opts,
                 icon="\N{BLACK RIGHT-POINTING SMALL TRIANGLE}"):
        self._actions = []
        for opt in opts:
            if not isinstance(opt, Action):
                opt = Action(*opt)
            self._actions.append(opt)
        self.icon = icon
        self._button = SelectableIcon(self.icon, 0)
        super().__init__(self._button)
        self._dialog = _ActionMenuDialog(self)

    def get_natural_width(self):
        return len(self.icon)

    def keypress(self, size, key):
        if self._command_map[key] != ACTIVATE:
            return key
        self.open_pop_up()

    def _action(self, action):
        self._emit("action", action)

    def open_pop_up(self):
        self._dialog._w.base_widget.focus_position = 0
        self._emit("open")
        super().open_pop_up()

    def close_pop_up(self):
        self._emit("close")
        super().close_pop_up()

    def create_pop_up(self):
        return self._dialog

    def get_pop_up_parameters(self):
        width = self._dialog.width + 7
        return {
            'left': 1,
            'top': -1,
            'overlay_width': width,
            'overlay_height': len(self._actions) + 3,
            }

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0052 ]--