From cvs w lms.org.pl Fri Dec 3 12:12:38 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Fri, 3 Dec 2010 12:12:38 +0100 (CET)
Subject: [lms-commits] CVS update of lms/modules (cashimport.php)
Message-ID: <20101203111238.B3FD53027B8D@hydra.altec.pl>
Date: Friday, December 3, 2010 @ 12:12:38
Author: alec
Path: /cvsroot/lms/modules
Modified: cashimport.php
- Fix calculations
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/modules/cashimport.php.diff?&r1=1.25&r2=1.26
Index: lms/modules/cashimport.php
diff -u lms/modules/cashimport.php:1.25 lms/modules/cashimport.php:1.26
--- lms/modules/cashimport.php:1.25 Thu Mar 11 14:07:44 2010
+++ lms/modules/cashimport.php Fri Dec 3 12:12:38 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: cashimport.php,v 1.25 2010/03/11 13:07:44 alec Exp $
+ * $Id: cashimport.php,v 1.26 2010/12/03 11:12:38 alec Exp $
*/
$layout['pagetitle'] = trans('Cash Operations Import');
@@ -114,12 +114,12 @@
$customers = $_POST['customer'];
foreach($marks as $id)
{
- if(isset($customers[$id]))
+ if(!empty($customers[$id]))
{
$DB->BeginTrans();
-
+
$import = $DB->GetRow('SELECT * FROM cashimport WHERE id = ?', array($id));
-
+
$balance['time'] = $import['date'];
$balance['type'] = 1;
$balance['value'] = $import['value'];
@@ -127,7 +127,7 @@
$balance['comment'] = $import['description'];
$balance['importid'] = $import['id'];
$balance['sourceid'] = $import['sourceid'];
-
+
if($import['value'] > 0 && isset($CONFIG['finances']['cashimport_checkinvoices'])
&& chkconfig($CONFIG['finances']['cashimport_checkinvoices']))
{
@@ -146,11 +146,12 @@
{
foreach($invoices as $inv)
$sum += $inv['value'];
-
+
$bval = $LMS->GetCustomerBalance($customers[$id]);
- $value = $bval + $import['value'] + $sum;
+ $value = f_round($bval + $import['value'] + $sum);
- foreach($invoices as $inv)
+ foreach($invoices as $inv) {
+ $inv['value'] = f_round($inv['value']);
if($inv['value'] > $value)
break;
else
@@ -159,12 +160,13 @@
$DB->Execute('UPDATE documents SET closed = 1
WHERE id = ? OR reference = ?',
array($inv['id'], $inv['id']));
-
+
$value -= $inv['value'];
}
+ }
}
}
-
+
$DB->Execute('UPDATE cashimport SET closed = 1 WHERE id = ?', array($id));
$LMS->AddBalance($balance);
From cvs w lms.org.pl Thu Dec 9 11:10:04 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Thu, 9 Dec 2010 11:10:04 +0100 (CET)
Subject: [lms-commits] CVS update of lms/contrib (initLMS.php)
Message-ID: <20101209101004.D45AD3027B8B@hydra.altec.pl>
Date: Thursday, December 9, 2010 @ 11:10:04
Author: alec
Path: /cvsroot/lms/contrib
Modified: initLMS.php
- add some constant definitions required by LMS core functions
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/contrib/initLMS.php.diff?&r1=1.25&r2=1.26
Index: lms/contrib/initLMS.php
diff -u lms/contrib/initLMS.php:1.25 lms/contrib/initLMS.php:1.26
--- lms/contrib/initLMS.php:1.25 Mon May 24 09:43:16 2010
+++ lms/contrib/initLMS.php Thu Dec 9 11:10:04 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: initLMS.php,v 1.25 2010/05/24 07:43:16 chilek Exp $
+ * $Id: initLMS.php,v 1.26 2010/12/09 10:10:04 alec Exp $
*/
// REPLACE THIS WITH PATH TO YOU CONFIG FILE
@@ -33,8 +33,15 @@
// Check for configuration vars and set default values
$CONFIG['directories']['sys_dir'] = (! $CONFIG['directories']['sys_dir'] ? getcwd() : $CONFIG['directories']['sys_dir']);
$CONFIG['directories']['lib_dir'] = (! $CONFIG['directories']['lib_dir'] ? $CONFIG['directories']['sys_dir'].'/lib' : $CONFIG['directories']['lib_dir']);
+$CONFIG['directories']['doc_dir'] = (!isset($CONFIG['directories']['doc_dir']) ? $CONFIG['directories']['sys_dir'].'/documents' : $CONFIG['directories']['doc_dir']);
+$CONFIG['directories']['modules_dir'] = (!isset($CONFIG['directories']['modules_dir']) ? $CONFIG['directories']['sys_dir'].'/modules' : $CONFIG['directories']['modules_dir']);
-require_once($CONFIG['directories']['lib_dir'].'/config.php');
+define('SYS_DIR', $CONFIG['directories']['sys_dir']);
+define('LIB_DIR', $CONFIG['directories']['lib_dir']);
+define('DOC_DIR', $CONFIG['directories']['doc_dir']);
+define('MODULES_DIR', $CONFIG['directories']['modules_dir']);
+
+require_once(LIB_DIR.'/config.php');
// Init database
$_DBTYPE = $CONFIG['database']['type'];
@@ -43,7 +50,7 @@
$_DBPASS = $CONFIG['database']['password'];
$_DBNAME = $CONFIG['database']['database'];
-require_once($CONFIG['directories']['lib_dir'].'/LMSDB.php');
+require_once(LIB_DIR.'/LMSDB.php');
$DB = DBInit($_DBTYPE, $_DBHOST, $_DBUSER, $_DBPASS, $_DBNAME);
@@ -57,10 +64,10 @@
// Include required files (including sequence is important)
-require_once($CONFIG['directories']['lib_dir'].'/language.php');
-require_once($CONFIG['directories']['lib_dir'].'/definitions.php');
-require_once($CONFIG['directories']['lib_dir'].'/common.php');
-require_once($CONFIG['directories']['lib_dir'].'/LMS.class.php');
+require_once(LIB_DIR.'/language.php');
+require_once(LIB_DIR.'/definitions.php');
+require_once(LIB_DIR.'/common.php');
+require_once(LIB_DIR.'/LMS.class.php');
$AUTH = NULL;
From cvs w lms.org.pl Fri Dec 10 17:48:14 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Fri, 10 Dec 2010 17:48:14 +0100 (CET)
Subject: [lms-commits] CVS update of lms/modules (netdevedit.php)
Message-ID: <20101210164814.68685302C928@hydra.altec.pl>
Date: Friday, December 10, 2010 @ 17:48:14
Author: chilek
Path: /cvsroot/lms/modules
Modified: netdevedit.php
- missed proper mac validation
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/modules/netdevedit.php.diff?&r1=1.70&r2=1.71
Index: lms/modules/netdevedit.php
diff -u lms/modules/netdevedit.php:1.70 lms/modules/netdevedit.php:1.71
--- lms/modules/netdevedit.php:1.70 Fri May 7 14:22:31 2010
+++ lms/modules/netdevedit.php Fri Dec 10 17:48:13 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: netdevedit.php,v 1.70 2010/05/07 12:22:31 chilek Exp $
+ * $Id: netdevedit.php,v 1.71 2010/12/10 16:48:13 chilek Exp $
*/
if(! $LMS->NetDevExists($_GET['id']))
@@ -377,6 +377,7 @@
$error['mac'.$key] = trans('Incorrect MAC address!');
if(empty($macs))
$error['mac0'] = trans('MAC address is required!');
+ $nodeipdata['macs'] = $macs;
if(strlen($nodeipdata['passwd']) > 32)
$error['passwd'] = trans('Password is too long (max.32 characters)!');
From cvs w lms.org.pl Tue Dec 14 09:16:30 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:30 +0100 (CET)
Subject: [lms-commits] CVS update of lms/doc/html/pl (devel-db.html)
Message-ID: <20101214081630.751A43039A44@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/doc/html/pl
Modified: devel-db.html
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/doc/html/pl/devel-db.html.diff?&r1=1.67&r2=1.68
Index: lms/doc/html/pl/devel-db.html
diff -u lms/doc/html/pl/devel-db.html:1.67 lms/doc/html/pl/devel-db.html:1.68
--- lms/doc/html/pl/devel-db.html:1.67 Wed Jun 23 16:03:53 2010
+++ lms/doc/html/pl/devel-db.html Tue Dec 14 09:16:30 2010
@@ -294,6 +294,18 @@
>
paytype - typ płatności faktur (zobacz tabela documents)
einvoice - zezwolenie na faktury elektroniczne
invoicenotice - zezwolenie na dostarczanie faktur pocztą elektroniczną
mailingnotice - zezwolenie na dostarczanie informacji pocztą elektroniczną lub smsem
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/doc/sgml
Modified: advanced.sgml
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/doc/sgml/advanced.sgml.diff?&r1=1.114&r2=1.115
Index: lms/doc/sgml/advanced.sgml
diff -u lms/doc/sgml/advanced.sgml:1.114 lms/doc/sgml/advanced.sgml:1.115
--- lms/doc/sgml/advanced.sgml:1.114 Wed Jun 23 16:03:53 2010
+++ lms/doc/sgml/advanced.sgml Tue Dec 14 09:16:30 2010
@@ -1,4 +1,4 @@
-
+
For curious
@@ -124,6 +124,9 @@
cutoffstop - date to which customers cutting off is disabledpaytime - invoices deadline in dayspaytype - invoices payment type identifier (see documents table)
+ einvoice - enables e-invoices
+ invoicenotice - enables invoices delivery via e-mail
+ mailingnotice - enables messages delivery via e-mail or sms
From cvs w lms.org.pl Tue Dec 14 09:16:30 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:30 +0100 (CET)
Subject: [lms-commits] CVS update of lms/doc/html/en (devel-db.html)
Message-ID: <20101214081630.54B6230340FF@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/doc/html/en
Modified: devel-db.html
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/doc/html/en/devel-db.html.diff?&r1=1.60&r2=1.61
Index: lms/doc/html/en/devel-db.html
diff -u lms/doc/html/en/devel-db.html:1.60 lms/doc/html/en/devel-db.html:1.61
--- lms/doc/html/en/devel-db.html:1.60 Wed Jun 23 16:03:53 2010
+++ lms/doc/html/en/devel-db.html Tue Dec 14 09:16:30 2010
@@ -290,6 +290,18 @@
>
paytype - invoices payment type identifier (see documents table)
einvoice - enables e-invoices
invoicenotice - enables invoices delivery via e-mail
mailingnotice - enables messages delivery via e-mail or sms
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/doc/sgml/pl
Modified: advanced.sgml
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/doc/sgml/pl/advanced.sgml.diff?&r1=1.76&r2=1.77
Index: lms/doc/sgml/pl/advanced.sgml
diff -u lms/doc/sgml/pl/advanced.sgml:1.76 lms/doc/sgml/pl/advanced.sgml:1.77
--- lms/doc/sgml/pl/advanced.sgml:1.76 Wed Jun 23 16:03:53 2010
+++ lms/doc/sgml/pl/advanced.sgml Tue Dec 14 09:16:30 2010
@@ -1,4 +1,4 @@
-
+
Dla dociekliwych
@@ -128,6 +128,9 @@
cutoffstop - data, do której blokowanie klientów zadłużonych jest wyłączonepaytime - termin płatności fakturpaytype - typ płatności faktur (zobacz tabela documents)
+ einvoice - zezwolenie na faktury elektroniczne
+ invoicenotice - zezwolenie na dostarczanie faktur pocztą elektroniczną
+ mailingnotice - zezwolenie na dostarczanie informacji pocztą elektroniczną lub smsem
From cvs w lms.org.pl Tue Dec 14 09:16:30 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:30 +0100 (CET)
Subject: [lms-commits] CVS update of lms/doc (5 files)
Message-ID: <20101214081630.2C14C30340FE@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/doc
Modified: ChangeLog README README.pl lms.mysql lms.pgsql
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/doc/ChangeLog.diff?&r1=1.1518&r2=1.1519
http://cvs.lms.org.pl/viewvc/Development/lms/doc/README.diff?&r1=1.225&r2=1.226
http://cvs.lms.org.pl/viewvc/Development/lms/doc/README.pl.diff?&r1=1.54&r2=1.55
http://cvs.lms.org.pl/viewvc/Development/lms/doc/lms.mysql.diff?&r1=1.174&r2=1.175
http://cvs.lms.org.pl/viewvc/Development/lms/doc/lms.pgsql.diff?&r1=1.170&r2=1.171
Index: lms/doc/ChangeLog
diff -u lms/doc/ChangeLog:1.1518 lms/doc/ChangeLog:1.1519
--- lms/doc/ChangeLog:1.1518 Tue Nov 30 12:43:40 2010
+++ lms/doc/ChangeLog Tue Dec 14 09:16:29 2010
@@ -1,4 +1,4 @@
-$Id: ChangeLog,v 1.1518 2010/11/30 11:43:40 alec Exp $
+$Id: ChangeLog,v 1.1519 2010/12/14 08:16:29 alec Exp $
version ? (????-??-??)
@@ -45,6 +45,9 @@
placed in one file for all subnetworks (alec)
- allow setting assignment period for disposable liabilities (alec)
- improved performance of traffic database compacting procedure (alec)
+ - added "consent to e-invoices" switch in customer data (alec)
+ - added "consent to invoices delivery via e-mail" switch in customer data (alec)
+ - added "consent to messages delivery via e-mail or sms" switch in customer data (alec)
version 1.11.10 Kri (2010-04-19)
Index: lms/doc/README
diff -u lms/doc/README:1.225 lms/doc/README:1.226
--- lms/doc/README:1.225 Mon Sep 20 14:23:37 2010
+++ lms/doc/README Tue Dec 14 09:16:29 2010
@@ -5357,6 +5357,9 @@
cutoffstop - date to which customers cutting off is disabled
paytime - invoices deadline in days
paytype - invoices payment type identifier (see documents table)
+ einvoice - enables e-invoices
+ invoicenotice - enables invoices delivery via e-mail
+ mailingnotice - enables messages delivery via e-mail or sms
__________________________________________________________________
7.2.3. Customer groups ('customergroups')
Index: lms/doc/README.pl
diff -u lms/doc/README.pl:1.54 lms/doc/README.pl:1.55
--- lms/doc/README.pl:1.54 Mon Sep 20 14:23:37 2010
+++ lms/doc/README.pl Tue Dec 14 09:16:29 2010
@@ -6260,6 +6260,10 @@
wyłączone
paytime - termin płatności faktur
paytype - typ płatności faktur (zobacz tabela documents)
+ einvoice - zezwolenie na faktury elektroniczne
+ invoicenotice - zezwolenie na dostarczanie faktur pocztą elektroniczną
+ mailingnotice - zezwolenie na dostarczanie informacji pocztą
+ elektroniczną lub smsem
__________________________________________________________________
7.2.3. Grupy klientów ('customergroups')
Index: lms/doc/lms.mysql
diff -u lms/doc/lms.mysql:1.174 lms/doc/lms.mysql:1.175
--- lms/doc/lms.mysql:1.174 Mon Jun 28 11:23:03 2010
+++ lms/doc/lms.mysql Tue Dec 14 09:16:29 2010
@@ -1,5 +1,5 @@
# --------------------------------------------------------
-# $Id: lms.mysql,v 1.174 2010/06/28 09:23:03 alec Exp $
+# $Id: lms.mysql,v 1.175 2010/12/14 08:16:29 alec Exp $
# --------------------------------------------------------
#
@@ -34,7 +34,8 @@
id int(11) NOT NULL auto_increment,
tariffid int(11) NOT NULL DEFAULT '0',
liabilityid int(11) NOT NULL DEFAULT '0',
- customerid int(11) NOT NULL DEFAULT '0',
+ customerid int(11) NOT NULL
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
period smallint NOT NULL DEFAULT '0',
at int(11) NOT NULL DEFAULT '0',
datefrom int(11) NOT NULL DEFAULT '0',
@@ -625,6 +626,9 @@
pin int(6) NOT NULL DEFAULT '0',
cutoffstop int(11) NOT NULL DEFAULT '0',
consentdate int(11) NOT NULL DEFAULT '0',
+ einvoice tinyint(1) DEFAULT NULL,
+ invoicenotice tinyint(1) DEFAULT NULL,
+ mailingnotice tinyint(1) DEFAULT NULL,
divisionid int(11) NOT NULL DEFAULT '0',
paytime tinyint NOT NULL DEFAULT '-1',
paytype smallint DEFAULT NULL,
@@ -653,10 +657,13 @@
DROP TABLE IF EXISTS customerassignments;
CREATE TABLE customerassignments (
id int(11) NOT NULL auto_increment,
- customergroupid int(11) NOT NULL DEFAULT '0',
- customerid int(11) NOT NULL DEFAULT '0',
+ customergroupid int(11) NOT NULL
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE,
+ customerid int(11) NOT NULL
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
PRIMARY KEY (id),
- UNIQUE KEY customerassignment (customergroupid, customerid)
+ UNIQUE KEY customerassignment (customergroupid, customerid),
+ INDEX customerid (customerid)
) ENGINE=InnoDB;
# --------------------------------------------------------
@@ -1098,10 +1105,12 @@
DROP TABLE IF EXISTS excludedgroups;
CREATE TABLE excludedgroups (
id int(11) NOT NULL auto_increment,
- customergroupid int(11) NOT NULL DEFAULT 0,
+ customergroupid int(11) NOT NULL,
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE,
userid int(11) NOT NULL DEFAULT 0,
PRIMARY KEY (id),
- UNIQUE KEY userid (userid, customergroupid)
+ UNIQUE KEY userid (userid, customergroupid),
+ KEY customergroupid (customergroupid)
) ENGINE=InnoDB;
# --------------------------------------------------------
@@ -1375,4 +1384,4 @@
# --------------------------------------------------------
-INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion', '2010062800');
+INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion', '2010121000');
Index: lms/doc/lms.pgsql
diff -u lms/doc/lms.pgsql:1.170 lms/doc/lms.pgsql:1.171
--- lms/doc/lms.pgsql:1.170 Fri Nov 26 11:35:41 2010
+++ lms/doc/lms.pgsql Tue Dec 14 09:16:29 2010
@@ -1,4 +1,4 @@
-/* $Id: lms.pgsql,v 1.170 2010/11/26 10:35:41 alec Exp $ */
+/* $Id: lms.pgsql,v 1.171 2010/12/14 08:16:29 alec Exp $ */
/* --------------------------------------------------------
Structure of table "users"
@@ -34,7 +34,8 @@
id integer default nextval('assignments_id_seq'::text) NOT NULL,
tariffid integer DEFAULT 0 NOT NULL,
liabilityid integer DEFAULT 0 NOT NULL,
- customerid integer DEFAULT 0 NOT NULL,
+ customerid integer NOT NULL
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
period smallint DEFAULT 0 NOT NULL,
at integer DEFAULT 0 NOT NULL,
datefrom integer DEFAULT 0 NOT NULL,
@@ -462,9 +463,12 @@
pin integer DEFAULT 0 NOT NULL,
cutoffstop integer DEFAULT 0 NOT NULL,
consentdate integer DEFAULT 0 NOT NULL,
+ einvoice smallint DEFAULT NULL,
+ invoicenotice smallint DEFAULT NULL,
+ mailingnotice smallint DEFAULT NULL,
divisionid integer DEFAULT 0 NOT NULL,
- paytime smallint DEFAULT -1 NOT NULL,
- paytype smallint DEFAULT NULL,
+ paytime smallint DEFAULT -1 NOT NULL,
+ paytype smallint DEFAULT NULL,
PRIMARY KEY (id)
);
@@ -493,12 +497,16 @@
DROP TABLE customerassignments CASCADE;
CREATE TABLE customerassignments (
id integer DEFAULT nextval('customerassignments_id_seq'::text) NOT NULL,
- customergroupid integer DEFAULT 0 NOT NULL,
- customerid integer DEFAULT 0 NOT NULL,
+ customergroupid integer NOT NULL,
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE,
+ customerid integer NOT NULL
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
PRIMARY KEY (id),
UNIQUE (customergroupid, customerid)
);
+CREATE INDEX customerassignments_customerid_idx ON customerassignments (customerid);
+
/* --------------------------------------------------------
Structure of table "stats"
-------------------------------------------------------- */
@@ -1142,11 +1150,13 @@
DROP TABLE excludedgroups CASCADE;
CREATE TABLE excludedgroups (
id integer NOT NULL DEFAULT nextval('excludedgroups_id_seq'::text),
- customergroupid integer NOT NULL DEFAULT 0,
+ customergroupid integer NOT NULL,
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE,
userid integer NOT NULL DEFAULT 0,
PRIMARY KEY (id),
UNIQUE (userid, customergroupid)
);
+CREATE INDEX excludedgroups_customergroupid_idx ON excludedgroups (customergroupid);
/* ---------------------------------------------------
Structure of table "states"
@@ -1475,4 +1485,4 @@
INSERT INTO nastypes (name) VALUES ('usrhiper');
INSERT INTO nastypes (name) VALUES ('other');
-INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion', '2010081700');
+INSERT INTO dbinfo (keytype, keyvalue) VALUES ('dbversion', '2010121000');
From cvs w lms.org.pl Tue Dec 14 09:16:31 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:31 +0100 (CET)
Subject: [lms-commits] CVS update of lms/lib/locale/pl (strings.php)
Message-ID: <20101214081631.5501E3039A47@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:31
Author: alec
Path: /cvsroot/lms/lib/locale/pl
Modified: strings.php
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/lib/locale/pl/strings.php.diff?&r1=1.365&r2=1.366
Index: lms/lib/locale/pl/strings.php
diff -u lms/lib/locale/pl/strings.php:1.365 lms/lib/locale/pl/strings.php:1.366
--- lms/lib/locale/pl/strings.php:1.365 Fri Jul 9 10:45:52 2010
+++ lms/lib/locale/pl/strings.php Tue Dec 14 09:16:31 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: strings.php,v 1.365 2010/07/09 08:45:52 alec Exp $
+ * $Id: strings.php,v 1.366 2010/12/14 08:16:31 alec Exp $
*/
$_LANG['$0 ($1 addresses)'] = '$0 ($1 adresów)';
@@ -1960,7 +1960,10 @@
$_LANG['Enter notice contents'] = 'Wprowadź treść powiadomienia';
$_LANG['Select days number of cutoff suspending'] = 'Wybierz ilość dni zawieszenia blokowania';
$_LANG['Open attachment'] = 'Otwórz załącznik';
-$_LANG['Consent for personal data processing:'] = 'Zgoda na przetwarzanie danych osobowych:';
+$_LANG['Consent to personal data processing:'] = 'Zgoda na przetwarzanie danych osobowych:';
+$_LANG['Consent to electronic invoices:'] = 'Zgoda na faktury elektroniczne:';
+$_LANG['Consent to invoices delivery via e-mail:'] = 'Zgoda na dostarczanie faktur pocztą elektroniczną:';
+$_LANG['Consent to messages delivery via e-mail or sms:'] = 'Zgoda na dostarczanie informacji pocztą elektr. lub smsem:';
$_LANG['no consent'] = 'brak zgody';
$_LANG['Rows: $0'] = 'Liczba wierszy: $0';
$_LANG['private person'] = 'osoba fizyczna';
From cvs w lms.org.pl Tue Dec 14 09:16:31 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:31 +0100 (CET)
Subject: [lms-commits] CVS update of lms/lib/upgradedb (2 files)
Message-ID: <20101214081631.91A783039A4B@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:31
Author: alec
Path: /cvsroot/lms/lib/upgradedb
Added: mysql.2010121000.php postgres.2010121000.php
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/lib/upgradedb/mysql.2010121000.php?rev=1.1
http://cvs.lms.org.pl/viewvc/Development/lms/lib/upgradedb/postgres.2010121000.php?rev=1.1
Index: lms/lib/upgradedb/mysql.2010121000.php
diff -u /dev/null lms/lib/upgradedb/mysql.2010121000.php:1.1
--- /dev/null Tue Dec 14 09:16:31 2010
+++ lms/lib/upgradedb/mysql.2010121000.php Tue Dec 14 09:16:31 2010
@@ -0,0 +1,67 @@
+BeginTrans();
+
+$DB->EXECUTE("DROP VIEW customersview");
+
+$DB->EXECUTE("ALTER TABLE customers ADD einvoice tinyint(1) DEFAULT NULL");
+$DB->EXECUTE("ALTER TABLE customers ADD invoicenotice tinyint(1) DEFAULT NULL");
+$DB->EXECUTE("ALTER TABLE customers ADD mailingnotice tinyint(1) DEFAULT NULL");
+
+$DB->EXECUTE("CREATE VIEW customersview AS
+ SELECT c.* FROM customers c
+ WHERE NOT EXISTS (
+ SELECT 1 FROM customerassignments a
+ JOIN excludedgroups e ON (a.customergroupid = e.customergroupid)
+ WHERE e.userid = lms_current_user() AND a.customerid = c.id)");
+
+$DB->EXECUTE("DELETE FROM assignments WHERE customerid NOT IN (SELECT id FROM customers)");
+$DB->EXECUTE("ALTER TABLE assignments ADD FOREIGN KEY (customerid)
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE");
+$DB->EXECUTE("ALTER TABLE assignments MODIFY customerid int(11) NOT NULL");
+
+$DB->EXECUTE("DELETE FROM customerassignments WHERE customerid NOT IN (SELECT id FROM customers)");
+$DB->EXECUTE("ALTER TABLE customerassignments ADD FOREIGN KEY (customerid)
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE");
+$DB->EXECUTE("ALTER TABLE customerassignments MODIFY customerid int(11) NOT NULL");
+
+$DB->EXECUTE("DELETE FROM customerassignments WHERE customergroupid NOT IN (SELECT id FROM customergroups)");
+$DB->EXECUTE("ALTER TABLE customerassignments ADD FOREIGN KEY (customergroupid)
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE");
+$DB->EXECUTE("ALTER TABLE customerassignments MODIFY customergroupid int(11) NOT NULL");
+
+$DB->EXECUTE("ALTER TABLE customerassignments ADD INDEX customerid (customerid)");
+
+$DB->EXECUTE("DELETE FROM excludedgroups WHERE customergroupid NOT IN (SELECT id FROM customergroups)");
+$DB->EXECUTE("ALTER TABLE excludedgroups ADD FOREIGN KEY (customergroupid)
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE");
+$DB->EXECUTE("ALTER TABLE excludedgroups MODIFY customergroupid int(11) NOT NULL");
+
+$DB->EXECUTE("ALTER TABLE excludedgroups ADD INDEX customergroupid (customergroupid)");
+
+$DB->Execute("UPDATE dbinfo SET keyvalue = ? WHERE keytype = ?", array('2010121000', 'dbversion'));
+
+$DB->CommitTrans();
+
+?>
Index: lms/lib/upgradedb/postgres.2010121000.php
diff -u /dev/null lms/lib/upgradedb/postgres.2010121000.php:1.1
--- /dev/null Tue Dec 14 09:16:31 2010
+++ lms/lib/upgradedb/postgres.2010121000.php Tue Dec 14 09:16:31 2010
@@ -0,0 +1,69 @@
+BeginTrans();
+
+$DB->Execute("
+ DROP VIEW customersview;
+
+ ALTER TABLE customers ADD einvoice smallint DEFAULT NULL;
+ ALTER TABLE customers ADD invoicenotice smallint DEFAULT NULL;
+ ALTER TABLE customers ADD mailingnotice smallint DEFAULT NULL;
+
+ CREATE VIEW customersview AS
+ SELECT c.* FROM customers c
+ WHERE NOT EXISTS (
+ SELECT 1 FROM customerassignments a
+ JOIN excludedgroups e ON (a.customergroupid = e.customergroupid)
+ WHERE e.userid = lms_current_user() AND a.customerid = c.id);
+
+ DELETE FROM assignments WHERE customerid NOT IN (SELECT id FROM customers);
+ ALTER TABLE assignments ADD FOREIGN KEY (customerid)
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE assignments ALTER customerid DROP DEFAULT;
+
+ DELETE FROM customerassignments WHERE customerid NOT IN (SELECT id FROM customers);
+ ALTER TABLE customerassignments ADD FOREIGN KEY (customerid)
+ REFERENCES customers (id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE customerassignments ALTER customerid DROP DEFAULT;
+
+ DELETE FROM customerassignments WHERE customergroupid NOT IN (SELECT id FROM customergroups);
+ ALTER TABLE customerassignments ADD FOREIGN KEY (customergroupid)
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE customerassignments ALTER customergroupid DROP DEFAULT;
+
+ CREATE INDEX customerassignments_customerid_idx ON customerassignments (customerid);
+
+ DELETE FROM excludedgroups WHERE customergroupid NOT IN (SELECT id FROM customergroups);
+ ALTER TABLE excludedgroups ADD FOREIGN KEY (customergroupid)
+ REFERENCES customergroups (id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE excludedgroups ALTER customergroupid DROP DEFAULT;
+
+ CREATE INDEX excludedgroups_customergroupid_idx ON excludedgroups (customergroupid);
+");
+
+$DB->Execute("UPDATE dbinfo SET keyvalue = ? WHERE keytype = ?", array('2010121000', 'dbversion'));
+
+$DB->CommitTrans();
+
+?>
From cvs w lms.org.pl Tue Dec 14 09:16:31 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:31 +0100 (CET)
Subject: [lms-commits] CVS update of lms/lib/locale/sk (strings.php)
Message-ID: <20101214081631.756D33039A49@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:31
Author: alec
Path: /cvsroot/lms/lib/locale/sk
Modified: strings.php
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/lib/locale/sk/strings.php.diff?&r1=1.13&r2=1.14
Index: lms/lib/locale/sk/strings.php
diff -u lms/lib/locale/sk/strings.php:1.13 lms/lib/locale/sk/strings.php:1.14
--- lms/lib/locale/sk/strings.php:1.13 Thu Mar 11 14:07:35 2010
+++ lms/lib/locale/sk/strings.php Tue Dec 14 09:16:31 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: strings.php,v 1.13 2010/03/11 13:07:35 alec Exp $
+ * $Id: strings.php,v 1.14 2010/12/14 08:16:31 alec Exp $
*/
$_LANG['$0 ($1 addresses)'] = '$0 ($1 adresy)';
@@ -1996,7 +1996,7 @@
$_LANG['Enter warning message contents'] = 'Zadajte text varovania';
$_LANG['Select days number of cutoff suspending'] = 'Vyberte počet dní od pozastavenia blokovania';
$_LANG['Open attachment'] = 'Otvoriť prílohu';
-$_LANG['Consent for personal data processing:'] = 'Súhlas na spracovanie osobných údajov:';
+$_LANG['Consent to personal data processing:'] = 'Súhlas na spracovanie osobných údajov:';
$_LANG['no consent'] = 'bez dohody';
$_LANG['TRANSFER'] = 'TRANSFER';
$_LANG['Rows: $0'] = 'Počet riadkov: $0';
From cvs w lms.org.pl Tue Dec 14 09:16:31 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:31 +0100 (CET)
Subject: [lms-commits] CVS update of lms/lib/locale/lt (strings.php)
Message-ID: <20101214081631.2E9393039A46@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:31
Author: alec
Path: /cvsroot/lms/lib/locale/lt
Modified: strings.php
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/lib/locale/lt/strings.php.diff?&r1=1.8&r2=1.9
Index: lms/lib/locale/lt/strings.php
diff -u lms/lib/locale/lt/strings.php:1.8 lms/lib/locale/lt/strings.php:1.9
--- lms/lib/locale/lt/strings.php:1.8 Tue Jun 22 08:19:31 2010
+++ lms/lib/locale/lt/strings.php Tue Dec 14 09:16:31 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: strings.php,v 1.8 2010/06/22 06:19:31 chilek Exp $
+ * $Id: strings.php,v 1.9 2010/12/14 08:16:31 alec Exp $
*/
$_LANG['$0 ($1 addresses)'] = '$0 ($1 adresas)';
@@ -1996,7 +1996,7 @@
$_LANG['Enter warning message contents'] = '?veskite persp?jimo turin?';
$_LANG['Select days number of cutoff suspending'] = 'Pasirink blokavimo nutraukimo dien? skaiči?';
$_LANG['Open attachment'] = 'Atidaryk prikabintą failą';
-$_LANG['Consent for personal data processing:'] = 'Sutikimas naudoti asmens duomenis:';
+$_LANG['Consent to personal data processing:'] = 'Sutikimas naudoti asmens duomenis:';
$_LANG['no consent'] = 'n?ra sutikimo';
$_LANG['TRANSFER'] = 'PERVEDIMAS';
$_LANG['Rows: $0'] = 'Eiluči? skaičius: $0';
From cvs w lms.org.pl Tue Dec 14 09:16:30 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:30 +0100 (CET)
Subject: [lms-commits] CVS update of lms/lib (LMS.class.php, upgradedb.php)
Message-ID: <20101214081631.084F33039A44@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:30
Author: alec
Path: /cvsroot/lms/lib
Modified: LMS.class.php upgradedb.php
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/lib/LMS.class.php.diff?&r1=1.1038&r2=1.1039
http://cvs.lms.org.pl/viewvc/Development/lms/lib/upgradedb.php.diff?&r1=1.179&r2=1.180
Index: lms/lib/LMS.class.php
diff -u lms/lib/LMS.class.php:1.1038 lms/lib/LMS.class.php:1.1039
--- lms/lib/LMS.class.php:1.1038 Fri Jul 9 10:45:51 2010
+++ lms/lib/LMS.class.php Tue Dec 14 09:16:30 2010
@@ -21,7 +21,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: LMS.class.php,v 1.1038 2010/07/09 08:45:51 alec Exp $
+ * $Id: LMS.class.php,v 1.1039 2010/12/14 08:16:30 alec Exp $
*/
// LMS Class - contains internal LMS database functions used
@@ -34,7 +34,7 @@
var $CONFIG; // table including lms.ini options
var $cache = array(); // internal cache
var $_version = '1.11-cvs'; // class version
- var $_revision = '$Revision: 1.1038 $';
+ var $_revision = '$Revision: 1.1039 $';
function LMS(&$DB, &$AUTH, &$CONFIG) // class variables setting
{
@@ -387,37 +387,41 @@
function CustomerAdd($customeradd)
{
- if($this->DB->Execute('INSERT INTO customers (name, lastname, type,
- address, zip, city, countryid, email, ten, ssn, status, creationdate,
- creatorid, info, notes, serviceaddr, message, pin, regon, rbe,
- icn, cutoffstop, consentdate, divisionid, paytime, paytype)
- VALUES (?, UPPER(?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?NOW?,
- ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
- array(lms_ucwords($customeradd['name']),
- $customeradd['lastname'],
+ if($this->DB->Execute('INSERT INTO customers (name, lastname, type,
+ address, zip, city, countryid, email, ten, ssn, status, creationdate,
+ creatorid, info, notes, serviceaddr, message, pin, regon, rbe,
+ icn, cutoffstop, consentdate, einvoice, divisionid, paytime, paytype,
+ invoicenotice, mailingnotice)
+ VALUES (?, UPPER(?), ?, ?, ?, ?, ?, ?, ?, ?, ?, ?NOW?,
+ ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
+ array(lms_ucwords($customeradd['name']),
+ $customeradd['lastname'],
empty($customeradd['type']) ? 0 : 1,
- $customeradd['address'],
- $customeradd['zip'],
- $customeradd['city'],
- $customeradd['countryid'],
- $customeradd['email'],
- $customeradd['ten'],
- $customeradd['ssn'],
- $customeradd['status'],
- $this->AUTH->id,
- $customeradd['info'],
+ $customeradd['address'],
+ $customeradd['zip'],
+ $customeradd['city'],
+ $customeradd['countryid'],
+ $customeradd['email'],
+ $customeradd['ten'],
+ $customeradd['ssn'],
+ $customeradd['status'],
+ $this->AUTH->id,
+ $customeradd['info'],
$customeradd['notes'],
- $customeradd['serviceaddr'],
- $customeradd['message'],
+ $customeradd['serviceaddr'],
+ $customeradd['message'],
$customeradd['pin'],
$customeradd['regon'],
$customeradd['rbe'],
$customeradd['icn'],
$customeradd['cutoffstop'],
$customeradd['consentdate'],
+ $customeradd['einvoice'],
$customeradd['divisionid'],
$customeradd['paytime'],
!empty($customeradd['paytype']) ? $customeradd['paytype'] : NULL,
+ $customeradd['invoicenotice'],
+ $customeradd['mailingnotice'],
)))
{
return $this->DB->GetLastInsertID('customers');
@@ -428,7 +432,7 @@
function DeleteCustomer($id)
{
$this->DB->BeginTrans();
-
+
$this->DB->Execute('UPDATE customers SET deleted=1, moddate=?NOW?, modid=?
WHERE id=?', array($this->AUTH->id, $id));
$this->DB->Execute('DELETE FROM customerassignments WHERE customerid=?', array($id));
@@ -443,7 +447,7 @@
// Remove Userpanel rights
if(!empty($this->CONFIG['directories']['userpanel_dir']))
$this->DB->Execute('DELETE FROM up_rights_assignments WHERE customerid=?', array($id));
-
+
$this->DB->CommitTrans();
}
@@ -453,7 +457,8 @@
zip=?, city=?, countryid=?, email=?, ten=?, ssn=?, moddate=?NOW?, modid=?,
info=?, notes=?, serviceaddr=?, lastname=UPPER(?), name=?,
deleted=0, message=?, pin=?, regon=?, icn=?, rbe=?,
- cutoffstop=?, consentdate=?, divisionid=?, paytime=?, paytype=?
+ cutoffstop=?, consentdate=?, einvoice=?, invoicenotice=?, mailingnotice=?,
+ divisionid=?, paytime=?, paytype=?
WHERE id=?',
array( $customerdata['status'],
empty($customerdata['type']) ? 0 : 1,
@@ -477,6 +482,9 @@
$customerdata['rbe'],
$customerdata['cutoffstop'],
$customerdata['consentdate'],
+ $customerdata['einvoice'],
+ $customerdata['invoicenotice'],
+ $customerdata['mailingnotice'],
$customerdata['divisionid'],
$customerdata['paytime'],
$customerdata['paytype'] ? $customerdata['paytype'] : null,
@@ -527,7 +535,7 @@
$result['up_logins'] = $this->DB->GetRow('SELECT lastlogindate, lastloginip,
failedlogindate, failedloginip
FROM up_customers WHERE customerid = ?', array($result['id']));
-
+
if($cstate = $this->DB->GetRow('SELECT s.id, s.name FROM states s, zipcodes
WHERE zip = ? AND stateid = s.id', array($result['zip'])))
{
@@ -544,7 +552,7 @@
$result['contacts'] = $this->DB->GetAll('SELECT phone, name
FROM customercontacts WHERE customerid = ? ORDER BY id',
array($result['id']));
-
+
return $result;
}
else
@@ -977,15 +985,12 @@
function CustomergroupDelete($id)
{
- if (!$this->CustomergroupWithCustomerGet($id))
- {
- $this->DB->BeginTrans();
+ if (!$this->CustomergroupWithCustomerGet($id))
+ {
$this->DB->Execute('DELETE FROM customergroups WHERE id=?', array($id));
- $this->DB->Execute('DELETE FROM excludedgroups WHERE customergroupid=?', array($id));
- $this->DB->CommitTrans();
return TRUE;
- }
- else
+ }
+ else
return FALSE;
}
Index: lms/lib/upgradedb.php
diff -u lms/lib/upgradedb.php:1.179 lms/lib/upgradedb.php:1.180
--- lms/lib/upgradedb.php:1.179 Tue Aug 17 10:55:35 2010
+++ lms/lib/upgradedb.php Tue Dec 14 09:16:30 2010
@@ -21,10 +21,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
- * $Id: upgradedb.php,v 1.179 2010/08/17 08:55:35 alec Exp $
+ * $Id: upgradedb.php,v 1.180 2010/12/14 08:16:30 alec Exp $
*/
-define('DBVERSION', '2010081700'); // here should be always the newest version of database!
+define('DBVERSION', '2010121000'); // here should be always the newest version of database!
// it placed here to avoid read disk every time when we call this file.
/*
@@ -43,23 +43,23 @@
return $files;
}
-if($dbversion = $DB->GetOne('SELECT keyvalue FROM dbinfo WHERE keytype = ?',array('dbversion')))
+if($dbversion = $DB->GetOne('SELECT keyvalue FROM dbinfo WHERE keytype = ?',array('dbversion'))) {
if(DBVERSION > $dbversion)
{
set_time_limit(0);
$lastupgrade = $dbversion;
$_dbtype = $CONFIG['database']['type'] == 'mysqli' ? 'mysql' : $CONFIG['database']['type'];
-
+
$upgradelist = getdir(LIB_DIR.'/upgradedb/', '^'.$_dbtype.'.[0-9]{10}.php$');
if(sizeof($upgradelist))
foreach($upgradelist as $upgrade)
{
$upgradeversion = preg_replace('/^'.$_dbtype.'\.([0-9]{10})\.php$/','\1',$upgrade);
-
+
if($upgradeversion > $dbversion && $upgradeversion <= DBVERSION)
$pendingupgrades[] = $upgradeversion;
}
-
+
if(sizeof($pendingupgrades))
{
sort($pendingupgrades);
@@ -73,6 +73,7 @@
}
}
}
+}
$layout['dbschversion'] = isset($lastupgrade) ? $lastupgrade : DBVERSION;
From cvs w lms.org.pl Tue Dec 14 09:16:31 2010
From: cvs w lms.org.pl (LMS CVS)
Date: Tue, 14 Dec 2010 09:16:31 +0100 (CET)
Subject: [lms-commits] CVS update of lms/templates (4 files)
Message-ID: <20101214081631.C84D0302C928@hydra.altec.pl>
Date: Tuesday, December 14, 2010 @ 09:16:31
Author: alec
Path: /cvsroot/lms/templates
Modified: customeradd.html customereditbox.html customerinfobox.html
customerinfoshort.html
- added "consent to e-invoices" switch in customer data
- added "consent to invoices delivery via e-mail" switch in customer data
- added "consent to messages delivery via e-mail or sms" switch in customer data
Diff URLs:
http://cvs.lms.org.pl/viewvc/Development/lms/templates/customeradd.html.diff?&r1=1.38&r2=1.39
http://cvs.lms.org.pl/viewvc/Development/lms/templates/customereditbox.html.diff?&r1=1.35&r2=1.36
http://cvs.lms.org.pl/viewvc/Development/lms/templates/customerinfobox.html.diff?&r1=1.44&r2=1.45
http://cvs.lms.org.pl/viewvc/Development/lms/templates/customerinfoshort.html.diff?&r1=1.18&r2=1.19
Index: lms/templates/customeradd.html
diff -u lms/templates/customeradd.html:1.38 lms/templates/customeradd.html:1.39
--- lms/templates/customeradd.html:1.38 Mon Jun 21 10:58:17 2010
+++ lms/templates/customeradd.html Tue Dec 14 09:16:31 2010
@@ -1,5 +1,5 @@
{include file="header.html"}
-
+
Description of operation. '%period' will be replaced by start and end
date of subscription, e.g. '2003/10/10 - 2003/11/09', '%tariff' by name of
- liability, %month by full name of current month and %year by current year.
+ liability, %month by full name of current month and %year by current year,
+ %next_mon by next month in YYYY/MM format.
Default: 'Subscription: '%tariff' for period: %period'.
Disconnection occurs when customer balance decreases below specified value.
+>Disconnection occurs when customer balance decreases
+ below specified limit as numeric value or as percentage of
+ sum of customer's monthly assignments (with '%' sign).
Default: 0.
Example:
Enable warning for disconnected customer and write him WWW browser message
specified in this option. If empty, warning will be not enabled. Date in
- message is substituted providing '%time' variable. Default: 'Blocked
+ message is substituted providing '%time' variable. You can also use %B for real customer
+ balance and %b for unsigned balance value. Default: 'Blocked
automatically due to payment deadline override at %time".
Example:
setnodegroup_only
Sets nodes group name. Module assigns to that group all computers
+ of customer who exceeds value or invoice limit. Customer's status isn't changed.
+ Default: none.
Example: setnodegroup_only = blocked_nodes
disable_suspended
Use this option to disable customers with suspended all current assignments.
+ Default: false.
Example: disable_suspended = true
use_nodeassignments
You should enable this option only if you are using nodes with
@@ -760,6 +862,89 @@
>use_nodeassignments = true
use_customerassignments
You should disable this option only if you don't want to check
+ assignments (or node assignments are used). Default: true.
Example: use_customerassignments = false
check_invoices
This option enables additional checking if customer has
+ unpayed invoices with deadline date older than date specified in 'deadline' option. Default: false.
Example: check_invoices = true
deadline
Sets period in days (from invoice deadline date), after which
+ unpayed invoice is considered for 'check_invoices' check. By default,
+ customer would be blocked just after deadline. Default: 0.
Example: deadline = 30
customergroups
List of customers groups to restrict customers for accounting.
+ Default: empty (all groups).
Example: customergroups = "group1 group2"
excluded_customergroups
List of excluded customers groups to restrict customers for
+ accounting. Default: empty (none).
Module 'hostfile' is a multipurpose tool. It performs loop on all hosts from
- database fetching their status (connected/disconnected), network that they are
- connected to and groups of they owners. Because of that it is possible to create any
- firewall rules, or /etc/hosts file. Data is written to file and after that specified
- shell command is executed.
Module 'hostfile' is a multipurpose tool. It performs loop on all hosts
+ (nodes and network devices addresses) from database fetching their
+ connection and warnings status, private and public addresses, network
+ that they are connected to and groups of they owners. Because of that it
+ is possible to create any set of firewall rules, or /etc/hosts file. Data is
+ written to file and after that specified shell command can be
+ executed.
6.2.8.2. Configuration
The following templates might be used for 'grantedhost', 'deniedhost', 'public_grantedhost'
- and 'public_deniedhost' options replaced with actual data from database:
-
The following replacement variables can be used in host rule options:
+
%port - device's port to which computer is connected,
%l - host location,
%devl - location of device to which node is connected,
%info - node description,
%prefix - network mask CIDR-style prefix,
%dns, %dns2 - DNS server addresses,
%dhcps, %dhcpe - start and end of DHCP range,
%wins - WINS server address,
%i16pub - public IP's last octet in hex.
%domainpub - domain name of public network,
%netpub - public network name,
%gwpub - gateway address of public network,
%ifpub - public network's interface,
%maskpub - public network mask,
%addrpub - public network's address,
%prefixpub - public network mask CIDR-style prefix,
%dnspub, %dns2pub - DNS server addresses in public network,
%dhcpspub, %dhcpepub - start and end of DHCP range in public network,
%winspub - WINS server address in public network,
%customer - node owner's name,
%cid - node owner's ID,
@@ -1114,6 +1369,28 @@
>
host_begin
Host rule header. Default: ""
Example: host_begin = "#%n\n"
host_end
Host rule footer. Default: ""
Example: host_end = "\n"
grantedhost
Line with rule(s) for connected node. Default: "/usr/sbin/iptables -A FORWARD -s %i -m mac --mac-source %m -j ACCEPT\n"
public_grantedhost
Line with rule(s) for connected node with specified public IP.
- By default rule specified in 'grantedhost' option.
Example: public_deniedhost
Line with rule(s) for disconnected node with specified public IP.
- By default rule specified in 'deniedhost' option.
Example:
warnedhost
Line with rule(s) for node with set warnings flag.
Line with rule(s) for node with set warnings flag and specified
+ public IP. By default rule specified in 'warnedhost' option.
Example: public_warnedhost = ""
public_replace
Specify that rules for public addresses would overwrite main rules
+ or be added to them. Default: enabled.
Przykład: public_replace = false
warn_replace
Specify that rules for nodes with warnings would replace main rules
+ or be added to them. Default: disabled.
Przykład: warn_replace = true
networks
List of network names which members should be included in config (case
@@ -1174,7 +1498,7 @@
>
customergroups
List of customer group names which members should be included in config
+>List of customer groups names which members should be included in config
(case insensitive). Default: empty (all groups).
Example:
nodegroups
List of node groups names which members should be included in config
+ (case insensitive). Default: empty (all groups).
Example: nodegroups = "group1 group2"
excluded_networks
List of network names which members should be excluded from config (case
+ insensitive). Default: empty (none).
Example: excluded_networks = "lan3 lan4"
excluded_customergroups
List of customer groups names which members should be excluded from config
+ (case insensitive). Default: empty (none).
List of node groups names which members should be excluded from config
+ (case insensitive). Default: empty (none).
Example: excluded_nodegroups = "group1 group2"
skip_dev_ips
If enabled (yes, true) network devices (devices that does not belong to
@@ -1194,6 +1566,17 @@
>skip_dev_ips = no
skip_host_ips
If enabled (yes, true) hosts IPs (customers nodes) will be ignored (omitted). Default: no
Example: skip_host_ips = yes
'Traffic' is an equivalent of 'lms-traffic' Perl script,which loads internet
link stats to database, from file created by user. That file must have format: host_IP upload
- download. More informations (including how to make such file) can be found in chapter with
+ download. More information (including how to make such file) can be found in chapter with
lms-traffic description.
Default policy for creating HTB class is one class per all nodes belonging to
@@ -1448,35 +1831,35 @@
>
host_mark_down
host_mark_up
Mark rule for each offline computer. Default:
+>Mark rule for each computer. Default:
# %n
-$IPT -t mangle -A LIMITS -d %i -j MARK --set-mark %x
Example: host_mark_down = ""host_mark_up = ""
host_mark_up
host_mark_down
Mark rule for each computer. Default:
+>Mark rule for each offline computer. Default:
$IPT -t mangle -A LIMITS -s %i -j MARK --set-mark %x
$IPT -t mangle -A LIMITS -d %i -j MARK --set-mark %x
Example: host_mark_up = ""host_mark_down = ""
conf-reverse-entry
Entry for each reverse zone in main configuration file.
- Default: 'zone "%c.in-addr.arpa" { \ntype master; \nfile "reverse/%i"; \nnotify yes; \n}; \n'.
If you want to test your LMS installation instantly you can fill it with some random data using 'genfake' module.
If you want to test your LMS installation instantly you can fill it with
+ some random data using 'genfake' module.
To generate data you should, once logged in, open in your Web browser URL To generate data you should, once logged in, open in your Web browser
+ URL http://ourserver.org/lms/?m=genfake and write how many user records should be created in the text box. After you hit enter, the whole content of database will be erased and populated with some random data. You might get some database errors while generating data, as this algorithm is not truly random.
+> and write how many
+ user records should be created in the text box. After you hit enter, the whole
+ content of database will be erased and populated with some random data.
+ You might get some database errors while generating data, as this algorithm
+ is not truly random.
For proper creation of dependences you should only run this module on empty database.
For proper creation of dependences you should only run this module
+ on empty database.
All data will be erased from database, except LMS users (Administrators) records.
All data will be erased from database, except LMS users
+ (Administrators) records.
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
Number of records:
True informations can be obtained, by issuing (in mysql shell):
True information can be obtained, by issuing (in mysql shell):
mysql> show table status;
@@ -140,7 +140,7 @@
>
Number of records:
PostgreSQL does not have row number limit for tables, however COUNT returns 32-bit number, so for tables longer that 2 billions of records this function will return wrong value (at least in version 7.1).
PostgreSQL does not have row number limit for tables.
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
This description intended audience are LMS developers. :)
Originally access levels were supposed to be defined by various letters. It was assumption made at LMS-0.4, but it never actually took place. Due to it's presence in 1.0, I've racked my brain bout using 64-character string. So, in 64-character long field, there is just 256-bit hexadecimal number. Each character might describe maximum of 4 bits (4*64 = 256, which is a number of valid combinations). Turning some level on effects in turning some bit on. Then, if "full access" has index 0 in lib/accesstable.php, 0 bit will be set to 1, so the number will be 1. Levels may have numbers (indices) from 0 to 255. This is not final boundary, because using more letters and chars you can expand to 6 bytes per char easily, which gives you 384 combinations.
+>Originally access levels were supposed to be defined by various letters.
+ It was assumption made at LMS-0.4, but it never actually took place.
+ Due to it's presence in 1.0, I've racked my brain bout using 64-character string.
+ So, in 64-character long field, there is just 256-bit hexadecimal number.
+ Each character might describe maximum of 4 bits (4*64 = 256, which is a number
+ of valid combinations). Turning some level on effects in turning some bit on.
+ Then, if "full access" has index 0 in lib/accesstable.php, 0 bit will be set to 1,
+ so the number will be 1. Levels may have numbers (indices) from 0 to 255.
+ This is not final boundary, because using more letters and chars you can
+ expand to 6 bytes per char easily, which gives you 384 combinations.
9.8. 10.8. 9.1. 10.1. 9.2. 10.2. 9.3. 10.3. 9.4. 10.4. 9.5. 10.5. $ cd lms
-$ cvs -z7 diff -u > /tmp/my_patch.patch
If you're interested into joining LMS developers team, please apply on the mailing list. You should however first make a good impression and stay on the list for a while, that may prove your skills, before asking us for cvs account.
It's possible to issue invoices in either automatic or manual way. Manual
@@ -107,8 +157,9 @@
> daemon.
For proper work of printouts you need to setup custom options in
- configuration section For proper work of printouts you need to define division's invoices data
+ (e.g. header, footer, default expositor, place, bank account) and configure some options
+ in configuration section
header
Seller. Can use string "\n" for lines separation. Default: empty.
Example: header = "SuperNet ISP\nNew Street 15\n12-000 City\n"
footer
Invoice footer - e.g. contact information about seller. Footer will be placed at bottom
- of an invoice, using small font. Like in header option use "\n" to separate lines. Default:
- empty
Example: footer = "Internet Service Provider K-27, phone 555-23-23, etc."
default_author
Invoice expositor name (for auto-generated invoices). Default: empty
Example: default_author = "invoicing expert"
cplace
Invoice issue location (city). Default: empty.
Example: cplace = Warsaw
print_balance_history
If true on invoice (html) will be printed history of financial
@@ -191,13 +196,31 @@
Generated invoices can be viewed in two ways: by clicking on printer icon, in balance sheet page
or by clicking 'Invoices List' in 'Finances' menu. In second case, is also possible to
filter invoices for printing.
When printing by default are displayed original and copy pages, it can be changed:
+
default_printpage
Coma-separated list of default invoice printout pages. You can use
+ "original", "copy", "duplicate". Default: "original,copy".
LMS allows for automatic IBAN number generation. As of now it supports fixed lenght of 26 digits
@@ -352,7 +375,7 @@
CLASS="SECT3"
>2.9.1.4. Credit Notes2.9.2.4. Credit Notes
Credit notes uses invoices settings from
@@ -393,52 +416,18 @@
CLASS="SECT2"
>2.9.2. Transfer forms2.9.3. Transfer forms
Transfer forms it's Polish specific feature. Data for payment form printouts
- is stored in [finances] configuration section. That is:
-
Receipts are printed in html format by default
@@ -523,7 +512,7 @@
CLASS="SECT3"
>2.9.3.2. PDF2.9.4.2. PDF
It's possible to create receipts as PDF files. Setting option 2.9.4. Other documents2.9.5. Other documents
Documents support is not limited to invoices. You might store
Index: lmsweb/doc_en/install-install.html
diff -u lmsweb/doc_en/install-install.html:1.9 lmsweb/doc_en/install-install.html:1.10
--- lmsweb/doc_en/install-install.html:1.9 Mon Oct 8 15:48:15 2007
+++ lmsweb/doc_en/install-install.html Fri Dec 31 09:02:21 2010
@@ -7,7 +7,7 @@
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
gd or ming (for network map),
gd and/or ming (network map only),
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
stats access
traffic stats
mailing access
messaging (email, sms)
accounts management
hosting management
nodes groups management
customers to groups assignment
nodes to groups assignment
voip accounts management
Userpanel management
users edition and addition forbidden
lib/accesstable.php
- and place it in LMS's lib directory. Then
- set option .
+ Then set option custom_accesstable in [phpui]
Index: lmsweb/doc_en/install-upgrade.html
diff -u lmsweb/doc_en/install-upgrade.html:1.9 lmsweb/doc_en/install-upgrade.html:1.10
--- lmsweb/doc_en/install-upgrade.html:1.9 Mon Oct 8 15:48:15 2007
+++ lmsweb/doc_en/install-upgrade.html Fri Dec 31 09:02:21 2010
@@ -7,7 +7,7 @@
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
List of networks or IP addresses, which have access to LMS. If empty, every IP
- address is permitted. You can write here list of addresses or address classes and LMS
+ address is permitted. You can write here list of addresses or address pools and LMS
will dismiss every unwanted user with HTTP 403 error.
Example:
divisionlist_pagelimit
Limit of records that can be displayed on one page of divisions list. Default: 100
Example: divisionlist_pagelimit = 50
documentlist_pagelimit
Limit of records that can be displayed on one page of documents list. Default: 100
debug_email
E-mail address for debugging - messages sent from module 'Mailing' will be delivered
- to this address instead of sending them to real users.
Example: debug_email = root w localhost
default_zip, default_city, default_address
Default zip code, city and street used on "new user" form. Useful when we have many
@@ -670,7 +669,7 @@
>
helpdesk_customerinfo
Adds customer basic informations on ticket view and in notifications.
+>Adds customer basic information on ticket view and in notifications.
Default: enabled.
Divisions/Companies are used for customers grouping. You should create
+ at least one division. You can define division's short and long names, address
+ bank account (or mass-payments account prefix) and other data for invoices.
+ Locked division cannot be assigned to customer.
+
It's possible to import customer payments from many sources (banks).
+ Here you can define its names/description. Then you will able to
+ select source from the list to add/import payments or some create payments reports.
In this module, you're able to write administrative message which
+>In this module, you're able to write administrative notice (message) which
will appear on customers Web browser screen and assign it massively to all
or majority of your customers (just pick them using selection box on the left).
It's also possible here to deselect administrative messages massively here.
Index: lmsweb/doc_en/menu-documents.html
diff -u lmsweb/doc_en/menu-documents.html:1.1 lmsweb/doc_en/menu-documents.html:1.2
--- lmsweb/doc_en/menu-documents.html:1.1 Mon Oct 8 15:48:16 2007
+++ lmsweb/doc_en/menu-documents.html Fri Dec 31 09:02:21 2010
@@ -7,7 +7,7 @@
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
When you enter 'Tariffs List' panel you'll be able to see list of
liabilities (Tariffs) that might be assigned to your customers, with basic
-informations about it. When you select and click on liability you'll move to
+information about it. When you select and click on liability you'll move to
'Tariff' module where you're able to edit its parameters and exchange customers
between available liabilities. In 'Number of customers' field you can read
number of customers who are assigned to it and two numbers in parenthesis: total
@@ -210,7 +210,7 @@
CLASS="SECT2"
>3.7.7. Invoices list3.7.7. Invoices List
List of invoices that has been already written out. You're
@@ -233,12 +233,36 @@
>
Cash register can be divided on many registries like cash1, cash2,
- main cash, bank, etc. On regirstries list are placed all informations about
+ main cash, bank, etc. On regirstries list are placed all information about
defined registries with actual balance and summary which include only
registries with not set "Disable summary" option.
To create new cash document in first place you must specify registry
@@ -286,7 +310,7 @@
CLASS="SECT2"
>3.7.11. Import3.7.13. Import
If you use homebanking, and you're able to get a list of
@@ -331,6 +355,18 @@
15.02.2004 Pain Joseph 123,45 Invoice paid - LMS/34/2004
While import operations are being accepted it's possible to
+ enable auto-accounting of invoices. To do this enable option
+ 'cashimport_checkinvoices' in section [finances].
+ Invoice (and assigned credit notes) is checked when imported payment
+ (taking customer balance into account) is greater than invoice liability.
Financial data export to external systems rely on generation
@@ -374,7 +410,7 @@
CLASS="SECT2"
>3.7.13. Reports3.7.15. Reports
There are several options for balance sheet printouts:
@@ -388,8 +424,7 @@
>Balance sheet for your network
- including financial operations for given period, signed by selected LMS
- user
Total invoiceless incomeCustomer balance sheet for
- given period
for given
+ period.
Liability reportSale Registry for given day,
- for all or selected user
, which consists of
+ invoices for given period.
Sale RegistryCash Report, which consists of
- invoices for given period.
Cash ReportInvoices, which consists of
- cash receipts for given period and/or given registry and cashier.
for given
+ period or/and selected customer.
Customer balance sheetTransfer forms for given
- period.
for selected
+ customer or customers group and given balance limit (only for polish forms).
InvoicesTotal invoiceless income for given
- period or/and selected customer.
for
+ given period
Transfer formsLiability report for selected
- customer or customers group and given balance limit (only for polish forms).
for given day,
+ for all or selected user
Cash import history for given
+ period.
Index: lmsweb/doc_en/menu-helpdesk.html
diff -u lmsweb/doc_en/menu-helpdesk.html:1.9 lmsweb/doc_en/menu-helpdesk.html:1.10
--- lmsweb/doc_en/menu-helpdesk.html:1.9 Mon Oct 8 15:48:16 2007
+++ lmsweb/doc_en/menu-helpdesk.html Fri Dec 31 09:02:21 2010
@@ -7,7 +7,7 @@
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
3.13.1. Queues List
Basic informations and request statistics are available on
+>Basic information and request statistics are available on
queues list. Select and click on chosen queue to display all tickets belonging
to it. You can also go to detailed view (including permissions) about queue or
remove given queue. Removing queue will also remove all belonging tickets from
Index: lmsweb/doc_en/menu-netdevices.html
diff -u lmsweb/doc_en/menu-netdevices.html:1.9 lmsweb/doc_en/menu-netdevices.html:1.10
--- lmsweb/doc_en/menu-netdevices.html:1.9 Mon Oct 8 15:48:16 2007
+++ lmsweb/doc_en/menu-netdevices.html Fri Dec 31 09:02:21 2010
@@ -7,7 +7,7 @@
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79">
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
3.6. IP Networks
You can define all your networks here. Network is IP address class
+>You can define all your networks here. Network is IP address pool
with parameters such as domain, DNSes, default gateway and DHCP pool. If you use
-LMS to manage numerous networks or you use numerous address classes, it's
+LMS to manage numerous networks or you use numerous address pools, it's
possible to define them here.
3.6.2. New Network
Defines a new network. Network needs to have unique name and
-address class, defined by its IP address and netmask. All other data is
-optional.
Defines a new network. Network needs to have unique name and address pool, defined by its IP address and netmask.
+ All other data is optional.
Physical interfaces, IP aliases and vlans are recognized in below manner:
+
Physical interface - example: eth0
IP alias - example: eth0:1
Vlan interface with VID 19 - example: eth0.19
First IP alias on vlan interface with VID 19 - example: eth0.19:1
You can write administration message here and it will
+>You can write administration notice (message) here and it will
appear on customer's Web browser screen. In this module you can select majority or
all computers and assign them common message. Just choose computers using
selectbox on the left (computers with message already on will be displayed in
red). If you only want to assign a message to customer, but don't want to turn it
-on, just write a message and don't select any of 'Enable/Disable message' boxes.
>List of (space separated) groups of customers, that should be
+ considered while creating configuration file. If unset, configuration will
+ include all groups.
Example: customergroups = group1 group2
excluded_customergroups
>List of (space separated) groups of customers, that should be
+ ommited while creating configuration file.
Example: excluded_customergroups = group3 group4
networks
>List of (space separated) networks, that should be
@@ -426,6 +451,18 @@
>networks = cust1-publ cust2-publ cust3-priv
excluded_networks
>List of (space separated) networks, that should be
+ ommited while creating configuration file.
Mgc script now loops for each network and performs the following tasks:
grantednode_priv
Adds line for each IP address with 'connected' status in database (parsed only for private address classes).
Adds line for each IP address with 'connected' status in database (parsed only for private address pools).
Example:
grantednode_publ
Adds line for each IP address with 'connected' status in database (parsed only for public address classes).
Adds line for each IP address with 'connected' status in database (parsed only for public address pools).
Example:
deniednode_priv
Adds line for each IP address with 'disconnected' status in database (parsed only for private address classes).
Adds line for each IP address with 'disconnected' status in database (parsed only for private address pools).
Example:
deniednode_publ
Adds line for each IP address with 'disconnected' status in database (parsed only for public address classes).
Adds line for each IP address with 'disconnected' status in database (parsed only for public address pools).
Example:
dhcpnode_priv
Adds line for each IP address within DHCP dynamic range (parsed only for private address classes).
Adds line for each IP address within DHCP dynamic range (parsed only for private address pools).
Example:
dhcpnode_publ
Adds line for each IP address within DHCP dynamic range (parsed only for public address classes).
Adds line for each IP address within DHCP dynamic range (parsed only for public address pools).
Example:
freeip_priv
Adds line for each IP address that is not occupied by any computer in database (parsed only for private address classes).
Adds line for each IP address that is not occupied by any computer in database (parsed only for private address pools).
Example:
freeip_publ
Adds line for each IP address that is not occupied by any computer in database (parsed only for public address classes).
Adds line for each IP address that is not occupied by any computer in database (parsed only for public address pools).
Example:
default_priv
Default line, which is inserted when none of grantednode or deniednode matches for given IP address (parsed only for private address classes)
Default line, which is inserted when none of grantednode or deniednode matches for given IP address (parsed only for private address pools)
Example:
default_publ
Default line, which is inserted when none of grantednode or deniednode matches for given IP address (parsed only for public address classes)
Default line, which is inserted when none of grantednode or deniednode matches for given IP address (parsed only for public address pools)
Example:
%PORT - device's port, to which node is connected
%UPRATE - guaranteed upload rate
%NUPRATE - guaranteed upload rate (for night hours)
%DOWNRATE - guaranteed download rate
%NDOWNRATE - guaranteed download rate (for night hours)
%UPCEIL - maximum upload rate
%NUPCEIL - maximum upload rate (for night hours)
%DOWNCEIL - maximum download rate
%NDOWNCEIL - maximum download rate (for night hours)
%CLIMIT - limit of concurrent connections
%NCLIMIT - limit of concurrent connections (for night hours)
%PLIMIT - maximum number of packets per second
%NPLIMIT - maximum number of packets per second (for night hours)
%1 %2 %3 %4 - consecutive (left to right) decimal octets of IP address
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
Newest version of LMS can be downloaded from CVS repository
utilizing WWW interface at here,
@@ -148,7 +148,7 @@
>1.4.4. Changelog
Informations about changes and version history of LMS is included in
+>Information about changes and version history of LMS is included in
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
4.3.1. lms-notify
lms-notify is perfect tool to remind your customers that they are actually the ones who
- cover all your network and WAN links costs. It makes you possible to create numerous text templates
- for various occasions and use them for mailing your customers.
lms-notify it's a perfect tool to remind your customers that they are actually the ones who
+ cover all your network and WAN links costs. It makes you possible to create numerous text templates
+ for various occasions and use them for mailing your customers. For SMTP connection Mail::Sender
+ module is used.
%number - document number (invoices, debit notes and deadline notifies only)
%value - invoice value (invoices and deadline notifies only)
%last_10_in_a_table - list of last 10 operations on customer's account, eg.
Configuration of lms-notify should be set in
-lms.ini file, [notify] section.
-Following parameters are valid:
lms-notify-sms):
limit
debtors_template
Lets you setup limit of customer debt. Email will be sent below that value. Default: limit = 0
Lets you setup message template which will be sent to debted customers. Default: none.
Subject of 'invoices' message. Default: 'New invoice notification'.
Example: invoices_subject = Invoice information
mailsubject (mandatory)
notes_template
Lets you setup subject of email sent. You can use following templates, with meanings identical to those set in email template: %B, %b, %date-y, %date-m, %last_10_in_a_table. Default: none.
The message template which will be sent to customers if new debit note is created
+ (in last 24 hours). Default: none.
lms-notify-sms is similar to lms-notify, but it's intended to
-send reminders via SMS. You need Nokia cellphone and gnokii software (www.gnokii.org) for this script to
-work.
lms-notify-sms it's a lms-notify equivalent, but it's intended to
+ send reminders via SMS. Actually it supports smstools and gnokii services.
+ Use [sms] section for SMS Service configuration.
Configuration of lms-notify-sms should be set in
-lms.ini file, [notify-sms] section.
-Following parameters are valid:
lms-notify options plus:
limit
Lets you setup limit of customer debt. SMS will be sent below that value. Default: 0
Example: limit = -20
smstemplate (mandatory)
service
Message template. Default: not set.
Allows you to overwrite SMS service option from [sms] section.
+ Default: empty
Adds basic customer informations in new ticket notification footnote.
+>Adds basic customer information in new ticket notification footnote.
Default: On.
Example:
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
lms-notify
Massive mailing for customer notification
Massive mailing for customer notification about debt, new invoice, etc.
lms-notify-sms
Notifies customer about his debt with SMS
SMS Notifications about customers deb, new invoice, etc.
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
LMS - LAN Management System 1.10-cvs
LMS - LAN Management System 1.11-cvs
info - additional informations
info - additional information
info - additional informations
info - additional information
port - device's port to which node is connected
chkmac - MAC checking (0-disabled, 1-enable)
{result = SELECT name, inet_ntoa(ipaddr) AS ip FROM nodes}\
127.0.0.1 localhost
{for (r=0; r<number(result); r++)}\
-{result[r].name}\t{result[r].ip}
+{result[r].name}{"\t"}{result[r].ip}
{/for}\
Userpanel configuration is made simple thanks to special configuration
+ panel available in Userpanel -> Configuration menu
+ in LMS-UI. LMS detects Userpanel presence
+ and unhides this menu if userpanel_dir variable has been set in
+ [directories] section of lms.ini file.
Main window contains global configuration options and list of present
+ (enabled) modules. Choosing any of this will direct you to configuration options
+ screen specific to respective module.
You should define sys_dir directory in lms.ini
+ file pointing to your LMS installation dir, as Userpanel will need LMS
+ libraries located under this directory to run. Additionally you should
+ enter your Userpanel location in userpanel_dir variable.
+
Userpanel modules are located in modules
+ subdirectory. You can turn it on or off simply by copying module into, or
+ deleting it from this directory, respectively.
Userpanel is built with modularity principle, which means that each module,
+ which represents one menu entry is contained in separate subdirectory of
+ modules directory.
locale directory contains
+ appropriate locale, obviously. However
+ strings.php file contains only
+ translation strings used in containing module,
+
style is obviously image and css
+ style dir, with subdirectories for each style (graphical
+ theme) installed in Userpanel,
templates contains
+ Smarty templates for given module,
upgradedb contains auto-upgrade
+ files for tables being used by module. Table names, for
+ those used exclusively by one module, should contain
+ up_modulename_ prefix,
configuration.php and
+ functions.php are two files required for
+ each module. They are described in detail later in this
+ document.
This file contains given module functions. There is special
+ function, named module_main() executed first when
+ module is called. If any function is intended to be accessible from
+ Userpanel UI, it should be prefixed with module_,
+ ie. module_function1(), which will be available
+ from the following URL:
+ http://userpanel/?m=module&f=function1.
+ Function named module_setup() is being called
+ from configuration panel of LMS-UI.
Userpanel interface is designed to allow its easy adoption to your
+ own needs and to blend into your existing web pages layout. There is no
+ need to modify templates code to achieve this goal.
All important files, that is css styles definition and images are
+ located in style directory, each style in separate
+ directory, corresponding to its name. If any of the files is missing,
+ the one from the default style will be used instead.
+ Styles directory, besides css, images and Javascript, contains two
+ simple Smarty templates, one containing global page layout with main menu
+ and content of chosen module below (body.html) and one
+ with table layout, used by modules to draw anything inside the box
+ (box.html).
Each of Userpanel modules can be styled too, as it contains
+ corresponding style directory within its directory
+ structure. If any of the file is missing in specific style, the one from
+ main style directory will be used instead.
Userpanel is automated virtual customer service, based on LMS and using
+ its core features. It enables customers (or it's intended to) to do review
+ their payments, change their personal details or computer properties,
+ modify subscriptions, submit problems, track their requests on Helpdesk
+ and print invoices. It means, it makes a closer contact with their ISP.
+