]> git.sur5r.net Git - contagged/blobdiff - inc/template.php
Added QR Code export
[contagged] / inc / template.php
index 93095a182e60d956c1e892403f7769cd4431c76e..6042c7b9a75d89c1cad3fdb3bf6aeb455658c6de 100644 (file)
@@ -26,6 +26,7 @@ function tpl_std(){
   $smarty->assign('conf',$conf);
   $smarty->assign('lang',$lang);
   $smarty->assign('fields',$FIELDS);
+  $smarty->assign('lettertabs',explode(' ',$lang['lettertabs']));
 }
 
 /**
@@ -65,7 +66,7 @@ function tpl_entry($in){
   $out['dn']          = normalize_dn($out['dn']);
   $conf['publicbook'] = normalize_dn($conf['publicbook']);
   if($out['dn']){
-      if(strstr($out['dn'],$conf['publicbook'])){
+      if(stristr($out['dn'],$conf['publicbook'])){
           $out['type'] = 'public';
       }else{
           $out['type'] = 'private';
@@ -75,6 +76,8 @@ function tpl_entry($in){
   // join marker field to markers
   if(is_array($out['marker'])) $out['markers'] = join(', ',$out['marker']);
 
+  $out['qrcode'] = tpl_qrcode($out);
+
 /*
 print '<pre>';
 print_r($out);
@@ -84,6 +87,20 @@ print '</pre>';
   $smarty->assign('entry',$out);
 }
 
+function tpl_qrcode($in){
+    $data = "BEGIN:VCARD\n";
+    $data .= "N:{$in['name']};{$in['givenname']}\n";
+    if($in['mobile'])    $data .= "TEL;CELL:{$in['mobile']}\n";
+    if($in['phone'])     $data .= "TEL;WORK:{$in['phone']}\n";
+    if($in['homephone']) $data .= "TEL;HOME:{$in['homephone']}\n";
+    if($in['mail'][0])   $data .= "EMAIL:{$in['mail'][0]}\n";
+    $data .= "END:VCARD";
+    $data = rawurlencode($data);
+
+    return 'http://chart.apis.google.com/chart?cht=qr&chld=L|5&chs=500x500&chl='.$data.'&.png';
+}
+
+
 /**
  * assigns the last LDAP error to the template
  */
@@ -96,7 +113,10 @@ function tpl_ldaperror($message=""){
     $__LDAPERROR__ .= ldap_err2str($errno);
     if(!empty($message)){
       $__LDAPERROR__ .= "($message)";
+    }elseif($errno == 4){
+      $__LDAPERROR__ .= "(You need to increase this limit in your server config)";
     }
+    $__LDAPERROR__ .= '<br />';
   }
   $smarty->assign("LDAPERRORS",$__LDAPERROR__);
 }
@@ -116,7 +136,7 @@ function tpl_markers(){
   $sr = ldap_list($LDAP_CON,$conf['publicbook'],"ObjectClass=inetOrgPerson",array("marker"));
   $result1 = ldap_get_binentries($LDAP_CON, $sr);
   //check users private addressbook
-  if(!empty($_SESSION['ldapab']['binddn'])){
+  if(!empty($_SESSION['ldapab']['binddn']) && $conf['privatebook']){
     $sr = @ldap_list($LDAP_CON,
                     $conf['privatebook'].','.$_SESSION['ldapab']['binddn'],
                     "ObjectClass=inetOrgPerson",array("marker"));
@@ -180,7 +200,7 @@ function tpl_categories(){
   $sr = ldap_list($LDAP_CON,$conf['publicbook'],"ObjectClass=OXUserObject",array("OXUserCategories"));
   $result1 = ldap_get_binentries($LDAP_CON, $sr);
   //check users private addressbook
-  if(!empty($_SESSION['ldapab']['binddn'])){
+  if(!empty($_SESSION['ldapab']['binddn']) && $conf['privatebook']){
     $sr = @ldap_list($LDAP_CON,
                     $conf['privatebook'].','.$_SESSION['ldapab']['binddn'],
                     "ObjectClass=OXUserObject",array("OXUserCategories"));
@@ -218,7 +238,7 @@ function tpl_timezone(){
   $sr = ldap_list($LDAP_CON,$conf['publicbook'],"ObjectClass=OXUserObject",array("OXTimeZone"));
   $result1 = ldap_get_binentries($LDAP_CON, $sr);
   //check users private addressbook
-  if(!empty($_SESSION['ldapab']['binddn'])){
+  if(!empty($_SESSION['ldapab']['binddn']) && $conf['privatebook']){
     $sr = @ldap_list($LDAP_CON,
                     $conf['privatebook'].','.$_SESSION['ldapab']['binddn'],
                     "ObjectClass=OXUserObject",array("OXTimeZone"));
@@ -256,7 +276,7 @@ function tpl_country(){
   $sr = ldap_list($LDAP_CON,$conf['publicbook'],"ObjectClass=OXUserObject",array("userCountry"));
   $result1 = ldap_get_binentries($LDAP_CON, $sr);
   //check users private addressbook
-  if(!empty($_SESSION['ldapab']['binddn'])){
+  if(!empty($_SESSION['ldapab']['binddn']) && $conf['privatebook']){
     $sr = @ldap_list($LDAP_CON,
                     $conf['privatebook'].','.$_SESSION['ldapab']['binddn'],
                     "ObjectClass=OXUserObject",array("userCountry"));