Restore all eTemplates from distirbution file via eTemplate editor (no need to touch distribution file or fiddle with the database)

This commit is contained in:
Ralf Becker 2012-02-15 14:51:58 +00:00
parent d33929a332
commit 253f98d315
5 changed files with 61 additions and 35 deletions

View File

@ -1,10 +1,10 @@
<?php
/**
* eGroupWare eTemplates - Editor
* EGroupware eTemplates - Editor
*
* @link http://www.egroupware.org
* @author Ralf Becker <RalfBecker@outdoor-training.de>
* @copyright 2002-8 by RalfBecker@outdoor-training.de
* @copyright 2002-12 by RalfBecker@outdoor-training.de
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package etemplate
* @subpackage tools
@ -120,7 +120,7 @@ class editor
if (!is_object($this->etemplate->xul_io))
{
$this->etemplate->xul_io =& CreateObject('etemplate.xul_io');
$this->etemplate->xul_io = new xul_io();
}
$xml = $this->etemplate->xul_io->export($this->etemplate);
@ -159,7 +159,7 @@ class editor
}
if (!is_object($this->etemplate->xul_io))
{
$this->etemplate->xul_io =& CreateObject('etemplate.xul_io');
$this->etemplate->xul_io = new xul_io();
}
$xml = $this->etemplate->xul_io->export($this->etemplate);
@ -180,7 +180,7 @@ class editor
if (!is_object($this->etemplate->xul_io))
{
$this->etemplate->xul_io =& CreateObject('etemplate.xul_io');
$this->etemplate->xul_io = new xul_io();
}
$imported = $this->etemplate->xul_io->import($this->etemplate,$xml);
$this->etemplate->modified = @filemtime($f);
@ -322,7 +322,7 @@ class editor
$msg = $ok ? lang('Template saved') : lang('Error: while saving !!!');
if ($ok) unset($preserv['import']);
}
elseif (!$content['import_xml'] && (isset($_GET['name']) || isset($content['name'])))
elseif (!$content['import_xml'] && (isset($_GET['name']) || isset($content['name'])) && !$content['restore'])
{
if ($_GET['name'])
{
@ -384,18 +384,18 @@ class editor
{
if (($extensions = $this->scan_for_extensions()))
{
$msg .= lang('Extensions loaded:') . ' ' . $extensions;
$msg .= lang('Extensions loaded:') . ' ' . $extensions."\n";
$msg_ext_loaded = True;
}
}
list($app) = explode('.',$this->etemplate->name);
list($app) = explode('.',$this->etemplate->name?$this->etemplate->name:$content['name']);
if ($app && $app != 'etemplate')
{
$GLOBALS['egw']->translation->add_app($app); // load translations for app
translation::add_app($app); // load translations for app
if (($extensions = $this->scan_for_extensions($app)))
{
$msg .= (!$msg_ext_loaded?lang('Extensions loaded:').' ':', ') . $extensions;
$msg .= (!$msg_ext_loaded?lang('Extensions loaded:').' ':', ') . $extensions."\n";
}
}
if (!$msg && $content['delete'])
@ -408,6 +408,21 @@ class editor
$msg = $ok ? lang('Template deleted') : lang('Error: Template not found !!!');
$preserv['import'] = $this->etemplate->as_array(1); // that way the content can be saved again
}
elseif ($content['restore'])
{
if (empty($app) || !@is_dir(EGW_SERVER_ROOT.'/'.$app))
{
$msg .= lang('Application name needed to restore eTemplates!');
}
elseif (!@file_exists(EGW_SERVER_ROOT.'/'.($file=$app.'/setup/etemplates.inc.php')))
{
$msg .= lang('Application has no eTemplates (no file %1) to restore!',$file);
}
else
{
$msg .= $this->etemplate->import_dump($app);
}
}
elseif ($content['dump'])
{
if (empty($app) || !@is_dir(EGW_SERVER_ROOT.'/'.$app))
@ -1286,7 +1301,7 @@ class editor
case 'cancel':
$js .= 'window.close();';
echo "<html><body><script>$js</script></body></html>\n";
$GLOBALS['egw']->common->egw_exit();
common::egw_exit();
break;
}
if ($js)
@ -1486,7 +1501,7 @@ class editor
{
$js .= 'window.close();';
echo "<html><body><script>$js</script></body></html>\n";
$GLOBALS['egw']->common->egw_exit();
common::egw_exit();
}
$content = array(
'from' => $content['from'],

View File

@ -40,6 +40,8 @@ am etemplate de Vormittag
an indexed column speeds up querys using that column (cost space on the disk !!!) etemplate de eine indizierte Spalte beschleunigt Anfragen die diese benutzen (kostet Plattenplatz !!!)
and etemplate de UND
application etemplate de Anwendung
application has no etemplates (no file %1) to restore! etemplate de Anwendung hat keine eTemplates (keine Datei %1) zum Wiederherestellen!
application name needed to restore etemplates! etemplate de Anwendungsname wir benötigt zum wiederherstellen der eTemplates!
application name needed to write a langfile or dump the etemplates !!! etemplate de Name der Anwendung benötigt um eine Sprachdatei oder eTemplate-Distibutionsdate zu schreiben !!!
applications etemplate de Anwendungen
applies the changes made etemplate de übernimmt die Änderungen
@ -213,8 +215,6 @@ hours etemplate de Stunden
how many entries should the list show etemplate de Wieviele Einträge soll die Liste anzeigen
html etemplate de HTML
if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell etemplate de wenn das Feld deaktiviert ist, wird eine leere Tabellenzelle angezeigt, zum (zeitweisen) Entfernen eines Feldes
if you specify a directory (full vfs path) here, %1 displays an action for each document. that action allows to download the specified document with the contact data inserted. preferences de Wenn Sie hier ein Verzeichnis (kompletter VFS Pfad) angeben, zeigt das %1 einen Befehl für jedes Dokument darin. Diese Befehle erlauben das angegebene Dokument mit Kontaktdaten eingefügt herunterzuladen.
if you specify a document (full vfs path) here, %1 displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. preferences de Wenn Sie hier ein Dokument (kompletter VFS Pfad) angeben, zeigt das %1 ein zusätzliches Dokumenten Icon. Dieses Icon erlaubt das Dokument mit Kontaktdaten eingefügt herunterzuladen.
image etemplate de Grafik
import etemplate de Import
import an etemplate from a xml-file etemplate de Importiert ein eTemplate aus einer XML Datei
@ -320,6 +320,8 @@ readonly etemplate de nur lesen
remove row (can not be undone!!!) etemplate de löscht eine Zeile (NICHT rückgängig zu machen)
remove this link (not the entry itself) etemplate de entfernt diese Verknüpfung (nicht den Eintrag selbst)
required etemplate de Benötigt
restore all etemplate de Alle wiederherstellen
restore all application templates, overwriting existing ones with identical version number etemplate de Alle eTemplates der Anwendung wiederherstellen, durch Überschreiben der existierenden mit gleicher Versionsnummer
returns savely, without deleting etemplate de Abbruch, OHNE zu löschen
right etemplate de Rechts
row... etemplate de Zeile...

View File

@ -40,6 +40,8 @@ am etemplate en am
an indexed column speeds up querys using that column (cost space on the disk !!!) etemplate en An indexed column speeds up query using that column, cost space on the disk!
and etemplate en AND
application etemplate en Application
application has no etemplates (no file %1) to restore! etemplate en Application has no eTemplates (no file %1) to restore!
application name needed to restore etemplates! etemplate en Application name needed to restore eTemplates!
application name needed to write a langfile or dump the etemplates !!! etemplate en Application name needed to write a langfile or dump the eTemplates!
applications etemplate en Applications
applies the changes made etemplate en Applies the changes
@ -89,9 +91,9 @@ contact etemplate en Contact
contact field to show etemplate en Contact field to show
contact fields etemplate en Contact fields
contains etemplate en Contains
creator preferences en Creator
create a new table for the application etemplate en Create a new table for the application
creates an english ('en') langfile from label and helptexts (for application in name) etemplate en Creates an English ('en') langfile from label and help texts (for application in Name)
creator preferences en Creator
css class for the table-tag etemplate en CSS class for the table tag
css properties etemplate en CSS properties
css-class name for this row, preset: 'nmh' = nextmatch header, 'nmr' = alternating nm row, 'nmr0'+'nmr1' nm rows etemplate en CSS class name for this row, preset: 'nmh' = NextMatch header, 'nmr' = alternating NM row, 'nmr0'+'nmr1' NM rows
@ -101,8 +103,8 @@ custom etemplate en Custom
custom fields etemplate en Custom fields
custom javascript for onchange etemplate en Custom javascript for onChange
cut etemplate en Cut
date+time etemplate en Date+Time
date preferences en Date
date+time etemplate en Date+Time
datum etemplate en Datum
day etemplate en Day
days etemplate en Days
@ -326,6 +328,8 @@ readonly etemplate en Read only
remove row (can not be undone!!!) etemplate en Remove row
remove this link (not the entry itself) etemplate en Remove link
required etemplate en Required
restore all etemplate en Restore all
restore all application templates, overwriting existing ones with identical version number etemplate en Restore all application templates, overwriting existing ones with identical version number
returns savely, without deleting etemplate en Returns WITHOUT deleting
right etemplate en Right
row... etemplate en Row...

View File

@ -2,7 +2,7 @@
/**
* EGroupware - eTemplates for Application etemplate
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2011-08-19 09:30
* generated by soetemplate::dump4setup() 2012-02-15 15:25
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package etemplate
@ -85,7 +85,7 @@ $templ_data[] = array('name' => 'etemplate.editor.list_result','template' => '',
$templ_data[] = array('name' => 'etemplate.editor.list_result.list','template' => '','lang' => '','group' => '0','version' => '0.9.15.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:3:"nmh";s:2:"c2";s:3:"nmr";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:5:"label";s:8:"Template";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:5:"label";s:4:"Lang";}s:1:"D";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:5:"label";s:7:"Version";s:5:"align";s:6:"center";}s:1:"E";a:6:{s:4:"type";s:6:"button";s:4:"span";s:11:",lr_padding";s:5:"label";s:6:"Search";s:5:"align";s:6:"center";s:4:"name";s:6:"search";s:4:"help";s:38:"start new search for the above pattern";}s:1:"F";a:5:{s:4:"type";s:6:"button";s:4:"span";s:11:",lr_padding";s:5:"label";s:6:"Delete";s:4:"name";s:15:"delete_selected";s:4:"help";s:55:"delete ALL selected eTemplates, WITHOUT further inquiry";}}i:2;a:6:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:7:"no_lang";s:1:"1";s:4:"name";s:12:"${row}[name]";}s:1:"B";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[template]";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:7:"no_lang";s:1:"1";s:4:"name";s:12:"${row}[lang]";}s:1:"D";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";s:7:"no_lang";s:1:"1";s:4:"name";s:15:"${row}[version]";}s:1:"E";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:6:"center";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:10:"read[$row]";s:4:"help";s:34:"load this template into the editor";}i:2;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:5:"align";s:6:"center";s:4:"name";s:12:"delete[$row]";s:4:"help";s:21:"delete this eTemplate";}}s:1:"F";a:4:{s:4:"type";s:8:"checkbox";s:5:"align";s:6:"center";s:4:"name";s:14:"selected[$row]";s:4:"help";s:34:"select this eTemplate to delete it";}}}s:4:"rows";i:2;s:4:"cols";i:6;s:4:"size";s:13:",,,lr_padding";}}','size' => ',,,lr_padding','style' => 'td.lr_padding { padding-left: 5px; padding-right: 5px; }','modified' => '1035768728',);
$templ_data[] = array('name' => 'etemplate.editor.new','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:8:{i:0;a:2:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:6:",!@xml";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"html";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:2;a:2:{s:1:"A";a:5:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"1";s:5:"label";s:10:"Export XML";s:4:"span";s:3:"all";i:1;a:2:{s:4:"type";s:4:"html";s:4:"name";s:3:"xml";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:3:"all";i:1;a:2:{s:4:"type";s:8:"template";s:4:"name";s:21:"etemplate.editor.keys";}i:2;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)";}i:3;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";}i:4;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:6:"delete";s:4:"help";s:30:"Delete the spezified eTemplate";s:7:"onclick";s:49:"return confirm(\'Delete the spezified eTemplate\');";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:10:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"7";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:6:"button";s:4:"name";s:6:"styles";s:5:"label";s:10:"CSS-Styles";s:4:"help";s:59:"edit embeded CSS styles or of the applications app.css file";s:7:"onclick";s:259:"window.open(egw::link(\'/index.php\',\'menuaction=etemplate.editor.styles&name=$cont[name]&template=$cont[template]&lang=$cont[lang]&version=$cont[version]\'),\'etemplate_editor_styles\',\'dependent=yes,width=600,height=450,scrollbars=yes,status=yes\'); return false;";}i:2;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";}i:3;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";}i:4;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)";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Export XML";s:4:"name";s:10:"export_xml";s:4:"help";s:43:"export the loaded eTemplate into a xml-file";}i:6;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}i:7;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Import XML";s:4:"name";s:10:"import_xml";s:4:"help";s:35:"import an eTemplate from a xml-file";}}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:"hrule";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:3:{s:4:"type";s:4:"html";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"size";s:4:"cont";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:7;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1108983483',);
$templ_data[] = array('name' => 'etemplate.editor.new','template' => '','lang' => '','group' => '0','version' => '1.9.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:8:{i:0;a:2:{s:2:"h1";s:6:",!@msg";s:2:"h2";s:6:",!@xml";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"html";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:2;a:2:{s:1:"A";a:5:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"1";s:5:"label";s:10:"Export XML";s:4:"span";s:3:"all";i:1;a:2:{s:4:"type";s:4:"html";s:4:"name";s:3:"xml";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:3:"all";i:1;a:2:{s:4:"type";s:8:"template";s:4:"name";s:21:"etemplate.editor.keys";}i:2;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)";}i:3;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";}i:4;a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:6:"delete";s:4:"help";s:30:"Delete the spezified eTemplate";s:7:"onclick";s:49:"return confirm(\'Delete the spezified eTemplate\');";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:11:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"8";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:6:"button";s:4:"name";s:6:"styles";s:5:"label";s:10:"CSS-Styles";s:4:"help";s:59:"edit embeded CSS styles or of the applications app.css file";s:7:"onclick";s:259:"window.open(egw::link(\'/index.php\',\'menuaction=etemplate.editor.styles&name=$cont[name]&template=$cont[template]&lang=$cont[lang]&version=$cont[version]\'),\'etemplate_editor_styles\',\'dependent=yes,width=600,height=450,scrollbars=yes,status=yes\'); return false;";}i:2;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";}i:3;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";}i:4;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)";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Export XML";s:4:"name";s:10:"export_xml";s:4:"help";s:43:"export the loaded eTemplate into a xml-file";}i:6;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}i:7;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Import XML";s:4:"name";s:10:"import_xml";s:4:"help";s:35:"import an eTemplate from a xml-file";}i:8;a:5:{s:4:"type";s:6:"button";s:5:"label";s:11:"Restore all";s:4:"name";s:7:"restore";s:4:"help";s:90:"Restore all application templates, overwriting existing ones with identical version number";s:7:"onclick";s:109:"return confirm(\'Restore all application templates, overwriting existing ones with identical version number\');";}}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:"hrule";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:3:{s:4:"type";s:4:"html";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"size";s:4:"cont";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:7;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1108983483',);
$templ_data[] = array('name' => 'etemplate.editor.options','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:7:{s:1:"A";a:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"8";s:5:"label";s:5:"Width";s:4:"name";s:5:"width";s:4:"help";s:70:"Width of the table in % or pixels for the table-tag and (optional) div";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"8";s:5:"label";s:6:"Height";s:4:"name";s:6:"height";s:4:"help";s:71:"Height of the table in % or pixels for the table-tag and (optional) div";}s:1:"C";a:5:{s:4:"type";s:6:"select";s:5:"label";s:8:"Overflow";s:7:"no_lang";s:1:"1";s:4:"name";s:8:"overflow";s:4:"help";s:96:"what happens with overflowing content: visible (default), hidden, scroll, auto (browser decides)";}s:1:"D";a:4:{s:4:"type";s:3:"int";s:5:"label";s:6:"Border";s:4:"name";s:6:"border";s:4:"help";s:39:"Border-line-thickness for the table-tag";}s:1:"E";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"12";s:5:"label";s:5:"Class";s:4:"name";s:5:"class";s:4:"help";s:27:"CSS class for the table-tag";}s:1:"F";a:4:{s:4:"type";s:3:"int";s:5:"label";s:7:"Spacing";s:4:"name";s:7:"spacing";s:4:"help";s:29:"Cellspacing for the table-tag";}s:1:"G";a:4:{s:4:"type";s:3:"int";s:5:"label";s:7:"Padding";s:4:"name";s:7:"padding";s:4:"help";s:29:"Cellpadding for the table-tag";}}}s:4:"rows";i:1;s:4:"cols";i:7;}}','size' => '','style' => '','modified' => '1033317392',);
@ -179,6 +179,8 @@ $templ_data[] = array('name' => 'etemplate.test-select-entry','template' => '','
$templ_data[] = array('name' => 'etemplate.test.ajax_select','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1178626999',);
$templ_data[] = array('name' => 'etemplate.test.contact_widget','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:14:"contact-fields";s:4:"name";s:6:"fields";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:15:"contact-account";s:4:"size";s:4:"n_fn";s:5:"label";s:8:"Benutzer";s:4:"name";s:8:"account:";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:15:"contact-account";s:4:"size";s:8:"tel_work";s:5:"label";s:7:"Telefon";s:4:"name";s:8:"account:";}}}s:4:"rows";i:3;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1314189303',);
$templ_data[] = array('name' => 'etemplate.test.duration','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:13:"date-duration";s:5:"label";s:8:"Duration";s:4:"name";s:8:"duration";s:4:"size";s:5:"h,dh%";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1117706299',);
$templ_data[] = array('name' => 'etemplate.test.grid-export','template' => '','lang' => '','group' => '0','version' => '2','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"some cell";}}i:2;a:1:{s:1:"A";a:6:{s:5:"class";s:9:"hboxClass";s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"size";s:1:"1";s:4:"type";s:5:"label";s:5:"label";s:2:"1.";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"2.";}i:3;a:3:{s:5:"align";s:5:"right";s:4:"type";s:5:"label";s:5:"label";s:10:"last right";}}}}s:4:"cols";i:1;s:4:"rows";i:2;s:4:"size";s:16:"100%,,,gridClass";}}','size' => '100%,,,gridClass','style' => '','modified' => '1179507244',);
@ -187,6 +189,8 @@ $templ_data[] = array('name' => 'etemplate.test.html','template' => '','lang' =>
$templ_data[] = array('name' => 'etemplate.test.infolog','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:13:"infolog-value";s:4:"name";s:4:"test";s:7:"options";a:0:{}}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1242560130',);
$templ_data[] = array('name' => 'etemplate.test.prefs','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:10:"buttononly";s:5:"label";s:27:"Query AB vCard charset pref";s:7:"onclick";s:70:"alert(\'vcard_charset=\'+egw.preference(\'vcard_charset\',\'addressbook\'));";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:8:"onchange";s:70:"window.egw.set_preference(\'addressbook\', \'vcard_charset\', this.value);";s:5:"label";s:13:"vCard charset";s:4:"name";s:13:"vcard_charset";}}}s:4:"rows";i:2;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1314348013',);
$templ_data[] = array('name' => 'etemplate.test.required','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Text";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"text";s:6:"needed";s:1:"1";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"File";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:6:"needed";s:1:"1";}}i:3;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"Checkbox";}s:1:"B";a:4:{s:4:"type";s:8:"checkbox";s:5:"label";s:22:"Gelesen und verstanden";s:4:"name";s:5:"check";s:6:"needed";s:1:"1";}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:6:"Radios";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:5:"radio";s:4:"size";s:3:"one";s:5:"label";s:3:"One";s:4:"name";s:5:"radio";s:6:"needed";s:1:"1";}i:2;a:5:{s:4:"type";s:5:"radio";s:4:"name";s:5:"radio";s:4:"size";s:3:"two";s:5:"label";s:3:"Two";s:6:"needed";s:1:"1";}}}i:5;a:2:{s:1:"A";a:2:{s:4:"type";s:6:"button";s:5:"label";s:6:"Submit";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:5;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1279699676',);
$templ_data[] = array('name' => 'etemplate.test.select','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:6:"select";s:4:"size";s:15:"Addressbook ...";s:4:"name";s:4:"test";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1248421034',);

View File

@ -11,22 +11,22 @@
</columns>
<rows>
<row>
<textbox size="25" maxlength="80" label="Name" id="name" statustext="name of the eTemplate, should be in form application.function[.subTemplate]"/>
<textbox size="8" maxlength="20" label="Template" id="template" statustext="name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '')"/>
<textbox size="5" maxlength="5" label="Lang" id="lang" statustext="language-short (eg. 'en' for english) for language-dependent template ('' reads your pref. languages or the default, us 'default' to read the default template '')"/>
<textbox size="9" maxlength="20" label="Version" id="version" statustext="version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)"/>
<textbox statustext="name of the eTemplate, should be in form application.function[.subTemplate]" label="Name" id="name" size="25" maxlength="80"/>
<textbox statustext="name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '')" label="Template" id="template" size="8" maxlength="20"/>
<textbox statustext="language-short (eg. 'en' for english) for language-dependent template ('' reads your pref. languages or the default, us 'default' to read the default template '')" label="Lang" id="lang" size="5" maxlength="5"/>
<textbox statustext="version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)" label="Version" id="version" size="9" maxlength="20"/>
</row>
</rows>
</grid>
</template>
<template id="etemplate.editor.new" template="" lang="" group="0" version="1.7.001">
<template id="etemplate.editor.new" template="" lang="" group="0" version="1.9.001">
<grid>
<columns>
<column/>
</columns>
<rows>
<row disabled="!@msg">
<html span="all" class="redItalic" no_lang="1" id="msg"/>
<html id="msg" no_lang="1" span="all" class="redItalic"/>
</row>
<row disabled="!@xml">
<groupbox span="all">
@ -37,27 +37,28 @@
<row>
<hbox span="all">
<template id="etemplate.editor.keys"/>
<button label="Read" id="read" statustext="read eTemplate from database (for the keys above)"/>
<button label="Save" id="save" statustext="save the eTemplate under the above keys (name, ...), change them for a SaveAs"/>
<button label="Delete" id="delete" statustext="Delete the spezified eTemplate" onclick="return confirm('Delete the spezified eTemplate');"/>
<button statustext="read eTemplate from database (for the keys above)" label="Read" id="read"/>
<button statustext="save the eTemplate under the above keys (name, ...), change them for a SaveAs" label="Save" id="save"/>
<button statustext="Delete the spezified eTemplate" label="Delete" id="delete" onclick="return confirm('Delete the spezified eTemplate');"/>
</hbox>
</row>
<row>
<hbox span="all">
<button id="styles" label="CSS-Styles" statustext="edit embeded CSS styles or of the applications app.css file" onclick="window.open(egw::link('/index.php','menuaction=etemplate.editor.styles&amp;name=$cont[name]&amp;template=$cont[template]&amp;lang=$cont[lang]&amp;version=$cont[version]'),'etemplate_editor_styles','dependent=yes,width=600,height=450,scrollbars=yes,status=yes'); return false;"/>
<button label="Show values" id="values" statustext="shows / allows you to enter values into the eTemplate for testing"/>
<button label="Dump4Setup" id="dump" statustext="writes a 'etemplates.inc.php' file (for application in Name) in the setup-dir of the app"/>
<button label="Write Langfile" id="langfile" statustext="creates an english ('en') langfile from label and helptexts (for application in Name)"/>
<button label="Export XML" id="export_xml" statustext="export the loaded eTemplate into a xml-file"/>
<file id="file" statustext="xml-file to import"/>
<button label="Import XML" id="import_xml" statustext="import an eTemplate from a xml-file"/>
<button statustext="edit embeded CSS styles or of the applications app.css file" label="CSS-Styles" id="styles" onclick="window.open(egw::link('/index.php','menuaction=etemplate.editor.styles&amp;name=$cont[name]&amp;template=$cont[template]&amp;lang=$cont[lang]&amp;version=$cont[version]'),'etemplate_editor_styles','dependent=yes,width=600,height=450,scrollbars=yes,status=yes'); return false;"/>
<button statustext="shows / allows you to enter values into the eTemplate for testing" label="Show values" id="values"/>
<button statustext="writes a 'etemplates.inc.php' file (for application in Name) in the setup-dir of the app" label="Dump4Setup" id="dump"/>
<button statustext="creates an english ('en') langfile from label and helptexts (for application in Name)" label="Write Langfile" id="langfile"/>
<button statustext="export the loaded eTemplate into a xml-file" label="Export XML" id="export_xml"/>
<file statustext="xml-file to import" id="file"/>
<button statustext="import an eTemplate from a xml-file" label="Import XML" id="import_xml"/>
<button statustext="Restore all application templates, overwriting existing ones with identical version number" label="Restore all" id="restore" onclick="return confirm('Restore all application templates, overwriting existing ones with identical version number');"/>
</hbox>
</row>
<row>
<hrule span="all"/>
</row>
<row>
<html span="all" id="onclick"/>
<html id="onclick" span="all"/>
</row>
<row>
<template content="cont"/>