mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-24 23:58:54 +01:00
1) label, html & image image widget now fully supporting link, target and popup (size of a popup to open, if link gets clicked)
2) several imporvments for the link-widget - it uses now popups, if the link-registry says so for a given app - new widget to add an already linked entry of an other app (used in PM so far) - new widget to display a single link to view a linked entry
This commit is contained in:
parent
c13fd6c40a
commit
9de22c86f2
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - eTemplate Extension - InfoLog LinkTo Widget *
|
||||
* eGroupWare - eTemplate Extension - Link Widgets / UI for the link class *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Ralf Becker <RalfBecker@outdoor-training.de> *
|
||||
* -------------------------------------------- *
|
||||
@ -15,13 +15,21 @@
|
||||
/**
|
||||
* eTemplate Extension: several widgets as user-interface for the link-class
|
||||
*
|
||||
* 1) link-to: Widget to create links to an other entries of link-aware apps
|
||||
* All widgets use the link-registry, to "know" which apps use popups (and what size).
|
||||
* If run in a popup and the app uses no popups, a target will be set, to open a new full decorated window.
|
||||
*
|
||||
* The class contains the following widgets:
|
||||
* - link: Show a link to one linked entry specified by an array with keys app, id and optional title and help-message
|
||||
* - link-to: Widget to create links to an other entries of link-aware apps
|
||||
* If an id was set, this widgets creats the links without further interaction with the calling code.
|
||||
* If the entry does not yet exist, the widget returns an array with the new links in the id. After the
|
||||
* entry was successful create, bolink::link($app,$new_id,$arr) has to be called to create the links!
|
||||
* 2) link-list: Widget to shows the links to an entry and a Unlink Button for each link
|
||||
* 3) link-string: comma-separated list of link-titles with a link to its view method, value is like get_links()
|
||||
* - link-list: Widget to shows the links to an entry in a table with an unlink icon for each link
|
||||
* - link-string: comma-separated list of link-titles with a link to its view method, value is like get_links()
|
||||
* or array with keys to_app and to_id (widget calls then get_links itself)
|
||||
* - link-add: Add a new entry of the select app, which is already linked to a given entry
|
||||
*
|
||||
*<code>
|
||||
* $content[$name] = array(
|
||||
* 'to_app' => // I string appname of the entry to link to
|
||||
* 'to_id' => // IO int id of the entry to link to, for new entries 0, returns the array with new links
|
||||
@ -29,35 +37,43 @@
|
||||
* 'no_files' => // I boolean suppress attach-files, default no
|
||||
* 'search_label' => // I string label to use instead of search
|
||||
* 'link_label' => // I string label for the link button, default 'Link'
|
||||
*
|
||||
* );
|
||||
*</code>
|
||||
*
|
||||
* This widget is independent of the UI as it only uses etemplate-widgets and has therefor no render-function.
|
||||
*
|
||||
* @package etemplate
|
||||
* @subpackage extensions
|
||||
* @author RalfBecker-AT-outdoor-training.de
|
||||
* @license GPL
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
*/
|
||||
class link_widget
|
||||
{
|
||||
/**
|
||||
* exported methods of this class
|
||||
* @var array
|
||||
* @var array exported methods of this class
|
||||
*/
|
||||
var $public_functions = array(
|
||||
'pre_process' => True,
|
||||
'post_process' => True
|
||||
);
|
||||
/**
|
||||
* availible extensions and there names for the editor
|
||||
* @var array
|
||||
* @var array availible extensions and there names for the editor
|
||||
*/
|
||||
var $human_name = array( // this are the names for the editor
|
||||
var $human_name = array(
|
||||
'link' => 'Link',
|
||||
'link-to' => 'LinkTo',
|
||||
'link-list' => 'LinkList',
|
||||
'link-string' => 'LinkString'
|
||||
'link-string' => 'LinkString',
|
||||
'link-add' => 'LinkEntry',
|
||||
);
|
||||
/**
|
||||
* @var boolean $debug switches debug-messages on and off
|
||||
*/
|
||||
var $debug = False;
|
||||
/**
|
||||
* @var object $link reference to the link class
|
||||
*/
|
||||
var $link;
|
||||
|
||||
/**
|
||||
* Constructor of the extension
|
||||
@ -88,39 +104,16 @@
|
||||
*/
|
||||
function pre_process($name,&$value,&$cell,&$readonlys,&$extension_data,&$tmpl)
|
||||
{
|
||||
|
||||
if ($cell['type'] == 'link-to' && ($cell['readonly'] || $readonlys))
|
||||
$type = $cell['type'];
|
||||
|
||||
if (($type == 'link-to' || $type == 'link-add') && ($cell['readonly'] || $readonlys))
|
||||
{
|
||||
//echo "<p>link-to is readonly, cell=".print_r($cell,true).", readonlys=".print_r($readonlys)."</p>\n";
|
||||
// readonly ==> omit the whole widget
|
||||
$cell = $tmpl->empty_cell();
|
||||
return;
|
||||
}
|
||||
if ($cell['type'] == 'link-string')
|
||||
{
|
||||
$str = '';
|
||||
if (is_array($value))
|
||||
{
|
||||
foreach ($value as $link)
|
||||
{
|
||||
$options = '';
|
||||
if (($popup = $this->link->is_popup($link['app'],'view')))
|
||||
{
|
||||
list($w,$h) = explode('x',$popup);
|
||||
$options = ' onclick="window.open(this,this.target,\'width='.(int)$w.',height='.(int)$h.',location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes\'); return false;"';
|
||||
}
|
||||
$str .= ($str !== '' ? ', ' : '') . $tmpl->html->a_href(
|
||||
$tmpl->html->htmlspecialchars($this->link->title($link['app'],$link['id'])),
|
||||
'/index.php',$this->link->view($link['app'],$link['id'],$link),$options);
|
||||
}
|
||||
}
|
||||
$cell['type'] = 'html';
|
||||
$cell['readonly'] = True; // is allways readonly
|
||||
$value = $str;
|
||||
|
||||
return True;
|
||||
}
|
||||
if (!is_array($value))
|
||||
if (!is_array($value) && $type != 'link-string' && $type != 'link')
|
||||
{
|
||||
$value = array(
|
||||
'to_id' => $value,
|
||||
@ -135,16 +128,94 @@
|
||||
}
|
||||
switch ($type = $cell['type'])
|
||||
{
|
||||
case 'link':
|
||||
if (!$value['app'] || !$value['id'])
|
||||
{
|
||||
$cell = $tmpl->empty_cell();
|
||||
return;
|
||||
}
|
||||
$view = $this->link->view($value['app'],$value['id']);
|
||||
$link = $view['menuaction']; unset($view['menuaction']);
|
||||
foreach($view as $var => $val)
|
||||
{
|
||||
$link .= '&'.$var.'='.$val;
|
||||
}
|
||||
$target = '';
|
||||
if (!($popup = $this->link->is_popup($value['app'],'view')) &&
|
||||
$GLOBALS['egw_info']['etemplate']['output_mode'] == 2) // we are in a popup
|
||||
{
|
||||
$target = '_blank';
|
||||
}
|
||||
$cell['type'] = 'label';
|
||||
if (!$cell['help'])
|
||||
{
|
||||
$cell['help'] = $value['help'] ? $value['help'] : lang('view this linked entry in its application');
|
||||
$cell['no_lang'] = 2;
|
||||
}
|
||||
// size: [b[old]][i[talic]],[link],[activate_links],[label_for],[link_target],[link_popup_size]
|
||||
$cell['size'] = ','.$link.',,,'.$target.','.$popup;
|
||||
$value = $value['title'] ? $value['title'] : $this->link->title($value['app'],$value['id']);
|
||||
return true;
|
||||
|
||||
case 'link-string':
|
||||
$str = '';
|
||||
if ($values['to_id'] && $values['to_app'])
|
||||
{
|
||||
$values = $this->link->get_links($values['to_app'],$values['to_id']);
|
||||
}
|
||||
if (is_array($value))
|
||||
{
|
||||
foreach ($value as $link)
|
||||
{
|
||||
$options = ' title="'.$tmpl->html->htmlspecialchars(lang('view this linked entry in its application')).'"';
|
||||
if (($popup = $this->link->is_popup($link['app'],'view')))
|
||||
{
|
||||
list($w,$h) = explode('x',$popup);
|
||||
$options = ' onclick="window.open(this,this.target,\'width='.(int)$w.',height='.(int)$h.',location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes\'); return false;"';
|
||||
}
|
||||
elseif ($GLOBALS['egw_info']['etemplate']['output_mode'] == 2) // we are in a popup
|
||||
{
|
||||
$options = ' target="_blank"';
|
||||
}
|
||||
$str .= ($str !== '' ? ', ' : '') . $tmpl->html->a_href(
|
||||
$tmpl->html->htmlspecialchars($this->link->title($link['app'],$link['id'])),
|
||||
'/index.php',$this->link->view($link['app'],$link['id'],$link),$options);
|
||||
}
|
||||
}
|
||||
$cell['type'] = 'html';
|
||||
$cell['readonly'] = True; // is allways readonly
|
||||
$value = $str;
|
||||
return True;
|
||||
|
||||
case 'link-add':
|
||||
$apps = $this->link->app_list($type == 'link-add' ? 'add' : '');
|
||||
if (!$apps) // cant do an add without apps or already created entry
|
||||
{
|
||||
$cell = $tmpl->empty_cell();
|
||||
return;
|
||||
}
|
||||
asort($apps); // sort them alphabetic
|
||||
$value['options-app'] = array();
|
||||
foreach($apps as $app => $label)
|
||||
{
|
||||
$link = $GLOBALS['egw']->link('/index.php',$this->link->add($app,$value['to_app'],$value['to_id']));
|
||||
if (($popup = $this->link->is_popup($app,'add')))
|
||||
{
|
||||
list($w,$h) = explode('x',$popup);
|
||||
$action = "window.open('$link','_blank','width=$w,height=$h,location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes');";
|
||||
}
|
||||
else
|
||||
{
|
||||
$action = "location.href = '$link';";
|
||||
}
|
||||
$value['options-app'][$action] = $label;
|
||||
}
|
||||
$tpl =& new etemplate('etemplate.link_widget.add');
|
||||
break;
|
||||
|
||||
case 'link-to':
|
||||
$value['msg'] = '';
|
||||
if ($value['button'] == 'upload' && !empty($value['file']) && $value['file']['tmp_name'] != 'none')
|
||||
{
|
||||
$value = $extension_data;
|
||||
$value['remark'] = '';
|
||||
|
||||
$tpl =& new etemplate('etemplate.link_widget.attach');
|
||||
}
|
||||
elseif ($value['button'] == 'search' && count($ids = $this->link->query($value['app'],$value['query'])))
|
||||
if ($value['button'] == 'search' && count($ids = $this->link->query($value['app'],$value['query'])))
|
||||
{
|
||||
$extension_data['app'] = $value['app'];
|
||||
|
||||
@ -160,6 +231,9 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
// error from search or upload
|
||||
$value['msg'] = $value['button'] == 'search' ? lang('Nothing found - try again !!!') : $extension_data['msg'];
|
||||
|
||||
if (!$value['button'])
|
||||
{
|
||||
$extension_data = $value;
|
||||
@ -168,13 +242,13 @@
|
||||
$value['options-app'] = $this->link->app_list();
|
||||
asort($value['options-app']); // sort them alphabetic
|
||||
|
||||
if ($value['button'] == 'search') $value['msg'] = lang('Nothing found - try again !!!');
|
||||
|
||||
$tpl =& new etemplate('etemplate.link_widget.search');
|
||||
if ($value['search_label'])
|
||||
{
|
||||
$tpl->set_cell_attribute('app','label',$value['search_label']);
|
||||
}
|
||||
$tpl->set_cell_attribute('comment','onchange',"set_style_by_class('*','hide_comment','display',this.checked ? 'block' : 'none');");
|
||||
unset($value['comment']);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -208,7 +282,21 @@
|
||||
if (!is_array($link['id']))
|
||||
{
|
||||
$value[$row]['view'] = $this->link->view($link['app'],$link['id'],$link);
|
||||
$value[$row]['popup'] = $this->link->is_popup($link['app'],'view');
|
||||
if (!($value[$row]['popup'] = $this->link->is_popup($link['app'],'view')) &&
|
||||
$GLOBALS['egw_info']['etemplate']['output_mode'] == 2) // we are in a popup
|
||||
{
|
||||
$value[$row]['target'] = '_blank'; // we create a new window as the linked page is no popup
|
||||
}
|
||||
}
|
||||
if ($link['app'] == $this->link->vfs_appname)
|
||||
{
|
||||
$value[$row]['label'] = 'Delete';
|
||||
$value[$row]['help'] = lang('Delete this file');
|
||||
}
|
||||
else
|
||||
{
|
||||
$value[$row]['label'] = 'Unlink';
|
||||
$value[$row]['help'] = lang('Remove this link (not the entry itself)');
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -259,9 +347,13 @@
|
||||
list($unlink) = @each($value['unlink']);
|
||||
}
|
||||
unset($value[$button]);
|
||||
unset($value['msg']);
|
||||
unset($extension_data['msg']);
|
||||
|
||||
$value = array_merge($extension_data,(array) $value);
|
||||
|
||||
if (is_array($extension_data))
|
||||
{
|
||||
$value = is_array($value) ? array_merge($extension_data,$value) : $extension_data;
|
||||
}
|
||||
if ($button && $this->debug)
|
||||
{
|
||||
echo "<p>start: link_widget[$name]::post_process: button='$button', unlink='$unlink', value ="; _debug_array($value);
|
||||
@ -287,37 +379,28 @@
|
||||
break;
|
||||
|
||||
case 'attach':
|
||||
if (is_array($value['file']) && $value['to_app'])
|
||||
if (is_array($value['file']) && $value['to_app'] &&
|
||||
!empty($value['file']['tmp_name']) && $value['file']['tmp_name'] != 'none')
|
||||
{
|
||||
if (!$value['to_id'] || is_array($value['to_id'])) // otherwise the webserver deletes the file
|
||||
{
|
||||
move_uploaded_file($value['file']['tmp_name'],$value['file']['tmp_name'].'+');
|
||||
$value['file']['tmp_name'] .= '+';
|
||||
}
|
||||
$link_id = $this->link->link($value['to_app'],$value['to_id'],
|
||||
$this->link->vfs_appname,$value['file'],$value['remark']);
|
||||
if (!is_array($value['to_id']))
|
||||
{
|
||||
unlink($value['file']['tmp_name']);
|
||||
}
|
||||
|
||||
if (isset($value['primary']) && !$value['anz_links'] )
|
||||
{
|
||||
$value['primary'] = $link_id;
|
||||
}
|
||||
unset($value['file']);
|
||||
}
|
||||
$extension_data = $value;
|
||||
$loop = True;
|
||||
break;
|
||||
|
||||
case 'upload': // need to rename file, as php deletes it otherwise
|
||||
if (is_array($value['file']) && !empty($value['file']['tmp_name']) &&
|
||||
$value['file']['tmp_name'] != 'none')
|
||||
{
|
||||
move_uploaded_file($value['file']['tmp_name'],$value['file']['tmp_name'].'+');
|
||||
$value['file']['tmp_name'] .= '+';
|
||||
$extension_data = $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
unset($value['file']);
|
||||
$button = '';
|
||||
$value['msg'] = 'You need to select a file first!';
|
||||
}
|
||||
$extension_data = $value;
|
||||
$loop = True;
|
||||
break;
|
||||
|
||||
|
@ -17,18 +17,21 @@
|
||||
/**
|
||||
* creates dialogs / HTML-forms from eTemplate descriptions
|
||||
*
|
||||
* etemplate or uietemplate extends boetemplate, all vars and public functions are inherited
|
||||
*
|
||||
* Usage example:
|
||||
*<code>
|
||||
* $tmpl =& CreateObject('etemplate.etemplate','app.template.name');
|
||||
* $tmpl->exec('app.class.callback',$content_to_show);
|
||||
*</code>
|
||||
* This creates a form from the eTemplate 'app.template.name' and takes care that
|
||||
* the method / public function 'callback' in class 'class' of 'app' gets called
|
||||
* if the user submitts the form. For the complete param's see the description of exec.
|
||||
* if the user submits the form. For the complete param's see the description of exec.
|
||||
*
|
||||
* etemplate or uietemplate extends boetemplate, all vars and public functions are inherited
|
||||
*
|
||||
* @package etemplate
|
||||
* @subpackage api
|
||||
* @author RalfBecker-AT-outdoor-training.de
|
||||
* @license GPL
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
*/
|
||||
class etemplate extends boetemplate
|
||||
{
|
||||
@ -145,6 +148,7 @@
|
||||
}
|
||||
$id = $this->appsession_id();
|
||||
|
||||
$GLOBALS['egw_info']['etemplate']['output_mode'] = $output_mode; // let extensions "know" they are run eg. in a popup
|
||||
$GLOBALS['egw_info']['etemplate']['loop'] = False;
|
||||
$GLOBALS['egw_info']['etemplate']['form_options'] = ''; // might be set in show
|
||||
$GLOBALS['egw_info']['etemplate']['to_process'] = array();
|
||||
@ -160,6 +164,7 @@
|
||||
// dont set the width of popups!
|
||||
($output_mode != 0 ? '' : ' onsubmit="this.innerWidth.value=window.innerWidth ? window.innerWidth : document.body.clientWidth;"'));
|
||||
//echo "to_process="; _debug_array($GLOBALS['egw_info']['etemplate']['to_process']);
|
||||
|
||||
if ($this->sitemgr)
|
||||
{
|
||||
|
||||
@ -681,7 +686,7 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* generates HTML for 1 input-field / cell
|
||||
* generates HTML for one widget (input-field / cell)
|
||||
*
|
||||
* calls show to generate included eTemplates. Again only an INTERMAL function.
|
||||
*
|
||||
@ -707,7 +712,7 @@
|
||||
}
|
||||
list($span) = explode(',',$cell['span']); // evtl. overriten later for type template
|
||||
|
||||
if ($cell['name'][0] == '@' && $cell['type'] != 'template')
|
||||
if ($cell['name']{0} == '@' && $cell['type'] != 'template')
|
||||
{
|
||||
$cell['name'] = $this->get_array($content,$this->expand_name(substr($cell['name'],1),
|
||||
$show_c,$show_row,$content['.c'],$content['.row'],$content));
|
||||
@ -742,7 +747,7 @@
|
||||
while ((!$this->types[$cell['type']] || !empty($sub_type)) && $this->haveExtension($type,'pre_process'))
|
||||
{
|
||||
//echo "<p>pre_process($cell[name]/$cell[type])</p>\n";
|
||||
if (strchr($cell['size'],'$') || $cell['size'][0] == '@')
|
||||
if (strchr($cell['size'],'$') || $cell['size']{0} == '@')
|
||||
{
|
||||
$cell['size'] = $this->expand_name($cell['size'],$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
}
|
||||
@ -757,27 +762,27 @@
|
||||
list($type,$sub_type) = explode('-',$cell['type']);
|
||||
}
|
||||
list(,$class) = explode(',',$cell['span']); // might be set by extension
|
||||
if (strchr($class,'$') || $class[0] == '@')
|
||||
if (strchr($class,'$') || $class{0} == '@')
|
||||
{
|
||||
$class = $this->expand_name($class,$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
}
|
||||
$cell_options = $cell['size'];
|
||||
if (strchr($cell_options,'$') || $cell_options[0] == '@')
|
||||
if (strchr($cell_options,'$') || $cell_options{0} == '@')
|
||||
{
|
||||
$cell_options = $this->expand_name($cell_options,$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
}
|
||||
$label = $cell['label'];
|
||||
if (strchr($label,'$') || $label[0] == '@')
|
||||
if (strchr($label,'$') || $label{0} == '@')
|
||||
{
|
||||
$label = $this->expand_name($label,$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
}
|
||||
$help = $cell['help'];
|
||||
if (strchr($help,'$') || $help[0] == '@')
|
||||
if (strchr($help,'$') || $help{0} == '@')
|
||||
{
|
||||
$no_lang_on_help = true;
|
||||
$help = $this->expand_name($help,$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
}
|
||||
$blur = $cell['blur'][0] == '@' ? $this->get_array($content,substr($cell['blur'],1)) :
|
||||
$blur = $cell['blur']{0} == '@' ? $this->get_array($content,substr($cell['blur'],1)) :
|
||||
(strlen($cell['blur']) <= 1 ? $cell['blur'] : lang($cell['blur']));
|
||||
|
||||
if ($this->java_script())
|
||||
@ -827,10 +832,10 @@
|
||||
}
|
||||
switch ($type)
|
||||
{
|
||||
case 'label': // size: [[b]old][[i]talic][,link][,activate_links][,label_for][,link_popup_size]
|
||||
case 'label': // size: [b[old]][i[talic]],[link],[activate_links],[label_for],[link_target],[link_popup_size]
|
||||
if (is_array($value))
|
||||
break;
|
||||
list($style,$extra_link,$activate_links,$label_for,$extra_link_popup) = explode(',',$cell_options);
|
||||
list($style,$extra_link,$activate_links,$label_for,$extra_link_target,$extra_link_popup) = explode(',',$cell_options);
|
||||
$value = strlen($value) > 1 && !$cell['no_lang'] ? lang($value) : $value;
|
||||
$value = nl2br($this->html->htmlspecialchars($value));
|
||||
if ($activate_links) $value = $this->html->activate_links($value);
|
||||
@ -846,8 +851,8 @@
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'html':
|
||||
$extra_link = $cell_options;
|
||||
case 'html': // size: [link],[link_target],[link_popup_size]
|
||||
list($extra_link,$extra_link_target,$extra_link_popup) = explode(',',$cell_options);
|
||||
$html .= $value;
|
||||
break;
|
||||
case 'int': // size: [min][,[max][,len]]
|
||||
@ -1068,7 +1073,7 @@
|
||||
}
|
||||
if (!is_object($cell['obj']))
|
||||
{
|
||||
if ($cell['name'][0] == '@')
|
||||
if ($cell['name']{0} == '@')
|
||||
{
|
||||
$cell['obj'] = $this->get_array($content,substr($cell['name'],1));
|
||||
$obj_read = is_object($cell['obj']) ? 'obj from content' : 'obj read, obj-name from content';
|
||||
@ -1226,7 +1231,7 @@
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'image':
|
||||
case 'image': // size: [link],[link_target],[imagemap],[link_popup]
|
||||
$image = $value != '' ? $value : $name;
|
||||
list($app,$img) = explode('/',$image,2);
|
||||
if (!$app || !$img || !is_dir(EGW_SERVER_ROOT.'/'.$app) || strstr($img,'/'))
|
||||
@ -1236,15 +1241,16 @@
|
||||
}
|
||||
if (!$readonly)
|
||||
{
|
||||
list($extra_link,$extra_link_target,$imagemap) = explode(',',$cell['size']);
|
||||
list($extra_link,$extra_link_target,$imagemap,$extra_link_popup) = explode(',',$cell['size']);
|
||||
}
|
||||
$html .= $this->html->image($app,$img,strlen($label) > 1 && !$cell['no_lang'] ? lang($label) : $label,
|
||||
'border="0"'.($imagemap?' usemap="'.$this->html->htmlspecialchars($imagemap).'"':''));
|
||||
$extra_label = False;
|
||||
break;
|
||||
case 'file':
|
||||
case 'file': // size: size of the filename field
|
||||
if (!$readonly)
|
||||
{
|
||||
if ((int) $cell_options) $options .= ' size="'.(int)$cell_options.'"';
|
||||
$html .= $this->html->input_hidden($path_name = str_replace($name,$name.'_path',$form_name),'.');
|
||||
$html .= $this->html->input($form_name,'','file',$options);
|
||||
$GLOBALS['egw_info']['etemplate']['form_options'] =
|
||||
@ -1432,27 +1438,21 @@
|
||||
$html = ' ';
|
||||
}
|
||||
}
|
||||
if ($extra_link)
|
||||
if ($extra_link && (($extra_link = $this->expand_name($extra_link,$show_c,$show_row,$content['.c'],$content['.row'],$content))))
|
||||
{
|
||||
$extra_link = $this->expand_name($extra_link,$show_c,$show_row,$content['.c'],$content['.row'],$content);
|
||||
if ($extra_link[0] == '@')
|
||||
{
|
||||
$extra_link = $this->get_array($content,substr($extra_link,1));
|
||||
}
|
||||
if ($extra_link)
|
||||
{
|
||||
$options = $help ? ' onmouseover="self.status=\''.addslashes($this->html->htmlspecialchars($help)).'\'; return true;"' .
|
||||
' onmouseout="self.status=\'\'; return true;"' : '';
|
||||
$options = $help ? ' onmouseover="self.status=\''.addslashes($this->html->htmlspecialchars($help)).'\'; return true;"' .
|
||||
' onmouseout="self.status=\'\'; return true;"' : '';
|
||||
|
||||
if ($extra_link_target) $options .= ' target="'.$extra_link_target.'"';
|
||||
|
||||
if ($extra_link_popup)
|
||||
{
|
||||
list($w,$h) = explode('x',$extra_link_popup);
|
||||
$options .= ' onclick="window.open(this,this.target,\'width='.(int)$w.',height='.(int)$h.',location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes\'); return false;"';
|
||||
}
|
||||
return $this->html->a_href($html,$extra_link,'',$options);
|
||||
if ($extra_link_target && (($extra_link_target = $this->expand_name($extra_link_target,$show_c,$show_row,$content['.c'],$content['.row'],$content))))
|
||||
{
|
||||
$options .= ' target="'.addslashes($extra_link_target).'"';
|
||||
}
|
||||
if ($extra_link_popup && (($extra_link_popup = $this->expand_name($extra_link_popup,$show_c,$show_row,$content['.c'],$content['.row'],$content))))
|
||||
{
|
||||
list($w,$h) = explode('x',$extra_link_popup);
|
||||
$options .= ' onclick="window.open(this,this.target,\'width='.(int)$w.',height='.(int)$h.',location=no,menubar=no,toolbar=no,scrollbars=yes,status=yes\'); return false;"';
|
||||
}
|
||||
return $this->html->a_href($html,$extra_link,'',$options);
|
||||
}
|
||||
// if necessary show validation-error behind field
|
||||
if (isset($GLOBALS['egw_info']['etemplate']['validation_errors'][$form_name]))
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// eTemplates for Application 'etemplate', generated by soetemplate::dump4setup() 2005-11-09 17:51
|
||||
// eTemplates for Application 'etemplate', generated by soetemplate::dump4setup() 2005-11-10 15:50
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@ -65,23 +65,24 @@ $templ_data[] = array('name' => 'etemplate.groupbox.test-template','template' =>
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.integer','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:2:"c1";s:7:",middle";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:3:"int";s:4:"size";s:2:",2";s:5:"label";s:5:"Datum";s:4:"name";s:4:"zahl";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:5:"2,0,0";i:1;a:3:{s:4:"type";s:6:"button";s:4:"size";s:9:"up.button";s:5:"label";s:1:"+";}i:2;a:3:{s:4:"type";s:6:"button";s:4:"size";s:11:"down.button";s:5:"label";s:1:"-";}}}}s:4:"rows";i:1;s:4:"cols";i:2;s:4:"size";s:8:",,0,,0,0";}}','size' => ',,0,,0,0','style' => '','modified' => '1046010927',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.attach','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:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"File";}s:1:"B";a:4:{s:4:"type";s:5:"label";s:4:"span";s:11:",like_input";s:7:"no_lang";s:1:"1";s:4:"name";s:10:"file[path]";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"click here to attach the file";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:3:"new";s:4:"help";s:36:"start a new search, cancel this link";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Comment";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:5:"50,50";s:4:"span";s:3:"all";s:4:"name";s:6:"remark";s:4:"help";s:28:"optional note about the Link";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '.like_input { background: white; border: medium groove black; padding-left: 3px; padding-right: 3px; }','modified' => '1035118591',);
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.add','template' => '','lang' => '','group' => '0','version' => '1.2.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:2:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"name";s:3:"app";s:4:"help";s:43:"Add a new entry of the selected application";s:5:"label";s:7:"Add new";s:7:"no_lang";s:1:"1";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:5:"label";s:3:"Add";s:4:"name";s:3:"add";s:4:"help";s:43:"Add a new entry of the selected application";s:7:"onclick";s:64:"eval(this.form.elements[form::name(\'app\')].value); return false;";}}}s:4:"rows";i:1;s:4:"cols";i:2;}}','size' => '','style' => '.redItalic { font-style: italic; color: red; }
|
||||
.hide_comment { display: none; }','modified' => '1131618647',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.add-test','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:2:{s:4:"type";s:8:"link-add";s:4:"name";s:3:"add";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1131620509',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.create','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:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:3:"app";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:2:"id";s:4:"help";s:28:"Select an entry to link with";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Link";s:4:"name";s:6:"create";s:4:"help";s:29:"click here to create the Link";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"New search";s:4:"name";s:3:"new";s:4:"help";s:36:"start a new search, cancel this link";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Comment";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:5:"50,50";s:4:"span";s:3:"all";s:4:"name";s:6:"remark";s:4:"help";s:28:"optional note about the Link";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '','modified' => '1035043515',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.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:2:{i:0;a:2:{s:1:"E";s:10:",!@primary";s:2:"c1";s:3:"nmr";}i:1;a:5:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:5:{s:4:"type";s:5:"label";s:4:"size";s:14:",@${row}[view]";s:7:"no_lang";s:1:"1";s:4:"name";s:13:"${row}[title]";s:4:"help";s:41:"view this linked entry in its application";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";s:4:"name";s:14:"${row}[remark]";}s:1:"D";a:5:{s:4:"type";s:6:"button";s:4:"size";s:10:"delete.gif";s:5:"label";s:6:"Unlink";s:4:"name";s:26:"unlink[$row_cont[link_id]]";s:4:"help";s:39:"Remove this link (not the entry itself)";}s:1:"E";a:4:{s:4:"type";s:5:"radio";s:4:"size";s:18:"$row_cont[link_id]";s:4:"name";s:7:"primary";s:4:"help";s:45:"Select a primary contact, to show in the list";}}}s:4:"rows";i:1;s:4:"cols";i:5;s:4:"size";s:12:",,,whiteback";}}','size' => ',,,whiteback','style' => '.whiteback { background: white; }','modified' => '1034867023',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.list','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:2:{i:0;a:2:{s:1:"D";s:10:",!@primary";s:2:"c1";s:3:"nmr";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:5:{s:4:"type";s:5:"label";s:4:"size";s:14:",@${row}[view]";s:7:"no_lang";s:1:"1";s:4:"name";s:13:"${row}[title]";s:4:"help";s:41:"view this linked entry in its application";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"span";s:15:",note_following";s:7:"no_lang";s:1:"1";s:4:"name";s:14:"${row}[remark]";}}s:1:"C";a:5:{s:4:"type";s:6:"button";s:4:"size";s:10:"delete.png";s:5:"label";s:6:"Unlink";s:4:"name";s:26:"unlink[$row_cont[link_id]]";s:4:"help";s:39:"Remove this link (not the entry itself)";}s:1:"D";a:4:{s:4:"type";s:5:"radio";s:4:"size";s:18:"$row_cont[link_id]";s:4:"name";s:7:"primary";s:4:"help";s:45:"Select a primary contact, to show in the list";}}}s:4:"rows";i:1;s:4:"cols";i:4;s:4:"size";s:12:",,,whiteback";}}','size' => ',,,whiteback','style' => '.whiteback { background: white; }
|
||||
.note_following { font-style: italic; padding-left: 5px; }','modified' => '1035126186',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '0.1','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:4:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";s:2:"h2";s:10:",@no_files";s:2:"h1";s:11:",!@show_msg";}i:1;a:4:{s:1:"A";a:5:{s:5:"label";s:6:"Search";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"type";s:6:"select";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:4:{s:4:"size";s:2:"25";s:4:"name";s:5:"query";s:4:"type";s:4:"text";s:4:"help";s:22:"Enter a search pattern";}s:1:"C";a:4:{s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"type";s:6:"button";s:4:"help";s:30:"Click here to start the search";}s:1:"D";a:3:{s:4:"name";s:3:"msg";s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"attach file";}s:1:"B";a:3:{s:4:"name";s:4:"file";s:4:"type";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"C";a:4:{s:5:"label";s:6:"Upload";s:4:"name";s:6:"upload";s:4:"type";s:6:"button";s:4:"help";s:29:"Click here to upload the file";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"cols";i:4;s:4:"rows";i:2;}}','size' => '','style' => '.error_msg { font-style: italic; color: red; }','modified' => '1113223816',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','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:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:5:"label";s:6:"Search";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"25";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";}s:1:"D";a:4:{s:4:"type";s:5:"label";s:4:"span";s:10:",error_msg";s:5:"label";s:29:"Nothing found - try again !!!";s:4:"name";s:3:"msg";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"attach file";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Upload";s:4:"name";s:6:"upload";s:4:"help";s:29:"Click here to upload the file";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '.error_msg { font-style: italic; color: red; }','modified' => '1035126376',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '0.9.15.003','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:6:"row_on";s:2:"c2";s:7:"row_off";}i:1;a:4:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:5:"label";s:6:"Search";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"25";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";}s:1:"D";a:4:{s:4:"type";s:5:"label";s:4:"span";s:10:",error_msg";s:5:"label";s:29:"Nothing found - try again !!!";s:4:"name";s:3:"msg";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"attach file";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Upload";s:4:"name";s:6:"upload";s:4:"help";s:29:"Click here to upload the file";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '.error_msg { font-style: italic; color: red; }','modified' => '1054320872',);
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.list','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:2:{s:1:"D";s:10:",!@primary";s:2:"c1";s:3:"nmr";}i:1;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"${row}[app]";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:5:"2,0,0";i:1;a:5:{s:4:"type";s:5:"label";s:4:"size";s:47:",@${row}[view],,,@${row}[target],@${row}[popup]";s:7:"no_lang";s:1:"1";s:4:"name";s:13:"${row}[title]";s:4:"help";s:41:"view this linked entry in its application";}i:2;a:4:{s:4:"type";s:5:"label";s:4:"span";s:15:",note_following";s:7:"no_lang";s:1:"1";s:4:"name";s:14:"${row}[remark]";}}s:1:"C";a:5:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:16:"$row_cont[label]";s:4:"name";s:26:"unlink[$row_cont[link_id]]";s:4:"help";s:15:"$row_cont[help]";}s:1:"D";a:4:{s:4:"type";s:5:"radio";s:4:"size";s:18:"$row_cont[link_id]";s:4:"name";s:7:"primary";s:4:"help";s:45:"Select a primary contact, to show in the list";}}}s:4:"rows";i:1;s:4:"cols";i:4;s:4:"size";s:12:",,,whiteback";}}','size' => ',,,whiteback','style' => '.whiteback { background: white; }
|
||||
.note_following { font-style: italic; padding-left: 5px; }','modified' => '1035126186',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:5:"label";s:6:"Search";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"25";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}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:5:"label";s:11:"attach file";}s:1:"B";a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Upload";s:4:"name";s:6:"upload";s:4:"help";s:29:"Click here to upload the file";}}}s:4:"rows";i:3;s:4:"cols";i:3;}}','size' => '','style' => '.error_msg { font-style: italic; color: red; }','modified' => '1113223869',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.link_widget.search','template' => '','lang' => '','group' => '0','version' => '1.2.001','data' => 'a:2:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:6:"row_on";s:2:"c3";s:7:"row_off";s:2:"h3";s:10:",@no_files";s:2:"c2";s:6:"row_on";s:2:"h2";s:6:",!@msg";}i:1;a:4:{s:1:"A";a:4:{s:4:"type";s:6:"select";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"app";s:4:"help";s:26:"Select an App to search in";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"32";s:4:"name";s:5:"query";s:4:"help";s:22:"Enter a search pattern";s:8:"tabindex";i:99;}s:1:"C";a:6:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:6:"search";s:4:"help";s:30:"Click here to start the search";s:4:"span";s:3:"all";s:8:"tabindex";i:100;}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:2;a:4:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";s:5:"align";s:6:"center";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}}i:3;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:11:"Attach file";}s:1:"B";a:4:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:69:"Enter filename to upload and attach, use [Browse...] to search for it";s:4:"size";s:2:"12";}s:1:"C";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Attach";s:4:"name";s:6:"attach";s:4:"help";s:29:"Click here to attach the file";}s:1:"D";a:4:{s:4:"type";s:8:"checkbox";s:5:"label";s:7:"Comment";s:4:"name";s:7:"comment";s:4:"help";s:28:"optional note about the Link";}}}s:4:"rows";i:3;s:4:"cols";i:4;}i:1;a:6:{s:4:"type";s:4:"text";s:4:"name";s:6:"remark";s:4:"size";s:5:"50,50";s:4:"span";s:13:",hide_comment";s:5:"label";s:7:"Comment";s:4:"help";s:28:"optional note about the Link";}}','size' => '','style' => '.redItalic { font-style: italic; color: red; }
|
||||
.hide_comment { display: none; }','modified' => '1131608831',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.nextmatch_widget','template' => '','lang' => '','group' => '0','version' => '0.9.15.007','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:1:"A";s:3:"40%";s:1:"C";s:3:"40%";s:2:"h4";s:13:",!@bottom_too";}i:1;a:3:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"@header_left";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:6:"center";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"showing";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"range";}i:2;a:4:{s:4:"type";s:5:"label";s:5:"label";s:2:"of";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"total";}}s:1:"C";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:13:"@header_right";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:8:"onchange";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:4:"rows";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:9:"@template";}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:5:{s:4:"type";s:8:"template";s:4:"size";s:6:"bottom";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:3;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1056897420',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.nextmatch_widget','template' => '','lang' => '','group' => '0','version' => '0.9.15.008','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:1:"A";s:3:"40%";s:1:"C";s:3:"40%";s:2:"h4";s:13:",!@bottom_too";}i:1;a:3:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"@header_left";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:6:"center";i:1;a:4:{s:4:"type";s:5:"label";s:5:"label";s:7:"showing";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"range";}i:2;a:4:{s:4:"type";s:5:"label";s:5:"label";s:2:"of";s:7:"no_lang";s:1:"1";s:4:"name";s:5:"total";}}s:1:"C";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:13:"@header_right";}}i:2;a:3:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:8:"onchange";s:1:"1";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}i:3;a:3:{s:1:"A";a:5:{s:4:"type";s:8:"template";s:4:"size";s:4:"rows";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:9:"@template";}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:5:{s:4:"type";s:8:"template";s:4:"size";s:6:"bottom";s:4:"span";s:3:"all";s:5:"align";s:6:"center";s:4:"name";s:33:"etemplate.nextmatch_widget.nm_row";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:3;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.activ_sortcolumn { color: red; font-weight: bold; }
|
||||
|
@ -17,9 +17,11 @@ a pattern to be searched for etemplate de ein Muster nach dem gesucht werden sol
|
||||
accesskey etemplate de Tastaturkürzel
|
||||
accesskeys can also be specified with an & in the label (eg. &name) etemplate de Ein Tastaturkürzel kann auch über ein & in der Beschriftung angegeben werden
|
||||
add a new column (after the existing ones) etemplate de Neue Spalte hinzufügen (hinter den bestehenden)
|
||||
add a new entry of the selected application etemplate de Einen neuen Eintrag der ausgewählten Anwendung hinzufügen
|
||||
add a new multi-column index etemplate de Fügt einen mehrspaltigen Index hinzu
|
||||
add column etemplate de Spalte zufügen
|
||||
add index etemplate de Index zufügen
|
||||
add new etemplate de Neu hinzufügen
|
||||
add table etemplate de Tabelle zufügen
|
||||
advanced search etemplate de Erweiterte Suche
|
||||
align etemplate de Ausrichtung
|
||||
@ -97,6 +99,7 @@ delete index etemplate de Index l
|
||||
delete the spezified etemplate etemplate de löscht das angegebene eTemplate
|
||||
delete this column etemplate de diese Spalte löschen
|
||||
delete this etemplate etemplate de dieses eTemplate löschen
|
||||
delete this file etemplate de Diese Datei löschen
|
||||
delete this row etemplate de diese Zeile löschen
|
||||
delete whole column (can not be undone!!!) etemplate de ganze Zeile löschen (kann NICHT rückgängig gemacht werden)
|
||||
deletes the above spez. etemplate from the database, can not be undone etemplate de löscht das oben spezifiziert eTemplate aus der Datenbank, kann NICHT rückgängig gemacht werden
|
||||
@ -204,9 +207,10 @@ last etemplate de Letzte
|
||||
left etemplate de Links
|
||||
length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8 etemplate de Länge für char+varchar, Genauigkeit für int: 2, 4, 8 und float: 4, 8
|
||||
link etemplate de Verknüpfung
|
||||
linkentry etemplate de VerknüpfungEintrag
|
||||
linklist etemplate de VerknüpfungListe
|
||||
linkstring etemplate de VerküpfungZeichenkette
|
||||
linkto etemplate de VerküpfungZu
|
||||
linkstring etemplate de VerknüpfungZeichenkette
|
||||
linkto etemplate de VerknüpfungZu
|
||||
load this template into the editor etemplate de lädt diese Template zum Bearbeiten
|
||||
middle etemplate de Mittig
|
||||
minute etemplate de Minute
|
||||
|
@ -17,9 +17,11 @@ a pattern to be searched for etemplate en a pattern to be searched for
|
||||
accesskey etemplate en Accesskey
|
||||
accesskeys can also be specified with an & in the label (eg. &name) etemplate en Accesskeys can also be specified with an & in the label (eg. &Name)
|
||||
add a new column (after the existing ones) etemplate en Add a new column (after the existing ones)
|
||||
add a new entry of the selected application etemplate en Add a new entry of the selected application
|
||||
add a new multi-column index etemplate en Add a new multi-column index
|
||||
add column etemplate en Add Column
|
||||
add index etemplate en Add Index
|
||||
add new etemplate en Add new
|
||||
add table etemplate en Add Table
|
||||
advanced search etemplate en Advanced search
|
||||
align etemplate en Align
|
||||
@ -97,6 +99,7 @@ delete index etemplate en Delete Index
|
||||
delete the spezified etemplate etemplate en Delete the spezified eTemplate
|
||||
delete this column etemplate en delete this column
|
||||
delete this etemplate etemplate en delete this eTemplate
|
||||
delete this file etemplate en Delete this file
|
||||
delete this row etemplate en delete this row
|
||||
delete whole column (can not be undone!!!) etemplate en delete whole column (can NOT be undone!!!)
|
||||
deletes the above spez. etemplate from the database, can not be undone etemplate en deletes the above spez. eTemplate from the database, can NOT be undone
|
||||
@ -204,6 +207,7 @@ last etemplate en Last
|
||||
left etemplate en Left
|
||||
length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8 etemplate en length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8
|
||||
link etemplate en Link
|
||||
linkentry etemplate en LinkEntry
|
||||
linklist etemplate en LinkList
|
||||
linkstring etemplate en LinkString
|
||||
linkto etemplate en LinkTo
|
||||
|
Loading…
Reference in New Issue
Block a user