// LOGI DODAC FUNKCJE START function GetCustomerLogList($id, $totime=NULL) { $loglist = $this->DB->GetAll('SELECT id ,FROM_UNIXTIME(data) as data,(select name from users where id = kto) as kto,co,uwagi,cid,nid FROM logi WHERE nid=? or cid=? and kto != 14 ORDER BY data desc LIMIT 0,15', array($id,$id)); return $loglist; } // LOGI DODAC FUNKCJE END // LOGI DODAC FUNKCJE START function array_to_string($array) { foreach ($array as $index => $val) { $val2 .=" ".$val; } return $val2; } // LOGI DODAC FUNKCJE END ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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('update customers set araid="" WHERE deleted=1'); $this->DB->Execute('DELETE FROM invoicecontents WHERE docid IN(SELECT id FROM documents WHERE customerid IN(SELECT id FROM customers WHERE deleted=1))'); $this->DB->Execute('DELETE FROM documents WHERE customerid IN(SELECT id FROM customers WHERE deleted=1)'); $this->DB->Execute('DELETE FROM cash where customerid IN(SELECT id FROM customers WHERE deleted=1)'); // LOGI DODAC WYWOLANIE ZAPYTANIA START $this->DB->Execute('INSERT INTO logi (data, kto, co,cid) VALUES (?NOW?, ?, ?, ?)', array($this->AUTH->id, " USUNIECIE KLIENTA ".$id, $id) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END $this->DB->Execute('DELETE FROM customerassignments WHERE customerid=?', array($id)); $this->DB->Execute('DELETE FROM assignments WHERE customerid=?', array($id)); // nodes $this->DB->Execute('DELETE FROM nodeassignments WHERE nodeid IN ( SELECT id FROM nodes WHERE ownerid=?)', array($id)); $this->DB->Execute('DELETE FROM nodegroupassignments WHERE nodeid IN ( SELECT id FROM nodes WHERE ownerid=?)', array($id)); $this->DB->Execute('DELETE FROM nodes WHERE ownerid=?', array($id)); // hosting $this->DB->Execute('UPDATE passwd SET ownerid=0 WHERE ownerid=?', array($id)); $this->DB->Execute('UPDATE domains SET ownerid=0 WHERE ownerid=?', array($id)); // 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(); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function CustomerUpdate($customerdata) { // LOGI DODAC WYWOLANIE ZAPYTANIA START $this->DB->Execute('INSERT INTO logi (data, kto, co, cid,uwagi) VALUES (?NOW?, ?, ?, ?, ?)', array($this->AUTH->id, " AKTUALIZACJA KLIENTA ".$customerdata['id'],$customerdata['id'],$this->array_to_string($customerdata))); // LOGI DODAC WYWOLANIE ZAPYTANIA END return $this->DB->Execute('UPDATE customers SET status=?, type=?, address=?, 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=? WHERE id=?', array( $customerdata['status'], empty($customerdata['type']) ? 0 : 1, $customerdata['address'], $customerdata['zip'], $customerdata['city'], $customerdata['countryid'], $customerdata['email'], $customerdata['ten'], $customerdata['ssn'], isset($this->AUTH->id) ? $this->AUTH->id : 0, $customerdata['info'], $customerdata['notes'], $customerdata['serviceaddr'], $customerdata['lastname'], lms_ucwords($customerdata['name']), $customerdata['message'], $customerdata['pin'], $customerdata['regon'], $customerdata['icn'], $customerdata['rbe'], $customerdata['cutoffstop'], $customerdata['consentdate'], $customerdata['divisionid'], $customerdata['paytime'], $customerdata['id'], )); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function NodeUpdate($nodedata, $deleteassignments=FALSE) { // LOGI DODAC WYWOLANIE ZAPYTANIA START $this->DB->Execute('INSERT INTO logi (data, kto, co, cid, nid,uwagi) VALUES (?NOW?, ?, ?, ?, ?, ?)', array($this->AUTH->id, " AKTUALIZACJA KOMPUTERA ".$customerdata['id'],$nodedata['ownerid'],$nodedata['id'],$this->array_to_string($nodedata)) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END $this->DB->Execute('UPDATE nodes SET name=UPPER(?), ipaddr_pub=?, ipaddr=inet_aton(?), mac=UPPER(?), passwd=?, netdev=?, moddate=?NOW?, modid=?, access=?, warning=?, ownerid=?, info=?, location=?, chkmac=?, halfduplex=?, linktype=?, port=? WHERE id=?', array($nodedata['name'], $nodedata['ipaddr_pub'], $nodedata['ipaddr'], $nodedata['mac'], $nodedata['passwd'], $nodedata['netdev'], $this->AUTH->id, $nodedata['access'], $nodedata['warning'], $nodedata['ownerid'], $nodedata['info'], $nodedata['location'], $nodedata['chkmac'], $nodedata['halfduplex'], isset($nodedata['linktype']) ? 1 : 0, isset($nodedata['port']) && $nodedata['netdev'] ? intval($nodedata['port']) : 0, $nodedata['id'] )); if($deleteassignments) $this->DB->Execute('DELETE FROM nodeassignments WHERE nodeid = ?', array($nodedata['id'])); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function DeleteNode($id) { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $ip=$this->GetNodeIPByID($id); $mac=$this->GetNodeMACByID($id); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid, uwagi) VALUES (?NOW?, ?, ?, ?, ?, ?)', array($this->AUTH->id, " USUNIECIE KOMPUTERA ".$id, $id,$cid,$ip."/".$mac) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END $this->DB->BeginTrans(); $this->DB->Execute('DELETE FROM nodes WHERE id = ?', array($id)); $this->DB->Execute('DELETE FROM nodeassignments WHERE nodeid = ?', array($id)); $this->DB->Execute('DELETE FROM nodegroupassignments WHERE nodeid = ?', array($id)); $this->DB->CommitTrans(); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function NodeSet($id, $access=-1) { if($access != -1) { if($access) { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?,?)', array($this->AUTH->id, " WLACZENIE KLIENTA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END return $this->DB->Execute('UPDATE nodes SET access = 1 WHERE id = ? AND EXISTS (SELECT 1 FROM customers WHERE id = ownerid AND status = 3)', array($id)); } else { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?,?)', array($this->AUTH->id, " WYLACZENIE KLIENTA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END return $this->DB->Execute('UPDATE nodes SET access = 0 WHERE id = ?', array($id)); } } elseif($this->DB->GetOne('SELECT access FROM nodes WHERE id = ?', array($id)) == 1 ) { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?,?)', array($this->AUTH->id, " WYLACZENIE KLIENTA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END return $this->DB->Execute('UPDATE nodes SET access=0 WHERE id = ?', array($id)); } else { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?,?)', array($this->AUTH->id, " WLACZENIE KLIENTA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END return $this->DB->Execute('UPDATE nodes SET access = 1 WHERE id = ? AND EXISTS (SELECT 1 FROM customers WHERE id = ownerid AND (status != 7 AND status !=8))', array($id)); } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function NodeSetWarn($id,$warning=FALSE) { if($warning) { $zapytanie = $this->DB->GetAll('SELECT c.phone AS phone,d.message AS message FROM nodes n,customercontacts c,customers d WHERE c.customerid=n.ownerid AND n.ownerid=d.id AND n.id=? AND c.name=\'kom��rkowy\' AND consentdate > 0 GROUP BY n.ownerid' , array($id)); // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?, ?)', array($this->AUTH->id, " WLACZENIE OSTRZERZENIA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END $this->snmpsetwarring($id); return $this->DB->Execute('UPDATE nodes SET warning=1 WHERE id=?', array($id)); } else { // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?, ?)', array($this->AUTH->id, " WYLACZENIE OSTRZERZENIA ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END // wyslanie do serwera po snmp aby mial komunikat ip,serwer,ostatni komunikat $this->snmpsetwarring($id); return $this->DB->Execute('UPDATE nodes SET warning=0 WHERE id=?', array($id)); } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function NodeSwitchWarn($id) { $zapytanie = $this->DB->GetAll('SELECT c.phone AS phone,d.message AS message FROM nodes n,customercontacts c,customers d WHERE c.customerid=n.ownerid AND n.ownerid=d.id AND n.id=? AND c.name=\'kom��rkowy\' AND consentdate > 0 GROUP BY n.ownerid' , array($id)); $ostrzezenie=$this->DB->GetOne('SELECT n.warning FROM nodes n WHERE n.id=?', array($id)); if (!$ostrzezenie) { $a=1; } // LOGI DODAC WYWOLANIE ZAPYTANIA START $cid=$this->DB->GetOne('SELECT ownerid FROM nodes WHERE id=?', array($id)); $this->DB->Execute('INSERT INTO logi (data, kto, co,nid,cid) VALUES (?NOW?, ?, ?, ?, ?)', array($this->AUTH->id, " WLACZENIE/WLACZENIE OSTRZERZENIA $zapytanie ".$id, $id,$cid) ); // LOGI DODAC WYWOLANIE ZAPYTANIA END // wyslanie do serwera po snmp aby mial komunikat ip,serwer,ostatni komunikat $this->snmpsetwarring($id); return $this->DB->Execute('UPDATE nodes SET warning = (CASE warning WHEN 0 THEN 1 ELSE 0 END) WHERE id = ?', array($id)); }