Collabtive http://collabtive.o-dyn.de/ (php)
ProjectPier http://www.projectpier.org/ (php)
Redmine http://www.redmine.org/ (ruby)
Opengoo http://www.fengoffice.com/web/community/downloads.php (php)
DotProject http://www.dotproject.net/ (php)
Blog sobre linux, experiências profissionais, php, cinema, filmes, ciclismo, etc...
sysctl -w kernel.shmmax=879869184 #aproximadamente 800MB
sysctl -w kernel.shmall=4194304 #4kb
echo 8179869184 > /proc/sys/kernel/shmmax
echo 4194304 > /proc/sys/kernel/shmall--
class E_DINHEIRO(object): def __init__(self, format=True, error_message='Digite o valor!'): self.format = format self.error_message = error_message def __call__(self, value): d=str(value) d = d.replace('.','') d = d.replace(',','.') #return (value, valor[-3:-2]) try: return (d, None) except: return (d,str(d)+'o valor digitado não é um número válido') def formatter(self, value): value = str(value) c = [] for d in value: if d.isdigit(): c.append(d) value = str(''.join(c)) l = len(value) #10 = 1000000000 = 10.000.000,00 i = l - 2 #8 p = i / 3 #2 r = (l % 3) #2 #p = 3 pf = i-1 if l == 1: formatado = '0,0'+value elif l == 2: formatado = '0,'+value elif l > 2: d = ','+value[-2:] s = '' n = r+1 s += value[0:r+1] if i > 3: while n < i: pt = n + 3 s += '.'+ value[n:pt] n = pt formatado = s+d else: formatado = value return formatado