Support for quotas added; some output things altered
This commit is contained in:
parent
095034c17d
commit
c45e900c66
|
@ -27,23 +27,29 @@ define('FPDF_FONTPATH', 'font/');
|
||||||
include_once("fpdf.php");
|
include_once("fpdf.php");
|
||||||
|
|
||||||
function createUserPDF($accounts) {
|
function createUserPDF($accounts) {
|
||||||
|
// Check if all submitted accounts are user accounts
|
||||||
|
for($i=0;$i<count($accounts);$i++) {
|
||||||
|
$account = $accounts[$i];
|
||||||
|
if($account->type <> "user") {
|
||||||
|
return 2; // 2 means non user account submitted for createUserPDF()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Start PDF file
|
||||||
$pdfFile = new lamPDF();
|
$pdfFile = new lamPDF();
|
||||||
$pdfFile->AliasNbPages();
|
|
||||||
$pdfFile->Open();
|
$pdfFile->Open();
|
||||||
// Write some information into the PDF file
|
// Write some information into the PDF file
|
||||||
$pdfFile->setFont("arial","",12);
|
$pdfFile->setFont("arial","",12);
|
||||||
$pdfFile->setTitle("LDAP Account Manager");
|
$pdfFile->setTitle("LDAP Account Manager");
|
||||||
$pdfFile->setSubject(_("User information page"));
|
$pdfFile->setSubject(_("User information page"));
|
||||||
$pdfFile->setAuthor("LDAP Account Manager Devel-Team -Michael Dürgner-");
|
$pdfFile->setAuthor("LDAP Account Manager Devel-Team -Michael Dürgner-");
|
||||||
$pdfFile->setCreator("LDAP Account Manager (pdf.inc)");
|
$pdfFile->setCreator("LDAP Account Manager (pdf.inc)");
|
||||||
|
// Loop for every sumbitted account and print its values on a extra page
|
||||||
for($i=0;$i<count($accounts);$i++) {
|
for($i=0;$i<count($accounts);$i++) {
|
||||||
$account = $accounts[$i];
|
$account = $accounts[$i];
|
||||||
$iv = base64_decode($_COOKIE['IV']);
|
$iv = base64_decode($_COOKIE['IV']);
|
||||||
$key = base64_decode($_COOKIE['Key']);
|
$key = base64_decode($_COOKIE['Key']);
|
||||||
$account->unix_password = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($account->unix_password), MCRYPT_MODE_ECB, $iv);
|
|
||||||
$account->unix_password = str_replace(chr(00), '', $account->unix_password);
|
|
||||||
$pdfFile->addPage();
|
$pdfFile->addPage();
|
||||||
// Print General settings
|
// Print General settings
|
||||||
$pdfFile->setFont("arial","B",12);
|
$pdfFile->setFont("arial","B",12);
|
||||||
$pdfFile->Write(5,"- " . _("General User Settings") . ":");
|
$pdfFile->Write(5,"- " . _("General User Settings") . ":");
|
||||||
$pdfFile->Ln(6);
|
$pdfFile->Ln(6);
|
||||||
|
@ -88,13 +94,21 @@ function createUserPDF($accounts) {
|
||||||
$pdfFile->Cell(50,5,$text,0,1,"L",0);
|
$pdfFile->Cell(50,5,$text,0,1,"L",0);
|
||||||
$pdfFile->Ln(9);
|
$pdfFile->Ln(9);
|
||||||
$pdfFile->setFont("arial","B",12);
|
$pdfFile->setFont("arial","B",12);
|
||||||
// print Unix settings
|
// Print Unix settings
|
||||||
$pdfFile->Write(5,"- " . _("Unix User Settings") . ":");
|
$pdfFile->Write(5,"- " . _("Unix User Settings") . ":");
|
||||||
$pdfFile->Ln(6);
|
$pdfFile->Ln(6);
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
$pdfFile->Cell(50,5,_("Unix password") . ":",0,0,"R",0);
|
$pdfFile->Cell(50,5,_("Unix password") . ":",0,0,"R",0);
|
||||||
$pdfFile->setFont("times","B",10);
|
if($account->unix_password_no == "1") {
|
||||||
$pdfFile->Cell(50,5,$account->unix_password,0,1,"L",0);
|
$pdfFile->setFont("times","B",10);
|
||||||
|
$pdfFile->Cell(50,5,_("Unix password disabled!"),0,1,"L",0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$account->unix_password = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($account->unix_password), MCRYPT_MODE_ECB, $iv);
|
||||||
|
$account->unix_password = str_replace(chr(00), '', $account->unix_password);
|
||||||
|
$pdfFile->setFont("times","B",10);
|
||||||
|
$pdfFile->Cell(50,5,$account->unix_password,0,1,"L",0);
|
||||||
|
}
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
$pdfFile->Cell(50,5,_("Password expire") . ":",0,0,"R",0);
|
$pdfFile->Cell(50,5,_("Password expire") . ":",0,0,"R",0);
|
||||||
$pdfFile->setFont("times","B",10);
|
$pdfFile->setFont("times","B",10);
|
||||||
|
@ -105,24 +119,22 @@ function createUserPDF($accounts) {
|
||||||
$pdfFile->Cell(50,5,$account->unix_host,0,1,"L",0);
|
$pdfFile->Cell(50,5,$account->unix_host,0,1,"L",0);
|
||||||
$pdfFile->Ln(9);
|
$pdfFile->Ln(9);
|
||||||
$pdfFile->setFont("arial","B",12);
|
$pdfFile->setFont("arial","B",12);
|
||||||
// Print Samba settings
|
// Print Samba settings
|
||||||
$pdfFile->Write(5,"- " . _("Samba User Settings") . ":");
|
$pdfFile->Write(5,"- " . _("Samba User Settings") . ":");
|
||||||
$pdfFile->Ln(6);
|
$pdfFile->Ln(6);
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
$pdfFile->Cell(50,5,_("Use Unix password") . ":",0,0,"R",0);
|
$pdfFile->Cell(50,5,_("Samba password") . ":",0,0,"R",0);
|
||||||
$pdfFile->setFont("times","B",10);
|
if($account->smb_password_no == "1") {
|
||||||
if($account->smb_useunixpwd == 1) {
|
$pdfFile->setFont("times","B",10);
|
||||||
$text = _("Yes");
|
$pdfFile->Cell(50,5,_("Samba password disabled!"),0,1,"L",0);
|
||||||
|
}
|
||||||
|
elseif($account->smb_useunixpwd == "1") {
|
||||||
|
$pdfFile->setFont("times","B",10);
|
||||||
|
$pdfFile->Cell(50,5,_("Samba password set to unix password."),0,1,"L",0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$text = _("No");
|
|
||||||
}
|
|
||||||
$pdfFile->Cell(50,5,$text,0,1,"L",0);
|
|
||||||
if($account->smb_useunixpwd == 0) {
|
|
||||||
$account->smb_password = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($account->smb_password), MCRYPT_MODE_ECB, $iv);
|
$account->smb_password = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($account->smb_password), MCRYPT_MODE_ECB, $iv);
|
||||||
$account->smb_password = str_replace(chr(00), '', $account->smb_password);
|
$account->smb_password = str_replace(chr(00), '', $account->smb_password);
|
||||||
$pdfFile->setFont("times","",10);
|
|
||||||
$pdfFile->Cell(50,5,_("Samba password") . ":",0,0,"R",0);
|
|
||||||
$pdfFile->setFont("times","B",10);
|
$pdfFile->setFont("times","B",10);
|
||||||
$pdfFile->Cell(50,5,$account->smb_password,0,1,"L",0);
|
$pdfFile->Cell(50,5,$account->smb_password,0,1,"L",0);
|
||||||
}
|
}
|
||||||
|
@ -149,19 +161,40 @@ function createUserPDF($accounts) {
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
$pdfFile->Cell(50,5,_("Samba Domain") . ":",0,0,"R",0);
|
$pdfFile->Cell(50,5,_("Samba Domain") . ":",0,0,"R",0);
|
||||||
$pdfFile->setFont("times","B",10);
|
$pdfFile->setFont("times","B",10);
|
||||||
|
if($_SESSION['config']->get_samba3() == "yes") {
|
||||||
|
$account->smb_domain = $account->smb_domain->name;
|
||||||
|
}
|
||||||
$pdfFile->Cell(50,5,$account->smb_domain,0,1,"L",0);
|
$pdfFile->Cell(50,5,$account->smb_domain,0,1,"L",0);
|
||||||
$pdfFile->Ln(9);
|
$pdfFile->Ln(9);
|
||||||
$pdfFile->setFont("arial","B",12);
|
$pdfFile->setFont("arial","B",12);
|
||||||
// Print Quota settings (no quota outpunt yet)
|
// Print Quota settings
|
||||||
$pdfFile->Write(5,"- " . _("Quota Settings") . ":");
|
$pdfFile->Write(5,"- " . _("Quota Settings") . ":");
|
||||||
$pdfFile->Ln(6);
|
$pdfFile->Ln(6);
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
$pdfFile->Cell(50,5,_("User quota(s)") . ":",0,0,"R",0);
|
$pdfFile->Cell(50,5,_("User quota(s)") . ":",0,0,"R",0);
|
||||||
$pdfFile->setFont("times","B",10);
|
$pdfFile->setFont("times","B",10);
|
||||||
$pdfFile->Cell(50,5,$account->quota,0,1,"L",0);
|
$quotas = $account->quota;
|
||||||
|
if(count($quota)>0) {
|
||||||
|
$pdfFile->Cell(20,5,_("Mountpoint"),0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,_("Soft block"),0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,_("Soft inode"),0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,_("Hard block"),0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,_("Hard inode"),0,1,"L",0);
|
||||||
|
for($j=0;$j<count($quotas);$j++) {
|
||||||
|
$pdfFile->Cell(50,5,"",0,0,"R",0);
|
||||||
|
$pdfFile->Cell(20,5,$quotas[$j][0],0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,$quotas[$j][2],0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,$quotas[$j][3],0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,$quotas[$j][6],0,0,"L",0);
|
||||||
|
$pdfFile->Cell(20,5,$quotas[$j][7],0,1,"L",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$pdfFile->Cell(50,5,_("No user quotas defined or no quota support by filesystem."),0,1,"L",0);
|
||||||
|
}
|
||||||
$pdfFile->Ln(9);
|
$pdfFile->Ln(9);
|
||||||
$pdfFile->setFont("arial","B",12);
|
$pdfFile->setFont("arial","B",12);
|
||||||
// Print Personal settings
|
// Print Personal settings
|
||||||
$pdfFile->Write(5,"- " . _("Personal User Settings") . ":");
|
$pdfFile->Write(5,"- " . _("Personal User Settings") . ":");
|
||||||
$pdfFile->Ln(6);
|
$pdfFile->Ln(6);
|
||||||
$pdfFile->setFont("times","",10);
|
$pdfFile->setFont("times","",10);
|
||||||
|
@ -197,13 +230,16 @@ function createUserPDF($accounts) {
|
||||||
$pdfFile->setFont("times","B",10);
|
$pdfFile->setFont("times","B",10);
|
||||||
$pdfFile->Cell(50,5,$account->personal_postalAddress,0,1,"L",0);
|
$pdfFile->Cell(50,5,$account->personal_postalAddress,0,1,"L",0);
|
||||||
}
|
}
|
||||||
|
// Close document and send it to the browser
|
||||||
$pdfFile->Close();
|
$pdfFile->Close();
|
||||||
$pdfFile->Output();
|
$pdfFile->Output();
|
||||||
|
return 0; // 0 means everything successful; page(s) printed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// lamPDF class || For defining own a Header and Footer
|
||||||
class lamPDF extends FPDF {
|
class lamPDF extends FPDF {
|
||||||
|
// Print page header
|
||||||
function header() {
|
function header() {
|
||||||
// Print page header
|
|
||||||
$this->Image("../graphics/printLogo.jpg",10,10,50,20,"JPG");
|
$this->Image("../graphics/printLogo.jpg",10,10,50,20,"JPG");
|
||||||
$this->SetFont("arial","B",22);
|
$this->SetFont("arial","B",22);
|
||||||
$this->Cell(170,5,"LDAP Account Manager",0,1,"R",0);
|
$this->Cell(170,5,"LDAP Account Manager",0,1,"R",0);
|
||||||
|
@ -216,8 +252,8 @@ class lamPDF extends FPDF {
|
||||||
$this->SetY(60);
|
$this->SetY(60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print page footer
|
||||||
function footer() {
|
function footer() {
|
||||||
// Print page footer
|
|
||||||
$this->SetLineWidth(0.8);
|
$this->SetLineWidth(0.8);
|
||||||
$this->Line(10,280,200,280);
|
$this->Line(10,280,200,280);
|
||||||
$this->Line(10,282,200,282);
|
$this->Line(10,282,200,282);
|
||||||
|
|
Loading…
Reference in New Issue