R26580 - in /branches/1.6/filemanager: inc/ setup/ templates/default/

Author: ralfbecker
New Revision: 26580

URL: http://www.egroupware.org/viewvc?rev=3D26580&view=3Drev
Log:
Fixed silent overwrite of existing files by new uploads.

Modified:
branches/1.6/filemanager/inc/class.filemanager_ui.inc.php
branches/1.6/filemanager/setup/egw_de.lang
branches/1.6/filemanager/setup/egw_en.lang
branches/1.6/filemanager/setup/etemplates.inc.php
branches/1.6/filemanager/templates/default/index.xet

Modified: branches/1.6/filemanager/inc/class.filemanager_ui.inc.php
URL: http://www.egroupware.org/viewvc/branches/1.6/filemanager/inc/class.fi=
lemanager_ui.inc.php?rev=3D26580&r1=3D26579&r2=3D26580&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
— branches/1.6/filemanager/inc/class.filemanager_ui.inc.php (original)
+++ branches/1.6/filemanager/inc/class.filemanager_ui.inc.php Thu Feb 26 15=
:57:40 2009
@@ -73,8 +73,6 @@
function index(array $content=3Dnull,$msg=3Dnull)
{
$tpl =3D new etemplate(‘filemanager.index’);

  •   //_debug_array($content);
    

=

	if (!is_array($content))
	{

@@ -113,12 +111,9 @@
}
}
// check if we have a failed upload AND upload_max_filesize >=3D post_ma=
x_size --> no $_POST array

  •   if ($_GET['post_empty'] && self::km2int(ini_get('upload_max_filesize')) =
    

=3D self::km2int(ini_get(‘post_max_size’)) ||

  •   	// or size bigger as upload_max_filesize
    
  •   	$content['button']['upload'] && (!is_array($content['upload']) || !is_u=
    

ploaded_file($content[‘upload’][‘tmp_name’])))

  •   if ($_GET['post_empty'] && self::km2int(ini_get('upload_max_filesize')) =
    

=3D self::km2int(ini_get(‘post_max_size’)))
{
$msg =3D lang(‘Error uploading file!’)."\n".self::max_upload_size_messa=
ge();

  •   	unset($content['button']);
      }
      $content['nm']['msg'] =3D $msg;
    

=

@@ -179,17 +174,36 @@
$content[‘nm’][‘msg’] =3D self::action($clipboard_type.’_paste’,$clip=
board_files,$content[‘nm’][‘path’]);
break;
case ‘upload’:

  •   			// strip '?', '/' and '#' from filenames, as they are forbidden for s=
    

