From 47400643f7ece85ae212a7939e672bc7fbb6dd8e Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 15 May 2007 06:37:24 +0000 Subject: [PATCH 01/51] fixed db-creation to allow db-names with dashes --- phpgwapi/inc/class.egw_db.inc.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/phpgwapi/inc/class.egw_db.inc.php b/phpgwapi/inc/class.egw_db.inc.php index c55ac474cb..1fa2c596f9 100644 --- a/phpgwapi/inc/class.egw_db.inc.php +++ b/phpgwapi/inc/class.egw_db.inc.php @@ -980,20 +980,23 @@ $currentPassword = $this->Password; $currentDatabase = $this->Database; - $extra = array(); + $sqls = array(); $set_charset = ''; switch ($this->Type) { case 'pgsql': $meta_db = 'template1'; + $sqls[] = "CREATE DATABASE $currentDatabase"; break; case 'mysql': + $create = "CREATE DATABASE `$currentDatabase`"; if ($charset && isset($this->Link_ID->charset2mysql[$charset]) && (float) $this->ServerInfo['version'] >= 4.1) { - $set_charset = ' DEFAULT CHARACTER SET '.$this->Link_ID->charset2mysql[$charset].';'; + $create .= ' DEFAULT CHARACTER SET '.$this->Link_ID->charset2mysql[$charset].';'; } + $sqls[] = $create; + $sqls[] = "GRANT ALL ON `$currentDatabase`.* TO $currentUser@localhost IDENTIFIED BY ".$this->quote($currentPassword); $meta_db = 'mysql'; - $extra[] = "GRANT ALL ON $currentDatabase.* TO $currentUser@localhost IDENTIFIED BY '$currentPassword'"; break; default: echo "

db::create_database(user='$adminname',\$pw) not yet implemented for DB-type '$this->Type'

\n"; @@ -1006,10 +1009,9 @@ $this->Database = $meta_db; } $this->disconnect(); - $this->query('CREATE DATABASE '.$currentDatabase.$set_charset); - foreach($extra as $sql) + foreach($sqls as $sql) { - $this->query($sql); + $this->query($sql,__LINE__,__FILE__); } $this->disconnect(); From ca570bd16b9decb981858a2c7c2b1f6756889f03 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 15 May 2007 06:38:05 +0000 Subject: [PATCH 02/51] creating new db's in MySQL allways as utf-8 --- setup/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/index.php b/setup/index.php index b71e3b6fa9..745bebe751 100644 --- a/setup/index.php +++ b/setup/index.php @@ -298,7 +298,7 @@ switch ($GLOBALS['egw_info']['setup']['currentver']['phpgwapi']) { case 'dbcreate': - $GLOBALS['egw_setup']->db->create_database($_POST['db_root'], $_POST['db_pass'], $_POST['system_charset']); + $GLOBALS['egw_setup']->db->create_database($_POST['db_root'], $_POST['db_pass'],'utf8'); // create all new db's with utf8 break; case 'drop': $setup_info = $GLOBALS['egw_setup']->detection->get_versions($setup_info); From f6b32160856a3dca4c3cfba605c555339650e9bc Mon Sep 17 00:00:00 2001 From: Lars Kneschke Date: Tue, 15 May 2007 06:44:09 +0000 Subject: [PATCH 03/51] use egw_openWindowCentered2 instead of plain windows.open to open popup windows centered to the screen --- etemplate/inc/class.uietemplate.inc.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/etemplate/inc/class.uietemplate.inc.php b/etemplate/inc/class.uietemplate.inc.php index d04b49b5c3..198b8fee73 100644 --- a/etemplate/inc/class.uietemplate.inc.php +++ b/etemplate/inc/class.uietemplate.inc.php @@ -1655,26 +1655,30 @@ $url = $GLOBALS['egw']->link($matches[1],$matches[2]); $on = str_replace($matches[0],'\''.$url.'\'',$on); } - if (preg_match_all("/form::name\\('([^']+)'\\)/",$on,$matches)) - { - foreach($matches[1] as $n => $matche_name) - { + + if (preg_match_all("/form::name\\('([^']+)'\\)/",$on,$matches)) { + foreach($matches[1] as $n => $matche_name) { $matches[1][$n] = '\''.$this->form_name($cname,$matche_name).'\''; } $on = str_replace($matches[0],$matches[1],$on); } - if (preg_match('/confirm\(["\']{1}(.*)["\']{1}\)/',$on,$matches)) - { + + if (preg_match('/confirm\(["\']{1}(.*)["\']{1}\)/',$on,$matches)) { $question = lang($matches[1]).(substr($matches[1],-1) != '?' ? '?' : ''); // add ? if not there, saves extra phrase $on = str_replace($matches[0],'confirm(\''.addslashes($question).'\')',$on); //$on = preg_replace('/confirm\(["\']{1}(.*)["\']{1}\)/','confirm(\''.addslashes($question).'\')',$on); } + + if (preg_match("/window.open\('(.*)','(.*)','dependent=yes,width=(.*),height=(.*),scrollbars=yes,status=(.*)'\)/",$on,$matches)) { + $on = str_replace($matches[0], "egw_openWindowCentered2('{$matches[1]}', '{$matches[2]}', '{$matches[3]}', '{$matches[4]}', '{$matches[5]}')", $on); + } + // replace xajax calls to code in widgets, with the "etemplate" handler, // this allows to call widgets with the current app, otherwise everyone would need etemplate run rights - if (strpos($on,"xajax_doXMLHTTP('etemplate.")!==false) - { + if (strpos($on,"xajax_doXMLHTTP('etemplate.")!==false) { $on = preg_replace("/^xajax_doXMLHTTP\('etemplate\.([a-z]+_widget\.[a-zA-Z0-9_]+)\'/",'xajax_doXMLHTTP(\''.$GLOBALS['egw_info']['flags']['currentapp'].'.\\1.etemplate\'',$on); } + return $on; } From 61d0659715455c905142d1b842ea2059d657c6b8 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 15 May 2007 14:23:28 +0000 Subject: [PATCH 04/51] fix for bug #450: Advanced search does not work regarding categories --- addressbook/inc/class.socontacts_sql.inc.php | 22 ++++++++++++++++++++ addressbook/inc/class.uicontacts.inc.php | 11 ++++++++++ 2 files changed, 33 insertions(+) diff --git a/addressbook/inc/class.socontacts_sql.inc.php b/addressbook/inc/class.socontacts_sql.inc.php index cda7f2d30c..bd44cf8c20 100644 --- a/addressbook/inc/class.socontacts_sql.inc.php +++ b/addressbook/inc/class.socontacts_sql.inc.php @@ -276,6 +276,11 @@ class socontacts_sql extends so_sql $criteria[] = $this->db->expression($this->extra_table,'(',array('contact_name'=>substr($col,1),'contact_value'=>$val),')'); $search_customfields = true; } + elseif($col == 'cat_id') // search in comma-sep. cat-column + { + $criteria = array_merge($criteria,$this->_cat_search($val)); + unset($criteria[$col]); + } } } if ($search_customfields) // search the custom-fields @@ -345,6 +350,23 @@ class socontacts_sql extends so_sql return '('.implode(' OR ',$cat_filter).')'; } + /** + * fix cat_id criteria to search in comma-separated multiple cats + * + * @internal + * @param int/array $cats + * @return array of sql-strings to be OR'ed or AND'ed together + */ + function _cat_search($cats) + { + $cat_filter = array(); + foreach(is_array($cats) ? $cats : array($cats) as $cat) + { + if (is_numeric($cat)) $cat_filter[] = $this->db->concat("','",cat_id,"','")." LIKE '%,$cat,%'"; + } + return $cat_filter; + } + /** * Change the ownership of contacts owned by a given account * diff --git a/addressbook/inc/class.uicontacts.inc.php b/addressbook/inc/class.uicontacts.inc.php index 79eec797ad..d1d5e07b59 100644 --- a/addressbook/inc/class.uicontacts.inc.php +++ b/addressbook/inc/class.uicontacts.inc.php @@ -1527,6 +1527,17 @@ $readonlys['button[vcard]'] = true; '%' => lang('contains'), false => lang('exact'), ); + if ($this->customfields) + { + foreach($this->customfields as $name => $data) + { + if ($data['type'] == 'select') + { + if (!isset($content['#'.$name])) $content['#'.$name] = ''; + if(!isset($data['values'][''])) $sel_options['#'.$name][''] = lang('Select one'); + } + } + } // configure edit template as search dialog $readonlys['change_photo'] = true; $readonlys['fileas_type'] = true; From 400e1807548bb38177b0ee24e6b87d42f12669a6 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 16 May 2007 07:30:58 +0000 Subject: [PATCH 05/51] "sending multiple to email as array when calling fmail's compose, to have them on separate lines" --- calendar/inc/class.uiforms.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calendar/inc/class.uiforms.inc.php b/calendar/inc/class.uiforms.inc.php index d437fe73ae..72742c97bd 100644 --- a/calendar/inc/class.uiforms.inc.php +++ b/calendar/inc/class.uiforms.inc.php @@ -567,7 +567,7 @@ class uiforms extends uical } $vars = array( 'menuaction' => 'felamimail.uicompose.compose', - 'preset[to]' => implode(', ',$to), + 'preset[to]' => $to, 'preset[subject]' => $subject, 'preset[body]' => $body, 'preset[name]' => 'event.ics', From 314beb70b2ad2ce05b886bb1bf2743b5dbc0888b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 16 May 2007 13:02:31 +0000 Subject: [PATCH 06/51] "bugfix: for date/time storage formats without separators, eg. Ymd" --- etemplate/inc/class.date_widget.inc.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/etemplate/inc/class.date_widget.inc.php b/etemplate/inc/class.date_widget.inc.php index 7f97dede6f..9f6cccbbcc 100644 --- a/etemplate/inc/class.date_widget.inc.php +++ b/etemplate/inc/class.date_widget.inc.php @@ -120,6 +120,17 @@ $date = split('[- /.:,]',$value); //echo "date=
"; print_r($date); echo "
"; $mdy = split('[- /.:,]',$data_format); + + if (count($mdy) == 1) // no seperators, eg. YmdHi + { + for($n = $i = 0; $n < strlen($data_format); ++$n) + { + $mdy[$n] = $data_format{$n}; + $len = $data_format{$n} == 'Y' ? 4 : 2; + $date[$n] = substr($value,$i,$len); + $i += $len; + } + } $value = array(); foreach ($date as $n => $dat) { From 83e4306bcee71d86c46b605b5583fe5d6c2ac0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Manuel=20G=C3=B3mez=20Senovilla?= Date: Wed, 16 May 2007 22:10:08 +0000 Subject: [PATCH 07/51] Language updates --- addressbook/setup/phpgw_es-es.lang | 2 + addressbook/setup/phpgw_fi.lang | 46 ++++++- addressbook/setup/phpgw_pl.lang | 8 +- addressbook/setup/phpgw_pt-br.lang | 4 +- addressbook/setup/phpgw_sk.lang | 113 +++++++++++------- addressbook/setup/phpgw_sl.lang | 4 +- addressbook/setup/phpgw_zh-tw.lang | 5 + admin/setup/phpgw_en.lang | 2 +- admin/setup/phpgw_fi.lang | 43 ++++--- admin/setup/phpgw_pl.lang | 39 +++--- admin/setup/phpgw_sk.lang | 165 ++++++++++++------------- calendar/setup/phpgw_es-es.lang | 4 +- calendar/setup/phpgw_fi.lang | 7 ++ calendar/setup/phpgw_fr.lang | 2 +- calendar/setup/phpgw_pl.lang | 12 +- calendar/setup/phpgw_pt-br.lang | 4 +- calendar/setup/phpgw_sk.lang | 102 ++++++++-------- calendar/setup/phpgw_sl.lang | 4 +- etemplate/setup/phpgw_fi.lang | 20 ++++ etemplate/setup/phpgw_sk.lang | 140 ++++++++++++---------- infolog/setup/phpgw_pl.lang | 20 ++-- infolog/setup/phpgw_sk.lang | 2 + phpgwapi/setup/phpgw_es-es.lang | 3 +- phpgwapi/setup/phpgw_fi.lang | 36 +++--- phpgwapi/setup/phpgw_pl.lang | 158 +++++++++++++++++++++--- phpgwapi/setup/phpgw_sk.lang | 185 +++++++++++++++-------------- phpgwapi/setup/phpgw_zh-tw.lang | 37 +++--- preferences/setup/phpgw_en.lang | 6 +- preferences/setup/phpgw_pl.lang | 54 +++++---- preferences/setup/phpgw_pt-br.lang | 7 +- resources/setup/phpgw_pl.lang | 6 +- setup/lang/phpgw_es-es.lang | 6 + setup/lang/phpgw_fi.lang | 32 ++++- setup/lang/phpgw_sk.lang | 92 +++++++------- timesheet/setup/phpgw_sk.lang | 25 ++-- 35 files changed, 861 insertions(+), 534 deletions(-) diff --git a/addressbook/setup/phpgw_es-es.lang b/addressbook/setup/phpgw_es-es.lang index e65ed1e438..a14355021f 100644 --- a/addressbook/setup/phpgw_es-es.lang +++ b/addressbook/setup/phpgw_es-es.lang @@ -95,6 +95,7 @@ csv-filename addressbook es-es Archivo CSV custom addressbook es-es Personalizado custom fields addressbook es-es Campos personalizados debug output in browser addressbook es-es Depurar salida en el navegador +default address format addressbook es-es Formato predeterminado de las drecciones default addressbook for adding contacts addressbook es-es Libreta de direcciones predeterminada para ańadir contactos default filter addressbook es-es Filtro predeterminado delete a single entry by passing the id. addressbook es-es Borrar una entrada sencilla pasando el id @@ -300,6 +301,7 @@ view linked infolog entries addressbook es-es Ver las entradas del Registro que warning!! ldap is valid only if you are not using contacts for accounts storage! admin es-es ĄAtención! ĄLDAP es valido sólo si no está usando contactos para almacenar las cuentas! warning: all contacts found will be deleted! addressbook es-es ATENCIÓN: ĄSe borrarán todos los contactos encontrados! what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook es-es Qué deben mostrar los enlaces a la libreta de direcciones en otras aplicaciones. Los valores vacíos se ignorarán. Es necesario volver a iniciar la sesión si se cambia esta opción. +which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook es-es Qué formato de dirección debe usar la libreta de direcciones para países de los que no conoce el formato de las direcciones. Si se conoce el formato de las direcciones, se usa independientemente de lo indicado en esta opción which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook es-es Qué libreta de direcciones debe seleccionarse al ańadir un contacto Y cuando no haya permiso de ańadir en la libreta de direcciones actual. which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook es-es Juego de caracteres a usar para exportar a CSV. El predeterminado del sistema es el juego de caracteres de esta instalación de eGroupWare. which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook es-es Qué campos deben exportarse. Indicar todos significa que cada campo almacenado en la libreta de direcciones, incluyendo los personalizados. La dirección del trabajo o particular sólo contiene el nombre, la empresa y la dirección seleccionada. diff --git a/addressbook/setup/phpgw_fi.lang b/addressbook/setup/phpgw_fi.lang index c5c8766c08..ca7100b833 100644 --- a/addressbook/setup/phpgw_fi.lang +++ b/addressbook/setup/phpgw_fi.lang @@ -1,25 +1,33 @@ %1 added addressbook fi %1 lisätty %1 contact(s) %2 addressbook fi %1 yhteystieto(a) %2 %1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook fi %1 yhteystieto(a) %2, %3 epäonnistui puutteellisien oikeuksien takia !!! +%1 fields in %2 other organisation member(s) changed addressbook fi %1 kenttiä %2:ssa muun organisaation jäsen(iä) on muutettu %1 records imported addressbook fi %1 tietuetta tuotu %1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook fi %1 tietuetta luettu (ei vielä tuotu, voit %2palata%3 takaisin ja poistaa valinnan Testaa tuontia) %1 starts with '%2' addressbook fi %1 alkaa %2 (e.g. 1969) addressbook fi (esim. 1969) no conversion type <none> could be located. please choose a conversion type from the list addressbook fi Muunnostyyppiä ei löydy. Valitse muunnostyyppi @-eval() is only availible to admins!!! addressbook fi @-eval() on vain ylläpitäjien käytettävissä! +account repository admin fi Käyttäjätilien varasto accounts addressbook fi Käyttäjätunnukset actions addressbook fi Toimenpiteet add %1 addressbook fi Lisää %1 add a contact to this organisation addressbook fi Lisää yhteystieto tähän organisaatioon add a new contact addressbook fi Lisää uusi yhteystieto +add a new list addressbook fi Lisää uusi lista add a single entry by passing the fields. addressbook fi Lisää yksittäinen tietue antamalla kentät. add custom field addressbook fi Lisää oma kenttä +add to distribution list: addressbook fi Lisää jakelulista +added by synchronisation addressbook fi lisätty synckronoinnin yhteydessä +added to distribution list addressbook fi lisätty jakelulistalle +additional information about using ldap as contact repository admin fi Valinnaista tietoa LDAP:n käyttämisestä yhteystietojen varastona. address book common fi Osoitekirja address book - vcard in addressbook fi Osoitekirja - VCard kohteessa address book - view addressbook fi Osoitekirja - näytä address line 2 addressbook fi Osoite rivi 1 address type addressbook fi Osoitteen laji addressbook common fi Osoitekirja +addressbook csv export addressbook fi Osoitekirjan vienti CSV:hen addressbook menu addressbook fi Osoitekirjan valikko addressbook preferences addressbook fi Osoitekirjan asetukset addressbook the contact should be saved to addressbook fi Osoitekirjan yhteystiedot tulisi tallentaa @@ -27,6 +35,7 @@ addressbook-fieldname addressbook fi Osoitekirja - kent addvcard addressbook fi Lisää VCard advanced search addressbook fi Tarkempi haku all contacts addressbook fi Kaikki yhteystiedot +allow users to maintain their own account-data admin fi Salli käyttäjän tuoda omia asiakastietoja alt. csv import addressbook fi Alt. CSV Tuonti always addressbook fi aina apply changes to all members, whose fields have the same previous content addressbook fi Hyväksy muutos kaikille jäsenillä, joilla on kentässä sama sisältö entuudestaan @@ -45,7 +54,7 @@ business country addressbook fi Maa business email addressbook fi Sähköposti business fax addressbook fi Fax business phone addressbook fi Puhelin -business state addressbook fi Osavaltio +business state addressbook fi Lääni business street addressbook fi Katuosoite business zip code addressbook fi Postinumero calendar uri addressbook fi Kalenterin URL @@ -68,23 +77,28 @@ contact application admin fi Yhteystietojen hallinta contact copied addressbook fi Yhteystieto kopioitu contact deleted addressbook fi Yhteystieto poistettu contact id addressbook fi Yhteystiedon ID +contact repository admin fi Yhteystietojen varasto contact saved addressbook fi Kontakti tallennettu contact settings admin fi Yhteystiedot - asetukset contacts to ldap admin fi yhteystiedot LDAP:sta +contacts to ldap, account contact-data to sql admin fi Yhteystiedot LDAP:ssa, käyttäjätilien yhteysttiedot SQL:ssä contains addressbook fi sisältää copied by %1, from record #%2. addressbook fi Kopioinut %1 tietueesta #%2. copy a contact and edit the copy addressbook fi Kopioi yhteystieto ja muokkaa kopiota country common fi Maa create new links addressbook fi Luo uusia linkkejä created addressbook fi Luotu +credit addressbook fi Luotto csv-fieldname addressbook fi CSV-kentän nimi csv-filename addressbook fi CSV-tiedoston nimi custom addressbook fi Oma custom fields addressbook fi Omat kentät debug output in browser addressbook fi Virheenselvitys selaimessa +default address format addressbook fi Oletus osoitteen muoto default addressbook for adding contacts addressbook fi Oletus osoitekirja johon yhteystiedot tallennetaan default filter addressbook fi Oletusrajaus delete a single entry by passing the id. addressbook fi Poista tietue antamalla sen tunniste +delete selected distribution list! addressbook fi Poista valittu jakelulista delete this contact addressbook fi Poista tämä yhteystieto delete this organisation including all its contacts addressbook fi Poista tämä organisaatio ja KAIKKI sen sisältämät yhteystiedot. deleted addressbook fi poistettu @@ -92,15 +106,19 @@ deletes the photo addressbook fi Poistetaan kuva department common fi Osasto departments addressbook fi osastot displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook fi Näytä etusivulla syntymäpäivien muistutus (sivu joka avautuu kun kirjaudut eGroupWareen tai painat Etusivun kuvaketta). -do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fi Haluatko yksityisen vieraskirjan, jota muut käyttäjät eivät näe? +distribution list deleted addressbook fi Jakelulista poistettu +distribution lists addressbook fi Jakelulistat +do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fi Haluatko yksityisen osoitekirjan, jota muut käyttäjät eivät näe? do your really want to delete this contact? addressbook fi Haluatko varmasti poistaa tämän kontaktin? doesn't matter addressbook fi Ei väliä domestic addressbook fi Kotimainen +don't hide empty columns addressbook fi Älä piiloita tyhjiä sarakkeita download addressbook fi Lataa download export file (uncheck to debug output in browser) addressbook fi Lataa vientitiedosto (Poista debug valinta selaimesta) download this contact as vcard file addressbook fi Lataa tämä kontakti vCard-tiedostona edit custom field addressbook fi Muokkaa oma kenttä edit custom fields admin fi Muokka omia kenttiä +edit extra account-data in the addressbook admin fi Muokkaa käyttäjän omia asiakastietoja osoitekirjassa edit phonenumbers - addressbook fi Muokkaa puhelinnumeroita email & internet addressbook fi Sähköposti Ja Internet empty for all addressbook fi tyhjä kaikille @@ -117,7 +135,9 @@ export file name addressbook fi Vie tiedostoon export from addressbook addressbook fi Vie osoitekirjasta export selection addressbook fi Vie valinnat exported addressbook fi viety +exports contacts from your addressbook into a csv file. csv means 'comma seperated values'. however in the options tab you can also choose other seperators. addressbook fi Vie osoitekirjan yhteystiedot CSV tiedostoon. CVS (Comma Seperated Values) tarkoittaa pilkulla erotettua muotoilua. Voit valita Asetukset välilehdeltä myös muita erotustapoja. extra addressbook fi Lisätiedot +failed to change %1 organisation member(s) (insufficent rights) !!! addressbook fi %1 organisaation jäsen(ien) muutos epäonnistui (Puutteelliset oikeudet) !!! fax addressbook fi Faksi fax number common fi Faksi field %1 has been added ! addressbook fi Kenttä %1 on lisätty! @@ -128,12 +148,15 @@ fields the user is allowed to edit himself admin fi Kent fields to show in address list addressbook fi Osoitelistan kentät fieldseparator addressbook fi Kenttäerotin for read only ldap admin fi vain luku LDAP:sta +freebusy uri addressbook fi Freebusy URI full name addressbook fi Koko nimi general addressbook fi Yleinen geo addressbook fi GEO global categories addressbook fi Yleiset kategoriat grant addressbook access common fi Anna pääsy osoitekirjaan group %1 addressbook fi Ryhmä %1 +hide accounts from addressbook addressbook fi Piiloita käyttäjätilit osoitekirjasta +hides accounts completly from the adressbook. addressbook fi Piiloita käyttäjätilit kokonaan osoitekirjasta. home address addressbook fi Kotiosoite home address, birthday, ... addressbook fi Kotiosoite, syntymäpäivä home city addressbook fi Kaupunki @@ -157,6 +180,7 @@ import next set addressbook fi Tuo seuraava ryhm import_instructions addressbook fi Netscapessa: Avaa Addressbook ja valitse File -valikosta Export .
Syntyvä tiedosto on LDIF -muodossa.

Outlookissa: valitse Yhteystiedot -kansio, valitse Tiedosto -valikosta in %1 days (%2) is %3's birthday. addressbook fi %1 päivää (%2) on %3:n syntymäpäivä income addressbook fi Tulossa +insufficent rights to delete this list! addressbook fi Puuttelliset oikeudet listan poistamiseksi! international addressbook fi Kansainvälinen label addressbook fi Label last modified addressbook fi Viimeksi muokattu @@ -166,25 +190,31 @@ ldap host for contacts admin fi LDAP-palvelin ldap settings for contacts admin fi Yhteystietojen LDAP asetukset ldif addressbook fi LDIF line 2 addressbook fi Rivi 2 +link title for contacts show addressbook fi Linkitä otsikko näyttämää yhteystieto links addressbook fi Linkit list all categories addressbook fi Näytä kaikki kategoriat list all customfields addressbook fi Näytä kaikki omat kentät +list created addressbook fi Lista luotu +list creation failed, no rights! addressbook fi Listan luonti epäonnistu, ei riittävästi oikeuksia! load vcard addressbook fi Lataa VCard locations addressbook fi sijainnit mark records as private addressbook fi Mark records as private message phone addressbook fi Vastaajapalvelu middle name addressbook fi Toimen nimi +migration finished addressbook fi Sulauttaminen valmis +migration to ldap admin fi Sulauta LDAP:iin mobile addressbook fi GSM mobile phone addressbook fi Matkapuhelin modem phone addressbook fi Modem Phone more ... addressbook fi Lisää ... +move to addressbook: addressbook fi Siirrä osoitekirjaan moved addressbook fi siirretty multiple vcard addressbook fi Monta VCardia +name for the distribution list addressbook fi Nimeä jakelulista name, address addressbook fi Nimi, osoite no vcard addressbook fi Ei VCard number addressbook fi Numero number of records to read (%1) addressbook fi Luettavien tietueiden määrä (%1) -only if there is content addressbook fi vain jos on yhteystieto organisation addressbook fi Organisaatio organisations addressbook fi Organisaatiot organisations by departments addressbook fi Organisaatiot osastoittain @@ -211,6 +241,8 @@ read a single entry by passing the id and fieldlist. addressbook fi Lue yksitt read only addressbook fi Vain luku record access addressbook fi Lukuoikeus record owner addressbook fi Omistaja +remove selected contacts from distribution list addressbook fi Poista valitut yhteystiedot jakelulistalta +removed from distribution list addressbook fi poistettu jakelulistalta role addressbook fi Rooli room addressbook fi Tila search for '%1' addressbook fi haku '%1' @@ -219,12 +251,14 @@ select a view addressbook fi Valitse n select addressbook type addressbook fi Valitse osoitekirjan muoto select all addressbook fi Valitse kaikki select an action or addressbook to move to addressbook fi Valitse toiminto tai osoitekirja siirrettäväksi +select migration type admin fi Valitse sulautus tapa select multiple contacts for a further action addressbook fi Suorita valituille yhteystiedoille seuraava toiminto select the type of conversion addressbook fi Valitse muunnoksen tyyppi select the type of conversion: addressbook fi Valitse muunnoksen tyyppi: +select where you want to store / retrieve contacts admin fi Valitse minne varastoit / mistä palautat yhteystiedot selected contacts addressbook fi valitse yhteystiedot +should the columns photo and home address always be displayed, even if they are empty. addressbook fi Näytetäänkö kuva ja kotiosoite sarake aina, vaikka ne olisivat tyhjiä. show addressbook fi Näytä -show a column for %1 addressbook fi Näytä sarakkeet %1 show birthday reminders on main screen addressbook fi Näytä syntymäpäivämuistutukset päänäytöllä show infolog entries for this organisation addressbook fi Näytä InfoLogin merkinnät tästä organisaatiosta show the contacts of this organisation addressbook fi Näytä tämän organisaation yhteystiedot @@ -236,7 +270,7 @@ street common fi Katuosoite successfully imported %1 records into your addressbook. addressbook fi Tuotiin %1 tietuetta osoitekirjaan. suffix addressbook fi Jälkiliite tel home addressbook fi Kotipuhelin -test import (show importable records only in browser) addressbook fi Testaa tuontia (näytä tuotavat tieuteet vain selaimessa) +test import (show importable records only in browser) addressbook fi Testaa tuontia (näytä tuotavat tietueet vain selaimessa) that field name has been used already ! addressbook fi Kentän nimi on jo käytössä! this person's first name was not in the address book. addressbook fi Etunimeä ei ole osoitekirjassa. this person's last name was not in the address book. addressbook fi Sukunimeä ei ole osoitekirjassa. @@ -248,6 +282,7 @@ translation addressbook fi K type addressbook fi Muoto update a single entry by passing the fields. addressbook fi Päivitä yksittäistä tietuetta antamalla kentät. upload or delete the photo addressbook fi Lataa tai poista kuva +use an extra category tab? addressbook fi Käytä ylimääräistä kategoria välilehteä use country list addressbook fi Käytä maaluetteloa vcard common fi VCard vcards require a first name entry. addressbook fi VCard vaatii etunimen. @@ -267,6 +302,7 @@ you are not permittet to edit this contact addressbook fi Sinulla ei ole oikeutt you are not permittet to view this contact addressbook fi Sinulla ei ole oikeutta nähdä tätä kontaktia you must select a vcard. (*.vcf) addressbook fi Valitse vcard -tiedosto. (*.vcf) you must select at least 1 column to display addressbook fi Valitse ainakin yksi näytettävä sarake +you need to select a distribution list addressbook fi Valitse ensin jakelulista you need to select some contacts first addressbook fi Valitse ensin joku yhteystieto zip code common fi Postinumero zip_note addressbook fi

Huom: Tiedosto voi olla usean .csv-, .vcf- tai .ldif- tiedoston zip-paketti. Älä kuitenkaan tuo useampaa tiedostotyyppiä kerralla. diff --git a/addressbook/setup/phpgw_pl.lang b/addressbook/setup/phpgw_pl.lang index 17f698e23a..799a3abfea 100755 --- a/addressbook/setup/phpgw_pl.lang +++ b/addressbook/setup/phpgw_pl.lang @@ -95,6 +95,7 @@ csv-filename addressbook pl Nazwa pliku CSV custom addressbook pl Użytkownika custom fields addressbook pl Pola użytkownika debug output in browser addressbook pl Debuguj wynik w przeglądarce +default address format addressbook pl Domyślny format adresu default addressbook for adding contacts addressbook pl Domyślna książka adresowa przy dodawaniu kontaktów default filter addressbook pl Filtr domyślny delete a single entry by passing the id. addressbook pl Usuń jeden wpis według podanego id. @@ -250,7 +251,7 @@ removed from distribution list addressbook pl usuni role addressbook pl Pozycja room addressbook pl Pokój search for '%1' addressbook pl Szukaj '%1' -select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook pl Wybierz zdjęcie w fomacjie jpeg. Będzie zmniejszone do 60 pikseli. +select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook pl Wybierz zdjęcie w formacie JPEG. Będzie zmniejszone do szerokości 60 pikseli. select a view addressbook pl Wybierz wygląd select addressbook type addressbook pl Wybierz typ książki adresowej select all addressbook pl Zaznacz wszystkie @@ -300,9 +301,10 @@ view linked infolog entries addressbook pl Poka warning!! ldap is valid only if you are not using contacts for accounts storage! admin pl UWAGA!! Można używać LDAP tylko kiedy NIE używa się kontaktów do przechowywania kont! warning: all contacts found will be deleted! addressbook pl UWAGA: Wszystkie znalezione kontakty zostaną skasowane! what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook pl Jaką treść powinny mieć odnośniki do książki adresowej widocznie w innych aplikacjach? Puste wartości zostaną pominięte. Musisz na nowo się zalogować, jeżeli zmienisz to ustawienie. +which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook pl Jaki format adresu powinien być używany przez książkę adresową dla państw, które nie mają określonego formatu adresu? Jeżeli format dla danego państwa jest ustalony, ma pierwszeństwo przed powyższym. which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook pl Która książka adresowa powinna być wybrana przy dodawaniu kontaktu, jeżeli nie masz praw zapisu do BIEŻĄCEJ książki adresowej? -which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook pl Jakiego zestawu znaków użyć przy eksporcie do CSV? Zestaw "systemowy domyślny" jest zestawem wybrany w tej instalacji eGroupWare. -which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook pl Które pola powinny być wyeksportowane? "Wszystkie", czyli każde pole książki adresowej, również pola własne użytkowników. Tryb adresu "biznes" oraz "domowy" zawiera tylko: nazwę, przedsiębiorstwo oraz wybrany rodzaj adresu. +which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook pl Jakiego zestawu znaków użyć przy eksporcie do CSV? Zestaw 'systemowy domyślny' jest zestawem wybrany w tej instalacji eGroupWare. +which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook pl Które pola powinny być wyeksportowane? 'Wszystkie', czyli każde pole książki adresowej, również pola własne użytkowników. Tryb adresu 'biznes' oraz 'domowy' zawiera tylko: nazwę, przedsiębiorstwo oraz wybrany rodzaj adresu. whole query addressbook pl Całe zapytanie work phone addressbook pl Telefon do pracy write (update or add) a single entry by passing the fields. addressbook pl Zapisz (aktualizuj lub dodaj) pojedynczy wpis poprzez podanie zawartości pól. diff --git a/addressbook/setup/phpgw_pt-br.lang b/addressbook/setup/phpgw_pt-br.lang index ddfbc20dd3..fb8058187d 100644 --- a/addressbook/setup/phpgw_pt-br.lang +++ b/addressbook/setup/phpgw_pt-br.lang @@ -95,6 +95,7 @@ csv-filename addressbook pt-br CSV-Nome do Arquivo custom addressbook pt-br Personalizado custom fields addressbook pt-br Campos personalizados debug output in browser addressbook pt-br Depurar saída no navegador +default address format addressbook pt-br Formato padrăo de endereço default addressbook for adding contacts addressbook pt-br Lista de contatos padrăo para inclusăo default filter addressbook pt-br Filtro padrăo delete a single entry by passing the id. addressbook pt-br Remover um única entrada informando o ID. @@ -156,7 +157,7 @@ global categories addressbook pt-br Categorias Globais grant addressbook access common pt-br Permitir acesso aos Contatos group %1 addressbook pt-br Grupo %1 hide accounts from addressbook addressbook pt-br Ocultar contas dos Contatos -hides accounts completly from the adressbook for non administrators! addressbook pt-br Ocultar completamente contas dos Contatos para um năo-administrador! +hides accounts completly from the adressbook. addressbook pt-br Oculta completamente contas dos Contatos home address addressbook pt-br Endereço residencial home address, birthday, ... addressbook pt-br Endereço residencial, Aniversário, ... home city addressbook pt-br Cidade @@ -300,6 +301,7 @@ view linked infolog entries addressbook pt-br Exibir entradas de Tarefas relacio warning!! ldap is valid only if you are not using contacts for accounts storage! admin pt-br AVISO!! LDAP é válido somente se vocę năo estiver usando contatos para guardar as contas! warning: all contacts found will be deleted! addressbook pt-br AVISO: Todos os contatos encontrados serăo removidos! what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook pt-br O que deverăo exibir os links para os Contatos em outros aplicativos. Valores vazios serăo desconsiderados. Vocę precisará fazer novo login ser alterar esta configuraçăo! +which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook pt-br Qual formato de endereço deverá ser usado para países onde o formato padrăo năo é conhecido. Se o formato de endereço de um país for conhecido, este será usado independente desta configuraçăo. which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook pt-br Qual lista de contatos deverá ser selecionada quando incluindo um contato E vocę năo tem direitos de inclusăo na lista de contatos atual. which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook pt-br Que codificaçăo de caracter deverá ser usado para exportaçăo CSV. O padrăo é a codificaçăo desta instalaçăo do eGroupWare. which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook pt-br Quais campos devem ser exportados. Todos significa qualquer campo registrado nos Contatos, incluindo os campos personalizados. Os endereços residencial e comercial contęm nome, companhia e o endereço seleciona. diff --git a/addressbook/setup/phpgw_sk.lang b/addressbook/setup/phpgw_sk.lang index 717900b04a..113ca61bf3 100644 --- a/addressbook/setup/phpgw_sk.lang +++ b/addressbook/setup/phpgw_sk.lang @@ -2,39 +2,46 @@ %1 contact(s) %2 addressbook sk %1 kontakt(ov) %2 %1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook sk %1 kontakt(ov) %2, %3 sa nepodarilov z dôvodu nedostatočných práv !!! %1 fields in %2 other organisation member(s) changed addressbook sk %1 položiek u %2 členov iných organizácií sa zmenilo -%1 records imported addressbook sk Naimportovaných %1 záznamov -%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sk prečítaných %1 záznamov (zatiaľ neimportované, môžete se vrátit %2späť%3 a odznačit Test importu) +%1 records imported addressbook sk Bolo naimportovaných %1 záznamov +%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sk Bolo prečítaných %1 záznamov (zatiaľ neimportované, môžete se vrátit %2späť%3 a odznačit Test importu) %1 starts with '%2' addressbook sk %1 začína na '%2' (e.g. 1969) addressbook sk (napr. 1969) no conversion type <none> could be located. please choose a conversion type from the list addressbook sk Nevybrali ste žiadny typ prevodu. Prosím, vyberte ho zo zoznamu. @-eval() is only availible to admins!!! addressbook sk Iba správci môžu použiť @-eval() !!! +account repository admin sk Zdroj pre účty accounts addressbook sk Účty actions addressbook sk Akcie add %1 addressbook sk Pridať %1 add a contact to this organisation addressbook sk Pridať kontakt k tejto organizácii add a new contact addressbook sk Pridať nový kontakt -add a single entry by passing the fields. addressbook sk Pridaj záznam zadaním položiek. -add custom field addressbook sk Pridaj používateľskú položku +add a new list addressbook sk Pridať nový zoznam +add a single entry by passing the fields. addressbook sk Pridať záznam pomocou zadania polí. +add custom field addressbook sk Pridať používateľskú položku +add to distribution list: addressbook sk Pridať do distribučného zoznamu: +added by synchronisation addressbook sk Pridané cez synchronizáciu +added to distribution list addressbook sk Pridané do distribučného zoznamu +additional information about using ldap as contact repository admin sk Ďalšie informácie o používaní LDAP ako zdroja kontaktov address book common sk Adresár -address book - vcard in addressbook sk Adresár - VCard v +address book - vcard in addressbook sk Adresár - vizitka VCard v address book - view addressbook sk Adresár - pohľad address line 2 addressbook sk Adresa riadok 2 address type addressbook sk Typ adresy addressbook common sk Adresár +addressbook csv export addressbook sk CSV export Adresára addressbook menu addressbook sk Menu Adresára addressbook preferences addressbook sk Predvoľby Adresára addressbook the contact should be saved to addressbook sk Adresár -tento kontakt uložiť do addressbook-fieldname addressbook sk Pole adresára addvcard addressbook sk Pridaj vizitku VCard -advanced search addressbook sk Rozšírené hľadanie +advanced search addressbook sk Pokročilé hľadanie all contacts addressbook sk Všetky kontakty allow users to maintain their own account-data admin sk Povoliť používateľom, aby spravovali údaje svojich vlastných používateľských účtov alt. csv import addressbook sk Alternatívny import z CSV always addressbook sk Vždy apply changes to all members, whose fields have the same previous content addressbook sk Vykonať zmeny u všetkých členov, ktorých položky majú ten istý uvedený obsah apply the action on the whole query, not only the shown contacts!!! addressbook sk Vykonať akciu na celom dopyte, NIE iba na zobrazených kontaktoch!!! -are you shure you want to delete this contact? addressbook sk Naozaj chcete zmazať tento kontakt? -are you sure you want to delete this field? addressbook sk Naozaj mám zmazať túto položku? +are you shure you want to delete this contact? addressbook sk Naozaj chcete odstrániť tento kontakt? +are you sure you want to delete this field? addressbook sk Naozaj mám odstrániť túto položku? assistent addressbook sk Asistent assistent phone addressbook sk Telefón asistenta birthday common sk Narodeniny @@ -58,18 +65,19 @@ cell phone addressbook sk Mobil change all organisation members addressbook sk zmeniť všetkých členov organizácie charset for the csv export addressbook sk Znaková sada pre export CSV charset of file addressbook sk Znaková sada súboru -check all addressbook sk Označ všetko +check all addressbook sk Označiť všetko choose an icon for this contact type admin sk Zvoľte ikonu pre tento typ kontaktu chosse an etemplate for this contact type admin sk Zvoľte eŠablónu pre tento typ kontaktu city common sk Mesto company common sk Spoločnosť company name addressbook sk Názov firmy -configuration common sk Nastavenia +configuration common sk Konfigurácia contact common sk Kontakt contact application admin sk Kontakty -contact copied addressbook sk Kontakt skopírovaný -contact deleted addressbook sk Kontakt vymazaný +contact copied addressbook sk Kontakt bol skopírovaný +contact deleted addressbook sk Kontakt bol odstránený contact id addressbook sk ID kontaktu +contact repository admin sk Zdroj kontaktov contact saved addressbook sk Kontakt bol uložený contact settings admin sk Nastavenia Kontaktov contacts and account contact-data to ldap admin sk kontakty a kontaktné údaje účtu do LDAP @@ -87,52 +95,58 @@ csv-filename addressbook sk CSV s custom addressbook sk Vlastné custom fields addressbook sk Vlastné položky debug output in browser addressbook sk Ladiaci výstup v prehliadači +default address format addressbook sk Predvolený formát adresy default addressbook for adding contacts addressbook sk Predvolený adresár pre pridávanie kontaktov default filter addressbook sk Štandardný filter -delete a single entry by passing the id. addressbook sk Zmaž záznam zadaním id. -delete this contact addressbook sk Zmazať tento kontakt -delete this organisation including all its contacts addressbook sk Zmazať túto organizáciu vrátane VŠETKÝCH kontaktov -deleted addressbook sk Zmazané -deletes the photo addressbook sk Zmaže obrázok +delete a single entry by passing the id. addressbook sk Odstráni záznam podľa zadaného id. +delete selected distribution list! addressbook sk Odstráň vybraný distribučný zoznam! +delete this contact addressbook sk Odstrániť tento kontakt +delete this organisation including all its contacts addressbook sk Odstrániť túto organizáciu vrátane VŠETKÝCH kontaktov +deleted addressbook sk Odstránené +deletes the photo addressbook sk O department common sk Oddelenie departments addressbook sk Oddelenia displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook sk Zobrazí pripomienku o narodeninách na úvodnej stránke (to je tá, ktorá sa zobrazí hneď po prihlásení do eGroupWare, alebo po kliknutí na ikonu Domov). +distribution list deleted addressbook sk Distribučný zoznam bol zmazaný. +distribution lists addressbook sk Distribučné zoznamy do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook sk Chcete súkromný adresár, ktorý ostatní používatelia nemôžu prezerať? Vy prideľujete prístupové oprávnenia ku svojmu osobnému Adresáru. -do your really want to delete this contact? addressbook sk Naozaj chcete zmazať tento kontakt? +do your really want to delete this contact? addressbook sk Naozaj chcete odstrániť tento kontakt? doesn't matter addressbook sk Nezáleží domestic addressbook sk Domáci +don't hide empty columns addressbook sk Neskrývať prázdne stĺpce download addressbook sk Stiahnutie -download export file (uncheck to debug output in browser) addressbook sk Uložiť exportovaný súbor (Odškrtnite ak chcete zobraziť výsledek v prehliadači) +download export file (uncheck to debug output in browser) addressbook sk Uložiť exportovaný súbor (Nechajte prázdne ak chcete zobraziť výsledek v prehliadači) download this contact as vcard file addressbook sk Stiahnuť tento kontakt ak súbor vCard -edit custom field addressbook sk Oprav vlastnú položku -edit custom fields admin sk Oprav vlastné položky -edit extra account-data in the addressbook admin sk Upraviť extra dáta účtu v Adresári +edit custom field addressbook sk Upraviť vlastné pole +edit custom fields admin sk Upraviť vlastné polia +edit extra account-data in the addressbook admin sk Upraviť extra údaje účtu v Adresári edit phonenumbers - addressbook sk Upraviť telefónne čísla - email & internet addressbook sk Email & Internet empty for all addressbook sk Prázdne znamená: všetko enable an extra private addressbook addressbook sk Zapnúť extra súkromný adresár enter the path to the exported file here addressbook sk Zadajte cestu k exportovanému súboru -error deleting the contact !!! addressbook sk Chyba pri mazaní kontaktu !!! +error deleting the contact !!! addressbook sk Chyba pri odstraňovaní kontaktu !!! error saving the contact !!! addressbook sk Chyba pri ukladaní kontaktu !!! existing links addressbook sk Existujúce odkazy export addressbook sk Export export as csv addressbook sk Exportovať ako CSV -export as vcard addressbook sk Exportovať ako VCard +export as vcard addressbook sk Exportovať ako vizitku VCard export contacts addressbook sk Export kontaktov -export file name addressbook sk Názov súboru exportu +export file name addressbook sk Názov súboru pre export export from addressbook addressbook sk Export z Adresára export selection addressbook sk Exportovať výber exported addressbook sk Exportované +exports contacts from your addressbook into a csv file. csv means 'comma seperated values'. however in the options tab you can also choose other seperators. addressbook sk Vyexportuje kontakty z Vášho Adresára do súbodu CSV (Comma Separated Values čiže hodnoty oddelené čiarkou). V karte možností môžete zvoliť aj iný oddeľovač než čiarku. extra addressbook sk Extra failed to change %1 organisation member(s) (insufficent rights) !!! addressbook sk nepodarilo sa vykonať zmeny u %1 členov organizácie -nedostatočné práva !!! fax addressbook sk Fax fax number common sk Číslo faxu -field %1 has been added ! addressbook sk Položka %1 bola pridaná -field %1 has been updated ! addressbook sk Položka %1 bola aktualizovaná -field name addressbook sk Názov položky -fields for the csv export addressbook sk Položky pre CSV export -fields the user is allowed to edit himself admin sk Položky, ktoré smie používateľ upravovať -fields to show in address list addressbook sk Viditeľné položky v zozname +field %1 has been added ! addressbook sk Pole %1 bolo pridané +field %1 has been updated ! addressbook sk Pole %1 bolo aktualizované +field name addressbook sk Názov poľa +fields for the csv export addressbook sk Polia pre CSV export +fields the user is allowed to edit himself admin sk Polia, ktoré smie používateľ upravovať +fields to show in address list addressbook sk Viditeľné polia v zozname fieldseparator addressbook sk Oddeľovač polí for read only ldap admin sk pre LDAP iba na čítanie freebusy uri addressbook sk URI pre zaneprázdnenosť @@ -142,6 +156,8 @@ geo addressbook sk GEO global categories addressbook sk Globálne kategórie grant addressbook access common sk Deleguj práva pre prístup k Adresáru group %1 addressbook sk Skupina %1 +hide accounts from addressbook addressbook sk Skryť účty z Adresára +hides accounts completly from the adressbook. addressbook sk Úplne skryje účty z Adresára. home address addressbook sk Domov - Adresa home address, birthday, ... addressbook sk Adresa domov, sviatky,... home city addressbook sk Domov - Mesto @@ -165,8 +181,9 @@ import next set addressbook sk Importova import_instructions addressbook sk V Netscape otvorte Adresár a vyberte Export v menu Súbor. Exportovaný súbor bude vo formáte LDIF.

V Outlooku vyberte Kontakty, zvoľte Import a export... z menu Súbor a exportujte dáta do súboru s hodnotami oddelenými čiarkami.

V Palm Desktop 4.0 a vyššom otvorete adresár a zvoľte Export z menu Súbor. Exportované dáta budú vo formáte VCard. in %1 days (%2) is %3's birthday. addressbook sk O %1 dní (%2) bude mať narodeniny %3. income addressbook sk Príjem +insufficent rights to delete this list! addressbook sk Nemáte dostatočné práva k odstráneniu tohto zoznamu! international addressbook sk Mezinárodný -label addressbook sk Nálepka +label addressbook sk Označenie last modified addressbook sk Naposledy zmenené last modified by addressbook sk Naposledy zmenil: ldap context for contacts admin sk LDAP kontext pre kontakty @@ -178,9 +195,12 @@ link title for contacts show addressbook sk N links addressbook sk Odkazy list all categories addressbook sk Zoznam všetkých kategórií list all customfields addressbook sk Zobraziť všetky používateľské položky +list created addressbook sk Zoznam bol vytvorený +list creation failed, no rights! addressbook sk Nepodarilo sa vytvoriť zoznam, nemáte práva! load vcard addressbook sk Nahrať vizitku VCard locations addressbook sk Umiestnenia mark records as private addressbook sk Označiť záznamy ako súkromé +merge into first or account, deletes all other! addressbook sk Zlúčiť do prvého účtu, odstránia sa všetky ostatné! merged addressbook sk Zlúčené message phone addressbook sk Telefón pre správy middle name addressbook sk Prostredné meno @@ -190,13 +210,14 @@ mobile addressbook sk Mobil mobile phone addressbook sk Mobilný telefón modem phone addressbook sk Číslo na modem more ... addressbook sk Viac ... +move to addressbook: addressbook sk Presunúť do Adresára: moved addressbook sk Presunuté multiple vcard addressbook sk Viacero vizitiek VCard +name for the distribution list addressbook sk Názov pre distribučný zoznam name, address addressbook sk Meno, Adresa no vcard addressbook sk Žiadna vizitka number addressbook sk Číslo number of records to read (%1) addressbook sk Počet záznamov k načítaniu (%1) -only if there is content addressbook sk Iba ak je tam nejaký obsah options for type admin sk Voľby pre tento typ organisation addressbook sk Organizácia organisations addressbook sk Organizácie @@ -207,24 +228,26 @@ other phone addressbook sk In own sorting addressbook sk Vlastné triedenie pager common sk Pager parcel addressbook sk Parcela -permission denied !!! addressbook sk Prístup odopretý !!! +permission denied !!! addressbook sk Prístup bol odmietnutý !!! phone number common sk Telefónne číslo phone numbers common sk Telefónne čísla photo addressbook sk Fotografia -please enter a name for that field ! addressbook sk Prosím zadajte meno pre túto položku ! +please enter a name for that field ! addressbook sk Prosím zadajte meno pre toto pole! please select only one category addressbook sk Prosím, vyberte iba jednu kategóriu postal common sk Poštové pref addressbook sk Titul -preferred phone addressbook sk Preferovaný telefón +preferred phone addressbook sk Uprednostňovaný telefón prefix addressbook sk Titul public key addressbook sk Verejný kľúč publish into groups: addressbook sk Publikovať do skupín: read a list / search for entries. addressbook sk Načítať zoznam / vyhľadať záznamy. read a list of entries. addressbook sk Načítaj zoznam záznamov. -read a single entry by passing the id and fieldlist. addressbook sk Načítaj záznam zadaním id a zoznamu položek. +read a single entry by passing the id and fieldlist. addressbook sk Načítaj záznam podľa zadaného id a zoznamu polí. read only addressbook sk iba na čítanie record access addressbook sk Prístup k záznamu record owner addressbook sk Vlastník záznamu +remove selected contacts from distribution list addressbook sk Odstrániť vybrané kontakty z distribučného zoznamu +removed from distribution list addressbook sk Odstránené z distribučného zoznamu role addressbook sk Pozícia room addressbook sk Miestnosť search for '%1' addressbook sk Hľadať '%1' @@ -240,8 +263,8 @@ select the type of conversion addressbook sk Vyberte typ prevodu select the type of conversion: addressbook sk Vyberte typ prevodu: select where you want to store / retrieve contacts admin sk Vyberte, kde chcete ukladať / získavať kontakty selected contacts addressbook sk vybrané kontakty +should the columns photo and home address always be displayed, even if they are empty. addressbook sk Majú sa stĺpce pre fotku a adresu domov zobrazovať vždy, aj keď sú prázdne? show addressbook sk Ukázať -show a column for %1 addressbook sk Zobraziť stĺpec pre %1 show birthday reminders on main screen addressbook sk Pripomínať narodeniny na hlavnej stránke show infolog entries for this organisation addressbook sk Zobraziť položky Záznamníka pre túto organizáciu show the contacts of this organisation addressbook sk Zobraziť kontakty v tejto organizácii @@ -255,7 +278,7 @@ suffix addressbook sk Pr tel home addressbook sk tel domov telephony integration admin sk Integrovanie telefónie test import (show importable records only in browser) addressbook sk Otestovať import (importované záznamy sa zobrazia len v prehliadači) -that field name has been used already ! addressbook sk Takýto názov položky už existuje! +that field name has been used already ! addressbook sk Takýto názov poľa už existuje! this person's first name was not in the address book. addressbook sk Takéto meno sa v adresári nenachádza. this person's last name was not in the address book. addressbook sk Takéto priezvisko sa v adresári nenachádza. timezone addressbook sk Časové pásmo @@ -264,7 +287,7 @@ today is %1's birthday! common sk Dnes m tomorrow is %1's birthday. common sk Zajtra má narodeniny %1. translation addressbook sk Preklad type addressbook sk Typ -update a single entry by passing the fields. addressbook sk Zmeniť jednotlivý záznam zadaním položiek. +update a single entry by passing the fields. addressbook sk Aktualizovať jednotlivý záznam podľa zadaných polí upload or delete the photo addressbook sk Nahrať alebo vymazať túto fotku url to link telephone numbers to (use %1 for the number) admin sk URL na vytvorenie odkazu na telefónne čísla (použite %1 pre číslo) use an extra category tab? addressbook sk Použiť extra kartu kategórie? @@ -276,9 +299,9 @@ vcards require a first name entry. addressbook sk Vizitky potrebuj vcards require a last name entry. addressbook sk Vizitky potřebujú zadané priezvisko. view linked infolog entries addressbook sk Zobraziť pripojené položky Záznamníka warning!! ldap is valid only if you are not using contacts for accounts storage! admin sk VAROVANIE!! LDAP sa dá použiť jedine ak NEPOUŽÍVATE kontakty na uchovanie používateľských účtov! -warning: all contacts found will be deleted! addressbook sk POZOR: Všetky kontakty budú zmazané! +warning: all contacts found will be deleted! addressbook sk POZOR: Všetky kontakty budú odstránené! what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sk Čo sa má v iných aplikáciách zobraziť na mieste odkazu na adresár. Prázdne hodnoty sa vynechajú. Ak zmeníte toto nastavenie, musíte sa znovu prihlásiť! -when should the contacts list display that colum. "only if there is content" hides the column, unless there is some content in the view. addressbook sk Kedy má zoznam kontaktov zobrazovať tento stĺpec. "Iba ak je tam nejaký obsah" skryje stĺpec v prípade, ak v zobrazení nie je nejaký obsah. +which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook sk Aký formát adries sa má použiť pre krajiny, u ktorých formát nie je známy? Pozn. Ak formát tej-ktorej krajiny známy JE, tak sa použije, nezávisle od tohto nastavenia. which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook sk Ktorý adresár sa má použiť, keď pridávate nový kontakt A PRITOM nemáte právo pridať ho do aktuálneho adresára. which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook sk Ktorú znakovú sadu používať pri exporte do CSV. Predvolená je tá, ktorá je používaná ako znaková sada v tejto inštalácii eGroupWare. which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook sk Ktoré položky sa majú exportovať. "Všetky" znamená každé pole uložené v Adresári, vrátane používateľských položiek. Pracovná alebo domáca adresa obsahuje iba meno, firmu a vybrané adresy. @@ -289,12 +312,14 @@ yes, for the next three days addressbook sk yes, for the next two weeks addressbook sk Áno, pre nasledujúce 2 týždne yes, for the next week addressbook sk Áno, pre nasledujúci týždeň yes, for today and tomorrow addressbook sk Áno, pre dnešok a zajtrajšok -you are not permitted to delete contact %1 addressbook sk Nemáte oprávnenie zmazať kontakt %1 -you are not permittet to delete this contact addressbook sk Nemáte oprávnenie zmazať tento kontakt +you are not permitted to delete contact %1 addressbook sk Nemáte oprávnenie k odstráneniu kontaktu %1 +you are not permittet to delete this contact addressbook sk Nemáte oprávnenie odstrániť tento kontakt you are not permittet to edit this contact addressbook sk Nemáte oprávnenie upraviť tento kontakt you are not permittet to view this contact addressbook sk Nemáte oprávnenie vidieť tento kontakt +you can only use ldap as contact repository if the accounts are stored in ldap too! admin sk LDAP ako zdroj kontaktov sa dá používať len vtedy, keď sú aj účty uložené v LDAP! you must select a vcard. (*.vcf) addressbook sk Musíte vybrať VCard (*.vcf) you must select at least 1 column to display addressbook sk Musíte vybrať aspoň 1 stĺpec k zobrazeniu. +you need to select a distribution list addressbook sk Najprv musíte vybrať distribučný zoznam you need to select some contacts first addressbook sk Najprv musíte vybrať nejaké kontakty. zip code common sk PSČ zip_note addressbook sk

Poznámka:Súbor môže byť archív formátu zip s kolekciou súborov .csv, .vcf alebo .ldif. V žiadnom prípade pri importe nemiešajte rôzne typy súborov. diff --git a/addressbook/setup/phpgw_sl.lang b/addressbook/setup/phpgw_sl.lang index ba31a9475f..168fa845d3 100644 --- a/addressbook/setup/phpgw_sl.lang +++ b/addressbook/setup/phpgw_sl.lang @@ -95,6 +95,7 @@ csv-filename addressbook sl CSV-Ime datoteke custom addressbook sl Lasten custom fields addressbook sl Lastna polja debug output in browser addressbook sl Preglej izpis v brskalniku +default address format addressbook sl Privzeta oblika naslovov default addressbook for adding contacts addressbook sl Privzeti adresar za dodajanje stikov default filter addressbook sl Privzeti filter delete a single entry by passing the id. addressbook sl IzbriĹĄi zapis s podano ĹĄifro @@ -299,7 +300,8 @@ vcards require a last name entry. addressbook sl VCards zahteva vpis priimka. view linked infolog entries addressbook sl Poglej povezane vnose InfoDnevnika warning!! ldap is valid only if you are not using contacts for accounts storage! admin sl OPOZORILO!! LDAP je veljaven samo, če ne uporabljate stikov za skladiščenje računov! warning: all contacts found will be deleted! addressbook sl Opozorilo: vsi najdeni stiki bodo zbrisani! -what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sl Kaj naj povezave do adresarja prikaĹže v deugih aplikacijah. Prazne vrednosti bodo izpuščene. Če spremenite nastavitve, se morate ponovno prijaviti! +what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook sl Kaj naj povezave do adresarja prikaĹže v drugih aplikacijah. Prazne vrednosti bodo izpuščene. Če spremenite nastavitve, se morate ponovno prijaviti! +which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook sl Katero obliko naslova naj Adresar uporabi za drĹžave, za katere ne pozna oblike. Če je oblika naslova znana, ta nastavitev nima vpliva. which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook sl Kateri adresar naj se izbere pri dodajanju stika IN nimate pravic dodajanja v trenutni adresar. which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook sl Kateri nabor znakov naj se uporabi pri izvozu CSV. Privzeto se uporabi nabor znakov, ki je nastavljen v eGroupWare. which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook sl Katera polja naj se izvozijo. "Vse" pomeni, da se bodo izvozila vsa polja, shranjena v adresarju, tudi lastna. SluĹžbeni ali domači naslov vsebujejo samo ime, podjetje in izbrani naslov. diff --git a/addressbook/setup/phpgw_zh-tw.lang b/addressbook/setup/phpgw_zh-tw.lang index 5f23e485ec..9ee6ff07c8 100644 --- a/addressbook/setup/phpgw_zh-tw.lang +++ b/addressbook/setup/phpgw_zh-tw.lang @@ -18,6 +18,7 @@ add a new list addressbook zh-tw 新增一個清單 add a single entry by passing the fields. addressbook zh-tw 從欄位中新增一筆資料。 add custom field addressbook zh-tw 新增自訂欄位 add to distribution list: addressbook zh-tw 新增到分配清單: +added by synchronisation addressbook zh-tw 同步後新增 added to distribution list addressbook zh-tw 新增到分配清單 additional information about using ldap as contact repository admin zh-tw 關於將 LDAP 當作聯絡人資料庫的其他資訊 address book common zh-tw 通訊錄 @@ -26,6 +27,7 @@ address book - view addressbook zh-tw 通訊錄 - 檢視 address line 2 addressbook zh-tw 住址 2 address type addressbook zh-tw 住址類型 addressbook common zh-tw 通訊錄 +addressbook csv export addressbook zh-tw 匯出 CSV 格式通訊錄 addressbook menu addressbook zh-tw 通訊錄選單 addressbook preferences addressbook zh-tw 通訊錄設定 addressbook the contact should be saved to addressbook zh-tw 通訊錄聯絡人儲存位置 @@ -133,6 +135,7 @@ export file name addressbook zh-tw 匯出檔名 export from addressbook addressbook zh-tw 從通訊錄匯出 export selection addressbook zh-tw 匯出選擇的項目 exported addressbook zh-tw 匯出了 +exports contacts from your addressbook into a csv file. csv means 'comma seperated values'. however in the options tab you can also choose other seperators. addressbook zh-tw 從通訊錄匯出聯絡人資料成一個 CSV 檔案, CSV 意思是逗點分隔數值,不過您可以在過程中選擇希望使用的分隔字元。 extra addressbook zh-tw 其他 failed to change %1 organisation member(s) (insufficent rights) !!! addressbook zh-tw 變更 %1 組織成員時發生錯誤(沒有權限)! fax addressbook zh-tw 傳真 @@ -152,6 +155,8 @@ geo addressbook zh-tw GEO global categories addressbook zh-tw 全域類別 grant addressbook access common zh-tw 允許存取通訊錄 group %1 addressbook zh-tw 群組 %1 +hide accounts from addressbook addressbook zh-tw 從通訊錄中隱藏帳號 +hides accounts completly from the adressbook. addressbook zh-tw 從通訊錄中完整隱藏帳號 home address addressbook zh-tw 住家住址 home address, birthday, ... addressbook zh-tw 住家住址、生日、... home city addressbook zh-tw 縣/市 diff --git a/admin/setup/phpgw_en.lang b/admin/setup/phpgw_en.lang index 58b50d28dd..26a0365288 100644 --- a/admin/setup/phpgw_en.lang +++ b/admin/setup/phpgw_en.lang @@ -431,7 +431,6 @@ you have entered an invalid expiration date admin en You have entered an invalid you have to enter a name, to create a new field!!! admin en You have to enter a name, to create a new field!!! you have to enter a name, to create a new type!!! admin en You have to enter a name, to create a new type!!! you must add at least 1 permission or group to this account admin en You must add at least 1 permission or group to this account -you must select at least one group member admin en You must select at least one group member. you must enter a group name. admin en You must enter a group name. you must enter a lastname admin en You must enter a lastname you must enter a loginid admin en You must enter a loginid @@ -439,4 +438,5 @@ you must enter an application name and title. admin en You must enter an applica you must enter an application name. admin en You must enter an application name. you must enter an application title. admin en You must enter an application title. you must select a file type admin en You must select a file type +you must select at least one group member admin en You must select at least one group member. you will need to remove the subcategories before you can delete this category admin en You will need to remove the subcategories before you can delete this category ! diff --git a/admin/setup/phpgw_fi.lang b/admin/setup/phpgw_fi.lang index d713ecb10c..33ffa769e5 100644 --- a/admin/setup/phpgw_fi.lang +++ b/admin/setup/phpgw_fi.lang @@ -1,8 +1,11 @@ %1 - %2 of %3 user accounts admin fi %1 - %2 / %3 käyttäjätunnusta %1 - %2 of %3 user groups admin fi %1 - %2 / %3 käyttäjäryhmää +%1 acl records of not (longer) existing accounts deleted. admin fi %1 ACL tietuetta ei (enää) löydy, käyttäjätili poistettu. %1 not found or not executable !!! admin fi %1 ei löydy tai ei voida suorittaa !!! +(default no, leave it off if you dont use it) admin fi (Oletuksena ei, jätä tyhjäksi jollet halua käyttää sitä) (stored password will not be shown here) admin fi (Tallennettua salasanaa ei näytetä) (to install new applications use
setup [manage applications] !!!) admin fi (Käytä
Setup [Manage Applications] asentaaksesi uusia sovelluksia !!!) +- type admin fi - muoto accesslog and bruteforce defense admin fi Käyttöloki ja suoja käyttäjätunnusten arvuuttelulle account active admin fi Tunnus aktiivinen account has been created common fi Tunnus luotu @@ -46,7 +49,7 @@ alternate email address admin fi vaihtoehtoinen s anonymous user admin fi Anonyymi käyttäjä anonymous user (not shown in list sessions) admin fi Anonyymi käyttäjä (ei näytetä kirjautuneiden luettelossa) anonymous user does not exist! admin fi Anonyymiä käyttäjää EI ole olemassa -anonymous user has no run-rights for the application! admin fi Anonyymillä käyttäjällä EI ole suoritusoikeuksia tähän sovellukseen +anonymous user has no run-rights for the application! admin fi Anonyymillä käyttäjällä EI ole suoritusoikeuksia tähän sovellukseen! appearance admin fi Ulkoasu application admin fi Sovellus application name admin fi Sovelluksen nimi @@ -65,7 +68,7 @@ are you sure you want to kill this session ? admin fi Haluatko keskeytt async services last executed admin fi Ajastetut palvelut suoritettu viimeksi asynchronous timed services admin fi Ajastetut palvelut asyncservices not yet installed or other error (%1) !!! admin fi asyncservices ei ole asennettu tai muu virhe (%1) !!! -attempt to use correct mimetype for ftp instead of default 'application/octet-stream' admin fi Yritä käytä oikeaa mime-tyyppiä FTP siirrossa oletuksen'application/octet-stream' sijasta +attempt to use correct mimetype for ftp instead of default 'application/octet-stream' admin fi Yritä käytä oikeaa mime-tyyppiä FTP siirrossa oletuksen 'application/octet-stream' sijasta authentication / accounts admin fi Käyttäjäntunnistus / Käyttäjätunnukset auto create account records for authenticated users admin fi Luo tunnus automaattisesti tunnistetuille käyttäjille back to the list admin fi takaisin luetteloon @@ -127,19 +130,22 @@ deny access to site configuration admin fi Est deny access to user accounts admin fi Estä pääsy käyttäjätunnuksiin deny all users access to grant other users access to their entries ? admin fi Estä kaikilta käyttäjiltä tietojensa julkistaminen? description can not exceed 255 characters in length ! admin fi Kuvaus +determines the order the fields are displayed admin fi havannoi järjestyksen jossa kentät näytetään disable "auto completion" of the login form admin fi Kirjautumisikkunan "automaattinen täyttö" ei käytössä disable wysiwyg-editor admin fi älä käytä WYSIWYG-toimitinta disabled (not recomended) admin fi ei käytössä (ei suositella) display admin fi Näytä do not delete the category and return back to the list admin fi luokkaa EI poisteta ja palataan luetteloon -do you also want to delete all global subcategories ? admin fi Haluatko poistaa myös yleiset alaluokat? -do you want to delete all global subcategories ? admin fi Haluatko poistaa kaikki yleiset alaluokat? -do you want to move all global subcategories one level down ? admin fi Haluatlp siirtää kaikkia yleisia alaluokkia tason verran alemmas? +do you also want to delete all global subcategories ? admin fi Haluatko poistaa myös yleiset alakategoriat? +do you want to delete all global subcategories ? admin fi Haluatko poistaa kaikki yleiset alakategoriat? +do you want to move all global subcategories one level down ? admin fi Haluatko siirtää kaikkia yleisiä alakategorioita tason verran alemmas? +each value is a line like [=
(use utf-8 if you plan to use languages with different charsets): setup sk Akú znakovú sadu použiť (ak plánujete používať jazyky s rozličnými znakovými sadami, zvoľte utf-8) -access denied: wrong username or password for manage-header !!! setup sk Prístup odopretý: chybné používateľské meno alebo heslo pre správu hlavičiek!!! -access denied: wrong username or password to configure the domain '%1(%2)' !!! setup sk Prístup odopretý: chybné používateľské meno alebo heslo pre konfiguráciu domény '%1(%2)' !!! -account repository need to be set to the one you migrate to! setup sk Repozitár účtov musí byť nastavený na jeden z tých, do ktorých migrujete! +access denied: wrong username or password for manage-header !!! setup sk Prístup bol odmietnutý: chybné používateľské meno alebo heslo pre správu hlavičiek!!! +access denied: wrong username or password to configure the domain '%1(%2)' !!! setup sk Prístup bol odmietnutý: chybné používateľské meno alebo heslo pre konfiguráciu domény '%1(%2)' !!! +account repository need to be set to the one you migrate to! setup sk Zdroj účtov musí byť nastavený na jeden z tých, do ktorých migrujete! accounts existing setup sk Existujúce účty actions setup sk Akcie activate safe password check setup sk Aktivovať voľbu ukladania hesla add auto-created users to this group ('default' will be attempted if this is empty.) setup sk Automaticky vytvorených používateľov priradiť do tejto skupiny (ak prázdne, použije sa 'Predvolená'). add new database instance (egw domain) setup sk Pridať novú databázovú inštanciu (eGW domain) add or edit a domain: [domain-name(default)],[db-name(egroupware)],[db-user(egroupware)],db-password,[db-type(mysql)],[db-host(localhost)],[db-port(db specific)],[config-user(as header)],[config-passwd(as header)] setup sk pridať alebo upraviť doménu: [domain-name(default)],[db-name(egroupware)],[db-user(egroupware)],db-password,[db-type(mysql)],[db-host(localhost)],[db-port(db specific)],[config-user(as header)],[config-passwd(as header)] -adding, editing or deleting an egroupware domain / database instance: setup sk Pridanie, úprava alebo vymazanie domény eGroupWare / databázovej inštancie: -additional options and there defaults (in brackets) setup sk Prídavné voľby a tam predvolené (v hranatých zátvorkách) +adding, editing or deleting an egroupware domain / database instance: setup sk Pridanie, úprava alebo odstránenie domény eGroupWare / databázovej inštancie: +additional options and there defaults (in brackets) setup sk Prídavné možnosti a tam predvolené (v hranatých zátvorkách) additional settings setup sk Ďalšie nastavenia admin account successful created. setup sk Správcovský účet bol úspešne vytvorený. -admin email address setup sk Správcova emailová adresa +admin email address setup sk Správcova E-mailová adresa admin first name setup sk Správcovo krstné meno admin last name setup sk Správcovo priezvisko admin password setup sk Správcovo heslo @@ -33,50 +33,50 @@ admin password to header manager setup sk Spr admin user for header manager setup sk Správcov používateľský účet do Správy hlavičiek admin username setup sk Správcovo používateľské meno admins setup sk Správcovia -after backing up your tables first. setup sk Až po zazálohovaní vašich tabuliek (databáz). +after backing up your tables first. setup sk Až po zálohovaní Vašich tabuliek (databáz). after retrieving the file, put it into place as the header.inc.php. then, click "continue". setup sk Po získaní súboru, uložte ho na miesto header.inc.php a kliknite na "pokračovať". all applications setup sk všetky aplikácie all core tables and the admin and preferences applications setup sk všetky základné tabuľky a správcovské a nastavovacie aplikácie all exit codes of the command line interface setup sk všetky návratové kódy rozhrania príkazového riadku all languages (incl. not listed ones) setup sk všetky jazyky (vrátane neuvedených) all users setup sk Všetci používatelia -allow authentication via cookie setup sk Povoliť autentifikáciu pomocou cookie +allow authentication via cookie setup sk Povoliť overovanie pomocou cookie allow password migration setup sk Povoliť migráciu hesiel allowed migration types (comma-separated) setup sk Povolené typy migrácie (oddelené čiarkou) alternatively domains can be accessed by logging in with username@domain. setup sk Alternatívne, k doménam sa dá pristupovať aj prihlásením pomocou používateľ@doména analysis setup sk Analýza and is up to date setup sk a je aktuálne and reload your webserver, so the above changes take effect !!! setup sk A reloadnite si webserver, aby sa horeuvedené zmeny naozaj uplatnili!!! -app details setup sk Detaily aplikácie +app details setup sk Podrobnosti aplikácie app install/remove/upgrade setup sk Aplikácia: Inštalácia/Odstránenie/Aktualizácia app process setup sk Proces aplikácie -application data setup sk Dáta aplikácie +application data setup sk Údaje aplikácie application list setup sk Zoznam aplikácií application management setup sk Správa aplikácií application name and status setup sk Názov a stav aplikácie application name and status information setup sk Názov aplikácie a informácia o stave application title setup sk Titulok aplikácie application: %1, file: %2, line: "%3" setup sk Aplikácia: %1, Súbor: %2, Riadok: "%3" -are you sure you want to delete your existing tables and data? setup sk Naozaj chcete zmazať vaše súčasné tabuľky a dáta? +are you sure you want to delete your existing tables and data? setup sk Naozaj chcete odstrániť vaše súčasné tabuľky a dáta? are you sure? setup sk STE SI ISTÍ? at your request, this script is going to attempt to create the database and assign the db user rights to it setup sk Na vašu žiadosť, skript sa pokúsi vytvoriť databázu a priradiť prístupové práva k nej používateľovi db. -at your request, this script is going to attempt to install a previous backup setup sk Na vašu žiadosť sa teraz skript pokúsi nainštalovať predchádzajúcu zálohu +at your request, this script is going to attempt to install a previous backup setup sk Na vašu žiadosť sa teraz skript pokúsi nainštalovať predchádzajúcu zálohu. at your request, this script is going to attempt to install the core tables and the admin and preferences applications for you setup sk Na vašu žiadosť, skript sa pokúsi nainštalovať základné tabuľky a správcovské a nastavovacie aplikácie. at your request, this script is going to attempt to upgrade your old applications to the current versions setup sk Na vašu žiadosť, skript sa pokúsi aktualizovať vaše staré aplikácie na novšie verzie at your request, this script is going to attempt to upgrade your old tables to the new format setup sk Na vašu žiadosť, skript sa pokúsi aktualizovať vaše staré tabuľky na nový formát -at your request, this script is going to take the evil action of deleting your existing tables and re-creating them in the new format setup sk Na vašu žiadosť, skript vykoná deštruktívnu akciu: zmaže existujúce tabuľky a vytvorí ich v novom formáte -at your request, this script is going to take the evil action of uninstalling all your apps, which deletes your existing tables and data setup sk Na vašu žiadosť, skript vykoná deštruktívnu akciu: odinštaluje všetky aplikácie, čo zmaže všetky existujúce tabuľky a dáta +at your request, this script is going to take the evil action of deleting your existing tables and re-creating them in the new format setup sk Na vašu žiadosť, skript vykoná deštruktívnu akciu: odstráni existujúce tabuľky a vytvorí ich v novom formáte +at your request, this script is going to take the evil action of uninstalling all your apps, which deletes your existing tables and data setup sk Na vašu žiadosť, skript vykoná deštruktívnu akciu: odinštaluje všetky aplikácie, čo odstráni všetky existujúce tabuľky a dáta attempt to use correct mimetype for ftp instead of default 'application/octet-stream' setup sk Pokúsiť sa používať správny MIME typ pre FTP namieste predvoleného 'application/octet-stream' -authentication / accounts setup sk Autentifikácie / Účty -auto create account records for authenticated users setup sk Automaticky vytvoriť účtové záznamy pre autentifikovaných používateľov +authentication / accounts setup sk Overovanie / Účty +auto create account records for authenticated users setup sk Automaticky vytvoriť účtové záznamy pre overených používateľov auto login anonymous user setup sk Automaticky prihlásiť anonymného používateľa auto-created user accounts expire setup sk Automaticky vytvorený používateľský účet vyprší available version setup sk Dostupná verzia back to the previous screen setup sk Naspäť na predchádzajúcu stránku back to user login setup sk Naspäť na prihlásenie používateľa back's up your db now, this might take a few minutes setup sk vykoná okamžitú zálohu vašej databázy, potrvá to zopár minút -backup '%1' deleted setup sk záloha '%1' zmazaná -backup '%1' renamed to '%2' setup sk záloha '%1' premenovaná na '%2' +backup '%1' deleted setup sk záloha '%1' bola odstránená +backup '%1' renamed to '%2' setup sk záloha '%1' bola premenovaná na '%2' backup '%1' restored setup sk záloha '%1' obnovená backup and restore setup sk zálohy a obnova backup failed setup sk Zálohovanie sa nepodarilo @@ -90,6 +90,7 @@ because it depends upon setup sk preto because it is not a user application, or access is controlled via acl setup sk pretože nie je používateľskou aplikáciou, alebo je prístup kontrolovaný cez ACL because it requires manual table installation,
or the table definition was incorrect setup sk pretože vyžaduje ručnú inštaláciu tabuliek,
alebo je tabuľka chybne definovaná because it was manually disabled setup sk pretože bola manuálne vypnutá +because its sources are missing setup sk pretože jej zdroje chýbajú because of a failed upgrade or install setup sk pretože aktualizácia alebo inštalácia zlyhala because of a failed upgrade, or the database is newer than the installed version of this app setup sk pretože aktualizácia zlyhala, alebo je databáza novšia než nainštalovaná verzia aplikácie because the enable flag for this app is set to 0, or is undefined setup sk pretože príznak zapnutia pre túto aplikáciu je nastavený na 0 alebo nie je nastavený vôbec @@ -117,18 +118,18 @@ checks egroupware's installed, it's versions and necessary upgrads (return value click here to return to setup. setup sk kliknite sem pre návrat do Inštalátora. click here setup sk Kliknite sem click here to re-run the installation tests setup sk Kliknite sem pre znovuspustenie inštalačných testov -comma separated ip-addresses or host-names, default access to setup from everywhere setup sk čiarkou oddelené ip-adresy alebo host-names, predvolene je prístup k setup odhocikiaľ +comma separated ip-addresses or host-names, default access to setup from everywhere setup sk čiarkou oddelené ip-adresy alebo host-names, predvolene je povolený prístup k aplikácii setup odkiaľkoľvek completed setup sk Hotovo config password setup sk Heslo pre Konfiguráciu config username setup sk Používateľské meno pre Konfiguráciu configuration setup sk Konfigurácia -configuration changed. setup sk Konfigurácia zmenená. +configuration changed. setup sk Konfigurácia bola zmenená. configuration completed setup sk Konfigurácia - hotovo configuration errors: setup sk Konfiguračné chyby: configuration password setup sk Heslo pre Konfiguráciu configuration user setup sk Používateľské meno pre Konfiguráciu configure now setup sk Konfiguruj teraz -confirm to delete this backup? setup sk Naozaj zmazať túto zálohu? +confirm to delete this backup? setup sk Naozaj odstrániť túto zálohu? contain setup sk obsahuje continue setup sk Pokračovať continue to the header admin setup sk Pokračovať k Správcovi hlavičiek @@ -165,6 +166,7 @@ datetime port.
if using port 13, please set firewall rules appropriately be day setup sk deň day of week
(0-6, 0=sunday) setup sk deň v týždni
(0-6, 0=nedeľa) db backup and restore setup sk DB zálohy a obnova +db host setup sk DB stroj db name setup sk DB názov db password setup sk DB heslo db port setup sk DB port @@ -176,9 +178,9 @@ default setup sk odpor default file system space per user/group ? setup sk Predvolený priestor v súborovom systéme na používateľa/skupinu? delete setup sk Zmazať delete all existing sql accounts, groups, acls and preferences (normally not necessary)? setup sk Zmazať všetky existujúce SQL účty, skupiny, ACL (prístupové práva) a nastavenia? Zväčša to nie je nevyhnutné. -delete all my tables and data setup sk Zmaž všetky moje tabuľky a dáta -delete all old languages and install new ones setup sk Zmaž všetky staré jazyky a nainštaluj nové -deleting tables setup sk Mažem tabuľky +delete all my tables and data setup sk Odstráň všetky moje tabuľky a dáta +delete all old languages and install new ones setup sk Odstráň všetky staré jazyky a nainštaluj nové +deleting tables setup sk Odstraňujem tabuľky demo server setup setup sk Nastavenie testovacieho (demo) servera deny access setup sk Zakáž prístup deny all users access to grant other users access to their entries ? setup sk Zakázať všetkým používateľom možnosť, aby pridelili právo iným používateľom pre vstup do svojich záznamov? @@ -205,7 +207,7 @@ egroupware api needs a database (schema) update from version %1 to %2! setup sk egroupware api version %1 found. setup sk Našlo sa eGroupWare API verzie %1. egroupware configuration file (header.inc.php) does not exist. setup sk konfiguračný súbor eGroupWare (header.inc.php) NEexistuje. egroupware configuration file (header.inc.php) version %1 exists%2 setup sk konfiguračný súbor eGroupWare (header.inc.php) verzie %1 existuje%2. -egroupware configuration file header.inc.php already exists, you need to use --edit-header or delete it first! setup sk konfiguračný súbor eGroupWare (header.inc.php) už existuje, musíte použiť --edit-header alebo ho najskôr zmazať! +egroupware configuration file header.inc.php already exists, you need to use --edit-header or delete it first! setup sk konfiguračný súbor eGroupWare (header.inc.php) už existuje, musíte použiť --edit-header alebo ho najskôr odstrániť! egroupware domain/instance %1(%2): setup sk eGroupWare doména/inštancia %1(%2): egroupware is already installed! setup sk eGroupWare je už nainštalovaný! egroupware sources in '%1' are not complete, file '%2' missing !!! setup sk Zdroje eGroupWare v '%1' sú neúplné, súbor '%2' chýba !!! @@ -236,11 +238,11 @@ failed writing configuration file header.inc.php, check the permissions !!! setu false setup sk NIE file setup sk Súbor file type, size, version, etc. setup sk typ súboru, veľkosť, verzia, atď. -file uploads are switched off: you can not use any of the filemanagers, nor can you attach files in several applications! setup sk Nahrávanie súborov je vypnuté: NEmôžete používať žiadneho správcu súborov, ani priložiť súbory v niektorých aplikáciách! +file uploads are switched off: you can not use any of the filemanagers, nor can you attach files in several applications! setup sk Odovzdávanie súborov je vypnuté: NEmôžete používať žiadneho správcu súborov, ani priložiť súbory v niektorých aplikáciách! filename setup sk názov súboru filesystem setup sk Súborový systém force selectbox setup sk Vynúť menu pre výber -found existing configuration file. loading settings from the file... setup sk Našiel som existujúci konfiguračný súbor. Nahrávam z neho nastavenia... +found existing configuration file. loading settings from the file... setup sk Našiel som existujúci konfiguračný súbor. Načítavam z neho nastavenia... give admin access to all installed apps setup sk Dať správcovi prístup ku všetkým nainštalovaným aplikáciám gives further options setup sk dáva ďalšie možnosti go back setup sk Naspäť @@ -311,7 +313,7 @@ logout setup sk Odhl mail domain (for virtual mail manager) setup sk Poštová doména (pre virtuálneho emailového manažéra) mail server login type setup sk Typ prihlásenia poštového servera mail server protocol setup sk Protokol poštového servera -make sure that your database is created and the account permissions are set setup sk Uistite sa, že vaša databáza je už vytvorená a prístupové práva účtov nastavené +make sure that your database is created and the account permissions are set setup sk Uistite sa, že vaša databáza je už vytvorená a prístupové oprávnenia účtov nastavené manage applications setup sk Správa aplikácií manage languages setup sk Správa jazykov manual / help setup sk Manuál / pomocník @@ -324,7 +326,7 @@ mcrypt mode (default cbc) setup sk MCrypt re mcrypt settings (requires mcrypt php extension) setup sk Nastavenia MCrypt (vyžaduje mcrypt PHP rozšírenie) mcrypt version setup sk Verzia MCrypt memory_limit is set to less than 16m: some applications of egroupware need more than the recommend 8m, expect occasional failures setup sk pamäťový limit je nastavený na menej než 16M; niektoré aplikácie v eGroupWare potrebujú viac než odporúčaných 8M, okrem výnimočných zlyhaní -migration between egroupware account repositories setup sk Migrácia medzi repozitármi eGroupWare účtov +migration between egroupware account repositories setup sk Migrácia medzi zdrojmi eGroupWare účtov minimum account id (e.g. 500 or 100, etc.) setup sk Najmenšie ID účtu (napr. 500 alebo 100, atď.) minute setup sk minúta missing or uncomplete mailserver configuration setup sk Chýbajúce alebo neúplné nastavenie poštového servera @@ -366,10 +368,10 @@ or %1continue to the header admin%2 setup sk alebo %1Pokra or http://webdav.domain.com (webdav) setup sk alebo http://webdav.domain.com (WebDAV) or we can attempt to create the database for you: setup sk Alebo sa môžem pokúsiť vytvoriť vašu databázu: or you can install a previous backup. setup sk Alebo môžete nainštalovať predchádzajúcu zálohu -password for smtp-authentication setup sk Heslo pre SMTP autentifikáciu +password for smtp-authentication setup sk Heslo pre SMTP overovanie password needed for domain configuration. setup sk Heslo potrebné pre konfiguráciu domény password of db user setup sk Heslo db používateľa -passwords did not match, please re-enter setup sk Heslá nesedia, prosím zadajte znovu +passwords did not match, please re-enter setup sk Heslá sa nezhodujú, prosím zadajte znovu path (not url!) to your egroupware installation. setup sk Cesta (nie URL!) k vašej inštalácii eGroupWare. path information setup sk Informácia o ceste path of egroupware install directory (default auto-detected) setup sk cesta k inštalačnému adresáru eGroupWare (predvolené: autodetekcia) @@ -395,7 +397,7 @@ possible solutions setup sk Mo post-install dependency failure setup sk Poinštalačné zlyhanie závislostí postgres: leave it empty to use the prefered unix domain sockets instead of a tcp/ip connection setup sk Postgres: Ak ponecháte prázdne, použijú sa uprednostnené unix domain socket-y namiesto tcp/ip spojenia potential problem setup sk Možný problém -preferences setup sk Nastavenia +preferences setup sk Predvoľby problem resolution setup sk Vysvetlenie problému process setup sk Proces re-check my database setup sk Znovu skontrolovať databázu @@ -418,7 +420,7 @@ restore setup sk Obnovi restore failed setup sk Obnova sa nepodarila restore finished setup sk obnova dokončená restore started, this might take a few minutes ... setup sk obnova sa začala, potrvá to zopár minút... -restoring a backup will delete/replace all content in your database. are you sure? setup sk Obnova zo zálohy zmaže/prepíše celý obsah databázy. Ste si istí? +restoring a backup will delete/replace all content in your database. are you sure? setup sk Obnova zo zálohy odstráni/prepíše celý obsah databázy. Ste si istí? return to setup setup sk Návrat do Inštalátora run a database schema update (if necessary): domain(all),[config user(admin)],password setup sk Spustiť aktualizácie databázovej schémy, ak je nevyhnutné: domain(all),[config user(admin)],password run installation tests setup sk Vykonať inštalačné testy @@ -441,12 +443,12 @@ select which group(s) will be imported (group membership will be maintained) set select which group(s) will be modified (group membership will be maintained) setup sk Vyberte, ktorá skupina/skupiny sa upraví/ia (členstvo v skupine sa zachová) select which languages you would like to use setup sk Vyberte, ktoré jazyky budete používať select which method of upgrade you would like to do setup sk Vyberte, ktorou metódou chcete aktualizovať -select which type of authentication you are using setup sk Vyberte, aký typ autentifikácie používate +select which type of authentication you are using setup sk Vyberte, aký typ overovania používate select which user(s) will also have admin privileges setup sk Vyberte ďalších používateľov, ktorí majú dostať správcovské oprávnenia -select which user(s) will be exported setup sk Vyberte, ktorý/í používateľ/lia sa vyexportuje/ú -select which user(s) will be imported setup sk Vyberte, ktorý/í používateľ/lia sa naimportuje/ú -select which user(s) will be modified setup sk Vyberte, ktorý/í používateľ/lia sa upraví/ia -select which user(s) will have admin privileges setup sk Vyberte, ktorý/í používateľ/lia dostane/ú správcovské oprávnenia +select which user(s) will be exported setup sk Vyberte, ktorí používatelia sa vyexportujú +select which user(s) will be imported setup sk Vyberte, ktorí používatelia sa naimportujú +select which user(s) will be modified setup sk Vyberte, ktorí používatelia sa upravia +select which user(s) will have admin privileges setup sk Vyberte, ktorí používatelia dostanú správcovské oprávnenia select your old version setup sk Vyberte vašu starú verziu selectbox setup sk Výberové menu sessions type setup sk Typ sedenia @@ -467,7 +469,7 @@ smtp server port setup sk Port servera SMTP some or all of its tables are missing setup sk Chýbajú niektoré alebo všetky jeho tabuľky sql encryption type setup sk Typ SQL kryptovania pre heslá (predvolené - md5) standard (login-name identical to egroupware user-name) setup sk štandardné (prihlasovacie meno totožné s používateľským menom eGroupWare) -standard mailserver settings (used for mail authentication too) setup sk Nastavenia predvoleného poštového servera (použité aj pre Mailovú autentifikáciu) +standard mailserver settings (used for mail authentication too) setup sk Nastavenia predvoleného poštového servera (použité aj pre Mailové overovanie) start the postmaster setup sk Spustiť postmastera start updating languages %1 ... setup sk Spustiť aktualizáciu jazykov %1 ... start updating the database ... setup sk Spustiť aktualizáciu databázy ... @@ -478,7 +480,7 @@ step %1 - configuration setup sk Krok %1 - Konfigur step %1 - db backup and restore setup sk Krok %1 - Zálohovanie a obnova Databázy step %1 - language management setup sk Krok %1 - Správa jazykov step %1 - simple application management setup sk Krok %1 - Jednoduchá správa aplikácií -succesfully uploaded file %1 setup sk úspešne nahratý súbor %1 +succesfully uploaded file %1 setup sk úspešne odovzdaný súbor %1 table change messages setup sk Správy pri zmene tabuliek tables dropped setup sk tabuľky zahodené tables installed, unless there are errors printed above setup sk tabuľky nainštalované, ak len nevidno nejaké chybové hlásenia @@ -510,8 +512,8 @@ this should be around 30 bytes in length.
note: the default has been random this stage is completed
setup sk Táto fáza je dokončená
this will create a first user in egroupware or reset password and admin rights of an exiting user setup sk Týmto sa vytvorí prvý používateľ v eGroupWare, alebo znovunastaví heslo a administrátorské práva existujúceho používateľa. to a version it does not know about setup sk na verziu ktorú nepozná -to allow password authentification add the following line to your pg_hba.conf (above all others) and restart postgres: setup sk pre povolenie autentifikácie hesiel, pridajte nasledujúci riadok do pg_hba.conf (nad všetkými ostatnými) A reštartujte postgres: -to change the charset: back up your database, deinstall all applications and re-install the backup with "convert backup to charset selected" checked. setup sk Pre zmenu znakovej sady: zazálohujte si databázu, odinštalujte všetky aplikácie a preinštalujte zálohu so zapnutou voľbou "konvertovať zálohu na vybranú znakovú sadu". +to allow password authentification add the following line to your pg_hba.conf (above all others) and restart postgres: setup sk Ak chcete povoliť overovania hesiel, pridajte nasledujúci riadok do pg_hba.conf (nad všetkými ostatnými) A reštartujte postgres: +to change the charset: back up your database, deinstall all applications and re-install the backup with "convert backup to charset selected" checked. setup sk Ak chcete zmeniť znakovú sadu: zazálohujte si databázu, odinštalujte všetky aplikácie a preinštalujte zálohu so zapnutou voľbou "konvertovať zálohu na vybranú znakovú sadu". to setup 1 admin account and 3 demo accounts. setup sk pre vytvorenie 1 správcovského a 3 testovacích (demo) účtov top setup sk vrch translations added setup sk Preklady pridané @@ -542,6 +544,7 @@ use mcrypt to crypt session-data: {off(default) | on},[mcrypt-init-vector(defaul use persistent db connections: {on(default) | off} setup sk použiť trvalé pripojenie k db: {zapnúť(predvolené) | vypnúť} use pure html compliant code (not fully working yet) setup sk Používať čistý HTML kód (zatiaľ nie je plne funkčné) user setup sk Používateľ +user account prefix setup sk Predpona používateľského účtu user for smtp-authentication (leave it empty if no auth required) setup sk Používateľ pre SMTP-autentifikáciu (ak netreba, nechajte prázdne) usernames are casesensitive setup sk Používateľské mená sú citlivé na veľkosť písma users choice setup sk Používateľská voľba @@ -554,6 +557,7 @@ view setup sk Zobrazi virtual mail manager (login-name includes domain) setup sk Virtuálny emailový manažér (prihlasovacie meno obsahuje doménu) warning! setup sk Varovanie! we can proceed setup sk Môžeme prikročiť +we could not determine the version of %1, please make sure it is at least %2 setup sk Nedokážeme určiť verziu %1, prosím skontrolujte, že je aspoň %2 we will automatically update your tables/records to %1 setup sk Automaticky vykonáme aktualizáciu vašich tabuliek/záznamov na %1, we will now run a series of tests, which may take a few minutes. click the link below to proceed. setup sk Teraz spustíme sériu testov, čo môže trvať zopár minút. Pre pokračovanie kliknite na nižšieuvedený odkaz. welcome to the egroupware installation setup sk Vitajte v Inštalátore eGroupWare @@ -593,6 +597,7 @@ you need to configure egroupware: setup sk Mus you need to fix the above errors, before the configuration file header.inc.php can be written! setup sk Uvedené chyby musíte opraviť, až potom sa zapíše súbor header.inc.php ! you need to save the settings you made here first! setup sk Musíte najprv uložiť zmeny, ktoré ste vykonali! you need to select your current charset! setup sk Treba zadať vašu súčasnú znakovú sadu! +you should either install the sources or uninstall it, to get rid of the tables setup sk Musíte najprv nainštalovať zdroje alebo odinštalovať, aby ste sa zbavili tabuliek you should either uninstall and then reinstall it, or attempt manual repairs setup sk mali by ste buď odinštalovať a potom znovu nainštalovať, alebo sa pokúsiť o ručné opravy you will not be able to log into egroupware using php sessions: "session could not be verified" !!! setup sk NEBUDETE schopní prihlásiť sa do eGroupWare pomocou PHP sedení: "sedenie sa nedá overiť" !!! you're using an old configuration file format... setup sk Používate starý formát konfiguračného súboru... @@ -607,6 +612,7 @@ your files directory '%1' %2 setup sk V your header admin password is not set. please set it now! setup sk Heslo Správcu hlavičiek NIE JE nastavené. Prosím nastavte ho teraz! your header.inc.php needs upgrading. setup sk Váš header.inc.php potrebuje aktualizáciu. your header.inc.php needs upgrading.
warning!
make backups! setup sk Váš header.inc.php potrebuje aktualizáciu.
POZOR!
NAJPRV UROBTE ZÁLOHY! +your installed version of %1 is %2, required is at least %3, please run: setup sk Máte nainštalovanú verziu %2 programu %1, avšak potrebná je aspoň verzia %3. Prosím spustite: your php installation does not have appropriate gd support. you need gd library version 1.8 or newer to see gantt charts in projects. setup sk Vaša inštalácia PHP nemá patričnú podporu pre GD. Potrebujete knižnicu gd verzie aspoň 1.8, aby ste mohli používať Gantt grafy v projektoch. your tables are current setup sk Vaše tabuľky sú aktuálne your tables will be dropped and you will lose data setup sk Vaše tabuľky budú zahodené a stratíte dáta! diff --git a/timesheet/setup/phpgw_sk.lang b/timesheet/setup/phpgw_sk.lang index c23909c73a..cbbdc173d0 100644 --- a/timesheet/setup/phpgw_sk.lang +++ b/timesheet/setup/phpgw_sk.lang @@ -4,18 +4,19 @@ actions timesheet sk Akcie all projects timesheet sk Všetky projekty both: allow to use projectmanager and free project-names admin sk Obidvoje: povoliť používanie Projektovníka a voľné názvy projektov +by timesheet sk (kým) create new links timesheet sk Vytvoriť nové odkazy -creating new entry timesheet sk vytvára sa nový záznam -delete this entry timesheet sk zmazať tento záznam -edit this entry timesheet sk Uprav tento záznam -empty if identical to duration timesheet sk prázdne ak sa zhoduje dĺžka trvania +creating new entry timesheet sk vytvára sa nová položka +delete this entry timesheet sk odstrániť túto položku +edit this entry timesheet sk Upraviť túto položku +empty if identical to duration timesheet sk prázdne, ak sa zhoduje dĺžka trvania end timesheet sk Koniec -entry deleted timesheet sk Záznam vymazaný -entry saved timesheet sk Záznam uložený -error deleting the entry!!! timesheet sk Chyba pri mazaní záznamu !!! -error saving the entry!!! timesheet sk Chyba pri ukladaní záznamu !!! +entry deleted timesheet sk Položka bola odstránená +entry saved timesheet sk Položka bola uložená +error deleting the entry!!! timesheet sk Chyba pri odstraňovaní položky!!! +error saving the entry!!! timesheet sk Chyba pri ukladaní položky!!! existing links timesheet sk Existujúce odkazy -full: use only projectmanager admin sk Plné: opužiť iba Projektovník +full: use only projectmanager admin sk Plné: použiť iba Projektovník general timesheet sk Hlavné last modified timesheet sk Naposledy upravené last month timesheet sk Posledný mesiac @@ -27,13 +28,13 @@ no details timesheet sk no project timesheet sk Žiadny projekt none: use only free project-names admin sk Žiadne: použiť iba voľné názvy projektov or endtime timesheet sk alebo Čas skončenia -permission denied!!! timesheet sk Prístup bol odopretý !!! +permission denied!!! timesheet sk Prístup bol odmietnutý !!! price timesheet sk Cena projectmanager integration admin sk integrácia s Projektovníkom quantity timesheet sk Množstvo save & new timesheet sk Uložiť & Nové saves the changes made timesheet sk Uloží vykonané zmeny -saves this entry and add a new one timesheet sk Uloží tento záznam a pridá nový +saves this entry and add a new one timesheet sk Uloží túto položku a pridá novú select a price timesheet sk Vyberte cenu select a project timesheet sk Vyberte projekt start timesheet sk Začiatok @@ -45,7 +46,7 @@ this week timesheet sk Tento t this year timesheet sk Tento rok timesheet common sk Harmonogram unitprice timesheet sk Jednotková cena -view this entry timesheet sk Zobraziť záznam +view this entry timesheet sk Zobraziť položku week timesheet sk Týždeň yesterday timesheet sk Včera your database is not up to date (%1 vs. %2), please run %3setup%4 to update your database. timesheet sk Vaša databáza NIE je aktuálna (%1 oproti %2), prosím spustite %3setup%4 kvôli aktualizácii vašej databázy. From c60811c353e92d3eee38b84bcb0c7cadf3efda41 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 17 May 2007 06:04:24 +0000 Subject: [PATCH 08/51] missing date/time customfield type --- admin/inc/class.customfields.inc.php | 2 ++ etemplate/inc/class.customfields_widget.inc.php | 6 ++++++ infolog/inc/class.uicustomfields.inc.php | 2 ++ 3 files changed, 10 insertions(+) diff --git a/admin/inc/class.customfields.inc.php b/admin/inc/class.customfields.inc.php index 1b6ac184ae..b882405cf0 100644 --- a/admin/inc/class.customfields.inc.php +++ b/admin/inc/class.customfields.inc.php @@ -46,6 +46,8 @@ 'select' => 'Selectbox', 'radio' => 'Radiobutton', 'checkbox' => 'Checkbox', + 'date' => 'Date', + 'date-time'=> 'Date+Time', 'link-entry' => 'Select entry', ); /** diff --git a/etemplate/inc/class.customfields_widget.inc.php b/etemplate/inc/class.customfields_widget.inc.php index 383dd839d0..317f2c0ae2 100644 --- a/etemplate/inc/class.customfields_widget.inc.php +++ b/etemplate/inc/class.customfields_widget.inc.php @@ -136,6 +136,12 @@ )); } break; + case 'date': + case 'date-time': + $input = &$tpl->new_cell($n,$field['type'],'',$this->prefix.$name,array( + 'size' => $field['len'] ? $field['len'] : ($field['type'] == 'date' ? 'Y-m-d' : 'Y-m-d H:i:s'), + )); + break; case 'link-entry': default : // link-entry to given app $input = &$tpl->new_cell($n,'link-entry','',$this->prefix.$name,array( diff --git a/infolog/inc/class.uicustomfields.inc.php b/infolog/inc/class.uicustomfields.inc.php index 2ff6710fb4..df5142dd63 100644 --- a/infolog/inc/class.uicustomfields.inc.php +++ b/infolog/inc/class.uicustomfields.inc.php @@ -29,6 +29,8 @@ class uicustomfields 'select' => 'Selectbox', 'radio' => 'Radiobutton', 'checkbox' => 'Checkbox', + 'date' => 'Date', + 'date-time'=> 'Date+Time', 'link-entry' => 'Select entry', ); /** From d2f80cf8dc00ed4bf9ce247b446abaa0ff85987e Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 17 May 2007 08:35:35 +0000 Subject: [PATCH 09/51] fixed SiteMgr session-problems by making the cookie path/domain configurable with more reasonable defaults then 1.4 has at the moment, making the display of * behind untranslated phrases an option which is by default off (as it anoyes users) and added a few more explenations to Admin >> Site configuration (plus removing not used ones) --- admin/setup/phpgw_ca.lang | 1 + admin/setup/phpgw_cs.lang | 1 + admin/setup/phpgw_da.lang | 1 + admin/setup/phpgw_de.lang | 11 +++++ admin/setup/phpgw_el.lang | 1 + admin/setup/phpgw_en.lang | 10 +++- admin/setup/phpgw_es-es.lang | 3 +- admin/setup/phpgw_eu.lang | 1 + admin/setup/phpgw_fi.lang | 3 +- admin/setup/phpgw_fr.lang | 3 +- admin/setup/phpgw_hr.lang | 1 + admin/setup/phpgw_hu.lang | 1 + admin/setup/phpgw_it.lang | 1 + admin/setup/phpgw_iw.lang | 1 + admin/setup/phpgw_ja.lang | 1 + admin/setup/phpgw_ko.lang | 1 + admin/setup/phpgw_lv.lang | 1 + admin/setup/phpgw_nl.lang | 1 + admin/setup/phpgw_no.lang | 1 + admin/setup/phpgw_pl.lang | 3 +- admin/setup/phpgw_pt-br.lang | 3 +- admin/setup/phpgw_pt.lang | 1 + admin/setup/phpgw_ru.lang | 1 + admin/setup/phpgw_sk.lang | 3 +- admin/setup/phpgw_sl.lang | 3 +- admin/setup/phpgw_sv.lang | 1 + admin/setup/phpgw_uk.lang | 1 + admin/setup/phpgw_zh-tw.lang | 3 +- admin/setup/phpgw_zh.lang | 1 + admin/templates/default/config.tpl | 64 +++++++++++--------------- phpgwapi/inc/class.sessions.inc.php | 23 +++++++-- phpgwapi/inc/class.translation.inc.php | 16 ++++++- 32 files changed, 118 insertions(+), 49 deletions(-) diff --git a/admin/setup/phpgw_ca.lang b/admin/setup/phpgw_ca.lang index c446f05fa3..a8fffe6032 100644 --- a/admin/setup/phpgw_ca.lang +++ b/admin/setup/phpgw_ca.lang @@ -435,3 +435,4 @@ you must enter an application title. admin ca Heu d'introdu you must select a file type admin ca Heu de seleccionar un tipus d'arxiu you will need to remove the subcategories before you can delete this category admin ca Heu d'esborrar les subcategories abans de poder esborrar aquesta categoria ! +your session could not be verified. admin ca La vostra sessió no s'ha pogut verificar. diff --git a/admin/setup/phpgw_cs.lang b/admin/setup/phpgw_cs.lang index ad0180d916..2847705fe5 100644 --- a/admin/setup/phpgw_cs.lang +++ b/admin/setup/phpgw_cs.lang @@ -359,3 +359,4 @@ you must enter an application name. admin cs Mus you must enter an application title. admin cs Musíte vložit titulek aplikace. you must select a file type admin cs Musíte vybrat typ souboru you will need to remove the subcategories before you can delete this category admin cs Musíte odstranit podkategorie předtím, než můžete smazat tuto kategorii ! +your session could not be verified. admin cs Vaše sezení není platné. diff --git a/admin/setup/phpgw_da.lang b/admin/setup/phpgw_da.lang index 450990ac1b..c048b9606e 100644 --- a/admin/setup/phpgw_da.lang +++ b/admin/setup/phpgw_da.lang @@ -354,3 +354,4 @@ you must enter an application name. admin da Du skal indtaste et applikations na you must enter an application title. admin da Du skal indtaste en applikations titel you must select a file type admin da Du skal vćlge en type you will need to remove the subcategories before you can delete this category admin da Du blive nřd til at fjerne underkategorierne for du kan slette denne kategori! +your session could not be verified. admin da Din session kunne ikke verificeres diff --git a/admin/setup/phpgw_de.lang b/admin/setup/phpgw_de.lang index 3f13ec26de..fe59223e61 100644 --- a/admin/setup/phpgw_de.lang +++ b/admin/setup/phpgw_de.lang @@ -92,6 +92,8 @@ check ip address of all sessions admin de IP-Adresse f check items to %1 to %2 for %3 admin de Durch Abhaken %3 in %2 %1 click to select a color admin de Anclicken um eine Farbe auszuwählen color admin de Farbe +cookie domain (default empty means use full domain name, for sitemgr eg. ".domain.com" allows to use the same cookie for egw.domain.com and www.domain.com) admin de Cookie Domain (Vorgabe leer bedeutet den kompletten Domainnamen, für SiteMgr erlaubt zB. ".domain.com" das gleiche Cookie für egw.domain.com und www.domain.com zu verwenden) +cookie path (allows multiple egw sessions with different directories, has problemes with sitemgr!) admin de Cookie Pfad (erlaubt mehrere eGW Sitzungen mit unterschiedlichen Verzeichnissen, hat Probleme mit SiteMgr!) country selection admin de Länderauswahl create group admin de Erstelle Gruppe creates a new field admin de erstellt ein neues Feld @@ -144,6 +146,7 @@ do not delete the category and return back to the list admin de Kategorie NICHT do you also want to delete all global subcategories ? admin de wollen Sie auch alle globalen Unterkategorien löschen? do you want to delete all global subcategories ? admin de Möchten Sie alle Globale Unterkategorien löschen? do you want to move all global subcategories one level down ? admin de Wollen sie alle globalen Unterkategorien eine Ebene nach unten verschieben? +document root (default) admin de Wurzelverzeichnis des Webservers (Vorgabe) each value is a line like [=

cookie_path='$this->cookie_path', cookie_domain='$this->cookie_domain'

\n"; $this->set_cookie_params($this->cookie_domain,$this->cookie_path); // for php4 sessions necessary } diff --git a/phpgwapi/inc/class.translation.inc.php b/phpgwapi/inc/class.translation.inc.php index 69436580a8..2aa93e7b34 100644 --- a/phpgwapi/inc/class.translation.inc.php +++ b/phpgwapi/inc/class.translation.inc.php @@ -49,7 +49,18 @@ var $lang_table = 'egw_lang'; var $languages_table = 'egw_languages'; var $config_table = 'egw_config'; + /** + * Instance of the db-class + * + * @var egw_db + */ var $db; + /** + * Mark untranslated strings with an asterisk (*), values '' or 'yes' + * + * @var string + */ + var $markunstranslated; /** * Constructor, sets up a copy of the db-object, gets the system-charset and tries to load the mbstring extension @@ -145,6 +156,8 @@ $this->add_app('common'); } $this->add_app($GLOBALS['egw_info']['flags']['currentapp']); + + $this->markunstranslated = $GLOBALS['egw_info']['server']['markuntranslated']; } /** @@ -161,7 +174,8 @@ { $this->init(); } - $ret = $key.$not_found; // save key if we dont find a translation + $ret = $key; // save key if we dont find a translation + if ($not_found && $this->markunstranslated) $ret .= $not_found; if (isset($this->lang_arr[$key])) { From f2c6ab13c90f48eeb9578a8335dfd50ad707eb4f Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 17 May 2007 12:16:27 +0000 Subject: [PATCH 10/51] =?UTF-8?q?"Austrian=20holiday=20file=20from=20Micha?= =?UTF-8?q?el=20Stra=C3=9Fberger=20"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- calendar/egroupware.org/holidays.AT.csv | 36 +++++++++++++++++-------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/calendar/egroupware.org/holidays.AT.csv b/calendar/egroupware.org/holidays.AT.csv index 611e22020f..c72e15650a 100644 --- a/calendar/egroupware.org/holidays.AT.csv +++ b/calendar/egroupware.org/holidays.AT.csv @@ -1,18 +1,11 @@ charset iso-8859-1 + +regular (year=0): AT Neujahr 1 1 0 0 0 AT Hl. Drei Könige 6 1 0 0 0 -AT Ostersonntag 27 3 2005 0 0 -AT Ostermontag 28 3 2005 0 0 -AT Ostersonntag 11 4 2004 0 0 -AT Ostermontag 12 4 2004 0 0 AT Staatsfeiertag 1 5 0 0 0 -AT Pfingstsonntag 15 5 2005 0 0 -AT Pfingstmontag 16 5 2005 0 0 -AT Christi Himmelfahrt 20 5 2004 0 0 -AT Fronleichnam 26 5 2005 0 0 -AT Pfingstsonntag 30 5 2004 0 0 -AT Pfingstmontag 31 5 2004 0 0 -AT Fronleichnam 10 6 2004 0 0 +AT Pfingstmontag 28 5 0 0 0 +AT Fronleichnam 7 6 0 0 0 AT Maria Himmelfahrt 15 8 0 0 0 AT Nationalfeiertag 26 10 0 0 0 AT Allerheiligen 1 11 0 0 0 @@ -20,3 +13,24 @@ AT Maria Empf AT Heiliger Abend 24 12 0 0 0 AT Christtag 25 12 0 0 0 AT Stephanitag 26 12 0 0 0 + +2004: +AT Ostersonntag 11 4 2004 0 0 +AT Ostermontag 12 4 2004 0 0 +AT Christi Himmelfahrt 20 5 2004 0 0 +AT Pfingstsonntag 30 5 2004 0 0 +AT Pfingstmontag 31 5 2004 0 0 +AT Fronleichnam 10 6 2004 0 0 + +2005: +AT Ostersonntag 27 3 2005 0 0 +AT Ostermontag 28 3 2005 0 0 +AT Pfingstsonntag 15 5 2005 0 0 +AT Pfingstmontag 16 5 2005 0 0 +AT Fronleichnam 26 5 2005 0 0 + +2007: +AT Ostersonntag 8 4 2007 0 0 +AT Ostermontag 9 4 2007 0 0 +AT Christi Himmelfahrt 17 5 2007 0 0 +AT Pfingstsonntag 27 5 2007 0 0 From b29095430d8e65769cecd22c71dac9e28a7679ec Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 17 May 2007 12:31:18 +0000 Subject: [PATCH 11/51] fix for bug #484: Unable to 'Search new phrases' --- .../idots/class.idots_framework.inc.php | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/phpgwapi/templates/idots/class.idots_framework.inc.php b/phpgwapi/templates/idots/class.idots_framework.inc.php index 1a1752579b..3093593b0a 100644 --- a/phpgwapi/templates/idots/class.idots_framework.inc.php +++ b/phpgwapi/templates/idots/class.idots_framework.inc.php @@ -725,17 +725,17 @@ */ function sidebox($appname,$menu_title,$file) { - if(!$appname || ($appname==$GLOBALS['egw_info']['flags']['currentapp'] && $file)) - { - $this->tpl->set_var('lang_title',$menu_title); - $this->sidebox_content .= $this->tpl->fp('out','extra_blocks_header'); - - foreach($file as $text => $url) - { - $this->sidebox_content .= $this->_sidebox_menu_item($url,$text); - } - $this->sidebox_content .= $this->tpl->parse('out','extra_blocks_footer'); - } + if((!$appname || ($appname==$GLOBALS['egw_info']['flags']['currentapp'] && $file)) && is_object($this->tpl)) + { + $this->tpl->set_var('lang_title',$menu_title); + $this->sidebox_content .= $this->tpl->fp('out','extra_blocks_header'); + + foreach($file as $text => $url) + { + $this->sidebox_content .= $this->_sidebox_menu_item($url,$text); + } + $this->sidebox_content .= $this->tpl->parse('out','extra_blocks_footer'); + } } /** From 7f8b7fb92f9b5ac9af7f9f1b0a510c5f3eff7905 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 17 May 2007 19:04:02 +0000 Subject: [PATCH 12/51] "fix loginscreen-message (was depending on * for not existing)" --- login.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/login.php b/login.php index bf7f8e3110..b5c2f91398 100755 --- a/login.php +++ b/login.php @@ -311,11 +311,11 @@ $GLOBALS['egw']->translation->init(); // this will set the language according to the (new) set prefs $GLOBALS['egw']->translation->add_app('login'); $GLOBALS['egw']->translation->add_app('loginscreen'); - if(lang('loginscreen_message') == 'loginscreen_message*') + if($GLOBALS['egw']->translation->translate('loginscreen_message',false,'') == 'loginscreen_message') { $GLOBALS['egw']->translation->add_app('loginscreen','en'); // trying the en one } - if(lang('loginscreen_message') != 'loginscreen_message*') + if($GLOBALS['egw']->translation->translate('loginscreen_message',false,'') != 'loginscreen_message') { // for now store login message in globals so it is available for the login.inc.php $GLOBALS['loginscreenmessage']=stripslashes(lang('loginscreen_message')); From cb7eb664349b70906c4197f95ecce59b4129fd1e Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 18 May 2007 13:49:46 +0000 Subject: [PATCH 13/51] "fixed php5 only foreach syntax, as we still support php4" --- etemplate/inc/class.ajax_select_widget.inc.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etemplate/inc/class.ajax_select_widget.inc.php b/etemplate/inc/class.ajax_select_widget.inc.php index 6750e16a1a..495dc7c947 100644 --- a/etemplate/inc/class.ajax_select_widget.inc.php +++ b/etemplate/inc/class.ajax_select_widget.inc.php @@ -233,7 +233,8 @@ if(!$query['template'] || $query['template'] == 'etemplate.ajax_select_widget.row') { $query['template'] = 'etemplate.ajax_select_widget.row'; } - foreach($result_list as $key => &$row) { + foreach($result_list as $key => $nul) { + $row =& $result_list[$key]; // $key => &$row is php5! if(!is_array($row)) { continue; } From 1dd9efb7fb65c5d8064339ec21d08328b5c6ffff Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 18 May 2007 16:10:14 +0000 Subject: [PATCH 14/51] "fixed missing encoding for ambersands by using the standard php functions htmlspecialchars and htmlspecialchars_decode" --- phpgwapi/inc/xml_functions.inc.php | 44 ++++++++---------------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/phpgwapi/inc/xml_functions.inc.php b/phpgwapi/inc/xml_functions.inc.php index c9e02573c6..58b35b4f12 100644 --- a/phpgwapi/inc/xml_functions.inc.php +++ b/phpgwapi/inc/xml_functions.inc.php @@ -196,43 +196,21 @@ */ function xmlrpc_encode_entities($data) { - $convmap = array(0, 0x1F, 0, 0xFFFF, 0x80, 0xFFFF, 0, 0xFFFF); - $encoding = $GLOBALS['egw']->translation->system_charset; - mb_regex_encoding($encoding); - $pattern = array('<', '>', '"', '\''); - $replacement = array('<', '>', '"', '''); - for ($i=0; $itranslation->system_charset ? + $GLOBALS['egw']->translation->system_charset : 'latin1'); + } + + if (!function_exists('htmlspecialchars_decode')) // php < 5.1 + { + function htmlspecialchars_decode($text,$quote_style=ENT_COMPAT) + { + return strtr($text, array_flip(get_html_translation_table(HTML_SPECIALCHARS,$quote_style))); + } } function xmlrpc_entity_decode($string) { - $top = split('&', $string); - $op = ''; - $i = 0; - while($i Date: Fri, 18 May 2007 17:35:12 +0000 Subject: [PATCH 15/51] "fixed border around popup while printing" --- phpgwapi/templates/idots/print.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpgwapi/templates/idots/print.css b/phpgwapi/templates/idots/print.css index 16b1dad929..fcf404bf4e 100644 --- a/phpgwapi/templates/idots/print.css +++ b/phpgwapi/templates/idots/print.css @@ -9,7 +9,7 @@ display:none; } -#divMain { +#divMain,#popupMainDiv { border:none; margin:0px; padding:0px; From cf7af58f8868e528407a0efa956b5ba9d93b75b8 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 18 May 2007 17:47:51 +0000 Subject: [PATCH 16/51] "shut the debug message in error_log, when calling the old contact.read() method instead of contacts::search(), as users seem to think it's an error-message" --- phpgwapi/inc/class.contacts.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpgwapi/inc/class.contacts.inc.php b/phpgwapi/inc/class.contacts.inc.php index 04b250e61b..eef43ef15e 100644 --- a/phpgwapi/inc/class.contacts.inc.php +++ b/phpgwapi/inc/class.contacts.inc.php @@ -87,7 +87,7 @@ class contacts extends bocontacts */ function old_read($start=0,$limit=0,$fields=null,$query='',$filter='',$sort='',$order='', $lastmod=-1,$cquery='') { - error_log("contacts::old_read($start,$limit,".print_r($fields,true).",$query,'$filter','$sort','$order',$lastmod,$cquery)"); + //error_log("contacts::old_read($start,$limit,".print_r($fields,true).",$query,'$filter','$sort','$order',$lastmod,$cquery)"); //echo "

contacts::old_read($start,$limit,".print_r($fields,true).",$query,'$filter','$sort','$order',$lastmod,$cquery)

\n"; $sfilter = array(); if ($filter) From 5f228355ef85501c08dcd4aa7648f337cf9c1e27 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sat, 19 May 2007 04:37:14 +0000 Subject: [PATCH 17/51] "fixed bug reported on the userlist: partial content under mbstring.func_overload&2" --- phpgwapi/inc/class.xmlrpc_server_php.inc.php | 29 ++++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/phpgwapi/inc/class.xmlrpc_server_php.inc.php b/phpgwapi/inc/class.xmlrpc_server_php.inc.php index aa33f9bf4c..b01c2a54dc 100644 --- a/phpgwapi/inc/class.xmlrpc_server_php.inc.php +++ b/phpgwapi/inc/class.xmlrpc_server_php.inc.php @@ -92,10 +92,11 @@ } else { - $payload = "\n" . $this->serializeDebug() . $r->serialize(); + $payload = $GLOBALS['egw']->translation->convert("\n" . $this->serializeDebug() . $r->serialize(), + $GLOBALS['egw']->translation->charset(),'utf-8'); header("Content-type: text/xml"); - header("Content-length: " . strlen($payload)); - echo $GLOBALS['egw']->translation->convert($payload,$GLOBALS['egw']->translation->charset(),'utf-8'); + header("Content-length: " . $this->bytes($payload)); + echo $payload; } if ($this->log) @@ -119,10 +120,28 @@ fclose($fp); } } + + /** + * mbstring.func_overload save strlen version: counting the bytes not the chars + * + * @param string $str + * @return int + */ + function bytes($str) + { + static $func_overload; + + if (is_null($func_overload)) + { + $func_overload = @extension_loaded('mbstring') ? ini_get('mbstring.func_overload') : 0; + } + return $func_overload & 2 ? mb_strlen($str,'ascii') : strlen($str); + } + /* - add a method to the dispatch map - */ + * add a method to the dispatch map + */ function add_to_map($methodname,$function,$sig,$doc) { $this->dmap[$methodname] = array( From 86359f111cb10ead4b1fc557c1af058ebb28424c Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sat, 19 May 2007 07:41:16 +0000 Subject: [PATCH 18/51] "fixed not sticky options: a) session-use-cookie Off, b) session-check-ip Off " --- admin/templates/default/config.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/templates/default/config.tpl b/admin/templates/default/config.tpl index d43fcfc8ea..b2505ff533 100644 --- a/admin/templates/default/config.tpl +++ b/admin/templates/default/config.tpl @@ -118,7 +118,7 @@ @@ -145,7 +145,7 @@ From 337fd31119f93a9c569547f5465b1e9eb0538196 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sat, 19 May 2007 07:49:57 +0000 Subject: [PATCH 19/51] "fixed wrong position of holidays after scrolling arrows in dayview " --- calendar/inc/class.uiviews.inc.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/calendar/inc/class.uiviews.inc.php b/calendar/inc/class.uiviews.inc.php index 75ea2ec448..6d232e9a58 100644 --- a/calendar/inc/class.uiviews.inc.php +++ b/calendar/inc/class.uiviews.inc.php @@ -908,10 +908,15 @@ class uiviews extends uical $ts = $this->bo->date2ts((string)$day_ymd); $title = !is_bool($short_title) ? $short_title : ($short_title ? lang(adodb_date('l',$ts)).' '.adodb_date('d.',$ts) : $this->bo->long_date($ts,0,false,true)); + $day_view = array( 'menuaction' => 'calendar.uiviews.day', 'date' => $day_ymd, ); + $this->_day_class_holiday($day_ymd,$class,$holidays); + // the weekday and date + if (!$short_title && $holidays) $title .= ': '.$holidays; + if ($short_title === true) { $title = $this->html->a_href($title,$day_view,'', @@ -925,10 +930,8 @@ class uiviews extends uical $day_view['date'] = $this->bo->date2string($ts += 48*HOUR_s); $title .= '   '.$this->html->a_href($this->html->image('phpgwapi','right',$this->bo->long_date($ts)),$day_view); } - $this->_day_class_holiday($day_ymd,$class,$holidays); - // the weekday and date $html .= $indent."\t".'
'. - $title.(!$short_title && $holidays ? ': '.$holidays : '')."
\n"; + $title."\n"; if ($this->use_time_grid) { From 116f97e59cbf68ea64a57abd46caa01859be1814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cornelius=20Wei=C3=9F?= Date: Sat, 19 May 2007 15:59:58 +0000 Subject: [PATCH 20/51] fix: remove forgotten debug message --- etemplate/inc/class.xmltool.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etemplate/inc/class.xmltool.inc.php b/etemplate/inc/class.xmltool.inc.php index e653ac815f..c90ee21a39 100644 --- a/etemplate/inc/class.xmltool.inc.php +++ b/etemplate/inc/class.xmltool.inc.php @@ -166,7 +166,7 @@ function import_var($name, $value,$is_root=False,$export_xml=False) { - echo "

import_var: this->indentstring='$this->indentstring'

\n"; + //echo "

import_var: this->indentstring='$this->indentstring'

\n"; $node =& new xmltool('node',$name,$this->indentstring); switch (gettype($value)) { From 891906d72fc52f755de86543c67aa87b1091ea33 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 20 May 2007 09:37:52 +0000 Subject: [PATCH 21/51] bugfix: using css-classes instead of the no longer existing theme colors --- addressbook/templates/default/preference_acl_row.tpl | 2 +- addressbook/templates/default/preference_colspan.tpl | 2 +- calendar/templates/default/preference_acl_row.tpl | 2 +- calendar/templates/default/preference_colspan.tpl | 2 +- filemanager/templates/default/preference_acl_row.tpl | 2 +- filemanager/templates/default/preference_colspan.tpl | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addressbook/templates/default/preference_acl_row.tpl b/addressbook/templates/default/preference_acl_row.tpl index 92dc05c33a..4ba86a6463 100755 --- a/addressbook/templates/default/preference_acl_row.tpl +++ b/addressbook/templates/default/preference_acl_row.tpl @@ -1,5 +1,5 @@ - + {user} diff --git a/addressbook/templates/default/preference_colspan.tpl b/addressbook/templates/default/preference_colspan.tpl index dc9077995a..b399a2117f 100755 --- a/addressbook/templates/default/preference_colspan.tpl +++ b/addressbook/templates/default/preference_colspan.tpl @@ -1,5 +1,5 @@ - + {string} {lang_read} {lang_edit} diff --git a/calendar/templates/default/preference_acl_row.tpl b/calendar/templates/default/preference_acl_row.tpl index 01b22d84b5..942e7eccc3 100755 --- a/calendar/templates/default/preference_acl_row.tpl +++ b/calendar/templates/default/preference_acl_row.tpl @@ -1,5 +1,5 @@ - + {user} diff --git a/calendar/templates/default/preference_colspan.tpl b/calendar/templates/default/preference_colspan.tpl index 4b97c5dbd8..00cf26c771 100755 --- a/calendar/templates/default/preference_colspan.tpl +++ b/calendar/templates/default/preference_colspan.tpl @@ -1,4 +1,4 @@ - + {string} {lang_read} {lang_add} diff --git a/filemanager/templates/default/preference_acl_row.tpl b/filemanager/templates/default/preference_acl_row.tpl index 6639d7bfc3..7d1c19c28a 100755 --- a/filemanager/templates/default/preference_acl_row.tpl +++ b/filemanager/templates/default/preference_acl_row.tpl @@ -1,5 +1,5 @@ - + {user} diff --git a/filemanager/templates/default/preference_colspan.tpl b/filemanager/templates/default/preference_colspan.tpl index cd2f79a7a3..d3e1aa79a9 100755 --- a/filemanager/templates/default/preference_colspan.tpl +++ b/filemanager/templates/default/preference_colspan.tpl @@ -1,4 +1,4 @@ - + {string} {lang_read} {lang_add} From d683c2c7e13258a6093a0442cc272131723c7142 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 20 May 2007 15:14:39 +0000 Subject: [PATCH 22/51] "Fix for not working birthdays in xmlrpc as reported on the users-list" --- addressbook/inc/class.boaddressbook.inc.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addressbook/inc/class.boaddressbook.inc.php b/addressbook/inc/class.boaddressbook.inc.php index c282c8621c..5dc2abd136 100644 --- a/addressbook/inc/class.boaddressbook.inc.php +++ b/addressbook/inc/class.boaddressbook.inc.php @@ -193,9 +193,11 @@ class boaddressbook $data = array_diff($data,array('',null)); // translate birthday to a iso8601 date - if(isset($data['bday'])) + if(isset($data['bday']) && $data['bday']) { + $y = $m = $d = null; list($y,$m,$d) = explode('-',$data['bday']); + if (is_null($d)) list($m,$d,$y) = explode('/',$data['bday']); $data['bday'] = $GLOBALS['server']->date2iso8601(array('year'=>$y,'month'=>$m,'mday'=>$d)); } // translate timestamps From 80419ee78364821459f3001e60349f5d5feb142a Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 20 May 2007 15:16:15 +0000 Subject: [PATCH 23/51] "removed some \"dead\" code" --- phpgwapi/inc/class.accounts.inc.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/phpgwapi/inc/class.accounts.inc.php b/phpgwapi/inc/class.accounts.inc.php index 8e70d82a43..1e4fb9f86b 100644 --- a/phpgwapi/inc/class.accounts.inc.php +++ b/phpgwapi/inc/class.accounts.inc.php @@ -435,10 +435,8 @@ class accounts extends accounts_backend { if (!($data = $this->read($account_id))) return false; + //echo "

accounts::id2name($account_id,$which)='{$data[$which]}'"; return $data[$which]; - - $this->setup_cache(); - $id_list = &$this->cache['id_list']; } /** From c7bf33ab2ca88b4a89f41e6b7b2801e1d03b79e9 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 20 May 2007 15:16:59 +0000 Subject: [PATCH 24/51] "support for new polls schema" --- admin/admin-cli.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/admin/admin-cli.php b/admin/admin-cli.php index f37996a296..39972c06bb 100755 --- a/admin/admin-cli.php +++ b/admin/admin-cli.php @@ -305,10 +305,9 @@ function do_change_account_id($args) 'phpgw_kb_urls' => false, ), 'polls' => array( - 'phpgw_polls_data' => false, - 'phpgw_polls_desc' => false, - 'phpgw_polls_settings' => false, - 'phpgw_polls_user' => 'user_id', + 'egw_polls' => false, + 'egw_polls_answers' => false, + 'egw_polls_votes' => 'vote_uid', ), // MyDMS ToDo!!! // VFS2 ToDo!!! From 94dced8024a2a29855af35859b823b81412dad33 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 21 May 2007 04:49:57 +0000 Subject: [PATCH 25/51] "fix for bug #747: Postgres SQL error searching tracker items" --- etemplate/inc/class.so_sql.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etemplate/inc/class.so_sql.inc.php b/etemplate/inc/class.so_sql.inc.php index 90544887d9..aa0220360d 100644 --- a/etemplate/inc/class.so_sql.inc.php +++ b/etemplate/inc/class.so_sql.inc.php @@ -680,7 +680,7 @@ class so_sql } elseif (!$need_full_no_count && (!$join || stripos($join,'LEFT JOIN')!==false)) { - $this->db->select($this->table_name,'COUNT(*)',$query,__LINE__,__FILE__); + $this->db->select($this->table_name,'COUNT(*)',$query,__LINE__,__FILE__,false,'',false,0,$join); $this->total = $this->db->next_record() ? (int) $this->db->f(0) : false; } else // cant do a count, have to run the query without limit From 852f8149b2bab2a5ade298023c3e702c469e80f3 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 21 May 2007 06:19:42 +0000 Subject: [PATCH 26/51] "fixed error in fmail compose under Konqueror: fallback textarea is only 4 lines high, not 400px, as FCK expects the heigt as number and adds px itself also removed the commented out tinymce code" --- phpgwapi/inc/class.html.inc.php | 187 +------------------------------- 1 file changed, 5 insertions(+), 182 deletions(-) diff --git a/phpgwapi/inc/class.html.inc.php b/phpgwapi/inc/class.html.inc.php index 414b9d7228..692080545f 100644 --- a/phpgwapi/inc/class.html.inc.php +++ b/phpgwapi/inc/class.html.inc.php @@ -447,132 +447,6 @@ class html return $this->fckEditor($name, $content, 'extended', array('toolbar_expanded' =>'true'), '400px', '100%', $base_href); } - - - /** - * init the tinymce js-widget by adding the js file in the head of the page - * - * Please note: it need to be called before the call to phpgw_header() !!! - * - - function init_tinymce() - { - // do stuff once - if (!is_object($GLOBALS['egw']->js)) - { - $GLOBALS['egw']->js = CreateObject('phpgwapi.javascript'); - } - - if (strpos($GLOBALS['egw_info']['flags']['java_script'],'tinyMCE')===false) - { - $GLOBALS['egw']->js->validate_file('tiny_mce','tiny_mce'); - } - }*/ - - /** - * creates a textarea inputfield for the tinymce js-widget (returns the necessary html and js) - * - * Please note: if you did not run init_tinymce already you this function need to be called before the call to phpgw_header() !!! - * - * @param string $name name and id of the input-field - * @param string $content='' of the tinymce (will be run through htmlspecialchars !!!), default '' - * @param string $style='' initial css for the style attribute - * @param string $init_options='', see http://tinymce.moxiecode.com/ for all init options. mode and elements are allready set. - * to make things more easy, you also can just provide a comma seperated list here with the options you need. - * Supportet are: 'TableOperations','ContextMenu','ColorChooser' - * @param string $base_href='' - * @return string the necessary html for the textarea - * @todo make wrapper for backwards compatibility with htmlarea - * @todo enable all features from htmlarea - - function tinymce($name,$content='',$style='',$init_options='',$base_href='') - { - if (!$style) - { - $style = 'width:100%; min-width:500px; height:300px;'; - } - if (!$this->htmlarea_availible()) - { - return $this->textarea($name,$content,'style="'.$style.'"'); - } - - // do stuff once - $this->init_tinymce(); - - if(strpos($init_options,':') === false) - { - $init = 'theme : "advanced", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left"'; - $tab1a = 'theme_advanced_buttons1_add : "'; - $tab2a = 'theme_advanced_buttons2_add : "'; - $tab3a = 'theme_advanced_buttons3_add : "separator,fullscreen'; - $plugs = 'plugins : "paste,fullscreen,advimage,advlink'; - $eve = 'extended_valid_elements : "a[name|href|target|title|onclick], img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],font[*]'; - if($init_options) - { - foreach(explode(',',$init_options) as $plugin) - { - switch($plugin) - { - case 'TableOperations' : - $plugs .= ',table'; - $tab3a .= ',separator,tablecontrols'; - break; - case 'ContextMenu' : - $plugs .= ',contextmenu'; - break; - case 'ColorChooser' : - $tab3a .= ',separator,forecolor,backcolor'; - break; - case 'FontChooser' : - $tab1a .= ',fontselect,fontsizeselect'; - $init .= ',theme_advanced_disable : "styleselect"'; - break; - case 'FileManager' : - $plugs .= ',filemanager'; - $tab3a .= ',separator,filemanager'; - break; - case 'SearchReplace' : - $plugs .= ',searchreplace'; - $tab1a .= ',separator,search,replace'; - break; - case 'InsertDateTime' : - $plugs .= ',insertdatetime'; - $tab2a .= ',separator,insertdate,inserttime'; - break; - default: - if(strpos($plugin,'=')!==false) - { - $init .= ','. str_replace('=',':',$plugin); - } - } - } - } - if($base_href) - { - $init .= ',document_base_url : "'. $base_href. '", relative_urls : true'; - } - - $init_options = $init. ','. $tab1a. '",'. $tab2a. '",'. $tab3a. '",'. $plugs. '",'. $eve. '"'; - } - - // do again and again - return ' - - '; - }*/ - /** * this function is a wrapper for fckEditor to create some reuseable layouts * @@ -596,8 +470,8 @@ class html $oFCKeditor = new FCKeditor($_name) ; $oFCKeditor->BasePath = $GLOBALS['egw_info']['server']['webserver_url'].'/phpgwapi/js/fckeditor/' ; $oFCKeditor->Value = $_content; - $oFCKeditor->Width = $_width ; - $oFCKeditor->Height = $_height ; + $oFCKeditor->Width = str_replace('px','',$_width); // FCK adds px if width contains no % + $oFCKeditor->Height = str_replace('px','',$_height); // by default switch all browsers and uploads off $oFCKeditor->Config['LinkBrowser'] = $oFCKeditor->Config['LinkUpload'] = false; @@ -633,7 +507,7 @@ class html $oFCKeditor->ToolbarSet = 'egw_advanced'; break; } - return /*"toolbarset='$oFCKeditor->ToolbarSet'

".print_r($oFCKeditor->Config,true)."
\n".*/ $oFCKeditor->CreateHTML(); + return $oFCKeditor->CreateHTML(); } /** @@ -655,8 +529,8 @@ class html $oFCKeditor = new FCKeditor($_name) ; $oFCKeditor->BasePath = $GLOBALS['egw_info']['server']['webserver_url'].'/phpgwapi/js/fckeditor/' ; $oFCKeditor->Value = $_content; - $oFCKeditor->Width = $_width ; - $oFCKeditor->Height = $_height ; + $oFCKeditor->Width = str_replace('px','',$_width); // FCK adds px if width contains no % + $oFCKeditor->Height = str_replace('px','',$_height); switch($_mode) { case 'ascii': return ""; @@ -670,57 +544,6 @@ class html } - /** - * this function is a wrapper for tinymce to create some reuseable layouts - * - * Please note: if you did not run init_tinymce already you this function need to be called before the call to phpgw_header() !!! - * - * @param string $_name name and id of the input-field - * @param string $_mode display mode of the tinymce editor can be: simple, extended or advanced - * @param string $_content='' of the tinymce (will be run through htmlspecialchars !!!), default '' - * @param string $style='' initial css for the style attribute - * @param string $base_href='' - * @return string the necessary html for the textarea - - function tinymceQuick($_name, $_mode, $_content='', $_style='', $base_href='') { - switch($_mode) { - case 'ascii': - $init_options='theme : "advanced", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - valid_elements : "br"'; - - return $this->tinymce($_name, $_content, $_style, $init_options, $_base_href); - break; - - case 'simple': - $init_options='theme : "advanced", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,undo,redo,separator,forecolor", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - valid_elements : "strong/b[class],em/i[class],strike[class],u[class],p[dir|class|align],ol,ul,li,br,\ - sub,sup,blockquote[dir|style],pre[class|align],address[class|align],hr,font[color]"'; - - return $this->tinymce($_name, $_content, $_style, $init_options, $_base_href); - break; - - case 'extended': - $init_options=''; - return $this->tinymce($_name, $_content,$_style, $init_options='',$_base_href); - break; - - case 'advanced': - $init_options=''; - return $this->tinymce($_name, $_content,$_style, $init_options='',$_base_href); - break; - } - }*/ - /** * represents html's input tag * From 9c884e4b94cd4ac05c5159965db9ae54c5b482e6 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 21 May 2007 06:54:55 +0000 Subject: [PATCH 27/51] "fix for bug #764: \"Hide accounts from addressbook\" does not work with contacts in LDAP" --- addressbook/inc/class.so_ldap.inc.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/addressbook/inc/class.so_ldap.inc.php b/addressbook/inc/class.so_ldap.inc.php index 79becdf1c3..4175afbc22 100644 --- a/addressbook/inc/class.so_ldap.inc.php +++ b/addressbook/inc/class.so_ldap.inc.php @@ -702,7 +702,7 @@ class so_ldap $filters = ''; foreach($filter as $key => $value) { - if ($key != 'cat_id' && !$value) continue; + if ($key != 'cat_id' && $key != 'account_id' && !$value) continue; switch((string) $key) { @@ -710,6 +710,18 @@ class so_ldap case 'tid': // ignored break; + case 'account_id': + if (is_null($value)) + { + $filters .= '(!(uidNumber=*))'; + } + elseif ($value) + { + $filters .= '(uidNumber='.ldap::quote($value).')'; + + } + break; + case 'cat_id': if (is_null($value)) { From da48c78fc25e9e0662c0d07d0f4fb0eff5f11795 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Mon, 21 May 2007 09:08:03 +0000 Subject: [PATCH 28/51] "fixed not working forced preference for addressbook: csv-fields == all" --- addressbook/inc/class.contacts_admin_prefs.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addressbook/inc/class.contacts_admin_prefs.inc.php b/addressbook/inc/class.contacts_admin_prefs.inc.php index 005708747f..1e439ad8a9 100644 --- a/addressbook/inc/class.contacts_admin_prefs.inc.php +++ b/addressbook/inc/class.contacts_admin_prefs.inc.php @@ -163,7 +163,7 @@ class contacts_admin_prefs 'label' => 'Fields for the CSV export', 'name' => 'csv_fields', 'values' => array( - '' => lang('All'), + 'all' => lang('All'), 'business' => lang('Business address'), 'home' => lang('Home address'), ), From 2c5582c15b0e240b2da4f754f938c5ab32e41cce Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 06:29:41 +0000 Subject: [PATCH 29/51] "half hour timezones as requested on the list" --- preferences/inc/hook_settings.inc.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/preferences/inc/hook_settings.inc.php b/preferences/inc/hook_settings.inc.php index 3b438826cc..a245e4ff3f 100755 --- a/preferences/inc/hook_settings.inc.php +++ b/preferences/inc/hook_settings.inc.php @@ -40,10 +40,10 @@ { $format .= 'H:i'; } - for($i = -23; $i<24; $i++) + for($i = -23.5; $i < 24.0; $i += 0.5) { - $t = time() + $i * 60*60; - $tz_offset[$i] = $i . ' ' . lang('hours').': ' . date($format,$t); + $t = time() + round($i * 3600); + $tz_offset[(string)$i] = sprintf('%3.1lf',$i) . ' ' . lang('hours').': ' . date($format,$t); } $date_formats = array( From 452adb97aef3404a5201c70b0bb52406ca3f0ae6 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 08:02:06 +0000 Subject: [PATCH 30/51] fixed not working export of huge number of contacts (memory and execution time limit reached) AND added a new configuration option to limit the maximum number of exported contacts for non admins --- addressbook/inc/class.uicontacts.inc.php | 16 +++++++++++++++- addressbook/setup/phpgw_de.lang | 3 ++- addressbook/setup/phpgw_en.lang | 1 + addressbook/templates/default/config.tpl | 4 ++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/addressbook/inc/class.uicontacts.inc.php b/addressbook/inc/class.uicontacts.inc.php index d1d5e07b59..38b57c2509 100644 --- a/addressbook/inc/class.uicontacts.inc.php +++ b/addressbook/inc/class.uicontacts.inc.php @@ -41,6 +41,11 @@ class uicontacts extends bocontacts var $private_addressbook = false; var $org_views; + /** + * Addressbook configuration (stored as phpgwapi = general server config) + * + * @var array + */ var $config; /** * Name(s) of the tabs in the edit dialog @@ -393,6 +398,7 @@ class uicontacts extends bocontacts if ($use_all) { + @set_time_limit(0); // switch off the execution time limit, as it's for big selections to small $query['num_rows'] = -1; // all $this->get_rows($query,$checked,$readonlys,true); // true = only return the id's } @@ -424,6 +430,14 @@ class uicontacts extends bocontacts $to_list = (int)substr($action,8); $action = 'to_list'; } + // Security: stop non-admins to export more then the configured number of contacts + if (in_array($action,array('csv','vcard')) && (int)$this->config['contact_export_limit'] && + !isset($GLOBALS['egw_info']['user']['apps']['admin']) && count($checked) > $this->config['contact_export_limit']) + { + $action_msg = lang('exported'); + $failed = count($checked); + return false; + } switch($action) { case 'csv': @@ -766,7 +780,7 @@ class uicontacts extends bocontacts $wildcard = $query['advanced_search']['meth_select']; unset($query['advanced_search']['meth_select']); } - $rows = parent::search($query['advanced_search'] ? $query['advanced_search'] : $query['search'],false, + $rows = parent::search($query['advanced_search'] ? $query['advanced_search'] : $query['search'],$id_only, $order,'',$wildcard,false,$op,array((int)$query['start'],(int) $query['num_rows']),$query['col_filter']); // do we need the custom fields diff --git a/addressbook/setup/phpgw_de.lang b/addressbook/setup/phpgw_de.lang index a2f8a1df0a..5e4eb3546d 100644 --- a/addressbook/setup/phpgw_de.lang +++ b/addressbook/setup/phpgw_de.lang @@ -167,6 +167,7 @@ home phone addressbook de Tel. privat home state addressbook de Bundesland privat home street addressbook de Straße privat home zip code addressbook de PLZ privat +how many contacts should non-admins be able to export (empty = no limit) admin de Wieviele Kontakte sollen nicht-Adminstratoren exportieren können (leer = keine Begrenzung) icon addressbook de Icon if accounts are already in ldap admin de wenn die Benutzer bereits im LDAP sind import addressbook de Import @@ -289,7 +290,7 @@ translation addressbook de type addressbook de Typ update a single entry by passing the fields. addressbook de Aktualisiert einen einzelnen Eintrag durch Übergabe seiner Felder. upload or delete the photo addressbook de Foto hochladen oder löschen -url to link telephone numbers to (use %1 for the number) admin de URL mit denen Telefonnummern verlinkt werden sollen (%1 für die Nummber verwenden) +url to link telephone numbers to (use %1 for the number) admin de URL mit denen Telefonnummern verlinkt werden sollen (%1 als Platzhalter für die Nummer verwenden) use an extra category tab? addressbook de Separaten Reiter für Kategorien verwenden? use country list addressbook de Länderliste benutzen use setup for a full account-migration admin de für eine komplette Benutzer Migration setup verwenden diff --git a/addressbook/setup/phpgw_en.lang b/addressbook/setup/phpgw_en.lang index 9f249f7a16..28fa146374 100644 --- a/addressbook/setup/phpgw_en.lang +++ b/addressbook/setup/phpgw_en.lang @@ -167,6 +167,7 @@ home phone addressbook en Home Phone home state addressbook en Home State home street addressbook en Home Street home zip code addressbook en Home ZIP Code +how many contacts should non-admins be able to export (empty = no limit) admin en How many contacts should non-admins be able to export (empty = no limit) icon addressbook en Icon if accounts are already in ldap admin en if accounts are already in LDAP import addressbook en Import diff --git a/addressbook/templates/default/config.tpl b/addressbook/templates/default/config.tpl index 3c0a7212ec..68111de9ed 100644 --- a/addressbook/templates/default/config.tpl +++ b/addressbook/templates/default/config.tpl @@ -46,6 +46,10 @@ + +  {lang_Security}: {lang_How_many_contacts_should_non-admins_be_able_to_export_(empty_=_no_limit)}: + +  {lang_Contact_repository} From 00e7549186451237a5224ff6b09b7a71a2a4a113 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 13:36:32 +0000 Subject: [PATCH 31/51] "fixed halfway done conversation to new col-selection prefs for the times-column: - the icon to attach timesheets is now always displayed if user has the timesheet app - the display of the times column and the cumulated time of attached timesheets depends on the col-selection pref" --- infolog/inc/class.uiinfolog.inc.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/infolog/inc/class.uiinfolog.inc.php b/infolog/inc/class.uiinfolog.inc.php index 62aa8e11e3..0bf81de6d4 100644 --- a/infolog/inc/class.uiinfolog.inc.php +++ b/infolog/inc/class.uiinfolog.inc.php @@ -179,7 +179,7 @@ class uiinfolog $readonlys["sp[$id]"] = !$this->bo->check_access($info,EGW_ACL_ADD); $readonlys["view[$id]"] = $info['info_anz_subs'] < 1; $readonlys['view[0]'] = True; // no parent - $readonlys["timesheet[$id]"] = !$this->prefs['show_times'] || !isset($GLOBALS['egw_info']['user']['apps']['timesheet']); + $readonlys["timesheet[$id]"] = !isset($GLOBALS['egw_info']['user']['apps']['timesheet']); if (!$show_links) $show_links = $this->prefs['show_links']; @@ -321,9 +321,12 @@ class uiinfolog } else { - unset($query['columnselection_pref']); // it might be set + $query['columnselection_pref'] = 'infolog.index.rows'; $query['default_cols'] = '!cat_id,info_datemodified,info_used_time_info_planned_time,info_id'; } + // set old show_times pref, that get_info calculates the cumulated time of the timesheets + $this->prefs['show_times'] = strpos($this->prefs['nextmatch-'.$query['columnselection_pref']],'info_used_time_info_planned_time') !== false; + $readonlys = $rows = array(); foreach($ids as $id => $info) { From 6310fff2afc66cb270e925aa06bc4f461df09da1 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 13:40:35 +0000 Subject: [PATCH 32/51] phpDoc headers --- infolog/csv_import.php | 22 ++- .../class.admin_prefs_sidebox_hooks.inc.php | 29 ++-- infolog/inc/class.datasource_infolog.inc.php | 28 ++-- .../inc/class.infolog_link_registry.inc.php | 58 ++++--- infolog/inc/class.sifinfolog.inc.php | 21 ++- infolog/inc/class.uicustomfields.inc.php | 2 +- infolog/inc/class.vcalinfolog.inc.php | 21 ++- infolog/inc/hook_deleteaccount.inc.php | 36 ++--- infolog/inc/hook_home.inc.php | 114 +++++++------- infolog/inc/hook_settings.inc.php | 21 ++- infolog/setup/setup.inc.php | 141 +++++++++--------- infolog/setup/tables_current.inc.php | 22 +-- infolog/setup/tables_update.inc.php | 22 +-- 13 files changed, 250 insertions(+), 287 deletions(-) diff --git a/infolog/csv_import.php b/infolog/csv_import.php index ccb6e8144a..ba292e389e 100644 --- a/infolog/csv_import.php +++ b/infolog/csv_import.php @@ -1,16 +1,14 @@ * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License, or (at your * - * option) any later version. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - CSV import + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ $GLOBALS['egw_info']['flags'] = array( 'currentapp' => 'infolog', diff --git a/infolog/inc/class.admin_prefs_sidebox_hooks.inc.php b/infolog/inc/class.admin_prefs_sidebox_hooks.inc.php index f414501801..fd164bba83 100644 --- a/infolog/inc/class.admin_prefs_sidebox_hooks.inc.php +++ b/infolog/inc/class.admin_prefs_sidebox_hooks.inc.php @@ -1,24 +1,17 @@ * - * ------------------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License, or (at your * - * option) any later version. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - Admin-, Preferences- and SideboxMenu-Hooks + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ /** * Class containing admin, preferences and sidebox-menus (used as hooks) - * - * @package infolog - * @author Ralf Becker - * @copyright (c) by Ralf Becker - * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License */ class admin_prefs_sidebox_hooks { @@ -84,5 +77,3 @@ class admin_prefs_sidebox_hooks } } } - -?> diff --git a/infolog/inc/class.datasource_infolog.inc.php b/infolog/inc/class.datasource_infolog.inc.php index 0040f33399..12543438ad 100644 --- a/infolog/inc/class.datasource_infolog.inc.php +++ b/infolog/inc/class.datasource_infolog.inc.php @@ -1,16 +1,15 @@ * -* -------------------------------------------- * -* This program is free software; you can redistribute it and/or modify it * -* under the terms of the GNU General Public License as published by the * -* Free Software Foundation; either version 2 of the License, or (at your * -* option) any later version. * -\**************************************************************************/ - -/* $Id$ */ +/** + * InfoLog - Datasource for ProjektManager + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @subpackage projectmanager + * @copyright (c) 2005 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ include_once(EGW_INCLUDE_ROOT.'/projectmanager/inc/class.datasource.inc.php'); @@ -23,11 +22,6 @@ include_once(EGW_INCLUDE_ROOT.'/projectmanager/inc/class.datasource.inc.php'); * - planned start from the end of a start constrain * - planned end from the planned time and a start-time * - planned start and end from the "real" values - * - * @package infolog - * @author RalfBecker-AT-outdoor-training.de - * @copyright (c) 2005 by RalfBecker-AT-outdoor-training.de - * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License */ class datasource_infolog extends datasource { diff --git a/infolog/inc/class.infolog_link_registry.inc.php b/infolog/inc/class.infolog_link_registry.inc.php index 32ede940e2..717e356a99 100644 --- a/infolog/inc/class.infolog_link_registry.inc.php +++ b/infolog/inc/class.infolog_link_registry.inc.php @@ -1,37 +1,29 @@ * - * originaly based on todo written by Joseph Engo * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License, or (at your * - * option) any later version. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - Link-registry + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ - include_once(EGW_INCLUDE_ROOT.'/infolog/inc/class.boinfolog.inc.php'); +include_once(EGW_INCLUDE_ROOT.'/infolog/inc/class.boinfolog.inc.php'); - /** - * This class returns the link-registry for infolog - * - * To prevent an invinit recursion, it has to be outside the boinfolog class, - * which itself instanciats the link class by default. - * - * @package infolog - * @author Ralf Becker - * @copyright (c) by RalfBecker-At-outdoor-training.de - * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License - */ - class infolog_link_registry +/** + * This class returns the link-registry for infolog + * + * To prevent an invinit recursion, it has to be outside the boinfolog class, + * which itself instanciats the link class by default. + */ +class infolog_link_registry +{ + function search_link($location) { - function search_link($location) - { - $bo =& new boinfolog(0,false); // false = dont instanciate the link class - - return $bo->search_link($location); - } - } \ No newline at end of file + $bo =& new boinfolog(0,false); // false = dont instanciate the link class + + return $bo->search_link($location); + } +} \ No newline at end of file diff --git a/infolog/inc/class.sifinfolog.inc.php b/infolog/inc/class.sifinfolog.inc.php index 38dc495189..5b18401afb 100644 --- a/infolog/inc/class.sifinfolog.inc.php +++ b/infolog/inc/class.sifinfolog.inc.php @@ -1,15 +1,14 @@ * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - SIF Parser + * + * @link http://www.egroupware.org + * @author Lars Kneschke + * @package infolog + * @subpackage syncml + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ require_once PHPGW_SERVER_ROOT.'/infolog/inc/class.boinfolog.inc.php'; require_once EGW_SERVER_ROOT.'/phpgwapi/inc/horde/Horde/iCalendar.php'; diff --git a/infolog/inc/class.uicustomfields.inc.php b/infolog/inc/class.uicustomfields.inc.php index df5142dd63..4979457192 100644 --- a/infolog/inc/class.uicustomfields.inc.php +++ b/infolog/inc/class.uicustomfields.inc.php @@ -1,6 +1,6 @@ diff --git a/infolog/inc/class.vcalinfolog.inc.php b/infolog/inc/class.vcalinfolog.inc.php index a8b9bc5d2c..cf5f61cd7e 100644 --- a/infolog/inc/class.vcalinfolog.inc.php +++ b/infolog/inc/class.vcalinfolog.inc.php @@ -1,15 +1,14 @@ * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - iCalendar Parser + * + * @link http://www.egroupware.org + * @author Lars Kneschke + * @package infolog + * @subpackage syncml + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ require_once EGW_SERVER_ROOT.'/infolog/inc/class.boinfolog.inc.php'; require_once EGW_SERVER_ROOT.'/phpgwapi/inc/horde/Horde/iCalendar.php'; diff --git a/infolog/inc/hook_deleteaccount.inc.php b/infolog/inc/hook_deleteaccount.inc.php index f886176eed..c230ad628a 100644 --- a/infolog/inc/hook_deleteaccount.inc.php +++ b/infolog/inc/hook_deleteaccount.inc.php @@ -1,22 +1,22 @@ + * @package infolog + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ - // Delete all records for a user - if((int)$GLOBALS['hook_values']['account_id'] > 0) - { - $info =& CreateObject('infolog.soinfolog'); +// Delete all records for a user +if((int)$GLOBALS['hook_values']['account_id'] > 0) +{ + require_once(EGW_INCLUDE_ROOT.'/infolog/inc/class.soinfolog.inc.php'); - $info->change_delete_owner((int)$GLOBALS['hook_values']['account_id'],(int)$_POST['new_owner']); + $info =& new soinfolog; - unset($info); - } -?> + $info->change_delete_owner((int)$GLOBALS['hook_values']['account_id'],(int)$_POST['new_owner']); + + unset($info); +} diff --git a/infolog/inc/hook_home.inc.php b/infolog/inc/hook_home.inc.php index 1f152c0207..3bd309ae3d 100644 --- a/infolog/inc/hook_home.inc.php +++ b/infolog/inc/hook_home.inc.php @@ -1,57 +1,56 @@ + * @package infolog + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ - if (($showevents = $GLOBALS['egw_info']['user']['preferences']['infolog']['homeShowEvents'])) +if (($showevents = $GLOBALS['egw_info']['user']['preferences']['infolog']['homeShowEvents'])) +{ + $save_app = $GLOBALS['egw_info']['flags']['currentapp']; + $GLOBALS['egw_info']['flags']['currentapp'] = 'infolog'; + + $GLOBALS['egw']->translation->add_app('infolog'); + + $app_id = $GLOBALS['egw']->applications->name2id('infolog'); + $GLOBALS['portal_order'][] = $app_id; + + $infolog =& CreateObject('infolog.uiinfolog'); + $infolog->called_by = 'home'; + + if (in_array($showevents,array('1','2'))) $showevents = 'own-open-today'; + $html = $infolog->index(array('nm' => array('filter' => $showevents)),'','',0,False,True); + $title = lang('InfoLog').' - '.lang($infolog->filters[$showevents]); + unset($infolog); + + $portalbox =& CreateObject('phpgwapi.listbox',array( + 'title' => $title, + 'primary' => $GLOBALS['egw_info']['theme']['navbar_bg'], + 'secondary' => $GLOBALS['egw_info']['theme']['navbar_bg'], + 'tertiary' => $GLOBALS['egw_info']['theme']['navbar_bg'], + 'width' => '100%', + 'outerborderwidth' => '0', + 'header_background_image' => $GLOBALS['egw']->common->image('phpgwapi/templates/default','bg_filler') + )); + foreach(array('up','down','close','question','edit') as $key) { - $save_app = $GLOBALS['egw_info']['flags']['currentapp']; - $GLOBALS['egw_info']['flags']['currentapp'] = 'infolog'; + $portalbox->set_controls($key,Array('url' => '/set_box.php', 'app' => $app_id)); + } + $portalbox->data = $data; - $GLOBALS['egw']->translation->add_app('infolog'); - - $app_id = $GLOBALS['egw']->applications->name2id('infolog'); - $GLOBALS['portal_order'][] = $app_id; - - $infolog =& CreateObject('infolog.uiinfolog'); - $infolog->called_by = 'home'; - - if (in_array($showevents,array('1','2'))) $showevents = 'own-open-today'; - $html = $infolog->index(array('nm' => array('filter' => $showevents)),'','',0,False,True); - $title = lang('InfoLog').' - '.lang($infolog->filters[$showevents]); - unset($infolog); - - $portalbox =& CreateObject('phpgwapi.listbox',array( - 'title' => $title, - 'primary' => $GLOBALS['egw_info']['theme']['navbar_bg'], - 'secondary' => $GLOBALS['egw_info']['theme']['navbar_bg'], - 'tertiary' => $GLOBALS['egw_info']['theme']['navbar_bg'], - 'width' => '100%', - 'outerborderwidth' => '0', - 'header_background_image' => $GLOBALS['egw']->common->image('phpgwapi/templates/default','bg_filler') - )); - foreach(array('up','down','close','question','edit') as $key) - { - $portalbox->set_controls($key,Array('url' => '/set_box.php', 'app' => $app_id)); - } - $portalbox->data = $data; - - if (!file_exists(EGW_SERVER_ROOT.($et_css_file ='/etemplate/templates/'.$GLOBALS['egw_info']['user']['preferences']['common']['template_set'].'/app.css'))) - { - $et_css_file = '/etemplate/templates/default/app.css'; - } - if (!file_exists(EGW_SERVER_ROOT.($css_file ='/infolog/templates/'.$GLOBALS['egw_info']['user']['preferences']['common']['template_set'].'/app.css'))) - { - $css_file = '/infolog/templates/default/app.css'; - } - echo ' + if (!file_exists(EGW_SERVER_ROOT.($et_css_file ='/etemplate/templates/'.$GLOBALS['egw_info']['user']['preferences']['common']['template_set'].'/app.css'))) + { + $et_css_file = '/etemplate/templates/default/app.css'; + } + if (!file_exists(EGW_SERVER_ROOT.($css_file ='/infolog/templates/'.$GLOBALS['egw_info']['user']['preferences']['common']['template_set'].'/app.css'))) + { + $css_file = '/infolog/templates/default/app.css'; + } + echo ' -'. $portalbox->draw($html)."\n\n"; +'. $portalbox->draw($html)."\n\n"; - unset($css_file); unset($et_css_file); - unset($portalbox); - unset($html); - $GLOBALS['egw_info']['flags']['currentapp'] = $save_app; - } - unset($showevents); -?> + unset($css_file); unset($et_css_file); + unset($portalbox); + unset($html); + $GLOBALS['egw_info']['flags']['currentapp'] = $save_app; +} +unset($showevents); diff --git a/infolog/inc/hook_settings.inc.php b/infolog/inc/hook_settings.inc.php index 83217ac469..2a051c7cee 100644 --- a/infolog/inc/hook_settings.inc.php +++ b/infolog/inc/hook_settings.inc.php @@ -1,16 +1,13 @@ * - * -------------------------------------------- * - * This program is free software; you can redistribute it and/or modify it * - * under the terms of the GNU General Public License as published by the * - * Free Software Foundation; either version 2 of the License, or (at your * - * option) any later version. * - \**************************************************************************/ - - /* $Id$ */ +/** + * InfoLog - Preferences + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ /* Setup some values to fill the array of this app's settings below */ $ui =& CreateObject('infolog.uiinfolog'); // need some labels from diff --git a/infolog/setup/setup.inc.php b/infolog/setup/setup.inc.php index d0c276aa8b..06e8472fa1 100755 --- a/infolog/setup/setup.inc.php +++ b/infolog/setup/setup.inc.php @@ -1,78 +1,73 @@ 'Ralf Becker', - 'email' => 'ralfbecker@outdoor-training.de' - ); - $setup_info['infolog']['license'] = 'GPL'; - $setup_info['infolog']['description'] = - '

CRM (customer-relation-management) type app using Addressbook providing - Todo List, Notes and Phonelog. InfoLog is orininaly based on eGroupWare\'s - old ToDo-List and has the features of all 3 mentioned applications plus fully working ACL - (including Add+Private attributes, add for to addreplys/subtasks).

-

Responsibility for a task (ToDo) or a phonecall can be delegated to an other - user. All entries can be linked to addressbook entries, projects and/or calendar events. - This allows you to log all activity of a contact/address or project. - The entries may be viewed or added from InfoLog direct or from within - the contact/address, project or calendar view.

-

Other documents / files can be linked to InfoLog entries and are store in the VFS - (eGroupWare\'s virtual file system). An extension of the VFS allows to symlink - the files to a fileserver, instead of placeing a copy in the VFS - (need to be configured in the admin-section). - It is planed to include emails and faxes into InfoLog in the future.

'; - $setup_info['infolog']['note'] = - '

There is a CSV import filter (in the admin-section) to import existing data. - It allows to interactivly assign fields, customize the values with regular - expressions and direct calls to php-functions (e.g. to link the phone calls - (again) to the addressbook entrys).

-

More information about InfoLog and the current development-status can be found on the - InfoLog page on our Website.

'; - - /* The hooks this app includes, needed for hooks registration */ - $setup_info['infolog']['hooks']['preferences'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; - $setup_info['infolog']['hooks'][] = 'settings'; - $setup_info['infolog']['hooks']['admin'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; - $setup_info['infolog']['hooks'][] = 'deleteaccount'; - $setup_info['infolog']['hooks'][] = 'home'; - $setup_info['infolog']['hooks']['addressbook_view'] = 'infolog.uiinfolog.hook_view'; - $setup_info['infolog']['hooks']['projects_view'] = 'infolog.uiinfolog.hook_view'; - $setup_info['infolog']['hooks']['calendar_view'] = 'infolog.uiinfolog.hook_view'; - $setup_info['infolog']['hooks']['infolog'] = 'infolog.uiinfolog.hook_view'; - $setup_info['infolog']['hooks']['calendar_include_events'] = 'infolog.boinfolog.cal_to_include'; - $setup_info['infolog']['hooks']['calendar_include_todos'] = 'infolog.boinfolog.cal_to_include'; - $setup_info['infolog']['hooks']['sidebox_menu'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; - $setup_info['infolog']['hooks']['search_link'] = 'infolog.infolog_link_registry.search_link'; - $setup_info['infolog']['hooks']['pm_custom_app_icons'] = 'infolog.boinfolog.pm_icons'; - - /* Dependencies for this app to work */ - $setup_info['infolog']['depends'][] = array( - 'appname' => 'phpgwapi', - 'versions' => Array('1.3','1.4','1.5') - ); - $setup_info['infolog']['depends'][] = array( - 'appname' => 'etemplate', - 'versions' => Array('1.3','1.4','1.5') - ); - +/** + * InfoLog - Setup + * + * @link http://www.egroupware.org + * @author Ralf Becker + * @package infolog + * @subpackage setup + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ +$setup_info['infolog']['name'] = 'infolog'; +$setup_info['infolog']['version'] = '1.4'; +$setup_info['infolog']['app_order'] = 5; +$setup_info['infolog']['tables'] = array('egw_infolog','egw_infolog_extra'); +$setup_info['infolog']['enable'] = 1; +$setup_info['infolog']['author'] = +$setup_info['infolog']['maintainer'] = array( + 'name' => 'Ralf Becker', + 'email' => 'ralfbecker@outdoor-training.de' +); +$setup_info['infolog']['license'] = 'GPL'; +$setup_info['infolog']['description'] = + '

CRM (customer-relation-management) type app using Addressbook providing + Todo List, Notes and Phonelog. InfoLog is orininaly based on eGroupWare\'s + old ToDo-List and has the features of all 3 mentioned applications plus fully working ACL + (including Add+Private attributes, add for to addreplys/subtasks).

+

Responsibility for a task (ToDo) or a phonecall can be delegated to an other + user. All entries can be linked to addressbook entries, projects and/or calendar events. + This allows you to log all activity of a contact/address or project. + The entries may be viewed or added from InfoLog direct or from within + the contact/address, project or calendar view.

+

Other documents / files can be linked to InfoLog entries and are store in the VFS + (eGroupWare\'s virtual file system). An extension of the VFS allows to symlink + the files to a fileserver, instead of placeing a copy in the VFS + (need to be configured in the admin-section). + It is planed to include emails and faxes into InfoLog in the future.

'; +$setup_info['infolog']['note'] = + '

There is a CSV import filter (in the admin-section) to import existing data. + It allows to interactivly assign fields, customize the values with regular + expressions and direct calls to php-functions (e.g. to link the phone calls + (again) to the addressbook entrys).

+

More information about InfoLog and the current development-status can be found on the + InfoLog page on our Website.

'; +/* The hooks this app includes, needed for hooks registration */ +$setup_info['infolog']['hooks']['preferences'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; +$setup_info['infolog']['hooks'][] = 'settings'; +$setup_info['infolog']['hooks']['admin'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; +$setup_info['infolog']['hooks'][] = 'deleteaccount'; +$setup_info['infolog']['hooks'][] = 'home'; +$setup_info['infolog']['hooks']['addressbook_view'] = 'infolog.uiinfolog.hook_view'; +$setup_info['infolog']['hooks']['projects_view'] = 'infolog.uiinfolog.hook_view'; +$setup_info['infolog']['hooks']['calendar_view'] = 'infolog.uiinfolog.hook_view'; +$setup_info['infolog']['hooks']['infolog'] = 'infolog.uiinfolog.hook_view'; +$setup_info['infolog']['hooks']['calendar_include_events'] = 'infolog.boinfolog.cal_to_include'; +$setup_info['infolog']['hooks']['calendar_include_todos'] = 'infolog.boinfolog.cal_to_include'; +$setup_info['infolog']['hooks']['sidebox_menu'] = 'infolog.admin_prefs_sidebox_hooks.all_hooks'; +$setup_info['infolog']['hooks']['search_link'] = 'infolog.infolog_link_registry.search_link'; +$setup_info['infolog']['hooks']['pm_custom_app_icons'] = 'infolog.boinfolog.pm_icons'; +/* Dependencies for this app to work */ +$setup_info['infolog']['depends'][] = array( + 'appname' => 'phpgwapi', + 'versions' => Array('1.3','1.4','1.5') +); +$setup_info['infolog']['depends'][] = array( + 'appname' => 'etemplate', + 'versions' => Array('1.3','1.4','1.5') +); diff --git a/infolog/setup/tables_current.inc.php b/infolog/setup/tables_current.inc.php index 9dfd1f4bbd..99225ff8ef 100644 --- a/infolog/setup/tables_current.inc.php +++ b/infolog/setup/tables_current.inc.php @@ -1,15 +1,15 @@ + * @package infolog + * @subpackage setup + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ $phpgw_baseline = array( 'egw_infolog' => array( diff --git a/infolog/setup/tables_update.inc.php b/infolog/setup/tables_update.inc.php index fe63301ead..f6c7563346 100644 --- a/infolog/setup/tables_update.inc.php +++ b/infolog/setup/tables_update.inc.php @@ -1,15 +1,15 @@ + * @package infolog + * @subpackage setup + * @copyright (c) 2003-6 by Ralf Becker + * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License + * @version $Id$ + */ $test[] = '0.9.11'; function infolog_upgrade0_9_11() From 1830f0fb1f0d0ba1ab042b629cb6f93d0fac4e74 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 15:55:58 +0000 Subject: [PATCH 33/51] fixes as suggesteg by Hans-Juergen Tappe --- addressbook/inc/class.so_ldap.inc.php | 8 ++++---- addressbook/inc/class.uicontacts.inc.php | 13 +++++++++++-- addressbook/setup/phpgw_de.lang | 6 +++--- addressbook/setup/phpgw_en.lang | 2 +- addressbook/templates/default/config.tpl | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/addressbook/inc/class.so_ldap.inc.php b/addressbook/inc/class.so_ldap.inc.php index 4175afbc22..d851d3afd4 100644 --- a/addressbook/inc/class.so_ldap.inc.php +++ b/addressbook/inc/class.so_ldap.inc.php @@ -850,13 +850,13 @@ class so_ldap $bin = ldap_get_values_len($this->ds,ldap_first_entry($this->ds,$result),'jpegphoto'); $contact['jpegphoto'] = $bin[0]; } - if(preg_match('/cn=([^,]+),'.preg_quote($this->personalContactsDN).'$/i',$entry['dn'],$matches)) + if(preg_match('/cn=([^,]+),'.preg_quote($this->personalContactsDN,'/').'$/i',$entry['dn'],$matches)) { // personal addressbook $contact['owner'] = $GLOBALS['egw']->accounts->name2id($matches[1],'account_lid','u'); $contact['private'] = 1; } - elseif(preg_match('/cn=([^,]+),'.preg_quote($this->sharedContactsDN).'$/i',$entry['dn'],$matches)) + elseif(preg_match('/cn=([^,]+),'.preg_quote($this->sharedContactsDN,'/').'$/i',$entry['dn'],$matches)) { // group addressbook $contact['owner'] = $GLOBALS['egw']->accounts->name2id($matches[1],'account_lid','g'); @@ -1062,10 +1062,10 @@ class so_ldap } else { - $parts = preg_split('/'. preg_quote($data['givenname'][0]) .'.*'. preg_quote($data['sn'][0]) .'/', $data['cn'][0]); + $parts = preg_split('/'. preg_quote($data['givenname'][0],'/') .'.*'. preg_quote($data['sn'][0],'/') .'/', $data['cn'][0]); $contact['n_prefix'] = trim($parts[0]); $contact['n_suffix'] = trim($parts[1]); - if(preg_match('/'. preg_quote($data['givenname'][0]) .' (.*) '. preg_quote($data['sn'][0]) .'/',$data['cn'][0], $matches)) + if(preg_match('/'. preg_quote($data['givenname'][0],'/') .' (.*) '. preg_quote($data['sn'][0],'/') .'/',$data['cn'][0], $matches)) { $contact['n_middle'] = $matches[1]; } diff --git a/addressbook/inc/class.uicontacts.inc.php b/addressbook/inc/class.uicontacts.inc.php index 38b57c2509..54ef4feefd 100644 --- a/addressbook/inc/class.uicontacts.inc.php +++ b/addressbook/inc/class.uicontacts.inc.php @@ -1596,7 +1596,9 @@ $readonlys['button[vcard]'] = true; } /** - * returns link to call the given phonenumer + * returns link to call the given phonenumber + * + * replaces '%1' with the phonenumber to call, '%u' with the user's account_lid and '%t' with his work-phone-number * * @param string $number phone number * @param string &$link returns the link @@ -1606,7 +1608,14 @@ $readonlys['button[vcard]'] = true; { if (!$number || !$this->config['call_link']) return false; - $link = str_replace('%1',urlencode($number),$this->config['call_link']); + static $userphone; + if (is_null($userphone)) + { + $user = $this->read('account_id:'.$GLOBALS['egw_info']['user']['account_id']); + $userphone = is_array($user) ? ($user['tel_work'] ? $user['tel_work'] : $user['tel_home']) : false; + } + $link = str_replace(array('%1','%u','%t'),array(urlencode($number),$GLOBALS['egw_info']['user']['account_lid'],$userphone), + $this->config['call_link']); } function js() diff --git a/addressbook/setup/phpgw_de.lang b/addressbook/setup/phpgw_de.lang index 5e4eb3546d..7c8413a606 100644 --- a/addressbook/setup/phpgw_de.lang +++ b/addressbook/setup/phpgw_de.lang @@ -14,7 +14,7 @@ actions addressbook de Befehle add %1 addressbook de %1 hinzufügen add a contact to this organisation addressbook de Einen Kontakt zu dieser Organisation hinzufügen add a new contact addressbook de Neuen Kontakt anlegen -add a new list addressbook de Neuen Verteiler hinzfügen +add a new list addressbook de Neuen Verteiler hinzufügen add a single entry by passing the fields. addressbook de Hinzufügen eines einzelnen Eintrags durch Übergeben der Felder. add custom field addressbook de Benutzerdefiniertes Feld hinzufügen add to distribution list: addressbook de Hinzufügen zu Verteiler: @@ -290,7 +290,7 @@ translation addressbook de type addressbook de Typ update a single entry by passing the fields. addressbook de Aktualisiert einen einzelnen Eintrag durch Übergabe seiner Felder. upload or delete the photo addressbook de Foto hochladen oder löschen -url to link telephone numbers to (use %1 for the number) admin de URL mit denen Telefonnummern verlinkt werden sollen (%1 als Platzhalter für die Nummer verwenden) +url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin de URL mit denen Telefonnummern verlinkt werden sollen (verwenden Sie %1 = anzurufende Nummer, %u = Benutzernamen, %t = Telefon des Benutzers) use an extra category tab? addressbook de Separaten Reiter für Kategorien verwenden? use country list addressbook de Länderliste benutzen use setup for a full account-migration admin de für eine komplette Benutzer Migration setup verwenden @@ -303,7 +303,7 @@ warning!! ldap is valid only if you are not using contacts for accounts storage! warning: all contacts found will be deleted! addressbook de WARNUNG: Alle gefundenen Kontakte werden gelöscht! what should links to the addressbook display in other applications. empty values will be left out. you need to log in anew, if you change this setting! addressbook de Was sollen Verknüpfungen zum Adressbuch in anderen Anwendungen anzeigen. Leere Werte werden ausgelassen. Sie müssen sich neu anmelden, wenn Sie hier eine Änderung vornehmen! which address format should the addressbook use for countries it does not know the address format. if the address format of a country is known, it uses it independent of this setting. addressbook de Welches Format soll das Adressbuch für Adressen verwenden deren landesübliches Adressformat unbekannt ist. Wenn das Adressformat eines Landes dem Adressbuch bekannt ist, wird das unabhänig von dieser Einstellung benutzt. -which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook de Welches Adressbuch soll ausgewählt sein beim Hinzfügen von Kontakten, wenn Sie keine Hinzufügen Rechte zum aktuellen Adressbuch haben. +which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook de Welches Adressbuch soll ausgewählt sein beim Hinzufügen von Kontakten, wenn Sie keine Hinzufügen Rechte zum aktuellen Adressbuch haben. which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook de Welcher Zeichensatz soll für den CSV Export verwendet werden. Die systemweite Vorgabe ist der Zeichensatz der eGroupWare Installation. which fields should be exported. all means every field stored in the addressbook incl. the custom fields. the business or home address only contains name, company and the selected address. addressbook de Welche Felder sollen exportiert werden. Alle bedeutet jedes Feld das im Adressbuch gespeichert ist einschl. der benutzerdefinierten Felder. Die Geschäfts- oder Privatadresse enthält nur Name, Firma und die ausgewählte Adresse. whole query addressbook de gesamte Abfrage diff --git a/addressbook/setup/phpgw_en.lang b/addressbook/setup/phpgw_en.lang index 28fa146374..1ca87b2158 100644 --- a/addressbook/setup/phpgw_en.lang +++ b/addressbook/setup/phpgw_en.lang @@ -290,7 +290,7 @@ translation addressbook en Translation type addressbook en Type update a single entry by passing the fields. addressbook en Update a single entry by passing the fields. upload or delete the photo addressbook en Upload or delete the photo -url to link telephone numbers to (use %1 for the number) admin en URL to link telephone numbers to (use %1 for the number) +url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin en URL to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) use an extra category tab? addressbook en Use an extra category tab? use country list addressbook en Use Country List use setup for a full account-migration admin en use setup for a full account-migration diff --git a/addressbook/templates/default/config.tpl b/addressbook/templates/default/config.tpl index 68111de9ed..be9016cbec 100644 --- a/addressbook/templates/default/config.tpl +++ b/addressbook/templates/default/config.tpl @@ -14,7 +14,7 @@  {lang_Telephony_integration} -  {lang_URL_to_link_telephone_numbers_to_(use_%1_for_the_number)}: +  {lang_URL_to_link_telephone_numbers_to_(use_%1_=_number_to_call,_%u_=_account_name,_%t_=_account_phone)}: From c2bb34cd4e2162be09faa20f370972086d24d86b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 18:02:41 +0000 Subject: [PATCH 34/51] fixed missing translation of monthnames after removing the asterisk prefix for untranslated phrases --- etemplate/inc/class.date_widget.inc.php | 4 ++-- phpgwapi/inc/class.jscalendar.inc.php | 4 ++-- phpgwapi/inc/jscalendar-setup.php | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/etemplate/inc/class.date_widget.inc.php b/etemplate/inc/class.date_widget.inc.php index 9f6cccbbcc..71a947faf0 100644 --- a/etemplate/inc/class.date_widget.inc.php +++ b/etemplate/inc/class.date_widget.inc.php @@ -181,8 +181,8 @@ static $chars_shortcut; if (is_null($chars_shortcut)) $chars_shortcut = (int)lang('3 number of chars for month-shortcut'); // < 0 to take the chars from the end - $value['M'] = lang(substr($month[$value['m']],0,3)); // check if we have a translation of the short-cut - if ($substr($value['M'],-1) == '*') // if not generate one by truncating the translation of the long name + $value['M'] = lang($m = substr($month[$value['m']],0,3)); // check if we have a translation of the short-cut + if ($value['M'] == $m || $substr($value['M'],-1) == '*') // if not generate one by truncating the translation of the long name { $value['M'] = $chars_shortcut > 0 ? $substr(lang($month[$value['m']]),0,$chars_shortcut) : $substr(lang($month[$value['m']]),$chars_shortcut); diff --git a/phpgwapi/inc/class.jscalendar.inc.php b/phpgwapi/inc/class.jscalendar.inc.php index 1f4ab99a35..0192826f1b 100644 --- a/phpgwapi/inc/class.jscalendar.inc.php +++ b/phpgwapi/inc/class.jscalendar.inc.php @@ -88,8 +88,8 @@ class jscalendar static $chars_shortcut; if (is_null($chars_shortcut)) $chars_shortcut = (int)lang('3 number of chars for month-shortcut'); // < 0 to take the chars from the end - $short = lang(adodb_date('M',$ts)); // check if we have a translation of the short-cut - if ($substr($short,-1) == '*') // if not generate one by truncating the translation of the long name + $short = lang($m = adodb_date('M',$ts)); // check if we have a translation of the short-cut + if ($short == $m || $substr($short,-1) == '*') // if not generate one by truncating the translation of the long name { $short = $chars_shortcut > 0 ? $substr(lang(adodb_date('F',$ts)),0,$chars_shortcut) : $substr(lang(adodb_date('F',$ts)),$chars_shortcut); diff --git a/phpgwapi/inc/jscalendar-setup.php b/phpgwapi/inc/jscalendar-setup.php index e6a71b00c5..2ff2dd484b 100644 --- a/phpgwapi/inc/jscalendar-setup.php +++ b/phpgwapi/inc/jscalendar-setup.php @@ -281,8 +281,8 @@ $monthnames = array('January','February','March','April','May','June','July','Au $chars_shortcut = (int)lang('3 number of chars for month-shortcut'); // < 0 to take the chars from the end foreach($monthnames as $n => $name) { - $short = lang(substr($name,0,3)); // test if our lang-file have a translation for the english short with 3 chars - if ($substr($short,-1) == '*') // else create one by truncating the full translation to x chars + $short = lang($m = substr($name,0,3)); // test if our lang-file have a translation for the english short with 3 chars + if ($short == $m || $substr($short,-1) == '*') // else create one by truncating the full translation to x chars { $short = $chars_shortcut > 0 ? $substr(lang($name),0,$chars_shortcut) : $substr(lang($name),$chars_shortcut); } From 26952223f37d033b278da347ca510477cbba9770 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Tue, 22 May 2007 18:06:38 +0000 Subject: [PATCH 35/51] "fix for bug reported by Frank-braucht-Hilfe from the German list: infolog's from one organisation are incomplte if the org-view was limited by a searchletter" --- addressbook/inc/class.uicontacts.inc.php | 1 + 1 file changed, 1 insertion(+) diff --git a/addressbook/inc/class.uicontacts.inc.php b/addressbook/inc/class.uicontacts.inc.php index 54ef4feefd..a337fb7c06 100644 --- a/addressbook/inc/class.uicontacts.inc.php +++ b/addressbook/inc/class.uicontacts.inc.php @@ -350,6 +350,7 @@ class uicontacts extends bocontacts $query = $GLOBALS['egw']->session->appsession('index','addressbook'); $query['num_rows'] = -1; // all $query['org_view'] = $org; + $query['searchletter'] = ''; $this->get_rows($query,$checked,$readonlys,true); // true = only return the id's if (count($checked) > 1) // use a nicely formatted org-name as title in infolog From 95dce0734658eefa4feb6a42d277f34bd5d6307c Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 23 May 2007 06:44:38 +0000 Subject: [PATCH 36/51] "bugfix see patch #791: Syntax error in setup" --- setup/check_install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup/check_install.php b/setup/check_install.php index 2288361818..ca0b422cae 100644 --- a/setup/check_install.php +++ b/setup/check_install.php @@ -372,7 +372,7 @@ if (!isset($args['warning'])) { $args['warning'] = lang('The %1 extension is needed from: %2.',$name, - is_array($args['from'] ? implode(', ',$args['from']) : $args['from'])); + is_array($args['from']) ? implode(', ',$args['from']) : $args['from']); } echo "
".$args['warning'].'
'; } From 497cabb8321a960af95620fd5b1298912338fda1 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 23 May 2007 10:36:53 +0000 Subject: [PATCH 37/51] "fixed some 'funny' bugs if session-id is in the URL, by adding the session-related vars first (eg. creation of distribution lists does not work)" --- phpgwapi/inc/class.sessions.inc.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/phpgwapi/inc/class.sessions.inc.php b/phpgwapi/inc/class.sessions.inc.php index 3d792dba5a..6dd5f02cec 100644 --- a/phpgwapi/inc/class.sessions.inc.php +++ b/phpgwapi/inc/class.sessions.inc.php @@ -1255,17 +1255,24 @@ $url = str_replace ( 'http:', 'https:', $url); } } + $vars = array(); + // add session params if not using cookies + if (!$GLOBALS['egw_info']['server']['usecookies']) + { + $vars['sessionid'] = $this->sessionid; + $vars['kp3'] = $this->kp3; + $vars['domain'] = $this->account_domain; + } // check if the url already contains a query and ensure that vars is an array and all strings are in extravars list($url,$othervars) = explode('?',$url); if ($extravars && is_array($extravars)) { - $vars = $extravars; + $vars += $extravars; $extravars = $othervars; } else { - $vars = array(); if ($othervars) $extravars .= '&'.$othervars; } @@ -1286,14 +1293,6 @@ } } - // add session params if not using cookies - if (!$GLOBALS['egw_info']['server']['usecookies']) - { - $vars['sessionid'] = $this->sessionid; - $vars['kp3'] = $this->kp3; - $vars['domain'] = $this->account_domain; - } - // if there are vars, we add them urlencoded to the url if (count($vars)) { From 755261fe6a6984127bfc2432a3c1b8672f6c72ea Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 23 May 2007 18:04:05 +0000 Subject: [PATCH 38/51] "fixed possible dublicated session-id of our own session-id creation function, by using the php one" --- phpgwapi/inc/class.sessions_php4.inc.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/phpgwapi/inc/class.sessions_php4.inc.php b/phpgwapi/inc/class.sessions_php4.inc.php index 4fa7597083..fc0529ee43 100644 --- a/phpgwapi/inc/class.sessions_php4.inc.php +++ b/phpgwapi/inc/class.sessions_php4.inc.php @@ -68,13 +68,12 @@ /** * Create a new session id, called by session::create() * - * Reimplemented to tell the php-sessions to use the id + * Reimplemented to use php session-id * * @return string a new session id */ function new_session_id() { - session_id(parent::new_session_id()); session_start(); return session_id(); From 196046f66c1c3c283c3f442f3b40b4cbb5ed009b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Wed, 23 May 2007 18:06:21 +0000 Subject: [PATCH 39/51] "fix to drastically reduce the memmory used by eTemplate sessions (accidently the whole eTemplate object was stored incl. db-object with all table definitions and the returned rows)" --- etemplate/inc/class.nextmatch_widget.inc.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/etemplate/inc/class.nextmatch_widget.inc.php b/etemplate/inc/class.nextmatch_widget.inc.php index bbcc9b99f6..faf1ba4297 100644 --- a/etemplate/inc/class.nextmatch_widget.inc.php +++ b/etemplate/inc/class.nextmatch_widget.inc.php @@ -178,9 +178,6 @@ $extension_data['old_value'] = $value = $nm_global['col_filter'][$this->last_part($name)]; return True; } - if (!$value['filter_onchange']) $value['filter_onchange'] = 'this.form.submit();'; - if (!$value['filter2_onchange']) $value['filter2_onchange'] = 'this.form.submit();'; - // presetting the selectboxes with their default values, to NOT loop, because post-process thinks they changed if (!isset($value['cat_id'])) $value['cat_id'] = ''; if (!isset($value['search'])) $value['search'] = ''; @@ -192,6 +189,12 @@ if (!is_string($value[$f])) $value[$f] = (string) $value[$f]; } } + // save values in persistent extension_data to be able use it in post_process + $extension_data += $value; + + if (!$value['filter_onchange']) $value['filter_onchange'] = 'this.form.submit();'; + if (!$value['filter2_onchange']) $value['filter2_onchange'] = 'this.form.submit();'; + list($app,$class,$method) = explode('.',$value['get_rows']); if ($app && $class) { @@ -401,9 +404,6 @@ $cell['type'] = 'template'; $cell['label'] = $cell['help'] = ''; - // save values in persistent extension_data to be able use it in post_process - $extension_data += $value; - foreach(array('sort','order','col_filter') as $n) // save them for the sortheader { $nm_global[$n] = $value[$n]; From 83a9989e5774ce56e40966f8279b290d40541d5b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 24 May 2007 10:10:20 +0000 Subject: [PATCH 40/51] "fixed IE cookie problem: IE seems not to care for the path when deleting cookies, beside using the oposite order in processing the cookies" --- phpgwapi/inc/class.sessions.inc.php | 55 ++++++++++++++++++----------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/phpgwapi/inc/class.sessions.inc.php b/phpgwapi/inc/class.sessions.inc.php index 6dd5f02cec..d811bc732d 100644 --- a/phpgwapi/inc/class.sessions.inc.php +++ b/phpgwapi/inc/class.sessions.inc.php @@ -13,7 +13,9 @@ * @license LGPL * @version $Id$ */ - +error_log('>>>>>>>>>> eGW-trunk '.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']); +error_log('_COOKIE='.print_r($_COOKIE,true)); +error_log('_POST='.print_r($_POST,true)); /** * eGW's Session Management * @@ -160,6 +162,13 @@ * @var array */ var $egw_domains; + + /** + * Write debug messages about session verification to the error_log + * + * @var boolean + */ + var $errorlog_debug = true; /** * Constructor just loads up some defaults from cookies @@ -310,6 +319,7 @@ */ if ($session['session_dla'] <= (time() - $GLOBALS['egw_info']['server']['sessions_timeout'])) { + if ($this->errorlog_debug) error_log("*** session::verify('$sessionid') session timed out"); $this->destroy($sessionid,$kp3); return False; } @@ -338,6 +348,7 @@ $this->account_id = $GLOBALS['egw']->accounts->name2id($this->account_lid,'account_lid','u'); if (!$this->account_id) { + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) !accounts::name2id('$this->account_lid')"); return False; } @@ -355,6 +366,7 @@ if ($this->user['expires'] != -1 && $this->user['expires'] < time()) { + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) accounts is expired"); if(is_object($GLOBALS['egw']->log)) { $GLOBALS['egw']->log->message(array( @@ -377,6 +389,7 @@ } if ($this->account_domain != $GLOBALS['egw_info']['user']['domain']) { + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) wrong domain"); if(is_object($GLOBALS['egw']->log)) { $GLOBALS['egw']->log->message(array( @@ -393,6 +406,7 @@ if (@$GLOBALS['egw_info']['server']['sessions_checkip']) { + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) wrong IP"); if((PHP_OS != 'Windows') && (PHP_OS != 'WINNT') && (!$GLOBALS['egw_info']['user']['session_ip'] || $GLOBALS['egw_info']['user']['session_ip'] != $this->getuser_ip()) ) @@ -422,6 +436,7 @@ } if (! $this->account_lid) { + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) !account_lid"); if(is_object($GLOBALS['egw']->log)) { // This needs some better wording @@ -439,17 +454,19 @@ $_current_app=$GLOBALS['egw_info']['flags']['currentapp']; if($this->session_flags=='A' && !$GLOBALS['egw_info']['user']['apps'][$_current_app]) { - $this->destroy($sessionid,$kp3); - - /* Overwrite Cookie with empty user. For 2 weeks */ - $this->egw_setcookie('sessionid',''); - $this->egw_setcookie('kp3',''); - $this->egw_setcookie('domain',''); - $this->egw_setcookie('last_domain',''); - $this->egw_setcookie('last_loginid', ''); - - return False; + if ($this->errorlog_debug) error_log("*** session::verify($sessionid) anon user entering not allowed app"); + $this->destroy($sessionid,$kp3); + + /* Overwrite Cookie with empty user. For 2 weeks */ + $this->egw_setcookie('sessionid',''); + $this->egw_setcookie('kp3',''); + $this->egw_setcookie('domain',''); + $this->egw_setcookie('last_domain',''); + $this->egw_setcookie('last_loginid', ''); + + return False; } + if ($this->errorlog_debug) error_log("--> session::verify($sessionid) SUCCESS"); return True; } @@ -497,17 +514,15 @@ } print_debug('COOKIE_DOMAIN',$this->cookie_domain,'api'); - $url_parts = parse_url($GLOBALS['egw_info']['server']['webserver_url']); - if (!($this->cookie_path = $url_parts['path'])) $this->cookie_path = '/'; - // if the cookiepath should be / and it's not, delete evtl. existing cookies and set '/' - if (!$GLOBALS['egw_info']['server']['cookiepath'] && $this->cookie_path != '/') + if (!$GLOBALS['egw_info']['server']['cookiepath']) { - foreach(array('sessionid','kp3','domain','last_domain','last_loginid') as $name) - { - setcookie($name,false,0,$this->cookie_path,$this->cookie_domain); - } $this->cookie_path = '/'; } + else + { + $url_parts = parse_url($GLOBALS['egw_info']['server']['webserver_url']); + if (!($this->cookie_path = $url_parts['path']) ) $this->cookie_path = '/'; + } //echo "

cookie_path='$this->cookie_path', cookie_domain='$this->cookie_domain'

\n"; $this->set_cookie_params($this->cookie_domain,$this->cookie_path); // for php4 sessions necessary @@ -528,7 +543,7 @@ $this->egw_set_cookiedomain(); } if (is_null($cookiepath)) $cookiepath = $this->cookie_path; - +error_log("setcookie($cookiename,$cookievalue,$cookietime,$cookiepath,$this->cookie_domain)"); setcookie($cookiename,$cookievalue,$cookietime,$cookiepath,$this->cookie_domain); } From b8f54d1408e1980bf6bea7db2c2891883df1ed9b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Thu, 24 May 2007 10:11:35 +0000 Subject: [PATCH 41/51] "fixed IE cookie problem: IE seems not to care for the path when deleting cookies, beside using the oposite order in processing the cookies" --- phpgwapi/inc/class.sessions.inc.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/phpgwapi/inc/class.sessions.inc.php b/phpgwapi/inc/class.sessions.inc.php index d811bc732d..651183518a 100644 --- a/phpgwapi/inc/class.sessions.inc.php +++ b/phpgwapi/inc/class.sessions.inc.php @@ -13,9 +13,7 @@ * @license LGPL * @version $Id$ */ -error_log('>>>>>>>>>> eGW-trunk '.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']); -error_log('_COOKIE='.print_r($_COOKIE,true)); -error_log('_POST='.print_r($_POST,true)); + /** * eGW's Session Management * @@ -168,7 +166,7 @@ error_log('_POST='.print_r($_POST,true)); * * @var boolean */ - var $errorlog_debug = true; + var $errorlog_debug = false; /** * Constructor just loads up some defaults from cookies @@ -543,7 +541,9 @@ error_log('_POST='.print_r($_POST,true)); $this->egw_set_cookiedomain(); } if (is_null($cookiepath)) $cookiepath = $this->cookie_path; -error_log("setcookie($cookiename,$cookievalue,$cookietime,$cookiepath,$this->cookie_domain)"); + + if ($this->errorlog_debug) error_log("setcookie($cookiename,$cookievalue,$cookietime,$cookiepath,$this->cookie_domain)"); + setcookie($cookiename,$cookievalue,$cookietime,$cookiepath,$this->cookie_domain); } From aee25f82df36362dea8b6a9f3a4c7ebef376c726 Mon Sep 17 00:00:00 2001 From: Lars Kneschke Date: Fri, 25 May 2007 08:24:22 +0000 Subject: [PATCH 42/51] fix for a sometime not terminating loop. patch provided by knut moeller --- phpgwapi/inc/class.bolink.inc.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/phpgwapi/inc/class.bolink.inc.php b/phpgwapi/inc/class.bolink.inc.php index 4bf97bb271..4ed07051c0 100644 --- a/phpgwapi/inc/class.bolink.inc.php +++ b/phpgwapi/inc/class.bolink.inc.php @@ -257,16 +257,26 @@ class bolink extends solink $only_app = substr(1,$only_app); } end($id); - while ($link = current($id)) - { - if (!is_array($link) || // check for unlink-marker - $only_app && $not_only == ($link['app'] == $only_app)) + foreach (array_reverse($id) as $link) { + if (is_array($link) // check for unlink-marker + && !($only_app && $not_only == ($link['app'] == $only_app))) { - continue; + $ids[$link['link_id']] = $only_app ? $link['id'] : $link; } - $ids[$link['link_id']] = $only_app ? $link['id'] : $link; - prev($id); } + # the old version of the foreach from above + # left here for reference. can be deleted later + # + #while ($link = current($id)) + #{ + # if (!is_array($link) || // check for unlink-marker + # $only_app && $not_only == ($link['app'] == $only_app)) + # { + # continue; + # } + # $ids[$link['link_id']] = $only_app ? $link['id'] : $link; + # prev($id); + #} } return $ids; } From cbff451d7e41e1d2495e64fae76c26bbcf579af4 Mon Sep 17 00:00:00 2001 From: Lars Kneschke Date: Fri, 25 May 2007 08:31:05 +0000 Subject: [PATCH 43/51] fix for displaying the correct projectname when working projectmanager intgeration. patch provided by knut moeller --- timesheet/inc/class.uitimesheet.inc.php | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/timesheet/inc/class.uitimesheet.inc.php b/timesheet/inc/class.uitimesheet.inc.php index b7308f73d5..1ad1324070 100644 --- a/timesheet/inc/class.uitimesheet.inc.php +++ b/timesheet/inc/class.uitimesheet.inc.php @@ -135,6 +135,11 @@ class uitimesheet extends botimesheet $etpl->set_validation_error('ts_quantity',lang('Starttime has to be before endtime !!!')); } if (!$this->data['ts_project']) $this->data['ts_project'] = $this->data['ts_project_blur']; + // set ts_title to ts_project if short viewtype (title is not editable) + if($this->ts_viewtype == 'short') + { + $this->data['ts_title'] = $this->data['ts_project']; + } if (!$this->data['ts_title']) $this->data['ts_title'] = $this->data['ts_title_blur']; if (!$this->data['ts_title']) { @@ -263,18 +268,25 @@ class uitimesheet extends botimesheet } // make all linked projects availible for the pm-pricelist widget, to be able to choose prices from all $content['all_pm_ids'] = array_values($links); - - $preserv['old_pm_id'] = array_shift($links); - if (!isset($this->data['pm_id']) && $preserv['old_pm_id']) $content['pm_id'] = $preserv['old_pm_id']; - + + // set old id, pm selector (for later removal) + if (count($links) > 0) { + $preserv['old_pm_id'] = array_shift($links); + } + if ($preserv['old_pm_id'] == '') { + $preserv['old_pm_id'] = $content['pm_id']; + } + if (!isset($this->data['pm_id']) && $preserv['old_pm_id']) { + $content['pm_id'] = $preserv['old_pm_id']; + } if ($content['pm_id']) { $preserv['ts_project_blur'] = $content['ts_project_blur'] = $this->link->title('projectmanager',$content['pm_id']); } - if ($this->pm_integration == 'full') - { - $preserv['ts_project'] = $preserv['ts_project_blur']; - } + if ($this->pm_integration == 'full') + { + $preserv['ts_project'] = $preserv['ts_project_blur']; + } $content['ts_title_blur'] = $preserv['ts_title_blur'] = $preserv['ts_title_blur'] ? $preserv['ts_title_blur'] : $preserv['ts_project_blur']; $readonlys = array( From 1e9b08d5102e394e4006ce9ac5e3eafeff5dd70f Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 25 May 2007 12:18:00 +0000 Subject: [PATCH 44/51] fixed problems pointed out by Janosch Machowinski --- etemplate/inc/class.nextmatch_widget.inc.php | 7 ++++--- phpgwapi/inc/adodb/adodb.inc.php | 10 +++++----- phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php | 7 ++++--- phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php | 8 ++++---- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/etemplate/inc/class.nextmatch_widget.inc.php b/etemplate/inc/class.nextmatch_widget.inc.php index faf1ba4297..b74e54cef7 100644 --- a/etemplate/inc/class.nextmatch_widget.inc.php +++ b/etemplate/inc/class.nextmatch_widget.inc.php @@ -209,7 +209,7 @@ } if (!isset($value['cat_app'])) $value['cat_app'] = $app; // if no cat_app set, use the app from the get_rows func - $max = $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs']; + $max = (int)$GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs']; $row_options = array(); foreach(array(5,12,25,50,100,200,500,999) as $n) { @@ -226,7 +226,7 @@ if (!isset($value['num_rows'])) $value['num_rows'] = $max; if ($value['num_rows'] != $max) { - $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] = $max = $value['num_rows']; + $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs'] = $max = (int)$value['num_rows']; } if (!$value['no_columnselection']) { @@ -590,7 +590,8 @@ { $loop = true; // num_rows changed } - $max = $value['num_rows'] ? $value['num_rows'] : $GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs']; + $value['num_rows'] = (int) $value['num_rows']; + $max = $value['num_rows'] ? $value['num_rows'] : (int)$GLOBALS['egw_info']['user']['preferences']['common']['maxmatchs']; if(strpos($value['search'],'xjxquery')) { diff --git a/phpgwapi/inc/adodb/adodb.inc.php b/phpgwapi/inc/adodb/adodb.inc.php index dfcbfed259..ef3472d606 100644 --- a/phpgwapi/inc/adodb/adodb.inc.php +++ b/phpgwapi/inc/adodb/adodb.inc.php @@ -1108,7 +1108,7 @@ // access includes ties in result if ($isaccess) { $sql = preg_replace( - '/(^\s*select\s+(distinctrow|distinct)?)/i','\\1 '.$this->hasTop.' '.$nrows.' ',$sql); + '/(^\s*select\s+(distinctrow|distinct)?)/i','\\1 '.$this->hasTop.' '.(int)$nrows.' ',$sql); if ($secs2cache>0) { $ret =& $this->CacheExecute($secs2cache, $sql,$inputarr); @@ -1118,10 +1118,10 @@ return $ret; // PHP5 fix } else if ($ismssql){ $sql = preg_replace( - '/(^\s*select\s+(distinctrow|distinct)?)/i','\\1 '.$this->hasTop.' '.$nrows.' ',$sql); + '/(^\s*select\s+(distinctrow|distinct)?)/i','\\1 '.$this->hasTop.' '.(int)$nrows.' ',$sql); } else { $sql = preg_replace( - '/(^\s*select\s)/i','\\1 '.$this->hasTop.' '.$nrows.' ',$sql); + '/(^\s*select\s)/i','\\1 '.$this->hasTop.' '.(int)$nrows.' ',$sql); } } else { $nn = $nrows + $offset; @@ -1151,7 +1151,7 @@ } $ADODB_COUNTRECS = $savec; if ($rs && !$rs->EOF) { - $rs =& $this->_rs2rs($rs,$nrows,$offset); + $rs =& $this->_rs2rs($rs,(int)$nrows,(int)$offset); } //print_r($rs); return $rs; @@ -3874,4 +3874,4 @@ } } // defined -?> \ No newline at end of file +?> diff --git a/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php b/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php index bc0b2d55e4..056c487ab2 100644 --- a/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php +++ b/phpgwapi/inc/adodb/drivers/adodb-mysql.inc.php @@ -469,10 +469,11 @@ class ADODB_mysql extends ADOConnection { // parameters use PostgreSQL convention, not MySQL function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs=0) { - $offsetStr =($offset>=0) ? "$offset," : ''; // jason judge, see http://phplens.com/lens/lensforum/msgs.php?id=9220 if ($nrows < 0) $nrows = '18446744073709551615'; + $offsetStr = (($offset>=0) ? (int)$offset.',' : '').(int)$nrows; + //if the sql ends by a 'for update' it should be AFTER the LIMIT $FORUPDATE = ''; //with PHP5 we could have used stripos and str_ireplace @@ -485,9 +486,9 @@ class ADODB_mysql extends ADOConnection { } if ($secs) - $rs =& $this->CacheExecute($secs,$sql." LIMIT $offsetStr$nrows $FORUPDATE",$inputarr); + $rs =& $this->CacheExecute($secs,$sql.' LIMIT '.$offsetStr.' '.$FORUPDATE,$inputarr); else - $rs =& $this->Execute($sql." LIMIT $offsetStr$nrows $FORUPDATE",$inputarr); + $rs =& $this->Execute($sql.' LIMIT '.$offsetStr.' '.$FORUPDATE,$inputarr); return $rs; } diff --git a/phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php b/phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php index 0474040efd..14c86dd2c4 100644 --- a/phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php +++ b/phpgwapi/inc/adodb/drivers/adodb-postgres7.inc.php @@ -35,12 +35,12 @@ class ADODB_postgres7 extends ADODB_postgres64 { // which makes obsolete the LIMIT limit,offset syntax function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0) { - $offsetStr = ($offset >= 0) ? " OFFSET $offset" : ''; - $limitStr = ($nrows >= 0) ? " LIMIT $nrows" : ''; + $offsetStr = ($offset >= 0) ? ' OFFSET '.(int)$offset : ''; + $limitStr = ($nrows >= 0) ? ' LIMIT '.(int)$nrows : ''; if ($secs2cache) - $rs =& $this->CacheExecute($secs2cache,$sql."$limitStr$offsetStr",$inputarr); + $rs =& $this->CacheExecute($secs2cache,$sql.$limitStr.$offsetStr,$inputarr); else - $rs =& $this->Execute($sql."$limitStr$offsetStr",$inputarr); + $rs =& $this->Execute($sql.$limitStr.$offsetStr,$inputarr); return $rs; } From 889a5c01c67d2568381ab6698593f31210c4f60a Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 25 May 2007 17:33:26 +0000 Subject: [PATCH 45/51] "fixed not returned id's if only_keys==true" --- addressbook/inc/class.socontacts_sql.inc.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addressbook/inc/class.socontacts_sql.inc.php b/addressbook/inc/class.socontacts_sql.inc.php index bd44cf8c20..795afa6cfe 100644 --- a/addressbook/inc/class.socontacts_sql.inc.php +++ b/addressbook/inc/class.socontacts_sql.inc.php @@ -145,7 +145,10 @@ class socontacts_sql extends so_sql else // by adr_one_location or org_unit { // org total for more then one $by - $append = "GROUP BY org_name HAVING {$by}_count > 1 ORDER BY org_name $sort"; + $by_expr = $by == 'org_unit_count' ? "COUNT(DISTINCT CASE WHEN org_unit IS NULL THEN '' ELSE org_unit END)" : + "COUNT(DISTINCT CASE WHEN adr_one_locality IS NULL THEN '' ELSE adr_one_locality END)"; +// $append = "GROUP BY org_name HAVING {$by}_count > 1 ORDER BY org_name $sort"; + $append = "GROUP BY org_name HAVING $by_expr > 1 ORDER BY org_name $sort"; parent::search($param['search'],array('org_name'),$append,array( "NULL AS $by", 'COUNT(org_name) AS org_count', @@ -292,7 +295,7 @@ class socontacts_sql extends so_sql case 'boolean': // only return the egw_addressbook columns, to not generate dublicates by the left join // and to not return the NULL for contact_{id|owner} of not found custom fields! - $only_keys = 'DISTINCT '.$this->table_name.'.'.($only_keys ? 'contact_id' : '*'); + $only_keys = 'DISTINCT '.$this->table_name.'.'.($only_keys ? 'contact_id AS contact_id' : '*'); break; case 'string': $only_keys = explode(',',$only_keys); From 75c797d0f24af8421431d7956db3833c8ca9fa45 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 25 May 2007 18:13:13 +0000 Subject: [PATCH 46/51] fixed exec to save the include_xajax flag too (looping) --- etemplate/inc/class.uietemplate.inc.php | 27 +++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/etemplate/inc/class.uietemplate.inc.php b/etemplate/inc/class.uietemplate.inc.php index 198b8fee73..e5e3f01133 100644 --- a/etemplate/inc/class.uietemplate.inc.php +++ b/etemplate/inc/class.uietemplate.inc.php @@ -311,7 +311,7 @@ $GLOBALS['egw']->xslttpl->set_var('phpgw',array('body_data' => $html)); } } - $this->save_appsession($this->as_array(2) + array( + $this->save_appsession($sess = $this->as_array(2) + array( 'readonlys' => $readonlys, 'content' => $content, 'changes' => $changes, @@ -322,6 +322,7 @@ 'java_script' => $GLOBALS['egw_info']['etemplate']['java_script'], 'java_script_from_flags' => $GLOBALS['egw_info']['flags']['java_script'], 'java_script_body_tags' => $GLOBALS['egw']->js->body, + 'include_xajax' => $GLOBALS['egw_info']['flags']['include_xajax'], 'dom_enabled' => $GLOBALS['egw_info']['etemplate']['dom_enabled'], 'hooked' => $hooked != '' ? $hooked : $GLOBALS['egw_info']['etemplate']['hook_content'], 'hook_app' => $hooked ? $GLOBALS['egw_info']['flags']['currentapp'] : $GLOBALS['egw_info']['etemplate']['hook_app'], @@ -332,7 +333,27 @@ 'method' => $method, 'name_vars' => $this->name_vars, ),$id); - +/* +echo "

total size session data = ".($total=strlen(serialize($sess)))."

\n"; +echo "

shares bigger then 1.0% percent of it:

\n"; +foreach($sess as $key => $val) +{ + $len = strlen(is_array($val) ? serialize($val) : $val); + $len .= ' ('.sprintf('%2.1lf',($percent = 100.0 * $len / $total)).'%)'; + if ($percent < 1.0) continue; + echo "

$key: strlen(\$val)=$len

\n"; + if (is_array($val) && $len > 2000) + { + foreach($val as $k => $v) + { + $l = strlen(is_array($v) ? serialize($v) : $v); + $l .= ' ('.sprintf('%2.1lf',($p = 100.0 * $l / $total)).'%)'; + if ($p < 1.0) continue; + echo "

 - {$key}[$k]: strlen(\$v)=$l

\n"; + } + } +} +*/ if ($this->sitemgr || (int) $output_mode == 1 || (int) $output_mode == -1) // return html { return $html; @@ -441,6 +462,8 @@ $GLOBALS['egw']->xslttpl->set_var('phpgw',array('body_data' => $session_data['hooked'])); } } + if($session_data['include_xajax']) $GLOBALS['egw_info']['flags']['include_xajax'] = true; + if (!empty($session_data['app_header'])) { $GLOBALS['egw_info']['flags']['app_header'] = $session_data['app_header']; From ca496bed5eb2ea3de00b2e379009fd492978ee9b Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 25 May 2007 18:15:55 +0000 Subject: [PATCH 47/51] layout tweaks in nextmatch widget: fixed width for the selectboxes --- etemplate/setup/etemplates.inc.php | 38 ++++++------------- etemplate/templates/default/app.css | 10 +++++ .../templates/default/nextmatch_widget.xet | 13 +++---- 3 files changed, 27 insertions(+), 34 deletions(-) diff --git a/etemplate/setup/etemplates.inc.php b/etemplate/setup/etemplates.inc.php index e14c84cd6c..4b0ba4f1c2 100644 --- a/etemplate/setup/etemplates.inc.php +++ b/etemplate/setup/etemplates.inc.php @@ -2,7 +2,7 @@ /** * eGroupWare - eTemplates for Application etemplate * http://www.egroupware.org - * generated by soetemplate::dump4setup() 2007-05-03 08:32 + * generated by soetemplate::dump4setup() 2007-05-25 20:26 * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package etemplate @@ -89,8 +89,6 @@ $templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '' $templ_data[] = array('name' => 'etemplate.editor','template' => '','lang' => '','group' => '0','version' => '0.9.15.004','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:9:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"size";s:2:"bi";s:5:"label";s:27:"Editable Templates - Editor";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:5:"label";s:8:"DB-Tools";s:5:"align";s:5:"right";s:4:"name";s:8:"db_tools";s:4:"help";s:21:"to start the DB-Tools";}}i:2;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"hrule";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:4:"name";s:21:"etemplate.editor.keys";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:4;a:2:{s:1:"A";a:12:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"9";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Read";s:4:"name";s:4:"read";s:4:"help";s:49:"read eTemplate from database (for the keys above)";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Show";s:4:"name";s:4:"show";s:4:"help";s:61:"shows/displays eTemplate for testing, does NOT save it before";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";s:4:"help";s:77:"save the eTemplate under the above keys (name, ...), change them for a SaveAs";}i:4;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:6:"delete";s:4:"help";s:33:"deletes the eTemplate spez. above";}i:5;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Dump4Setup";s:4:"name";s:4:"dump";s:4:"help";s:88:"writes a \'etemplates.inc.php\' file (for application in Name) in the setup-dir of the app";}i:6;a:4:{s:4:"type";s:6:"button";s:5:"label";s:14:"Write Langfile";s:4:"name";s:8:"langfile";s:4:"help";s:85:"creates an english (\'en\') langfile from label and helptexts (for application in Name)";}i:7;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Export XML";s:4:"name";s:10:"export_xml";s:4:"help";s:43:"export the loaded eTemplate into a xml-file";}i:8;a:4:{s:4:"type";s:6:"button";s:5:"label";s:10:"Import XML";s:4:"name";s:10:"import_xml";s:4:"help";s:35:"import an eTemplate from a xml-file";}i:9;a:3:{s:4:"type";s:4:"file";s:4:"name";s:4:"file";s:4:"help";s:18:"xml-file to import";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:5;a:2:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:7:"options";s:4:"span";s:3:"all";s:4:"name";s:24:"etemplate.editor.options";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:6;a:2:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:4:"name";s:21:"etemplate.editor.edit";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:7;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:3:"all";s:5:"label";s:10:"CSS-styles";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:8;a:2:{s:1:"A";a:5:{s:4:"type";s:8:"textarea";s:4:"size";s:5:"10,80";s:4:"span";s:3:"all";s:4:"name";s:5:"style";s:4:"help";s:155:"embeded CSS styles, eg. \'.red { background: red; }\' (note the \'.\' before the class-name) or \'@import url(...)\' (class names are global for the whole page!)";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:8;s:4:"cols";i:2;s:4:"size";s:9:"100%,100%";}}','size' => '100%,100%','style' => '','modified' => '1035854216',); -$templ_data[] = array('name' => 'etemplate.editor.cell','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:4:{s:2:"c1";s:3:"nmr";s:2:"c2";s:3:"nmr";s:2:"c3";s:3:"nmr";s:2:"c4";s:3:"nmr";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:3:{s:4:"type";s:8:"template";s:4:"span";s:1:"4";s:4:"name";s:26:"etemplate.editor.cell_opts";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"50";s:4:"span";s:3:"all";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:6;s:4:"size";s:5:",100%";}}','size' => ',100%','style' => '','modified' => '1032907904',); - $templ_data[] = array('name' => 'etemplate.editor.cell','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:5:{i:0;a:4:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"4";i:1;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:9:"%s needed";s:5:"align";s:6:"center";s:4:"name";s:6:"needed";s:4:"help";s:39:"check if field has to be filled by user";}i:2;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s readonly";s:5:"align";s:6:"center";s:4:"name";s:8:"readonly";s:4:"help";s:94:"check if content should only be displayed but not altered (the content is not send back then!)";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:5:"align";s:6:"center";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";}i:4;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s onChange";s:5:"align";s:6:"center";s:4:"name";s:8:"onchange";s:4:"help";s:33:"enable JavaScript onChange submit";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"50";s:4:"span";s:3:"all";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:6;s:4:"size";s:5:",100%";}}','size' => ',100%','style' => '','modified' => '1034540913',); $templ_data[] = array('name' => 'etemplate.editor.cell','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:5:{i:0;a:4:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"B";a:3:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"4";i:1;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:9:"%s needed";s:5:"align";s:6:"center";s:4:"name";s:6:"needed";s:4:"help";s:39:"check if field has to be filled by user";}i:2;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s readonly";s:5:"align";s:6:"center";s:4:"name";s:8:"readonly";s:4:"help";s:94:"check if content should only be displayed but not altered (the content is not send back then!)";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:5:"align";s:6:"center";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";}i:4;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s onChange";s:5:"align";s:6:"center";s:4:"name";s:8:"onchange";s:4:"help";s:33:"enable JavaScript onChange submit";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"45";s:4:"span";s:1:"3";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"blurText";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}}}s:4:"rows";i:4;s:4:"cols";i:6;s:4:"size";s:5:",100%";}}','size' => ',100%','style' => '','modified' => '1061339128',); @@ -117,8 +115,6 @@ $templ_data[] = array('name' => 'etemplate.editor.keys','template' => '','lang' $templ_data[] = array('name' => 'etemplate.editor.keys','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:4:{s:1:"A";a:5:{s:4:"type";s:4:"text";s:4:"size";s:5:"25,80";s:5:"label";s:4:"Name";s:4:"name";s:4:"name";s:4:"help";s:75:"name of the eTemplate, should be in form application.function[.subTemplate]";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:4:"8,20";s:5:"label";s:8:"Template";s:4:"name";s:8:"template";s:4:"help";s:125:"name of phpgw-template set (e.g. verdilak): \'\' = default (will read pref. template, us \'default\' to read default template \'\')";}s:1:"C";a:5:{s:4:"type";s:4:"text";s:4:"size";s:3:"5,5";s:5:"label";s:4:"Lang";s:4:"name";s:4:"lang";s:4:"help";s:162:"language-short (eg. \'en\' for english) for language-dependent template (\'\' reads your pref. languages or the default, us \'default\' to read the default template \'\')";}s:1:"D";a:5:{s:4:"type";s:4:"text";s:4:"size";s:4:"9,20";s:5:"label";s:7:"Version";s:4:"name";s:7:"version";s:4:"help";s:116:"version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)";}}}s:4:"rows";i:1;s:4:"cols";i:4;}}','size' => '','style' => '','modified' => '1108983539',); -$templ_data[] = array('name' => 'etemplate.editor.list_result','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:6:{s:4:"type";s:5:"label";s:4:"size";s:2:"bi";s:4:"span";s:3:"all";s:5:"label";s:27:"Editable Templates - Search";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"hrule";s:4:"span";s:3:"all";}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:21:"etemplate.editor.keys";}}i:4;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:4:"name";s:33:"etemplate.editor.list_result.list";}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '','modified' => '1032907904',); - $templ_data[] = array('name' => 'etemplate.editor.list_result','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:21:"etemplate.editor.keys";}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";s:4:"name";s:33:"etemplate.editor.list_result.list";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.redItalic { color:red; font-style:italic;}','modified' => '1107711996',); $templ_data[] = array('name' => 'etemplate.editor.list_result','template' => '','lang' => '','group' => '0','version' => '1.0.0.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:1:{s:1:"A";a:4:{s:4:"span";s:13:"all,redItalic";s:7:"no_lang";s:1:"1";s:4:"name";s:3:"msg";s:4:"type";s:5:"label";}}i:2;a:1:{s:1:"A";a:2:{s:4:"name";s:21:"etemplate.editor.keys";s:4:"type";s:8:"template";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"span";s:11:",lr_padding";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:5:"label";s:8:"Template";s:4:"span";s:11:",lr_padding";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Lang";s:4:"span";s:11:",lr_padding";}s:1:"D";a:4:{s:5:"align";s:6:"center";s:4:"type";s:5:"label";s:5:"label";s:7:"Version";s:4:"span";s:11:",lr_padding";}s:1:"E";a:6:{s:5:"label";s:6:"Search";s:5:"align";s:6:"center";s:4:"name";s:6:"search";s:4:"type";s:6:"button";s:4:"help";s:38:"start new search for the above pattern";s:4:"span";s:11:",lr_padding";}s:1:"F";a:5:{s:5:"label";s:6:"Delete";s:4:"name";s:15:"delete_selected";s:4:"type";s:6:"button";s:4:"help";s:55:"delete ALL selected eTemplates, WITHOUT further inquiry";s:4:"span";s:11:",lr_padding";}}i:2;a:6:{s:1:"A";a:5:{s:7:"no_lang";s:1:"1";s:4:"size";s:17:",,,selected[$row]";s:4:"type";s:5:"label";s:5:"label";s:13:"@${row}[name]";s:4:"span";s:11:",lr_padding";}s:1:"B";a:4:{s:7:"no_lang";s:1:"1";s:4:"name";s:16:"${row}[template]";s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";}s:1:"C";a:4:{s:7:"no_lang";s:1:"1";s:4:"name";s:12:"${row}[lang]";s:4:"type";s:5:"label";s:4:"span";s:11:",lr_padding";}s:1:"D";a:5:{s:7:"no_lang";s:1:"1";s:4:"size";s:17:",,,selected[$row]";s:4:"type";s:5:"label";s:5:"label";s:16:"@${row}[version]";s:4:"span";s:11:",lr_padding";}s:1:"E";a:5:{s:5:"align";s:6:"center";s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:5:{s:5:"label";s:4:"Edit";s:4:"name";s:10:"read[$row]";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:4:"help";s:34:"load this template into the editor";}i:2;a:6:{s:5:"label";s:6:"Delete";s:7:"onclick";s:40:"return confirm(\'Delete this eTemplate\');";s:4:"name";s:12:"delete[$row]";s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:4:"help";s:21:"Delete this eTemplate";}}s:1:"F";a:4:{s:5:"align";s:6:"center";s:4:"name";s:14:"selected[$row]";s:4:"type";s:8:"checkbox";s:4:"help";s:34:"select this eTemplate to delete it";}}}s:4:"cols";i:6;s:4:"rows";i:2;}}}s:4:"cols";i:1;s:4:"rows";i:3;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.redItalic { color:red; font-style:italic;} td.lr_padding { padding-left: 5px; padding-right: 5px; }','modified' => '1115535419',); @@ -159,8 +155,6 @@ $templ_data[] = array('name' => 'etemplate.editor.widget.ajax_select','template' $templ_data[] = array('name' => 'etemplate.editor.widget.contact','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:5:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c4";s:3:"row";s:2:"h4";s:14:",!@type=button";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:5:{s:4:"type";s:14:"contact-fields";s:4:"name";s:4:"size";s:4:"help";s:21:"Contact field to show";s:4:"span";s:3:"all";s:5:"label";s:5:"Field";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:2;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";s:5:"label";s:11:"Span, Class";s:4:"span";s:1:"2";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";s:4:"span";s:3:"all";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"53";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:4;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1159998081',); -$templ_data[] = array('name' => 'etemplate.editor.widget.generic','template' => '','lang' => '','group' => '0','version' => '1.0.1.002','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:7:{i:0;a:8:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c5";s:3:"row";s:2:"c6";s:3:"row";s:2:"h6";s:14:",!@type=button";s:2:"c4";s:3:"row";s:2:"h4";s:12:",@type=label";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,size";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,span";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";s:4:"span";s:1:"4";i:1;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:9:"%s needed";s:5:"align";s:6:"center";s:4:"name";s:6:"needed";s:4:"help";s:39:"check if field has to be filled by user";}i:2;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s readonly";s:5:"align";s:6:"center";s:4:"name";s:8:"readonly";s:4:"help";s:94:"check if content should only be displayed but not altered (the content is not send back then!)";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:5:"align";s:6:"center";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";}i:4;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s onChange";s:5:"align";s:6:"center";s:4:"name";s:8:"onchange";s:4:"help";s:33:"enable JavaScript onChange submit";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,blur";s:5:"label";s:8:"blurText";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:1:"4";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:3:"int";s:5:"label";s:8:"Tabindex";s:4:"span";s:1:"2";s:4:"name";s:8:"tabindex";s:4:"help";s:47:"Order to navigating by tab key through the form";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:3:"1,1";s:4:"name";s:9:"accesskey";s:4:"help";s:67:"Accesskeys can also be specified with an & in the label (eg. &Name)";s:5:"label";s:9:"Accesskey";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:5;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,help";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"73";s:4:"span";s:3:"all";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:6;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"58";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:6;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1118499298',); - $templ_data[] = array('name' => 'etemplate.editor.widget.generic','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:8:{i:0;a:10:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c5";s:3:"row";s:2:"c6";s:3:"row";s:2:"h6";s:12:",@type=label";s:2:"c4";s:3:"row";s:2:"h4";s:12:",@type=label";s:2:"h7";s:14:",!@type=button";s:2:"c7";s:3:"row";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,size";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,span";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:1:"4";i:1;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:9:"%s needed";s:5:"align";s:6:"center";s:4:"name";s:6:"needed";s:4:"help";s:39:"check if field has to be filled by user";}i:2;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s readonly";s:5:"align";s:6:"center";s:4:"name";s:8:"readonly";s:4:"help";s:94:"check if content should only be displayed but not altered (the content is not send back then!)";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:5:"align";s:6:"center";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,blur";s:5:"label";s:8:"blurText";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:1:"4";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:3:"int";s:5:"label";s:8:"Tabindex";s:4:"span";s:1:"2";s:4:"name";s:8:"tabindex";s:4:"help";s:47:"Order to navigating by tab key through the form";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:3:"1,1";s:4:"name";s:9:"accesskey";s:4:"help";s:67:"Accesskeys can also be specified with an & in the label (eg. &Name)";s:5:"label";s:9:"Accesskey";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:5;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,help";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"71";s:4:"span";s:3:"all";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:6;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"onChange";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:13:"onchange_type";s:4:"help";s:65:"Should the form be submitted or any custom javascript be executed";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"50";s:4:"span";s:3:"all";s:4:"name";s:8:"onchange";s:4:"help";s:30:"custom javascript for onChange";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:7;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"53";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:7;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1118499298',); $templ_data[] = array('name' => 'etemplate.editor.widget.generic','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:8:{i:0;a:9:{s:2:"c1";s:3:"row";s:2:"c2";s:3:"row";s:2:"c3";s:3:"row";s:2:"c5";s:3:"row";s:2:"c6";s:3:"row";s:2:"h6";s:12:",@type=label";s:2:"c4";s:3:"row";s:2:"h4";s:12:",@type=label";s:2:"c7";s:3:"row";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,type";s:5:"label";s:4:"Type";}s:1:"B";a:4:{s:4:"type";s:6:"select";s:4:"name";s:4:"type";s:8:"onchange";s:1:"1";s:4:"help";s:57:"type of the field (select Label if field should be empty)";}s:1:"C";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,size";s:5:"label";s:7:"Options";s:5:"align";s:6:"center";}s:1:"D";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"size";s:4:"help";s:187:"Label:[bold][italic] Text:[len][,max] Numbers:[min][,[max][,len]] T.area:[rows][,cols] Radiob.:value H.Rule:[width] Templ.:[IndexInContent] Select:[multiselect] Date:[values: eg. \'Y-m-d\']";}s:1:"E";a:4:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,span";s:5:"label";s:11:"Span, Class";s:5:"align";s:6:"center";}s:1:"F";a:4:{s:4:"type";s:4:"text";s:4:"size";s:2:"10";s:4:"name";s:4:"span";s:4:"help";s:111:"number of colums the field/cell should span or \'all\' for the remaining columns, CSS-class name (for the TD tag)";}}i:2;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:8:",,,label";s:5:"label";s:5:"Label";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:5:"label";s:4:"help";s:118:"displayed in front of input or input is inserted for a \'%s\' in the label (label of the Submitbutton or Image-filename)";}s:1:"C";a:6:{s:4:"type";s:8:"checkbox";s:4:"span";s:1:"2";s:5:"label";s:16:"%s NoTranslation";s:5:"align";s:6:"center";s:4:"name";s:7:"no_lang";s:4:"help";s:82:"select if content of field should not be translated (label gets always translated)";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Align";s:5:"align";s:6:"center";}s:1:"F";a:3:{s:4:"type";s:6:"select";s:4:"name";s:5:"align";s:4:"help";s:48:"alignment of label and input-field in table-cell";}}i:3;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,name";s:5:"label";s:4:"Name";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"help";s:78:"index/name of returned content (name of the Template, Link / Method for Image)";}s:1:"C";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:1:"4";i:1;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:9:"%s needed";s:5:"align";s:6:"center";s:4:"name";s:6:"needed";s:4:"help";s:39:"check if field has to be filled by user";}i:2;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s readonly";s:5:"align";s:6:"center";s:4:"name";s:8:"readonly";s:4:"help";s:94:"check if content should only be displayed but not altered (the content is not send back then!)";}i:3;a:5:{s:4:"type";s:8:"checkbox";s:5:"label";s:11:"%s disabled";s:5:"align";s:6:"center";s:4:"name";s:8:"disabled";s:4:"help";s:96:"if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:4;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,blur";s:5:"label";s:8:"blurText";}s:1:"B";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"blur";s:4:"help";s:76:"this text gets displayed if the input-field is empty and has no focus (blur)";}s:1:"C";a:5:{s:4:"type";s:4:"hbox";s:4:"span";s:1:"4";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:3:"int";s:5:"label";s:8:"Tabindex";s:4:"span";s:1:"2";s:4:"name";s:8:"tabindex";s:4:"help";s:47:"Order to navigating by tab key through the form";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:3:"1,1";s:4:"name";s:9:"accesskey";s:4:"help";s:67:"Accesskeys can also be specified with an & in the label (eg. &Name)";s:5:"label";s:9:"Accesskey";}}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:5;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:",,,help";s:5:"label";s:4:"Help";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"71";s:4:"span";s:3:"all";s:4:"name";s:4:"help";s:4:"help";s:60:"displayed in statusline of browser if input-field gets focus";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:6;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:8:"onChange";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:13:"onchange_type";s:4:"help";s:65:"Should the form be submitted or any custom javascript be executed";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"50";s:4:"span";s:3:"all";s:4:"name";s:8:"onchange";s:4:"help";s:30:"custom javascript for onChange";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}i:7;a:6:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:7:"onclick";s:5:"label";s:7:"onClick";}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"onclick_type";s:4:"help";s:43:"confirmation necesary or custom java-script";}i:2;a:5:{s:4:"type";s:4:"text";s:4:"size";s:2:"53";s:4:"span";s:3:"all";s:4:"name";s:7:"onclick";s:4:"help";s:67:"confirmation message or custom javascript (returning true or false)";}s:4:"span";s:3:"all";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:7;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1118499298',); @@ -171,8 +165,6 @@ $templ_data[] = array('name' => 'etemplate.groupbox.test','template' => '','lang $templ_data[] = array('name' => 'etemplate.groupbox.test-template','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"1";s:5:"label";s:8:"Template";i:1;a:2:{s:4:"type";s:8:"template";s:4:"name";s:25:"etemplate.tab_widget.test";}}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1107701431',); -$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.add','template' => '','lang' => '','group' => '0','version' => '1.3.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' => '','modified' => '1159565080',); $templ_data[] = array('name' => 'etemplate.link_widget.add','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"select";s:4:"name";s:7:"add_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:68:"eval(this.form.elements[form::name(\'add_app\')].value); return false;";}}}s:4:"rows";i:1;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1165593765',); @@ -208,14 +200,6 @@ $templ_data[] = array('name' => 'etemplate.link_widget.to','template' => '','lan .hide_comment input { display: none; width: 99%; } ','modified' => '1159565799',); -$templ_data[] = array('name' => 'etemplate.nextm*','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1155977979',); - -$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; } -.inactiv_sortcolumn { color: green; font-weight: normal; }','modified' => '1070783966',); - -$templ_data[] = array('name' => 'etemplate.nextmatch_widget','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:6:{s:1:"A";s:3:"35%";s:1:"C";s:3:"35%";s:2:"h4";s:13:",!@bottom_too";s:2:"c1";s:7:"noPrint";s:2:"c2";s:7:"noPrint";s:2:"c4";s:7:"noPrint";}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; } -.inactiv_sortcolumn { color: green; font-weight: normal; }','modified' => '1114155787',); - $templ_data[] = array('name' => 'etemplate.nextmatch_widget','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:5:{i:0;a:6:{s:1:"A";s:3:"35%";s:1:"C";s:3:"35%";s:2:"c1";s:7:"noPrint";s:2:"c2";s:7:"noPrint";s:2:"c4";s:7:"noPrint";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; } .inactiv_sortcolumn { color: green; font-weight: normal; }','modified' => '1143393034',); @@ -226,22 +210,14 @@ $templ_data[] = array('name' => 'etemplate.nextmatch_widget.header_only','templa $templ_data[] = array('name' => 'etemplate.nextmatch_widget.header_only','template' => '','lang' => '','group' => '0','version' => '0.9.15.002','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:1:"A";s:3:"50%";s:1:"B";s:3:"50%";}i:1;a:2:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:12:"@header_left";}s:1:"B";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:13:"@header_right";}}i:2;a:2:{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:4:"rows";i:2;s:4:"cols";i:2;s:4:"size";s:4:"100%";}}','size' => '100%','style' => '.activ_sortcolumn { color: red; font-weight: bold; } .inactiv_sortcolumn { color: green; font-weight: normal; }','modified' => '1075985789',); -$templ_data[] = array('name' => 'etemplate.nextmatch_widget.nm_row','template' => '','lang' => '','group' => '0','version' => '0.9.15.006','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:9:{s:1:"A";s:2:"1%";s:1:"B";s:2:"1%";s:1:"C";s:3:"30%";s:1:"D";s:3:"30%";s:1:"F";s:3:"15%";s:1:"G";s:2:"5%";s:1:"H";s:2:"1%";s:1:"I";s:2:"1%";s:2:"c1";s:3:"nmh";}i:1;a:9:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"first.gif,first-grey.gif";s:5:"label";s:5:"First";s:4:"name";s:5:"first";s:4:"help";s:21:"go to the first entry";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"left.gif,left-grey.gif";s:5:"label";s:4:"Left";s:4:"name";s:4:"left";s:4:"help";s:34:"go to the previous page of entries";}s:1:"C";a:6:{s:4:"type";s:10:"select-cat";s:4:"size";s:2:"-1";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";s:8:"onchange";s:1:"1";s:4:"help";s:17:"select a Category";}s:1:"D";a:6:{s:4:"type";s:6:"select";s:5:"label";s:13:"@filter_label";s:5:"align";s:6:"center";s:4:"name";s:6:"filter";s:8:"onchange";s:1:"1";s:4:"help";s:12:"@filter_help";}s:1:"E";a:6:{s:4:"type";s:6:"select";s:5:"label";s:14:"@filter2_label";s:5:"align";s:5:"right";s:4:"name";s:7:"filter2";s:8:"onchange";s:1:"1";s:4:"help";s:13:"@filter2_help";}s:1:"F";a:5:{s:4:"type";s:4:"text";s:5:"align";s:5:"right";s:4:"name";s:6:"search";s:8:"onchange";s:1:"1";s:4:"help";s:28:"a pattern to be searched for";}s:1:"G";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:12:"start_search";s:4:"help";s:19:"to start the search";}s:1:"H";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"right.gif,right-grey.gif";s:5:"label";s:5:"Right";s:4:"name";s:5:"right";s:4:"help";s:30:"go to the next page of entries";}s:1:"I";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"last.gif,last-grey.gif";s:5:"label";s:4:"Last";s:4:"name";s:4:"last";s:4:"help";s:20:"go to the last entry";}}}s:4:"rows";i:1;s:4:"cols";i:9;s:4:"size";s:11:"100%,,,,0,5";s:4:"span";s:11:",thinBorder";}}','size' => '100%,,,,0,5','style' => '.thinBorder { border: 1px solid black; }','modified' => '1061331789',); - -$templ_data[] = array('name' => 'etemplate.nextmatch_widget.nm_row','template' => '','lang' => '','group' => '0','version' => '1.0.0.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:9:{s:1:"A";s:2:"1%";s:1:"B";s:2:"1%";s:1:"C";s:3:"30%";s:1:"D";s:3:"30%";s:1:"F";s:3:"15%";s:1:"G";s:2:"5%";s:1:"H";s:2:"1%";s:1:"I";s:2:"1%";s:2:"c1";s:3:"nmh";}i:1;a:9:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"first.gif,first-grey.gif";s:5:"label";s:5:"First";s:4:"name";s:5:"first";s:4:"help";s:21:"go to the first entry";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"left.gif,left-grey.gif";s:5:"label";s:4:"Left";s:4:"name";s:4:"left";s:4:"help";s:34:"go to the previous page of entries";}s:1:"C";a:6:{s:4:"type";s:10:"select-cat";s:4:"size";s:2:"-1";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";s:8:"onchange";s:1:"1";s:4:"help";s:17:"select a Category";}s:1:"D";a:6:{s:4:"type";s:6:"select";s:5:"label";s:13:"@filter_label";s:5:"align";s:6:"center";s:4:"name";s:6:"filter";s:8:"onchange";s:16:"@filter_onchange";s:4:"help";s:12:"@filter_help";}s:1:"E";a:6:{s:4:"type";s:6:"select";s:5:"label";s:14:"@filter2_label";s:5:"align";s:5:"right";s:4:"name";s:7:"filter2";s:8:"onchange";s:17:"@filter2_onchange";s:4:"help";s:13:"@filter2_help";}s:1:"F";a:5:{s:4:"type";s:4:"text";s:5:"align";s:5:"right";s:4:"name";s:6:"search";s:8:"onchange";s:1:"1";s:4:"help";s:28:"a pattern to be searched for";}s:1:"G";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:12:"start_search";s:4:"help";s:19:"to start the search";}s:1:"H";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"right.gif,right-grey.gif";s:5:"label";s:5:"Right";s:4:"name";s:5:"right";s:4:"help";s:30:"go to the next page of entries";}s:1:"I";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"last.gif,last-grey.gif";s:5:"label";s:4:"Last";s:4:"name";s:4:"last";s:4:"help";s:20:"go to the last entry";}}}s:4:"rows";i:1;s:4:"cols";i:9;s:4:"size";s:11:"100%,,,,0,5";s:4:"span";s:11:",thinBorder";}}','size' => '100%,,,,0,5','style' => '.thinBorder { border: 1px solid black; }','modified' => '1113294054',); - $templ_data[] = array('name' => 'etemplate.nextmatch_widget.nm_row','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:9:{s:1:"A";s:2:"1%";s:1:"B";s:2:"1%";s:1:"D";s:3:"30%";s:1:"G";s:2:"5%";s:1:"I";s:2:"1%";s:2:"c1";s:2:"th";s:1:"C";s:3:"30%";s:1:"F";s:3:"15%";s:1:"J";s:2:"1%";}i:1;a:10:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"first.gif,first-grey.gif";s:5:"label";s:5:"First";s:4:"name";s:5:"first";s:4:"help";s:21:"go to the first entry";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"left.gif,left-grey.gif";s:5:"label";s:4:"Left";s:4:"name";s:4:"left";s:4:"help";s:34:"go to the previous page of entries";}s:1:"C";a:6:{s:4:"type";s:10:"select-cat";s:4:"size";s:19:"-1,,,$cont[cat_app]";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";s:8:"onchange";i:1;s:4:"help";s:17:"select a Category";}s:1:"D";a:6:{s:4:"type";s:6:"select";s:5:"label";s:13:"@filter_label";s:5:"align";s:6:"center";s:4:"name";s:6:"filter";s:8:"onchange";s:16:"@filter_onchange";s:4:"help";s:12:"@filter_help";}s:1:"E";a:6:{s:4:"type";s:6:"select";s:5:"label";s:14:"@filter2_label";s:5:"align";s:5:"right";s:4:"name";s:7:"filter2";s:8:"onchange";s:17:"@filter2_onchange";s:4:"help";s:13:"@filter2_help";}s:1:"F";a:5:{s:4:"type";s:4:"text";s:5:"align";s:5:"right";s:4:"name";s:6:"search";s:8:"onchange";s:1:"1";s:4:"help";s:28:"a pattern to be searched for";}s:1:"G";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:12:"start_search";s:4:"help";s:19:"to start the search";}s:1:"H";a:5:{s:4:"type";s:6:"select";s:4:"name";s:8:"num_rows";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;s:4:"help";s:37:"How many entries should the list show";}s:1:"I";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"right.gif,right-grey.gif";s:5:"label";s:5:"Right";s:4:"name";s:5:"right";s:4:"help";s:30:"go to the next page of entries";}s:1:"J";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"last.gif,last-grey.gif";s:5:"label";s:4:"Last";s:4:"name";s:4:"last";s:4:"help";s:20:"go to the last entry";}}}s:4:"rows";i:1;s:4:"cols";i:10;s:4:"size";s:11:"100%,,,,0,5";s:4:"span";s:11:",thinBorder";}}','size' => '100%,,,,0,5','style' => '.thinBorder { border: 1px solid black; }','modified' => '1113294054',); -$templ_data[] = array('name' => 'etemplate.nextmatch_widget.nm_row','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:10:{s:1:"A";s:2:"1%";s:1:"B";s:2:"1%";s:1:"D";s:3:"30%";s:1:"G";s:2:"5%";s:1:"I";s:2:"1%";s:2:"c1";s:2:"th";s:1:"C";s:3:"30%";s:1:"F";s:3:"15%";s:1:"J";s:2:"1%";s:2:"h1";s:20:",@no_columnselection";}i:1;a:11:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"first.gif,first-grey.gif";s:5:"label";s:5:"First";s:4:"name";s:5:"first";s:4:"help";s:21:"go to the first entry";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"left.gif,left-grey.gif";s:5:"label";s:4:"Left";s:4:"name";s:4:"left";s:4:"help";s:34:"go to the previous page of entries";}s:1:"C";a:6:{s:4:"type";s:10:"select-cat";s:4:"size";s:19:"-1,,,$cont[cat_app]";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";s:8:"onchange";i:1;s:4:"help";s:17:"select a Category";}s:1:"D";a:6:{s:4:"type";s:6:"select";s:5:"label";s:13:"@filter_label";s:5:"align";s:6:"center";s:4:"name";s:6:"filter";s:8:"onchange";s:16:"@filter_onchange";s:4:"help";s:12:"@filter_help";}s:1:"E";a:6:{s:4:"type";s:6:"select";s:5:"label";s:14:"@filter2_label";s:5:"align";s:5:"right";s:4:"name";s:7:"filter2";s:8:"onchange";s:17:"@filter2_onchange";s:4:"help";s:13:"@filter2_help";}s:1:"F";a:5:{s:4:"type";s:4:"text";s:5:"align";s:5:"right";s:4:"name";s:6:"search";s:8:"onchange";s:1:"1";s:4:"help";s:28:"a pattern to be searched for";}s:1:"G";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:12:"start_search";s:4:"help";s:19:"to start the search";}s:1:"H";a:5:{s:4:"type";s:6:"select";s:4:"name";s:8:"num_rows";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;s:4:"help";s:37:"How many entries should the list show";}s:1:"I";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"right.gif,right-grey.gif";s:5:"label";s:5:"Right";s:4:"name";s:5:"right";s:4:"help";s:30:"go to the next page of entries";}s:1:"J";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"last.gif,last-grey.gif";s:5:"label";s:4:"Last";s:4:"name";s:4:"last";s:4:"help";s:20:"go to the last entry";}s:1:"K";a:5:{s:4:"type";s:3:"box";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:10:"selectcols";s:5:"label";s:14:"Select columns";s:4:"help";s:41:"Select the columns to display in the list";s:7:"onclick";s:174:"document.getElementById(form::name(\'colselection\')).style.display=document.getElementById(form::name(\'colselection\')).style.display==\'block\' ? \'none\' : \'block\'; return false;";}i:2;a:7:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"select";s:4:"size";s:3:"012";s:4:"name";s:10:"selectcols";s:4:"help";s:41:"Select the columns to display in the list";s:7:"no_lang";s:1:"1";}i:2;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:8:"savecols";i:1;a:1:{s:4:"type";s:4:"hbox";}}i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:6:"cancel";s:5:"label";s:6:"Cancel";s:7:"onclick";s:87:"document.getElementById(form::name(\'colselection\')).style.display=\'none\'; return false;";}i:3;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:13:"default_prefs";s:5:"label";s:10:"as default";s:4:"help";s:58:"Save selected columns as default preference for all users.";}}s:4:"span";s:13:",colselection";s:4:"name";s:12:"colselection";s:5:"label";s:14:"Select columns";}s:4:"span";s:11:",selectcols";}}}s:4:"rows";i:1;s:4:"cols";i:11;s:4:"size";s:11:"100%,,,,0,5";s:4:"span";s:11:",thinBorder";}}','size' => '100%,,,,0,5','style' => '.thinBorder { border: 1px solid black; }','modified' => '1113294054',); +$templ_data[] = array('name' => 'etemplate.nextmatch_widget.nm_row','template' => '','lang' => '','group' => '0','version' => '1.3.002','data' => 'a:1:{i:0;a:7:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:10:{s:1:"A";s:2:"1%";s:1:"B";s:2:"1%";s:1:"D";s:3:"30%";s:1:"G";s:2:"5%";s:1:"I";s:2:"1%";s:2:"c1";s:2:"th";s:1:"C";s:3:"30%";s:1:"F";s:3:"15%";s:1:"J";s:2:"1%";s:2:"h1";s:20:",@no_columnselection";}i:1;a:11:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"first.gif,first-grey.gif";s:5:"label";s:5:"First";s:4:"name";s:5:"first";s:4:"help";s:21:"go to the first entry";}s:1:"B";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"left.gif,left-grey.gif";s:5:"label";s:4:"Left";s:4:"name";s:4:"left";s:4:"help";s:34:"go to the previous page of entries";}s:1:"C";a:7:{s:4:"type";s:10:"select-cat";s:4:"size";s:19:"-1,,,$cont[cat_app]";s:5:"label";s:8:"Category";s:4:"name";s:6:"cat_id";s:8:"onchange";i:1;s:4:"help";s:17:"select a Category";s:5:"align";s:6:"center";}s:1:"D";a:6:{s:4:"type";s:6:"select";s:5:"label";s:13:"@filter_label";s:5:"align";s:6:"center";s:4:"name";s:6:"filter";s:8:"onchange";s:16:"@filter_onchange";s:4:"help";s:12:"@filter_help";}s:1:"E";a:6:{s:4:"type";s:6:"select";s:5:"label";s:14:"@filter2_label";s:5:"align";s:6:"center";s:4:"name";s:7:"filter2";s:8:"onchange";s:17:"@filter2_onchange";s:4:"help";s:13:"@filter2_help";}s:1:"F";a:6:{s:4:"type";s:4:"text";s:5:"align";s:5:"right";s:4:"name";s:6:"search";s:8:"onchange";i:1;s:4:"help";s:28:"a pattern to be searched for";s:4:"size";s:2:"12";}s:1:"G";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Search";s:4:"name";s:12:"start_search";s:4:"help";s:19:"to start the search";}s:1:"H";a:6:{s:4:"type";s:6:"select";s:4:"name";s:8:"num_rows";s:7:"no_lang";s:1:"1";s:8:"onchange";i:1;s:4:"help";s:37:"How many entries should the list show";s:4:"span";s:12:",nm_num_rows";}s:1:"I";a:5:{s:4:"type";s:6:"button";s:4:"size";s:24:"right.gif,right-grey.gif";s:5:"label";s:5:"Right";s:4:"name";s:5:"right";s:4:"help";s:30:"go to the next page of entries";}s:1:"J";a:5:{s:4:"type";s:6:"button";s:4:"size";s:22:"last.gif,last-grey.gif";s:5:"label";s:4:"Last";s:4:"name";s:4:"last";s:4:"help";s:20:"go to the last entry";}s:1:"K";a:5:{s:4:"type";s:3:"box";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:10:"selectcols";s:5:"label";s:14:"Select columns";s:4:"help";s:41:"Select the columns to display in the list";s:7:"onclick";s:174:"document.getElementById(form::name(\'colselection\')).style.display=document.getElementById(form::name(\'colselection\')).style.display==\'block\' ? \'none\' : \'block\'; return false;";}i:2;a:7:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"2";i:1;a:5:{s:4:"type";s:6:"select";s:4:"size";s:3:"012";s:4:"name";s:10:"selectcols";s:4:"help";s:41:"Select the columns to display in the list";s:7:"no_lang";s:1:"1";}i:2;a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:8:"savecols";i:1;a:1:{s:4:"type";s:4:"hbox";}}i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:6:"cancel";s:5:"label";s:6:"Cancel";s:7:"onclick";s:87:"document.getElementById(form::name(\'colselection\')).style.display=\'none\'; return false;";}i:3;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:13:"default_prefs";s:5:"label";s:10:"as default";s:4:"help";s:58:"Save selected columns as default preference for all users.";}}s:4:"span";s:13:",colselection";s:4:"name";s:12:"colselection";s:5:"label";s:14:"Select columns";}s:4:"span";s:11:",selectcols";}}}s:4:"rows";i:1;s:4:"cols";i:11;s:4:"size";s:11:"100%,,,,0,3";s:4:"span";s:17:",nextmatch_header";s:7:"options";a:3:{i:0;s:4:"100%";i:4;s:1:"0";i:5;s:1:"3";}}}','size' => '100%,,,,0,3','style' => '','modified' => '1113294054',); $templ_data[] = array('name' => 'etemplate.popup.manual','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:5:{s:4:"type";s:6:"manual";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"span";s:20:",popupManual noPrint";}}','size' => '','style' => '.popupManual { position: absolute; right: 27px; top: 24px; }','modified' => '1131553453',); $templ_data[] = array('name' => 'etemplate.stack-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:4:{s:4:"type";s:4:"deck";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:10:"Hallo Ralf";s:4:"name";s:4:"ralf";}i:2;a:3:{s:4:"type";s:5:"label";s:5:"label";s:10:"Hallo Welt";s:4:"name";s:4:"welt";}}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1047754314',); -$templ_data[] = array('name' => 'etemplate.tab_widget','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:3:{i:0;a:2:{s:2:"c1";s:7:",bottom";s:2:"c2";s:7:"row_off";}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:5:"@tabs";}}i:2;a:1:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"name";s:5:"@body";}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:11:"100%,,,,0,0";}}','size' => '100%,,,,0,0','style' => '.etemplate_tab { border-style:solid; border-width:1px 1px 0px; border-color:black; padding:4px; width: 60px; white-space:nowrap; } -.etemplate_tab_active { border-style:solid; border-width:1px 1px 0px; border-color:black;padding:6px; width: 60px; white-space:nowrap; } -.tab_body { border-style: solid; border-color: black; border-width: 1px; }','modified' => '1088758341',); - $templ_data[] = array('name' => 'etemplate.tab_widget','template' => '','lang' => '','group' => '0','version' => '1.0.1.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:1:{s:2:"c2";s:7:"row_off";}i:1;a:1:{s:1:"A";a:5:{s:4:"name";s:4:"tabs";s:4:"type";s:4:"hbox";s:4:"size";s:1:"1";i:1;a:1:{s:4:"type";s:5:"label";}s:4:"span";s:10:",TabHeader";}}i:2;a:1:{s:1:"A";a:6:{s:5:"class";s:8:"tab_body";s:4:"name";s:4:"body";s:4:"type";s:4:"deck";s:4:"size";s:1:"1";i:1;a:1:{s:4:"type";s:5:"label";}s:4:"span";s:9:",tab_body";}}}s:4:"cols";i:1;s:4:"rows";i:2;s:4:"size";s:11:"100%,,,,0,0";}}','size' => '100%,,,,0,0','style' => '.etemplate_tab,.etemplate_tab_active { border-style:solid; border-width:1px 1px 0px; border-color:black; padding:3px; padding-left: 6px; padding-right: 6px; width: 60px; white-space: nowrap; } .etemplate_tab { cursor: pointer; } .etemplate_tab_active { border-width:2px 2px 0px; } @@ -271,8 +247,18 @@ $templ_data[] = array('name' => 'etemplate.tab_widget.test.work','template' => ' $templ_data[] = array('name' => 'etemplate.test-no-grid','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:7:{s:5:"class";s:9:"someClass";s:5:"width";s:3:"50%";s:6:"height";s:3:"500";s:4:"type";s:3:"box";i:1;a:5:{s:4:"type";s:8:"groupbox";s:5:"label";s:18:"Selection grouping";i:1;a:4:{s:5:"label";s:18:"%s selection #1 or";s:4:"name";s:9:"selection";s:4:"size";s:1:"1";s:4:"type";s:5:"radio";}s:4:"size";s:1:"2";i:2;a:4:{s:5:"label";s:15:"%s selection #2";s:4:"name";s:9:"selection";s:4:"size";s:1:"2";s:4:"type";s:5:"radio";}}s:4:"size";s:1:"2";i:2;a:5:{s:4:"type";s:8:"groupbox";s:5:"label";s:17:"An other grouping";i:1;a:4:{s:5:"label";s:18:"%s selection #3 or";s:4:"name";s:5:"other";s:4:"size";s:1:"1";s:4:"type";s:5:"radio";}s:4:"size";s:1:"2";i:2;a:4:{s:5:"label";s:15:"%s selection #4";s:4:"name";s:5:"other";s:4:"size";s:1:"2";s:4:"type";s:5:"radio";}}}}','size' => '','style' => '','modified' => '1107864007',); +$templ_data[] = array('name' => 'etemplate.test-select-entry','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:5:"label";s:6:"Needed";s:4:"name";s:4:"text";s:6:"needed";s:1:"1";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:10:"link-entry";s:5:"label";s:8:"Eintrag:";s:4:"name";s:5:"entry";s:6:"needed";s:1:"1";}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:6:"button";s:5:"label";s:6:"Reload";}}}s:4:"rows";i:3;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1179140445',); + +$templ_data[] = array('name' => 'etemplate.test.ajax_select','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1178626999',); + $templ_data[] = array('name' => 'etemplate.test.duration','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:13:"date-duration";s:5:"label";s:8:"Duration";s:4:"name";s:8:"duration";s:4:"size";s:5:"h,dh%";}}}s:4:"rows";i:1;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1117706299',); +$templ_data[] = array('name' => 'etemplate.test.grid-export','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"some cell";}}i:2;a:1:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:10:",hboxClass";i:1;a:4:{s:4:"type";s:5:"label";s:4:"size";s:1:"1";s:5:"label";s:2:"1.";i:1;a:1:{s:4:"type";s:4:"hbox";}}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"2.";}i:3;a:3:{s:4:"type";s:5:"label";s:5:"label";s:10:"last right";s:5:"align";s:5:"right";}}}}s:4:"rows";i:2;s:4:"cols";i:1;s:4:"size";s:16:"100%,,,gridClass";s:7:"options";a:2:{i:3;s:9:"gridClass";i:0;s:4:"100%";}}}','size' => '100%,,,gridClass','style' => '','modified' => '1179507067',); + +$templ_data[] = array('name' => 'etemplate.test.grid-export','template' => '','lang' => '','group' => '0','version' => '2','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:9:"some cell";}}i:2;a:1:{s:1:"A";a:6:{s:5:"class";s:9:"hboxClass";s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:3:{s:4:"size";s:1:"1";s:4:"type";s:5:"label";s:5:"label";s:2:"1.";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"2.";}i:3;a:3:{s:5:"align";s:5:"right";s:4:"type";s:5:"label";s:5:"label";s:10:"last right";}}}}s:4:"cols";i:1;s:4:"rows";i:2;s:4:"size";s:16:"100%,,,gridClass";}}','size' => '100%,,,gridClass','style' => '','modified' => '1179507244',); + +$templ_data[] = array('name' => 'etemplate.test.Ymd','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:4:"text";s:5:"label";s:19:"Date YYYYmmddHHiiss";s:4:"name";s:4:"date";}}i:2;a:1:{s:1:"A";a:5:{s:4:"type";s:4:"date";s:4:"size";s:5:"YmdHi";s:5:"label";s:4:"Date";s:4:"name";s:4:"date";s:8:"readonly";s:1:"1";}}i:3;a:1:{s:1:"A";a:5:{s:4:"type";s:13:"date-timeonly";s:4:"size";s:5:"YmdHi";s:5:"label";s:4:"Time";s:4:"name";s:4:"date";s:8:"readonly";s:1:"1";}}}s:4:"rows";i:3;s:4:"cols";i:1;}}','size' => '','style' => '','modified' => '1179320861',); + $templ_data[] = array('name' => 'etemplate.validation-test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:15:"10,10,/^[A-Z]+/";s:5:"label";s:52:"Text (<= 10 chars, has to start with capital letter)";s:4:"name";s:4:"text";}}i:2;a:1:{s:1:"A";a:5:{s:4:"type";s:3:"int";s:4:"size";s:5:"-15,5";s:5:"label";s:23:"Integer (-15 <= x <= 5)";s:4:"name";s:7:"integer";s:6:"needed";s:1:"1";}}i:3;a:1:{s:1:"A";a:4:{s:4:"type";s:5:"float";s:4:"size";s:8:"-1.5,3.5";s:5:"label";s:32:"Floatingpoint (-1.5 <= x <= 3.5)";s:4:"name";s:5:"float";}}i:4;a:1:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:4:"save";}i:2;a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:6:"cancel";}}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:8:",,0,,0,0";}}','size' => ',,0,,0,0','style' => '','modified' => '1081128620',); $templ_data[] = array('name' => 'etemplate.vbox.test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:7:"row,top";s:2:"c2";s:3:"row";}i:1;a:3:{s:1:"A";a:5:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";s:4:"span";s:4:"2,th";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Hallo";}i:2;a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Ralf";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"C1";}}i:2;a:3:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"A2";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"B2";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:2:"C2";}}}s:4:"rows";i:2;s:4:"cols";i:3;s:4:"size";s:3:",,1";}}','size' => ',,1','style' => '','modified' => '1034420647',); diff --git a/etemplate/templates/default/app.css b/etemplate/templates/default/app.css index 76f4edfbaa..eb0195c3d7 100644 --- a/etemplate/templates/default/app.css +++ b/etemplate/templates/default/app.css @@ -88,4 +88,14 @@ } .tab_body { border: black solid 2px; +} + +.nextmatch_header { + border: 1px solid black; +} +.nextmatch_header select { + width: 140px; +} +.nm_num_rows select { + width: 40px; } \ No newline at end of file diff --git a/etemplate/templates/default/nextmatch_widget.xet b/etemplate/templates/default/nextmatch_widget.xet index f7e95a7ec7..8d79fa72ee 100644 --- a/etemplate/templates/default/nextmatch_widget.xet +++ b/etemplate/templates/default/nextmatch_widget.xet @@ -2,7 +2,7 @@ -