$result = array_merge($result1,$result2);
+ // select entry template
+ if($_REQUEST['export'] == 'csv'){
+ $entrytpl = 'export_list_csv_entry.tpl';
+ }else{
+ $entrytpl = 'list_entry.tpl';
+ }
+
$list = '';
if(count($result)==1 && $_REQUEST[search]){
//only one result on a search -> display page
uksort($keys,"_namesort");
foreach($keys as $key){
tpl_entry($result[$key]);
- $list .= $smarty->fetch('list_entry.tpl');
+ $list .= $smarty->fetch($entrytpl);
}
}
- //save location in session
- $_SESSION[ldapab][lastlocation]=$_SERVER["REQUEST_URI"];
-
//prepare templates
tpl_std();
tpl_markers();
$smarty->assign('list',$list);
+ $smarty->assign('filter',$_REQUEST['filter']);
//display templates
- $smarty->display('header.tpl');
- $smarty->display('list_filter.tpl');
- $smarty->display('list.tpl');
- $smarty->display('footer.tpl');
+ if($_REQUEST['export'] == 'csv'){
+ header("Content-Type: text/csv");
+ header('Content-Disposition: Attachement; filename="ldapabexport.csv"');
+ $smarty->display('export_list_csv.tpl');
+ }else{
+ //save location in session
+ $_SESSION[ldapab][lastlocation]=$_SERVER["REQUEST_URI"];
+ $smarty->display('header.tpl');
+ $smarty->display('list_filter.tpl');
+ $smarty->display('list.tpl');
+ $smarty->display('footer.tpl');
+ }
//------- functions -----------//
$lang[title] = 'Titel';
$lang[organization] = 'Firma';
$lang[office] = 'Abteilung';
-$lang[street] = 'Straße, Nr.';
+$lang[street] = 'Straße, Nr.';
$lang[zip] = 'Postleitzahl';
$lang[location] = 'Ort';
$lang[phone] = 'Telefon';
$lang[business] = 'Geschäftlich';
$lang[private] = 'Privat';
-$lang[extended] = 'Zusätzliche Infos';
+$lang[extended] = 'Zusätzliche Infos';
-$lang[delphoto] = 'Vorhandenes Foto löschen';
+$lang[delphoto] = 'Vorhandenes Foto löschen';
$lang[notloggedin] = 'Nicht angemeldet';
$lang[loggedinas] = 'Angemeldet als';
$lang['new'] = 'Neu';
$lang['delete'] = 'Löschen';
$lang['copy'] = 'Kopieren';
+$lang[csvexport] = 'CSV';
$lang[vcfexport] = 'VCard';
$lang[vcfimport] = 'Import';
$lang[search] = 'Suchen';
$lang[submit] = 'Absenden';
$lang[help] = 'Hilfe';
-$lang[select] = 'Auswählen';
+$lang[select] = 'Auswählen';
$lang[orgs] = 'Firmen';
$lang[upload] = 'Hochladen';
-$lang[publicbook] = 'Öffentliches Adressbuch';
+$lang[publicbook] = 'Öffentliches Adressbuch';
$lang[privatebook] = 'Privates Adressbuch';
$lang[msg_login] = 'Bitte melden sie sich an!';
$lang[msg_loginfail] = 'Anmeldung fehlgeschlagen!';
-$lang[msg_reallydel] = 'Eintrag wirklich löschen?';
-$lang[msg_addto] = 'Zu welchem Adressbuch soll der Eintrag hinzugefügt werden?';
+$lang[msg_reallydel] = 'Eintrag wirklich löschen?';
+$lang[msg_addto] = 'Zu welchem Adressbuch soll der Eintrag hinzugefügt werden?';
$lang[msg_jpegonly] = 'Nur JPEG';
$lang[msg_dateformat] = 'JJJJ-MM-TT';
$lang[msg_uploadvcf] = 'Upload VCard File';
-$lang[err_noentries] = 'Keine Einträge';
+$lang[err_noentries] = 'Keine Einträge';
$lang[err_ldap] = 'Der LDAP Server lieferte folgende Fehlermeldungen';
?>
$lang['new'] = 'New';
$lang['delete'] = 'Delete';
$lang['copy'] = 'Copy';
+$lang[csvexport] = 'CSV';
$lang[vcfexport] = 'VCard';
$lang[vcfimport] = 'Import';
$lang[search] = 'Search';
--- /dev/null
+<?php
+/**
+ * Smarty plugin
+ * @package Smarty
+ * @subpackage plugins
+ */
+
+
+/**
+ * Smarty csv modifier plugin
+ *
+ * Type: modifier<br>
+ * Name: csv<br>
+ * Purpose: format string for CSV output
+ * @param string
+ * @return string
+ */
+function smarty_modifier_csv($string)
+{
+ return '"'.strtr(trim($string),'"','""').'"';
+}
+
+?>
--- /dev/null
+{$lang.name|csv};{$lang.givenname|csv};{$lang.title|csv};{$lang.organization|csv};{$lang.office|csv};{$lang.street|csv};{$lang.zip|csv};{$lang.location|csv};{$lang.phone|csv};{$lang.fax|csv};{$lang.pager|csv};{$lang.homestreet|csv};{$lang.homephone|csv};{$lang.mobile|csv};{$lang.url|csv};{$lang.note|csv};{$lang.mail|csv};{$lang.mail|csv};{$lang.mail|csv};
+{$list}
--- /dev/null
+{$entry.name|csv};{$entry.givenname|csv};{$entry.title|csv};{$entry.organization|csv};{$entry.office|csv};{$entry.street|csv};{$entry.zip|csv};{$entry.location|csv};{$entry.phone|csv};{$entry.fax|csv};{$entry.pager|csv};{$entry.homestreet|csv};{$entry.homephone|csv};{$entry.mobile|csv};{$lang.url|csv};{$entry.note|csv};{$entry.mail[0]|csv};{$entry.mail[1]|csv};{$entry.mail[2]|csv};
+
{if $dn}
<a href="entry.php?dn={$dn|escape:url}&mode=vcf"><img src="pix/vcard.png" border="0" width="22" height="22" align="middle">{$lang.vcfexport}</a>
{/if}
+ {if $list}
+ <a href="index.php?filter={$filter|escape:url}&export=csv"><img src="pix/csv.png" border="0" width="22" height="22" align="middle">{$lang.csvexport}</a>
+ {/if}
{if $user}
<a href="import.php"><img src="pix/import.png" border="0" width="22" height="22" align="middle">{$lang.vcfimport}</a>
{if $dn}