qlfs / make problems

  •   			$to =3D egw_vfs::concat($content['nm']['path'],str_replace(array('?',=
    

‘/’,’#’),’’,$content[‘upload’][‘name’]));

  •   			if ($content['upload'] && is_uploaded_file($content['upload']['tmp_na=
    

me’]) &&

  •   				(egw_vfs::is_writable($content['nm']['path']) || egw_vfs::is_writabl=
    

e($to)) &&

  •   				copy($content['upload']['tmp_name'],egw_vfs::PREFIX.$to))
    
  •   			{
    
  •   				$content['nm']['msg'] =3D lang('File successful uploaded.');
    
  •   			}
    
  •   			else
    
  •   			{
    
  •   				$content['nm']['msg'] =3D lang('Error uploading file!');
    
  •   			if (!$content['upload'])
    
  •   			{
    
  •   				$content['nm']['msg'] =3D lang('You need to select some files first!=
    

');

  •   				break;
    
  •   			}
    
  •   			$upload_success =3D $upload_failure =3D array();
    
  •   			foreach(isset($content['upload'][0]) ? $content['upload'] : array($co=
    

ntent[‘upload’]) as $upload)

  •   			{
    
  •   				// strip '?', '/' and '#' from filenames, as they are forbidden for =
    

sqlfs / make problems

  •   				$to =3D egw_vfs::concat($content['nm']['path'],str_replace(array('?'=
    

,’/’,’#’),’’,$upload[‘name’]));

  •   				if ($upload && is_uploaded_file($upload['tmp_name']) &&
    
  •   					(egw_vfs::is_writable($content['nm']['path']) || egw_vfs::is_writab=
    

le($to)) &&

  •   					copy($upload['tmp_name'],egw_vfs::PREFIX.$to))
    
  •   				{
    
  •   					$upload_success[] =3D $upload['name'];
    
  •   				}
    
  •   				else
    
  •   				{
    
  •   					$upload_failure[] =3D $upload['name'];
    
  •   				}
    
  •   			}
    
  •   			$content['nm']['msg'] =3D '';
    
  •   			if ($upload_success)
    
  •   			{
    
  •   				$content['nm']['msg'] =3D count($upload_success) =3D=3D 1 && !$uploa=
    

d_failure ? lang(‘File successful uploaded.’) :

  •   					lang('%1 successful uploaded.',implode(', ',$upload_success));
    
  •   			}
    
  •   			if ($upload_failure)
    
  •   			{
    
  •   				$content['nm']['msg'] .=3D ($upload_success ? "\n" : '').lang('Error=
    

uploading file!’)."\n".self::max_upload_size_message();
}
break;
}
@@ -221,6 +235,45 @@
’’ =3D> ‘Files from subdirectories’,
);
$tpl->exec(‘filemanager.filemanager_ui.index’,$content,$sel_options,$rea=
donlys,array(‘nm’ =3D> $content[‘nm’]));

  • }
  • /**
    • Check if a file upload would overwrite an existing file and get a user=
      confirmation in that case
    • @param string $id id of the input
    • @param string $name name (incl. client-path) of the file to upload
    • @param string $dir current vfs directory
    • @return string xajax output
  • */
  • static function ajax_check_upload_target($id,$name,$dir)
  • {
  •   $response =3D new xajaxResponse();
    
  •   //$response->addAlert(__METHOD__."('$id','$name','$dir')");
    
  •   $name =3D explode('/',str_replace('\\','/',$name));	// in case of win cl=
    

ients

  •   $name =3D array_pop($name);
    
  •   // strip '?', '/' and '#' from filenames, as they are forbidden for sqlf=
    

s / make problems

  •   $path =3D egw_vfs::concat($dir,str_replace(array('?','/','#'),'',$name));
    
  •   if (egw_vfs::stat($path))
    
  •   {
    
  •   	if (egw_vfs::is_dir($path))
    
  •   	{
    
  •   		$response->addAlert(lang("There's already a directory with that name!"=
    

));

  •   		$response->addScript("document.getElementById('$id').value=3D'';");
    
  •   	}
    
  •   	else
    
  •   	{
    
  •   		$response->addScript("if (!confirm('".addslashes(lang('Do you want to =
    

overwrite the existing file %1?’,$path))."’)) document.getElementById(’$id’=
).value=3D’’;");

  •   	}
    
  •   }
    
  •   else
    
  •   {
    
  •   	// do nothing new file
    
  •   }
    
  •   return $response->getXML();
    

    }
    =

    /**

Modified: branches/1.6/filemanager/setup/egw_de.lang
URL: http://www.egroupware.org/viewvc/branches/1.6/filemanager/setup/egw_de=
.lang?rev=3D26580&r1=3D26579&r2=3D26580&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
— branches/1.6/filemanager/setup/egw_de.lang (original)
+++ branches/1.6/filemanager/setup/egw_de.lang Thu Feb 26 15:57:40 2009
@@ -9,6 +9,7 @@
%1 files deleted. filemanager de %1 Dateien gel=C3=83=C2=B6scht.
%1 files moved. filemanager de %1 Dateien verschoben.
%1 starts with ‘%2’ filemanager de %1 beginnt mit ‘%2’
+%1 successful uploaded. filemanager de %1 erfolgreich hochgeladen.
%1 the following files into current directory filemanager de Die foldenden=
Dateien in das aktuelle Verzeichnis %1
%1 urls %2 to clipboard. filemanager de %1 Adressen in die Zwischenablage =
%2.
accessrights filemanager de Zugangsberechtigungen
@@ -57,6 +58,7 @@
directory not found or no permission to access it! filemanager de Verzeich=
nis nicht gefunden oder keine Rechte darauf zuzugreifen!
display and modification of content filemanager de Anzeigen und Ver=C3=83=
=C2=A4ndern des Inhaltes
display of content filemanager de Anzeigen des Inhaltes
+do you want to overwrite the existing file %1? filemanager de Wollen Sie d=
ie existierende Datei %1 =C3=83=C2=BCberschreiben?
download filemanager de Herunterladen
edit comments filemanager de Kommentare bearbeiten
edit settings filemanager de Einstellungen bearbeiten
@@ -146,6 +148,7 @@
superuser filemanager de Superuser
the default start folder is your personal folder. the default is used, if =
you leave this empty, the path does not exist or you lack the neccessary ac=
cess permissions. filemanager de Die Vorgabe f=C3=83=C2=BCr das Anfangsverz=
eichnis ist Ihr per=C3=83=C2=B6nlicher Ordner. Die Vorgabe wird benutzt, we=
nn Sie hier nichts eintragen, der Pfad nicht existiert oder Ihnen die notwe=
nding Zugriffsrechte fehlen.
the requested path %1 is not available. filemanager de Der angeforderte Ve=
rzeichnispfad %1 steht nicht zur Verf=C3=83=C2=BCgung.
+there’s already a directory with that name! filemanager de Es gibt bereits=
ein Verzeichnis mit diesem Namen!
there’s already a file with that name! filemanager de Es gibt bereits eine=
Datei mit diesem Namen!
to overwrite the existing file store again. filemanager de Zum =C3=83=C2=
=9Cberschreiben der Datei nochmal speichern.
total files filemanager de Gesamtanzahl Dateien

Modified: branches/1.6/filemanager/setup/egw_en.lang
URL: http://www.egroupware.org/viewvc/branches/1.6/filemanager/setup/egw_en=
.lang?rev=3D26580&r1=3D26579&r2=3D26580&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
— branches/1.6/filemanager/setup/egw_en.lang (original)
+++ branches/1.6/filemanager/setup/egw_en.lang Thu Feb 26 15:57:40 2009
@@ -9,6 +9,7 @@
%1 files deleted. filemanager en %1 files deleted.
%1 files moved. filemanager en %1 files moved.
%1 starts with ‘%2’ filemanager en %1 starts with ‘%2’
+%1 successful uploaded. filemanager en %1 successful uploaded.
%1 the following files into current directory filemanager en %1 the follow=
ing files into current directory
%1 urls %2 to clipboard. filemanager en %1 URLs %2 to clipboard.
accessrights filemanager en Accessrights
@@ -57,6 +58,7 @@
directory not found or no permission to access it! filemanager en Director=
y not found or no permission to access it!
display and modification of content filemanager en Display and modificatio=
n of content
display of content filemanager en Display of content
+do you want to overwrite the existing file %1? filemanager en Do you want =
to overwrite the existing file %1?
download filemanager en Download
edit comments filemanager en Edit comments
edit settings filemanager en Edit settings
@@ -146,6 +148,7 @@
superuser filemanager en Superuser
the default start folder is your personal folder. the default is used, if =
you leave this empty, the path does not exist or you lack the neccessary ac=
cess permissions. filemanager en The default start folder is your personal =
Folder. The default is used, if you leave this empty, the path does not exi=
st or you lack the neccessary access permissions.
the requested path %1 is not available. filemanager en The requested path =
%1 is not available.
+there’s already a directory with that name! filemanager en There’s already=
a directory with that name!
there’s already a file with that name! filemanager en There’s already a fi=
le with that name!
to overwrite the existing file store again. filemanager en To overwrite th=
e existing file store again.
total files filemanager en Total Files

Modified: branches/1.6/filemanager/setup/etemplates.inc.php
URL: http://www.egroupware.org/viewvc/branches/1.6/filemanager/setup/etempl=
ates.inc.php?rev=3D26580&r1=3D26579&r2=3D26580&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
— branches/1.6/filemanager/setup/etemplates.inc.php (original)
+++ branches/1.6/filemanager/setup/etemplates.inc.php Thu Feb 26 15:57:40 2=
009
@@ -2,7 +2,7 @@
/**
* eGroupWare - eTemplates for Application filemanager
* http://www.egroupware.org

    • generated by soetemplate::dump4setup() 2008-11-16 11:25

$templ_version=3D1;

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file’,‘template’ =3D> ‘’,=
‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D> ‘a:1:{=
i:0;a:4:{s:4:“type”;s:4:“grid”;s:4:“data”;a:4:{i:0;a:1:{s:2:“h1”;s:6:",!@ms=
g";}i:1;a:1:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:4:“span”;s:10:",redItali=
c";s:4:“name”;s:3:“msg”;}}i:2;a:1:{s:1:“A”;a:4:{s:4:“type”;s:3:“tab”;s:5:“l=
abel”;s:27:“General|Permissions|Preview”;s:4:“name”;s:21:“general|perms|pre=
view”;s:4:“span”;s:3:“all”;}}i:3;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:4:{s:4:“type”;s:10:“buttononly”;s:5:“label”;s:6:=
“Cancel”;s:4:“name”;s:14:“button[cancel]”;s:7:“onclick”;s:15:“window.close(=
);”;}}}}s:4:“rows”;i:3;s:4:“cols”;i:1;}}’,‘size’ =3D> ‘’,‘style’ =3D> ‘’,‘m=
odified’ =3D> ‘1204554434’,);

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file’,‘template’ =3D> ‘’,=
‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.002’,‘data’ =3D> ‘a:1:{=
i:0;a:4:{s:4:“type”;s:4:“grid”;s:4:“data”;a:4:{i:0;a:1:{s:2:“h1”;s:6:",!@ms=
g";}i:1;a:1:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:4:“span”;s:13:“all,redIt=
alic”;s:4:“name”;s:3:“msg”;}}i:2;a:1:{s:1:“A”;a:4:{s:4:“type”;s:3:“tab”;s:5=
:“label”;s:40:“General|Permissions|Extended ACL|Preview”;s:4:“name”;s:26:“g=
eneral>perms>eacl>preview”;s:4:“span”;s:3:“all”;}}i:3;a:1:{s:1:“A”;a:5:{s:4=
:“type”;s:4:“hbox”;s:4:“size”;s:1:“3”;i:1;a:3:{s:4:“type”;s:6:“button”;s:5:=
“label”;s:4:“Save”;s:4:“name”;s:12:“button[save]”;}i:2;a:3:{s:4:“type”;s:6:=
“button”;s:4:“name”;s:13:“button[apply]”;s:5:“label”;s:5:“Apply”;}i:3;a:4:{=
s:4:“type”;s:10:“buttononly”;s:5:“label”;s:6:“Cancel”;s:4:“name”;s:14:“butt=
on[cancel]”;s:7:“onclick”;s:15:“window.close();”;}}}}s:4:“rows”;i:3;s:4:“co=
ls”;i:1;}}’,‘size’ =3D> ‘’,‘style’ =3D> ‘.eaclAccount select,.eaclRights se=
lect { width: 160px; }’,‘modified’ =3D> ‘1207725030’,);

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file’,‘template’ =3D> ‘’,=
‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.003’,‘data’ =3D> ‘a:1:{=
i:0;a:4:{s:4:“type”;s:4:“grid”;s:4:“data”;a:4:{i:0;a:1:{s:2:“h1”;s:6:",!@ms=
g";}i:1;a:1:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:4:“span”;s:13:“all,redIt=
alic”;s:4:“name”;s:3:“msg”;}}i:2;a:1:{s:1:“A”;a:4:{s:4:“type”;s:3:“tab”;s:5=
:“label”;s:54:“General|Permissions|Extended ACL|Preview|Custom fields”;s:4:=
“name”;s:33:“general|perms|eacl|preview|custom”;s:4:“span”;s:3:“all”;}}i:3;=
pe";s:6:“button”;s:5:“label”;s:4:“Save”;s:4:“name”;s:12:“button[save]”;}i:2=
;a:3:{s:4:“type”;s:6:“button”;s:4:“name”;s:13:“button[apply]”;s:5:“label”;s=
:5:“Apply”;}i:3;a:4:{s:4:“type”;s:10:“buttononly”;s:5:“label”;s:6:“Cancel”;=
s:4:“name”;s:14:“button[cancel]”;s:7:“onclick”;s:15:“window.close();”;}}}}s=
:4:“rows”;i:3;s:4:“cols”;i:1;}}’,‘size’ =3D> ‘’,‘style’ =3D> ‘.eaclAccount =
select,.eaclRights select { width: 160px; }’,‘modified’ =3D> ‘1223224423’,);

@@ -33,8 +29,6 @@

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file.eacl’,‘template’ =3D=

‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D> ‘=
,top";s:2:“c2”;s:7:",bottom";s:2:“h2”;s:11:",!@is_owner";}i:1;a:3:{s:1:“A”;=
“label”;s:28:“Extended access control list”;i:1;a:7:{s:4:“type”;s:4:“grid”;=
s:4:“size”;s:17:“100%,200,auto”;s:4:“data”;a:3:{i:0;a:7:{s:1:“A”;s:2:“8=
0”;s:1:“B”;s:2:“80”;s:1:“D”;s:2:“16”;s:2:“h2”;s:4:",!@1";s:1:“C”;s:3:“20%”;=
s:2:“c1”;s:2:“th”;s:2:“c2”;s:3:“row”;}i:1;a:4:{s:1:“A”;a:2:{s:4:“type”;s:5:=
“label”;s:5:“label”;s:5:“Owner”;}s:1:“B”;a:2:{s:4:“type”;s:5:“label”;s:5:“l=
abel”;s:6:“Rights”;}s:1:“C”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:9:“In=
herited”;}s:1:“D”;a:1:{s:4:“type”;s:5:“label”;}}i:2;a:4:{s:1:“A”;a:3:{s:4:"=
type";s:14:“select-account”;s:4:“name”;s:13:"${row}[owner]";s:8:“readonly”;=
s:1:“1”;}s:1:“B”;a:3:{s:4:“type”;s:6:“select”;s:4:“name”;s:14:"${row}[right=
s]";s:8:“readonly”;s:1:“1”;}s:1:“C”;a:2:{s:4:“type”;s:5:“label”;s:4:“name”;=
s:12:"${row}[path]";}s:1:“D”;a:5:{s:4:“type”;s:6:“button”;s:4:“size”;s:6:“d=
elete”;s:5:“label”;s:6:“Delete”;s:4:“name”;s:39:“delete[$row_cont[ino]-$row=
_cont[owner]]”;s:7:“onclick”;s:43:“return confirm(‘Delete this extended AC=
L’);”;}}}s:4:“name”;s:4:“eacl”;s:4:“rows”;i:2;s:4:“cols”;i:4;s:7:“options”=
;a:3:{i:0;s:4:“100%”;i:1;s:3:“200”;i:6;s:4:“auto”;}}}s:1:“B”;a:1:{s:4:“type=
”;s:5:“label”;}s:1:“C”;a:1:{s:4:“type”;s:5:“label”;}}i:2;a:3:{s:1:“A”;a:5:{=
s:4:“type”;s:14:“select-account”;s:4:“size”;s:15:“select one,both”;s:4:“nam=
e”;s:11:“eacl[owner]”;s:4:“span”;s:12:",eaclAccount";s:5:“label”;s:5:“Owner=
”;}s:1:“B”;a:4:{s:4:“type”;s:6:“select”;s:4:“name”;s:12:“eacl[rights]”;s:4:=
“span”;s:11:",eaclRights";s:5:“label”;s:6:“Rights”;}s:1:“C”;a:3:{s:4:“type”=
;s:6:“button”;s:5:“label”;s:3:“Add”;s:4:“name”;s:12:“button[eacl]”;}}}s:4:"=
rows";i:2;s:4:“cols”;i:3;s:4:“size”;s:12:“450,300,10”;s:7:“options”;a:3:{=
i:0;s:3:“450”;i:1;s:3:“300”;i:4;s:2:“10”;}}}’,‘size’ =3D> ‘450,300,10’,‘s=
tyle’ =3D> ‘’,‘modified’ =3D> ‘1207724932’,);
=

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file.general’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:9:{i:0;a:2:{s:1:“A”;s:2=
:“80”;s:2:“h1”;s:2:“60”;}i:1;a:2:{s:1:“A”;a:4:{s:4:“type”;s:5:“image”;s:4:"=
name";s:4:“icon”;s:4:“span”;s:9:",mimeHuge";s:5:“align”;s:6:“center”;}s:1:"=
B";a:4:{s:4:“type”;s:4:“text”;s:4:“name”;s:4:“name”;s:6:“needed”;s:1:“1”;s:=
4:“span”;s:9:",fileName";}}i:2;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“hrule”;s:4=
:“span”;s:3:“all”;}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a:2:{s:1:“A”;a=
:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:4:“Type”;}s:1:“B”;a:2:{s:4:“type”;=
s:5:“label”;s:4:“name”;s:4:“mime”;}}i:4;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“l=
abel”;s:5:“label”;s:9:“Directory”;}s:1:“B”;a:2:{s:4:“type”;s:5:“label”;s:4:=
“name”;s:3:“dir”;}}i:5;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”=
;s:4:“Size”;}s:1:“B”;a:3:{s:4:“type”;s:5:“label”;s:4:“name”;s:5:“hsize”;s:5=
:“label”;s:17:"%s ($cont[size]b)";}}i:6;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“l=
abel”;s:5:“label”;s:7:“Created”;}s:1:“B”;a:3:{s:4:“type”;s:9:“date-time”;s:=
4:“name”;s:5:“ctime”;s:8:“readonly”;s:1:“1”;}}i:7;a:2:{s:1:“A”;a:2:{s:4:“ty=
pe”;s:5:“label”;s:5:“label”;s:8:“Modified”;}s:1:“B”;a:3:{s:4:“type”;s:9:“da=
te-time”;s:4:“name”;s:5:“mtime”;s:8:“readonly”;s:1:“1”;}}i:8;a:2:{s:1:“A”;a=
:1:{s:4:“type”;s:5:“label”;}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}}s:4:“row=
s”;i:8;s:4:“cols”;i:2;s:4:“size”;s:12:“450,300,10”;s:7:“options”;a:3:{i:0=
;s:3:“450”;i:1;s:3:“300”;i:4;s:2:“10”;}}}’,‘size’ =3D> ‘450,300,10’,‘styl=
e’ =3D> ‘’,‘modified’ =3D> ‘1204554817’,);

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file.general’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.002’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:8:{i:0;a:2:{s:1:“A”;s:2=
:“80”;s:2:“h1”;s:2:“60”;}i:1;a:2:{s:1:“A”;a:4:{s:4:“type”;s:5:“image”;s:4:"=
name";s:4:“icon”;s:4:“span”;s:9:",mimeHuge";s:5:“align”;s:6:“center”;}s:1:"=
B";a:5:{s:4:“type”;s:4:“text”;s:4:“name”;s:4:“name”;s:6:“needed”;s:1:“1”;s:=
4:“span”;s:9:",fileName";s:8:“onchange”;s:94:“xajax_doXMLHTTP(‘filemanager=
_ui::ajax_check_rename_target’,document.location.href,this.value);”;}}i:2;=
{s:4:“type”;s:5:“label”;}}i:3;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:=
“label”;s:4:“Type”;}s:1:“B”;a:2:{s:4:“type”;s:5:“label”;s:4:“name”;s:4:“mim=
e”;}}i:4;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:9:“Director=
y”;}s:1:“B”;a:2:{s:4:“type”;s:5:“label”;s:4:“name”;s:3:“dir”;}}i:5;a:2:{s:1=
:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:4:“Size”;}s:1:“B”;a:3:{s:4:"=
type";s:5:“label”;s:4:“name”;s:5:“hsize”;s:5:“label”;s:17:"%s ($cont[size]b=
)";}}i:6;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:7:“Created”=
;}s:1:“B”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“name”;s:5:“ctime”;s:8:“reado=
nly”;s:1:“1”;}}i:7;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:8=
:“Modified”;}s:1:“B”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“name”;s:5:“mtime”=
;s:8:“readonly”;s:1:“1”;}}}s:4:“rows”;i:7;s:4:“cols”;i:2;s:4:“size”;s:12:“4=
50,300,10”;s:7:“options”;a:3:{i:0;s:3:“450”;i:1;s:3:“300”;i:4;s:2:“10”;}}=
}’,‘size’ =3D> ‘450,300,10’,‘style’ =3D> ‘’,‘modified’ =3D> ‘1204554817’,=
);
=

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file.general’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.003’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:9:{i:0;a:2:{s:1:“A”;s:2=
:“80”;s:2:“h1”;s:2:“60”;}i:1;a:2:{s:1:“A”;a:4:{s:4:“type”;s:5:“image”;s:4:"=
name";s:4:“icon”;s:4:“span”;s:9:",mimeHuge";s:5:“align”;s:6:“center”;}s:1:"=
B";a:4:{s:4:“type”;s:4:“text”;s:4:“name”;s:4:“name”;s:6:“needed”;s:1:“1”;s:=
4:“span”;s:9:",fileName";}}i:2;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“hrule”;s:4=
:“span”;s:3:“all”;}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a:2:{s:1:“A”;a=
:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:4:“Type”;}s:1:“B”;a:2:{s:4:“type”;=
s:5:“label”;s:4:“name”;s:4:“mime”;}}i:4;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“l=
abel”;s:5:“label”;s:9:“Directory”;}s:1:“B”;a:2:{s:4:“type”;s:5:“label”;s:4:=
“name”;s:3:“dir”;}}i:5;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”=
;s:4:“Size”;}s:1:“B”;a:3:{s:4:“type”;s:8:“vfs-size”;s:4:“name”;s:4:“size”;s=
:4:“size”;s:1:“1”;}}i:6;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label=
”;s:7:“Created”;}s:1:“B”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“name”;s:5:“ct=
ime”;s:8:“readonly”;s:1:“1”;}}i:7;a:2:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;=
s:5:“label”;s:8:“Modified”;}s:1:“B”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“na=
me”;s:5:“mtime”;s:8:“readonly”;s:1:“1”;}}i:8;a:2:{s:1:“A”;a:3:{s:4:“type”;s=
:5:“label”;s:4:“size”;s:10:",comment";s:5:“label”;s:7:“Comment”;}s:1:“B”;=
mment";}}}s:4:“rows”;i:8;s:4:“cols”;i:2;s:4:“size”;s:12:“450,300,10”;s:7:=
“options”;a:3:{i:0;s:3:“450”;i:1;s:3:“300”;i:4;s:2:“10”;}}}’,‘size’ =3D> ‘4=
50,300,10’,‘style’ =3D> ‘’,‘modified’ =3D> ‘1204554817’,);
@@ -43,21 +37,11 @@
=

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.file.preview’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:4:{i:0;a:5:{s:2:“c1”;s:=
4:",top";s:2:“h1”;s:16:",!@mime=3D/^image/";s:2:“h3”;s:22:",@mime=3D/^(imag=
e>text)/";s:2:“h2”;s:18:“280,!@text_content”;s:2:“c2”;s:4:",top";}i:1;a:1:{=
s:1:“A”;a:3:{s:4:“type”;s:5:“image”;s:4:“name”;s:4:“link”;s:4:“span”;s:13:"=
,previewImage";}}i:2;a:1:{s:1:“A”;a:4:{s:4:“type”;s:8:“textarea”;s:4:“name”=
;s:12:“text_content”;s:4:“span”;s:12:",previewText";s:8:“readonly”;s:1:“1”;=
}}i:3;a:1:{s:1:“A”;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:20:“No preview=
available”;}}}s:4:“rows”;i:3;s:4:“cols”;i:1;s:4:“size”;s:18:“450,300,10,=
,auto”;s:7:“options”;a:4:{i:0;s:3:“450”;i:1;s:3:“300”;i:6;s:4:“auto”;i:4;s:=
2:“10”;}}}’,‘size’ =3D> ‘450,300,10,auto’,‘style’ =3D> ‘’,‘modified’ =3D=
‘1204567479’,);
=

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index’,‘template’ =3D> ‘’=
,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D> ‘a:1:=
{i:0;a:4:{s:4:“type”;s:4:“grid”;s:4:“data”;a:5:{i:0;a:2:{s:1:“A”;s:3:“250”;=
s:2:“h1”;s:10:",!@nm[msg]";}i:1;a:2:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:=
4:“span”;s:13:“all,redItalic”;s:4:“name”;s:7:“nm[msg]”;}s:1:“B”;a:1:{s:4:“t=
ype”;s:5:“label”;}}i:2;a:2:{s:1:“A”;a:10:{s:4:“type”;s:4:“hbox”;s:4:“size”;=
s:1:“7”;i:1;a:4:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“goup”;s:5:“label”;=
s:2:“Up”;s:4:“name”;s:10:“button[up]”;}i:2;a:4:{s:4:“type”;s:6:“button”;s:4=
:“name”;s:12:“button[home]”;s:4:“size”;s:6:“gohome”;s:5:“label”;s:25:“Go to=
your home directory”;}s:4:“span”;s:3:“all”;i:3;a:6:{s:4:“type”;s:4:“text”;=
s:4:“name”;s:8:“nm[path]”;s:4:“size”;s:2:“80”;s:5:“label”;s:4:“Path”;s:8:“o=
nchange”;i:1;s:4:“span”;s:8:",address";}i:4;a:4:{s:4:“type”;s:6:“button”;s:=
4:“name”;s:10:“button[go]”;s:4:“size”;s:9:“key_enter”;s:5:“label”;s:5:“Go t=
o”;}i:5;a:2:{s:4:“type”;s:5:“image”;s:4:“name”;s:15:“buttonseparator”;}i:6;=
;s:16:“button_createdir”;s:5:“label”;s:16:“Create directory”;s:7:“onclick”;=
s:128:“var dir =3D prompt(egw::lang(‘New directory’)); if (!dir) return f=
alse; document.getElementById(form::name(‘nm[path]’)).value=3Ddir;”;}i:7;=
:“editpaste”;s:4:“help”;s:20:"$cont[paste_tooltip]";}}s:1:“B”;a:1:{s:4:“typ=
e”;s:5:“label”;}}i:3;a:2:{s:1:“A”;a:4:{s:4:“type”;s:9:“nextmatch”;s:4:“size=
”;s:22:“filemanager.index.rows”;s:4:“span”;s:3:“all”;s:4:“name”;s:2:“nm”;}s=
:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:4;a:2:{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:4:“file”;s:4:“name”;s:6:“upl=
oad”;s:4:“help”;s:42:“Select file to upload in current directory”;}i:2;a:3:=
{s:4:“type”;s:6:“button”;s:5:“label”;s:6:“Upload”;s:4:“name”;s:14:“button[u= pload]”;}}s:1:“B”;a:5:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:“2”;s:5:“align”=
;s:5:“right”;i:1;a:4:{s:4:“type”;s:6:“select”;s:4:“name”;s:6:“action”;s:4:"=
size";s:16:“Select action…”;s:8:“onchange”;i:1;}i:2;a:8:{s:4:“type”;s:6:"=
button";s:4:“size”;s:9:“arrow_ltr”;s:5:“label”;s:9:“Check all”;s:4:“name”;s=
:9:“check_all”;s:4:“help”;s:9:“Check all”;s:7:“onclick”;s:70:“toggle_all(th=
is.form,form::name(‘nm[rows][checked][]’)); return false;”;s:6:“needed”;s=
:1:“1”;s:4:“span”;s:14:",checkAllArrow";}}}}s:4:“rows”;i:4;s:4:“cols”;i:2;}=
}’,‘size’ =3D> ‘’,‘style’ =3D> ‘’,‘modified’ =3D> ‘1204374710’,);
+$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index’,‘template’ =3D> ‘’=
,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.003’,‘data’ =3D> ‘a:1:=
{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:5:{i:0;a:2:{s:1:“A”;s:3:“250”;=
s:2:“h1”;s:10:",!@nm[msg]";}i:1;a:2:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:=
4:“span”;s:13:“all,redItalic”;s:4:“name”;s:7:“nm[msg]”;}s:1:“B”;a:1:{s:4:“t=
ype”;s:5:“label”;}}i:2;a:2:{s:1:“A”;a:11:{s:4:“type”;s:4:“hbox”;s:4:“size”;=
s:1:“8”;i:1;a:4:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“goup”;s:5:“label”;=
s:2:“Up”;s:4:“name”;s:10:“button[up]”;}i:2;a:4:{s:4:“type”;s:6:“button”;s:4=
:“name”;s:12:“button[home]”;s:4:“size”;s:6:“gohome”;s:5:“label”;s:25:“Go to=
your home directory”;}s:4:“span”;s:3:“all”;i:3;a:6:{s:4:“type”;s:4:“text”;=
s:4:“name”;s:8:“nm[path]”;s:4:“size”;s:2:“80”;s:5:“label”;s:4:“Path”;s:8:“o=
nchange”;i:1;s:4:“span”;s:8:",address";}i:4;a:4:{s:4:“type”;s:6:“button”;s:=
4:“name”;s:10:“button[go]”;s:4:“size”;s:9:“key_enter”;s:5:“label”;s:5:“Go t=
o”;}i:5;a:2:{s:4:“type”;s:5:“image”;s:4:“name”;s:15:“buttonseparator”;}i:6;=
ettings";s:4:“name”;s:23:“edit[{$cont[nm][path]}]”;s:4:“help”;s:39:“Rename,=
change permissions or ownership”;s:7:“onclick”;s:194:"window.open(egw::lin=
k(’/index.php’,‘menuaction=3Dfilemanager.filemanager_ui.file&path=3D{$co=
nt[nm][path]}’),‘fileprefs’,‘dependent=3Dyes,width=3D495,height=3D425,s=
crollbars=3Dyes,status=3Dyes’); return false;";}i:7;a:5:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:17:“button[createdir]”;s:4:“size”;s:16:“button_createdi=
r”;s:5:“label”;s:16:“Create directory”;s:7:“onclick”;s:128:“var dir =3D pro=
mpt(egw::lang(‘New directory’)); if (!dir) return false; document.getElem=
entById(form::name(‘nm[path]’)).value=3Ddir;”;}i:8;a:4:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:13:“button[paste]”;s:4:“size”;s:9:“editpaste”;s:4:“help=
”;s:20:"$cont[paste_tooltip]";}}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a=
:2:{s:1:“A”;a:4:{s:4:“type”;s:9:“nextmatch”;s:4:“size”;s:22:“filemanager.in=
dex.rows”;s:4:“span”;s:3:“all”;s:4:“name”;s:2:“nm”;}s:1:“B”;a:1:{s:4:“type”=
;s:5:“label”;}}i:4;a:2:{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:4:“file”;s:4:“name”;s:6:“upload”;s:4:“help”;s:42:"=
Select file to upload in current directory";}i:2;a:3:{s:4:“type”;s:6:“butto=
n”;s:5:“label”;s:6:“Upload”;s:4:“name”;s:14:“button[upload]”;}}s:1:“B”;a:5:=
{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:“2”;s:5:“align”;s:5:“right”;i:1;a:4:{=
s:4:“type”;s:6:“select”;s:4:“name”;s:6:“action”;s:4:“size”;s:16:“Select act=
ion…”;s:8:“onchange”;i:1;}i:2;a:8:{s:4:“type”;s:6:“button”;s:4:“size”;s:9=
:“arrow_ltr”;s:5:“label”;s:9:“Check all”;s:4:“name”;s:9:“check_all”;s:4:“he=
lp”;s:9:“Check all”;s:7:“onclick”;s:70:“toggle_all(this.form,form::name(‘n=
m[rows][checked][]’)); return false;”;s:6:“needed”;s:1:“1”;s:4:“span”;s:14=
:",checkAllArrow";}}}}s:4:“rows”;i:4;s:4:“cols”;i:2;s:4:“size”;s:4:“100%”;s=
:7:“options”;a:1:{i:0;s:4:“100%”;}}}’,‘size’ =3D> ‘100%’,‘style’ =3D> ‘’,‘m=
odified’ =3D> ‘1223226240’,);

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index’,‘template’ =3D> ‘’=
,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.002’,‘data’ =3D> ‘a:1:=
{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:5:{i:0;a:2:{s:1:“A”;s:3:“250”;=
s:2:“h1”;s:10:",!@nm[msg]";}i:1;a:2:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:=
4:“span”;s:13:“all,redItalic”;s:4:“name”;s:7:“nm[msg]”;}s:1:“B”;a:1:{s:4:“t=
ype”;s:5:“label”;}}i:2;a:2:{s:1:“A”;a:11:{s:4:“type”;s:4:“hbox”;s:4:“size”;=
s:1:“8”;i:1;a:4:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“goup”;s:5:“label”;=
s:2:“Up”;s:4:“name”;s:10:“button[up]”;}i:2;a:4:{s:4:“type”;s:6:“button”;s:4=
:“name”;s:12:“button[home]”;s:4:“size”;s:6:“gohome”;s:5:“label”;s:25:“Go to=
your home directory”;}s:4:“span”;s:3:“all”;i:3;a:6:{s:4:“type”;s:4:“text”;=
s:4:“name”;s:8:“nm[path]”;s:4:“size”;s:2:“80”;s:5:“label”;s:4:“Path”;s:8:“o=
nchange”;i:1;s:4:“span”;s:8:",address";}i:4;a:4:{s:4:“type”;s:6:“button”;s:=
4:“name”;s:10:“button[go]”;s:4:“size”;s:9:“key_enter”;s:5:“label”;s:5:“Go t=
o”;}i:5;a:2:{s:4:“type”;s:5:“image”;s:4:“name”;s:15:“buttonseparator”;}i:6;=
17:“button[createdir]”;s:4:“size”;s:16:“button_createdir”;s:5:“label”;s:16:=
“Create directory”;s:7:“onclick”;s:128:“var dir =3D prompt(egw::lang(‘New =
directory’)); if (!dir) return false; document.getElementById(form::name(=
‘nm[path]’)).value=3Ddir;”;}i:8;a:4:{s:4:“type”;s:6:“button”;s:4:“name”;s:=
13:“button[paste]”;s:4:“size”;s:9:“editpaste”;s:4:“help”;s:20:"$cont[paste_=
tooltip]";}}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a:2:{s:1:“A”;a:4:{s:4=
:“type”;s:9:“nextmatch”;s:4:“size”;s:22:“filemanager.index.rows”;s:4:“span”=
;s:3:“all”;s:4:“name”;s:2:“nm”;}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:4;a=
:2:{s:1:“A”;a:4:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:“2”;i:1;a:3:{s:4:“typ=
e”;s:4:“file”;s:4:“name”;s:6:“upload”;s:4:“help”;s:42:“Select file to uploa=
d in current directory”;}i:2;a:3:{s:4:“type”;s:6:“button”;s:5:“label”;s:6:"=
Upload";s:4:“name”;s:14:“button[upload]”;}}s:1:“B”;a:5:{s:4:“type”;s:4:“hbo=
x”;s:4:“size”;s:1:“2”;s:5:“align”;s:5:“right”;i:1;a:4:{s:4:“type”;s:6:“sele=
ct”;s:4:“name”;s:6:“action”;s:4:“size”;s:16:“Select action…”;s:8:“onchang=
e”;i:1;}i:2;a:8:{s:4:“type”;s:6:“button”;s:4:“size”;s:9:“arrow_ltr”;s:5:“la=
bel”;s:9:“Check all”;s:4:“name”;s:9:“check_all”;s:4:“help”;s:9:“Check all”;=
s:7:“onclick”;s:70:“toggle_all(this.form,form::name(‘nm[rows][checked][]’=
)); return false;”;s:6:“needed”;s:1:“1”;s:4:“span”;s:14:",checkAllArrow";}}=
}}s:4:“rows”;i:4;s:4:“cols”;i:2;s:4:“size”;s:4:“100%”;s:7:“options”;a:1:{i:=
0;s:4:“100%”;}}}’,‘size’ =3D> ‘100%’,‘style’ =3D> ‘’,‘modified’ =3D> ‘12232=
26240’,);

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index’,‘template’ =3D> ‘’=
,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.003’,‘data’ =3D> ‘a:1:=
{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:5:{i:0;a:2:{s:1:“A”;s:3:“250”;=
s:2:“h1”;s:10:",!@nm[msg]";}i:1;a:2:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:=
4:“span”;s:13:“all,redItalic”;s:4:“name”;s:7:“nm[msg]”;}s:1:“B”;a:1:{s:4:“t=
ype”;s:5:“label”;}}i:2;a:2:{s:1:“A”;a:11:{s:4:“type”;s:4:“hbox”;s:4:“size”;=
s:1:“8”;i:1;a:4:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“goup”;s:5:“label”;=
s:2:“Up”;s:4:“name”;s:10:“button[up]”;}i:2;a:4:{s:4:“type”;s:6:“button”;s:4=
:“name”;s:12:“button[home]”;s:4:“size”;s:6:“gohome”;s:5:“label”;s:25:“Go to=
your home directory”;}s:4:“span”;s:3:“all”;i:3;a:6:{s:4:“type”;s:4:“text”;=
s:4:“name”;s:8:“nm[path]”;s:4:“size”;s:2:“80”;s:5:“label”;s:4:“Path”;s:8:“o=
nchange”;i:1;s:4:“span”;s:8:",address";}i:4;a:4:{s:4:“type”;s:6:“button”;s:=
4:“name”;s:10:“button[go]”;s:4:“size”;s:9:“key_enter”;s:5:“label”;s:5:“Go t=
o”;}i:5;a:2:{s:4:“type”;s:5:“image”;s:4:“name”;s:15:“buttonseparator”;}i:6;=
ettings";s:4:“name”;s:23:“edit[{$cont[nm][path]}]”;s:4:“help”;s:39:“Rename,=
change permissions or ownership”;s:7:“onclick”;s:194:"window.open(egw::lin=
k(’/index.php’,‘menuaction=3Dfilemanager.filemanager_ui.file&path=3D{$co=
nt[nm][path]}’),‘fileprefs’,‘dependent=3Dyes,width=3D495,height=3D425,s=
crollbars=3Dyes,status=3Dyes’); return false;";}i:7;a:5:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:17:“button[createdir]”;s:4:“size”;s:16:“button_createdi=
r”;s:5:“label”;s:16:“Create directory”;s:7:“onclick”;s:128:“var dir =3D pro=
mpt(egw::lang(‘New directory’)); if (!dir) return false; document.getElem=
entById(form::name(‘nm[path]’)).value=3Ddir;”;}i:8;a:4:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:13:“button[paste]”;s:4:“size”;s:9:“editpaste”;s:4:“help=
”;s:20:"$cont[paste_tooltip]";}}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a=
:2:{s:1:“A”;a:4:{s:4:“type”;s:9:“nextmatch”;s:4:“size”;s:22:“filemanager.in=
dex.rows”;s:4:“span”;s:3:“all”;s:4:“name”;s:2:“nm”;}s:1:“B”;a:1:{s:4:“type”=
;s:5:“label”;}}i:4;a:2:{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:4:“file”;s:4:“name”;s:6:“upload”;s:4:“help”;s:42:"=
Select file to upload in current directory";}i:2;a:3:{s:4:“type”;s:6:“butto=
n”;s:5:“label”;s:6:“Upload”;s:4:“name”;s:14:“button[upload]”;}}s:1:“B”;a:5:=
{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:“2”;s:5:“align”;s:5:“right”;i:1;a:4:{=
s:4:“type”;s:6:“select”;s:4:“name”;s:6:“action”;s:4:“size”;s:16:“Select act=
ion…”;s:8:“onchange”;i:1;}i:2;a:8:{s:4:“type”;s:6:“button”;s:4:“size”;s:9=
:“arrow_ltr”;s:5:“label”;s:9:“Check all”;s:4:“name”;s:9:“check_all”;s:4:“he=
lp”;s:9:“Check all”;s:7:“onclick”;s:70:“toggle_all(this.form,form::name(‘n=
m[rows][checked][]’)); return false;”;s:6:“needed”;s:1:“1”;s:4:“span”;s:14=
:",checkAllArrow";}}}}s:4:“rows”;i:4;s:4:“cols”;i:2;s:4:“size”;s:4:“100%”;s=
:7:“options”;a:1:{i:0;s:4:“100%”;}}}’,‘size’ =3D> ‘100%’,‘style’ =3D> ‘’,‘m=
odified’ =3D> ‘1223226240’,);
+$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index’,‘template’ =3D> ‘’=
,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.6.001’,‘data’ =3D> ‘a:1:=
{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:5:{i:0;a:2:{s:1:“A”;s:3:“250”;=
s:2:“h1”;s:10:",!@nm[msg]";}i:1;a:2:{s:1:“A”;a:3:{s:4:“type”;s:5:“label”;s:=
4:“span”;s:13:“all,redItalic”;s:4:“name”;s:7:“nm[msg]”;}s:1:“B”;a:1:{s:4:“t=
ype”;s:5:“label”;}}i:2;a:2:{s:1:“A”;a:11:{s:4:“type”;s:4:“hbox”;s:4:“size”;=
s:1:“8”;i:1;a:4:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“goup”;s:5:“label”;=
s:2:“Up”;s:4:“name”;s:10:“button[up]”;}i:2;a:4:{s:4:“type”;s:6:“button”;s:4=
:“name”;s:12:“button[home]”;s:4:“size”;s:6:“gohome”;s:5:“label”;s:25:“Go to=
your home directory”;}s:4:“span”;s:3:“all”;i:3;a:6:{s:4:“type”;s:4:“text”;=
s:4:“name”;s:8:“nm[path]”;s:4:“size”;s:2:“80”;s:5:“label”;s:4:“Path”;s:8:“o=
nchange”;i:1;s:4:“span”;s:8:",address";}i:4;a:4:{s:4:“type”;s:6:“button”;s:=
4:“name”;s:10:“button[go]”;s:4:“size”;s:9:“key_enter”;s:5:“label”;s:5:“Go t=
o”;}i:5;a:2:{s:4:“type”;s:5:“image”;s:4:“name”;s:15:“buttonseparator”;}i:6;=
ettings";s:4:“name”;s:23:“edit[{$cont[nm][path]}]”;s:4:“help”;s:39:“Rename,=
change permissions or ownership”;s:7:“onclick”;s:194:"window.open(egw::lin=
k(’/index.php’,‘menuaction=3Dfilemanager.filemanager_ui.file&path=3D{$co=
nt[nm][path]}’),‘fileprefs’,‘dependent=3Dyes,width=3D495,height=3D425,s=
crollbars=3Dyes,status=3Dyes’); return false;";}i:7;a:5:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:17:“button[createdir]”;s:4:“size”;s:16:“button_createdi=
r”;s:5:“label”;s:16:“Create directory”;s:7:“onclick”;s:128:“var dir =3D pro=
mpt(egw::lang(‘New directory’)); if (!dir) return false; document.getElem=
entById(form::name(‘nm[path]’)).value=3Ddir;”;}i:8;a:4:{s:4:“type”;s:6:“b=
utton”;s:4:“name”;s:13:“button[paste]”;s:4:“size”;s:9:“editpaste”;s:4:“help=
”;s:20:"$cont[paste_tooltip]";}}s:1:“B”;a:1:{s:4:“type”;s:5:“label”;}}i:3;a=
:2:{s:1:“A”;a:4:{s:4:“type”;s:9:“nextmatch”;s:4:“size”;s:22:“filemanager.in=
dex.rows”;s:4:“span”;s:3:“all”;s:4:“name”;s:2:“nm”;}s:1:“B”;a:1:{s:4:“type”=
;s:5:“label”;}}i:4;a:2:{s:1:“A”;a:4:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:"=
2";i:1;a:4:{s:4:“type”;s:4:“file”;s:4:“name”;s:6:“upload”;s:4:“help”;s:42:"=
Select file to upload in current directory";s:8:“onchange”;s:99:“xajax_doXM=
LHTTP(‘filemanager_ui::ajax_check_upload_target’,this.id,this.value,’{$c=
ont[nm][path]}’);”;}i:2;a:3:{s:4:“type”;s:6:“button”;s:5:“label”;s:6:“Uplo=
ad”;s:4:“name”;s:14:“button[upload]”;}}s:1:“B”;a:5:{s:4:“type”;s:4:“hbox”;s=
:4:“size”;s:1:“2”;s:5:“align”;s:5:“right”;i:1;a:4:{s:4:“type”;s:6:“select”;=
s:4:“name”;s:6:“action”;s:4:“size”;s:16:“Select action…”;s:8:“onchange”;i=
:1;}i:2;a:8:{s:4:“type”;s:6:“button”;s:4:“size”;s:9:“arrow_ltr”;s:5:“label”=
;s:9:“Check all”;s:4:“name”;s:9:“check_all”;s:4:“help”;s:9:“Check all”;s:7:=
“onclick”;s:70:“toggle_all(this.form,form::name(‘nm[rows][checked][]’)); =
return false;”;s:6:“needed”;s:1:“1”;s:4:“span”;s:14:",checkAllArrow";}}}}s:=
4:“rows”;i:4;s:4:“cols”;i:2;s:4:“size”;s:4:“100%”;s:7:“options”;a:1:{i:0;s:=
4:“100%”;}}}’,‘size’ =3D> ‘100%’,‘style’ =3D> ‘’,‘modified’ =3D> ‘123565819=
3’,);

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index.rows’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.001’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:3:{i:0;a:6:{s:2:“c1”;s:=
2:“th”;s:2:“c2”;s:3:“row”;s:1:“B”;s:3:“30%”;s:1:“D”;s:3:“120”;s:1:“E”;s:3:"=
120";s:1:“K”;s:2:“70”;}i:1;a:11:{s:1:“A”;a:4:{s:4:“type”;s:20:“nextmatch-so=
rtheader”;s:5:“label”;s:4:“Type”;s:4:“name”;s:4:“mime”;s:5:“align”;s:6:“cen=
ter”;}s:1:“B”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:5:“label”;s:4:"=
Name";s:4:“name”;s:4:“name”;}s:1:“C”;a:3:{s:4:“type”;s:20:“nextmatch-sorthe=
ader”;s:5:“label”;s:4:“Size”;s:4:“name”;s:4:“size”;}s:1:“D”;a:3:{s:4:“type”=
;s:20:“nextmatch-sortheader”;s:5:“label”;s:8:“Modified”;s:4:“name”;s:5:“mti=
me”;}s:1:“E”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:5:“label”;s:7:“C=
reated”;s:4:“name”;s:5:“ctime”;}s:1:“F”;a:3:{s:4:“type”;s:20:“nextmatch-sor=
theader”;s:5:“label”;s:11:“Permissions”;s:4:“name”;s:4:“mode”;}s:1:“G”;a:3:=
{s:4:“type”;s:20:“nextmatch-sortheader”;s:4:“name”;s:3:“uid”;s:5:“label”;s:=
5:“Owner”;}s:1:“H”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:4:“name”;s=
:3:“gid”;s:5:“label”;s:5:“Group”;}s:1:“I”;a:3:{s:4:“type”;s:16:“nextmatch-h=
eader”;s:5:“label”;s:7:“Comment”;s:4:“name”;s:7:“comment”;}s:1:“J”;a:3:{s:4=
:“type”;s:22:“nextmatch-customfields”;s:8:“readonly”;s:1:“1”;s:4:“name”;s:1=
2:“customfields”;}s:1:“K”;a:4:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:6:“2,0,0=
”;i:1;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:7:“Actions”;}i:2;a:8:{s:4:"=
type";s:6:“button”;s:4:“size”;s:5:“check”;s:5:“label”;s:9:“Check all”;s:4:"=
name";s:9:“check_all”;s:4:“help”;s:9:“Check all”;s:7:“onclick”;s:60:“toggle=
_all(this.form,form::name(‘checked[]’)); return false;”;s:6:“needed”;s:1:=
“1”;s:5:“align”;s:5:“right”;}}}i:2;a:11:{s:1:“A”;a:4:{s:4:“type”;s:5:“image=
”;s:5:“label”;s:15:"$row_cont[mime]";s:4:“name”;s:12:"${row}[icon]";s:5:“al=
ign”;s:6:“center”;}s:1:“B”;a:4:{s:4:“type”;s:5:“label”;s:4:“size”;s:14:",@$=
{row}[link]";s:4:“name”;s:12:"${row}[name]";s:7:“no_lang”;s:1:“1”;}s:1:“C”;=
:“right”;}s:1:“D”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“name”;s:13:"${row}[m=
time]";s:8:“readonly”;s:1:“1”;}s:1:“E”;a:3:{s:4:“type”;s:9:“date-time”;s:4:=
“name”;s:13:"${row}[ctime]";s:8:“readonly”;s:1:“1”;}s:1:“F”;a:3:{s:4:“type”=
;s:5:“label”;s:5:“label”;s:16:"$row_cont[perms]";s:4:“span”;s:6:",perms";}s=
:1:“G”;a:3:{s:4:“type”;s:5:“label”;s:4:“name”;s:12:"${row}[user]";s:7:“no_l=
ang”;s:1:“1”;}s:1:“H”;a:3:{s:4:“type”;s:5:“label”;s:4:“name”;s:13:"${row}[g=
roup]";s:7:“no_lang”;s:1:“1”;}s:1:“I”;a:2:{s:4:“type”;s:5:“label”;s:4:“name=
”;s:15:"${row}[comment]";}s:1:“J”;a:3:{s:4:“type”;s:17:“customfields-list”;=
s:8:“readonly”;s:1:“1”;s:4:“name”;s:4:"$row";}s:1:“K”;a:6:{s:4:“type”;s:4:"=
hbox";s:4:“size”;s:1:“3”;i:1;a:6:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“e=
dit”;s:5:“label”;s:13:“Edit settings”;s:4:“name”;s:21:“edit[$row_cont[path]=
]”;s:4:“help”;s:39:“Rename, change permissions or ownership”;s:7:“onclick”;=
s:192:"window.open(egw::link(’/index.php’,‘menuaction=3Dfilemanager.file=
manager_ui.file&path=3D$row_cont[path]’),‘fileprefs’,‘dependent=3Dyes,w=
idth=3D495,height=3D400,scrollbars=3Dyes,status=3Dyes’); return false;";}i=
:2;a:7:{s:4:“type”;s:6:“button”;s:4:“name”;s:23:“delete[$row_cont[path]]”;s=
:4:“size”;s:6:“delete”;s:5:“label”;s:6:“Delete”;s:4:“help”;s:29:“Delete thi=
s file or directory”;s:7:“onclick”;s:48:“return confirm(‘Delete this file =
or directory’);”;s:5:“align”;s:6:“center”;}i:3;a:4:{s:4:“type”;s:8:“checkb=
ox”;s:4:“name”;s:9:“checked[]”;s:5:“align”;s:5:“right”;s:4:“size”;s:15:"$ro=
w_cont[path]";}s:5:“align”;s:5:“right”;}}}s:4:“rows”;i:2;s:4:“cols”;i:11;s:=
4:“size”;s:4:“100%”;s:7:“options”;a:1:{i:0;s:4:“100%”;}}}’,‘size’ =3D> ‘100=
%’,‘style’ =3D> ‘’,‘modified’ =3D> ‘1204370567’,);
=

$templ_data[] =3D array(‘name’ =3D> ‘filemanager.index.rows’,‘template’ =
=3D> ‘’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.5.002’,‘data’ =3D=

‘a:1:{i:0;a:6:{s:4:“type”;s:4:“grid”;s:4:“data”;a:3:{i:0;a:6:{s:2:“c1”;s:=
2:“th”;s:2:“c2”;s:3:“row”;s:1:“B”;s:3:“30%”;s:1:“D”;s:3:“120”;s:1:“E”;s:3:"=
120";s:1:“K”;s:2:“70”;}i:1;a:11:{s:1:“A”;a:4:{s:4:“type”;s:20:“nextmatch-so=
rtheader”;s:5:“label”;s:4:“Type”;s:4:“name”;s:4:“mime”;s:5:“align”;s:6:“cen=
ter”;}s:1:“B”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:5:“label”;s:4:"=
Name";s:4:“name”;s:4:“name”;}s:1:“C”;a:3:{s:4:“type”;s:20:“nextmatch-sorthe=
ader”;s:5:“label”;s:4:“Size”;s:4:“name”;s:4:“size”;}s:1:“D”;a:3:{s:4:“type”=
;s:20:“nextmatch-sortheader”;s:5:“label”;s:8:“Modified”;s:4:“name”;s:5:“mti=
me”;}s:1:“E”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:5:“label”;s:7:“C=
reated”;s:4:“name”;s:5:“ctime”;}s:1:“F”;a:3:{s:4:“type”;s:20:“nextmatch-sor=
theader”;s:5:“label”;s:11:“Permissions”;s:4:“name”;s:4:“mode”;}s:1:“G”;a:3:=
{s:4:“type”;s:20:“nextmatch-sortheader”;s:4:“name”;s:3:“uid”;s:5:“label”;s:=
5:“Owner”;}s:1:“H”;a:3:{s:4:“type”;s:20:“nextmatch-sortheader”;s:4:“name”;s=
:3:“gid”;s:5:“label”;s:5:“Group”;}s:1:“I”;a:3:{s:4:“type”;s:16:“nextmatch-h=
eader”;s:5:“label”;s:7:“Comment”;s:4:“name”;s:7:“comment”;}s:1:“J”;a:3:{s:4=
:“type”;s:22:“nextmatch-customfields”;s:8:“readonly”;s:1:“1”;s:4:“name”;s:1=
2:“customfields”;}s:1:“K”;a:4:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:6:“2,0,0=
”;i:1;a:2:{s:4:“type”;s:5:“label”;s:5:“label”;s:7:“Actions”;}i:2;a:8:{s:4:"=
type";s:6:“button”;s:4:“size”;s:5:“check”;s:5:“label”;s:9:“Check all”;s:4:"=
name";s:9:“check_all”;s:4:“help”;s:9:“Check all”;s:7:“onclick”;s:60:“toggle=
_all(this.form,form::name(‘checked[]’)); return false;”;s:6:“needed”;s:1:=
“1”;s:5:“align”;s:5:“right”;}}}i:2;a:11:{s:1:“A”;a:3:{s:4:“type”;s:8:“vfs-m=
ime”;s:4:“name”;s:12:"${row}[path]";s:5:“align”;s:6:“center”;}s:1:“B”;a:3:{=
s:4:“type”;s:3:“vfs”;s:4:“name”;s:4:"$row";s:7:“no_lang”;s:1:“1”;}s:1:“C”;a=
:3:{s:4:“type”;s:8:“vfs-size”;s:4:“name”;s:12:"${row}[size]";s:5:“align”;s:=
5:“right”;}s:1:“D”;a:3:{s:4:“type”;s:9:“date-time”;s:4:“name”;s:13:"${row}[=
mtime]";s:8:“readonly”;s:1:“1”;}s:1:“E”;a:3:{s:4:“type”;s:9:“date-time”;s:4=
:“name”;s:13:"${row}[ctime]";s:8:“readonly”;s:1:“1”;}s:1:“F”;a:2:{s:4:“type=
”;s:8:“vfs-mode”;s:4:“name”;s:12:"${row}[mode]";}s:1:“G”;a:3:{s:4:“type”;s:=
7:“vfs-uid”;s:4:“name”;s:11:"${row}[uid]";s:7:“no_lang”;s:1:“1”;}s:1:“H”;a:=
3:{s:4:“type”;s:7:“vfs-gid”;s:4:“name”;s:11:"${row}[gid]";s:7:“no_lang”;s:1=
:“1”;}s:1:“I”;a:2:{s:4:“type”;s:5:“label”;s:4:“name”;s:15:"${row}[comment]"=
;}s:1:“J”;a:3:{s:4:“type”;s:17:“customfields-list”;s:8:“readonly”;s:1:“1”;s=
:4:“name”;s:4:"$row";}s:1:“K”;a:6:{s:4:“type”;s:4:“hbox”;s:4:“size”;s:1:“3”=
;i:1;a:6:{s:4:“type”;s:6:“button”;s:4:“size”;s:4:“edit”;s:5:“label”;s:13:“E=
dit settings”;s:4:“name”;s:21:“edit[$row_cont[path]]”;s:4:“help”;s:39:“Rena=
me, change permissions or ownership”;s:7:“onclick”;s:192:"window.open(egw::=
link(’/index.php’,‘menuaction=3Dfilemanager.filemanager_ui.file&path=3D$=
row_cont[path]’),‘fileprefs’,‘dependent=3Dyes,width=3D495,height=3D425,=
scrollbars=3Dyes,status=3Dyes’); return false;";}i:2;a:7:{s:4:“type”;s:6:"=
button";s:4:“name”;s:23:“delete[$row_cont[path]]”;s:4:“size”;s:6:“delete”;s=
:5:“label”;s:6:“Delete”;s:4:“help”;s:29:“Delete this file or directory”;s:7=
:“onclick”;s:48:“return confirm(‘Delete this file or directory’);”;s:5:“a=
lign”;s:6:“center”;}i:3;a:4:{s:4:“type”;s:8:“checkbox”;s:4:“name”;s:9:“chec=
ked[]”;s:5:“align”;s:5:“right”;s:4:“size”;s:15:"$row_cont[path]";}s:5:“alig=
n”;s:5:“right”;}}}s:4:“rows”;i:2;s:4:“cols”;i:11;s:4:“size”;s:4:“100%”;s:7:=
“options”;a:1:{i:0;s:4:“100%”;}}}’,‘size’ =3D> ‘100%’,‘style’ =3D> ‘’,‘modi=
fied’ =3D> ‘1204370567’,);
=

-$templ_data[] =3D array(‘name’ =3D> ‘filemanager.search’,‘template’ =3D> ‘=
’,‘lang’ =3D> ‘’,‘group’ =3D> ‘0’,‘version’ =3D> ‘1.3.001’,‘data’ =3D> 'a:4=
:{i:0;a:9:{s:4:“type”;s:8:“groupbox”;s:4:“name”;s:10:“debuginfos”;s:4:“size=
”;s:1:“4”;s:5:“label”;s:10:“Debuginfos”;s:8:“disabled”;s:1:“1”;i:1;a:3:{s:4=
:“type”;s:8:“textarea”;s:4:“name”;s:7:“message”;s:8:“readonly”;s:1:“1”;}i:2=
;a:1:{s:4:“type”;s:5:“label”;}i:3;a:1:{s:4:“type”;s:5:“label”;}i:4;a:1:{s:4=
:“type”;s:5:“label”;}}i:1;a:4:{s:4:“type”;s:4:“grid”;s:4:“data”;a:7:{i:0;a:=
2:{s:1:“C”;s:3:“120”;s:1:“D”;s:3:“120”;}i:1;a:5:{s:1:“A”;a:3:{s:4:“type”;s:=
5:“label”;s:5:“label”;s:12:“searchstring”;s:4:“name”;s:17:“searchstringlabe=
l”;}s:1:“B”;a:3:{s:4:“type”;s:4:“text”;s:4:“span”;s:1:“2”;s:4:“name”;s:12:"=
searchstring";}s:1:“C”;a:1:{s:4:“type”;s:5:“label”;}s:1:“D”;a:3:{s:4:“type”=
;s: