From 7b54e42c6c3fb558b1c0db2b95d75d1c90304658 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Mon, 29 Dec 2008 19:21:08 +0000 Subject: [PATCH] added PDF support and fixed some bugs --- lam/lib/modules/range.inc | 41 ++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/lam/lib/modules/range.inc b/lam/lib/modules/range.inc index 77b62aaf..a3bea1a9 100644 --- a/lam/lib/modules/range.inc +++ b/lam/lib/modules/range.inc @@ -4,6 +4,7 @@ $Id$ This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) Copyright (C) 2008 Thomas Manninger + 2008 Roland Gruber 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 @@ -28,6 +29,7 @@ $Id$ * @package modules * * @author Thomas Manninger +* @author Roland Gruber */ /** @@ -89,7 +91,7 @@ class range extends baseModule { ) ); // available PDF fields - $return['PDF_fields'] = array(); + $return['PDF_fields'] = array('ranges'); return $return; } @@ -141,20 +143,15 @@ class range extends baseModule { **/ public function check_subnet_range($ip,$subnet) { - // Check if the range was valid with the subnet: $ex = explode(".", $ip); $ex_subnet = explode(".", $subnet); - if ($ex[0]==$ex_subnet[0] && $ex[1]==$ex_subnet[1] && $ex[2]==$ex_subnet[2]) { - return true; } - else - { + else { return false; } - } /** @@ -246,8 +243,9 @@ class range extends baseModule { if(is_array($this->ranges)) { $ex_subnet = explode(".", $_SESSION['account']->getAccountModule('dhcp_settings')->attributes['cn'][0]); $range_edit = false; // Range were edit? + $dhcpAttrs = $_SESSION['account']->getAccountModule('dhcp_settings')->getAttributes(); foreach ($this->ranges AS $id=>$arr) { - if (!empty($this->ranges[$id]['range_start']) && !$this->check_subnet_range($this->ranges[$id]['range_start'],$_SESSION['account']->getAccountModule('dhcp_settings')->$this->attributes['cn'][0])) { + if (!empty($this->ranges[$id]['range_start']) && !$this->check_subnet_range($this->ranges[$id]['range_start'],$dhcpAttrs['cn'][0])) { // Range anpassen: $ex = explode(".", $this->ranges[$id]['range_start']); $tmp = $this->ranges[$id]['range_start']; @@ -255,7 +253,7 @@ class range extends baseModule { if($tmp!=$this->ranges[$id]['range_start']) $range_edit = true; } - if (!empty($this->ranges[$id]['range_end']) && !$this->check_subnet_range($this->ranges[$id]['range_start'],$_SESSION['account']->getAccountModule('dhcp_settings')->$this->attributes['cn'][0])) { + if (!empty($this->ranges[$id]['range_end']) && !$this->check_subnet_range($this->ranges[$id]['range_start'],$dhcpAttrs['cn'][0])) { // Range anpassen: $ex = explode(".", $this->ranges[$id]['range_end']); $tmp = $this->ranges[$id]['range_end']; @@ -339,7 +337,7 @@ class range extends baseModule { } // Check if Subnet and range last are valid: - if (!$this->check_subnet_range($_POST['range_last_'.$id],$_SESSION['account']->getAccountModule('dhcp_settings')->$this->attributes['cn'][0])) { + if (!$this->check_subnet_range($_POST['range_end_'.$id],$_SESSION['account']->getAccountModule('dhcp_settings')->attributes['cn'][0])) { $was_a_error = true; } @@ -476,5 +474,26 @@ class range extends baseModule { return $return; } + /** + * Returns the PDF entries for this module. + * + * @return array list of possible PDF entries + */ + function get_pdfEntries() { + $return = array(); + if (is_array($this->ranges) && (sizeof($this->ranges) > 0)) { + $start = $this->ranges[0]['range_start']; + $end = $this->ranges[0]['range_end']; + $return[get_class($this) . '_ranges'] = array('' . _('Ranges') . '' . $start . " - " . $end . ''); + for ($i = 1; $i < sizeof($this->ranges); $i++) { + $start = $this->ranges[$i]['range_start']; + $end = $this->ranges[$i]['range_end']; + $return[get_class($this) . '_ranges'][] = '' . $start . " - " . $end . ''; + } + } + return $return; + } + } -?> \ No newline at end of file + +?>