require_once('inc/init.php');
ldap_login();
-if ($conf['userlogreq'] && $user == ''){
+if ($conf['userlogreq'] && !isset($_SESSION['ldapab']['username'])){
header('Location: login.php');
exit();
}
$filename = $entry['givenname'].'_'.$entry['name'].'.vcf';
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-type: text/x-vcard; name=\"$filename\"; charset=utf-8");
- $smarty->display($template);
+ $output = $smarty->fetch($template) . "\n";
+ $output = str_replace("\n", "\r\n", $output);
+ echo $output;
}else{
+ if($_REQUEST['mode']=='map'){
+ $entry = $smarty->get_template_vars('entry');
+
+ require_once 'inc/Geocoder.php';
+ $geocoder = new Geocoder();
+ $coords = array();
+ addCoords($coords, $entry, $geocoder);
+ $smarty->assign('coords', $coords);
+ }
+
header('Content-Type: text/html; charset=utf-8');
$smarty->display($template);
}
global $smarty;
global $users; //contains the users for manager role
- $sr = ldap_search($LDAP_CON,$dn,'(objectClass=inetOrgPerson)');
- if(!ldap_count_entries($LDAP_CON,$sr)){
+ $sr = @ldap_search($LDAP_CON,$dn,'(objectClass=inetOrgPerson)');
+ tpl_ldaperror();
+ if(!@ldap_count_entries($LDAP_CON,$sr)){
return false;
}
$result = ldap_get_binentries($LDAP_CON, $sr);
$entry = $_REQUEST['entry'];
$dn = $_REQUEST['dn'];
//construct new dn
- $now = time();
- $newdn = 'uid='.$now;
+ $new_uid = time().str_pad(mt_rand(0,99999999),8,"0", STR_PAD_LEFT);
+ $newdn = 'uid='.$new_uid;
if (empty($_REQUEST['type'])) { $_REQUEST['type']='public'; }
- if($_REQUEST['type'] == 'private'){
- $newdn .= ', '.$conf['privatebook'].', '.$_SESSION['ldapab']['binddn'];
+ if($_REQUEST['type'] == 'private' && $conf['privatebook']){
+ $newdn .= ','.$conf['privatebook'].','.$_SESSION['ldapab']['binddn'];
}else{
- $newdn .= ', '.$conf['publicbook'];
+ $newdn .= ','.$conf['publicbook'];
}
$entry['displayname'] = $entry['givenname'].' '.$entry['name'];;
$entry = prepare_ldap_entry($entry);
if(empty($dn)){
//new entry
- $entry['uid'][] = $now;
- $r = ldap_add($LDAP_CON,$newdn,$entry);
+ $entry['uid'][] = $new_uid;
+ $r = @ldap_add($LDAP_CON,$newdn,$entry);
tpl_ldaperror();
return $newdn;
}else{
* gets the binary data from an uploaded file
*/
function _getUploadData(){
+ global $smarty;
+ global $lang;
$file = $_FILES['photoupload'];
if (is_uploaded_file($file['tmp_name'])) {
fclose($fh);
unlink($file['tmp_name']);
return $data;
+ } else {
+ $smarty->assign('jpegError',$lang['err_wrongFileType']);
+ }
+ } elseif (preg_match('/http:\/\//', $_REQUEST["photo"])) {
+ $fd = fopen($_REQUEST["photo"], "rb");
+ $data = '';
+ while (!feof($fd)) {
+ $data .= fread($fd, 8192);
}
+ fclose($fd);
+ return $data;
+ } else {
+ $smarty->assign('jpegError',$lang['err_fileNotUploaded']);
}
return '';
}