add functionality to write/update the setup/tables_update.inc.php file

This commit is contained in:
Ralf Becker 2002-05-11 20:56:12 +00:00
parent bf944380b4
commit 00d4ce72a0
3 changed files with 276 additions and 22 deletions

View File

@ -50,6 +50,19 @@
'timestamp' => 'timestamp',
'varchar' => 'varchar'
);
var $setup_header = '<?php
/**************************************************************************\\
* phpGroupWare - Setup *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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; either version 2 of the License, or (at your *
* option) any later version. *
\\**************************************************************************/
/* $Id$ */
';
/*!
@function db_tools()
@ -106,6 +119,7 @@
{
return;
}
$this->renames = array();
}
if (!$this->app)
{
@ -132,17 +146,21 @@
}
if (isset($content['write_tables']))
{
$msg .= $this->messages[$this->write($this->app,$this->data) ?
'writen' : 'error_writing'];
if ($this->needs_save('',$this->app,$this->table,$this->data[$posted_table]))
{
return;
}
$msg .= $this->messages[$this->write($this->app,$this->data) ? 'writen' : 'error_writing'];
}
elseif (isset($content['delete']))
{
list($col) = each($content['delete']);
reset($this->data[$posted_table]['fd']);
while ($col-- > 0 && list($key,$data) = each($this->data[$posted_table]['fd'])) ;
@reset($this->data[$posted_table]['fd']);
while ($col-- > 0 && list($key,$data) = @each($this->data[$posted_table]['fd'])) ;
unset($this->data[$posted_table]['fd'][$key]);
$this->changes[$posted_table][$key] = '**deleted**';
}
elseif (isset($content['add_column']))
{
@ -219,7 +237,7 @@
echo 'editor.edit: content ='; _debug_array($content);
}
$this->editor->exec('etemplate.db_tools.edit',$content,$sel_options,$no_button,
array('posted_table' => $this->table,'posted_app' => $this->app));
array('posted_table' => $this->table,'posted_app' => $this->app,'changes' => $this->changes));
}
/*!
@ -241,10 +259,15 @@
$this->table = $cont['table'];
$this->read($this->app,$this->data);
$this->data[$this->table] = $cont['edited_table'];
$this->write($this->app,$this->data);
$this->changes = $cont['changes'];
if ($cont['new_version'])
{
$this->update($this->app,$this->data,$cont['new_version']);
}
$msg .= $this->messages[$this->write($this->app,$this->data) ?
'writen' : 'error_writing'];
}
$this->changes = array();
// return to edit with everything set, so the user gets the table he asked for
$this->edit(array(
'app' => $cont['new_app'],
@ -270,15 +293,24 @@
}
$content = array(
'app' => $posted_app,
'table' => $posted_table
'table' => $posted_table,
'version' => $this->setup_version($posted_app)
);
$preserv = $content + array(
'new_app' => $new_app,
'new_table' => $new_table,
'edited_table' => $edited_table
'edited_table' => $edited_table,
'changes' => $this->changes
);
$content['new_version'] = $content['version'];
$tmpl = new etemplate('etemplate.db-tools.ask_save');
if (!file_exists(PHPGW_SERVER_ROOT."/$posted_app/setup/tables_current.inc.php"))
{
$tmpl->disable_cells('version');
$tmpl->disable_cells('new_version');
}
$tmpl->exec('etemplate.db_tools.needs_save',$content,array(),array(),$preserv);
return True; // dont continue in edit
@ -323,6 +355,13 @@
*/
function content2table($content)
{
if (!is_array($this->data))
{
$this->read($content['posted_app'],$this->data);
}
$old_cols = $this->data[$posted_table = $content['posted_table']]['fd'];
$this->changes = $content['changes'];
$table = array();
$table['fd'] = array(); // do it in the default order of tables_*
$table['pk'] = array();
@ -332,8 +371,17 @@
for (reset($content),$n = 1; isset($content["Row$n"]); ++$n)
{
$col = $content["Row$n"];
while ((list($old_name,$old_col) = @each($old_cols)) &&
$this->changes[$posted_table][$old_name] == '**deleted**') ;
if (($name = $col['name']) != '') // ignoring lines without column-name
{
if ($col['name'] != $old_name && $n <= count($old_cols)) // column renamed --> remeber it
{
$this->changes[$posted_table][$old_name] = $col['name'];
//echo "<p>content2table: $posted_table.$old_name renamed to $col[name]</p>\n";
}
while (list($prop,$val) = each($col))
{
switch ($prop)
@ -369,6 +417,7 @@
if ($this->debug >= 2)
{
echo "<p>content2table: table ="; _debug_array($table);
echo "<p>changes = "; _debug_array($this->changes);
}
return $table;
}
@ -483,7 +532,7 @@
}
if (!$header)
{
$header = "<?php\n\n";
$header = $this->setup_header . "\n\n";
}
if (!is_writeable(PHPGW_SERVER_ROOT."/$app/setup") || !($f = fopen($file,'w')))
{
@ -499,6 +548,206 @@
return True;
}
/*!
@function setup_version($app,$new = '')
@abstract reads and updates the version in file $app/setup/setup.inc.php if $new != ''
@return the version or False if the file could not be read or written
*/
function setup_version($app,$new = '')
{
//echo "<p>etemplate.db_tools.setup_version('$app','$new')</p>\n";
$file = PHPGW_SERVER_ROOT."/$app/setup/setup.inc.php";
if (file_exists($file))
{
include($file);
}
if (!is_array($setup_info[$app]) || !isset($setup_info[$app]['version']))
{
return False;
}
if ($new == '' || $setup_info[$app]['version'] == $new)
{
return $setup_info[$app]['version'];
}
if (!($f = fopen($file,'r')))
{
return False;
}
$fcontent = fread($f,filesize($file));
fclose ($f);
if (is_writable(PHPGW_SERVER_ROOT."/$app/setup"))
{
rename($file,PHPGW_SERVER_ROOT."/$app/setup/setup.old.inc.php");
}
$fnew = eregi_replace("(.*\\$"."setup_info\\['$app'\\]\\['version'\\][ \\t]*=[ \\t]*')[^']*('.*)","\\1$new"."\\2",$fcontent);
if (!is_writeable(PHPGW_SERVER_ROOT."/$app/setup") || !($f = fopen($file,'w')))
{
return False;
}
fwrite($f,$fnew);
fclose($f);
return $new;
}
/*!
@function update($app,$current,$version)
@abstract updates file /$app/setup/tables_update.inc.php to reflect changes in $current
@param $app app-name
@param $current new tabledefinitions
@param $version new version
@return True if file writen else False
*/
function update($app,$current,$version)
{
//echo "<p>etemplate.db_tools.update('$app',...,'$version')</p>\n";
if (!is_writable(PHPGW_SERVER_ROOT."/$app/setup"))
{
return False;
}
$file_baseline = PHPGW_SERVER_ROOT."/$app/setup/tables_baseline.inc.php";
$file_current = PHPGW_SERVER_ROOT."/$app/setup/tables_current.inc.php";
$file_update = PHPGW_SERVER_ROOT."/$app/setup/tables_update.inc.php";
if (!file_exists($file_baseline) && !copy($file_current,$file_baseline))
{
//echo "<p>Can't copy $file_current to $file_baseline !!!</p>\n";
return False;
}
$old_version = $this->setup_version($app);
$old_version_ = str_replace('.','_',$old_version);
if (file_exists($file_update))
{
$f = fopen($file_update,'r');
$update = fread($f,filesize($file_update));
$update = str_replace('?>','',$update);
fclose($f);
rename($file_update,PHPGW_SERVER_ROOT."/$app/setup/tables_update.old.inc.php");
}
else
{
$update = $this->setup_header;
}
$update .= "
\$test[] = '$old_version';
function $app"."_upgrade$old_version_()
{\n";
$update .= $this->update_schema($app,$current);
$update .= "\n
\$GLOBALS['setup_info']['$app']['currentver'] = '$version';
return \$GLOBALS['setup_info']['phpgwapi']['currentver'];
}
?".">\n";
if (!($f = fopen($file_update,'w')))
{
//echo "<p>Cant open '$update' for writing !!!</p>\n";
return False;
}
fwrite($f,$update);
fclose($f);
$this->setup_version($app,$version);
return True;
}
function remove_from_array(&$arr,$value)
{
reset($arr);
while (list($key,$val) = each($arr))
{
if ($val == $value)
{
unset($arr[$key]);
}
}
}
function update_schema($app,$current)
{
$this->read($app,$old);
reset($old);
while (list($name,$table_def) = each($old))
{
if (!isset($current[$name])) // table $name droped
{
$update .= "\t\t\$GLOBALS['phpgw_setup']->oProc->DropTable('$name');\n";
}
else
{
reset($table_def['fd']);
while(list($col,$col_def) = each($table_def['fd']))
{
if (!isset($current[$name]['fd'][$col])) // column $col droped
{
if (!isset($this->changes[$name][$col]) || $this->changes[$name][$col] == '**deleted**')
{
$new_table_def = $table_def;
unset($new_table_def['fd'][$col]);
$this->remove_from_array($new_table_def['pk'],$col);
$this->remove_from_array($new_table_def['fk'],$col);
$this->remove_from_array($new_table_def['ix'],$col);
$this->remove_from_array($new_table_def['uc'],$col);
$update .= "\t\t\$GLOBALS['phpgw_setup']->oProc->DropColumn('$name',";
$update .= $this->write_array($new_table_def,2).",'$col');\n";
}
else // column $col renamed
{
$new_col = $this->changes[$name][$col];
$update .= "\t\t\$GLOBALS['phpgw_setup']->oProc->RenameColumn('$name','$col','$new_col');\n";
}
}
}
@reset($this->changes[$name]);
while (list($col,$new_col) = @each($this->changes[$name]))
{
if ($new_col != '**deleted**')
{
$old[$name]['fd'][$new_col] = $old[$name]['fd'][$col]; // to be able to detect further changes of the definition
unset($old[$name]['fd'][$col]);
}
}
}
}
reset($current);
while(list($name,$table_def) = each($current))
{
if (!isset($old[$name])) // table $name added
{
$update .= "\t\t\$GLOBALS['phpgw_setup']->oProc->CreateTable('$name',";
$update .= $this->write_array($table_def,2).");\n";
}
else
{
$old_norm = $this->normalize($old[$name]);
$new_norm = $this->normalize($table_def);
reset($table_def['fd']);
while (list($col,$col_def) = each($table_def['fd']))
{
if (($add = !isset($old[$name]['fd'][$col])) || // column $col added
serialize($old_norm['fd'][$col]) != serialize($new_norm['fd'][$col])) // column definition altered
{
$update .= "\t\t$"."GLOBALS['phpgw_setup']->oProc->".($add ? 'Add' : 'Alter')."Column('$name','$col',";
$update .= $this->write_array($col_def,2) . ");\n";
}
}
}
}
if ($this->debug)
{
echo "<p>update_schema($app, ...) =<br><pre>$update</pre>)</p>\n";
}
return $update;
}
/*!
@function normalize($table)
@abstract sets all nullable properties to True or False

View File

@ -1,5 +1,5 @@
<?php
// eTemplates for Application 'etemplate', generated by etemplate.dump() 2002-02-19 00:10
// eTemplates for Application 'etemplate', generated by etemplate.dump() 2002-05-11 22:56
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.13.004','data' => 'a:8:{i:0;a:1:{s:1:\"A\";s:2:\"5%\";}i:1;a:1:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:27:\"Editable Templates - Editor\";s:4:\"name\";s:3:\"msg\";}}i:2;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}}i:3;a:1:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}}i:4;a:1:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}}i:5;a:1:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.edit\";}}i:6;a:1:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:10:\"CSS-styles\";}}i:7;a:1:{s:1:\"A\";a:5:{s:4:\"type\";s:8:\"textarea\";s:4:\"size\";s:5:\"10,80\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:5:\"style\";s:4:\"help\";s:155:\"embeded CSS styles, eg. \'.red { background: red; }\' (note the \'.\' before the class-name) or \'@import url(...)\' (class names are global for the whole page!)\";}}}','size' => '100%','style' => '',);
@ -7,18 +7,22 @@ $templ_data[] = array('name' => 'etemplate.editor.show','template' => '','lang'
$templ_data[] = array('name' => 'etemplate.editor.delete','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:7:{i:0;a:4:{s:1:\"A\";s:3:\"25%\";s:1:\"B\";s:3:\"30%\";s:1:\"E\";s:3:\"10%\";s:1:\"F\";s:3:\"35%\";}i:1;a:6:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:36:\"Editable Templates - Delete Template\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:6:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"30\";s:5:\"label\";s:15:\"Delete Template\";s:4:\"name\";s:4:\"name\";s:8:\"readonly\";s:1:\"1\";}s:1:\"C\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"name\";s:8:\"template\";s:8:\"readonly\";s:1:\"1\";}s:1:\"D\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:4:\"lang\";s:8:\"readonly\";s:1:\"1\";}s:1:\"E\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:5:\"label\";s:7:\"Version\";s:4:\"name\";s:7:\"version\";s:8:\"readonly\";s:1:\"1\";}s:1:\"F\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:1:\"?\";}}i:5;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:6:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:3:\"yes\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:4:{s:4:\"type\";s:6:\"button\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:2:\"No\";s:4:\"name\";s:2:\"no\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.db-tools.cols','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:3:{i:0;a:2:{s:2:\"c1\";s:3:\"nmh\";s:2:\"c2\";s:3:\"nmr\";}i:1;a:12:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:1:\"#\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";}s:1:\"B\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:10:\"ColumnName\";}s:1:\"C\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Type\";}s:1:\"D\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:9:\"Precision\";}s:1:\"E\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Scale\";}s:1:\"F\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:8:\"Nullable\";}s:1:\"G\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Unique\";}s:1:\"H\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Primary Key\";}s:1:\"I\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:7:\"Indexed\";}s:1:\"J\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Foreign Key\";}s:1:\"K\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:7:\"Default\";}s:1:\"L\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:10:\"Add Column\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:10:\"add_column\";}}i:2;a:12:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"label\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:12:\"Row${row}[n]\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:15:\"Row${row}[name]\";s:4:\"help\";s:127:\"need to be unique in the table and no reseved word from SQL, best prefix all with a common 2-digit short for the app, eg. \'et_\'\";}s:1:\"C\";a:4:{s:4:\"type\";s:6:\"select\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:15:\"Row${row}[type]\";s:4:\"help\";s:18:\"type of the column\";}s:1:\"D\";a:4:{s:4:\"type\";s:3:\"int\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:20:\"Row${row}[precision]\";s:4:\"help\";s:64:\"length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8\";}s:1:\"E\";a:3:{s:4:\"type\";s:3:\"int\";s:4:\"name\";s:16:\"Row${row}[scale]\";s:4:\"help\";s:15:\"scale for float\";}s:1:\"F\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:19:\"Row${row}[nullable]\";s:4:\"help\";s:31:\"can have special SQL-value NULL\";}s:1:\"G\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[uc]\";s:4:\"help\";s:59:\"DB ensures that every row has a unique value in that column\";}s:1:\"H\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[pk]\";s:4:\"help\";s:52:\"Primary key for the table, gets automaticaly indexed\";}s:1:\"I\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[ix]\";s:4:\"help\";s:81:\"an indexed column speeds up querys using that column (cost space on the disk !!!)\";}s:1:\"J\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[fk]\";s:4:\"help\";s:46:\"name of other table where column is a key from\";}s:1:\"K\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:4:\"name\";s:18:\"Row${row}[default]\";s:4:\"help\";s:54:\"enter \'\' for an empty default, nothing mean no default\";}s:1:\"L\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:13:\"Delete Column\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:12:\"delete[$row]\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.values','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:3:{i:0;a:2:{s:2:\"c1\";s:3:\"nmh\";s:2:\"c2\";s:3:\"nmr\";}i:1;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:3:\"Key\";}s:1:\"B\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Value\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:8:\"$col$row\";}s:1:\"B\";a:2:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:8:\"$col$row\";}}}','size' => ',,1','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:8:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:27:\"Editable Templates - Editor\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:8:\"DB-Tools\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:8:\"db_tools\";s:4:\"help\";s:21:\"to start the DB-Tools\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:5;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.edit\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:10:\"CSS-styles\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:7;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:8:\"textarea\";s:4:\"size\";s:5:\"10,80\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:5:\"style\";s:4:\"help\";s:155:\"embeded CSS styles, eg. \'.red { background: red; }\' (note the \'.\' before the class-name) or \'@import url(...)\' (class names are global for the whole page!)\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.row_header.top','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:2:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:13:\"insert_row[0]\";s:4:\"help\";s:37:\"insert new row in front of first Line\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"X\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:19:\"exchange_row[$row_]\";s:4:\"help\";s:22:\"exchange this two rows\";}}}','size' => '100%,100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.row_header','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:5:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:31:\"etemplate.editor.row_header.top\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Height\";s:5:\"align\";s:6:\"center\";}}i:2;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:4:\".row\";}s:1:\"B\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:14:\"height[h$row_]\";s:4:\"help\";s:35:\"height of row (in percent or pixel)\";}}i:3;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"-\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:17:\"delete_row[$row_]\";s:4:\"help\";s:33:\"remove Row (can NOT be undone!!!)\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"class\";s:5:\"align\";s:6:\"center\";}}i:4;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:17:\"insert_row[$row_]\";s:4:\"help\";s:29:\"insert new row after this one\";}s:1:\"B\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:13:\"class[c$row_]\";s:4:\"help\";s:112:\"CSS-class name for this row, preset: \'nmh\' = NextMatch header, \'nmr\' = alternating NM row, \'nmr0\'+\'nmr1\' NM rows\";}}}','size' => ',100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.cell','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:5:{i:0;a:4:{s:2:\"c1\";s:3:\"nmr\";s:2:\"c2\";s:3:\"nmr\";s:2:\"c3\";s:3:\"nmr\";s:2:\"c4\";s:3:\"nmr\";}i:1;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Type\";}s:1:\"B\";a:3:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:4:\"type\";s:4:\"help\";s:57:\"type of the field (select Label if field should be empty)\";}s:1:\"C\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Size\";s:5:\"align\";s:6:\"center\";}s:1:\"D\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"name\";s:4:\"size\";s:4:\"help\";s:187:\"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']\";}s:1:\"E\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Span, Class\";s:5:\"align\";s:6:\"center\";}s:1:\"F\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"name\";s:4:\"span\";s:4:\"help\";s:111:\"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)\";}}i:2;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Label\";}s:1:\"B\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:5:\"label\";s:4:\"help\";s:118:\"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)\";}s:1:\"C\";a:6:{s:4:\"type\";s:8:\"checkbox\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:16:\"%s NoTranslation\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:7:\"no_lang\";s:4:\"help\";s:82:\"select if content of field should not be translated (label gets always translated)\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Align\";s:5:\"align\";s:6:\"center\";}s:1:\"F\";a:3:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:5:\"align\";s:4:\"help\";s:48:\"alignment of label and input-field in table-cell\";}}i:3;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Name\";}s:1:\"B\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:4:\"name\";s:4:\"help\";s:78:\"index/name of returned content (name of the Template, Link / Method for Image)\";}s:1:\"C\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:1:\"4\";s:4:\"name\";s:26:\"etemplate.editor.cell_opts\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Help\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"50\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:4:\"help\";s:4:\"help\";s:60:\"displayed in statusline of browser if input-field gets focus\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => ',100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.keys','template' => '','lang' => '','group' => '0','version' => '0.9.13.003','data' => 'a:2:{i:0;a:0:{}i:1;a:4:{s:1:\"A\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"30\";s:5:\"label\";s:4:\"Name\";s:4:\"name\";s:4:\"name\";s:4:\"help\";s:75:\"name of the eTemplate, should be in form application.function[.subTemplate]\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"12\";s:5:\"label\";s:8:\"Template\";s:4:\"name\";s:8:\"template\";s:4:\"help\";s:125:\"name of phpgw-template set (e.g. verdilak): \'\' = default (will read pref. template, us \'default\' to read default template \'\')\";}s:1:\"C\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:3:\"7,5\";s:5:\"label\";s:4:\"Lang\";s:4:\"name\";s:4:\"lang\";s:4:\"help\";s:162:\"language-short (eg. \'en\' for english) for language-dependent template (\'\' reads your pref. languages or the default, us \'default\' to read the default template \'\')\";}s:1:\"D\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:5:\"12,10\";s:5:\"label\";s:7:\"Version\";s:4:\"name\";s:7:\"version\";s:4:\"help\";s:116:\"version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.show','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:7:{i:0;a:0:{}i:1;a:1:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:34:\"Editable Templates - Show Template\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}}i:2;a:1:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"hrule\";}}i:3;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}}i:4;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}}i:5;a:1:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"hrule\";}}i:6;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:4:\"cont\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.controls','template' => '','lang' => '','group' => '0','version' => '0.9.13.004','data' => 'a:3:{i:0;a:0:{}i:1;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}}i:2;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.delete','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:7:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:36:\"Editable Templates - Delete Template\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Delete\";s:5:\"align\";s:5:\"right\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:21:\"etemplate.editor.keys\";s:8:\"readonly\";s:1:\"1\";}}i:5;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:3:\"yes\";s:4:\"help\";s:70:\"deletes the above spez. eTemplate from the database, can NOT be undone\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:2:\"No\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:2:\"no\";s:4:\"help\";s:32:\"returns savely, WITHOUT deleting\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.row_header','template' => '','lang' => '','group' => '0','version' => '0.9.13.004','data' => 'a:5:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:13:\"insert_row[0]\";s:4:\"help\";s:37:\"insert new row in front of first Line\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Height\";s:5:\"align\";s:6:\"center\";}}i:2;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:4:\".row\";}s:1:\"B\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:14:\"height[h$row_]\";s:4:\"help\";s:35:\"height of row (in percent or pixel)\";}}i:3;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"-\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:17:\"delete_row[$row_]\";s:4:\"help\";s:33:\"remove Row (can NOT be undone!!!)\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"class\";s:5:\"align\";s:6:\"center\";}}i:4;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:17:\"insert_row[$row_]\";s:4:\"help\";s:29:\"insert new row after this one\";}s:1:\"B\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:13:\"class[c$row_]\";s:4:\"help\";s:112:\"CSS-class name for this row, preset: \'nmh\' = NextMatch header, \'nmr\' = alternating NM row, \'nmr0\'+\'nmr1\' NM rows\";}}}','size' => ',100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.buttons','template' => '','lang' => '','group' => '0','version' => '0.9.13.003','data' => 'a:2:{i:0;a:0:{}i:1;a:10:{s:1:\"A\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Read\";s:4:\"name\";s:4:\"read\";s:4:\"help\";s:49:\"read eTemplate from database (for the keys above)\";}s:1:\"B\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:14:\"Show (no save)\";s:4:\"name\";s:4:\"show\";s:4:\"help\";s:61:\"shows/displays eTemplate for testing, does NOT save it before\";}s:1:\"C\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:11:\"Show Values\";s:4:\"name\";s:6:\"values\";s:4:\"help\";s:65:\"shows / allows you to enter values into the eTemplate for testing\";}s:1:\"D\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Save\";s:4:\"name\";s:4:\"save\";s:4:\"help\";s:77:\"save the eTemplate under the above keys (name, ...), change them for a SaveAs\";}s:1:\"E\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Edit\";s:4:\"name\";s:4:\"edit\";s:4:\"help\";s:30:\"edit the eTemplate spez. above\";}s:1:\"F\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:6:\"Delete\";s:4:\"name\";s:6:\"delete\";s:4:\"help\";s:33:\"deletes the eTemplate spez. above\";}s:1:\"G\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:10:\"Dump4Setup\";s:4:\"name\";s:4:\"dump\";s:4:\"help\";s:88:\"writes a \'etemplates.inc.php\' file (for application in Name) in the setup-dir of the app\";}s:1:\"H\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:14:\"Write Langfile\";s:4:\"name\";s:8:\"langfile\";s:4:\"help\";s:85:\"creates an english (\'en\') langfile from label and helptexts (for application in Name)\";}s:1:\"I\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"J\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:5:\"label\";s:28:\"Width, Height, Border, class\";s:4:\"name\";s:4:\"size\";s:4:\"help\";s:95:\"width, height, border-line-thickness of the table / template and CSS-class name (for TABLE tag)\";}}}','size' => '','style' => '',);
@ -39,8 +43,6 @@ $templ_data[] = array('name' => 'etemplate.editor.edit','template' => '','lang'
$templ_data[] = array('name' => 'etemplate.editor.edit_cell','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:3:{i:1;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Type\";}s:1:\"B\";a:2:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:4:\"type\";}s:1:\"C\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Size\";}s:1:\"D\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"6\";s:4:\"name\";s:4:\"size\";}s:1:\"E\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Span\";}s:1:\"F\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:4:\"name\";s:4:\"span\";}}i:2;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Label\";}s:1:\"B\";a:2:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:5:\"label\";}s:1:\"C\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:8:\"L. after\";s:7:\"l_after\";s:1:\"1\";s:4:\"name\";s:7:\"l_after\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Align\";}s:1:\"F\";a:2:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:5:\"align\";}}i:3;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Name\";}s:1:\"B\";a:2:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:4:\"name\";}s:1:\"C\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:8:\"Readonly\";s:7:\"l_after\";s:1:\"1\";s:4:\"name\";s:8:\"readonly\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:8:\"Disabled\";s:7:\"l_after\";s:1:\"1\";s:4:\"name\";s:8:\"disabled\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.edit','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:3:{i:0;a:1:{s:2:\"c1\";s:3:\"nmh\";}i:1;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"image\";s:5:\"label\";s:10:\"navbar.gif\";s:5:\"align\";s:6:\"center\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"Col$col,\";s:4:\"name\";s:27:\"etemplate.editor.col_header\";}}i:2;a:2:{s:1:\"A\";a:4:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"Row$row,\";s:4:\"span\";s:4:\",nmh\";s:4:\"name\";s:27:\"etemplate.editor.row_header\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"$col$row\";s:4:\"name\";s:21:\"etemplate.editor.cell\";}}}','size' => ',,1,editorEdit','style' => '.editorEdit { border-color: black }',);
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:6:{i:0;a:2:{s:1:\"F\";s:2:\"5%\";s:1:\"G\";s:3:\"85%\";}i:1;a:7:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:27:\"Editable Templates - Editor\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:7:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:7:{s:1:\"A\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"30\";s:4:\"span\";s:1:\"3\";s:5:\"label\";s:4:\"Name\";s:4:\"name\";s:4:\"name\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:8:\"Template\";s:4:\"name\";s:8:\"template\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:5:\"label\";s:4:\"Lang\";s:4:\"name\";s:4:\"lang\";}s:1:\"G\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:5:\"label\";s:7:\"Version\";s:4:\"name\";s:7:\"version\";}}i:4;a:7:{s:1:\"A\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Read\";s:4:\"name\";s:4:\"read\";}s:1:\"B\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:14:\"Show (no save)\";s:4:\"name\";s:4:\"show\";}s:1:\"C\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Save\";s:4:\"name\";s:4:\"save\";}s:1:\"D\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:6:\"Delete\";s:4:\"name\";s:6:\"delete\";}s:1:\"E\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:10:\"Dump4Setup\";s:4:\"name\";s:4:\"dump\";}s:1:\"F\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:21:\"Width, Height, Border\";s:4:\"name\";s:4:\"size\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}i:5;a:7:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.edit\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.col_header','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:2:{i:0;a:0:{}i:1;a:5:{s:1:\"A\";a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:4:\"name\";s:13:\"insert_col[0]\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"name\";s:4:\".col\";}s:1:\"C\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:1:\"5\";s:5:\"label\";s:5:\"Width\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:12:\"width[$col_]\";}s:1:\"D\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"-\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:15:\"delete_col[$c_]\";}s:1:\"E\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:1:\"+\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:15:\"insert_col[$c_]\";}}}','size' => '100%','style' => '',);
@ -61,15 +63,15 @@ $templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => ''
$templ_data[] = array('name' => 'etemplate.db-tools.edit','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:6:{i:0;a:1:{s:1:\"D\";s:2:\"1%\";}i:1;a:7:{s:1:\"A\";a:6:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:4:\"span\";s:1:\"6\";s:5:\"label\";s:29:\"Editable Templates - DB-Tools\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:16:\"eTemplate Editor\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:6:\"editor\";s:4:\"help\";s:29:\"to start the eTemplate editor\";}}i:2;a:7:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:7:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:7:{s:1:\"A\";a:6:{s:4:\"type\";s:6:\"select\";s:5:\"label\";s:11:\"Application\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"app\";s:8:\"onchange\";s:1:\"1\";s:4:\"help\";s:21:\"Select an application\";}s:1:\"B\";a:6:{s:4:\"type\";s:6:\"select\";s:5:\"label\";s:9:\"TableName\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:10:\"table_name\";s:8:\"onchange\";s:1:\"1\";s:4:\"help\";s:34:\"Select an table of the application\";}s:1:\"C\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:14:\"new_table_name\";s:4:\"help\";s:20:\"Name of table to add\";}s:1:\"D\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:9:\"Add Table\";s:4:\"name\";s:9:\"add_table\";s:4:\"help\";s:38:\"Create a new table for the application\";}s:1:\"E\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:6:\"Import\";s:4:\"name\";s:6:\"import\";s:4:\"help\";s:47:\"Import table-definitions from existing db-table\";}s:1:\"F\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:10:\"Drop Table\";s:4:\"name\";s:10:\"drop_table\";s:8:\"disabled\";s:1:\"1\";s:4:\"help\";s:37:\"Drop a table - this can NOT be undone\";}s:1:\"G\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:12:\"Write Tables\";s:4:\"name\";s:12:\"write_tables\";s:4:\"help\";s:40:\"Write <app>/setup/tables_current.inc.php\";}}i:5;a:7:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:23:\"etemplate.db-tools.cols\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"G\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.delete','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:7:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:36:\"Editable Templates - Delete Template\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Delete\";s:5:\"align\";s:5:\"right\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:21:\"etemplate.editor.keys\";s:8:\"readonly\";s:1:\"1\";}}i:5;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:3:\"yes\";s:4:\"help\";s:70:\"deletes the above spez. eTemplate from the database, can NOT be undone\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:2:\"No\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:2:\"no\";s:4:\"help\";s:32:\"returns savely, WITHOUT deleting\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:8:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:27:\"Editable Templates - Editor\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:8:\"DB-Tools\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:8:\"db_tools\";s:4:\"help\";s:21:\"to start the DB-Tools\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:5;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:21:\"etemplate.editor.edit\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:10:\"CSS-styles\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:7;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:8:\"textarea\";s:4:\"size\";s:5:\"10,80\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:5:\"style\";s:4:\"help\";s:155:\"embeded CSS styles, eg. \'.red { background: red; }\' (note the \'.\' before the class-name) or \'@import url(...)\' (class names are global for the whole page!)\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.show','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:7:{i:0;a:0:{}i:1;a:1:{s:1:\"A\";a:5:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:34:\"Editable Templates - Show Template\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}}i:2;a:1:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"hrule\";}}i:3;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:21:\"etemplate.editor.keys\";}}i:4;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:24:\"etemplate.editor.buttons\";}}i:5;a:1:{s:1:\"A\";a:1:{s:4:\"type\";s:5:\"hrule\";}}i:6;a:1:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:4:\"cont\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.db-tools.ask_save','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:7:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:29:\"Editable Templates - DB-Tools\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:7:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:53:\"Do you want to save the changes you made in table %s?\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:5:\"table\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:5;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:3:\"yes\";s:4:\"help\";s:39:\"saves changes to tables_current.inc.php\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:2:\"No\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:2:\"no\";s:4:\"help\";s:15:\"discard changes\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.cell_opts','template' => '','lang' => '','group' => '0','version' => '0.9.13.004','data' => 'a:2:{i:0;a:0:{}i:1;a:4:{s:1:\"A\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:5:\"label\";s:9:\"%s needed\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:6:\"needed\";s:4:\"help\";s:39:\"check if field has to be filled by user\";}s:1:\"B\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:5:\"label\";s:11:\"%s readonly\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:8:\"readonly\";s:4:\"help\";s:94:\"check if content should only be displayed but not altered (the content is not send back then!)\";}s:1:\"C\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:5:\"label\";s:11:\"%s disabled\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:8:\"disabled\";s:4:\"help\";s:96:\"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell\";}s:1:\"D\";a:5:{s:4:\"type\";s:8:\"checkbox\";s:5:\"label\";s:11:\"%s onChange\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:8:\"onchange\";s:4:\"help\";s:33:\"enable JavaScript onChange submit\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.db-tools.cols','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:3:{i:0;a:2:{s:2:\"c1\";s:3:\"nmh\";s:2:\"c2\";s:3:\"nmr\";}i:1;a:12:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:1:\"#\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";}s:1:\"B\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:10:\"ColumnName\";}s:1:\"C\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Type\";}s:1:\"D\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:9:\"Precision\";}s:1:\"E\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Scale\";}s:1:\"F\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:8:\"Nullable\";}s:1:\"G\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:6:\"Unique\";}s:1:\"H\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Primary Key\";}s:1:\"I\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:7:\"Indexed\";}s:1:\"J\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Foreign Key\";}s:1:\"K\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:7:\"Default\";}s:1:\"L\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:10:\"Add Column\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:10:\"add_column\";}}i:2;a:12:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"label\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:12:\"Row${row}[n]\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:15:\"Row${row}[name]\";s:4:\"help\";s:127:\"need to be unique in the table and no reseved word from SQL, best prefix all with a common 2-digit short for the app, eg. \'et_\'\";}s:1:\"C\";a:4:{s:4:\"type\";s:6:\"select\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:15:\"Row${row}[type]\";s:4:\"help\";s:18:\"type of the column\";}s:1:\"D\";a:4:{s:4:\"type\";s:3:\"int\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:20:\"Row${row}[precision]\";s:4:\"help\";s:64:\"length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8\";}s:1:\"E\";a:3:{s:4:\"type\";s:3:\"int\";s:4:\"name\";s:16:\"Row${row}[scale]\";s:4:\"help\";s:15:\"scale for float\";}s:1:\"F\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:19:\"Row${row}[nullable]\";s:4:\"help\";s:31:\"can have special SQL-value NULL\";}s:1:\"G\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[uc]\";s:4:\"help\";s:59:\"DB ensures that every row has a unique value in that column\";}s:1:\"H\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[pk]\";s:4:\"help\";s:52:\"Primary key for the table, gets automaticaly indexed\";}s:1:\"I\";a:4:{s:4:\"type\";s:8:\"checkbox\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[ix]\";s:4:\"help\";s:81:\"an indexed column speeds up querys using that column (cost space on the disk !!!)\";}s:1:\"J\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:13:\"Row${row}[fk]\";s:4:\"help\";s:46:\"name of other table where column is a key from\";}s:1:\"K\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"20\";s:4:\"name\";s:18:\"Row${row}[default]\";s:4:\"help\";s:54:\"enter \'\' for an empty default, nothing mean no default\";}s:1:\"L\";a:4:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:13:\"Delete Column\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:12:\"delete[$row]\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.cell','template' => '','lang' => '','group' => '0','version' => '0.9.13.005','data' => 'a:5:{i:0;a:4:{s:2:\"c1\";s:3:\"nmr\";s:2:\"c2\";s:3:\"nmr\";s:2:\"c3\";s:3:\"nmr\";s:2:\"c4\";s:3:\"nmr\";}i:1;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Type\";}s:1:\"B\";a:3:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:4:\"type\";s:4:\"help\";s:57:\"type of the field (select Label if field should be empty)\";}s:1:\"C\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Size\";s:5:\"align\";s:6:\"center\";}s:1:\"D\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"name\";s:4:\"size\";s:4:\"help\";s:187:\"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']\";}s:1:\"E\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:11:\"Span, Class\";s:5:\"align\";s:6:\"center\";}s:1:\"F\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"10\";s:4:\"name\";s:4:\"span\";s:4:\"help\";s:111:\"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)\";}}i:2;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Label\";}s:1:\"B\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:5:\"label\";s:4:\"help\";s:118:\"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)\";}s:1:\"C\";a:6:{s:4:\"type\";s:8:\"checkbox\";s:4:\"span\";s:1:\"2\";s:5:\"label\";s:16:\"%s NoTranslation\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:7:\"no_lang\";s:4:\"help\";s:82:\"select if content of field should not be translated (label gets always translated)\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:3:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Align\";s:5:\"align\";s:6:\"center\";}s:1:\"F\";a:3:{s:4:\"type\";s:6:\"select\";s:4:\"name\";s:5:\"align\";s:4:\"help\";s:48:\"alignment of label and input-field in table-cell\";}}i:3;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Name\";}s:1:\"B\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:4:\"name\";s:4:\"help\";s:78:\"index/name of returned content (name of the Template, Link / Method for Image)\";}s:1:\"C\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"span\";s:1:\"4\";s:4:\"name\";s:26:\"etemplate.editor.cell_opts\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:6:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:4:\"Help\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"50\";s:4:\"span\";s:3:\"all\";s:4:\"name\";s:4:\"help\";s:4:\"help\";s:60:\"displayed in statusline of browser if input-field gets focus\";}s:1:\"C\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"D\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"E\";a:1:{s:4:\"type\";s:5:\"label\";}s:1:\"F\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => ',100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.db-tools.ask_save','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','data' => 'a:7:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:29:\"Editable Templates - DB-Tools\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:7:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:53:\"Do you want to save the changes you made in table %s?\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:5:\"table\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:5;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:3:\"yes\";s:4:\"help\";s:39:\"saves changes to tables_current.inc.php\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:2:\"No\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:2:\"no\";s:4:\"help\";s:15:\"discard changes\";}}}','size' => '100%','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.keys','template' => '','lang' => '','group' => '0','version' => '0.9.13.003','data' => 'a:2:{i:0;a:0:{}i:1;a:4:{s:1:\"A\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"30\";s:5:\"label\";s:4:\"Name\";s:4:\"name\";s:4:\"name\";s:4:\"help\";s:75:\"name of the eTemplate, should be in form application.function[.subTemplate]\";}s:1:\"B\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:2:\"12\";s:5:\"label\";s:8:\"Template\";s:4:\"name\";s:8:\"template\";s:4:\"help\";s:125:\"name of phpgw-template set (e.g. verdilak): \'\' = default (will read pref. template, us \'default\' to read default template \'\')\";}s:1:\"C\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:3:\"7,5\";s:5:\"label\";s:4:\"Lang\";s:4:\"name\";s:4:\"lang\";s:4:\"help\";s:162:\"language-short (eg. \'en\' for english) for language-dependent template (\'\' reads your pref. languages or the default, us \'default\' to read the default template \'\')\";}s:1:\"D\";a:5:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:5:\"12,10\";s:5:\"label\";s:7:\"Version\";s:4:\"name\";s:7:\"version\";s:4:\"help\";s:116:\"version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)\";}}}','size' => '','style' => '',);
$templ_data[] = array('name' => 'etemplate.editor.edit','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:3:{i:0;a:1:{s:2:\"c1\";s:3:\"nmh\";}i:1;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:5:\"image\";s:5:\"label\";s:10:\"navbar.gif\";s:5:\"align\";s:6:\"center\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"Col$col,\";s:4:\"name\";s:27:\"etemplate.editor.col_header\";}}i:2;a:2:{s:1:\"A\";a:4:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"Row$row,\";s:4:\"span\";s:4:\",nmh\";s:4:\"name\";s:27:\"etemplate.editor.row_header\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:8:\"$col$row\";s:4:\"name\";s:21:\"etemplate.editor.cell\";}}}','size' => ',,1,editorEdit','style' => '.editorEdit { border-color: black }',);
$templ_data[] = array('name' => 'etemplate.db-tools.ask_save','template' => '','lang' => '','group' => '0','version' => '0.9.14.001','data' => 'a:9:{i:0;a:0:{}i:1;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:29:\"Editable Templates - DB-Tools\";s:7:\"no_lang\";s:1:\"1\";s:4:\"name\";s:3:\"msg\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:2;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"hrule\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:3;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:4;a:2:{s:1:\"A\";a:6:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:2:\"bi\";s:5:\"label\";s:27:\"Update from Version \'%s\' to\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:7:\"version\";}s:1:\"B\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:11:\"new_version\";s:4:\"help\";s:59:\"enter the new version number here (has to be > old_version)\";}}i:5;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:6;a:2:{s:1:\"A\";a:7:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"span\";s:3:\"all\";s:5:\"label\";s:53:\"Do you want to save the changes you made in table %s?\";s:7:\"no_lang\";s:1:\"1\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:5:\"table\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:7;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:4:\"span\";s:3:\"all\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}i:8;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:3:\"Yes\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:3:\"yes\";s:4:\"help\";s:39:\"saves changes to tables_current.inc.php\";}s:1:\"B\";a:5:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:2:\"No\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:2:\"no\";s:4:\"help\";s:15:\"discard changes\";}}}','size' => '100%','style' => '',);

View File

@ -51,6 +51,7 @@ editable templates - show template etemplate en Editable Templates - Show Templa
embeded css styles, eg. '.red { background: red; }' (note the '.' before the class-name) or '@import url(...)' (class names are global for the whole page!) etemplate en embeded CSS styles, eg. '.red { background: red; }' (note the '.' before the class-name) or '@import url(...)' (class names are global for the whole page!)
enable javascript onchange submit etemplate en enable JavaScript onChange submit
enter '' for an empty default, nothing mean no default etemplate en enter '' for an empty default, nothing mean no default
enter the new version number here (has to be > old_version) etemplate en enter the new version number here (has to be > old_version)
error: template not found !!! etemplate en Error: Template not found !!!
error: while saveing !!! etemplate en Error: while saveing !!!
error: writing file (no write-permission for the webserver) !!! etemplate en Error: writing file (no write-permission for the webserver) !!!
@ -93,6 +94,7 @@ name of other table where column is a key from etemplate en name of other table
name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '') etemplate en name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '')
name of table to add etemplate en Name of table to add
name of the etemplate, should be in form application.function[.subtemplate] etemplate en name of the eTemplate, should be in form application.function[.subTemplate]
navbar.gif etemplate en navbar.gif
need to be unique in the table and no reseved word from sql, best prefix all with a common 2-digit short for the app, eg. 'et_' etemplate en need to be unique in the table and no reseved word from SQL, best prefix all with a common 2-digit short for the app, eg. 'et_'
new table created etemplate en New table created
no etemplate en No
@ -157,6 +159,7 @@ type etemplate en Type
type of the column etemplate en type of the column
type of the field (select label if field should be empty) etemplate en type of the field (select Label if field should be empty)
unique etemplate en Unique
update from version '%s' to etemplate en Update from Version '%s' to
value etemplate en Value
version etemplate en Version
version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros) etemplate en version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)