mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 23:00:56 +01:00
next step to a new eTemplate editor:
- new editor has now everything the old one had, beside editing of embeded stylesheets - new possibility to define a confirmation for buttons via javascript - finetuned the garbadge collection for php4 sessions
This commit is contained in:
parent
af54416695
commit
21c6ebd17e
@ -310,18 +310,18 @@
|
||||
}
|
||||
$this->garbage_collection_done = true;
|
||||
|
||||
if (count($sessions) < 50) return $data; // we dont need to care
|
||||
if (count($app_sessions) < 20) return $data; // we dont need to care
|
||||
|
||||
list($msec,$sec) = explode(' ',microtime());
|
||||
$now = 100 * $sec + (int)(100 * $msec); // gives precision of 1/100 sec
|
||||
|
||||
foreach($app_sessions as $id => $session_data)
|
||||
foreach(array_keys($app_sessions) as $id)
|
||||
{
|
||||
list($app,$time) = explode(':',$id);
|
||||
|
||||
if (!$time) continue; // other data, no session
|
||||
|
||||
//echo ++$n.') '.$id.': '.(($now-$time)/100.0)."secs old, used=".$session_used[$id].", size=".strlen($session_data)."<br>\n";
|
||||
//echo ++$n.') '.$id.': '.(($now-$time)/100.0)."secs old, used=".$session_used[$id].", size=".strlen($app_sessions[$id])."<br>\n";
|
||||
|
||||
if ($session_used[$id] == 1 && $time < $now - 10*6000 || // session used and older then 10min
|
||||
$time < $now - 60*6000) // session not used and older then 1h
|
||||
|
@ -75,14 +75,19 @@
|
||||
'scroll' => 'scroll',
|
||||
'auto' => 'auto'
|
||||
);
|
||||
var $onclick_types = array(
|
||||
'' => 'nothing',
|
||||
'confirm' => 'confirm',
|
||||
'custom' => 'custom',
|
||||
);
|
||||
var $extensions = '';
|
||||
|
||||
var $public_functions = array
|
||||
(
|
||||
'edit' => True,
|
||||
'old_editor' => True,
|
||||
'process_edit' => True,
|
||||
'delete' => True,
|
||||
'show' => True,
|
||||
'edit' => True,
|
||||
'widget' => True,
|
||||
);
|
||||
|
||||
@ -90,12 +95,10 @@
|
||||
{
|
||||
$this->etemplate = CreateObject('etemplate.etemplate');
|
||||
|
||||
$this->editor = new etemplate('etemplate.editor');
|
||||
|
||||
$this->extensions = $GLOBALS['phpgw']->session->appsession('extensions','etemplate');
|
||||
}
|
||||
|
||||
function edit($msg = '',$xml='',$xml_label='')
|
||||
function old_editor($msg = '',$xml='',$xml_label='')
|
||||
{
|
||||
if (isset($_GET['name']) && !$this->etemplate->read($_GET))
|
||||
{
|
||||
@ -202,8 +205,9 @@
|
||||
{
|
||||
echo 'editor.edit: content ='; _debug_array($content);
|
||||
}
|
||||
$editor =& new etemplate('etemplate.editor');
|
||||
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Editable Templates - Editor');
|
||||
$this->editor->exec('etemplate.editor.process_edit',$content,
|
||||
$editor->exec('etemplate.editor.process_edit',$content,
|
||||
array(
|
||||
'type' => array_merge($this->etemplate->types,$this->extensions),
|
||||
'align' => $this->aligns,
|
||||
@ -421,7 +425,7 @@
|
||||
$result = $this->etemplate->search($content);
|
||||
if (count($result) > 1)
|
||||
{
|
||||
return $this->list_result(array('result' => $result));
|
||||
return $this->list_result(array('result' => $result),'','old_editor');
|
||||
}
|
||||
elseif (!count($result) || !$this->etemplate->read($result[0]))
|
||||
{
|
||||
@ -440,7 +444,7 @@
|
||||
}
|
||||
elseif ($content['delete'])
|
||||
{
|
||||
$this->delete();
|
||||
$this->delete('','old_editor');
|
||||
return;
|
||||
}
|
||||
elseif ($content['dump'])
|
||||
@ -466,7 +470,7 @@
|
||||
}
|
||||
elseif ($content['show'])
|
||||
{
|
||||
$this->show();
|
||||
$this->edit();
|
||||
return;
|
||||
}
|
||||
elseif ($content['langfile'])
|
||||
@ -482,7 +486,7 @@
|
||||
if ($name == 'etemplate')
|
||||
{
|
||||
$additional = $this->etemplate->types + $this->extensions + $this->aligns + $this->valigns +
|
||||
$this->edit_menu + $this->box_menu + $this->row_menu + $this->column_menu;
|
||||
$this->edit_menu + $this->box_menu + $this->row_menu + $this->column_menu + $this->onclick_types;
|
||||
}
|
||||
else // try to call the writeLangFile function of the app's ui-layer
|
||||
{
|
||||
@ -521,7 +525,7 @@
|
||||
ExecMethod('etemplate.db_tools.edit');
|
||||
return;
|
||||
}
|
||||
$this->edit($msg,$xml,$xml_label);
|
||||
$this->old_editor($msg,$xml,$xml_label);
|
||||
}
|
||||
|
||||
function export_xml(&$xml,&$xml_label)
|
||||
@ -641,7 +645,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->edit($msg);
|
||||
$this->$back(null,$msg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -677,7 +681,7 @@
|
||||
$content+$preserv,'');
|
||||
}
|
||||
|
||||
function list_result($cont='',$msg='')
|
||||
function list_result($cont='',$msg='',$editor='edit')
|
||||
{
|
||||
if ($this->debug)
|
||||
{
|
||||
@ -709,6 +713,10 @@
|
||||
if ($sel)
|
||||
{
|
||||
$this->etemplate->read($result[$row-1]);
|
||||
if (!$result[$row-1]['version'] && $this->etemplate->version)
|
||||
{
|
||||
$this->etemplate->version = ''; // otherwise the newest tmpl get's deleted and not the one without version
|
||||
}
|
||||
$this->etemplate->delete();
|
||||
++$n;
|
||||
}
|
||||
@ -725,14 +733,14 @@
|
||||
{
|
||||
list($read) = each($cont['read']);
|
||||
$this->etemplate->read($result[$read-1]);
|
||||
$this->edit();
|
||||
$this->$editor();
|
||||
return;
|
||||
}
|
||||
if (isset($cont['view']))
|
||||
{
|
||||
list($read) = each($cont['view']);
|
||||
$this->etemplate->read($result[$read-1]);
|
||||
$this->show();
|
||||
$this->edit();
|
||||
return;
|
||||
}
|
||||
if (!$msg)
|
||||
@ -758,35 +766,49 @@
|
||||
),'');
|
||||
}
|
||||
|
||||
function show($post_vars='')
|
||||
/**
|
||||
* new eTemplate editor, which edits widgets in a popup
|
||||
*
|
||||
* @param array $content content from the process_exec call
|
||||
* @param string $msg message to show
|
||||
*/
|
||||
function edit($content=null,$msg = '')
|
||||
{
|
||||
if ($this->debug)
|
||||
{
|
||||
echo "<p>etemplate.editor.show: content="; _debug_array($post_vars);
|
||||
echo "<p>etemplate.editor.show: content="; _debug_array($content);
|
||||
}
|
||||
if (!is_array($post_vars))
|
||||
{
|
||||
$post_vars = array();
|
||||
}
|
||||
if (!is_array($this->extensions))
|
||||
{
|
||||
$this->scan_for_extensions();
|
||||
}
|
||||
if (isset($_GET['name']) && !$this->etemplate->read($_GET) ||
|
||||
isset($post_vars['name']) && !$this->etemplate->read($post_vars))
|
||||
{
|
||||
$msg = lang('Error: Template not found !!!');
|
||||
if (!is_array($content)) $content = array();
|
||||
$preserv = array();
|
||||
|
||||
if (isset($post_vars['name']))
|
||||
if ($content['import_xml'])
|
||||
{
|
||||
$msg .= $this->import_xml($content['file']['tmp_name'],$xml);
|
||||
//$this->etemplate->echo_tmpl();
|
||||
$xml_label = $content['file']['name'];
|
||||
$preserv['import'] = $this->etemplate->as_array(1);
|
||||
}
|
||||
elseif (is_array($content['import']) && !$content['read']) // imported not yet saved tmpl
|
||||
{
|
||||
$this->etemplate->init($content['import']);
|
||||
$preserv['import'] = $content['import'];
|
||||
}
|
||||
elseif (isset($_GET['name']) && !$this->etemplate->read($_GET) ||
|
||||
$content['save'] && !$this->etemplate->read($content['old_keys']) ||
|
||||
!$content['save'] && isset($content['name']) && !$this->etemplate->read($content))
|
||||
{
|
||||
$msg .= lang('Error: Template not found !!!');
|
||||
|
||||
if (isset($content['name']))
|
||||
{
|
||||
$post_vars['version'] = ''; // trying it without version
|
||||
if ($this->etemplate->read($post_vars))
|
||||
$content['version'] = ''; // trying it without version
|
||||
if ($this->etemplate->read($content))
|
||||
{
|
||||
$msg = lang('only an other Version found !!!');
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $this->etemplate->search($post_vars);
|
||||
$result = $this->etemplate->search($content);
|
||||
if (count($result) > 1)
|
||||
{
|
||||
return $this->list_result(array('result' => $result));
|
||||
@ -795,73 +817,153 @@
|
||||
{
|
||||
$msg = lang('Error: Template not found !!!');
|
||||
}
|
||||
elseif ($post_vars['name'] == $result[0]['name'])
|
||||
elseif ($content['name'] == $result[0]['name'])
|
||||
{
|
||||
$msg = lang('only an other Version found !!!');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$msg && isset($post_vars['delete']))
|
||||
if (!is_array($this->extensions))
|
||||
{
|
||||
$this->delete(array(),'show');
|
||||
return;
|
||||
}
|
||||
if (isset($post_vars['edit']))
|
||||
{
|
||||
$this->edit();
|
||||
return;
|
||||
if (($extensions = $this->scan_for_extensions()))
|
||||
{
|
||||
$msg .= lang('Extensions loaded:') . ' ' . $extensions;
|
||||
$msg_ext_loaded = True;
|
||||
}
|
||||
}
|
||||
list($app) = explode('.',$this->etemplate->name);
|
||||
if ($app && $app != 'etemplate')
|
||||
{
|
||||
$GLOBALS['phpgw']->translation->add_app($app); // load translations for app
|
||||
$this->scan_for_extensions($app);
|
||||
}
|
||||
$content = $this->etemplate->as_array() + array('msg' => $msg);
|
||||
|
||||
$show =& new etemplate('etemplate.editor.show');
|
||||
if (!$msg && isset($post_vars['values']) && !isset($post_vars['vals']))
|
||||
if (($extensions = $this->scan_for_extensions($app)))
|
||||
{
|
||||
$msg .= (!$msg_ext_loaded?lang('Extensions loaded:').' ':', ') . $extensions;
|
||||
}
|
||||
}
|
||||
if (!$msg && $content['delete'])
|
||||
{
|
||||
$cont = $post_vars['cont'];
|
||||
for ($r = 1; list($key,$val) = @each($cont); ++$r)
|
||||
if (!$content['version'] && $this->etemplate->version)
|
||||
{
|
||||
$this->etemplate->version = ''; // else the newest would get deleted and not the one without version
|
||||
}
|
||||
$ok = $this->etemplate->delete();
|
||||
$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['dump'])
|
||||
{
|
||||
if (empty($app) || !@is_dir(PHPGW_SERVER_ROOT.'/'.$app))
|
||||
{
|
||||
$msg .= lang('Application name needed to write a langfile or dump the eTemplates !!!');
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg .= $this->etemplate->dump4setup($app);
|
||||
}
|
||||
}
|
||||
elseif ($content['save'] && !$msg)
|
||||
{
|
||||
if (!$this->etemplate->modified_set || !$this->etemplate->modified)
|
||||
{
|
||||
$this->etemplate->modified = time();
|
||||
}
|
||||
$ok = $this->etemplate->save(trim($content['name']),trim($content['template']),trim($content['lang']),(int) $content['group'],trim($content['version']));
|
||||
$msg = $ok ? lang('Template saved') : lang('Error: while saveing !!!');
|
||||
if ($ok) unset($preserv['import']);
|
||||
}
|
||||
elseif ($content['langfile'])
|
||||
{
|
||||
if (empty($app) || !@is_dir(PHPGW_SERVER_ROOT.'/'.$app))
|
||||
{
|
||||
$msg = lang('Application name needed to write a langfile or dump the eTemplates !!!');
|
||||
}
|
||||
else
|
||||
{
|
||||
$additional = array();
|
||||
if ($app == 'etemplate')
|
||||
{
|
||||
$additional = $this->etemplate->types + $this->extensions + $this->aligns + $this->valigns +
|
||||
$this->edit_menu + $this->box_menu + $this->row_menu + $this->column_menu + $this->onclick_types;
|
||||
}
|
||||
else // try to call the writeLangFile function of the app's ui-layer
|
||||
{
|
||||
$ui = @CreateObject($app.'.'.($class = 'ui'.$app));
|
||||
if (!is_object($ui))
|
||||
{
|
||||
$ui = @CreateObject($app.'.'.($class = 'ui'));
|
||||
}
|
||||
if (!is_object($ui))
|
||||
{
|
||||
$ui = @CreateObject($app.'.'.($class = $app));
|
||||
}
|
||||
if (is_object($ui) && @$ui->public_functions['writeLangFile'])
|
||||
{
|
||||
$msg = "$class::writeLangFile: ".$ui->writeLangFile();
|
||||
}
|
||||
unset($ui);
|
||||
}
|
||||
if (empty($msg))
|
||||
{
|
||||
$msg = $this->etemplate->writeLangFile($app,'en',$additional);
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ($content['export_xml'])
|
||||
{
|
||||
$msg .= $this->export_xml($xml,$xml_label);
|
||||
}
|
||||
$new_content = $this->etemplate->as_array() + array(
|
||||
'msg' => $msg,
|
||||
'xml_label' => $xml_label,
|
||||
'xml' => $xml ? '<pre>'.$this->etemplate->html->htmlspecialchars($xml)."</pre>\n" : '',
|
||||
);
|
||||
|
||||
$editor =& new etemplate('etemplate.editor.new');
|
||||
if (!$msg && isset($content['values']) && !isset($content['vals']))
|
||||
{
|
||||
$r = 1;
|
||||
foreach($content['cont'] as $key => $val)
|
||||
{
|
||||
$vals["@$r"] = $key;
|
||||
$vals["A$r"] = is_array($val) ? htmlspecialchars(serialize($val)).'#SeR#' : $val;
|
||||
++$r;
|
||||
}
|
||||
$show->data[$show->rows]['A']['name'] = 'etemplate.editor.values';
|
||||
$show->data[$show->rows]['A']['size'] = 'vals';
|
||||
$content['vals'] = $vals;
|
||||
$editor->data[$editor->rows]['A']['name'] = 'etemplate.editor.values';
|
||||
$editor->data[$editor->rows]['A']['size'] = 'vals';
|
||||
$new_content['olds'] = $vals;
|
||||
}
|
||||
else
|
||||
{
|
||||
// set onclick handler
|
||||
$this->etemplate->onclick_handler = "edit_widget('%p');";
|
||||
// setting the javascript via the content, allows looping too
|
||||
$content['onclick'] = '
|
||||
$new_content['onclick'] = '
|
||||
<script language="javascript">
|
||||
function edit_widget(path)
|
||||
{
|
||||
window.open("'.$GLOBALS['phpgw']->link('/index.php',$this->etemplate->as_array(-1)+array(
|
||||
'menuaction' => 'etemplate.editor.widget',
|
||||
'path' => '' // has to be last !
|
||||
)).'"+path,"etemplate_editor_widget","dependent=yes,width=600,height=400,location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes");
|
||||
)).'"+path,"etemplate_editor_widget","dependent=yes,width=600,height=450,location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes");
|
||||
}
|
||||
</script>';
|
||||
$show->data[$show->rows]['A']['obj'] = &$this->etemplate;
|
||||
$vals = $post_vars['vals'];
|
||||
$olds = $post_vars['olds'];
|
||||
$editor->data[$editor->rows]['A']['obj'] = &$this->etemplate;
|
||||
$vals = $content['vals'];
|
||||
$olds = $content['olds'];
|
||||
|
||||
for ($r = 1; isset($vals["A$r"]); ++$r)
|
||||
{
|
||||
$content['cont'][$olds["@$r"]] = substr($vals["A$r"],-5)=='#SeR#' ?
|
||||
$new_content['cont'][$olds["@$r"]] = substr($vals["A$r"],-5)=='#SeR#' ?
|
||||
unserialize(substr($vals["A$r"],0,-5)) : $vals["A$r"];
|
||||
}
|
||||
}
|
||||
$preserv['olds'] = $vals;
|
||||
$preserv['old_keys'] = $this->etemplate->as_array(-1); // in case we do a save as
|
||||
|
||||
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Editable Templates - Show Template');
|
||||
$show->exec('etemplate.editor.show',$content,array(),'',array(
|
||||
'olds' => $vals,
|
||||
),'');
|
||||
$editor->exec('etemplate.editor.edit',$new_content,array(),'',$preserv,'');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -880,6 +982,19 @@
|
||||
if (!isset($this->etemplate->widgets_with_children[$widget['type']]) ||
|
||||
$old_had_children && ($old_type == 'grid') == ($widget['type'] == 'grid'))
|
||||
{
|
||||
if ($this->etemplate->widgets_with_children[$widget['type']] == 3) // box
|
||||
{
|
||||
if ((int) $widget['size'] < 1) // min. 1 child
|
||||
{
|
||||
list(,$options) = explode(',',$widget['size'],2);
|
||||
$widget['size'] = '1'.($options ? ','.$options : '');
|
||||
}
|
||||
// create the needed cells, if they dont exist
|
||||
for ($n = 1; $n <= (int) $widget['size']; ++$n)
|
||||
{
|
||||
if (!is_array($widget[$n])) $widget[$n] = soetemplate::empty_cell();
|
||||
}
|
||||
}
|
||||
return; // no change necessary, eg. between different box-types
|
||||
}
|
||||
if ($widget['type'] == 'grid')
|
||||
@ -908,7 +1023,15 @@
|
||||
|
||||
if ($old_type == 'grid')
|
||||
{
|
||||
if ($widget['type'] == 'hbox') // 1 row --> hbox
|
||||
if (preg_match('/,(vertical|horizontal)/',$widget['size'],$matches))
|
||||
{
|
||||
$orient = $matches[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
$orient = $widget['type'] == 'hbox' ? 'horizontal' : 'vertical';
|
||||
}
|
||||
if ($orient == 'horizontal') // ==> use first row
|
||||
{
|
||||
$row =& $old['data'][1];
|
||||
for ($n = 1; $n <= $old['cols']; ++$n)
|
||||
@ -920,7 +1043,7 @@
|
||||
while ($span-- > 1) ++$n;
|
||||
}
|
||||
}
|
||||
else
|
||||
else // vertical ==> use 1 column
|
||||
{
|
||||
for ($n = 1; $n <= $old['rows']; ++$n)
|
||||
{
|
||||
@ -1320,6 +1443,49 @@
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* converts onclick selectbox and onclick text to one javascript call
|
||||
*
|
||||
* @param array &$widget reference into the widget-tree
|
||||
* @param array &$cell_content cell array in content
|
||||
* @param boolean $widget2content=true copy from widget to content or other direction
|
||||
*/
|
||||
function fix_set_onclick(&$widget,&$cell_content,$widget2content=true)
|
||||
{
|
||||
if ($widget2content)
|
||||
{
|
||||
if (preg_match('/^return confirm\(["\']{1}?(.*)["\']{1}\);$/',$widget['onclick'],$matches))
|
||||
{
|
||||
$cell_content['onclick'] = $matches[1];
|
||||
$cell_content['onclick_type'] = 'confirm';
|
||||
}
|
||||
else
|
||||
{
|
||||
$cell_content['onclick_type'] = !$widget['onclick'] ? '' : 'custom';
|
||||
}
|
||||
}
|
||||
else // content --> widget
|
||||
{
|
||||
if (preg_match('/^return confirm\(["\']{1}?(.*)["\']{1}\);$/',$cell_content['onclick'],$matches) ||
|
||||
$cell_content['onclick_type'] != 'custom' && $cell_content['onclick'])
|
||||
{
|
||||
$cell_content['onclick_type'] = 'confirm';
|
||||
$cell_content['onclick'] = is_array($matches) && $matches[1] ? $matches[1] : $cell_content['onclick'];
|
||||
$widget['onclick'] = "return confirm('".$cell_content['onclick']."');";
|
||||
}
|
||||
elseif ($cell_content['onclick'])
|
||||
{
|
||||
$wiget['onclick'] = $cell_content['onclick'];
|
||||
$cell_content['onclick_type'] = 'custom';
|
||||
}
|
||||
else
|
||||
{
|
||||
$cell_content['onclick_type'] = '';
|
||||
}
|
||||
unset($widget['onclick_type']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* edit dialog for a widget
|
||||
*
|
||||
@ -1408,6 +1574,10 @@
|
||||
|
||||
case 'save': case 'apply':
|
||||
$widget = $content['cell'];
|
||||
if ($content['cell']['onclick_type'] || $content['cell']['onclick'])
|
||||
{
|
||||
$this->fix_set_onclick($widget,$content['cell'],false);
|
||||
}
|
||||
// row- and column-attr for a grid
|
||||
if ($parent['type'] == 'grid' && preg_match('/^([0-9]+)([A-Z]+)$/',$child_id,$matches))
|
||||
{
|
||||
@ -1435,7 +1605,7 @@
|
||||
$content['opener']['version'] = $content['version'];
|
||||
}
|
||||
$js = "opener.location.href='".$GLOBALS['phpgw']->link('/index.php',array(
|
||||
'menuaction' => 'etemplate.editor.show',
|
||||
'menuaction' => 'etemplate.editor.edit',
|
||||
)+$content['opener'])."';";
|
||||
if ($action == 'apply' || $action == 'apply-no-merge') break;
|
||||
// fall through
|
||||
@ -1456,6 +1626,7 @@
|
||||
|
||||
$content = $this->etemplate->as_array(-1);
|
||||
$content['cell'] = $widget;
|
||||
$this->fix_set_onclick($widget,$content['cell'],true);
|
||||
|
||||
foreach($this->etemplate->db_key_cols as $var)
|
||||
{
|
||||
@ -1516,6 +1687,7 @@
|
||||
'box_menu' => $this->box_menu,
|
||||
'row_menu' => $this->row_menu,
|
||||
'column_menu'=> $this->column_menu,
|
||||
'onclick_type'=> $this->onclick_types,
|
||||
),'',$this->etemplate->as_array()+array(
|
||||
'path' => $content['path'],
|
||||
'old_version' => $this->etemplate->version,
|
||||
|
@ -46,7 +46,7 @@
|
||||
var $children; // array with children
|
||||
var $data; // depricated: first grid of the children
|
||||
var $size; // depricated: witdh,height,border of first grid
|
||||
var $db,$db_name = 'phpgw_etemplate'; // DB name
|
||||
var $db,$table_name = 'phpgw_etemplate'; // name of table
|
||||
var $db_key_cols = array(
|
||||
'et_name' => 'name',
|
||||
'et_template' => 'template',
|
||||
@ -61,14 +61,18 @@
|
||||
'et_modified' => 'modified'
|
||||
);
|
||||
var $db_cols;
|
||||
var $widgets_with_children = array( // widgets that contain other widgets, for tree_walk method
|
||||
'box' => true,
|
||||
'vbox' => true,
|
||||
'hbox' => true,
|
||||
'groupbox' => true,
|
||||
'deck' => true,
|
||||
'grid' => true,
|
||||
'template' => true,
|
||||
/**
|
||||
* @var array $widgets_with_children widgets that contain other widgets, eg. for tree_walk method
|
||||
* widget-type is the key, the value specifys how the children are stored: 1=template, 2=grid, 3=box
|
||||
*/
|
||||
var $widgets_with_children = array(
|
||||
'template' => 1,
|
||||
'grid' => 2,
|
||||
'box' => 3,
|
||||
'vbox' => 3,
|
||||
'hbox' => 3,
|
||||
'groupbox' => 3,
|
||||
'deck' => 3,
|
||||
);
|
||||
|
||||
/**
|
||||
@ -362,7 +366,7 @@
|
||||
$pref_lang = $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'];
|
||||
$pref_templ = $GLOBALS['phpgw_info']['server']['template_set'];
|
||||
|
||||
$sql = "SELECT * FROM $this->db_name WHERE et_name='".$this->db->db_addslashes($this->name)."' AND ";
|
||||
$sql = "SELECT * FROM $this->table_name WHERE et_name='".$this->db->db_addslashes($this->name)."' AND ";
|
||||
if (is_array($name))
|
||||
{
|
||||
$template = $name['template'];
|
||||
@ -515,7 +519,7 @@
|
||||
$version = $name['version'];
|
||||
$name = $name['name'];
|
||||
}
|
||||
$sql = "SELECT et_name,et_template,et_lang,et_group,et_version FROM $this->db_name WHERE et_name LIKE '".$this->db->db_addslashes($name)."%'";
|
||||
$sql = "SELECT et_name,et_template,et_lang,et_group,et_version FROM $this->table_name WHERE et_name LIKE '".$this->db->db_addslashes($name)."%'";
|
||||
|
||||
if ($template != '' && $template != 'default')
|
||||
{
|
||||
@ -675,28 +679,41 @@
|
||||
*
|
||||
* the returned array ($data_too > 0) can be used with init to recreate the template
|
||||
*
|
||||
* @param int $data_too -1 = only keys, 0 = no data array, 1 = data array too, 2 = serialize data array
|
||||
* @param int $data_too -1 = only keys, 0 = no data array, 1 = data array too, 2 = serialize data array,
|
||||
* 3 = only data values and data serialized
|
||||
* @param boolean $db_keys use db-column-names or internal names, default false=internal names
|
||||
* @return array with template-data
|
||||
*/
|
||||
function as_array($data_too=0)
|
||||
function as_array($data_too=0,$db_keys=false)
|
||||
{
|
||||
$arr = array();
|
||||
foreach($data_too == -1 ? $this->db_key_cols : $this->db_cols as $db_col => $col)
|
||||
switch($data_too)
|
||||
{
|
||||
case -1:
|
||||
$cols = $this->db_key_cols;
|
||||
break;
|
||||
case 3:
|
||||
$cols = $this->db_data_cols;
|
||||
break;
|
||||
default:
|
||||
$cols = $this->db_cols;
|
||||
}
|
||||
foreach($cols as $db_col => $col)
|
||||
{
|
||||
if ($col == 'data')
|
||||
{
|
||||
if ($data_too)
|
||||
if ($data_too > 0)
|
||||
{
|
||||
$arr['data'] = $data_too != 2 ? $this->children :
|
||||
$arr[$db_keys ? $db_col : $col] = $data_too < 2 ? $this->children :
|
||||
serialize($this->compress_array($this->children));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$arr[$col] = $this->$col;
|
||||
$arr[$db_keys ? $db_col : $col] = $this->$col;
|
||||
}
|
||||
}
|
||||
if ($data_too != -1 && $this->tpls_in_file)
|
||||
if ($data_too != -1 && $this->tpls_in_file && !$db_keys)
|
||||
{
|
||||
$arr['tpls_in_file'] = $this->tpls_in_file;
|
||||
}
|
||||
@ -751,8 +768,6 @@
|
||||
{
|
||||
echo "<p>soetemplate::save('$this->name','$this->template','$this->lang',$this->group,'$this->version')</p>\n";
|
||||
}
|
||||
$this->delete(); // so we have always a new insert
|
||||
|
||||
if ($this->name[0] != '.' && is_array($this->data)) // correct old messed up templates
|
||||
{
|
||||
reset($this->data); each($this->data);
|
||||
@ -775,19 +790,7 @@
|
||||
{
|
||||
$this->modified = time();
|
||||
}
|
||||
$data = $this->as_array(2);
|
||||
|
||||
$sql = "INSERT INTO $this->db_name (";
|
||||
foreach ($this->db_cols as $db_col => $col)
|
||||
{
|
||||
$sql .= $db_col . ',';
|
||||
$vals .= $db_col == 'et_group' ? intval($data[$col]).',' : "'" . $this->db->db_addslashes($data[$col]) . "',";
|
||||
}
|
||||
$sql[strlen($sql)-1] = ')';
|
||||
$sql .= " VALUES ($vals";
|
||||
$sql[strlen($sql)-1] = ')';
|
||||
|
||||
$this->db->query($sql,__LINE__,__FILE__);
|
||||
$this->db->insert($this->table_name,$this->as_array(3,true),$this->as_array(-1,true),__LINE__,__FILE__);
|
||||
|
||||
$rows = $this->db->affected_rows();
|
||||
|
||||
@ -807,11 +810,7 @@
|
||||
*/
|
||||
function delete()
|
||||
{
|
||||
foreach ($this->db_key_cols as $db_col => $col)
|
||||
{
|
||||
$vals .= ($vals ? ' AND ' : '') . $db_col . '=' . ($db_col == 'et_group' ? intval($this->$col) : "'".$this->$col."'");
|
||||
}
|
||||
$this->db->query("DELETE FROM $this->db_name WHERE $vals",__LINE__,__FILE__);
|
||||
$this->db->delete($this->table_name,$this->as_array(-1,true),__LINE__,__FILE__);
|
||||
|
||||
return $this->db->affected_rows();
|
||||
}
|
||||
@ -826,7 +825,7 @@
|
||||
{
|
||||
list($app) = explode('.',$app);
|
||||
|
||||
$this->db->query("SELECT * FROM $this->db_name WHERE et_name LIKE '$app%'");
|
||||
$this->db->query("SELECT * FROM $this->table_name WHERE et_name LIKE '$app%'");
|
||||
|
||||
$dir = PHPGW_SERVER_ROOT . "/$app/setup";
|
||||
if (!is_writeable($dir))
|
||||
|
@ -316,6 +316,8 @@
|
||||
{
|
||||
$readonlys = array();
|
||||
}
|
||||
if (++$this->already_showed > 1) return ''; // prefens infinit self-inclusion
|
||||
|
||||
if (is_int($this->debug) && $this->debug >= 1 || $this->name && $this->debug == $this->name)
|
||||
{
|
||||
echo "<p>etemplate.show($this->name): $cname =\n"; _debug_array($content);
|
||||
@ -569,7 +571,7 @@
|
||||
*/
|
||||
function show_cell($cell,$content,$sel_options,$readonlys,$cname,$show_c,$show_row,&$span,&$class,$path='')
|
||||
{
|
||||
if (is_int($this->debug) && $this->debug >= 3 || $this->debug == $cell['type'])
|
||||
if ($this->debug && (is_int($this->debug) && $this->debug >= 3 || $this->debug == $cell['type']))
|
||||
{
|
||||
echo "<p>etemplate.show_cell($this->name,name='${cell['name']}',type='${cell['type']}',cname='$cname')</p>\n";
|
||||
}
|
||||
@ -792,9 +794,14 @@
|
||||
list($app) = explode('.',$this->name);
|
||||
list($img,$ro_img) = explode(',',$cell_options);
|
||||
$title = strlen($label) <= 1 || $cell['no_lang'] ? $label : lang($label);
|
||||
if (($onclick = $cell['onclick']) && preg_match('/^return confirm\(["\']{1}?(.*)["\']{1}\);$/',$cell['onclick'],$matches))
|
||||
{
|
||||
$onclick = "return confirm('".str_replace('\'','\\\'',$this->html->htmlspecialchars(lang($matches[1])))."');";
|
||||
}
|
||||
if ($this->java_script() && ($cell['onchange'] != '' || $img && !$readonly) && !$cell['needed']) // use a link instead of a button
|
||||
{
|
||||
$onclick = ($cell['onchange'] == 1 || $img) ? "return submitit(document.eTemplate,'$form_name');" : $cell['onchange'].'; return false;';
|
||||
$onclick = ($onclick ? preg_replace('/^return(.*);?/','if (\\1) ',$onclick) : '').
|
||||
(($cell['onchange'] == 1 || $img) ? "return submitit(document.eTemplate,'$form_name');" : $cell['onchange'].'; return false;');
|
||||
if (!$this->html->netscape4 && substr($img,-1) == '%' && is_numeric($percent = substr($img,0,-1)))
|
||||
{
|
||||
$html .= $this->html->progressbar($percent,$title,'onclick="'.$onclick.'" '.$options);
|
||||
@ -811,7 +818,11 @@
|
||||
{
|
||||
$options .= ' title="'.$title.'"';
|
||||
}
|
||||
$html .= !$readonly ? $this->html->submit_button($form_name,$label,$cell['onchange'],
|
||||
if ($cell['onchange'] && $cell['onchange'] != 1)
|
||||
{
|
||||
$onclick = ($onclick ? preg_replace('/^return(.*);?/','if (\\1) ',$onclick) : '').$cell['onchange'];
|
||||
}
|
||||
$html .= !$readonly ? $this->html->submit_button($form_name,$label,$onclick,
|
||||
strlen($label) <= 1 || $cell['no_lang'],$options,$img,$app) :
|
||||
$this->html->image($app,$ro_img);
|
||||
}
|
||||
|
@ -15,6 +15,7 @@
|
||||
$menu_title = $GLOBALS['phpgw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
|
||||
$file = Array(
|
||||
'eTemplate Editor' => $GLOBALS['phpgw']->link('/index.php','menuaction=etemplate.editor.edit'),
|
||||
'old Editor' => $GLOBALS['phpgw']->link('/index.php','menuaction=etemplate.editor.old_editor'),
|
||||
'DB-Tools' => $GLOBALS['phpgw']->link('/index.php','menuaction=etemplate.db_tools.edit'),
|
||||
);
|
||||
if (@$GLOBALS['phpgw_info']['user']['apps']['developer_tools'])
|
||||
@ -45,5 +46,11 @@
|
||||
'link' => $GLOBALS['phpgw_info']['server']['webserver_url'].'/phpgwapi/doc/',
|
||||
'target' => 'docs'
|
||||
),
|
||||
array(
|
||||
'text' => 'CSS properties',
|
||||
'link' => 'http://www.w3.org/TR/REC-CSS2/propidx.html',
|
||||
'target' => 'docs'
|
||||
),
|
||||
|
||||
);
|
||||
display_sidebox($appname,$menu_title,$file);
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// eTemplates for Application 'etemplate', generated by soetemplate::dump4setup() 2005-02-18 23:11
|
||||
// eTemplates for Application 'etemplate', generated by soetemplate::dump4setup() 2005-02-20 22:42
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@ -12,8 +12,6 @@ $templ_data[] = array('name' => 'etemplate.nextmatch_widget.header_only','templa
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.validation-test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:15:"10,10,/^[A-Z]+/";s:5:"label";s:52:"Text (<= 10 chars, has to start with capital letter)";s:4:"name";s:4:"text";}}i:2;a:1:{s:1:"A";a:5:{s:4:"type";s:3:"int";s:4:"size";s:5:"-15,5";s:5:"label";s:23:"Integer (-15 <= x <= 5)";s:4:"name";s:7:"integer";s:6:"needed";s:1:"1";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"float";s:4:"size";s:8:"-1.5,3.5";s:5:"label";s:32:"Floatingpoint (-1.5 <= x <= 3.5)";s:4:"name";s:5:"float";}}i:4;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";}i:2;a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";}}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:8:",,0,,0,0";}}','size' => ',,0,,0,0','style' => '','modified' => '1081128620',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.tab_widget.test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:1:"A";s:3:"120";s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Surname";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:7:"surname";s:4:"help";s:7:"Surname";}s:1:"C";a:4:{s:4:"type";s:4:"text";s:5:"label";s:10:"Familyname";s:4:"name";s:10:"familyname";s:4:"help";s:10:"Familyname";}}i:2;a:3:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:16:"Privat|Work|Note";s:4:"name";s:16:"privat|work|note";s:4:"help";s:42:"privat address|work address|free note-text";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{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";}}i:4;a:3:{s:1:"A";a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:12:"Save changes";}s:1:"B";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:26:"Cancel, discarding changes";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:3;}}','size' => '','style' => '','modified' => '1108424730',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.datefield','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:3:{s:1:"A";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,31";s:4:"name";s:1:"d";s:4:"help";s:3:"Day";}s:1:"B";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,12";s:4:"name";s:1:"m";s:4:"help";s:5:"Month";}s:1:"C";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1900";s:4:"name";s:1:"Y";s:4:"help";s:4:"Year";}}}s:4:"rows";i:1;s:4:"cols";i:3;}}','size' => '','style' => '','modified' => '1032907904',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.datefield','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:2:{i:0;a:0:{}i:1;a:5:{s:1:"A";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,6";s:4:"name";s:2:"f1";s:4:"help";s:5:"@help";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"size";s:1:"b";s:4:"name";s:3:"sep";}s:1:"C";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,6";s:4:"name";s:2:"f2";s:4:"help";s:5:"@help";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:4:"size";s:1:"b";s:4:"name";s:3:"sep";}s:1:"E";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,6";s:4:"name";s:2:"f3";s:4:"help";s:5:"@help";}}}s:4:"rows";i:1;s:4:"cols";i:5;s:4:"size";s:5:",,,,0";}}','size' => ',,,,0','style' => '','modified' => '1032907904',);
|
||||
@ -26,8 +24,6 @@ $templ_data[] = array('name' => 'etemplate.editor.show','template' => '','lang'
|
||||
.clickWidgetToEdit { cursor: pointer; cursor: hand; }
|
||||
.clickWidgetToEdit:hover { background-color: pink; }','modified' => '1108413455',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget.generic','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:4:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,size";s:5:"label";s:7:"Options";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:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,span";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:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,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:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";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:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"4";i:1;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";}i:2;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!)";}i:3;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";}i:4;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";}}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:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,help";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"45";s:4:"span";s:1:"3";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:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,blur";s:5:"label";s:8:"blurText";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:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}}}s:4:"rows";i:4;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1108415433',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.15.003','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:9:{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:29:"etemplate.editor.edit-buttons";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:7:"options";s:4:"span";s:3:"all";s:4:"name";s:24:"etemplate.editor.options";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;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:7;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:8;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";}}}s:4:"rows";i:8;s:4:"cols";i:2;s:4:"size";s:9:"100%,100%";}}','size' => '100%,100%','style' => '','modified' => '1033317410',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.15.004','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:9:{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:12:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"9";s:4:"span";s:3:"all";i:1;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:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Show";s:4:"name";s:4:"show";s:4:"help";s:61:"shows/displays eTemplate for testing, does NOT save it before";}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: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";}i:5;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:6;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:7;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:8;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:9;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:7:"options";s:4:"span";s:3:"all";s:4:"name";s:24:"etemplate.editor.options";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;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:7;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:8;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";}}}s:4:"rows";i:8;s:4:"cols";i:2;s:4:"size";s:9:"100%,100%";}}','size' => '100%,100%','style' => '','modified' => '1035854216',);
|
||||
@ -62,8 +58,6 @@ $templ_data[] = array('name' => 'etemplate.editor.row_header','template' => '','
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.row_header','template' => '','lang' => '','group' => '0','version' => '0.9.15.004','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;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";}i:2;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:36:"exchange this row with the one above";}}s:1:"B";a:3:{s:4:"type";s:5:"label";s:5:"label";s:16:"Height, Disabled";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:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"6";s:5:"align";s:6:"center";s:4:"name";s:14:"height[h$row_]";s:4:"help";s:123:"height of row (in % or pixel), disable row: [! = not]<value>[=<check>] eg: \'!@data\' disable row if content of data is empty";}}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:13:"class, Valign";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:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"6";s:5:"align";s:6:"center";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";}}}s:4:"rows";i:4;s:4:"cols";i:2;s:4:"size";s:5:",100%";}}','size' => ',100%','style' => '','modified' => '1034428465',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.show','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:7:{i:0;a:1:{s:1:"A";s:4:"1000";}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:34:"Editable Templates - Show 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: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:29:"etemplate.editor.show-buttons";}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: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:6;s:4:"cols";i:2;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1033832038',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.show-buttons','template' => '','lang' => '','group' => '0','version' => '0.9.15.002','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:4:{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: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:"C";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:"D";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:4:"rows";i:1;s:4:"cols";i:4;}}','size' => '','style' => '','modified' => '1032907904',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.values','template' => '','lang' => '','group' => '0','version' => '0.9.13.001','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: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:3:{s:4:"type";s:4:"text";s:4:"name";s:8:"$col$row";s:8:"readonly";s:1:"1";}s:1:"B";a:2:{s:4:"type";s:4:"text";s:4:"name";s:8:"$col$row";}}}s:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:3:",,1";}}','size' => ',,1','style' => '','modified' => '1032907904',);
|
||||
@ -167,12 +161,19 @@ $templ_data[] = array('name' => 'etemplate.editor.show','template' => '','lang'
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.list_result','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:21:"etemplate.editor.keys";}}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:33:"etemplate.editor.list_result.list";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.redItalic { color:red; font-style:italic;}','modified' => '1107711996',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:3:{s:2:"h2";s:6:",!@msg";s:2:"h4";s:2:",1";s:2:"c1";s:2:"th";}i:1;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:6:"select";s:4:"size";s:4:"edit";s:4:"name";s:4:"edit";s:8:"onchange";s:1:"1";s:4:"help";s:49:"delete and cut operations will save the template!";}i:2;a:5:{s:4:"type";s:6:"select";s:4:"size";s:3:"box";s:4:"name";s:3:"box";s:8:"onchange";s:1:"1";s:4:"help";s:50:"insert and swap operations will save the template!";}i:3;a:4:{s:4:"type";s:6:"select";s:4:"size";s:4:"grid";s:4:"name";s:4:"grid";s:8:"onchange";s:1:"1";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:5:"label";s:4:"Name";s:4:"name";s:11:"java_script";}s:1:"B";a:8:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"6";i:1;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:8:"template";s:8:"readonly";s:1:"1";}i:3;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"lang";s:8:"readonly";s:1:"1";}i:4;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"20";s:5:"label";s:7:"Version";s:4:"name";s:7:"version";s:4:"help";s:56:"increment version to not overwrite the existing template";}i:5;a:5:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:4:"Path";s:7:"no_lang";s:1:"1";s:4:"name";s:4:"path";}i:6;a:4:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:6:"Parent";s:4:"name";s:11:"parent_type";}}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:10:"cell[type]";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"cell";s:4:"span";s:3:"all";s:4:"name";s:31:"etemplate.editor.widget.generic";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:66:"saves the template with given version number and closes the window";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:5:"apply";s:4:"help";s:56:"applies the changes to the given version of the template";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:44:"closes the window without saving the changes";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:6;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { color: red; font-style: italic; }
|
||||
.gray { color: gray; }','modified' => '1108500820',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:9:{i:0;a:2:{s:2:"h2";s:6:",!@msg";s:2:"c1";s:2:"th";}i:1;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:5:{s:4:"type";s:6:"select";s:4:"size";s:7:"Edit...";s:4:"name";s:9:"edit_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"delete and cut save the template!";}i:2;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Box...";s:4:"name";s:8:"box_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:3;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Row...";s:4:"name";s:8:"row_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:4;a:5:{s:4:"type";s:6:"select";s:4:"size";s:9:"Column...";s:4:"name";s:11:"column_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:5:"label";s:4:"Name";s:4:"name";s:11:"java_script";}s:1:"B";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";i:1;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:8:"template";s:8:"readonly";s:1:"1";}i:3;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"lang";s:8:"readonly";s:1:"1";}i:4;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"20";s:5:"label";s:7:"Version";s:4:"name";s:7:"version";s:4:"help";s:56:"increment version to not overwrite the existing template";}i:5;a:5:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:4:"Path";s:7:"no_lang";s:1:"1";s:4:"name";s:4:"path";}}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Path";}s:1:"B";a:3:{s:4:"type";s:4:"path";s:4:"name";s:4:"goto";s:4:"help";s:29:"click to edit a parent widget";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"cell";s:4:"span";s:3:"all";s:4:"name";s:31:"etemplate.editor.widget.generic";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";s:5:"label";s:19:"Grid row attributes";s:4:"span";s:3:"all";i:1;a:1:{s:4:"type";s:5:"label";}i:2;a:1:{s:4:"type";s:5:"label";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";s:5:"label";s:22:"Grid column attributes";s:4:"span";s:3:"all";i:1;a:1:{s:4:"type";s:5:"label";}i:2;a:1:{s:4:"type";s:5:"label";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:8;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:66:"saves the template with given version number and closes the window";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:5:"apply";s:4:"help";s:56:"applies the changes to the given version of the template";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:44:"closes the window without saving the changes";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:8;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { color: red; font-style: italic; }.gray { color: gray; }','modified' => '1108727831',);
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget.generic','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:6:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"c5";s:3:"row";s:2:"h5";s:14:",!@type=button";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,size";s:5:"label";s:7:"Options";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:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,span";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:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,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:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";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:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"4";i:1;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";}i:2;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!)";}i:3;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";}i:4;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";}}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:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,help";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"45";s:4:"span";s:1:"3";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:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,blur";s:5:"label";s:8:"blurText";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:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}}i:5;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}s:1:"C";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"45";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";}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:4:"rows";i:5;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1108415433',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget','template' => '','lang' => '','group' => '0','version' => '1.0.1.003','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:9:{i:0;a:4:{s:2:"h2";s:6:",!@msg";s:2:"c1";s:2:"th";s:2:"h6";s:11:",!@grid_row";s:2:"h7";s:14:",!@grid_column";}i:1;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:5:{s:4:"type";s:6:"select";s:4:"size";s:7:"Edit...";s:4:"name";s:9:"edit_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"delete and cut save the template!";}i:2;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Box...";s:4:"name";s:8:"box_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:3;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Row...";s:4:"name";s:8:"row_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:4;a:5:{s:4:"type";s:6:"select";s:4:"size";s:9:"Column...";s:4:"name";s:11:"column_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:5:"label";s:4:"Name";s:4:"name";s:11:"java_script";}s:1:"B";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";i:1;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:8:"template";s:8:"readonly";s:1:"1";}i:3;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"lang";s:8:"readonly";s:1:"1";}i:4;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"20";s:5:"label";s:7:"Version";s:4:"name";s:7:"version";s:4:"help";s:56:"increment version to not overwrite the existing template";}i:5;a:5:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:4:"Path";s:7:"no_lang";s:1:"1";s:4:"name";s:4:"path";}}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Parents";}s:1:"B";a:3:{s:4:"type";s:4:"path";s:4:"name";s:4:"goto";s:4:"help";s:29:"click to edit a parent widget";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"cell";s:4:"span";s:3:"all";s:4:"name";s:31:"etemplate.editor.widget.generic";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:8:{s:4:"type";s:8:"groupbox";s:4:"size";s:12:"4,horizontal";s:5:"label";s:19:"Grid row attributes";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:4:"text";s:5:"label";s:6:"Height";s:4:"name";s:16:"grid_row[height]";s:4:"help";s:29:"height of row (in % or pixel)";s:4:"size";s:1:"5";}i:2;a:5:{s:4:"type";s:4:"text";s:5:"label";s:8:"Disabled";s:4:"name";s:18:"grid_row[disabled]";s:4:"help";s:88:"to disable: [! = not]<value>[=<check>] eg: \'!@data\' disables if content of data is empty";s:4:"size";s:2:"10";}i:3;a:5:{s:4:"type";s:4:"text";s:4:"name";s:15:"grid_row[class]";s:4:"size";s:2:"10";s:5:"label";s:5:"Class";s:4:"help";s:100:"CSS-class name for this row, preset: \'th\' = header, \'row\' = alternating row, \'row_off\'+\'row_on\' rows";}i:4;a:4:{s:4:"type";s:6:"select";s:4:"name";s:16:"grid_row[valign]";s:5:"label";s:6:"Valign";s:4:"help";s:25:"vertical alignment of row";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:12:"2,horizontal";s:5:"label";s:22:"Grid column attributes";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:4:"text";s:5:"label";s:5:"Width";s:4:"name";s:18:"grid_column[width]";s:4:"help";s:31:"width of column (in % or pixel)";s:4:"size";s:1:"5";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:5:"label";s:8:"Disabled";s:4:"name";s:21:"grid_column[disabled]";s:4:"help";s:88:"to disable: [! = not]<value>[=<check>] eg: \'!@data\' disables if content of data is empty";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:8;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:66:"saves the template with given version number and closes the window";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:5:"apply";s:4:"help";s:56:"applies the changes to the given version of the template";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:44:"closes the window without saving the changes";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:8;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { color: red; font-style: italic; }.gray { color: gray; }','modified' => '1108727772',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.widget','template' => '','lang' => '','group' => '0','version' => '1.0.1.004','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:9:{i:0;a:4:{s:2:"h2";s:6:",!@msg";s:2:"h6";s:11:",!@grid_row";s:2:"h7";s:14:",!@grid_column";s:2:"c1";s:2:"th";}i:1;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:5:{s:4:"type";s:6:"select";s:4:"size";s:7:"Edit...";s:4:"name";s:9:"edit_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"delete and cut save the template!";}i:2;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Box...";s:4:"name";s:8:"box_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:3;a:5:{s:4:"type";s:6:"select";s:4:"size";s:6:"Row...";s:4:"name";s:8:"row_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}i:4;a:5:{s:4:"type";s:6:"select";s:4:"size";s:9:"Column...";s:4:"name";s:11:"column_menu";s:8:"onchange";s:1:"1";s:4:"help";s:33:"all operations save the template!";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:4:"html";s:5:"label";s:4:"Name";s:4:"name";s:11:"java_script";}s:1:"B";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"5";i:1;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:4:"text";s:4:"name";s:8:"template";s:8:"readonly";s:1:"1";}i:3;a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"lang";s:8:"readonly";s:1:"1";}i:4;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"20";s:5:"label";s:7:"Version";s:4:"name";s:7:"version";s:4:"help";s:56:"increment version to not overwrite the existing template";}i:5;a:5:{s:4:"type";s:5:"label";s:4:"span";s:5:",gray";s:5:"label";s:4:"Path";s:7:"no_lang";s:1:"1";s:4:"name";s:4:"path";}}}i:4;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Path";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:4:"path";s:4:"name";s:4:"goto";s:4:"help";s:25:"switch to a parent widget";}i:2;a:6:{s:4:"type";s:4:"path";s:4:"size";s:1:" ";s:4:"name";s:5:"goto2";s:4:"help";s:44:"switch to an other widgets of that container";s:7:"no_lang";s:1:"1";s:5:"label";s:1:" ";}}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:4:"cell";s:4:"span";s:3:"all";s:4:"name";s:31:"etemplate.editor.widget.generic";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:8:{s:4:"type";s:8:"groupbox";s:4:"size";s:12:"4,horizontal";s:5:"label";s:19:"Grid row attributes";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:5:"label";s:6:"Height";s:4:"name";s:16:"grid_row[height]";s:4:"help";s:29:"height of row (in % or pixel)";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:5:"label";s:8:"Disabled";s:4:"name";s:18:"grid_row[disabled]";s:4:"help";s:88:"to disable: [! = not]<value>[=<check>] eg: \'!@data\' disables if content of data is empty";}i:3;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:5:"label";s:5:"Class";s:4:"name";s:15:"grid_row[class]";s:4:"help";s:100:"CSS-class name for this row, preset: \'th\' = header, \'row\' = alternating row, \'row_off\'+\'row_on\' rows";}i:4;a:4:{s:4:"type";s:6:"select";s:5:"label";s:6:"Valign";s:4:"name";s:16:"grid_row[valign]";s:4:"help";s:25:"vertical alignment of row";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:12:"2,horizontal";s:5:"label";s:22:"Grid column attributes";s:4:"span";s:3:"all";i:1;a:5:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:5:"label";s:5:"Width";s:4:"name";s:18:"grid_column[width]";s:4:"help";s:31:"width of column (in % or pixel)";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:5:"label";s:8:"Disabled";s:4:"name";s:21:"grid_column[disabled]";s:4:"help";s:88:"to disable: [! = not]<value>[=<check>] eg: \'!@data\' disables if content of data is empty";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:8;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:66:"saves the template with given version number and closes the window";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:5:"apply";s:4:"help";s:56:"applies the changes to the given version of the template";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:44:"closes the window without saving the changes";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:8;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { color: red; font-style: italic; }.gray { color: gray; }','modified' => '1108739783',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.new','template' => '','lang' => '','group' => '0','version' => '1.0.1.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:5:"label";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:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";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";}i:2;a:1:{s:4:"type";s:5:"label";}}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:12:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"9";s:4:"span";s:3:"all";i:1;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: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: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:36:"Delete the eTemplate spezified above";s:7:"onclick";s:55:"return confirm(\'Delete the eTemplate spezified above\');";}i:5;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:6;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:7;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:8;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:9;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}}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' => '.redItalic { color: red; font-style: italic; }
|
||||
.clickWidgetToEdit { cursor: pointer; cursor: hand; }
|
||||
.clickWidgetToEdit:hover { background-color: pink; }','modified' => '1108912021',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.tab_widget.test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:1:"A";s:3:"120";s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:3:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Surname";s:4:"size";s:10:",,,surname";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:7:"surname";s:4:"help";s:7:"Surname";}s:1:"C";a:4:{s:4:"type";s:4:"text";s:5:"label";s:10:"Familyname";s:4:"name";s:10:"familyname";s:4:"help";s:10:"Familyname";}}i:2;a:3:{s:1:"A";a:5:{s:4:"type";s:3:"tab";s:4:"span";s:3:"all";s:5:"label";s:16:"Privat|Work|Note";s:4:"name";s:16:"privat|work|note";s:4:"help";s:42:"privat address|work address|free note-text";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{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";}}i:4;a:3:{s:1:"A";a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:12:"Save changes";}s:1:"B";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";s:4:"help";s:26:"Cancel, discarding changes";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:3;}}','size' => '','style' => '','modified' => '1108424730',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.new','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','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:5:"label";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:6:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";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";}i:2;a:1:{s:4:"type";s:5:"label";}}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:12:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"9";s:4:"span";s:3:"all";i:1;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: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: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:36:"Delete the eTemplate spezified above";s:7:"onclick";s:55:"return confirm(\'Delete the eTemplate spezified above\');";}i:5;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:6;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:7;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:8;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:9;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}}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' => '.redItalic { color: red; font-style: italic; }
|
||||
.clickWidgetToEdit { cursor: pointer; cursor: hand; }
|
||||
.clickWidgetToEdit:hover { background-color: pink; }','modified' => '1108912126',);
|
||||
|
||||
|
@ -63,12 +63,17 @@ closes the window without saving the changes etemplate de schlie
|
||||
column... etemplate de Spalte...
|
||||
columnname etemplate de Spaltenname
|
||||
comment etemplate de Kommentar
|
||||
confirm etemplate de bestätigen
|
||||
confirmation message or custom javascript (returning true or false) etemplate de Bestätigungsmeldung oder spezielles Javascript (true oder false zurücklieferned)
|
||||
confirmation necesary or custom java-script etemplate de Bestätigung notwendig oder spezielles Javascript
|
||||
create a new table for the application etemplate de Neue Tabelle für die Anwendung anlegen
|
||||
creates an english ('en') langfile from label and helptexts (for application in name) etemplate de erzeugt eine englische ('en') Sprachdatei aus den Beschriftungen und Hilfetexten (für die Anwendung in Name)
|
||||
css class for the table-tag etemplate de CSS class der Tabelle
|
||||
css properties etemplate de CSS Attribute
|
||||
css-class name for this row, preset: 'nmh' = nextmatch header, 'nmr' = alternating nm row, 'nmr0'+'nmr1' nm rows etemplate de Name der CSS class dieser Zeile, vorbelegt sind: 'th' = Kopfzeile, 'row' = zeilenweise wechselnde Farbe bzw. 'row_on', 'row_off'
|
||||
css-class name for this row, preset: 'th' = header, 'row' = alternating row, 'row_off'+'row_on' rows etemplate de Name der CSS class dieser Zeile, vorbelegt sind: 'th' = Kopfzeile, 'row' = zeilenweise wechselnde Farbe bzw. 'row_on', 'row_off'
|
||||
css-styles etemplate de CSS Stile
|
||||
custom etemplate de speziell
|
||||
cut etemplate de Ausschneiden
|
||||
date+time etemplate de Datum+Uhrzeit
|
||||
datum etemplate de Datum
|
||||
@ -214,12 +219,14 @@ no file etemplate de keine Datei
|
||||
no filename given or selected via browse... etemplate de kein Dateiname angegeben oder mit [Browse...] ausgewählt
|
||||
no row to swap with !!! etemplate de Keine Zeile um damit zu tauschen !!!
|
||||
not null etemplate de NOT NULL
|
||||
nothing etemplate de nichts
|
||||
nothing found - try again !!! etemplate de Nichts gefunden - nochmal versuchen !!!
|
||||
nothing in clipboard to paste !!! etemplate de Zwischenablage leer - nichts zum einfügen !!!
|
||||
nothing matched search criteria !!! etemplate de Nicht gefunden bei diesem Suchkriterium !!!
|
||||
number of colums the field/cell should span or 'all' for the remaining columns, css-class name (for the td tag) etemplate de Anzahl der Spalten die ein Feld überspannt oder 'all' für die übrigen Spalten, CSS class Name (für das TD-tag)
|
||||
number of rows/cols in a v/hbox, cellpadding, cellspacing etemplate de Anzahl Zeilen/Spalten der V/HBox, Innenabstand (Cellpadding), Zellenabstand (Cellspacing)
|
||||
of etemplate de von
|
||||
onclick etemplate de onClick
|
||||
only an other version found !!! etemplate de nur eine andere Version gefunden !!!
|
||||
optional note about the link etemplate de optionale Notiz zur Verknüpfung
|
||||
options etemplate de Optionen
|
||||
@ -319,7 +326,7 @@ unlink etemplate de L
|
||||
update a single entry by passing the fields. etemplate de Aktualisert einen einzelnen Eintrag über seine Felder.
|
||||
update from version '%s' to etemplate de Update von Version '%s' auf
|
||||
upload etemplate de Hochladen
|
||||
valign etemplate de Valing
|
||||
valign etemplate de vAlign
|
||||
value etemplate de Wert
|
||||
value has to be at least '%1' !!! etemplate de Der Wert muss mindestens '%1' betragen !!!
|
||||
value has to be at maximum '%1' !!! etemplate de Der Wert darf höchstens '%1' betragen !!!
|
||||
|
@ -63,12 +63,17 @@ closes the window without saving the changes etemplate en closes the window with
|
||||
column... etemplate en Column...
|
||||
columnname etemplate en ColumnName
|
||||
comment etemplate en Comment
|
||||
confirm etemplate en confirm
|
||||
confirmation message or custom javascript (returning true or false) etemplate en confirmation message or custom javascript (returning true or false)
|
||||
confirmation necesary or custom java-script etemplate en confirmation necesary or custom java-script
|
||||
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 helptexts (for application in Name)
|
||||
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
|
||||
css-class name for this row, preset: 'th' = header, 'row' = alternating row, 'row_off'+'row_on' rows etemplate en CSS-class name for this row, preset: 'th' = header, 'row' = alternating row, 'row_off'+'row_on' rows
|
||||
css-styles etemplate en CSS-styles
|
||||
custom etemplate en custom
|
||||
cut etemplate en Cut
|
||||
date+time etemplate en Date+Time
|
||||
datum etemplate en Datum
|
||||
@ -214,12 +219,14 @@ no file etemplate en no file
|
||||
no filename given or selected via browse... etemplate en no filename given or selected via Browse...
|
||||
no row to swap with !!! etemplate en no row to swap with !!!
|
||||
not null etemplate en NOT NULL
|
||||
nothing etemplate en nothing
|
||||
nothing found - try again !!! etemplate en Nothing found - try again !!!
|
||||
nothing in clipboard to paste !!! etemplate en nothing in clipboard to paste !!!
|
||||
nothing matched search criteria !!! etemplate en Nothing matched search criteria !!!
|
||||
number of colums the field/cell should span or 'all' for the remaining columns, css-class name (for the td tag) etemplate en number of colums the field/cell should span or 'all' for the remaining columns, CSS-class name (for the TD tag)
|
||||
number of rows/cols in a v/hbox, cellpadding, cellspacing etemplate en number of rows/cols in a V/HBox, Cellpadding, Cellspacing
|
||||
of etemplate en of
|
||||
onclick etemplate en onClick
|
||||
only an other version found !!! etemplate en only an other Version found !!!
|
||||
optional note about the link etemplate en optional note about the Link
|
||||
options etemplate en Options
|
||||
@ -319,7 +326,7 @@ unlink etemplate en Unlink
|
||||
update a single entry by passing the fields. etemplate en Update a single entry by passing the fields.
|
||||
update from version '%s' to etemplate en Update from Version '%s' to
|
||||
upload etemplate en Upload
|
||||
valign etemplate en Valign
|
||||
valign etemplate en vAlign
|
||||
value etemplate en Value
|
||||
value has to be at least '%1' !!! etemplate en Value has to be at least '%1' !!!
|
||||
value has to be at maximum '%1' !!! etemplate en Value has to be at maximum '%1' !!!
|
||||
|
Loading…
Reference in New Issue
Block a user