DESCRIPTION:
============
The plugin SCRIPTSERVICE v. 2.04 from ruDREAM team,
it is used for creation of multilevel menus of the user,
That allows to carry out scripts and to start additions.
File with a name/var/tuxbox/config/scriptlist.xml
It is used by this addition by default at start.
The format of files for creation of smart menus,
scripts and dialogs is below described.
For change of a name of a file loaded at start scriptservice,
It is necessary scripservice to write down before start
a name xml a file in a file:
/var/tmp/script.cfg
It can be made the command also:
echo /var/tuxbox/config/xxx.xml >/var/tmp/script.cfg
For start scriptservice from another plugin,
It is possible to use such code:
************************************************** **
const char *filename="/var/tmp/script.cfg";
FILE *f=fopen(filename, "w");
if (f)
{
fprintf(f, "/var/tuxbox/config/xxx.xml");
fclose(f);
}
eZapPlugins plugins(2);
plugins.execPluginByName("scriptservice.cfg");
************************************************** **
LEGEND:
=======
xxx - any text
dd - decimal two-digit number
ddd - decimal three-digit number
dddd - decimal four-digit number
/xxx/xxx - a full name of a file
/xxx/xxx.sh - a full name of a file of a script
/xxx/xxx.xml - a full name of a file of the menu
| - a separator of variants of values of parameters
note:
-----
"xxx|" - the design means any text or absence of parameter,
parametr="" equal absent parameter, sample:
<action name="break" condition="" /> equal <action name="break" />
FORMAT OF ITEMS OF THE MENU:
============================
------------------------------------------------
1. The given line describes heading of the menu:
------------------------------------------------
************************************************** **
<caption text = "xxx" lines = "dd" width = "ddd" statusbar = "no|yes|" default = "xxx"/>
************************************************** **
caption - the name of section meaning that is a descriptor of heading
text - the text which to be deduced(removed) in heading of the menu
lines - the two-digit number determining quantity of lines of the menu
width - the three-digit number determining width in pixels
statusbar - no/yes - to not show/show a status bar
(if the given parameter is absent, the status bar to not be show)
default - a line determining ID item of the menu which will be is made active at creation
----------------------------------------------------
2. The given line describes a separator of the menu:
----------------------------------------------------
************************************************** **
<menuitem id = "xxx" text = "---"/>
************************************************** **
menuitem - the name of section , meaning that is item(point) of the menu
id - a line determining ID the given separator of item of the menu
text - the predetermined line meaning, that the given item of the menu - a separator
----------------------------------------------------
3. The given line describes item(point) of the menu:
----------------------------------------------------
************************************************** **
<menuitem id="xxx" text="xxx" helptext="xxx|" check="/xxx/xxx|" mode="both|reg|file|" runscript="xxx|/xxx/xxx.sh|" scriptsection="xxx|" runmenu="/xxx/xxx.xml|" />
************************************************** **
menuitem - the name of section , meaning that is item of the menu
id - a line determining ID the given item of the menu
text - a line which to be show in item of the menu
helptext - a line which to be show in a status bar if this item is activated
check - a line determining a key of the registry or a name of a file,
if the given parameter is specified item of the menu to become the switch
mode - a mode for item of the menu with the specified parameter check:
reg - the status of the switch is kept in the registry with key specified in check
file - the status of the switch is kept in a file with a name specified in check,
presence of a file means, that the switch is included, ot presence - is switched off
both - the status of the switch is kept both in a file and in the registry,
and the maximum priority the file has,
i.e. the registry changes in conformity of presence/absence of a file
if the parameter is absent that is by default used boot
next 3 parameters has a priority of performance and can be combined in any structure:
runscript - the line with the carried out script, is carried out before carried out section, has a priority of performance 1
scriptsection - a line meaning a name of carried out section of the script at a choice of item of the menu, has a priority of performance 2
runmenu - to open the menu from the specified file, has a priority of performance 3
COMMANDS:
=========
config - setting/remove a line in xml or text a file
registry - setting/remove a key in the registry
condition - direct setting condition
inputstring - enter a line and write to file /tmp/inputstring.tmp
inputnumber - enter number and write to file /tmp/inputnumber.tmp
runmenuonfile - to open the menu from the specified file
runscript - to execute the script
rundaemon - to execute a daemon (like emudeamons)
exeplugin - to execute plugin
message - to show the message
messageonfile - to show the message with the text from the specified file
consoleonfile - to show a window with the text from the specified file
messagebackon - to show asynchronous (in backgroung) the message
messagebackoff - to hide asynchronous (in backgroung) the message
scriptsection - call execution of the specified section with the script
reboot - to reload DreamBox
action - to close/hide/show the current menu
mkdir - make dir (for install/uninstall script)
rmdir - remove dir (for install/uninstal script)
cpfile - copy file (for install/uninstal script)
mvfile - move file (for install/uninstal script)
rmfile - remove file (for install/uninstal script)
NOTE:
=====
condition - the condition of performance of the command, has seven variants,
ok - if in the previous action there was a ok
error - if in the previous action there was a mistake
yes - if in the previous message the answer is received "yes"
no - if in the previous message the answer is received "no"
cancel - if in the previous message the answer is received "cancellation"
nofind - if not find file (only for command cpfile)
empty - the condition is absent
************************************************** **
<?xml version="1.0" encoding="iso-8859-1" ?>
<scriptservice>
<!--The predetermined section-->
<!--This section is carried out up to a conclusion to the screen of the menu-->
<!--this section can be absent-->
<scriptsection id="autorun">
<!--Include any commands for this sections-->
</scriptsection>
<!--The ending of the predetermined section-->
<!--The beginning of menu sections (this section is unessential)-->
<menu>
<!--The beginning of current menu-->
<caption text="xxx" lines="dd" width="ddd" statusbar="no|yes|" default="xxx" />
<menuitem id="xxx" text="---" />
<menuitem id="xxx" text="xxx" helptext="xxx|" check="/xxx/xxx|" mode="both|reg|file|" runscript="xxx|/xxx/xxx.sh|" scriptsection="xxx|" runmenu="/xxx/xxx.xml|" />
<!--Include any menu items with the unique identifier-->
<!--The ending of current menu-->
</menu>
<!--The ending of menu sections-->
<!--The beginning of scripts sections-->
<scriptsection id="xxx">
<!--The beginning of all commands of section-->
<runmenuonfile name="/xxx/xxx.xml" condition="ok|error|yes|no|cancel|" />
<runscript name="xxx|/xxx/xxx.sh" condition="ok|error|yes|no|cancel|" />
<rundaemon name="xxx|/xxx/xxx.sh" condition="ok|error|yes|no|cancel|" />
<exeplugin name="xxx.cfg" condition="ok|error|yes|no|cancel|" />
<scriptsection name="xxx" result="return|" condition="ok|error|yes|no|cancel|" />
<mkdir name="/xxx/xxx" permissions="ddd" condition="ok|error|yes|no|cancel|" />
<rmdir name="/xxx/xxx" condition="ok|error|yes|no|cancel|" />
<cpfile name="/xxx/xxx" destination="/xxx/xxx" permissions="ddd" condition="ok|error|yes|no|cancel|nofind|" />
<mvfile name="/xxx/xxx" destination="/xxx/xxx" permissions="ddd" condition="ok|error|yes|no|cancel|nofind|" />
<rmfile name="/xxx/xxx" condition="ok|error|yes|no|cancel|" />
<config action="set|del" source="/xxx/xxx.xml|/xxx/xxx" destination="/xxx/xxx.xml|/xxx/xxx" condition="ok|error|yes|no|cancel|" />
<registry action="set|del" key="xxx" value="xxx" type="int|unsignedint|double|char" condition="ok|error|yes|no|cancel|" />
<condition value="ok|error|yes|no|cancel|" condition="ok|error|yes|no|cancel|" />
<inputstring caption="xxx" helptext="xxx|" maxchar="dddd" chars="xxx" condition="ok|error|yes|no|cancel|" />
<inputnumber caption="xxx" helptext="xxx|" min="dddd" max="dddd" maxdigits="dddd" condition="ok|error|yes|no|cancel|" />
<message caption="xxx" text="xxx" type="info|question|warning|error" default="no|yes|" condition="ok|error|yes|no|cancel|" />
<messageonfile caption="xxx" name="/xxx/xxx" type="info|question|warning|error" default="no|yes|" condition="ok|error|yes|no|cancel|" />
<consoleonfile caption="xxx" name="/xxx/xxx" condition="ok|error|yes|no|cancel|" />
<messagebackon caption="xxx" text="xxx" type="info|warning|error" condition="ok|error|yes|no|cancel|" />
<messagebackoff condition="ok|error|yes|no|cancel|" />
<reboot type="hard|full|hot" condition="ok|error|yes|no|cancel|" />
<action name="accept|reject|hide|show|close|break" condition="ok|error|yes|no|cancel|" />
<!--The ending of all commands of section-->
</scriptsection>
<!--Include any scriptsection with the unique identifier-->
<!--The ending of scripts sections-->
</scriptservice>
************************************************** **
ADDITION:
=========
----------------------------------------------------
The specification sorce.xml or sorce.cfg a file
For config command,
----------------------------------------------------
1. Installation/addition of recording in a file
xxx.xml Or xxx.cfg right after labels:
" <node "
(the label can have only a part of the original,
The file sorce.xml or sorce.cfg can contain
Only one label)
************************************************** **
\ <node
<menuitem id = "xxx" text = "---"/>
<here to add anyone of section>
<menuitem id = "xxx" text = "---"/>
************************************************** **
2. Installation/addition of recording in a file
xxx.xml Or xxx.cfg before a label:
" </node> "
(the label can have only a part of the original,
The file sorce.xml or sorce.cfg can contain
Only one label)
************************************************** **
/ </node>
<menuitem id = "xxx" text = "---"/>
<here to add anyone of section>
<menuitem id = "xxx" text = "---"/>
************************************************** **
3. Installation/addition of recording in a file
xxx.xml Or xxx.cfg if the label is absent,
Occurs in the end of a file
4. For removal of recording simply enough to specify
Line or its part if the label is specified
It is ignored
************************************************** **
<menuitem id = "xxx" text = "---"/>
<here to add anyone of section or a part>
<menuitem id = "xxx"
************************************************** **
So in Our Image You can Creat your OWN xml Menus
Have fun
DS ingilizce bilen varsa yapabilir
Paylaş