tutos-commits Mailing List for TUTOS (Page 3)
Projects / CRM / PLM / Calendar / Tasks / SCRUM / Test / Inventory
Brought to you by:
gokohnert
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(13) |
Aug
(214) |
Sep
(144) |
Oct
(22) |
Nov
(22) |
Dec
(93) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(25) |
Feb
(31) |
Mar
(92) |
Apr
(70) |
May
(103) |
Jun
(130) |
Jul
(265) |
Aug
(325) |
Sep
(233) |
Oct
(244) |
Nov
(261) |
Dec
(157) |
2003 |
Jan
(101) |
Feb
(135) |
Mar
(148) |
Apr
(164) |
May
(53) |
Jun
(116) |
Jul
(149) |
Aug
(126) |
Sep
(45) |
Oct
(109) |
Nov
(36) |
Dec
(61) |
2004 |
Jan
(131) |
Feb
(236) |
Mar
(278) |
Apr
(259) |
May
(92) |
Jun
(110) |
Jul
(150) |
Aug
(64) |
Sep
(141) |
Oct
(141) |
Nov
(146) |
Dec
(65) |
2005 |
Jan
(70) |
Feb
(77) |
Mar
(129) |
Apr
(153) |
May
(161) |
Jun
(63) |
Jul
(42) |
Aug
(16) |
Sep
(30) |
Oct
(3) |
Nov
(8) |
Dec
(40) |
2006 |
Jan
(114) |
Feb
(16) |
Mar
(12) |
Apr
(15) |
May
(4) |
Jun
(9) |
Jul
(69) |
Aug
(27) |
Sep
(12) |
Oct
(80) |
Nov
(62) |
Dec
(41) |
2007 |
Jan
(34) |
Feb
(2) |
Mar
(38) |
Apr
(82) |
May
(61) |
Jun
(37) |
Jul
(16) |
Aug
(64) |
Sep
(7) |
Oct
(52) |
Nov
(18) |
Dec
(28) |
2008 |
Jan
(168) |
Feb
(26) |
Mar
(27) |
Apr
(19) |
May
(10) |
Jun
(58) |
Jul
(58) |
Aug
(91) |
Sep
(14) |
Oct
(23) |
Nov
(56) |
Dec
(38) |
2009 |
Jan
(58) |
Feb
(90) |
Mar
(204) |
Apr
(90) |
May
(27) |
Jun
(177) |
Jul
(116) |
Aug
(53) |
Sep
(42) |
Oct
(120) |
Nov
(51) |
Dec
(58) |
2010 |
Jan
(117) |
Feb
(231) |
Mar
(163) |
Apr
(90) |
May
(40) |
Jun
(139) |
Jul
(49) |
Aug
(118) |
Sep
(25) |
Oct
(80) |
Nov
(102) |
Dec
(99) |
2011 |
Jan
(176) |
Feb
(42) |
Mar
(60) |
Apr
(52) |
May
(30) |
Jun
(29) |
Jul
(27) |
Aug
(16) |
Sep
(51) |
Oct
(70) |
Nov
(63) |
Dec
(58) |
2012 |
Jan
(28) |
Feb
(26) |
Mar
(7) |
Apr
(12) |
May
(41) |
Jun
(61) |
Jul
(59) |
Aug
(38) |
Sep
(30) |
Oct
(28) |
Nov
(14) |
Dec
(31) |
2013 |
Jan
(24) |
Feb
(54) |
Mar
(45) |
Apr
(22) |
May
(35) |
Jun
(8) |
Jul
(18) |
Aug
(38) |
Sep
(11) |
Oct
(8) |
Nov
(19) |
Dec
(20) |
2014 |
Jan
(20) |
Feb
(22) |
Mar
(4) |
Apr
(6) |
May
(13) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(6) |
2015 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
(4) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(8) |
Aug
(13) |
Sep
(12) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2021 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <gok...@us...> - 2016-07-08 14:18:46
|
Revision: 1291 http://sourceforge.net/p/tutos/code/1291 Author: gokohnert Date: 2016-07-08 14:18:44 +0000 (Fri, 08 Jul 2016) Log Message: ----------- check against XSS attack vector Credits: This security vulnerability was found by Christoph Ritter of the SySS GmbH. E-Mail: chr...@sy... Public Key: https://www.syss.de/fileadmin/dokumente/PGPKeys/Christoph_Ritter.asc Key Fingerprint: 9FB0 1B9B 2F72 3DD5 3AF3 62D8 0545 8E66 6D35 EAE8 Modified Paths: -------------- trunk/php/address_tools.p3 Modified: trunk/php/address_tools.p3 =================================================================== --- trunk/php/address_tools.p3 2016-04-12 17:53:01 UTC (rev 1290) +++ trunk/php/address_tools.p3 2016-07-08 14:18:44 UTC (rev 1291) @@ -68,7 +68,7 @@ $url = addUrlParameter($url,"format=popup",false); $url = addSessionKey($url,false); $r .= "<a href=\"JavaScript: - mywindow = window.open('". $l ."', 'help', 'width=300,height=300,top=200,left=200,scrollbars=1'); + mywindow = window.open('". myentities($l->name) ."', 'help', 'width=300,height=300,top=200,left=200,scrollbars=1'); mywindow.location.href = '". $url ."'; mywindow.focus();\" "self.status='". myentities($l->$name,1) ."' ;return true\" title=\"". myentities($l->$name) ."\">"; $r .= myentities($l->$name) ."</a>"; } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2016-04-12 17:53:02
|
Revision: 1290 http://sourceforge.net/p/tutos/code/1290 Author: gokohnert Date: 2016-04-12 17:53:01 +0000 (Tue, 12 Apr 2016) Log Message: ----------- fix typo Modified Paths: -------------- trunk/php/config_default.pinc Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2016-01-04 09:32:39 UTC (rev 1289) +++ trunk/php/config_default.pinc 2016-04-12 17:53:01 UTC (rev 1290) @@ -377,7 +377,7 @@ // // Path to PDFINFO // -$tutos[PDFINFO] = '/usr/bin/PDFINFO'; +$tutos[PDFINFO] = '/usr/bin/pdfinfo'; // // Version control in file management // ci is part of RCS This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2016-01-04 09:32:41
|
Revision: 1289 http://sourceforge.net/p/tutos/code/1289 Author: gokohnert Date: 2016-01-04 09:32:39 +0000 (Mon, 04 Jan 2016) Log Message: ----------- tag release 1.11.20160104 Added Paths: ----------- tags/RELEASE-1.11-20160104/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2016-01-04 09:31:35
|
Revision: 1288 http://sourceforge.net/p/tutos/code/1288 Author: gokohnert Date: 2016-01-04 09:31:34 +0000 (Mon, 04 Jan 2016) Log Message: ----------- start branch 1.11 Added Paths: ----------- branches/1.11/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2016-01-04 09:15:36
|
Revision: 1287 http://sourceforge.net/p/tutos/code/1287 Author: gokohnert Date: 2016-01-04 09:15:34 +0000 (Mon, 04 Jan 2016) Log Message: ----------- new release Modified Paths: -------------- trunk/php/config_default.pinc Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2016-01-04 08:58:08 UTC (rev 1286) +++ trunk/php/config_default.pinc 2016-01-04 09:15:34 UTC (rev 1287) @@ -743,7 +743,7 @@ // // The TUTOS Version number // -$tutos[version] = '1.11.20151231'; +$tutos[version] = '1.11.20160104'; // ### Local Variables: *** ### mode:iso-accents *** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2016-01-04 08:58:10
|
Revision: 1286 http://sourceforge.net/p/tutos/code/1286 Author: gokohnert Date: 2016-01-04 08:58:08 +0000 (Mon, 04 Jan 2016) Log Message: ----------- pre release Modified Paths: -------------- trunk/Makefile trunk/php/config_default.pinc trunk/test.sh Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2015-12-30 08:39:56 UTC (rev 1285) +++ trunk/Makefile 2016-01-04 08:58:08 UTC (rev 1286) @@ -2,7 +2,7 @@ # the ultimate team organization software # --------------------------------------- # -# Copyright 1999-2014 by Gero Kohnert +# Copyright 1999-2016 by Gero Kohnert # # 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 the @@ -16,7 +16,7 @@ # # Primary Version -VERSION = 1.10 +VERSION = 1.11 # # The full Version is VERSION.DATE # @@ -174,16 +174,6 @@ php/doctracker/README PHP_DOCTRACKER_HLP = -# Drawboard Module (add-on) -PHP_DRAWBOARD = $(wildcard php/drawboard/*.php) \ - $(wildcard php/drawboard/*.p3) \ - $(wildcard php/drawboard/*.pinc) \ - php/drawboard/.htaccess \ - php/drawboard/README \ - libs/drawboard/TUTOS-README \ - libs/drawboard/runserver.sh -PHP_DRAWBOARD_HLP = - # Expense Module PHP_EXPENSE = $(wildcard php/expense/*.php) \ $(wildcard php/expense/*.p3) \ @@ -926,7 +916,6 @@ visual.zip \ checklist \ doctracker \ - drawboard \ google_api \ ldap \ rss \ @@ -1012,16 +1001,6 @@ cat $@.list | $(ZIP) $(ZIPARGS) -@ TUTOS-MODULE-$@-${FULLVERSION}.zip $(ZIP) -z TUTOS-MODULE-$@-${FULLVERSION}.zip < php/$@/README -drawboard: $(PHP_DRAWBOARD) $(PHP_DRAWBOARD_HLP) - @$(ECHO) "# Make Filelist for $@" - @$(RM) -f $@.list - @$(TOUCH) $@.list - @$(foreach d,$(PHP_DRAWBOARD) $(PHP_DRAWBOARD_HLP), \ - echo $(d) >> $@.list; \ - ) - cat $@.list | $(ZIP) $(ZIPARGS) -@ TUTOS-MODULE-$@-${FULLVERSION}.zip - $(ZIP) -z TUTOS-MODULE-$@-${FULLVERSION}.zip < php/$@/README - ldap: $(PHP_LDAP) $(PHP_LDAP_HLP) @$(ECHO) "# Make Filelist for $@" @$(RM) -f $@.list Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2015-12-30 08:39:56 UTC (rev 1285) +++ trunk/php/config_default.pinc 2016-01-04 08:58:08 UTC (rev 1286) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2013 by Gero Kohnert + * Copyright 1999 - 2016 by Gero Kohnert * * 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 the @@ -743,7 +743,7 @@ // // The TUTOS Version number // -$tutos[version] = '1.10.20131230'; +$tutos[version] = '1.11.20151231'; // ### Local Variables: *** ### mode:iso-accents *** Modified: trunk/test.sh =================================================================== --- trunk/test.sh 2015-12-30 08:39:56 UTC (rev 1285) +++ trunk/test.sh 2016-01-04 08:58:08 UTC (rev 1286) @@ -5,7 +5,7 @@ # # Testsuite # -# Copyright 2008 - 2013 by Gero Kohnert +# Copyright 2008 - 2016 by Gero Kohnert # (see html/copyright.html for License) # # automated testing @@ -130,9 +130,13 @@ touch $OUT # save the logfiles -cp tutos_private/log/debug.out tmp/test.out -cp tutos_private/log/debug.out.log tmp/test.out.log +touch tmp/test.out +touch tmp/test.out.log +chmod 666 tmp/test.out tmp/test.out.log +cp -f tutos_private/log/debug.out tmp/test.out +cp -f tutos_private/log/debug.out.log tmp/test.out.log + wget --save-cookies $COOKIES -a $OUT -O $OUT2 "$URL/mytutos.php?uname=$USER&pw=$PW&dbnr=$DBNR" N=`grep -o -E "user_new.php\?id=[0-9]*" $OUT2` ADR=`echo $N| grep -o -E "([0-9]*)" | head -1` @@ -378,7 +382,6 @@ doctracker/doc_select.php?lg=$LG doctracker/doc_select.php?ext=1&lg=$LG doctracker/doc_overview.php?lg=$LG - drawboard/drawboard_overview.php?lg=$LG expense/expense_ins.php?lg=$LG expense/expense_select.php?lg=$LG expense/expense_new.php?lg=$LG This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-12-30 08:39:59
|
Revision: 1285 http://sourceforge.net/p/tutos/code/1285 Author: gokohnert Date: 2015-12-30 08:39:56 +0000 (Wed, 30 Dec 2015) Log Message: ----------- typo Modified Paths: -------------- trunk/php/config_default.pinc Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2015-11-15 12:22:21 UTC (rev 1284) +++ trunk/php/config_default.pinc 2015-12-30 08:39:56 UTC (rev 1285) @@ -296,7 +296,7 @@ // example $tutos[redis_hosts] = array('localhost:6379'); // $tutos[redis_hosts] = array(); -// time to live (sconds) for objects in cache (redis or memcache) +// time to live (in seconds) for objects in cache (redis or memcache) $tutos[cache_ttl] = 3600; // // Path to freemind java applet (used to display freemind mindmap files in browser) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-11-15 12:22:24
|
Revision: 1284 http://sourceforge.net/p/tutos/code/1284 Author: gokohnert Date: 2015-11-15 12:22:21 +0000 (Sun, 15 Nov 2015) Log Message: ----------- added redis cache support Modified Paths: -------------- trunk/php/acl.pinc trunk/php/acl_overview.php trunk/php/admin_show.php trunk/php/base.pinc trunk/php/config_default.pinc trunk/php/db/table_custom_example.pinc trunk/php/db.p3 trunk/php/google_api/gapi.pinc trunk/php/google_api/gapi_config.php trunk/php/layout/mobile_layout.pinc trunk/php/layout/new2_layout.pinc trunk/php/layout/test_layout.pinc trunk/php/permission.p3 Modified: trunk/php/acl.pinc =================================================================== --- trunk/php/acl.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/acl.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -164,7 +164,7 @@ $res->free(); - if($obj->cache_store('_acl'.$id,$obj->acl,$tutos['timetolive']*60)) { + if($obj->cache_store('_acl'.$id,$obj->acl,$tutos[cache_ttl])) { $g_hash['fail3']++; } return; @@ -237,7 +237,7 @@ } } - $obj->cache_update('_acl'.$id,$obj->acl,$tutos['timetolive']*60); + $obj->cache_update('_acl'.$id,$obj->acl,$tutos[cache_ttl]); } /** Modified: trunk/php/acl_overview.php =================================================================== --- trunk/php/acl_overview.php 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/acl_overview.php 2015-11-15 12:22:21 UTC (rev 1284) @@ -131,10 +131,11 @@ continue; } $n2 = count($obj->acl[0]); - foreach ($obj->acl as $f => $p) { - if ($f == 0) continue; - $n2 += count($p); - } + if (is_array($obj->acl)) + foreach ($obj->acl as $f => $p) { + if ($f == 0) continue; + $n2 += count($p); + } loadmodules($obj->getType(),'show'); $line++; @@ -158,7 +159,7 @@ $r .= '<td rowspan="'. max($n2,1) .'" class="over_l">unknown</td>'."\n"; $r .= '<td rowspan="'. max($n2,1) .'" class="over_l"> </td>'."\n"; } - if ( $n2 == 0 ) { + if ( ($n2 == 0) || !is_array($obj->acl[0])) { $r .= "<td colspan=\"2\"> </td>\n"; $r .= $this->MassUpdateField($obj); $r .= $this->OverviewRowEnd($line); @@ -200,7 +201,6 @@ $r .= "? (".$p.")"; } $r .= "</td>\n"; - # $r .= "X |". $this->user->p[$obj->gettypeid()]."| ".$obj->gettypeid(); if ( $b == 0 ) { $r .= $this->MassUpdateField($obj,$n2); } @@ -208,50 +208,51 @@ unset($o); $b++; } - foreach ($obj->acl as $f => $ff) { - if ($f == 0) continue; - foreach ($ff as $h => $p) { - if ( $b > 0 ) { - $r .= $this->OverviewRowStart($line); - } - $r .= "<td>\n"; - if ($h == EVERYBODY) { - $r .= $lang['everybody']; - } else if ($h == NOBODY) { - $r .= 'nobody'; - } else if ($h < 0) { - // virtuell group - $o = $h - ($obj->getTypeId() << ACLSHIFT); - $xx = $obj->getObjectGroups(); - if (isset($xx[$obj->getTypeId()][-$o])) { - $r .= $xx[$obj->getTypeId()][-$o]; + if (is_array($obj->acl)) + foreach ($obj->acl as $f => $ff) { + if ($f == 0) continue; + foreach ($ff as $h => $p) { + if ( $b > 0 ) { + $r .= $this->OverviewRowStart($line); } - } else { - $o = getObject($this->dbconn,$h); - if ( is_object($o) ) { - $r .= myentities($o->getFullName()); + $r .= "<td>\n"; + if ($h == EVERYBODY) { + $r .= $lang['everybody']; + } else if ($h == NOBODY) { + $r .= 'nobody'; + } else if ($h < 0) { + // virtuell group + $o = $h - ($obj->getTypeId() << ACLSHIFT); + $xx = $obj->getObjectGroups(); + if (isset($xx[$obj->getTypeId()][-$o])) { + $r .= $xx[$obj->getTypeId()][-$o]; + } } else { - $r .= "Unknown object ". $h ."\n"; + $o = getObject($this->dbconn,$h); + if ( is_object($o) ) { + $r .= myentities($o->getFullName()); + } else { + $r .= "Unknown object ". $h ."\n"; + } } + $r .= "</td>\n"; + $r .= "<td>\n"; + $r .= acl_link($obj,$lang[$f],$f).': '; + $pre = ''; + if ($p & 2) { + $r .= $pre.$lang['NewEntry']; + $pre = '+'; + } + if ($p & 4) { + $r .= $pre.$lang['ACLread']; + $pre = '+'; + } + $r .= "</td>\n"; + $r .= $this->OverviewRowEnd($line); + unset($o); + $b++; } - $r .= "</td>\n"; - $r .= "<td>\n"; - $r .= acl_link($obj,$lang[$f],$f).': '; - $pre = ''; - if ($p & 2) { - $r .= $pre.$lang['NewEntry']; - $pre = '+'; - } - if ($p & 4) { - $r .= $pre.$lang['ACLread']; - $pre = '+'; - } - $r .= "</td>\n"; - $r .= $this->OverviewRowEnd($line); - unset($o); - $b++; } - } } $a++; unset($obj); Modified: trunk/php/admin_show.php =================================================================== --- trunk/php/admin_show.php 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/admin_show.php 2015-11-15 12:22:21 UTC (rev 1284) @@ -690,6 +690,25 @@ $r .= $this->ContentRowEnd(); $r .= $this->ContentRowStart(); + $r .= $this->showfield('Redis'); + $d = ''; + if($tutos['redis'] != null) { + $dd =$tutos['redis']->info(); + # $d = 'connected '.var_dump($dd); + $d .= ' V:'.$dd['redis_version']; + $d .= ' Mem:'.$dd['used_memory_human']; + if ( ($dd['keyspace_hits']+$dd['keyspace_misses']) != 0) + $ratio = 100.0 * ($dd['keyspace_hits'] / ($dd['keyspace_hits']+$dd['keyspace_misses'])); + else + $ratio = '?'; + $d .= ' (hits:'.$dd['keyspace_hits'].' misses:'.$dd['keyspace_misses'].' ratio '.sprintf('%.2f %%',$ratio).')'; + } else { + $d = 'not enabled'; + } + $r .= $this->showdata($d,9); + $r .= $this->ContentRowEnd(); + + $r .= $this->ContentRowStart(); $r .= $this->showfield('APC'); if (ini_get('apc.enabled')) { if ($tutos['use_apccache']) { Modified: trunk/php/base.pinc =================================================================== --- trunk/php/base.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/base.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -242,7 +242,7 @@ $r->free(); return -1; } - if($obj->cache_store('_'.$this->gettypeid().'_'.$id,$r->getall(0))) { + if($obj->cache_store('_'.$this->gettypeid().'_'.$id,$r->getall(0),$tutos[cache_ttl])) { $g_hash['fail3']++; } } @@ -337,8 +337,8 @@ $rr->free(); // cache it // update cache - $this->cache_store('_r'.$this->id,$this->relations); - $this->cache_store('_br'.$this->id,$this->back_relations); + $this->cache_store('_r'.$this->id,$this->relations,$tutos[cache_ttl]); + $this->cache_store('_br'.$this->id,$this->back_relations,$tutos[cache_ttl]); } // // read custom database fields @@ -1498,8 +1498,8 @@ } } if ($cnt + $cnt2 > 0) { - $this->cache_store('_r'.$this->id,$this->relations); - $this->cache_store('_br'.$this->id,$this->back_relations); + $this->cache_store('_r'.$this->id,$this->relations,$tutos[cache_ttl]); + $this->cache_store('_br'.$this->id,$this->back_relations,$tutos[cache_ttl]); } $msg = addLine($msg,$this->run_postsave_hook()); return $msg; @@ -1528,7 +1528,7 @@ $r->free(); // save for future use - $this->cache_store('_TT'.$x,$this->getTypeId()); + $this->cache_store('_TT'.$x,$this->getTypeId(),$tutos[cache_ttl]); return $msg; } @@ -1980,6 +1980,8 @@ if($tutos['use_memcache']) { return @$tutos['memcache']->get($memid); + } elseif($tutos['use_redis']) { + return @$tutos['redis']->get($memid); } else if ($tutos['use_apccache']) { return apc_fetch($memid); } @@ -2003,6 +2005,8 @@ if($tutos['use_memcache']) { return @$tutos['memcache']->delete($memid,0); + } elseif($tutos['use_redis']) { + return @$tutos['redis']->delete($memid); } else if ($tutos['use_apccache']) { return apc_delete($memid); } @@ -2025,6 +2029,12 @@ if($tutos['use_memcache']) { $tutos['memcache']->replace($memid,$value,0,$ttl); return true; + } else if($tutos['use_redis']) { + if ($ttl != -1) + $tutos['redis']->setex($memid,$ttl,$value); + else + $tutos['redis']->set($memid,$value); + return true; } else if ($tutos['use_apccache']) { $obj->acl = apc_store($memid,$value,$ttl); return true; @@ -2046,6 +2056,12 @@ if($tutos['use_memcache']) { $tutos['memcache']->set($memid,$value,0,$ttl); return true; + } else if($tutos['use_redis']) { + if ($ttl != -1) + $tutos['redis']->setex($memid,$ttl,$value); + else + $tutos['redis']->set($memid,$value); + return true; } else if ($tutos['use_apccache']) { $obj->acl = apc_store($memid,$value,$ttl); return true; Modified: trunk/php/config_default.pinc =================================================================== --- trunk/php/config_default.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/config_default.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -291,6 +291,14 @@ // $tutos[memcache_hosts] = array(); // +// if we use redis for caching database data +// this variable will hold a array of (currently only one) cache host:port +// example $tutos[redis_hosts] = array('localhost:6379'); +// +$tutos[redis_hosts] = array(); +// time to live (sconds) for objects in cache (redis or memcache) +$tutos[cache_ttl] = 3600; +// // Path to freemind java applet (used to display freemind mindmap files in browser) // See http://freemind.sourceforge.net/ // @@ -741,4 +749,4 @@ ### mode:iso-accents *** ### coding:utf-8 *** ### End: *** -?> +?> \ No newline at end of file Modified: trunk/php/db/table_custom_example.pinc =================================================================== --- trunk/php/db/table_custom_example.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/db/table_custom_example.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -431,5 +431,7 @@ $x = preg_split('#,#',trim($obj->parent->$fld)); return $x; } +$table['appointment1']['description'][size] = 101; +$table['appointment1']['visitor']['searchable'] = true; ?> \ No newline at end of file Modified: trunk/php/db.p3 =================================================================== --- trunk/php/db.p3 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/db.p3 2015-11-15 12:22:21 UTC (rev 1284) @@ -167,6 +167,8 @@ define ('smtpport',143); // deprecated define ('help_need_login',144); define ('tcpdfpath',145); +define ('redis_hosts',146); +define ('cache_ttl',147); // Permissions and Object IDS (see also user.pinc) NO CHANGES HERE ! // These are distinct IDS for the different Objcts in TUTOS Modified: trunk/php/google_api/gapi.pinc =================================================================== --- trunk/php/google_api/gapi.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/google_api/gapi.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -135,6 +135,7 @@ global $tutos; if ($ly != null && isset($_GET['code'])) { + dterror_log('code: '.$_GET['code']."\n",3,$tutos[errlog]); $this->client->authenticate($_GET['code']); $this->saveToken(); $ly->redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; Modified: trunk/php/google_api/gapi_config.php =================================================================== --- trunk/php/google_api/gapi_config.php 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/google_api/gapi_config.php 2015-11-15 12:22:21 UTC (rev 1284) @@ -37,7 +37,7 @@ global $lang,$table,$tutos; $r = ''; - $r .= "<form id=\"GAPIconfig\" name=\"GAPIconfig\" action=\"GAPI_config.php\" method=\"post\">\n"; + $r .= "<form id=\"GAPIconfig\" name=\"GAPIconfig\" action=\"gapi_config.php\" method=\"post\">\n"; $r .= $this->DataTableStart(); $line = 0; Modified: trunk/php/layout/mobile_layout.pinc =================================================================== --- trunk/php/layout/mobile_layout.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/layout/mobile_layout.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -745,7 +745,7 @@ $r .= ' dir="ltr"'; $r .= '>'."\n"; - $r .= "<!-- \nCopyright 1999 - 2013 by Gero Kohnert gok...@us... et al\n"; + $r .= "<!-- \nCopyright 1999 - 2015 by Gero Kohnert gok...@us... et al\n"; $r .= "all rights reserved\n-->\n"; $r .= " <head>\n"; $r .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=". $lang['content_encoding'] ."\"".$c; Modified: trunk/php/layout/new2_layout.pinc =================================================================== --- trunk/php/layout/new2_layout.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/layout/new2_layout.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -489,7 +489,7 @@ $r .= ' dir="ltr"'; $r .= '>'."\n"; - $r .= "<!-- \nCopyright 1999 - 2014 by Gero Kohnert gok...@us... et al\n"; + $r .= "<!-- \nCopyright 1999 - 2015 by Gero Kohnert gok...@us... et al\n"; $r .= "all rights reserved\n-->\n"; $r .= " <head>\n"; $r .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=". $lang['content_encoding'] ."\"".$c; Modified: trunk/php/layout/test_layout.pinc =================================================================== --- trunk/php/layout/test_layout.pinc 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/layout/test_layout.pinc 2015-11-15 12:22:21 UTC (rev 1284) @@ -40,13 +40,14 @@ $r .= $this->PrintHeader($name); $r .= "<table id=\"maintable\" cellspacing=\"0\" cellpadding=\"1\" width=\"100%\" border=\"0\"><tr>\n"; - # -# Please do not remove the link to the Copyright note !! -# Honour my work - # - if ( ! isset($tutos['logo']) ) { - $r .= " <td class=\"headline\" height=\"30px\" width=\"16%\" colspan=\"2\" valign=\"middle\" align=\"left\"> <a class=\"nodeco\" rel=\"copyright\" href=\"". $tutos['base'] ."/html/copyright.html\">TUTOS</a></td>\n"; - } else { + // + // Please do not remove the link to the Copyright note ! + // Honour my work + // + if ( !isset( $tutos['logo'] ) ) { + $r .= ' <td class="headline" height="30px" width="16%" colspan="2" valign="middle" align="left"> <a class="nodeco" rel="copyright" href="'; + $r.= $tutos['base'] .'/html/copyright.html">TUTOS</a></td>'"\n"; + } else { $r .= " <td class=\"headline\" width=\"8%\" valign=\"top\" align=\"left\">"; if ( isset($tutos['logolink']) ) { $r .= "<a target=\"url\" href=\"". (ereg("^http",$tutos['logolink']) ? "":$tutos['base']."/" ) . $tutos['logolink'] ."\">"; @@ -73,319 +74,307 @@ } $r .= " </td></tr>\n"; return $r; - } +} /** * start a data table */ function DataTableStart() { return "<table class=\"single\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\">\n"; } - /** - * header of a printable page - */ - function PrintHeader($name) { - $r = ''; - $r .= $this->inithtml(); - $r .= "<body marginwidth=\"0\" marginheight=\"0\">\n"; - return $r; +/** + * header of a printable page + */ +function PrintHeader($name = "") { + $r = ''; + $r .= $this->inithtml(); + $r .= "<body marginwidth=\"0\" marginheight=\"0\">\n"; + return $r; +} +/** + * layout part + */ +function HTML_one($msg) { + $r = ''; + $r .= "<tr>\n"; + if ( $this->nomenu == false ) { + $r .= "<td id=\"datafield\" colspan=\"3\" width=\"90%\" align=". ($this->center ? '"center"':'"left"') ." valign=\"top\">\n"; + } else { + $r .= "<td id=\"datafield\" colspan=\"4\" width=\"100%\" align=". ($this->center ? '"center"':'"left"') ." valign=\"top\">\n"; } - /** - * layout part - */ - function HTML_one($msg) { - $r = ''; - $r .= "<tr>\n"; - if ( $this->nomenu == false ) { - $r .= "<td id=\"datafield\" colspan=\"3\" width=\"90%\" align=". ($this->center ? '"center"':'"left"') ." valign=\"top\">\n"; - } else { - $r .= "<td id=\"datafield\" colspan=\"4\" width=\"100%\" align=". ($this->center ? '"center"':'"left"') ." valign=\"top\">\n"; - } - if ($msg != "") { - $r .= "<div class=\"message\">". $this->error(StripSlashes($msg)) ."</div>"; - } - $r .= $this->actionresult; - return $r; + if ($msg != "") { + $r .= "<div class=\"message\">". $this->error(StripSlashes($msg)) ."</div>"; } - /** - * layout part - */ - function HTML_two() { - $r = ''; - $r .= "</td>\n"; - $r .= "<td align=\"right\" colspan=\"1\" width=\"10%\" class=\"navigate\">\n"; - return $r; - } - /** - * Close a Page - */ - Function HTML_Close () { - global $tutos,$g_hash; + $r .= $this->actionresult; + return $r; +} +/** + * layout part + */ +function HTML_two() { + $r = ''; + $r .= "</td>\n"; + $r .= "<td align=\"right\" colspan=\"1\" width=\"10%\" class=\"navigate\">\n"; + return $r; +} +/** + * Close a Page + */ +Function HTML_Close () { + global $tutos,$g_hash; - $r = ''; - list($usec,$sec) = explode(" ",microtime()); - $end = (float)$usec + (float)$sec; - if ( $this->format != "paper" ) { - $r .= "<tr id=\"footline\" valign=\"bottom\">\n"; - $r .= "<td colspan=\"4\" class=\"headline\">\n"; - if ( ($this->format == "html") && ($tutos[debug] != 0) ) { - $r .= "layout demo took about ". sprintf("%.3f",($end - $this->start_ts)) ." seconds\n"; - # $r .= " hits = ". $g_hash['hits']; - # $r .= " hits2 = ". $g_hash['hits2']; - /********* - $r .= " hash size = ". (count($g_hash) -1); - foreach( $g_hash as $i => $f ) { - $r .= "<br>". $i ; - if ( gettype($f) == "object" ) { - $r .= " ". $f->getType() ; - $r .= " ". $f->getFullName() ; - } - } - *********/ - } - $r .= " </td>\n"; - $r .= "</tr>\n"; - $r .= "</table>"; + $r = ''; + list($usec,$sec) = explode(" ",microtime()); + $end = (float)$usec + (float)$sec; + if ( $this->format != "paper" ) { + $r .= "<tr id=\"footline\" valign=\"bottom\">\n"; + $r .= "<td colspan=\"4\" class=\"headline\">\n"; + if ( ($this->format == "html") && ($tutos[debug] != 0) ) { + $r .= "layout demo took about ". sprintf("%.3f",($end - $this->start_ts)) ." seconds\n"; } - $r .= "</body>\n"; - $r .= "</html>\n"; - return $r; + $r .= " </td>\n"; + $r .= "</tr>\n"; + $r .= "</table>"; } - /** - * return a menu part - */ - function getMenuPart($part,$ruler,$headline = "") { - $r = ''; - if ( isset($this->menu[$part]) && count($this->menu[$part]) ) { - if ($headline != "") { - $r .= "<tr><th>". $headline ."</th></tr>\n"; - } - if ($ruler) { - $r .= "<tr><td><hr noshade size=\"1\"></td></tr>\n"; - } - $r .= "<tr><td nowrap>\n"; - foreach ($this->menu[$part] as $i => $m) { - $r .= $this->menulink($m); - $this->removeMenu($this->menu[$part][$i]); - } - $r .= "</td></tr>\n"; + $r .= "</body>\n"; + $r .= "</html>\n"; + return $r; +} +/** + * return a menu part + */ +function getMenuPart($part,$ruler,$headline = "") { + $r = ''; + if ( isset($this->menu[$part]) && count($this->menu[$part]) ) { + if ($headline != "") { + $r .= "<tr><th>". $headline ."</th></tr>\n"; } - return $r; - } - /** - * display the screen - */ - function display () { - global $msg; - - if ( isset($_GET['mark']) && isset($_GET['action']) && ($_GET['action'] != -1) ) { - $this->actionresult = $this->action(); + if ($ruler) { + $r .= "<tr><td><hr noshade size=\"1\"></td></tr>\n"; } - $this->prepare(); - if ( $this->redirect != "" ) { - Header("Status: 302 Moved Temporarily"); - Header("Location: ". getBaseUrl(). addSessionKey($this->redirect,true)); - return; + $r .= "<tr><td nowrap>\n"; + foreach ($this->menu[$part] as $i => $m) { + $r .= $this->menulink($m); + $this->removeMenu($this->menu[$part][$i]); } - $this->buildmenu(); + $r .= "</td></tr>\n"; + } + return $r; +} +/** + * display the screen + */ +function display () { + global $msg; -# if ( $msg != "" ) { + if ( isset($_GET['mark']) && isset($_GET['action']) && ($_GET['action'] != -1) ) { + $this->actionresult = $this->action(); + } + $this->prepare(); + if ( $this->redirect != "" ) { + Header("Status: 302 Moved Temporarily"); + Header("Location: ". getBaseUrl(). addSessionKey($this->redirect,true)); + return; + } + $this->buildmenu(); + + # if ( $msg != "" ) { # $this->format = "html"; # } if ( ($this->format == "html") || ($this->format == "stat") || ($this->format == "checklist")) { - echo $this->PageHeader(); - echo $this->HTML_one($msg); - if ($this->stop == false ) { - echo $this->info(); - } - echo $this->showContent(); - if ( $this->nomenu == false ) { - $this->HTML_two(); - echo "<table width=\"100%\" border=\"0\">"; + echo $this->PageHeader(); + echo $this->HTML_one($msg); + if ($this->stop == false ) { + echo $this->info(); +} + echo $this->showContent(); + if ( $this->nomenu == false ) { + $this->HTML_two(); + echo "<table width=\"100%\" border=\"0\">"; - echo $this->getMenuPart("search",false,"SEARCH"); - echo $this->getMenuPart("overview",false,"OVERVIEW"); - echo $this->getMenuPart("obj",false," "); - echo $this->getMenuPart("view",false,""); + echo $this->getMenuPart("search",false,"SEARCH"); + echo $this->getMenuPart("overview",false,"OVERVIEW"); + echo $this->getMenuPart("obj",false," "); + echo $this->getMenuPart("view",false,""); - echo $this->navigate(); + echo $this->navigate(); - echo $this->getMenuPart("support",false,"useful"); - echo $this->getMenuPart("module",false,"MODULE"); - echo $this->getMenuPart("help",false," "); - echo $this->getMenuPart("admin",false,""); + echo $this->getMenuPart("support",false,"useful"); + echo $this->getMenuPart("module",false,"MODULE"); + echo $this->getMenuPart("help",false," "); + echo $this->getMenuPart("admin",false,""); - if ( isset($this->menu["url"]) && count($this->menu["url"]) ) { - echo "<tr><th>URL</th></tr>\n"; - echo "<tr><td nowrap>\n"; - foreach ($this->menu["url"] as $i => $m) { - echo menulink($m[url],"<li>".$m[text],$m[info]) ."</li>\n"; - $this->removeMenu($this->menu["url"][$i]); - } - echo "</td></tr>\n"; - } + if ( isset($this->menu["url"]) && count($this->menu["url"]) ) { + echo "<tr><th>URL</th></tr>\n"; + echo "<tr><td nowrap>\n"; + foreach ($this->menu["url"] as $i => $m) { + echo menulink($m[url],"<li>".$m[text],$m[info]) ."</li>\n"; + $this->removeMenu($this->menu["url"][$i]); +} + echo "</td></tr>\n"; +} - echo "<tr><td nowrap>\n"; -#the remaining stuff - foreach ($this->menu as $i => $m) { - if ( is_array($this->menu[$i]) ) { - foreach ($this->menu[$i] as $i2 => $m2) { - echo $this->menulink($this->menu[$i][$i2]); - $this->removeMenu($this->menu[$i][$i2]); - } - } + echo "<tr><td nowrap>\n"; + #the remaining stuff + foreach ($this->menu as $i => $m) { + if ( is_array($this->menu[$i]) ) { + foreach ($this->menu[$i] as $i2 => $m2) { + echo $this->menulink($this->menu[$i][$i2]); + $this->removeMenu($this->menu[$i][$i2]); } - echo "</td></tr>\n"; + } + } + echo "</td></tr>\n"; - if ( "help.php" != basename($_SERVER['PHP_SELF']) ) { - if (isset($_SESSION['history'])) { - echo "<tr><th>HISTORY</th></tr>\n"; - echo "<tr><td nowrap>\n"; - foreach($_SESSION['history'] as $x) { - echo $this->menulink($x); - } - echo "</td></tr>\n"; - } - } - echo "</table>\n"; + if ( "help.php" != basename($_SERVER['PHP_SELF']) ) { + if (isset($_SESSION['history'])) { + echo "<tr><th>HISTORY</th></tr>\n"; + echo "<tr><td nowrap>\n"; + foreach($_SESSION['history'] as $x) { + echo $this->menulink($x); } - echo "</td>\n"; - echo "</tr>\n"; - $this->HTML_Close(); - } else if ( $this->format == "paper" ) { + echo "</td></tr>\n"; + } + } + echo "</table>\n"; +} + echo "</td>\n"; +echo "</tr>\n"; +$this->HTML_Close(); +} else if ( $this->format == "paper" ) { echo $this->PrintHeader($this->name); echo $this->info(); echo $this->HTML_Close(); } else { echo $this->info(); } - } - /** - * start a massupdate row - */ - function UpdateRowStart($cols) { - $r = "<tr>\n"; - $r .= "<th align=\"right\" colspan=\"". $cols ."\">\n"; - return $r; - } - /** - * end a massupdate row - */ - function UpdateRowEnd($cols) { - global $lang; - $r = ""; - $r .= "</th>\n"; - $r .= "<th colspan=\"". $cols ."\" align=\"left\">\n"; - $r .= "<input type=\"submit\" value=\"". $lang['Enter'] ."\"></th>\n"; - $r .= "</tr>\n"; - return $r; - } - /** - * sortable header field in overviews - */ - function orderheader($oname,$link,$base,$cols = 1) { - global $tutos, $lang; +} +/** + * start a massupdate row + */ +function UpdateRowStart($cols) { + $r = "<tr>\n"; + $r .= "<th align=\"right\" colspan=\"". $cols ."\">\n"; + return $r; +} +/** + * end a massupdate row + */ +function UpdateRowEnd($cols) { + global $lang; + $r = ""; + $r .= "</th>\n"; + $r .= "<th colspan=\"". $cols ."\" align=\"left\">\n"; + $r .= "<input type=\"submit\" value=\"". $lang['Enter'] ."\"></th>\n"; + $r .= "</tr>\n"; + return $r; +} +/** + * sortable header field in overviews + */ +function orderheader($oname,$link,$base,$cols = 1) { + global $tutos, $lang; - $base = addUrlParameter($base,"xf=".$oname); - if ( $ "" ) { + $base = addUrlParameter($base,"xf=".$oname); + if ( $ "" ) { + $r = "<th nowrap colspan=\"". $cols ."\">\n"; + $r .= $link; + } else { + if (isset ($_GET['xf']) && ($_GET['xf'] == $oname) ) { + $r = "<th nowrap class=\"state2\" colspan=\"". $cols ."\">\n"; + } else { $r = "<th nowrap colspan=\"". $cols ."\">\n"; - $r .= $link; + } + $l = addUrlParameter($base,"xo=1"); + if ( isset ($_GET['xo']) && $_GET['xo'] == 1 && ($_GET['xf'] == $oname) ) { + $r .= "[". makelink($l ,$this->theme->getImage(up,'list'),sprintf($lang['OrderBy'], $link)) ."]"; } else { - if (isset ($_GET['xf']) && ($_GET['xf'] == $oname) ) { - $r = "<th nowrap class=\"state2\" colspan=\"". $cols ."\">\n"; - } else { - $r = "<th nowrap colspan=\"". $cols ."\">\n"; - } - $l = addUrlParameter($base,"xo=1"); - if ( isset ($_GET['xo']) && $_GET['xo'] == 1 && ($_GET['xf'] == $oname) ) { - $r .= "[". makelink($l ,$this->theme->getImage(up,'list'),sprintf($lang['OrderBy'], $link)) ."]"; - } else { - $r .= makelink($l ,$this->theme->getImage(up,'list'),sprintf($lang['OrderBy'], $link)); - } - $r .= $link; - $l = addUrlParameter($base,"xo=2"); - if ( isset ($_GET['xo']) && $_GET['xo'] == 2 && ($_GET['xf'] == $oname) ) { - $r .= "[". makelink($l ,$this->theme->getImage(down,'list'),sprintf($lang['RevOrderBy'],$link)) ."]"; - } else { - $r .= makelink($l ,$this->theme->getImage(down,'list'),sprintf($lang['RevOrderBy'],$link)); - } + $r .= makelink($l ,$this->theme->getImage(up,'list'),sprintf($lang['OrderBy'], $link)); } - $r .= "</th>\n"; - return $r; - } - /** - * create a link in the menu area - * $m = array - */ - function menulink (&$m) { - if ( isset($m[image]) ) { - $m[text] = $m[image].$m[text]; - } - if ( !isset($m[text]) ) { - return; - } - if ( isset($m[confirm]) && ($m[confirm] == true) ) { - return confirmlink($m[url],$m[text],$m[info]) ."<br>\n"; + $r .= $link; + $l = addUrlParameter($base,"xo=2"); + if ( isset ($_GET['xo']) && $_GET['xo'] == 2 && ($_GET['xf'] == $oname) ) { + $r .= "[". makelink($l ,$this->theme->getImage(down,'list'),sprintf($lang['RevOrderBy'],$link)) ."]"; } else { - return menulink($m[url],$m[text],$m[info]) ."<br>\n"; + $r .= makelink($l ,$this->theme->getImage(down,'list'),sprintf($lang['RevOrderBy'],$link)); } } - /** - * remove a menu item in all categories - */ - function removeMenu(&$rm) { - unset($rm[text]); - unset($rm[info]); - unset($rm[category]); - unset($rm[image]); - unset($rm[target]); + $r .= "</th>\n"; + return $r; +} +/** + * create a link in the menu area + * $m = array + */ +function menulink (&$m) { + if ( isset($m[image]) ) { + $m[text] = $m[image].$m[text]; + } + if ( !isset($m[text]) ) { + return; + } + if ( isset($m[confirm]) && ($m[confirm] == true) ) { + return confirmlink($m[url],$m[text],$m[info]) ."<br>\n"; + } else { + return menulink($m[url],$m[text],$m[info]) ."<br>\n"; + } +} +/** + * remove a menu item in all categories + */ +function removeMenu(&$rm) { + unset($rm[text]); + unset($rm[info]); + unset($rm[category]); + unset($rm[image]); + unset($rm[target]); - foreach ($this->menu as $i => $m) { - if ( is_array($m) ) { - foreach ($m as $i2 => $m2) { - if ( $rm[url] == $m2[url] ) { - unset($this->menu[$i][$i2]); -# echo $this->menu[$i][$i2][url] ."<br>"; - } + foreach ($this->menu as $i => $m) { + if ( is_array($m) ) { + foreach ($m as $i2 => $m2) { + if ( $rm[url] == $m2[url] ) { + unset($this->menu[$i][$i2]); + # echo $this->menu[$i][$i2][url] ."<br>"; } - } else { - unset($this->menu[$i]); - } - } - } - /** - * add a menu item - * tarr = a fully defined link including - */ - function addMenu($tarr) { - if ( ! is_Array($tarr) ) { - return; - } - if ( isset($tarr[0][url]) ) { - foreach ($tarr as $i => $f) { - $this->addMenu($tarr[$i]); - } - return; - } - foreach ($tarr[category] as $t ) { - if (isset($this->menu[$t])) { - foreach ($this->menu[$t] as $x ) { + } + } else { + unset($this->menu[$i]); + } + } + } + /** + * add a menu item + * tarr = a fully defined link including + */ + function addMenu($tarr) { + if ( ! is_Array($tarr) ) { + return; + } + if ( isset($tarr[0][url]) ) { + foreach ($tarr as $i => $f) { + $this->addMenu($tarr[$i]); + } + return; + } + foreach ($tarr[category] as $t ) { + if (isset($this->menu[$t])) { + foreach ($this->menu[$t] as $x ) { if ($x[url] == $tarr[url]) { - return; + return; + } + } + } + } + # do not add duplicate entries + foreach ($tarr[category] as $t ) { + $this->menu[$t][] = &$tarr; + } + return; + } + /** + * getLayoutName + */ + function getLayoutName() { + return 'new_layout'; } - } } - } -# do not add duplicate entries - foreach ($tarr[category] as $t ) { - $this->menu[$t][] = &$tarr; - } - return; - } - /** - * getLayoutName - */ - function getLayoutName() { - return 'new_layout'; - } -} -?> + ?> \ No newline at end of file Modified: trunk/php/permission.p3 =================================================================== --- trunk/php/permission.p3 2015-03-14 09:22:19 UTC (rev 1283) +++ trunk/php/permission.p3 2015-11-15 12:22:21 UTC (rev 1284) @@ -99,8 +99,10 @@ require_once 'handler.pinc'; $tutos['memcache'] = null; +$tutos['redis'] = null; $tutos['use_apccache'] = false; $tutos['use_memcache'] = false; +$tutos['use_redis'] = false; if (ini_get('apc.enabled')) { // prefer eaccel for caching code @@ -110,6 +112,7 @@ } $tutos['use_apccache'] = true; $tutos['use_memcache'] = false; + $tutos['use_redis'] = false; } if ( count($tutos[memcache_hosts]) && class_exists("memcache")) { @@ -121,9 +124,21 @@ if (! $tutos['use_apccache']) { $tutos['use_apccache'] = false; $tutos['use_memcache'] = true; + $tutos['use_redis'] = false; } // otherwise use memcache for sessions only } +if ( count($tutos[redis_hosts]) && class_exists('redis')) { + # https://github.com/phpredis/phpredis + $tutos['redis'] = new redis(); + $xxxx = preg_split('#:#',$tutos[redis_hosts][0]); + $tutos['redis']->pconnect($xxxx[0],$xxxx[1]); + if (! $tutos['use_apccache']) { + $tutos['use_apccache'] = false; + $tutos['use_redis'] = true; + $tutos['use_memcache'] = false; + } // otherwise use memcache for sessions only +} if (!extension_loaded('session')) { if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) { @@ -145,17 +160,20 @@ // use files to save session data if ( ($tutos['memcache'] != null) && (MEMCACHE_HAVE_SESSION == 1) ) { @ini_set('session.save_handler','memcache'); - session_save_path("tcp://".$tutos[memcache_hosts][0].":11211?persistent=1&weight=1&timeout=1&retry_interval=15"); + session_save_path("tcp://".$tutos[memcache_hosts][0].':11211?persistent=1&weight=1&timeout=1&retry_interval=15'); +} else if ( ($tutos['redis'] != null) ) { + @ini_set('session.save_handler','redis'); + session_save_path("tcp://".$tutos[redis_hosts][0]); } else { @ini_set('session.save_handler','files'); + // + // On Server Clusters (LoadBalancing) you should + // change savepath to some path all your servers share + // session_save_path($tutos[sessionpath]); } @ini_set('mbstring.func_overload','1'); -// -// On Server Clusters (LoadBalancing) you should -// change savepath to some path all your servers share -// session_name('TUTOS'); include_once 'mail.pinc'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-03-14 09:22:27
|
Revision: 1283 http://sourceforge.net/p/tutos/code/1283 Author: gokohnert Date: 2015-03-14 09:22:19 +0000 (Sat, 14 Mar 2015) Log Message: ----------- fix Modified Paths: -------------- trunk/php/localization/holiday_en_uk.pinc Modified: trunk/php/localization/holiday_en_uk.pinc =================================================================== --- trunk/php/localization/holiday_en_uk.pinc 2015-03-14 08:42:36 UTC (rev 1282) +++ trunk/php/localization/holiday_en_uk.pinc 2015-03-14 09:22:19 UTC (rev 1283) @@ -21,17 +21,19 @@ array( Date => "13-02", type => 0, Desc => "Ash Wednesday (UK)"), array( Date => "14-02", type => 0, Desc => "St Valentines Day (UK)"), array( Date => "01-03", type => 1, Desc => "St Davids Day (UK)"), - array( Date => "10-03", type => 1, Desc => "Mothering Sunday (UK)"), - array( Date => "11-03", type => 1, Desc => "Commonwealth Day (UK)"), + # array( Date => "10-03", type => 1, Desc => "Mothering Sunday (UK)"), + array( Date => "09-03-15", type => 1, Desc => "Commonwealth Day (UK)"), + array( Date => "14-03-16", type => 1, Desc => "Commonwealth Day (UK)"), + array( Date => "13-03-17", type => 1, Desc => "Commonwealth Day (UK)"), array( Date => "18-03", type => 1, Desc => "St Patricks Day (UK)"), array( Date => "01-04", type => 1, Desc => "April Fools Day (UK)"), array( Date => "21-04", type => 1, Desc => "Queens Birthday (UK)"), array( Date => "23-04", type => 1, Desc => "St Georges Day (UK)"), -# array( Date => "05-05", type => 1, Desc => "May Bank Holiday (UK)"), -# array( Date => "03-06", type => 1, Desc => "Golden Jubilee Bank Holiday (UK)"), -# array( Date => "04-06", type => 1, Desc => "Spring Bank Holiday (UK)"), -# array( Date => "16-06", type => 1, Desc => "Fathers Day (UK)"), -# array( Date => "26-08", type => 1, Desc => "Summer Bank Holiday (UK)"), + # array( Date => "05-05", type => 1, Desc => "May Bank Holiday (UK)"), + # array( Date => "03-06", type => 1, Desc => "Golden Jubilee Bank Holiday (UK)"), + # array( Date => "04-06", type => 1, Desc => "Spring Bank Holiday (UK)"), + # array( Date => "16-06", type => 1, Desc => "Fathers Day (UK)"), + # array( Date => "26-08", type => 1, Desc => "Summer Bank Holiday (UK)"), array( Date => "GOODFRIDAY", type => 1, Desc => "Good Friday (UK)"), array( Date => "EASTERSUNDAY", type => 1, Desc => "Easter Sunday (UK)"), array( Date => "EASTERMONDAY", type => 1, Desc => "Easter Monday (UK)"), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-03-14 08:42:38
|
Revision: 1282 http://sourceforge.net/p/tutos/code/1282 Author: gokohnert Date: 2015-03-14 08:42:36 +0000 (Sat, 14 Mar 2015) Log Message: ----------- fix Modified Paths: -------------- trunk/php/file/file_ins.php Modified: trunk/php/file/file_ins.php =================================================================== --- trunk/php/file/file_ins.php 2015-03-13 19:20:14 UTC (rev 1281) +++ trunk/php/file/file_ins.php 2015-03-14 08:42:36 UTC (rev 1282) @@ -215,13 +215,13 @@ $farr['size'] = filesize($farr['tmp_name']); if (isset($_REQUEST['ct'])) { $farr['type'] = $_REQUEST['ct']; - } else if (ereg("\.png$",$file)) { + } else if (preg_match("#.png$#i",$file)) { $farr['type'] = 'image/png'; - } else if (ereg("\.gif$",$file)) { + } else if (preg_match("#.gif#i",$file)) { $farr['type'] = 'image/gif'; - } else if (ereg("\.jpg$",$file)) { + } else if (preg_match("#.jpg$#i",$file)) { $farr['type'] = 'image/jpeg'; - } else if (ereg("\.pdf$",$file)) { + } else if (preg_match("#.pdf$#i",$file)) { $farr['type'] = 'application/pdf'; } else { $farr['type'] = 'any'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-03-13 19:20:21
|
Revision: 1281 http://sourceforge.net/p/tutos/code/1281 Author: gokohnert Date: 2015-03-13 19:20:14 +0000 (Fri, 13 Mar 2015) Log Message: ----------- fix Modified Paths: -------------- trunk/php/permission.p3 Modified: trunk/php/permission.p3 =================================================================== --- trunk/php/permission.p3 2015-03-13 19:19:43 UTC (rev 1280) +++ trunk/php/permission.p3 2015-03-13 19:20:14 UTC (rev 1281) @@ -219,7 +219,7 @@ if ( defined('useldap') && ! function_exists('ldap_connect')) { $tutos[useldap] = 0; } -if ( ! function_exists('imap_open')) { +if ( defined('usemailboxes') && ! function_exists('imap_open')) { $tutos[usemailboxes] = 0; } if ( ($tutos[usedocmanagement] != 0) && (('Off' == ini_get('file_uploads')) || ('1' != ini_get('file_uploads'))) ) { @@ -460,6 +460,8 @@ } if ($tutos['nologin']) { + $dbconn = DB_Open(-3); // pseudo fake db + $current_user = new tutos_user($dbconn); $msg = addLine($msg,'Login diabled by config.'); ReadLang($lang); $auth[0]->login_form($_SERVER['SCRIPT_NAME'],$auth,$msg); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-03-13 19:19:44
|
Revision: 1280 http://sourceforge.net/p/tutos/code/1280 Author: gokohnert Date: 2015-03-13 19:19:43 +0000 (Fri, 13 Mar 2015) Log Message: ----------- fix Modified Paths: -------------- trunk/php/file/file_config.php Modified: trunk/php/file/file_config.php =================================================================== --- trunk/php/file/file_config.php 2015-02-02 19:15:08 UTC (rev 1279) +++ trunk/php/file/file_config.php 2015-03-13 19:19:43 UTC (rev 1280) @@ -114,7 +114,7 @@ $tutos['file_local_allow'] = ( isset($_REQUEST['file_local_allow']) ? $_REQUEST['file_local_allow']:0); write_config_value($this->dbconn,'file_local_allow','file'); - $tutos['file_local_searchpath'] = $_REQUEST['file_local_searchpath']; + $tutos['file_local_searchpath'] = trim($_REQUEST['file_local_searchpath']); write_config_value($this->dbconn,'file_local_searchpath','file'); $msg .= ' saving done '; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2015-02-02 19:15:15
|
Revision: 1279 http://sourceforge.net/p/tutos/code/1279 Author: gokohnert Date: 2015-02-02 19:15:08 +0000 (Mon, 02 Feb 2015) Log Message: ----------- fix Modified Paths: -------------- trunk/php/file/file_config.php Modified: trunk/php/file/file_config.php =================================================================== --- trunk/php/file/file_config.php 2014-12-23 12:22:56 UTC (rev 1278) +++ trunk/php/file/file_config.php 2015-02-02 19:15:08 UTC (rev 1279) @@ -1,6 +1,6 @@ <?php /** - * Copyright 2009 - 2013 by Gero Kohnert + * Copyright 2009 - 2015 by Gero Kohnert * * 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 the @@ -54,7 +54,7 @@ $r .= '<td><select name="file_dirperm">'; $perms = array('0700','0750','0770','0755','0775','0777'); foreach ($perms as $p) { - $r .= '<option value="'.$p.'" '.($tutos['file_fileperm'] == $p ? 'selected="selected"':'').'>'.$p.'</option>'; + $r .= '<option value="'.$p.'" '.($tutos['file_dirperm'] == $p ? 'selected="selected"':'').'>'.$p.'</option>'; } $r .= '</select></td>'; $r .= '<td colspan="2" class="pre">'.$lang['FileConfigHelpDirPerm'].'</td>'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-23 12:22:58
|
Revision: 1278 http://sourceforge.net/p/tutos/code/1278 Author: gokohnert Date: 2014-12-23 12:22:56 +0000 (Tue, 23 Dec 2014) Log Message: ----------- update jquery scripts Modified Paths: -------------- trunk/Makefile trunk/html/css/images/ajax-loader.gif trunk/html/css/jquery.mobile.min.css trunk/html/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png trunk/html/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png trunk/html/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png trunk/html/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png trunk/html/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png trunk/html/css/smoothness/jquery-ui.custom.css trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png trunk/html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png trunk/html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png trunk/html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png trunk/html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png trunk/html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png trunk/html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png trunk/html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png trunk/html/css/ui-lightness/jquery-ui.custom.css trunk/html/js/jquery-ui.custom.min.js trunk/html/js/jquery.min.js trunk/html/js/jquery.mobile.min.js trunk/php/layout/layout_base.pinc Added Paths: ----------- trunk/html/js/jquery-migrate-1.2.1.min.js Removed Paths: ------------- trunk/html/js/jquery-migrate-1.1.1.js Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2014-12-19 09:02:14 UTC (rev 1277) +++ trunk/Makefile 2014-12-23 12:22:56 UTC (rev 1278) @@ -589,7 +589,7 @@ html/LICENSE_bgiframe.txt \ html/motd_default.html \ html/js/jquery.min.js \ - html/js/jquery-migrate-1.1.1.js \ + html/js/jquery-migrate-1.2.1.min.js \ html/js/jquery.mobile.min.js \ html/js/jquery.bt.min.js \ html/js/jquery.bgiframe.min.js \ Modified: trunk/html/css/images/ajax-loader.gif =================================================================== (Binary files differ) Modified: trunk/html/css/jquery.mobile.min.css =================================================================== --- trunk/html/css/jquery.mobile.min.css 2014-12-19 09:02:14 UTC (rev 1277) +++ trunk/html/css/jquery.mobile.min.css 2014-12-23 12:22:56 UTC (rev 1278) @@ -1,3 +1,3 @@ -/*! jQuery Mobile 1.4.0 | Git HEAD hash: f09aae0 <> 2013-12-19T17:34:22Z | (c) 2010, 2013 jQuery Foundation, Inc. | jquery.org/license */ +/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ @@ Diff output truncated at 100000 characters. @@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-19 09:02:23
|
Revision: 1277 http://sourceforge.net/p/tutos/code/1277 Author: gokohnert Date: 2014-12-19 09:02:14 +0000 (Fri, 19 Dec 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/timetrack/timetrack_select.php Modified: trunk/php/timetrack/timetrack_select.php =================================================================== --- trunk/php/timetrack/timetrack_select.php 2014-12-11 16:23:00 UTC (rev 1276) +++ trunk/php/timetrack/timetrack_select.php 2014-12-19 09:02:14 UTC (rev 1277) @@ -105,6 +105,7 @@ $this->name = $lang['TimetrackSearch']; $this->center = true; $this->css_class = 'selectbox'; + $this->state = array(); if ( ! $this->user->feature_ok(usetimetrack,PERM_SEL) ) { $msg = addLine($msg,sprintf($lang['Err0022'],"'". $this->name ."'")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-11 16:23:08
|
Revision: 1276 http://sourceforge.net/p/tutos/code/1276 Author: gokohnert Date: 2014-12-11 16:23:00 +0000 (Thu, 11 Dec 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/layout/layout_base.pinc trunk/php/layout/new_layout.pinc Modified: trunk/php/layout/layout_base.pinc =================================================================== --- trunk/php/layout/layout_base.pinc 2014-12-11 15:36:47 UTC (rev 1275) +++ trunk/php/layout/layout_base.pinc 2014-12-11 16:23:00 UTC (rev 1276) @@ -651,10 +651,14 @@ if ( method_exists($obj,"mod_ok") && $obj->mod_ok() ) { $r .= '<input class="m_field" name="mark[]" type="checkbox"'; if ( $obj->getType() == "user" ) { - $r .= (in_array($obj->uid,$_GET['mark']) ? ' checked="checked"':''); + if (isset($_GET['mark'])) { + $r .= (in_array($obj->uid,$_GET['mark']) ? ' checked="checked"':''); + } $r .= ' value="'.$obj->uid.'"'; } else { - $r .= (in_array($obj->id,$_GET['mark']) ? ' checked="checked"':''); + if (isset($_GET['mark'])) { + $r .= (in_array($obj->id,$_GET['mark']) ? ' checked="checked"':''); + } $r .= ' value="'.$obj->id.'"'; } $r .= " />\n"; Modified: trunk/php/layout/new_layout.pinc =================================================================== --- trunk/php/layout/new_layout.pinc 2014-12-11 15:36:47 UTC (rev 1275) +++ trunk/php/layout/new_layout.pinc 2014-12-11 16:23:00 UTC (rev 1276) @@ -482,6 +482,9 @@ $m[text] = '??'; continue; } + if ( !isset($m[info]) ) { + $m[info] = ''; + } if ($img) { $t = (isset($m[image])?$m[image]:""). myentities($m[text]); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-11 15:36:50
|
Revision: 1275 http://sourceforge.net/p/tutos/code/1275 Author: gokohnert Date: 2014-12-11 15:36:47 +0000 (Thu, 11 Dec 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/admin_show.php Modified: trunk/php/admin_show.php =================================================================== --- trunk/php/admin_show.php 2014-12-11 15:30:04 UTC (rev 1274) +++ trunk/php/admin_show.php 2014-12-11 15:36:47 UTC (rev 1275) @@ -484,7 +484,7 @@ } } } else if (filesize ($tutos[errlog])) { - $r .= fread ($fd, filesize ($tutos[errlog])); + $r .= htmlspecialchars(fread ($fd, filesize ($tutos[errlog]))); } fclose($fd); $r .= '</pre>'."\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-11 15:30:11
|
Revision: 1274 http://sourceforge.net/p/tutos/code/1274 Author: gokohnert Date: 2014-12-11 15:30:04 +0000 (Thu, 11 Dec 2014) Log Message: ----------- secure Modified Paths: -------------- trunk/php/webelements.p3 Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2014-12-11 15:29:09 UTC (rev 1273) +++ trunk/php/webelements.p3 2014-12-11 15:30:04 UTC (rev 1274) @@ -3010,6 +3010,7 @@ } else { Header('Pragma: no-cache'); } + Header('X-Content-Type-Options: nosniff'); Header('Cache-Control: no-store, no-cache, must-revalidate'); Header('Cache-Control: max_age=0 ,post-check=0, pre-check=0',false); Header('Last-Modified: ' . gmdate('D, d M Y H:i:s') .' GMT'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-12-11 15:29:17
|
Revision: 1273 http://sourceforge.net/p/tutos/code/1273 Author: gokohnert Date: 2014-12-11 15:29:09 +0000 (Thu, 11 Dec 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/product_overview.php Modified: trunk/php/product_overview.php =================================================================== --- trunk/php/product_overview.php 2014-08-10 07:35:40 UTC (rev 1272) +++ trunk/php/product_overview.php 2014-12-11 15:29:09 UTC (rev 1273) @@ -308,7 +308,9 @@ // Column for checkboxes if ( $p->mod_ok() ) { $xx .= '<input class="m_field" name="mark[]" type="checkbox" value="'. $p->id .'"'; - $xx .= (in_array($p->id,$_GET['mark']) ? ' checked="checked"':''); + if (isset($_GET['mark'])) { + $xx .= (in_array($p->id,$_GET['mark']) ? ' checked="checked"':''); + } $xx .= " />\n"; } else { $xx .= "-\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-08-10 07:35:45
|
Revision: 1272 http://sourceforge.net/p/tutos/code/1272 Author: gokohnert Date: 2014-08-10 07:35:40 +0000 (Sun, 10 Aug 2014) Log Message: ----------- update Modified Paths: -------------- trunk/html/blue.css trunk/html/nuke.css trunk/html/red.css trunk/html/white.css trunk/php/bugtracking/bug_overview.php trunk/php/google_api/gapi.pinc trunk/php/isbn/isbn.pinc trunk/php/product_overview.php trunk/php/tree.php Modified: trunk/html/blue.css =================================================================== --- trunk/html/blue.css 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/html/blue.css 2014-08-10 07:35:40 UTC (rev 1272) @@ -1,5 +1,5 @@ /* - * Copyright 1999 - 2013 by Gero Kohnert + * Copyright 1999 - 2014 by Gero Kohnert * * example theme * @@ -66,13 +66,15 @@ } .message { - background: #feeeee; - color: red; + background: #fcc; + color: red; + padding: 0.5em; } .info { - background: #eeeefe; - color: black; + background: #ccf; + color: black; + padding: 0.5em; } Modified: trunk/html/nuke.css =================================================================== --- trunk/html/nuke.css 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/html/nuke.css 2014-08-10 07:35:40 UTC (rev 1272) @@ -81,13 +81,15 @@ } .message { - background: #feeeee; + background: #fcc; color: black; + padding: 0.5em; } .info { - background: #eeeefe; + background: #ccf; color: black; + padding: 0.5em; } /* preformatted text */ Modified: trunk/html/red.css =================================================================== --- trunk/html/red.css 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/html/red.css 2014-08-10 07:35:40 UTC (rev 1272) @@ -1,5 +1,5 @@ /** - * Copyright 1999 - 2013 by Gero Kohnert + * Copyright 1999 - 2014 by Gero Kohnert * * example theme * @@ -58,13 +58,15 @@ } .message { - background: #feeeee; - color: red; + background: #fcc; + color: black; + padding: 0.5em; } .info { - background: #eeeefe; + background: #ccf; color: black; + padding: 0.5em; } /* preformatted text */ Modified: trunk/html/white.css =================================================================== --- trunk/html/white.css 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/html/white.css 2014-08-10 07:35:40 UTC (rev 1272) @@ -1,5 +1,5 @@ /** - * Copyright 1999 - 2013 by Gero Kohnert + * Copyright 1999 - 2014 by Gero Kohnert * * black/white theme * @@ -62,14 +62,16 @@ .message { background: #FFFDFD; - color: #000; + color: black; border: 2px solid red; + padding: 0.5em; } .info { - background: #FDFDFF; + background: #FDFDFF; color: black; border: 2px solid blue; + padding: 0.5em; } /* preformatted text */ Modified: trunk/php/bugtracking/bug_overview.php =================================================================== --- trunk/php/bugtracking/bug_overview.php 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/php/bugtracking/bug_overview.php 2014-08-10 07:35:40 UTC (rev 1272) @@ -933,7 +933,7 @@ $solver = $vid; } } else if ( !isset($_GET['Vfn']) || ($_GET['Vfn'] == '') ) { - $info = addLine($info,'No Solver'); + $msg = addLine($msg,sprintf($lang['Err0040'],'"'.$lang['BugAssignedTo'].'"')); return; } else if ( isset($_GET['Vfn']) ) { $solver = check_field($_GET['Vfn'],"Vfn","Vl",'atT'); @@ -954,7 +954,7 @@ if ($b->getSolver() != $old) { $info = addLine($info,$b->getFullName().': '.$lang['BugAssignedTo'].' -> '.$b->getSolver()); $b->newdesc = $lang['BugAssignedTo'].' '.$old .' -> '.$b->getSolver(); - $b->save(); + $msg = addLine($msg,$b->save()); } } else { $msg = addLine($msg,$b->getLink() .': '. sprintf($lang['Err0024'],$lang[$b->getType()])); Modified: trunk/php/google_api/gapi.pinc =================================================================== --- trunk/php/google_api/gapi.pinc 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/php/google_api/gapi.pinc 2014-08-10 07:35:40 UTC (rev 1272) @@ -241,7 +241,9 @@ foreach($data['attendees'] as $p) { if (isset($data['self'])) { $a->addParticipant($this->user); - } else { + } else if (isset($p['email'])) { + //dterror_log('-> ATTENDEE '.print_r($p,true) ."\r\n",3,$tutos[errlog]); + print_r ($p); //find user $q = 'select distinct a.adr_id from '.$table['location'][name].' l,'.$table['address1'][name].' a where l.id = a.loc_id'; $q .= ' and ('.$this->dbconn->Like('email_1',$p['email']); Modified: trunk/php/isbn/isbn.pinc =================================================================== --- trunk/php/isbn/isbn.pinc 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/php/isbn/isbn.pinc 2014-08-10 07:35:40 UTC (rev 1272) @@ -1,6 +1,6 @@ <?php /** - * Copyright 2004 - 2013 by Gero Kohnert + * Copyright 2004 - 2014 by Gero Kohnert * * 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 the Modified: trunk/php/product_overview.php =================================================================== --- trunk/php/product_overview.php 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/php/product_overview.php 2014-08-10 07:35:40 UTC (rev 1272) @@ -704,7 +704,7 @@ } } if (!is_object($roler)) { - $info = addLine($info,'No Role'); + $msg = addLine($msg,sprintf($lang['Err0040'],'"'.$lang['ProdRoles'].'"')); return; } $info = addLine($info,$lang['ProdRole'][$role].':'.$roler); Modified: trunk/php/tree.php =================================================================== --- trunk/php/tree.php 2014-05-16 11:52:05 UTC (rev 1271) +++ trunk/php/tree.php 2014-08-10 07:35:40 UTC (rev 1272) @@ -50,11 +50,11 @@ }, }); }); - $('#jstree_demo_div').on(\"activate_node.jstree changed.jstree\", function (e, data) { - console.log(e.type+' '+data.selected); + $('#jstree_demo_div').on('activate_node.jstree changed.jstree', function (e, data) { + console.log('ACT: '+ e.type+' '+data.selected); }); $('#jstree_demo_div').on('select_node.jstree', function (e, data) { - console.log(data.selected); + console.log('SEL: '+data.selected); $.get('treedata.php?mode=info&id='+data.selected,function (xdata) { $( '#datafield' ).html( xdata ); }); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-05-16 11:52:08
|
Revision: 1271 http://sourceforge.net/p/tutos/code/1271 Author: gokohnert Date: 2014-05-16 11:52:05 +0000 (Fri, 16 May 2014) Log Message: ----------- massupdate roles Modified Paths: -------------- trunk/php/product_overview.php Modified: trunk/php/product_overview.php =================================================================== --- trunk/php/product_overview.php 2014-05-16 06:43:29 UTC (rev 1270) +++ trunk/php/product_overview.php 2014-05-16 11:52:05 UTC (rev 1271) @@ -304,10 +304,12 @@ $xx .= task::summary($p); } } else if ( $c == 'checkbox' ) { - $xx .= '<div align="center">'; + $xx .= '<div align="center" class="upd_field">'; // Column for checkboxes if ( $p->mod_ok() ) { - $xx .= '<input class="m_field" name="mark[]" type="checkbox" value="'. $p->id ."\" />\n"; + $xx .= '<input class="m_field" name="mark[]" type="checkbox" value="'. $p->id .'"'; + $xx .= (in_array($p->id,$_GET['mark']) ? ' checked="checked"':''); + $xx .= " />\n"; } else { $xx .= "-\n"; } @@ -403,7 +405,7 @@ // Mass Update $r .= $this->UpdateRowStart($this->flds -1); $r .= sprintf($lang['withmarked'],$lang['ProductPs']); - $r .= " <select name=\"action\">\n"; + $r .= " <select id=\"action\" name=\"action\">\n"; $r .= " <option value=\"-1\" selected=\"selected\">". $lang['ActionNil'] ."</option>\n"; $r .= " <option value=\"-2\">". $lang['Delete'] ."</option>\n"; @@ -418,7 +420,32 @@ $r .= watchlist::action_options(); } $r .= " <option value=\"-5\">". $lang['TaskOverview'] ."</option>\n"; + foreach ( $lang['ProdRole'] as $ti => $tx) { + $r .= ' <option value="R'.$ti.'">'. sprintf($lang['SetTo'],'"'.$tx.'"','...') ."</option>\n"; + } $r .= "</select>\n"; + $dx = ''; + foreach ( $lang['ProdRole'] as $ti => $tx) { + $r .= '<span id="R'.$ti.'_sel"><br />'; + if ( $tutos[rolecheck][$ti] == "p") { + $r .= select_from_array_or_input($this,'R'.$ti.'_',null,1,'p'); + } else { + $r .= select_from_array_or_input($this,'R'.$ti.'_',null,1,'atcd'); + } + $r .= '</span>'."\n"; + $tutos['pagescript'] .= "$('#R".$ti."_sel').hide(); +"; + $dx .= "if(this.value == 'R".$ti."') { + $('#R".$ti."_sel').show(); +} else { + $('#R".$ti."_sel').hide(); +} +"; + } + $tutos['pagescript'] .= "$('#action').change(function() { +".$dx." +}); +"; $r .= $this->UpdateRowEnd(1); } @@ -662,7 +689,25 @@ $this->stc->initByArray('ProdStates',$x->c_state); } - if ( $_GET['action'] == -2 ) { + if ( preg_match("#^(R)(.*)#",$_GET['action'],$a) ) { + // Role mass seeting + $role = $a[2]; + $roler = null; + if ( isset($_GET['R'.$role.'_id']) ) { + $roler = getObject($this->user->dbconn,$_GET['R'.$role.'_id']); + } else if ( !isset($_GET['R'.$role.'_fn']) || ($_GET['R'.$role.'_fn'] == '') ) { + } else if ( isset($_GET['R'.$role.'_fn']) ) { + if ( $tutos[rolecheck][$ti] == "p") { + $roler = check_field($_GET['R'.$role.'_fn'],'R'.$role.'_fn','R'.$role.'_l','p'); + } else { + $roler = check_field($_GET['R'.$role.'_fn'],'R'.$role.'_fn','R'.$role.'_l','atcd'); + } + } + if (!is_object($roler)) { + $info = addLine($info,'No Role'); + return; + } + $info = addLine($info,$lang['ProdRole'][$role].':'.$roler); $this->dbconn->Begin("WORK"); foreach ($_GET['mark'] as $key => $val) { $p = new product($this->dbconn); @@ -671,6 +716,26 @@ continue; } $p->readroles(); + if ( $p->mod_ok() ) { + $p->setRole($roler,$role,'XX'); + $info = addLine($info,$p->getFullName().':'.$lang['ProdRole'][$role]); + $msg = addLine($msg,$p->save()); + } else { + $msg = addLine($msg,$p->getLink() .": ". sprintf($lang['Err0024'],$lang[$p->getType()])); + } + unset($p); + } + $this->dbconn->Commit("WORK"); + return; + } else if ( $_GET['action'] == -2 ) { + $this->dbconn->Begin("WORK"); + foreach ($_GET['mark'] as $key => $val) { + $p = new product($this->dbconn); + $p = $p->read($val,$p); + if ( $p->id != $val ) { + continue; + } + $p->readroles(); if ( $p->del_ok() ) { $info = addLine($info,sprintf($lang['ProdDelInfo'], $p->getFullName())); $msg = addLine($msg,$p->delete()); @@ -682,8 +747,7 @@ } $this->dbconn->Commit("WORK"); return; - } - if ( preg_match("#^(S)(.*)#",$_GET['action'],$a) ) { + } else if ( preg_match("#^(S)(.*)#",$_GET['action'],$a) ) { $this->dropSubSession(); $this->dbconn->Begin("WORK"); foreach ($_GET['mark'] as $key => $val) { @@ -710,14 +774,11 @@ } $this->dbconn->Commit("WORK"); return; - } - - if ( $_GET['action'] == -4 ) { + } elseif ( $_GET['action'] == -4 ) { $this->redirect = acl_action(); return; - } - // redirect to Task Overview - if ( $_GET['action'] == -5 ) { + } elseif ( $_GET['action'] == -5 ) { + // redirect to Task Overview $url = 'task_overview.php'; foreach ($_GET['mark'] as $key => $val) { $url = addUrlParameter($url,'id[]='.$val,true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-05-16 06:43:34
|
Revision: 1270 http://sourceforge.net/p/tutos/code/1270 Author: gokohnert Date: 2014-05-16 06:43:29 +0000 (Fri, 16 May 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/database.pinc Modified: trunk/php/database.pinc =================================================================== --- trunk/php/database.pinc 2014-05-16 06:42:44 UTC (rev 1269) +++ trunk/php/database.pinc 2014-05-16 06:43:29 UTC (rev 1270) @@ -192,8 +192,8 @@ if ( is_object($r) && ($r->numrows() > 0) ) { $obj->read_result($r,0); $obj->dbentryexist = true; - $r->free(); } + $r->free(); } // For all DB ids between 0 and 1000 the connection part of the description is This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-05-16 06:42:47
|
Revision: 1269 http://sourceforge.net/p/tutos/code/1269 Author: gokohnert Date: 2014-05-16 06:42:44 +0000 (Fri, 16 May 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/bugtracking/bug.pinc Modified: trunk/php/bugtracking/bug.pinc =================================================================== --- trunk/php/bugtracking/bug.pinc 2014-05-16 06:42:09 UTC (rev 1268) +++ trunk/php/bugtracking/bug.pinc 2014-05-16 06:42:44 UTC (rev 1269) @@ -627,15 +627,8 @@ $r .= ' - '. $i->revision .' -'; $r .= "\r\n"; if ($desc != $olddesc) { - $d = $desc; - $d = preg_replace('#&#im','&',$d); - $d = preg_replace('#"#im','"',$d); - $d = preg_replace('#<[biu]>#im','',$d); - $d = preg_replace('#</[biu]>#im','',$d); - $d = preg_replace('/→/im',' -> ',$d); - $d = preg_replace('#<SPAN\s([a-z,0-9=_"]*)>#im','',$d); - $d = preg_replace('#</SPAN>#im','',$d); - $r .= $d ."\r\n"; + $r .= removehtml($desc); + $r .= "\r\n"; } $sep = "--------------------\r\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-05-16 06:42:14
|
Revision: 1268 http://sourceforge.net/p/tutos/code/1268 Author: gokohnert Date: 2014-05-16 06:42:09 +0000 (Fri, 16 May 2014) Log Message: ----------- fix Modified Paths: -------------- trunk/php/bugtracking/bug_overview.php Modified: trunk/php/bugtracking/bug_overview.php =================================================================== --- trunk/php/bugtracking/bug_overview.php 2014-05-09 20:02:04 UTC (rev 1267) +++ trunk/php/bugtracking/bug_overview.php 2014-05-16 06:42:09 UTC (rev 1268) @@ -208,8 +208,8 @@ $worksheet1->set_column($c,$c,50); // short $worksheet1->write_string($x,$c++, myiconv($lang['BugShort']),$format1); - $worksheet1->set_column($c,$c,60); // long - $worksheet1->write_string($x,$c++, myiconv($lang['BugLong']),$format1); + // $worksheet1->set_column($c,$c,60); // long + // $worksheet1->write_string($x,$c++, myiconv($lang['BugLong']),$format1); $worksheet1->set_column($c,$c,20,$format2); // Reporter $worksheet1->write_string($x,$c++, myiconv($lang['BugReportedFrom']),$format1); @@ -266,11 +266,13 @@ $worksheet1->write_string($x,$c++,myiconv($lang['HistoryDeleted']),$format2); } $worksheet1->write_string($x,$c++, myiconv($b->short),$format2); - if (count($b->bughist) > 0) { - $worksheet1->write_string($x,$c++,myiconv($b->getBugHistory(false,false)),$format2); - } else { - $c++; - } + // long does not work with current excel engine + // if (count($b->bughist) > 0) { + // $worksheet1->write_string($x,$c++,myiconv($b->getBugHistory(false,false)),$format2); + // } else { + // $c++; + // } + if (is_object($b->reporter) && $b->reporter->id > 0) { $worksheet1->write_string($x,$c++,myiconv($b->reporter->getFullName()),$format2); } else { @@ -530,16 +532,16 @@ $r .= watchlist::action_options(); } $r .= "</select>\n"; - $r .= select_from_array_or_input($this,"V",null,1,'atT'); + $r .= '<span id="Vsel"><br />'.select_from_array_or_input($this,"V",null,1,'atT').'</span>'; $r .= $this->UpdateRowEnd(2); $tutos['pagescript'] .= " -$('#V').hide(); +$('#Vsel').hide(); $('#action').change(function() { if(this.value == 'V') { - $('#V').show(); + $('#Vsel').show(); } else { - $('#V').hide(); + $('#Vsel').hide(); } }); "; @@ -925,8 +927,9 @@ if ( isset($_GET['Vid']) ) { $vid = ltrim($_GET['Vid'],'T'); if ($vid > 0) { - $solver = getObject($dbconn,$vid); + $solver = getObject($this->user->dbconn,$vid); } else { + // Team $solver = $vid; } } else if ( !isset($_GET['Vfn']) || ($_GET['Vfn'] == '') ) { @@ -935,7 +938,7 @@ } else if ( isset($_GET['Vfn']) ) { $solver = check_field($_GET['Vfn'],"Vfn","Vl",'atT'); } - if ($solver == 0) { + if (is_numeric($solver) && ($solver == 0)) { return; } $this->dbconn->Begin("WORK"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2014-05-09 20:02:07
|
Revision: 1267 http://sourceforge.net/p/tutos/code/1267 Author: gokohnert Date: 2014-05-09 20:02:04 +0000 (Fri, 09 May 2014) Log Message: ----------- fixing Modified Paths: -------------- trunk/php/admin_show.php trunk/php/scrum/sprint_show.php trunk/php/stc/stc_show.php Modified: trunk/php/admin_show.php =================================================================== --- trunk/php/admin_show.php 2014-05-09 20:01:17 UTC (rev 1266) +++ trunk/php/admin_show.php 2014-05-09 20:02:04 UTC (rev 1267) @@ -465,8 +465,15 @@ return $r; } $fd = fopen($tutos[errlog], 'rb'); - if ($fd === false) return $r; - $r .= '<pre>'; + if ($fd === false) { + $r .= $this->error('could not open '.$tutos[errlog]); + return $r; + } + if (0 == filesize ($tutos[errlog])) { + fclose($fd); + return 'empty '.$r; + } + $r .= '<pre>'."\n"; if (isset($_GET['filter'])) { $f = $_GET['filter']; while (!feof($fd)) { @@ -477,10 +484,10 @@ } } } else if (filesize ($tutos[errlog])) { - $r .= htmlspecialchars(fread ($fd, filesize ($tutos[errlog]))); + $r .= fread ($fd, filesize ($tutos[errlog])); } fclose($fd); - $r .= '</pre>'; + $r .= '</pre>'."\n"; return $r; } else if ( ($tutos[debug] == 1) && ($this->mode == 'sqlfile') ) { if ( ! $this->user->isAdmin() ) { @@ -492,7 +499,10 @@ return $r; } $fd = fopen($tutos[errlog].'.sql', 'rb'); - if ($fd === false) return $r; + if ($fd === false) { + $r .= $this->error('could not open '.$tutos[errlog].'.sql'); + return $r; + } $r .= '<pre>'; if (filesize ($tutos[errlog].'.sql')) { $r .= htmlspecialchars(fread ($fd, filesize ($tutos[errlog].'.sql'))); @@ -510,7 +520,10 @@ return $r; } $fd = fopen($tutos[errlog].'.mail', 'rb'); - if ($fd === false) return $r; + if ($fd === false) { + $r .= $this->error('could not open '.$tutos[errlog].'.mail'); + return $r; + } $r .= '<pre>'; if (filesize ($tutos[errlog].'.mail')) { $r .= htmlspecialchars(fread ($fd, filesize ($tutos[errlog].'.mail'))); @@ -528,7 +541,10 @@ return $r; } $fd = fopen($tutos[errlog].'.log', 'rb'); - if ($fd === false) return $r; + if ($fd === false) { + $r .= $this->error('could not open '.$tutos[errlog].'.log'); + return $r; + } if (0 == filesize ($tutos[errlog].'.log')) { fclose($fd); return $r; Modified: trunk/php/scrum/sprint_show.php =================================================================== --- trunk/php/scrum/sprint_show.php 2014-05-09 20:01:17 UTC (rev 1266) +++ trunk/php/scrum/sprint_show.php 2014-05-09 20:02:04 UTC (rev 1267) @@ -359,11 +359,11 @@ $graph = new Graph(GB_WIDTH,GB_HEIGHT*2,'auto'); + $font = jpgraph_init($graph); $graph->SetScale("datlin"); $graph->SetYScale(0,'lin'); # $graph->SetYScale(1,'lin'); $graph->img->SetMargin(50,110,20,120); - $font = jpgraph_init($graph); $graph->title->Set($lang['SprintBurndown'].': '.$this->obj->getFullName()); // ideal @@ -826,4 +826,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/stc/stc_show.php =================================================================== --- trunk/php/stc/stc_show.php 2014-05-09 20:01:17 UTC (rev 1266) +++ trunk/php/stc/stc_show.php 2014-05-09 20:02:04 UTC (rev 1267) @@ -110,9 +110,9 @@ $radius = (count($this->obj->states)>10 ? 70:88); $g = new CanvasGraph(400,480); + $font = jpgraph_init($g); $g->SetMargin(0,0,0,0); $g->title->SetColor('black@0.5'); - $font = jpgraph_init($g); $g->img->setFont($font,FS_NORMAL,8); $g->title->Set($lang['STC'].' '. $this->obj->getFullName()); $g->InitFrame(); @@ -325,4 +325,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |