W dniu 4 czerwca 2012 23:04 użytkownik Marcin <marcin@nicram.net> napisał:

nie jestem mocny w c, a raczej można powiedzieć że tu raczkuję :) 

dopisałem do daemona opcję cuton.  narazie tylko dla mysql. działa.

cutoff.c
..
        if(c->cuton)
        {
           n = g->db_pexec(g->conn, "UPDATE nodes n1,(SELECT n.id FROM nodes n LEFT JOIN nodeassignments ON n.id = nodeassignments.nodeid LEFT JOIN assignments ON nodeassignments.assignmentid=assignments.id WHERE (assignments.dateto > unix_timestamp() or assignments.dateto='0' ) AND assignments.datefrom < unix_timestamp() AND assignments.suspended = 0 AND access = 0 AND (SELECT SUM(value) FROM cash WHERE customerid = n.ownerid) >= 0) AS n2 SET n1.access=1, n1.warning=0 WHERE n1.id = n2.id");
                execn = 1;
        }
        // debtors

cutoff.h 
...
   int cuton;

-- 
Pozdrawiam
Marcin / nicraM




to rozwiazanie ma tylko jedna wade, np klient nie wplacil w listopadzie i zostal pod koniec odlaczony (po uplywie terminu platnosci np 25-go)
1-go grudnia zostala naliczona kolejna faktura czyli saldo juz ma 200%, teraz (4-ty grudnia) klient wplaca tylko za listopad
saldo ma nadal ujemne (oplata za grudzien), 
ale termin platnosci jeszcze sie zgadza (do 25-go grudnia) i klient ma pretensje ze jest wylaczony a za grudzien ma dopiero do 25-go wyrownac

czy moze ktos juz to rozwiazal?