DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Terminal

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed by:Jean-David Gadina
Changed:2007-12-12T15:54:01
Email:info@macmade.net
Info 2:
Info 3:
Info 4:

Terminal

Extension Key: terminal

Copyright 2000-2002, info@macmade.net, <info@macmade.net>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

Terminal 1

Introduction 1

What does it do? 1

About the icons 1

Screenshots 2

Users manual 2

Installation 2

Configuration 3

User TSConfig 4

PHP issues 5

Known problems 5

To-Do list 5

Changelog 5

Introduction

What does it do?

This extension allows you to run shell commands on the server from the TYPO3 backend. This may be useful for changing files permissions, creating symbolic links, uncompressing archives, etc.

About the icons

The icons used in the backend module have been designed by Mark James, for his Silk icon set. All this icons are licensed under the Creative Commons Attribution 2.5 License.

Please use the link below to get more informations about those icons:

http://www.famfamfam.com/lab/icons/silk/

Screenshots

Here's a screenshot of the backend module:

img-1

Users manual

Installation

The installation of this extension is very simple. Just connect to the Typo3 Extension Repository and download «Terminal» (terminal), located in the backend module section. Note that you will also need to download version 0.3.0 of the «Developer API» extension (api_macmade), as it will be needed by the plugin.

Please note that the backend module is only available for administrator accounts.

Configuration

On the installation screen, you'll notice some options:

img-2

From here, you can adjust the font size of the console, and choose the colors that will be used.

The history option lets you decide if you want to keep an history of the shell commands in your user's session. If this is set, the last 50 commands will be kept, even if you log out. Otherwise, the will only be present while you are in the backend module.

If the «Shortcuts» option is set, some shortcuts will be displayed after the console. They will allows you to quickly access some commands and specific TYPO3 directories.

The last option lets you decide which PHP function will be used to process shell commands. You can choose between exec(), shell_exec(), proc_open(), system(), passthru() and popen(). Please note that proc_open() will require PHP 5.

User TSConfig

Colors

Terminal colors can be configured for each backend user through TSConfig. If no option is set, the values configured in the extension manager will be used.

fontSize

Property

fontSize

Data type

color

Description

The terminal font size.

Default

background

Property

background

Data type

color

Description

The terminal background color.

Default

foreground

Property

foreground

Data type

color

Description

The terminal text color.

Default

prompt

Property

prompt

Data type

color

Description

The terminal text color for the command prompt.

Default

[tsconfig:mod.tools_txterminalM1.display]

For example:

mod.tools_txterminalM1.display.fontSize   = 10
mod.tools_txterminalM1.display.background = #990000
mod.tools_txterminalM1.display.foreground = #000000
mod.tools_txterminalM1.display.prompt     = #FFFFFF
Shortcuts
Default shortcuts

This extension comes with a set of default shortcuts. Each one can be activated or deactivated for backend users through TSConfig.

processes

Property

processes

Data type

boolean

Description

Show the currently running processes on the server

(top -l1)

Default

1

diskUse

Property

diskUse

Data type

boolean

Description

Show the disk usage

(df -h)

Default

1

networking

Property

networking

Data type

boolean

Description

Show the server's networking configuration

(ifconfig)

Default

1

pathInfo

Property

pathInfo

Data type

boolean

Description

Show the current working directory(pwd)

Default

1

userName

Property

userName

Data type

boolean

Description

Show the current shell user

(whoami)

Default

1

date

Property

date

Data type

boolean

Description

Show the current date

(date)

Default

1

listing

Property

listing

Data type

boolean

Description

List the current directory

(ls -alh)

Default

1

home

Property

home

Data type

boolean

Description

Go to the TYPO3 site directory and list its content

(cd && ls -alh)

Default

1

fileadmin

Property

fileadmin

Data type

boolean

Description

Go to the fileadmin directory and list its content

(cd && cd fileadmin && ls -alh)

Default

1

typo3conf

Property

typo3conf

Data type

boolean

Description

Go to the typo3conf directory and list its content

(cd && cd typo3conf && ls -alh)

Default

1

uploads

Property

uploads

Data type

boolean

Description

Go to the uploads directory and list its content

(cd && cd uploads && ls -alh)

Default

1

t3lib

Property

t3lib

Data type

boolean

Description

Go to the t3lib directory and list its content

(cd && cd t3lib && ls -alh)

Default

1

typo3

Property

typo3

Data type

boolean

Description

Go to the typo3 directory and list its content

(cd && cd typo3 && ls -alh)

Default

1

typo3temp

Property

typo3temp

Data type

boolean

Description

Go to the typo3temp directory and list its content

(cd && cd typo3temp && ls -alh)

Default

1

[tsconfig:mod.tools_txterminalM1.shortcuts.defaults]

For instance:

mod.tools_txterminalM1.shortcuts.defaults.processes = 0
Custom shortcuts

Additionally, each backend user can register his own shortcuts through TSConfig. This may be useful for the commands you are using very often.

Here's an example for registering custom shortcuts:

mod.tools_txterminalM1.shortcuts.custom.10.label   = Show localconf
mod.tools_txterminalM1.shortcuts.custom.10.command = cd && cat typo3conf/localconf.php
mod.tools_txterminalM1.shortcuts.custom.20.label   = Remove temporary files in typo3conf
mod.tools_txterminalM1.shortcuts.custom.20.command = cd && rm typo3conf/temp_CACHED_*
Command aliases

Backend users can also register command aliases, like in a real shell. For instance:

mod.tools_txterminalM1.aliases.ll = ls -al

PHP issues

Please note that you won't be able to use interactive shell commands.

Known problems

None at the time. Just contact me if you find some.

To-Do list

Please contact me if you have any suggestion for this extension.

Changelog

((generated))

0.3.2: 7 th public release
  • Fixed a bug with the proc_open() detection.
  • Fixed a formatting bug in Explorer. Thanx a lot to Valentin Schmid for the patch.
0.3.1: 6 th public release
  • Added support for shell_exec().
  • Fixed a bug with 'cd' commands when using proc_open().
0.3.0: 5 th public release
  • Added support for custom shortcuts and colors.
  • Added support for command aliases
  • Fixed a bug with stderr when using proc_open(). Thanx to Valentin Schmid for the bugfix.
0.2.2: 4 th public release

Added support for system(), passthru() and popen().

0.2.1: 3 rd public release

Added shell history from command input, with keyboard events.

0.2.0: 2 nd public release
  • Added support for the PHP exec() function.
  • Added some error messages.
0.1.0: 1 st public release

img-3 Terminal - 5