tutos-commits Mailing List for TUTOS (Page 10)
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...> - 2013-08-03 12:19:48
|
Revision: 1117 http://sourceforge.net/p/tutos/code/1117 Author: gokohnert Date: 2013-08-03 12:19:40 +0000 (Sat, 03 Aug 2013) Log Message: ----------- replaced old fckeditor with ckeditor (sources now included) Modified Paths: -------------- trunk/Makefile trunk/html/copyright.html trunk/php/acl_overview.php trunk/php/admin/backup.php trunk/php/admin/de.p3 trunk/php/admin/en.p3 trunk/php/admin/hu.p3 trunk/php/admin/main_config.php trunk/php/admin/restore.php trunk/php/admin/sv.p3 trunk/php/db.p3 trunk/php/mail_ins.php trunk/php/mail_new.php trunk/php/permission.p3 Added Paths: ----------- trunk/libs/ckeditor/ trunk/libs/ckeditor/.htaccess trunk/libs/ckeditor/CHANGES.md trunk/libs/ckeditor/LICENSE.md trunk/libs/ckeditor/README.md trunk/libs/ckeditor/TUTOS-README trunk/libs/ckeditor/build-config.js trunk/libs/ckeditor/ckeditor.js trunk/libs/ckeditor/config.js trunk/libs/ckeditor/contents.css trunk/libs/ckeditor/lang/ trunk/libs/ckeditor/lang/.htaccess trunk/libs/ckeditor/lang/af.js trunk/libs/ckeditor/lang/ar.js trunk/libs/ckeditor/lang/bg.js trunk/libs/ckeditor/lang/bn.js trunk/libs/ckeditor/lang/bs.js trunk/libs/ckeditor/lang/ca.js trunk/libs/ckeditor/lang/cs.js trunk/libs/ckeditor/lang/cy.js trunk/libs/ckeditor/lang/da.js trunk/libs/ckeditor/lang/de.js trunk/libs/ckeditor/lang/el.js trunk/libs/ckeditor/lang/en-au.js trunk/libs/ckeditor/lang/en-ca.js trunk/libs/ckeditor/lang/en-gb.js trunk/libs/ckeditor/lang/en.js trunk/libs/ckeditor/lang/eo.js trunk/libs/ckeditor/lang/es.js trunk/libs/ckeditor/lang/et.js trunk/libs/ckeditor/lang/eu.js trunk/libs/ckeditor/lang/fa.js trunk/libs/ckeditor/lang/fi.js trunk/libs/ckeditor/lang/fo.js trunk/libs/ckeditor/lang/fr-ca.js trunk/libs/ckeditor/lang/fr.js trunk/libs/ckeditor/lang/gl.js trunk/libs/ckeditor/lang/gu.js trunk/libs/ckeditor/lang/he.js trunk/libs/ckeditor/lang/hi.js trunk/libs/ckeditor/lang/hr.js trunk/libs/ckeditor/lang/hu.js trunk/libs/ckeditor/lang/id.js trunk/libs/ckeditor/lang/is.js trunk/libs/ckeditor/lang/it.js trunk/libs/ckeditor/lang/ja.js trunk/libs/ckeditor/lang/ka.js trunk/libs/ckeditor/lang/km.js trunk/libs/ckeditor/lang/ko.js trunk/libs/ckeditor/lang/ku.js trunk/libs/ckeditor/lang/lt.js trunk/libs/ckeditor/lang/lv.js trunk/libs/ckeditor/lang/mk.js trunk/libs/ckeditor/lang/mn.js trunk/libs/ckeditor/lang/ms.js trunk/libs/ckeditor/lang/nb.js trunk/libs/ckeditor/lang/nl.js trunk/libs/ckeditor/lang/no.js trunk/libs/ckeditor/lang/pl.js trunk/libs/ckeditor/lang/pt-br.js trunk/libs/ckeditor/lang/pt.js trunk/libs/ckeditor/lang/ro.js trunk/libs/ckeditor/lang/ru.js trunk/libs/ckeditor/lang/si.js trunk/libs/ckeditor/lang/sk.js trunk/libs/ckeditor/lang/sl.js trunk/libs/ckeditor/lang/sq.js trunk/libs/ckeditor/lang/sr-latn.js trunk/libs/ckeditor/lang/sr.js trunk/libs/ckeditor/lang/sv.js trunk/libs/ckeditor/lang/th.js trunk/libs/ckeditor/lang/tr.js trunk/libs/ckeditor/lang/ug.js trunk/libs/ckeditor/lang/uk.js trunk/libs/ckeditor/lang/vi.js trunk/libs/ckeditor/lang/zh-cn.js trunk/libs/ckeditor/lang/zh.js trunk/libs/ckeditor/plugins/ trunk/libs/ckeditor/plugins/.htaccess trunk/libs/ckeditor/plugins/a11yhelp/ trunk/libs/ckeditor/plugins/a11yhelp/.htaccess trunk/libs/ckeditor/plugins/a11yhelp/dialogs/ trunk/libs/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/da.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/de.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/el.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/en.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/es.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/et.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/he.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/id.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/it.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/km.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/no.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/si.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/th.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js trunk/libs/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js trunk/libs/ckeditor/plugins/about/ trunk/libs/ckeditor/plugins/about/.htaccess trunk/libs/ckeditor/plugins/about/dialogs/ trunk/libs/ckeditor/plugins/about/dialogs/about.js trunk/libs/ckeditor/plugins/about/dialogs/hidpi/ trunk/libs/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png trunk/libs/ckeditor/plugins/about/dialogs/logo_ckeditor.png trunk/libs/ckeditor/plugins/clipboard/ trunk/libs/ckeditor/plugins/clipboard/.htaccess trunk/libs/ckeditor/plugins/clipboard/dialogs/ trunk/libs/ckeditor/plugins/clipboard/dialogs/paste.js trunk/libs/ckeditor/plugins/colordialog/ trunk/libs/ckeditor/plugins/colordialog/.htaccess trunk/libs/ckeditor/plugins/colordialog/dialogs/ trunk/libs/ckeditor/plugins/colordialog/dialogs/colordialog.js trunk/libs/ckeditor/plugins/dialog/ trunk/libs/ckeditor/plugins/dialog/.htaccess trunk/libs/ckeditor/plugins/dialog/dialogDefinition.js trunk/libs/ckeditor/plugins/div/ trunk/libs/ckeditor/plugins/div/.htaccess trunk/libs/ckeditor/plugins/div/dialogs/ trunk/libs/ckeditor/plugins/div/dialogs/div.js trunk/libs/ckeditor/plugins/fakeobjects/ trunk/libs/ckeditor/plugins/fakeobjects/.htaccess trunk/libs/ckeditor/plugins/fakeobjects/images/ trunk/libs/ckeditor/plugins/fakeobjects/images/.htaccess trunk/libs/ckeditor/plugins/fakeobjects/images/spacer.gif trunk/libs/ckeditor/plugins/find/ trunk/libs/ckeditor/plugins/find/.htaccess trunk/libs/ckeditor/plugins/find/dialogs/ trunk/libs/ckeditor/plugins/find/dialogs/find.js trunk/libs/ckeditor/plugins/flash/ trunk/libs/ckeditor/plugins/flash/.htaccess trunk/libs/ckeditor/plugins/flash/dialogs/ trunk/libs/ckeditor/plugins/flash/dialogs/flash.js trunk/libs/ckeditor/plugins/flash/images/ trunk/libs/ckeditor/plugins/flash/images/.htaccess trunk/libs/ckeditor/plugins/flash/images/placeholder.png trunk/libs/ckeditor/plugins/forms/ trunk/libs/ckeditor/plugins/forms/.htaccess trunk/libs/ckeditor/plugins/forms/dialogs/ trunk/libs/ckeditor/plugins/forms/dialogs/button.js trunk/libs/ckeditor/plugins/forms/dialogs/checkbox.js trunk/libs/ckeditor/plugins/forms/dialogs/form.js trunk/libs/ckeditor/plugins/forms/dialogs/hiddenfield.js trunk/libs/ckeditor/plugins/forms/dialogs/radio.js trunk/libs/ckeditor/plugins/forms/dialogs/select.js trunk/libs/ckeditor/plugins/forms/dialogs/textarea.js trunk/libs/ckeditor/plugins/forms/dialogs/textfield.js trunk/libs/ckeditor/plugins/forms/images/ trunk/libs/ckeditor/plugins/forms/images/.htaccess trunk/libs/ckeditor/plugins/forms/images/hiddenfield.gif trunk/libs/ckeditor/plugins/icons.png trunk/libs/ckeditor/plugins/icons_hidpi.png trunk/libs/ckeditor/plugins/iframe/ trunk/libs/ckeditor/plugins/iframe/.htaccess trunk/libs/ckeditor/plugins/iframe/dialogs/ trunk/libs/ckeditor/plugins/iframe/dialogs/iframe.js trunk/libs/ckeditor/plugins/iframe/images/ trunk/libs/ckeditor/plugins/iframe/images/.htaccess trunk/libs/ckeditor/plugins/iframe/images/placeholder.png trunk/libs/ckeditor/plugins/image/ trunk/libs/ckeditor/plugins/image/.htaccess trunk/libs/ckeditor/plugins/image/dialogs/ trunk/libs/ckeditor/plugins/image/dialogs/image.js trunk/libs/ckeditor/plugins/image/images/ trunk/libs/ckeditor/plugins/image/images/.htaccess trunk/libs/ckeditor/plugins/image/images/noimage.png trunk/libs/ckeditor/plugins/link/ trunk/libs/ckeditor/plugins/link/.htaccess trunk/libs/ckeditor/plugins/link/dialogs/ trunk/libs/ckeditor/plugins/link/dialogs/anchor.js trunk/libs/ckeditor/plugins/link/dialogs/link.js trunk/libs/ckeditor/plugins/link/images/ trunk/libs/ckeditor/plugins/link/images/.htaccess trunk/libs/ckeditor/plugins/link/images/anchor.png trunk/libs/ckeditor/plugins/link/images/hidpi/ trunk/libs/ckeditor/plugins/link/images/hidpi/.htaccess trunk/libs/ckeditor/plugins/link/images/hidpi/anchor.png trunk/libs/ckeditor/plugins/liststyle/ trunk/libs/ckeditor/plugins/liststyle/.htaccess trunk/libs/ckeditor/plugins/liststyle/dialogs/ trunk/libs/ckeditor/plugins/liststyle/dialogs/liststyle.js trunk/libs/ckeditor/plugins/magicline/ trunk/libs/ckeditor/plugins/magicline/.htaccess trunk/libs/ckeditor/plugins/magicline/images/ trunk/libs/ckeditor/plugins/magicline/images/.htaccess trunk/libs/ckeditor/plugins/magicline/images/hidpi/ trunk/libs/ckeditor/plugins/magicline/images/hidpi/.htaccess trunk/libs/ckeditor/plugins/magicline/images/hidpi/icon.png trunk/libs/ckeditor/plugins/magicline/images/icon.png trunk/libs/ckeditor/plugins/pagebreak/ trunk/libs/ckeditor/plugins/pagebreak/.htaccess trunk/libs/ckeditor/plugins/pagebreak/images/ trunk/libs/ckeditor/plugins/pagebreak/images/.htaccess trunk/libs/ckeditor/plugins/pagebreak/images/pagebreak.gif trunk/libs/ckeditor/plugins/pastefromword/ trunk/libs/ckeditor/plugins/pastefromword/.htaccess trunk/libs/ckeditor/plugins/pastefromword/filter/ trunk/libs/ckeditor/plugins/pastefromword/filter/default.js trunk/libs/ckeditor/plugins/preview/ trunk/libs/ckeditor/plugins/preview/.htaccess trunk/libs/ckeditor/plugins/preview/preview.html trunk/libs/ckeditor/plugins/scayt/ trunk/libs/ckeditor/plugins/scayt/.htaccess trunk/libs/ckeditor/plugins/scayt/LICENSE.md trunk/libs/ckeditor/plugins/scayt/README.md trunk/libs/ckeditor/plugins/scayt/dialogs/ trunk/libs/ckeditor/plugins/scayt/dialogs/options.js trunk/libs/ckeditor/plugins/scayt/dialogs/toolbar.css trunk/libs/ckeditor/plugins/showblocks/ trunk/libs/ckeditor/plugins/showblocks/.htaccess trunk/libs/ckeditor/plugins/showblocks/images/ trunk/libs/ckeditor/plugins/showblocks/images/.htaccess trunk/libs/ckeditor/plugins/showblocks/images/block_address.png trunk/libs/ckeditor/plugins/showblocks/images/block_blockquote.png trunk/libs/ckeditor/plugins/showblocks/images/block_div.png trunk/libs/ckeditor/plugins/showblocks/images/block_h1.png trunk/libs/ckeditor/plugins/showblocks/images/block_h2.png trunk/libs/ckeditor/plugins/showblocks/images/block_h3.png trunk/libs/ckeditor/plugins/showblocks/images/block_h4.png trunk/libs/ckeditor/plugins/showblocks/images/block_h5.png trunk/libs/ckeditor/plugins/showblocks/images/block_h6.png trunk/libs/ckeditor/plugins/showblocks/images/block_p.png trunk/libs/ckeditor/plugins/showblocks/images/block_pre.png trunk/libs/ckeditor/plugins/smiley/ trunk/libs/ckeditor/plugins/smiley/.htaccess trunk/libs/ckeditor/plugins/smiley/dialogs/ trunk/libs/ckeditor/plugins/smiley/dialogs/.htaccess trunk/libs/ckeditor/plugins/smiley/dialogs/smiley.js trunk/libs/ckeditor/plugins/smiley/images/ trunk/libs/ckeditor/plugins/smiley/images/.htaccess trunk/libs/ckeditor/plugins/smiley/images/angel_smile.gif trunk/libs/ckeditor/plugins/smiley/images/angry_smile.gif trunk/libs/ckeditor/plugins/smiley/images/broken_heart.gif trunk/libs/ckeditor/plugins/smiley/images/confused_smile.gif trunk/libs/ckeditor/plugins/smiley/images/cry_smile.gif trunk/libs/ckeditor/plugins/smiley/images/devil_smile.gif trunk/libs/ckeditor/plugins/smiley/images/embaressed_smile.gif trunk/libs/ckeditor/plugins/smiley/images/embarrassed_smile.gif trunk/libs/ckeditor/plugins/smiley/images/envelope.gif trunk/libs/ckeditor/plugins/smiley/images/heart.gif trunk/libs/ckeditor/plugins/smiley/images/kiss.gif trunk/libs/ckeditor/plugins/smiley/images/lightbulb.gif trunk/libs/ckeditor/plugins/smiley/images/omg_smile.gif trunk/libs/ckeditor/plugins/smiley/images/regular_smile.gif trunk/libs/ckeditor/plugins/smiley/images/sad_smile.gif trunk/libs/ckeditor/plugins/smiley/images/shades_smile.gif trunk/libs/ckeditor/plugins/smiley/images/teeth_smile.gif trunk/libs/ckeditor/plugins/smiley/images/thumbs_down.gif trunk/libs/ckeditor/plugins/smiley/images/thumbs_up.gif trunk/libs/ckeditor/plugins/smiley/images/tongue_smile.gif trunk/libs/ckeditor/plugins/smiley/images/tounge_smile.gif trunk/libs/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif trunk/libs/ckeditor/plugins/smiley/images/wink_smile.gif trunk/libs/ckeditor/plugins/specialchar/ trunk/libs/ckeditor/plugins/specialchar/.htaccess trunk/libs/ckeditor/plugins/specialchar/dialogs/ trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ar.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/bg.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ca.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/cs.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/cy.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/de.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/el.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/en.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/eo.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/es.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/et.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/fa.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/fi.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/fr.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/gl.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/he.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/hr.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/hu.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/id.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/it.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ja.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ku.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/lv.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/nb.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/nl.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/no.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/pl.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/pt.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ru.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/si.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/sk.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/sl.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/sq.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/sv.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/th.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/tr.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/ug.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/uk.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/vi.js trunk/libs/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js trunk/libs/ckeditor/plugins/specialchar/dialogs/specialchar.js trunk/libs/ckeditor/plugins/table/ trunk/libs/ckeditor/plugins/table/.htaccess trunk/libs/ckeditor/plugins/table/dialogs/ trunk/libs/ckeditor/plugins/table/dialogs/table.js trunk/libs/ckeditor/plugins/tabletools/ trunk/libs/ckeditor/plugins/tabletools/.htaccess trunk/libs/ckeditor/plugins/tabletools/dialogs/ trunk/libs/ckeditor/plugins/tabletools/dialogs/tableCell.js trunk/libs/ckeditor/plugins/templates/ trunk/libs/ckeditor/plugins/templates/.htaccess trunk/libs/ckeditor/plugins/templates/dialogs/ trunk/libs/ckeditor/plugins/templates/dialogs/templates.css trunk/libs/ckeditor/plugins/templates/dialogs/templates.js trunk/libs/ckeditor/plugins/templates/templates/ trunk/libs/ckeditor/plugins/templates/templates/.htaccess trunk/libs/ckeditor/plugins/templates/templates/default.js trunk/libs/ckeditor/plugins/templates/templates/images/ trunk/libs/ckeditor/plugins/templates/templates/images/.htaccess trunk/libs/ckeditor/plugins/templates/templates/images/template1.gif trunk/libs/ckeditor/plugins/templates/templates/images/template2.gif trunk/libs/ckeditor/plugins/templates/templates/images/template3.gif trunk/libs/ckeditor/plugins/wsc/ trunk/libs/ckeditor/plugins/wsc/.htaccess trunk/libs/ckeditor/plugins/wsc/LICENSE.md trunk/libs/ckeditor/plugins/wsc/README.md trunk/libs/ckeditor/plugins/wsc/dialogs/ trunk/libs/ckeditor/plugins/wsc/dialogs/.htaccess trunk/libs/ckeditor/plugins/wsc/dialogs/ciframe.html trunk/libs/ckeditor/plugins/wsc/dialogs/tmp.html trunk/libs/ckeditor/plugins/wsc/dialogs/tmpFrameset.html trunk/libs/ckeditor/plugins/wsc/dialogs/wsc.css trunk/libs/ckeditor/plugins/wsc/dialogs/wsc.js trunk/libs/ckeditor/plugins/wsc/dialogs/wsc_ie.js trunk/libs/ckeditor/skins/ trunk/libs/ckeditor/skins/.htaccess trunk/libs/ckeditor/skins/moono/ trunk/libs/ckeditor/skins/moono/.htaccess trunk/libs/ckeditor/skins/moono/dialog.css trunk/libs/ckeditor/skins/moono/dialog_ie.css trunk/libs/ckeditor/skins/moono/dialog_ie7.css trunk/libs/ckeditor/skins/moono/dialog_ie8.css trunk/libs/ckeditor/skins/moono/dialog_iequirks.css trunk/libs/ckeditor/skins/moono/dialog_opera.css trunk/libs/ckeditor/skins/moono/editor.css trunk/libs/ckeditor/skins/moono/editor_gecko.css trunk/libs/ckeditor/skins/moono/editor_ie.css trunk/libs/ckeditor/skins/moono/editor_ie7.css trunk/libs/ckeditor/skins/moono/editor_ie8.css trunk/libs/ckeditor/skins/moono/editor_iequirks.css trunk/libs/ckeditor/skins/moono/icons.png trunk/libs/ckeditor/skins/moono/icons_hidpi.png trunk/libs/ckeditor/skins/moono/images/ trunk/libs/ckeditor/skins/moono/images/.htaccess trunk/libs/ckeditor/skins/moono/images/arrow.png trunk/libs/ckeditor/skins/moono/images/close.png trunk/libs/ckeditor/skins/moono/images/hidpi/ trunk/libs/ckeditor/skins/moono/images/hidpi/.htaccess trunk/libs/ckeditor/skins/moono/images/hidpi/close.png trunk/libs/ckeditor/skins/moono/images/hidpi/lock-open.png trunk/libs/ckeditor/skins/moono/images/hidpi/lock.png trunk/libs/ckeditor/skins/moono/images/hidpi/refresh.png trunk/libs/ckeditor/skins/moono/images/lock-open.png trunk/libs/ckeditor/skins/moono/images/lock.png trunk/libs/ckeditor/skins/moono/images/refresh.png trunk/libs/ckeditor/skins/moono/readme.md trunk/libs/ckeditor/styles.js trunk/libs/tcpdf/.htaccess Removed Paths: ------------- trunk/libs/fckeditor/ Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2013-08-03 09:40:55 UTC (rev 1116) +++ trunk/Makefile 2013-08-03 12:19:40 UTC (rev 1117) @@ -73,9 +73,9 @@ $(LIBS_EXCEL) \ $(LIBS_FPDF) \ $(LIBS_TCPDF) \ + $(LIBS_CKEDITOR) \ $(LIBS_FREEMIND) \ $(LIBS_JPGRAPH) \ - $(LIBS_FCKEDITOR) \ $(LIBS_PHPBARCODE) \ $(LIBS_GOOGLE) @@ -464,7 +464,18 @@ libs/tcpdf/README.TXT \ libs/tcpdf/LICENSE.TXT +LIBS_CKEDITOR = \ + $(shell find libs/ckeditor -name ".htaccess") \ + $(shell find libs/ckeditor -name "*.js") \ + $(shell find libs/ckeditor -name "*.png") \ + $(shell find libs/ckeditor -name "*.txt") \ + $(shell find libs/ckeditor -name "*.html") \ + $(shell find libs/ckeditor -name "*.css") \ + $(shell find libs/ckeditor -name "*.gif") \ + $(shell find libs/ckeditor -name "*.md") \ + libs/ckeditor/TUTOS-README \ + LIBS_EXCEL = $(wildcard libs/excel/*.php) \ libs/excel/TUTOS-README \ libs/excel/thanks @@ -476,11 +487,6 @@ LIBS_JPGRAPH = \ libs/jpgraph/TUTOS-README -LIBS_FCKEDITOR = \ - libs/fckeditor/.htaccess \ - libs/fckeditor/TUTOS-README \ - libs/fckeditor/tutosconfig.js - LIBS_PHPBARCODE = \ libs/php-barcode/TUTOS-README Modified: trunk/html/copyright.html =================================================================== --- trunk/html/copyright.html 2013-08-03 09:40:55 UTC (rev 1116) +++ trunk/html/copyright.html 2013-08-03 12:19:40 UTC (rev 1117) @@ -20,6 +20,8 @@ </center> This software uses (if available / installed / neccessary):<br /> <ul> + <li>ckeditor: <a href="http://ckeditor.com">http://ckeditor.com</a> a javascript text editor (see <a href="../libs/ckeditor/LICENSE.md">LICENSE.md</a>)<br /> + <li>tcpdf: <a href="http://www.tcpdf.org">http://www.tcpdf.org</a> a php based PDF engine (see <a href="../libs/tcpdf/LICENSE.TXT">LICENSE.TXT</a>)<br /> <li>wv Wordview: <a href="http://wvware.sourceforge.net">http://wvware.sourceforge.net</a><br /> <li>icons from famfamfam see <a href="www.famfamfam.com" rel="nofollow">http://www.famfamfam.com/lab/icons/silk/">www.famfamfam.com</a> under <a rel="license" href="Creative" rel="nofollow">http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a><br /> <li>the jpgraph php library:<br /> Added: trunk/libs/ckeditor/.htaccess =================================================================== --- trunk/libs/ckeditor/.htaccess (rev 0) +++ trunk/libs/ckeditor/.htaccess 2013-08-03 12:19:40 UTC (rev 1117) @@ -0,0 +1,12 @@ +# +# This file is part of TUTOS +# +# +# $Id: .htaccess,v 1.16 2011/02/11 05:31:54 gokohnert Exp $ +# +# Allow ckeditor to work +# +<Files ~ "\.(js|css|md)$"> + Order allow,deny + Allow from all +</Files> Added: trunk/libs/ckeditor/CHANGES.md =================================================================== --- trunk/libs/ckeditor/CHANGES.md (rev 0) +++ trunk/libs/ckeditor/CHANGES.md 2013-08-03 12:19:40 UTC (rev 1117) @@ -0,0 +1,185 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.2 + +**Important Notes:** + +* Dropped compatibility support for Internet Explorer 7 and Firefox 3.6. + +* Both the Basic and the Standard distribution packages will not contain the new [indentblock](http://ckeditor.com/addon/indentblock) plugin. Because of this the [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) might remove block indentations from existing contents. If you want to prevent this, either [add an appropriate ACF rule to your filter](http://docs.ckeditor.com/#!/guide/dev_allowed_content_rules) or create a custom build based on the Basic/Standard package and add the indentblock plugin in [CKBuilder](http://ckeditor.com/builder). + +Fixed issues: + +* [#10027](http://dev.ckeditor.com/ticket/10027): Separated list and block indentation into two plugins: [indentlist](http://ckeditor.com/addon/indentlist) and [indentblock](http://ckeditor.com/addon/indentblock). +* [#8244](http://dev.ckeditor.com/ticket/8244): Use *(Shift+)Tab* to indent and outdent lists. +* [#10599](http://dev.ckeditor.com/ticket/10599): [Indent](http://ckeditor.com/addon/indent) plugin is no longer required by the [list](http://ckeditor.com/addon/list) plugin. +* [#10281](http://dev.ckeditor.com/ticket/10281): The [jQuery Adapter](http://docs.ckeditor.com/#!/guide/dev_jquery) is now available. Several jQuery-related issues fixed: [#8261](http://dev.ckeditor.com/ticket/8261), [#9077](http://dev.ckeditor.com/ticket/9077), [#8710](http://dev.ckeditor.com/ticket/8710), [#8530](http://dev.ckeditor.com/ticket/8530), [#9019](http://dev.ckeditor.com/ticket/9019), [#6181](http://dev.ckeditor.com/ticket/6181), [#7876](http://dev.ckeditor.com/ticket/7876), [#6906](http://dev.ckeditor.com/ticket/6906). +* [#10042](http://dev.ckeditor.com/ticket/10042): Introduced [config.title](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-title) setting to change the human-readable title of the editor. +* [#10370](http://dev.ckeditor.com/ticket/10370): Inconsistency in data events between framed and inline editors. +* [#9794](http://dev.ckeditor.com/ticket/9794): Added [onChange](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event. +* [#9923](http://dev.ckeditor.com/ticket/9923): HiDPI support in the editor UI. HiDPI icons for [Moono skin](http://ckeditor.com/addon/moono) added. +* [#8031](http://dev.ckeditor.com/ticket/8031): Handle `required` attributes on `<textarea>` elements — introduced [editor#required](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-required) event. +* [#10280](http://dev.ckeditor.com/ticket/10280): Ability to replace `<textarea>` elements with the inline editor. +* [#10438](http://dev.ckeditor.com/ticket/10438): [FF, IE] No selection is done on an editable element on executing [setData](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-setData). + +## CKEditor 4.1.3 + +* Added new translation: Indonesian. +* [#10644](http://dev.ckeditor.com/ticket/10644): Fixed critical bug when pasting plain text in Blink based browsers. +* [#5189](http://dev.ckeditor.com/ticket/5189): Find/Replace dialog window: rename "Cancel" button to "Close". +* [#10562](http://dev.ckeditor.com/ticket/10562): [Housekeeping] Unified CSS gradient filter formats in the Moono skin. +* [#10537](http://dev.ckeditor.com/ticket/10537): ACF should register a default rule for [config.shiftEnterMode](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-shiftEnterMode). +* [#10610](http://dev.ckeditor.com/ticket/10610): [CKEDITOR.dialog.addIframe](http://docs.ckeditor.com/#!/api/CKEDITOR.dialog-static-method-addIframe) incorrectly sets the iframe size in dialog windows. + +## CKEditor 4.1.2 + +* Added new translation: Sinhala. +* [#10339](http://dev.ckeditor.com/ticket/10339): Fixed: Error thrown when inserted data totally stripped out after filtering and processing. +* [#10298](http://dev.ckeditor.com/ticket/10298): Fixed: Data processor breaks attributes containing protected parts. +* [#10367](http://dev.ckeditor.com/ticket/10367): Fixed: `editable#insertText` loses characters when `RegExp` replace controls are being inserted. +* [#10165](http://dev.ckeditor.com/ticket/10165): [IE] Access denied error when `document.domain` has been altered. +* [#9761](http://dev.ckeditor.com/ticket/9761): Update *Backspace* key state in `keystrokeHandler#blockedKeystrokes` when calling `editor.setReadOnly()`. +* [#6504](http://dev.ckeditor.com/ticket/6504): Fixed: Race condition while loading several `config.customConfig` files. +* [#10146](http://dev.ckeditor.com/ticket/10146): [Firefox] Empty lines are being removed while `config#enterMode` is `CKEDITOR.ENTER_BR`. +* [#10360](http://dev.ckeditor.com/ticket/10360): Fixed: ARIA `role="application"` should not be used for dialogs. +* [#10361](http://dev.ckeditor.com/ticket/10361): Fixed: ARIA `role="application"` should not be used for floating panels. +* [#10510](http://dev.ckeditor.com/ticket/10510): Introduced unique voice labels to differentiate between different editor instances. +* [#9945](http://dev.ckeditor.com/ticket/9945): [iOS] Scrolling not possible on iPad. +* [#10389](http://dev.ckeditor.com/ticket/10389): Fixed: Invalid HTML in the "Text and Table" template. + +## CKEditor 4.1.1 + +* Added new translation: Albanian. +* [#10172](http://dev.ckeditor.com/ticket/10172): Pressing *Delete*/*Backspace* in an empty table cell moves the cursor to the next/previous cell. +* [#10219](http://dev.ckeditor.com/ticket/10219): Error thrown when destroying an editor instance in parallel with a mouseup event. +* [#10265](http://dev.ckeditor.com/ticket/10265): Wrong loop type in the Filebrowser plugin. +* [#10249](http://dev.ckeditor.com/ticket/10249): Wrong undo/redo states at start. +* [#10268](http://dev.ckeditor.com/ticket/10268): "Show Blocks" does not recover after switching to source view. +* [#9995](http://dev.ckeditor.com/ticket/9995): HTML code in `textarea` should not be modified by the `htmlDataProcessor`. +* [#10320](http://dev.ckeditor.com/ticket/10320): Justify plugin should add elements to the ACF based on current Enter mode. +* [#10260](http://dev.ckeditor.com/ticket/10260): Fixed: Advanced Content Filter blocks `tabSpaces`. Unified `data-cke-*` attributes filtering. +* [#10315](http://dev.ckeditor.com/ticket/10315): [Webkit] Undo manager should not record snapshots after a filling character was added/removed. +* [#10291](http://dev.ckeditor.com/ticket/10291): [Webkit] Space after a filling character should be secured. +* [#10330](http://dev.ckeditor.com/ticket/10330): [Webkit] The filling character is not removed on `keydown` in specific cases. +* [#10285](http://dev.ckeditor.com/ticket/10285): Fixed: Styled text pasted from MS Word causes an infinite loop. +* [#10131](http://dev.ckeditor.com/ticket/10131): Fixed: `undoManager#update` does not refresh the command state. +* [#10337](http://dev.ckeditor.com/ticket/10337): Fixed: Unable to remove `<s>` using `removeformat`. + +## CKEditor 4.1 + +* [#10192](http://dev.ckeditor.com/ticket/10192): Closing lists with Enter key does not work with Advanced Content Filter in several cases. +* [#10191](http://dev.ckeditor.com/ticket/10191): Fixed allowed content rules unification, so the `filter.allowedContent` property always contains rules in the same format. +* [#10224](http://dev.ckeditor.com/ticket/10224): Advanced Content Filter does not remove non-empty `<a>` elements anymore. +* Minor issues in plugin integration with Advanced Content Filter: + * [#10166](http://dev.ckeditor.com/ticket/10166): Added transformation from the `align` attribute to `float` style to preserve backward compatibility after the introduction of Advanced Content Filter. + * [#10195](http://dev.ckeditor.com/ticket/10195): Image plugin no longer registers rules for links to Advanced Content Filter. + * [#10213](http://dev.ckeditor.com/ticket/10213): Justify plugin is now correctly registering rules to Advanced Content Filter when `config.justifyClasses` is defined. + +## CKEditor 4.1 RC + +* [#9829](http://dev.ckeditor.com/ticket/9829): Data and features activation based on editor configuration. + + Brand new data filtering system that works in 2 modes: + + * based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its + current configuration can handle, + * based on `config.allowedContent` rules - the data will be filtered and the editor features (toolbar items, commands, + keystrokes) will be enabled if they are allowed. + + See the `datafiltering.html` sample, [guides](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter) and [`CKEDITOR.filter` API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.filter). +* [#9387](http://dev.ckeditor.com/ticket/9387): Reintroduced "Shared Spaces" - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances. +* [#9907](http://dev.ckeditor.com/ticket/9907): Added the `contentPreview` event for preview data manipulation. +* [#9713](http://dev.ckeditor.com/ticket/9713): Introduced the `sourcedialog` plugin that brings raw HTML editing for inline editor instances. +* Included in [#9829](http://dev.ckeditor.com/ticket/9829): Introduced new events, `toHtml` and `toDataFormat`, allowing for better integration with data processing. See API documentation: [`toHtml`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toHtml), [`toDataFormat`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toDataFormat). +* [#9981](http://dev.ckeditor.com/ticket/9981): Added ability to filter `htmlParser.fragment`, `htmlParser.element` etc. by many `htmlParser.filter`s before writing structure to an HTML string. +* Included in [#10103](http://dev.ckeditor.com/ticket/10103): + * Introduced the `editor.status` property to make it easier to check the current status of the editor. See [API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-status). + * Default `command` state is now `CKEDITOR.TRISTATE_DISABLE`. It will be activated on `editor.instanceReady` or immediately after being added if the editor is already initialized. +* [#9796](http://dev.ckeditor.com/ticket/9796): Introduced `<s>` as a default tag for strikethrough, which replaces obsolete `<strike>` in HTML5. + +## CKEditor 4.0.3 + +* [#10196](http://dev.ckeditor.com/ticket/10196): Fixed context menus not opening with keyboard shortcuts when Autogrow is enabled. +* [#10212](http://dev.ckeditor.com/ticket/10212): [IE7-10] Undo command throws errors after multiple switches between Source and WYSIWYG view. +* [#10219](http://dev.ckeditor.com/ticket/10219): [Inline editor] Error thrown after calling editor.destroy(). + +## CKEditor 4.0.2 + +* [#9779](http://dev.ckeditor.com/ticket/9779): Fixed overriding `CKEDITOR.getUrl` with `CKEDITOR_GETURL`. +* [#9772](http://dev.ckeditor.com/ticket/9772): Custom buttons in dialog window footer have different look and size (Moono, Kama). +* [#9029](http://dev.ckeditor.com/ticket/9029): Custom styles added with `styleSet.add()` are displayed in wrong order. +* [#9887](http://dev.ckeditor.com/ticket/9887): Disable magicline when `editor.readOnly` is set. +* [#9882](http://dev.ckeditor.com/ticket/9882): Fixed empty document title on `getData()` if set via the Document Properties dialog window. +* [#9773](http://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin. +* [#9851](http://dev.ckeditor.com/ticket/9851): The `selectionChange` event is not fired when mouse selection ended outside editable. +* [#9903](http://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll. +* [#9872](http://dev.ckeditor.com/ticket/9872): `editor.checkDirty()` returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag. +* [#9893](http://dev.ckeditor.com/ticket/9893): Fixed broken toolbar when editing mixed direction content in Quirks mode. +* [#9845](http://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the Link dialog window when the Anchor option is used and no anchors are available. +* [#9883](http://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with divarea-based editors. +* [#9940](http://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable. +* [#9966](http://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed magicline keystrokes. +* [#9507](http://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time. +* [#9947](http://dev.ckeditor.com/ticket/9947): [Webkit] Editor overflows parent container in some edge cases. +* [#10105](http://dev.ckeditor.com/ticket/10105): Fixed: Broken sourcearea view when an RTL language is set. +* [#10123](http://dev.ckeditor.com/ticket/10123): [Webkit] Fixed: Several dialog windows have broken layout since the latest Webkit release. +* [#10152](http://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items. + +## CKEditor 4.0.1.1 + +* Security update: Added protection against XSS attack and possible path disclosure in PHP sample. + +## CKEditor 4.0.1 + +Fixed issues: + +* [#9655](http://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in new Moono skin. +* Accessibility issues (mainly on inline editor): [#9364](http://dev.ckeditor.com/ticket/9364), [#9368](http://dev.ckeditor.com/ticket/9368), [#9369](http://dev.ckeditor.com/ticket/9369), [#9370](http://dev.ckeditor.com/ticket/9370), [#9541](http://dev.ckeditor.com/ticket/9541), [#9543](http://dev.ckeditor.com/ticket/9543), [#9841](http://dev.ckeditor.com/ticket/9841), [#9844](http://dev.ckeditor.com/ticket/9844). +* Magic-line: + * [#9481](http://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic-line. + * [#9509](http://dev.ckeditor.com/ticket/9509): Added Magic-line support for forms. + * [#9573](http://dev.ckeditor.com/ticket/9573): Magic-line doesn't disappear on `mouseout` in the specific case. +* [#9754](http://dev.ckeditor.com/ticket/9754): [Webkit] Cut & paste simple unformatted text generates inline wrapper in Webkits. +* [#9456](http://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS-Word. +* [#9699](http://dev.ckeditor.com/ticket/9699), [#9758](http://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging. +* Context menu: + * [#9712](http://dev.ckeditor.com/ticket/9712): Context menu open destroys editor focus. + * [#9366](http://dev.ckeditor.com/ticket/9366): Context menu should be displayed over floating toolbar. + * [#9706](http://dev.ckeditor.com/ticket/9706): Context menu generates JS error in inline mode when editor attached to header element. +* [#9800](http://dev.ckeditor.com/ticket/9800): Hide float panel when resizing window. +* [#9721](http://dev.ckeditor.com/ticket/9721): Padding in content of div based editor puts editing area under bottom UI space. +* [#9528](http://dev.ckeditor.com/ticket/9528): Host page's `box-sizing` style shouldn't influence editor UI elements. +* [#9503](http://dev.ckeditor.com/ticket/9503): Forms plugin adds context menu listeners only on supported input types. Added support for `tel, email, search` and `url` input types. +* [#9769](http://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in narrow window. +* [#9875](http://dev.ckeditor.com/ticket/9875): Table dialog doesn't populate width correctly. +* [#8675](http://dev.ckeditor.com/ticket/8675): Deleting cells in nested table removes outer table cell. +* [#9815](http://dev.ckeditor.com/ticket/9815): Can't edit dialog fields on editor initialized in jQuery UI modal dialog. +* [#8888](http://dev.ckeditor.com/ticket/8888): CKEditor dialogs do not show completely in small window. +* [#9360](http://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a div stay permanently even after user exists editing the div. +* [#9531](http://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing format combo by clicking on its button. +* [#9553](http://dev.ckeditor.com/ticket/9553): Table width incorrectly set when `border-width` style is specified. +* [#9594](http://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read only mode. +* [#9658](http://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected image. +* [#9686](http://dev.ckeditor.com/ticket/9686): Added missing contents styles for `<pre>`. +* [#9709](http://dev.ckeditor.com/ticket/9709): PasteFromWord should not depend on configuration from other styles. +* [#9726](http://dev.ckeditor.com/ticket/9726): Removed color dialog dependency from table tools. +* [#9765](http://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly on Accessibility Instructions dialog. +* [#9771](http://dev.ckeditor.com/ticket/9771): [Webkit & Opera] Fixed scrolling issues when pasting. +* [#9787](http://dev.ckeditor.com/ticket/9787): [IE9] onChange isn't fired for checkboxes in dialogs. +* [#9842](http://dev.ckeditor.com/ticket/9842): [Firefox 17] When we open toolbar menu for the first time & press down arrow key, focus goes to next toolbar button instead of menu options. +* [#9847](http://dev.ckeditor.com/ticket/9847): Elements path shouldn't be initialized on inline editor. +* [#9853](http://dev.ckeditor.com/ticket/9853): `Editor#addRemoveFormatFilter` is exposed before it really works. +* [#8893](http://dev.ckeditor.com/ticket/8893): Value of `pasteFromWordCleanupFile` config is now taken from instance configuration. +* [#9693](http://dev.ckeditor.com/ticket/9693): Removed "live preview" checkbox from UI color picker. + + +## CKEditor 4.0 + +The first stable release of the new CKEditor 4 code line. + +The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever +possible. The list of relevant changes can be found in the [API Changes page of +the CKEditor 4 documentation][1]. + +[1]: http://docs.ckeditor.com/#!/guide/dev_api_changes "API Changes" Added: trunk/libs/ckeditor/LICENSE.md =================================================================== --- trunk/libs/ckeditor/LICENSE.md (rev 0) +++ trunk/libs/ckeditor/LICENSE.md 2013-08-03 12:19:40 UTC (rev 1117) @@ -0,0 +1,1264 @@ +Software License Agreement +========================== + +CKEditor - The text editor for Internet - http://ckeditor.com +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + (See Appendix A) + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + (See Appendix B) + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + (See Appendix C) + +You are not required to, but if you want to explicitly declare the +license you have chosen to be bound to when using, reproducing, +modifying and distributing this software, just include a text file +titled "legal.txt" in your version of this software, indicating your +license choice. In any case, your choice will not restrict any +recipient of your version of this software to use, reproduce, modify +and distribute this software under any of the above licenses. + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by +CKSource engineers and consists of CKSource-owned intellectual +property. In some specific instances, CKEditor will incorporate work +done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The GPL License +--------------------------- + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software-to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + + +Appendix B: The LGPL License +---------------------------- + +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 +... [truncated message content] |
From: <gok...@us...> - 2013-08-03 09:40:58
|
Revision: 1116 http://sourceforge.net/p/tutos/code/1116 Author: gokohnert Date: 2013-08-03 09:40:55 +0000 (Sat, 03 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/admin/de.p3 trunk/php/db/db.pinc trunk/php/db/db_mysql.pinc trunk/php/db/db_mysqli.pinc trunk/php/layout/new2_layout.pinc Modified: trunk/php/admin/de.p3 =================================================================== --- trunk/php/admin/de.p3 2013-08-03 09:36:13 UTC (rev 1115) +++ trunk/php/admin/de.p3 2013-08-03 09:40:55 UTC (rev 1116) @@ -1,15 +1,14 @@ <?php -# $Id$ -# -# ========================= NOTE ======================== - # Please put site specific extensions and changes - # to TUTOS language files in a file called "en_custom.p3" - # or "lang_custom.p3" (for all languages) - # using the same format like here - # ======================================================= +// $Id$ +// +// ========================= NOTE ======================== +// Please put site specific extensions and changes +// to TUTOS language files in a file called "en_custom.p3" +// or "lang_custom.p3" (for all languages) +// using the same format like here +// ======================================================= - - $lang['AdminCCHelp']['dbname'] = "Der Name der Datenbank in welcher TUTOS installiert werden soll"; +$lang['AdminCCHelp']['dbname'] = "Der Name der Datenbank in welcher TUTOS installiert werden soll"; $lang['AdminCCHelp']['dbtype'] = "Der Typ/Hersteller des Datenbanksystems"; $lang['AdminCCHelp']['dbalias'] = "ein Alias für die Datenbank (wird in der Anmeldemaske gezeigt sofern mehrere Systeme definiert sind)"; $lang['AdminCCHelp']['dbhost'] = "Der Netzwerkname oder die IP Adresse des Datenbankservers"; @@ -95,4 +94,4 @@ ### mode:iso-accents *** ### coding:utf-8 *** ### End: *** -?> \ No newline at end of file +?> Modified: trunk/php/db/db.pinc =================================================================== --- trunk/php/db/db.pinc 2013-08-03 09:36:13 UTC (rev 1115) +++ trunk/php/db/db.pinc 2013-08-03 09:40:55 UTC (rev 1116) @@ -605,6 +605,8 @@ $wc = $this->dbconn->Like($fld,$val); $fld = 'LIKE'; } else if ($cmp == 'IN') { + if (!is_array($val)) return; + if (count($val) == 0) return; $wc = ' in ('; $pre = ''; foreach ($val as $v) { Modified: trunk/php/db/db_mysql.pinc =================================================================== --- trunk/php/db/db_mysql.pinc 2013-08-03 09:36:13 UTC (rev 1115) +++ trunk/php/db/db_mysql.pinc 2013-08-03 09:40:55 UTC (rev 1116) @@ -137,11 +137,12 @@ $cmd .= " ". $this->db->name; $cmd .= " < ". $filename; $errout = exec ($cmd . " 2> ". $tutos[sessionpath] ."/restore_from_file",$output,$rt); - echo "<br>"; - echo htmlentities($cmd)."<br />"; + echo "<br /><pre>"; + echo htmlentities($cmd)."\r\n"; foreach($output as $i) { - echo htmlentities($i)."<br />"; + echo htmlentities($i)."\r\n"; } + echo "<br /></pre>"; return true; } Modified: trunk/php/db/db_mysqli.pinc =================================================================== --- trunk/php/db/db_mysqli.pinc 2013-08-03 09:36:13 UTC (rev 1115) +++ trunk/php/db/db_mysqli.pinc 2013-08-03 09:40:55 UTC (rev 1116) @@ -132,11 +132,12 @@ $cmd .= " ". $this->db->name; $cmd .= " < ". $filename; $errout = exec ($cmd . " 2> ". $tutos[sessionpath] ."/restore_from_file",$output,$rt); - echo "<br>"; - echo htmlentities($cmd)."<br />"; + echo "<br /><pre>"; + echo htmlentities($cmd)."\r\n"; foreach($output as $i) { - echo htmlentities($i)."<br />"; + echo htmlentities($i)."\r\n"; } + echo "<br /></pre>"; return true; } Modified: trunk/php/layout/new2_layout.pinc =================================================================== --- trunk/php/layout/new2_layout.pinc 2013-08-03 09:36:13 UTC (rev 1115) +++ trunk/php/layout/new2_layout.pinc 2013-08-03 09:40:55 UTC (rev 1116) @@ -1079,7 +1079,7 @@ $r .= ' <a class="nodeco" href="'. $tutos['base'] .'/html/copyright.html" title="TUTOS '. $tutos[version] ; if ( ($tutos[debug] == 1) && function_exists('memory_get_usage') ) { - $r .= sprintf(' using %s of memory',format_size(memory_get_usage())); + $r .= sprintf(' using %s of memory',format_size(memory_get_usage()).'/'.format_size(memory_get_peak_usage(true))); } if ($tutos[debug] == 1) { if ($tutos[usepopup] == 2) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-03 09:36:17
|
Revision: 1115 http://sourceforge.net/p/tutos/code/1115 Author: gokohnert Date: 2013-08-03 09:36:13 +0000 (Sat, 03 Aug 2013) Log Message: ----------- noreply email sending / use replyto instead of from Modified Paths: -------------- trunk/php/localization/ca.p3 trunk/php/localization/cs.p3 trunk/php/localization/de.p3 trunk/php/localization/el.p3 trunk/php/localization/en.p3 trunk/php/localization/es-mx.p3 trunk/php/localization/es-ni.p3 trunk/php/localization/es-ve.p3 trunk/php/localization/es.p3 trunk/php/localization/fr.p3 trunk/php/localization/hu.p3 trunk/php/localization/it.p3 trunk/php/localization/ja.p3 trunk/php/localization/ko.p3 trunk/php/localization/nl.p3 trunk/php/localization/pl.p3 trunk/php/localization/pt-br.p3 trunk/php/localization/pt.p3 trunk/php/localization/ru.p3 trunk/php/localization/sv.p3 trunk/php/localization/tw.p3 trunk/php/localization/vi.p3 trunk/php/localization/zh.p3 trunk/php/mail.pinc trunk/php/mail_ins.php trunk/php/mail_new.php Modified: trunk/php/localization/ca.p3 =================================================================== --- trunk/php/localization/ca.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/ca.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -393,6 +393,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/cs.p3 =================================================================== --- trunk/php/localization/cs.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/cs.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/de.p3 =================================================================== --- trunk/php/localization/de.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/de.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = 'Weiterleiten'; $lang['MailForwardI'] = 'Diese E-mail weiterleiten'; $lang['MailReply'] = 'Antworten'; +$lang['MailReplyTo'] = 'Antwort an'; $lang['MailReplyAll'] = 'Allen Antworten'; $lang['MailReplyI'] = 'Eine Antwort auf diese E-mail senden'; $lang['MailQuoteHead'] = 'Am %s schrieb %s:'; Modified: trunk/php/localization/el.p3 =================================================================== --- trunk/php/localization/el.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/el.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -389,6 +389,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/en.p3 =================================================================== --- trunk/php/localization/en.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/en.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = 'Forward'; $lang['MailForwardI'] = 'Forward this mail'; $lang['MailReply'] = 'Reply'; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = 'Reply All'; $lang['MailReplyI'] = 'Sent a reply on this mail'; $lang['MailQuoteHead'] = 'On %s , %s wrote:'; Modified: trunk/php/localization/es-mx.p3 =================================================================== --- trunk/php/localization/es-mx.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/es-mx.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -387,6 +387,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/es-ni.p3 =================================================================== --- trunk/php/localization/es-ni.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/es-ni.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -388,6 +388,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/es-ve.p3 =================================================================== --- trunk/php/localization/es-ve.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/es-ve.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -387,6 +387,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/es.p3 =================================================================== --- trunk/php/localization/es.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/es.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -387,6 +387,7 @@ $lang['MailForward'] = "Renviar"; $lang['MailForwardI'] = "Renviar este mensaje"; $lang['MailReply'] = "Responder"; +$lang['MailReplyTo'] = 'Responder a'; $lang['MailReplyAll'] = "Responder a todos"; $lang['MailReplyI'] = "Respuesta a este mensaje enviada"; $lang['MailQuoteHead'] = "El %s , %s escribió:"; Modified: trunk/php/localization/fr.p3 =================================================================== --- trunk/php/localization/fr.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/fr.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -387,6 +387,7 @@ $lang['MailForward'] = 'Expédier'; $lang['MailForwardI'] = 'Expédier cet email'; $lang['MailReply'] = 'Répondre'; +$lang['MailReplyTo'] = 'Répondre à'; $lang['MailReplyAll'] = 'Répondre à tous'; $lang['MailReplyI'] = 'Réponse envoyée sur ce email'; $lang['MailQuoteHead'] = 'Le %s , %s a écrit:'; Modified: trunk/php/localization/hu.p3 =================================================================== --- trunk/php/localization/hu.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/hu.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -392,6 +392,7 @@ $lang['MailForward'] = "Továbbítás"; $lang['MailForwardI'] = "Ezen e-mail továbbítása"; $lang['MailReply'] = "Válasz"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Válasz mindenkinek"; $lang['MailReplyI'] = "Válasz küldése erre az e-mailre"; $lang['MailQuoteHead'] = "%s-n %s ezt írta:"; Modified: trunk/php/localization/it.p3 =================================================================== --- trunk/php/localization/it.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/it.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -385,6 +385,7 @@ $lang['MailForward'] = "Inoltra"; $lang['MailForwardI'] = "Inoltra questa e-mail"; $lang['MailReply'] = "Rispondi"; +$lang['MailReplyTo'] = "Rispondi a"; $lang['MailReplyAll'] = "Rispondi a tutti"; $lang['MailReplyI'] = "Manda una risposta a questa e-mail"; $lang['MailQuoteHead'] = "Il %s , %s ha scritto:"; Modified: trunk/php/localization/ja.p3 =================================================================== --- trunk/php/localization/ja.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/ja.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/ko.p3 =================================================================== --- trunk/php/localization/ko.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/ko.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -393,6 +393,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/nl.p3 =================================================================== --- trunk/php/localization/nl.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/nl.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -399,6 +399,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward deze email"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Beantwoord deze email"; $lang['MailQuoteHead'] = "Op %s , schreef %s :"; Modified: trunk/php/localization/pl.p3 =================================================================== --- trunk/php/localization/pl.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/pl.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -393,6 +393,7 @@ $lang['MailForward'] = "Przekaż dalej"; $lang['MailForwardI'] = "Przekaż dalej tę pocztę"; $lang['MailReply'] = "Odpowiedz"; +$lang['MailReplyTo'] = "Odpowiedz do"; $lang['MailReplyAll'] = "Odpowiedz wszystkim"; $lang['MailReplyI'] = "Wyślij odpowiedź na ten list"; $lang['MailQuoteHead'] = "%s , %s napisał:"; Modified: trunk/php/localization/pt-br.p3 =================================================================== --- trunk/php/localization/pt-br.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/pt-br.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -391,6 +391,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = "Reply to"; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/pt.p3 =================================================================== --- trunk/php/localization/pt.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/pt.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -392,6 +392,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/ru.p3 =================================================================== --- trunk/php/localization/ru.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/ru.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -387,6 +387,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/sv.p3 =================================================================== --- trunk/php/localization/sv.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/sv.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -384,6 +384,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/tw.p3 =================================================================== --- trunk/php/localization/tw.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/tw.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = "轉寄"; $lang['MailForwardI'] = "轉發此郵件"; $lang['MailReply'] = "回覆"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "全部回覆"; $lang['MailReplyI'] = "發送此郵件的答覆"; $lang['MailQuoteHead'] = "於 %s 的電郵, %s 已寫:"; Modified: trunk/php/localization/vi.p3 =================================================================== --- trunk/php/localization/vi.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/vi.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -391,6 +391,7 @@ $lang['MailForward'] = "Forward"; $lang['MailForwardI'] = "Forward this mail"; $lang['MailReply'] = "Reply"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "Reply All"; $lang['MailReplyI'] = "Sent a reply on this mail"; $lang['MailQuoteHead'] = "On %s , %s wrote:"; Modified: trunk/php/localization/zh.p3 =================================================================== --- trunk/php/localization/zh.p3 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/localization/zh.p3 2013-08-03 09:36:13 UTC (rev 1115) @@ -390,6 +390,7 @@ $lang['MailForward'] = "转寄"; $lang['MailForwardI'] = "转发此邮件"; $lang['MailReply'] = "回覆"; +$lang['MailReplyTo'] = 'Reply to'; $lang['MailReplyAll'] = "全部回覆"; $lang['MailReplyI'] = "发送此邮件的答覆"; $lang['MailQuoteHead'] = "于 %s 的电邮, %s 已写:"; Modified: trunk/php/mail.pinc =================================================================== --- trunk/php/mail.pinc 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/mail.pinc 2013-08-03 09:36:13 UTC (rev 1115) @@ -719,8 +719,8 @@ $this->date = ''; $this->from = null; $this->from_adr = ''; - $this->reply_to = null; - $this->reply_to_adr = ''; + $this->reply = array(); + $this->reply_adr = array(); $this->show_header = false; $this->replyurl= "mail_new.php"; @@ -1067,21 +1067,25 @@ * a reply to will also set to the same name (TUTOS can not be addressed directly) */ function setFrom(&$obj) { - $this->from = &$obj; + global $tutos; + + if ($tutos['email_sender'] != '') { + $this->AddReply($obj); + } else { + $this->from = &$obj; + } } function setFromTxt($from) { - $this->from_adr = $from; - } + global $tutos; - function setReplyTo(&$obj) { - $this->reply_to = &$obj; + if ($tutos['email_sender'] != '') { + $this->AddReply($from); + } else { + $this->from_adr = $from; + } } - function setReplyToTxt($reply) { - $this->reply_to_adr =$reply; - } - /** * reset the addresses where to send the mail */ @@ -1195,6 +1199,65 @@ } /** + * set the ReplyTo + * + */ + function addReply($obj) { + if ( ! is_Object($obj) ) { + if ( $obj == '' ) { + return; + } + $x = preg_split("#,#",$obj); + foreach ($x as $y) { + if (trim($y)) { + $this->reply_adr[] = trim($y); + } + } + return; + } + if ( $obj->id < 1 ) { + return; + } + $obj->fill_maillist($this->reply); + + } + + /** + * get the reply List as a string + * + */ + function getReply() { + $reply = ''; + $pre = ''; + if ( count($this->reply) ) { + foreach($this->reply as $i => $obj) { + $t = $obj->default_email(); + if ( $t == '' ) { + continue; + } + if (isset($this->charset) ) { + $x = "=?". $this->charset ."?B?" . base64_encode( $obj->getFullName() ) . "?="; + } else { + $x = $obj->getFullName(); + } + $reply .= $pre .'"'. $x .'" <'. $t .'>'; + $pre = ","; + } + } + if ( count($this->reply_adr) ) { + foreach($this->reply_adr as $i => $obj ) { + list($name,$em) = mail::split_name_email($obj); + if (isset($this->charset) ) { + $name = "=?". $this->charset ."?B?" . base64_encode( $name ) . "?="; + } + $reply .= $name ." <". $em .">"; + $pre = ","; + } + } + return $reply; + } + + /** * set the Cc * */ @@ -1223,15 +1286,15 @@ * */ function getCc() { - $cc = ""; - $pre = ""; + $cc = ''; + $pre = ''; if ( count($this->cc) ) { foreach($this->cc as $i => $obj) { if ( isset($this->sent[$obj->id]) && ($this->sent[$obj->id] == 1) ) { continue; } $t = $obj->default_email(); - if ( $t == "" ) { + if ( $t == '' ) { continue; } if (isset($this->charset) ) { @@ -1239,7 +1302,7 @@ } else { $x = $obj->getFullName(); } - $cc .= $pre ."\"". $x ."\" <". $t .">"; + $cc .= $pre .'"'. $x .'" <'. $t .">"; $pre = ","; $this->sent[$obj->id] = 1; } @@ -1262,8 +1325,8 @@ * */ function getCcAscii() { - $cc = ""; - $pre = ""; + $cc = ''; + $pre = ''; $x = array(); if ( count($this->cc) ) { foreach($this->cc as $i => $obj) { @@ -1274,7 +1337,7 @@ continue; } $t = $obj->default_email(); - if ( $t == "" ) { + if ( $t == '' ) { continue; } if ( isset($x[$t]) ) { @@ -1636,29 +1699,25 @@ function send($fname = '') { global $lang, $tutos; - $msg = ""; + $msg = ''; + $from = ''; if ( $this->from_adr != "" ) { $from = $this->from_adr; - } else { + } else if (is_object($this->from)) { $from = $this->from->default_email(); } + // use default noreply from address + if ($tutos['email_sender'] != '') { + $from = $tutos['email_sender']; + } if ( $from == "" ) { $msg = addLine($msg,sprintf($lang['Err0034'],$this->from->getFullName())); return $msg; } - $replyto = ''; - if ( $this->reply_to_adr != "" ) { - $replyto = $this->reply_to_adr; - } else if (is_object($this->reply_to)) { - $replyto = $this->reply_to->default_email(); - } else { - // no reply to - } + $replyto = $this->getReply(); - - if ( (($tutos['mailmode'] == MAILMODE_SENDMAIL) && !is_executable($tutos['sendmail'])) || (($tutos['mailmode'] == MAILMODE_SMTP) && empty($tutos['smtphost'])) || ($tutos['mailmode'] == MAILMODE_NOMAIL) @@ -1791,10 +1850,14 @@ return addLine($msg,$omsg); } - $x = "=?". $lang['content_encoding'] ."?B?" . base64_encode($this->from->getFullName()) . "?="; + if (is_object($this->from)) { + $x = "=?". $lang['content_encoding'] ."?B?" . base64_encode($this->from->getFullName()) . "?="; + } else { + $x = "=?". $lang['content_encoding'] ."?B?" . base64_encode($from) . "?="; + } $this->writechannel("From: \"". $x ." (TUTOS)\" <". $from .">"); if ($replyto != '') - $this->writechannel("Reply-To: \"". $x ."\" <". $replyto .">"); + $this->writechannel('Reply-To: '.$replyto); $this->writechannel("Date: ". Date("r")); // encode subject line $subj = "=?". $this->charset ."?B?" . base64_encode( $this->subject ) . "?="; Modified: trunk/php/mail_ins.php =================================================================== --- trunk/php/mail_ins.php 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/mail_ins.php 2013-08-03 09:36:13 UTC (rev 1115) @@ -1,6 +1,6 @@ <?php /** - * Copyright 1999 - 2012 by Gero Kohnert + * Copyright 1999 - 2013 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 @@ -12,6 +12,8 @@ * @module mail_ins * @package mail */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; @@ -31,13 +33,13 @@ $m->setSubject($_POST['subject']); $gotourl = addUrlParameter($gotourl,"subject=". UrlEncode($m->subject),true); -$m->from->read_locs_data(); +$current_user->read_locs_data(); $found = 0; if (isset($_POST['from'])) { $t = preg_split("#,#",$_POST['from']); - if ( isset($m->from->location) ) { - @reset($m->from->location); - while( list ($i,$f) = @each ($m->from->location)) { + if ( isset($current_user->location) ) { + @reset($current_user->location); + while( list ($i,$f) = @each ($current_user->location)) { if ( $f->id == $t[1] ) { if ( $t[0] == 1 ) { $from = $f->email_1; Modified: trunk/php/mail_new.php =================================================================== --- trunk/php/mail_new.php 2013-08-03 09:34:53 UTC (rev 1114) +++ trunk/php/mail_new.php 2013-08-03 09:36:13 UTC (rev 1115) @@ -39,81 +39,93 @@ Function info() { global $tutos,$lang; + $this->width = 4; $r = ''; $r .= "<form id=\"mailnew\" name=\"mailnew\" enctype=\"multipart/form-data\" action=\"mail_ins.php\" method=\"post\">\n"; $this->addHidden("gotourl","mail_new.php"); $r .= $this->DataTableStart(); - $r .= "<tr>\n"; - $r .= " <th colspan=\"4\">". $lang['MailboxEmail'] ."</th>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowStart(); + $r .= $this->Headline($lang['MailboxEmail']); + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; - $r .= $this->showfieldc($lang['MailFrom'],0,"from"); - $r .= " <td colspan=\"3\">\n"; - $d = $this->obj->from->default_email(); - $r .= " <select id=\"from\" name=\"from\">\n"; - if ( isset($this->obj->from->location) ) { - foreach ($this->obj->from->location as $i => $f) { - if ( $f->email_1 != "") { - $r .= " <option value=\"1,". $f->id ."\"". ($d == $f->email_1 ? ' selected="selected"':'') .">". $f->email_1 ."</option>\n"; + $r .= $this->EditRowStart(); + if ($tutos['email_sender'] != '') { + $r .= $this->showfieldc($lang['MailReplyTo'],0,"from"); + $r .= " <td colspan=\"3\">\n"; + $d = $this->user->default_email(); + $r .= " <select id=\"from\" name=\"from\">\n"; + if ( isset($this->user->location) ) { + foreach ($this->user->location as $i => $f) { + if ( $f->email_1 != "") { + $r .= " <option value=\"1,". $f->id ."\"". ($d == $f->email_1 ? ' selected="selected"':'') .">". $f->email_1 ."</option>\n"; + } + if ( $f->email_2 != "") { + $r .= " <option value=\"2,". $f->id ."\"". ($d == $f->email_2 ? ' selected="selected"':'') .">". $f->email_2 ."</option>\n"; + } } - if ( $f->email_2 != "") { - $r .= " <option value=\"2,". $f->id ."\"". ($d == $f->email_2 ? ' selected="selected"':'') .">". $f->email_2 ."</option>\n"; + } + $r .= " </select>\n"; + $r .= " </td>\n"; + } else { + $r .= $this->showfieldc($lang['MailFrom'],0,"from"); + $r .= " <td colspan=\"3\">\n"; + $d = $this->obj->from->default_email(); + $r .= " <select id=\"from\" name=\"from\">\n"; + if ( isset($this->obj->from->location) ) { + foreach ($this->obj->from->location as $i => $f) { + if ( $f->email_1 != "") { + $r .= " <option value=\"1,". $f->id ."\"". ($d == $f->email_1 ? ' selected="selected"':'') .">". $f->email_1 ."</option>\n"; + } + if ( $f->email_2 != "") { + $r .= " <option value=\"2,". $f->id ."\"". ($d == $f->email_2 ? ' selected="selected"':'') .">". $f->email_2 ."</option>\n"; + } } } + $r .= " </select>\n"; + $r .= " </td>\n"; } - $r .= " </select>\n"; - $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; - $r .= $this->showfieldc($lang['MailTo'],1,"to"); + $r .= $this->EditRowStart(); + $r .= $this->showfieldc($lang['MailTo'],1,'to'); $xx = $this->obj->getToAscii(); if ( strlen($xx) < 200 ) { - $r .= " <td colspan=\"3\">\n"; - $r .= " <input size=\"40\" maxlength=\"600\" id=\"to\" name=\"to\" value=\"". myentities($xx) ."\" />\n"; - $r .= " </td>\n"; + $r .= $this->showdata('<input size="40" maxlength="600" id="to" name="to" value="'. myentities($xx) .'" />',$this->width-1); } else { $r .= $this->showdata($lang[$this->to->getType()] ." ". $this->to->getLink(),3); $this->addHidden("toid",$_GET['toid']); } - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; - $r .= $this->showfieldc($lang['MailCc'],0,"cc"); + $r .= $this->EditRowStart(); + $r .= $this->showfieldc($lang['MailCc'],0,'cc'); $xx = $this->obj->getCcAscii(); if ( strlen($xx) < 200 ) { - $r .= " <td colspan=\"3\">\n"; - $r .= " <input size=\"40\" maxlength=\"600\" id=\"cc\" name=\"cc\" value=\"". myentities($xx) ."\" />\n"; - $r .= " </td>\n"; + $r .= $this->showdata('<input size="40" maxlength="600" id="cc" name="cc" value="'. myentities($xx) .'" />',$this->width-1); } else { $r .= $this->showdata($lang[$this->to->getType()] ." ". $this->to->getLink(),3); $this->addHidden("toid",$_GET['toid']); } - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; - $r .= $this->showfieldc($lang['MailBcc'],0,"bcc"); + $r .= $this->EditRowStart(); + $r .= $this->showfieldc($lang['MailBcc'],0,'bcc'); $xx = $this->obj->getBccAscii(); if ( strlen($xx) < 200 ) { - $r .= " <td colspan=\"3\">\n"; - $r .= " <input size=\"40\" maxlength=\"3000\" id=\"bcc\" name=\"bcc\" value=\"". myentities($xx) ."\" />\n"; - $r .= " </td>\n"; + $r .= $this->showdata('<input size="40" maxlength="3000" id="bcc" name="bcc" value="'. myentities($xx) .'" />',$this->width-1); } else { $r .= $this->showdata($lang[$this->to->getType()] ." ". $this->to->getLink(),3); $this->addHidden("toid",$_GET['toid']); } - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfieldc($lang['MailSubject'],0,"subject"); - $r .= " <td colspan=\"3\">\n"; - $r .= " <input size=\"40\" maxlength=\"60\" id=\"subject\" name=\"subject\" value=\"". myentities($this->obj->subject) ."\" />\n"; - $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->showdata('<input size="40" maxlength="60" id="subject" name="subject" value="'. myentities($this->obj->subject).'" />',$this->width-1); + $r .= $this->EditRowEnd(); - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= " <td colspan=\"4\">\n"; if ($tutos[fckeditor] == 1) { $sBasePath = '../libs/fckeditor/' ; @@ -129,15 +141,15 @@ $r .= ' <textarea id="body" rows="40" cols="80" name="body">'. myentities($this->obj->newbody) ."</textarea>\n"; } $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); if ($this->noattach == false) { - $r .= "<tr>\n"; + $r .= $this->EditRowStart(); $r .= $this->showfieldc($lang['MailAttachmentNew'],0,"file"); $r .= " <td colspan=\"3\">\n"; $r .= " <input size=\"30\" id=\"file\" name=\"file\" type=\"file\" value=\"". myentities($this->filepath) ."\" />\n"; $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->EditRowEnd(); } $r .= $this->submit_reset_row(0,1,1,1,1,0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-03 09:34:55
|
Revision: 1114 http://sourceforge.net/p/tutos/code/1114 Author: gokohnert Date: 2013-08-03 09:34:53 +0000 (Sat, 03 Aug 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/testmanager/tw.p3 trunk/php/testmanager/zh.p3 Modified: trunk/php/testmanager/tw.p3 =================================================================== --- trunk/php/testmanager/tw.p3 2013-08-01 13:55:22 UTC (rev 1113) +++ trunk/php/testmanager/tw.p3 2013-08-03 09:34:53 UTC (rev 1114) @@ -29,6 +29,7 @@ $lang['TestcaseLinkInfo'] = '一個 %s 測試用例'; $lang['TestcaseResult'] = '結果'; $lang['TestcaseResults'][-1] = '開始'; +$lang['TestcaseResults'][-2] = 'not applicaple'; $lang['TestcaseResults'][0] = '失敗'; $lang['TestcaseResults'][1] = '通過'; $lang['TestcaseResults'][2] = '跳過'; @@ -113,6 +114,7 @@ $lang['TestrunSignature'] = '署名'; $lang['TestrunCSVExport'] = '導出 CSV 格式'; $lang['TestrunCSVExportI'] = '以 CSV 格式導出試運行'; +$lang['TestrunPDFFooter'] = ''; $lang['TestmanagerConfig'] = 'Testmanager configuration'; $lang['TestCaseHelpMassAdd'] = 'How many testcases could be added at once using the "add testcase" link.'; Modified: trunk/php/testmanager/zh.p3 =================================================================== --- trunk/php/testmanager/zh.p3 2013-08-01 13:55:22 UTC (rev 1113) +++ trunk/php/testmanager/zh.p3 2013-08-03 09:34:53 UTC (rev 1114) @@ -29,6 +29,7 @@ $lang['TestcaseLinkInfo'] = '一个 %s 测试用例'; $lang['TestcaseResult'] = '结果'; $lang['TestcaseResults'][-1] = '开始'; +$lang['TestcaseResults'][-2] = 'not applicaple'; $lang['TestcaseResults'][0] = '失败'; $lang['TestcaseResults'][1] = '通过'; $lang['TestcaseResults'][2] = '跳过'; @@ -113,6 +114,7 @@ $lang['TestrunSignature'] = '署名'; $lang['TestrunCSVExport'] = '导出 CSV 格式'; $lang['TestrunCSVExportI'] = 'export this testrun as CSV'; +$lang['TestrunPDFFooter'] = ''; $lang['TestmanagerConfig'] = 'Testmanager configuration'; $lang['TestCaseHelpMassAdd'] = 'How many testcases could be added at once using the "add testcase" link.'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-01 13:55:25
|
Revision: 1113 http://sourceforge.net/p/tutos/code/1113 Author: gokohnert Date: 2013-08-01 13:55:22 +0000 (Thu, 01 Aug 2013) Log Message: ----------- prepare a noreply email sender Modified Paths: -------------- trunk/php/db/db_pg.pinc trunk/php/db.p3 trunk/php/permission.p3 Modified: trunk/php/db/db_pg.pinc =================================================================== --- trunk/php/db/db_pg.pinc 2013-08-01 13:54:30 UTC (rev 1112) +++ trunk/php/db/db_pg.pinc 2013-08-01 13:55:22 UTC (rev 1113) @@ -12,9 +12,9 @@ $tutos['files'][__FILE__] = '$Rev$'; require_once 'db.pinc'; -# -# Register parse functions for datetime -# +// +// Register parse functions for datetime +// $tutos['dateformat'][] = 'pgformat4'; $tutos['dateformat'][] = 'pgformat1'; $tutos['dateformat'][] = 'pgformat2'; @@ -668,7 +668,7 @@ $c = preg_replace('/NN/','',$c); $q .= $this->colname($colname) ." ". $t ." ". $c; $r = $this->exec($q,0); -# echo 'X' .$r.' '.$this->lasterror.'<br>'; + # echo 'X' .$r.' '.$this->lasterror.'<br>'; if (!is_object($r) && $r == -1) { // try to alter table $q = 'ALTER TABLE '. $this->prefix . $tblname .' ALTER COLUMN '; Modified: trunk/php/db.p3 =================================================================== --- trunk/php/db.p3 2013-08-01 13:54:30 UTC (rev 1112) +++ trunk/php/db.p3 2013-08-01 13:55:22 UTC (rev 1113) @@ -512,6 +512,7 @@ $tutos['popbeforesmtp_user'] = 'change me'; if (!isset($tutos['popbeforesmtp_pass'])) $tutos['popbeforesmtp_pass'] = 'change me'; +$tutos['email_sender'] = ''; if (!isset($tutos['app_prefteam'])) $tutos['app_prefteam'] = 1; Modified: trunk/php/permission.p3 =================================================================== --- trunk/php/permission.p3 2013-08-01 13:54:30 UTC (rev 1112) +++ trunk/php/permission.p3 2013-08-01 13:55:22 UTC (rev 1113) @@ -212,7 +212,7 @@ // TODO: check ! // set_magic_quotes_runtime(0); -define ('minimumversion',"5.1.0"); +define ('minimumversion',"5.1.6"); /** * check php version This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-08-01 13:54:35
|
Revision: 1112 http://sourceforge.net/p/tutos/code/1112 Author: gokohnert Date: 2013-08-01 13:54:30 +0000 (Thu, 01 Aug 2013) Log Message: ----------- prepare a noreply email sender Modified Paths: -------------- trunk/php/admin/de.p3 trunk/php/admin/en.p3 trunk/php/admin/hu.p3 trunk/php/admin/main_config.php trunk/php/admin/sv.p3 Modified: trunk/php/admin/de.p3 =================================================================== --- trunk/php/admin/de.p3 2013-07-30 18:22:32 UTC (rev 1111) +++ trunk/php/admin/de.p3 2013-08-01 13:54:30 UTC (rev 1112) @@ -2,14 +2,14 @@ # $Id$ # # ========================= NOTE ======================== -# Please put site specific extensions and changes -# to TUTOS language files in a file called "en_custom.p3" -# or "lang_custom.p3" (for all languages) -# using the same format like here -# ======================================================= + # Please put site specific extensions and changes + # to TUTOS language files in a file called "en_custom.p3" + # or "lang_custom.p3" (for all languages) + # using the same format like here + # ======================================================= -$lang['AdminCCHelp']['dbname'] = "Der Name der Datenbank in welcher TUTOS installiert werden soll"; + $lang['AdminCCHelp']['dbname'] = "Der Name der Datenbank in welcher TUTOS installiert werden soll"; $lang['AdminCCHelp']['dbtype'] = "Der Typ/Hersteller des Datenbanksystems"; $lang['AdminCCHelp']['dbalias'] = "ein Alias für die Datenbank (wird in der Anmeldemaske gezeigt sofern mehrere Systeme definiert sind)"; $lang['AdminCCHelp']['dbhost'] = "Der Netzwerkname oder die IP Adresse des Datenbankservers"; @@ -83,6 +83,8 @@ $lang['ConfigHelpPassNeedSpecial'] = 'minimal number of special characters in an password (i.e. characters other than a-z)'; $lang['ConfigHelpPrefMail'] = 'bevorzugtes Format für eingehende Emails'; +$lang['ConfigHelpEmailSender'] = 'Absender für ausgehende emails (noreply). Leer lassen um die Standard-Email des TUTOS Anwenders zu nutzen.'; + $lang['ConfigMailModes'][0] = '0: No outgoing mails'; $lang['ConfigMailModes'][1] = '1: use sendmail program'; $lang['ConfigMailModes'][2] = '2: use SMTP (as defined by host/port)'; @@ -93,4 +95,4 @@ ### mode:iso-accents *** ### coding:utf-8 *** ### End: *** -?> +?> \ No newline at end of file Modified: trunk/php/admin/en.p3 =================================================================== --- trunk/php/admin/en.p3 2013-07-30 18:22:32 UTC (rev 1111) +++ trunk/php/admin/en.p3 2013-08-01 13:54:30 UTC (rev 1112) @@ -1,15 +1,14 @@ <?php -# -# $Id$ -# -# ========================= NOTE ======================== -# Please put site specific extensions and changes -# to TUTOS language files in a file called "en_custom.p3" -# or "lang_custom.p3" (for all languages) -# using the same format like here -# ======================================================= +// +// $Id$ +// +// ========================= NOTE ======================== +// Please put site specific extensions and changes +// to TUTOS language files in a file called "en_custom.p3" +// or "lang_custom.p3" (for all languages) +// using the same format like here +// ======================================================= - $lang['AdminCCHelp']['dbname'] = "The name of the database where TUTOS should be installed"; $lang['AdminCCHelp']['dbtype'] = "The type/manufacturer of the database system"; $lang['AdminCCHelp']['dbalias'] = "an alias for this database (shown on login if multiple systems are defined)"; @@ -85,6 +84,8 @@ $lang['ConfigHelpPassNeedSpecial'] = 'minimal number of special characters in an password (i.e. characters other than a-z)'; $lang['ConfigHelpPrefMail'] = 'preffered format for receiving mails'; +$lang['ConfigHelpEmailSender'] = 'sender of automated outgoing emails (noreply). Keep empty to use standard email addresses of tutos users.'; + $lang['ConfigMailModes'][0] = '0: No outgoing mails'; $lang['ConfigMailModes'][1] = '1: use sendmail program'; $lang['ConfigMailModes'][2] = '2: use SMTP (as defined by host/port)'; @@ -94,4 +95,4 @@ ### Local Variables: *** ### coding:utf-8 *** ### End: *** -?> +?> \ No newline at end of file Modified: trunk/php/admin/hu.p3 =================================================================== --- trunk/php/admin/hu.p3 2013-07-30 18:22:32 UTC (rev 1111) +++ trunk/php/admin/hu.p3 2013-08-01 13:54:30 UTC (rev 1112) @@ -1,12 +1,12 @@ <?php -# $Id$ -# -# ========================= NOTE ======================== -# Please put site specific extensions and changes -# to TUTOS language files in a file called "hu_custom.p3" -# or "lang_custom.p3" (for all languages) -# using the same format like here -# ======================================================= +// $Id$ +// +// ========================= NOTE ======================== +// Please put site specific extensions and changes +// to TUTOS language files in a file called "hu_custom.p3" +// or "lang_custom.p3" (for all languages) +// using the same format like here +// ======================================================= $lang['AdminCCHelp']['dbname'] = "Az adatbázis neve, amelybe a TUTOS-t telepíteni kell"; $lang['AdminCCHelp']['dbtype'] = "Az adatbázisrendszer típusa/gyártója"; @@ -83,6 +83,8 @@ $lang['ConfigHelpPassNeedSpecial'] = 'minimal number of special characters in an password (i.e. characters other than a-z)'; $lang['ConfigHelpPrefMail'] = 'preffered format for receiving mails'; +$lang['ConfigHelpEmailSender'] = 'sender automated of outgoing emails (noreply). Keep empty to use standard email addresses of tutos users.'; + $lang['ConfigMailModes'][0] = '0: No outgoing mails'; $lang['ConfigMailModes'][1] = '1: use sendmail program'; $lang['ConfigMailModes'][2] = '2: use SMTP (as defined by host/port)'; @@ -93,4 +95,4 @@ ### mode:iso-accents *** ### coding:utf-8 *** ### End: *** -?> +?> \ No newline at end of file Modified: trunk/php/admin/main_config.php =================================================================== --- trunk/php/admin/main_config.php 2013-07-30 18:22:32 UTC (rev 1111) +++ trunk/php/admin/main_config.php 2013-08-01 13:54:30 UTC (rev 1112) @@ -246,6 +246,13 @@ $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpPopSmtpPass']).'</td>'; $r .= $this->OverviewRowEnd($line++); + $r .= $this->OverviewRowStart($line); + $r .= $this->showfield('email_sender'); + $r .= '<td><input name="email_sender" value="'.$tutos['email_sender'] .'" /></td>'; + $r .= '<td colspan="2" class="pre">'.urlReplace($lang['ConfigHelpEmailSender']).'</td>'; + $r .= $this->OverviewRowEnd($line++); + + $r .= $this->DataTableEnd(); $r .= '</div>'; @@ -633,6 +640,9 @@ $tutos['popbeforesmtp_pass'] = $_REQUEST['popbeforesmtp_pass']; write_config_value($this->dbconn,'popbeforesmtp_pass','main'); + $tutos['email_sender'] = $_REQUEST['email_sender']; + write_config_value($this->dbconn,'email_sender','main'); + $tutos['logo'] = $_REQUEST['logo']; write_config_value($this->dbconn,'logo','main'); Modified: trunk/php/admin/sv.p3 =================================================================== --- trunk/php/admin/sv.p3 2013-07-30 18:22:32 UTC (rev 1111) +++ trunk/php/admin/sv.p3 2013-08-01 13:54:30 UTC (rev 1112) @@ -1,12 +1,12 @@ <?php -# $Id$ -# -# ========================= NOTE ======================== -# Please put site specific extensions and changes -# to TUTOS language files in a file called "sv_custom.p3" -# or "lang_custom.p3" (for all languages) -# using the same format like here -# ======================================================= +// $Id$ +// +// ========================= NOTE ======================== +// Please put site specific extensions and changes +// to TUTOS language files in a file called "sv_custom.p3" +// or "lang_custom.p3" (for all languages) +// using the same format like here +// ======================================================= $lang['AdminCCHelp']['dbname'] = "Namnet på databasen som TUTOS skall installeras på"; @@ -82,7 +82,10 @@ $lang['ConfigHelpPassMaxAge'] = 'maximal age (in days) of an password before user is required to choose a new one. ( -1 = never )'; $lang['ConfigHelpPassMinLength'] = 'minimal number of characters for an password'; $lang['ConfigHelpPassNeedSpecial'] = 'minimal number of special characters in an password (i.e. characters other than a-z)'; +$lang['ConfigHelpPrefMail'] = 'preffered format for receiving mails'; +$lang['ConfigHelpEmailSender'] = 'sender of automated outgoing emails (noreply). Keep empty to use standard email addresses of tutos users.'; + $lang['ConfigMailModes'][0] = '0: No outgoing mails'; $lang['ConfigMailModes'][1] = '1: use sendmail program'; $lang['ConfigMailModes'][2] = '2: use SMTP (as defined by host/port)'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-30 18:22:35
|
Revision: 1111 http://sourceforge.net/p/tutos/code/1111 Author: gokohnert Date: 2013-07-30 18:22:32 +0000 (Tue, 30 Jul 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/team_overview.php Modified: trunk/php/team_overview.php =================================================================== --- trunk/php/team_overview.php 2013-07-26 14:59:06 UTC (rev 1110) +++ trunk/php/team_overview.php 2013-07-30 18:22:32 UTC (rev 1111) @@ -162,7 +162,7 @@ * */ Function prepare() { - global $lang,$table; + global $msg,$lang,$table; $this->layout_id = useteams; $this->name = $lang['TeamOverview']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-26 14:59:08
|
Revision: 1110 http://sourceforge.net/p/tutos/code/1110 Author: gokohnert Date: 2013-07-26 14:59:06 +0000 (Fri, 26 Jul 2013) Log Message: ----------- more history search Modified Paths: -------------- trunk/php/acl.pinc trunk/php/db/db.pinc trunk/php/history.pinc trunk/php/history_select.php trunk/php/history_show.php Modified: trunk/php/acl.pinc =================================================================== --- trunk/php/acl.pinc 2013-07-25 11:21:52 UTC (rev 1109) +++ trunk/php/acl.pinc 2013-07-26 14:59:06 UTC (rev 1110) @@ -691,7 +691,7 @@ $permskip[usehistory][PERM_NEW] = 1; $permskip[usehistory][PERM_MOD] = 1; $permskip[usehistory][PERM_DEL] = 1; - $permskip[usehistory][PERM_SEL] = 1; + //$permskip[usehistory][PERM_SEL] = 1; $permskip[usehistory][PERM_USE] = 1; $permskip[usehistory][PERM_MYTUTOS] = 1; Modified: trunk/php/db/db.pinc =================================================================== --- trunk/php/db/db.pinc 2013-07-25 11:21:52 UTC (rev 1109) +++ trunk/php/db/db.pinc 2013-07-26 14:59:06 UTC (rev 1110) @@ -604,6 +604,14 @@ if ($cmp == 'LIKE') { $wc = $this->dbconn->Like($fld,$val); $fld = 'LIKE'; + } else if ($cmp == 'IN') { + $wc = ' in ('; + $pre = ''; + foreach ($val as $v) { + $wc .= $pre.$this->dbconn->String($v); + $pre = ','; + } + $wc .= ')'; } else { $wc = $cmp. $this->dbconn->String($val); } Modified: trunk/php/history.pinc =================================================================== --- trunk/php/history.pinc 2013-07-25 11:21:52 UTC (rev 1109) +++ trunk/php/history.pinc 2013-07-26 14:59:06 UTC (rev 1110) @@ -22,7 +22,7 @@ * @param $from start time * @param $to end time */ -function readHistory (tutos_base $obj,$adr_id,$sort = "m_time" ,$dir,$start,$from = null,$to = null, $oldfilter = '', $newfilter = '', $fieldfilter = '') { +function readHistory (tutos_base $obj,$adr_id,$sort = "m_time" ,$dir,$start,$from = null,$to = null, $oldfilter = '', $newfilter = '', $fieldfilter = array()) { global $tutos; if ( ! isset($obj->id) ) { @@ -69,6 +69,11 @@ $query->addWC('val_new',$newfilter,'STRING','LIKE'); } + // filter by fields + if (count($fieldfilter) > 0) { + $query->addWC('m_field',$fieldfilter,'STRING','IN'); + } + $query->addOrder($sort,$dir); $query->addOrder('obj_id',$dir); Modified: trunk/php/history_select.php =================================================================== --- trunk/php/history_select.php 2013-07-25 11:21:52 UTC (rev 1109) +++ trunk/php/history_select.php 2013-07-26 14:59:06 UTC (rev 1110) @@ -38,8 +38,8 @@ $r .= $this->headline($lang['ObjHistory']); $r .= $this->ContentRowStart(); - $r .= $this->showfieldc($lang['AdrName'],0,'name'); - $r .= $this->showdata('<input id="name" type="text" value="" name="name" />'); + $r .= $this->showfieldc($lang['HistoryFld'],0,'field'); + $r .= $this->showdata('<input id="field" type="text" value="" name="field" />'); $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" title="'.$lang['Search'].'" />'); $r .= $this->ContentRowEnd(); @@ -77,7 +77,7 @@ $r .= url::getFastSelect($this); } - $r .= $this->setfocus('name'); + $r .= $this->setfocus('field'); return $r; } Modified: trunk/php/history_show.php =================================================================== --- trunk/php/history_show.php 2013-07-25 11:21:52 UTC (rev 1109) +++ trunk/php/history_show.php 2013-07-26 14:59:06 UTC (rev 1110) @@ -90,7 +90,7 @@ $r .= $this->OverviewBodyStart(); $line = 0; - $this->xobj->readHistory($this->adr_id,$this->order_fld,$this->order_dir,$this->start,$this->from,$this->to,$this->oldfilter,$this->newfilter); + $this->xobj->readHistory($this->adr_id,$this->order_fld,$this->order_dir,$this->start,$this->from,$this->to,$this->oldfilter,$this->newfilter,$this->field); $n = $this->xobj->history_size; if ( $n == 0 ) { $r .= $this->error ( $lang['Err0048'] ); @@ -246,11 +246,18 @@ $this->to = null; $this->oldfilter = ''; $this->newfilter = ''; + $this->field = array(); $this->header = ''; $this->hpre = ''; $name = $lang['AppEverything']; + if ( ! $this->user->feature_ok(usehistory,PERM_SEE) ) { + $msg = addLine($msg,sprintf($lang['Err0022'],$this->name)); + $this->stop = true; + return; + } + $arg = 0; if ( isset($_GET['id']) && is_numeric($_GET['id']) ) { @@ -308,19 +315,66 @@ $this->link1 = addUrlParameter($this->link1,"maxshow=".$_GET['maxshow']); } + // old value if ( isset($_GET['old']) && $_GET['old'] != '') { $this->oldfilter = $_GET['old']; $this->link1 = addUrlParameter($this->link1,"old=".$this->oldfilter); $this->header .= $this->hpre.$lang['HistoryOldV'] .' = '. $this->oldfilter; $this->hpre = '<br />'; } + // new value if ( isset($_GET['new']) && $_GET['new'] != '') { $this->newfilter = $_GET['new']; $this->link1 = addUrlParameter($this->link1,"new=".$this->newfilter); $this->header .= $this->hpre.$lang['HistoryNewV'] .' = '. $this->newfilter; $this->hpre = '<br />'; } + // field(s) + if ( isset($_GET['field']) && $_GET['field'] != '' ) { + $n = $_GET['field']; + $this->field[] = $n; + // search + $q = 'select distinct m_field from history'; + $res = $this->dbconn->Exec($q); + $cnt = $res->numrows(); + // read the languagefiles of modules + foreach ($tutos[modules] as $r => $x) { + ReadLang1($lang,dirname($tutos['base'] .'/'. $tutos[modules][$r][file]),$this->user); + } + + $a = 0; + while ($a < $cnt) { + $f = $res->get($a,'m_field'); + $a++; + if (isset($lang[$f])) { + if (stripos($lang[$f],$n) !== false) { + $this->field[] = $f; + } + } else { + // $msg = addLine($msg,$f); + if (stripos($f,$n) !== false) { + $this->field[] = $f; + } + } + } + $res->free(); + $this->link1 = addUrlParameter($this->link1,"field=".$n); + + $this->header .= $this->hpre.$lang['HistoryFld'] .' = '; + $pre = ''; + foreach ($this->field as $f) { + if (isset($lang[$f])) { + $this->header .= $pre.$lang[$f]; + /* $this->header .= '==('.$f.')'; */ + } else { + $this->header .= $pre.'('.$f.')'; + } + $pre = '|'; + } + $this->hpre = '<br />'; + } + // from $this->from = new TUTOS_Date_Time(0); if ( isset($_GET['fd']) ) { $this->from->setDateTime($_GET['fd']); @@ -332,7 +386,7 @@ $this->header .= $this->hpre.$lang['DateTimeFrom'] .' = '. $this->from->getDate(); $this->hpre = '<br />'; } - + // to $this->to = new TUTOS_Date_Time(0); if ( isset($_GET['td']) ) { $this->to->setDateTime($_GET['td']); @@ -366,9 +420,13 @@ $this->link1 = addUrlParameter($this->link1,"xo=".$this->order_dir); } - if ( ! $this->user->feature_ok(usehistory,PERM_SEE) ) { - $msg = addLine($msg,sprintf($lang['Err0022'],$this->name)); - $this->stop = true; + if ( $this->user->feature_ok(usehistory,PERM_SEL) ) { + $x = array( url => 'history_select.php', + text => $lang['ObjHistory'], + info => $lang['ObjHistory'], + category => array('search','history',usehistory) + ); + $this->addMenu($x); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-25 11:21:56
|
Revision: 1109 http://sourceforge.net/p/tutos/code/1109 Author: gokohnert Date: 2013-07-25 11:21:52 +0000 (Thu, 25 Jul 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/db/db.pinc trunk/php/history.pinc Modified: trunk/php/db/db.pinc =================================================================== --- trunk/php/db/db.pinc 2013-07-24 12:19:26 UTC (rev 1108) +++ trunk/php/db/db.pinc 2013-07-25 11:21:52 UTC (rev 1109) @@ -506,16 +506,16 @@ */ class query { function query(&$dbconn) { - $this->dbconn = &$dbconn; - $this->flds = array(); - $this->alias = array(); + $this->dbconn = &$dbconn; + $this->flds = array(); + $this->alias = array(); // Fields in the Where Clause - $this->wc = array(); - $this->table = 'UNKNOWN'; - $this->order = ' '; + $this->wc = array(); + $this->table = 'UNKNOWN'; + $this->order = ' '; $this->range_start = ''; - $this->range_cnt = ''; - $this->use_range = false; + $this->range_cnt = ''; + $this->use_range = false; } /** @@ -528,7 +528,7 @@ /** * Add Field for a select */ - function addFld($fld,$alias = "") { + function addFld($fld,$alias = '') { $fld = $this->dbconn->colname($fld); $this->flds[$fld] = true; if ($alias != '') { @@ -603,7 +603,7 @@ if ( $type == 'STRING' ) { if ($cmp == 'LIKE') { $wc = $this->dbconn->Like($fld,$val); - $fld = 0; + $fld = 'LIKE'; } else { $wc = $cmp. $this->dbconn->String($val); } @@ -698,7 +698,11 @@ $pre = ' WHERE '; foreach( $this->wc as $i => $f) { foreach ($f as $ff) { - $q .= $pre ."(". $i . $ff .")"; + if ($i != 'LIKE') { + $q .= $pre .'('. $i . $ff .')'; + } else { + $q .= $pre .'('. $ff .')'; + } $pre = ' AND '; } } @@ -729,7 +733,7 @@ $pre = ' WHERE '; foreach ($this->wc as $i => $f) { foreach ($f as $ff) { - if ($i != 0) { + if ($i != 'LIKE') { $q .= $pre .'('. $i . $ff .')'; } else { $q .= $pre .'('. $ff .')'; Modified: trunk/php/history.pinc =================================================================== --- trunk/php/history.pinc 2013-07-24 12:19:26 UTC (rev 1108) +++ trunk/php/history.pinc 2013-07-25 11:21:52 UTC (rev 1109) @@ -70,7 +70,7 @@ } $query->addOrder($sort,$dir); - $query->addOrder("obj_id",$dir); + $query->addOrder('obj_id',$dir); if ( $start != -2 ) { $query->addRange($start,$tutos['maxshow']); @@ -78,7 +78,7 @@ $r = $query->runSelect(); - // echo $oldfilter.' | '.$newfilter.' |'.$query->getSelect(); + // echo $oldfilter.' | '.$newfilter.' |'.$query->getSelect().'<br>'; $n = $r->numrows(); $obj->history_size = $n; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-24 12:19:29
|
Revision: 1108 http://sourceforge.net/p/tutos/code/1108 Author: gokohnert Date: 2013-07-24 12:19:26 +0000 (Wed, 24 Jul 2013) Log Message: ----------- more search possibilities in history Modified Paths: -------------- trunk/php/history.pinc Modified: trunk/php/history.pinc =================================================================== --- trunk/php/history.pinc 2013-07-24 12:19:08 UTC (rev 1107) +++ trunk/php/history.pinc 2013-07-24 12:19:26 UTC (rev 1108) @@ -22,7 +22,7 @@ * @param $from start time * @param $to end time */ -function readHistory (tutos_base $obj,$adr_id,$sort = "m_time" ,$dir,$start,$from = null,$to = null) { +function readHistory (tutos_base $obj,$adr_id,$sort = "m_time" ,$dir,$start,$from = null,$to = null, $oldfilter = '', $newfilter = '', $fieldfilter = '') { global $tutos; if ( ! isset($obj->id) ) { @@ -50,13 +50,25 @@ $query->addWC('adr_id',$adr_id,'INT'); } + // filter by time if (is_object($from) && !$from->notime) { $query->addWC('m_time',$from,'DATE',' >= '); } + // filter by time if (is_object($to) && !$to->notime) { $query->addWC('m_time',$to,'DATE',' <= '); } + // filter by old value + if ($oldfilter != '') { + $query->addWC('val_old',$oldfilter,'STRING','LIKE'); + } + + // filter by old value + if ($newfilter != '') { + $query->addWC('val_new',$newfilter,'STRING','LIKE'); + } + $query->addOrder($sort,$dir); $query->addOrder("obj_id",$dir); @@ -66,7 +78,7 @@ $r = $query->runSelect(); - // echo $query->getSelect(); + // echo $oldfilter.' | '.$newfilter.' |'.$query->getSelect(); $n = $r->numrows(); $obj->history_size = $n; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-24 12:19:10
|
Revision: 1107 http://sourceforge.net/p/tutos/code/1107 Author: gokohnert Date: 2013-07-24 12:19:08 +0000 (Wed, 24 Jul 2013) Log Message: ----------- extended search fix Modified Paths: -------------- trunk/php/address_select.php trunk/php/group/group_select.php trunk/php/rate/rate_select.php trunk/php/team_select.php Modified: trunk/php/address_select.php =================================================================== --- trunk/php/address_select.php 2013-07-24 12:18:09 UTC (rev 1106) +++ trunk/php/address_select.php 2013-07-24 12:19:08 UTC (rev 1107) @@ -37,31 +37,18 @@ $this->addHidden('ext',$this->ext); $r .= $this->headline($lang['SearchForAdr']); - $r .= "<tr>\n"; + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['AdrName']); - $r .= '<td><input type="text" value="'. $this->lookfor ."\" id=\"name\" name=\"name\"></td>\n"; - $r .= '<td><input type="submit" value="'. $lang['Search'] .'" title="'. $lang['SearchForAdr'] ."\"></td>\n"; - $r .= "</tr><tr>\n"; - $r .= ' <td colspan="3" align="right"><span style="text-align:right;" id="toggler">'. $lang['extended'] ."</span></td>\n"; + $r .= $this->showdata('<input type="text" value="'. $this->lookfor .'" id="name" name="name" />'); + $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" title="'. $lang['SearchForAdr'] .'" />'); + $r .= $this->ContentRowEnd(); + $this->help_popup('name',$lang['SearchForAdrHelp'],$lang['AdrName']); - $tutos['pagescript'] .= " -$( \"#toggler\" ).click(function() { - $(\".ext\").toggle(); - if ( $(\"#h_ext\").val() == 0 ) { - $(\"#h_ext\").val(1); - } else { - $(\"#h_ext\").val(0); - } - return; - }); -\n"; - if ( $this->ext == 0 ) { - $tutos['pagescript'] .= " - $(\".ext\").hide(); -\n"; - } - $r .= "</tr>\n"; + $r .= $this->ContentRowStart(); + $r .= $this->extend_select(); + $r .= $this->ContentRowEnd(); + $c['name'] = ''; $c['zip'] = ''; $c['city'] = ''; @@ -75,7 +62,7 @@ } } - $r .= "<tr class=\"ext\">\n"; + $r .= $this->ContentRowStart('ext'); $r .= " <td colspan=\"3\">\n"; $r .= ' <input type="checkbox" id="f1" value="name" name="ext_f[]"' .$c['name'] .'><label for="f1"> '. $lang['AdrLastName'] ." & ". $lang['AdrFirstName'] ."</label><br />\n"; $r .= ' <input type="checkbox" id="f7" value="zip" name="ext_f[]"' .$c['zip'] .'><label for="f7"> '. $lang['ZIP'] ."</label><br />\n"; @@ -86,7 +73,7 @@ $r .= ' <input type="checkbox" id="f6" value="desc" name="ext_f[]"' .$c['desc'] .'><label for="f6"> '. $lang['Description']."</label>\n"; $r .= " </td>\n"; - $r .= "</tr>\n"; + $r .= $this->ContentRowEnd(); $r .= $this->SelectTableEnd(); $r .= hiddenFormElements(); $r .= $this->getHidden(); @@ -97,13 +84,14 @@ $r .= $this->SelectTableStart(); $r .= $this->headline($lang['SearchLdapAdr']); - $r .= "<tr>\n"; + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['AdrName']); $r .= "<td><input type=\"text\" value=\"". $this->lookfor ."\" name=\"name\"> </td>\n"; $r .= "<td><input type=\"submit\" value=\"". $lang['Search'] ."\" title=\"". $lang['SearchLdapAdr'] ."\"></td>\n"; if ( count($tutos[ldapserver]) > 1 ) { - $r .= "</tr><tr>\n"; + $r .= $this->ContentRowEnd(); + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['LDAPServer']); $r .= "<td colspan=\"2\">\n"; $r .= "<select name=\"sv\">\n"; @@ -115,7 +103,7 @@ } else { $this->addHidden("sv","0"); } - $r .= "</tr>\n"; + $r .= $this->ContentRowEnd(); $r .= $this->SelectTableEnd(); $r .= hiddenFormElements(); $r .= $this->getHidden(); @@ -126,11 +114,11 @@ $r.= $this->SelectTableStart(); $r .= $this->headline($lang['SearchForCmp']); - $r .= "<tr>\n"; + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['Company']); $r .= '<td><input type="text" value="'. $this->lookfor ."\" name=\"name\"></td>\n"; $r .= '<td><input type="submit" value="'. $lang['Search'] ."\" title=\"". $lang['SearchForCmp']."\"></td>\n"; - $r .= "</tr>\n"; + $r .= $this->ContentRowEnd(); $r .= $this->SelectTableEnd(); $r .= hiddenFormElements(); $r .= $this->getHidden(); Modified: trunk/php/group/group_select.php =================================================================== --- trunk/php/group/group_select.php 2013-07-24 12:18:09 UTC (rev 1106) +++ trunk/php/group/group_select.php 2013-07-24 12:19:08 UTC (rev 1107) @@ -35,6 +35,8 @@ Function info() { global $lang,$tutos; + $x = get_custom_selectors('group'); + $this->width = 3; $r = ''; $r .= "<form id=\"groupsearch\" name=\"groupsearch\" method=\"get\" action=\"group_overview.php\">\n"; @@ -47,8 +49,22 @@ $r .= $this->showdata('<input id="name" type="text" value="" name="name" />'); $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" title="'. $lang['SearchForGroup'] .'" />'); $r .= $this->ContentRowEnd(); + + if ( count($x) > 0 ) { + $r .= $this->ContentRowStart(); + $r .= $this->extend_select(); + $r .= $this->ContentRowEnd(); + } + + // add custom selectors + foreach ($x as $s) { + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc($s[0]); + $r .= $this->showdata($s[1],2); + $r .= $this->ContentRowEnd(); + } + $r .= $this->SelectTableEnd(); - $r .= hiddenFormElements(); $r .= $this->getHidden(); $r .= "</form>\n"; @@ -69,6 +85,7 @@ Function prepare() { global $msg,$lang; + $this->layout_id = usegroups; $this->name = $lang['GroupSearch']; $this->center = true; $this->css_class = 'selectbox'; @@ -102,4 +119,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/rate/rate_select.php =================================================================== --- trunk/php/rate/rate_select.php 2013-07-24 12:18:09 UTC (rev 1106) +++ trunk/php/rate/rate_select.php 2013-07-24 12:19:08 UTC (rev 1107) @@ -110,6 +110,7 @@ Function prepare() { global $msg,$lang; + $this->layout_id = userates; $this->name = $lang['RateSearch']; $this->center = true; $this->css_class = 'selectbox'; @@ -156,4 +157,4 @@ <!-- SVN Info $Id$ $Author$ ---> +--> \ No newline at end of file Modified: trunk/php/team_select.php =================================================================== --- trunk/php/team_select.php 2013-07-24 12:18:09 UTC (rev 1106) +++ trunk/php/team_select.php 2013-07-24 12:19:08 UTC (rev 1107) @@ -33,19 +33,34 @@ Function info() { global $lang,$tutos; + $x = get_custom_selectors('team'); + $this->width = 3; $r = ''; $r .= "<form id=\"teamsearch\" name=\"teamsearch\" method=\"get\" action=\"team_overview.php\">\n"; $r .= $this->SelectTableStart(); $r .= $this->headline($lang['SearchForTeam']); - $r .= "<tr>\n"; + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['TeamName']); - $r .= " <td align=\"center\"> <input id=\"name\" type=\"text\" value=\"\" name=\"name\" /></td>\n"; - $r .= " <td align=\"center\">\n"; - $r .= " <input type=\"submit\" value=\"". $lang['Search'] ."\" /></td>\n"; - $r .= "</tr>\n"; + $r .= $this->showdata('<input id="name" type="text" value="" name="name" />',1); + $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" title="'.$lang['SearchForTeam'].'" />',1); + $r .= $this->ContentRowEnd(); + if ( count($x) > 0 ) { + $r .= $this->ContentRowStart(); + $r .= $this->extend_select(); + $r .= $this->ContentRowEnd(); + } + + // add custom selectors + foreach ($x as $s) { + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc($s[0]); + $r .= $this->showdata($s[1],2); + $r .= $this->ContentRowEnd(); + } + $r .= $this->SelectTableEnd(); $r .= hiddenFormElements(); $r .= $this->getHidden(); @@ -70,6 +85,12 @@ $this->center = true; $this->css_class = 'selectbox'; + if ( ! isset($_GET['ext']) ) { + $this->ext = 0; + } else { + $this->ext = $_GET['ext']; + } + if ( ! $this->user->feature_ok(useteams,PERM_SEL) ) { $msg = addLine($msg,sprintf($lang['Err0022'],"'". $this->name ."'")); $this->stop = true; @@ -93,4 +114,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. |
From: <gok...@us...> - 2013-07-24 12:18:12
|
Revision: 1106 http://sourceforge.net/p/tutos/code/1106 Author: gokohnert Date: 2013-07-24 12:18:09 +0000 (Wed, 24 Jul 2013) Log Message: ----------- preview fix ? Modified Paths: -------------- trunk/php/file/file.pinc Modified: trunk/php/file/file.pinc =================================================================== --- trunk/php/file/file.pinc 2013-07-24 12:16:47 UTC (rev 1105) +++ trunk/php/file/file.pinc 2013-07-24 12:18:09 UTC (rev 1106) @@ -821,7 +821,9 @@ $info .= '</div>'; } else { $info .= '<div class="txt_preview pre">'; - $info .= myentities(file_get_contents($fname,false,null,-1,100)); + # $info .= myentities(file_get_contents($fname,false,null,-1,100)); + $x = file_get_contents($fname,false,null,-1,100); + $info.= htmlentities(mb_substr($x,0,100)); if ($this->filesize > 100) { $info .= '<br />......'; } @@ -847,8 +849,8 @@ Header("Content-Description: ". $this->name ); if ( $this->filetype == 'text/plain' || $this->filetype == 'text/x-log' - || $this->filetype == 'text/html' - ) { + || $this->filetype == 'text/html' + ) { Header("Content-type: ". $this->filetype); Header("Content-Disposition: inline; filename=\"". $this->filename ."\""); $this->myreadfile ($fname); @@ -1002,9 +1004,9 @@ $r .= $a->getasText($lang)."\r\n"; } return $r; - } else if ( preg_match("#\.ini$#i",$this->filename) - || preg_match("#\.txt$#i",$this->filename) - || preg_match("#\.log$#i",$this->filename) + } else if ( preg_match("#\.ini$#i",$this->filename) + || preg_match("#\.txt$#i",$this->filename) + || preg_match("#\.log$#i",$this->filename) ) { Header("Content-type: text/plain"); Header("Content-Disposition: inline; filename=\"". $this->filename ."\""); @@ -1862,4 +1864,4 @@ } } -?> +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-24 12:16:52
|
Revision: 1105 http://sourceforge.net/p/tutos/code/1105 Author: gokohnert Date: 2013-07-24 12:16:47 +0000 (Wed, 24 Jul 2013) Log Message: ----------- more search possibilities in history Modified Paths: -------------- trunk/php/base.pinc trunk/php/db/db.pinc trunk/php/history_select.php trunk/php/history_show.php Modified: trunk/php/base.pinc =================================================================== --- trunk/php/base.pinc 2013-07-22 06:12:11 UTC (rev 1104) +++ trunk/php/base.pinc 2013-07-24 12:16:47 UTC (rev 1105) @@ -344,11 +344,11 @@ /** * Return Info about history of this object */ - function readHistory($adr_id,$sort,$dir,$start,$from = null, $to = null) { + function readHistory($adr_id,$sort,$dir,$start,$from = null, $to = null, $oldfilter = '', $newfilter = '', $fieldfilter = '') { if ( count($this->history) > 0 ) { return; } - readHistory($this,$adr_id,$sort,$dir,$start,$from,$to); + readHistory($this,$adr_id,$sort,$dir,$start,$from,$to,$oldfilter,$newfilter,$fieldfilter); return; } Modified: trunk/php/db/db.pinc =================================================================== --- trunk/php/db/db.pinc 2013-07-22 06:12:11 UTC (rev 1104) +++ trunk/php/db/db.pinc 2013-07-24 12:16:47 UTC (rev 1105) @@ -601,7 +601,12 @@ $wc = ''; $fld = $this->dbconn->colname($fld); if ( $type == 'STRING' ) { - $wc = $cmp. $this->dbconn->String($val); + if ($cmp == 'LIKE') { + $wc = $this->dbconn->Like($fld,$val); + $fld = 0; + } else { + $wc = $cmp. $this->dbconn->String($val); + } } else if ( $type == 'PASSWORD' ) { $wc = $cmp. $this->dbconn->Password($val); } else if ( $type == 'DATETIME' ) { @@ -724,7 +729,11 @@ $pre = ' WHERE '; foreach ($this->wc as $i => $f) { foreach ($f as $ff) { - $q .= $pre .'('. $i . $ff .')'; + if ($i != 0) { + $q .= $pre .'('. $i . $ff .')'; + } else { + $q .= $pre .'('. $ff .')'; + } $pre = ' AND '; } } Modified: trunk/php/history_select.php =================================================================== --- trunk/php/history_select.php 2013-07-22 06:12:11 UTC (rev 1104) +++ trunk/php/history_select.php 2013-07-24 12:16:47 UTC (rev 1105) @@ -35,46 +35,38 @@ $r .= '<form id="hsearch" name="hsearch" action="history_show.php" method="get">'."\n"; $r.= $this->SelectTableStart(); $this->addHidden("ext",0); - $r .= $this->headline($lang['History']); + $r .= $this->headline($lang['ObjHistory']); - $r .= "<tr>\n"; + $r .= $this->ContentRowStart(); $r .= $this->showfieldc($lang['AdrName'],0,'name'); - $r .= " <td><input id=\"name\" type=\"text\" value=\"\" name=\"name\" /></td>\n"; - $r .= ' <td><input type="submit" value="'. $lang['Search'] .'" title="'.$lang['SearchForApp']."\" /></td>\n"; + $r .= $this->showdata('<input id="name" type="text" value="" name="name" />'); + $r .= $this->showdata('<input type="submit" value="'. $lang['Search'] .'" title="'.$lang['Search'].'" />'); + $r .= $this->ContentRowEnd(); - $r .= "</tr><tr>\n"; - $r .= ' <td colspan="3" align="right"><span style="text-align:right;" id="toggler">'. $lang['extended'] ."</span></td>\n"; - $tutos['pagescript'] .= " -$( \"#toggler\" ).click(function() { - $(\".ext\").toggle(); - if ( $(\"#h_ext\").val() == 0 ) { - $(\"#h_ext\").val(1); - } else { - $(\"#h_ext\").val(0); - } - return; - }); -\n"; - if ( $this->ext == 0 ) { - $tutos['pagescript'] .= " - $(\".ext\").hide(); -\n"; - } + $r .= $this->ContentRowStart(); + $r .= $this->extend_select(); + $r .= $this->ContentRowEnd(); - $r .= "</tr><tr class=\"ext\">\n"; - $r .= ' <td rowspan="2" class="desc">'. $lang['TaskBetween'] ."</td>\n"; - $r .= ' <td colspan="2">'; - $r .= $this->hsfd->EnterDate("f",1); - $r .= "</td>\n"; + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc($lang['TaskBetween']); + $r .= $this->showdata($this->hsfd->EnterDate("f",1).'<br />'.$this->hstd->EnterDate("t",1)); + $r .= $this->ContentRowEnd(); - $r .= "</tr><tr class=\"ext\">\n"; - $r .= ' <td colspan="2">'; - $r .= $this->hstd->EnterDate("t",1); - $r .= "</td>\n"; + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc(sprintf($lang['User'],''),0,"adr_"); + $r .= $this->showdata(select_from_array_or_input($this,"adr_",null,1,'a'),2); + $r .= $this->ContentRowEnd(); - $r .= "</tr><tr class=\"ext\">\n"; - $r .= "</tr>\n"; + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc(sprintf($lang['HistoryOldV'],''),0,"old"); + $r .= $this->showdata('<input name="old" value="" />',2); + $r .= $this->ContentRowEnd(); + $r .= $this->ContentRowStart('ext'); + $r .= $this->showfieldc(sprintf($lang['HistoryNewV'],''),0,"new"); + $r .= $this->showdata('<input name="new" value="" />',2); + $r .= $this->ContentRowEnd(); + $r.= $this->SelectTableEnd(); $r .= hiddenFormElements(); $r .= $this->getHidden(); @@ -96,7 +88,7 @@ global $msg,$lang; $this->layout_id = usehistory; - $this->name = $lang['History']; + $this->name = $lang['ObjHistory']; $this->center = true; $this->css_class = 'selectbox'; @@ -129,4 +121,4 @@ <!-- SVN Info $Id: app_select.php 564 2012-03-28 20:38:20Z gokohnert $ $Author: gokohnert $ ---> +--> \ No newline at end of file Modified: trunk/php/history_show.php =================================================================== --- trunk/php/history_show.php 2013-07-22 06:12:11 UTC (rev 1104) +++ trunk/php/history_show.php 2013-07-24 12:16:47 UTC (rev 1105) @@ -50,6 +50,7 @@ if ( $this->adr_id != -1 ) { $cols--; } + $r .= $this->header; $r .= $this->OverviewTableStart(); $r .= $this->OverviewHeadStart(); $r .= $this->OverviewHeadLineStart(); @@ -69,9 +70,6 @@ $this->xobj->init($this->user->dbconn); $this->xobj->id = $this->id; } - if ( $this->adr_id != -1 && is_object($this->adr)) { - $r .= " by ". $this->adr->getFullName(); - } $r .= " </th>\n"; $r .= $this->OverviewHeadLineEnd(); @@ -92,7 +90,7 @@ $r .= $this->OverviewBodyStart(); $line = 0; - $this->xobj->readHistory($this->adr_id,$this->order_fld,$this->order_dir,$this->start,$this->from,$this->to); + $this->xobj->readHistory($this->adr_id,$this->order_fld,$this->order_dir,$this->start,$this->from,$this->to,$this->oldfilter,$this->newfilter); $n = $this->xobj->history_size; if ( $n == 0 ) { $r .= $this->error ( $lang['Err0048'] ); @@ -240,12 +238,16 @@ global $tutos,$msg,$lang; $this->link1 = "history_show.php"; - $this->obj = -1; - $this->adr = -1; - $this->id = -1; - $this->adr_id = -1; - $this->from = null; - $this->to = null; + $this->obj = -1; + $this->adr = -1; + $this->id = -1; + $this->adr_id = -1; + $this->from = null; + $this->to = null; + $this->oldfilter = ''; + $this->newfilter = ''; + $this->header = ''; + $this->hpre = ''; $name = $lang['AppEverything']; @@ -267,7 +269,7 @@ $this->id = $this->obj->id; $name = $lang[$this->obj->getType()]; } else { - $name = " (". $lang['HistoryDeleted'] ." ". $this->id .")"; + $name = ' ('. $lang['HistoryDeleted'] .' '. $this->id .')'; } $arg++; } @@ -285,6 +287,10 @@ } $arg++; } + if ( $this->adr_id != -1 && is_object($this->adr)) { + $this->header .= $this->hpre.$lang['User'] .' = '. $this->adr->getFullName(); + $this->hpre = '<br />'; + } if ($arg == 0) { $this->id = -1; @@ -302,14 +308,30 @@ $this->link1 = addUrlParameter($this->link1,"maxshow=".$_GET['maxshow']); } + if ( isset($_GET['old']) && $_GET['old'] != '') { + $this->oldfilter = $_GET['old']; + $this->link1 = addUrlParameter($this->link1,"old=".$this->oldfilter); + $this->header .= $this->hpre.$lang['HistoryOldV'] .' = '. $this->oldfilter; + $this->hpre = '<br />'; + } + if ( isset($_GET['new']) && $_GET['new'] != '') { + $this->newfilter = $_GET['new']; + $this->link1 = addUrlParameter($this->link1,"new=".$this->newfilter); + $this->header .= $this->hpre.$lang['HistoryNewV'] .' = '. $this->newfilter; + $this->hpre = '<br />'; + } + $this->from = new TUTOS_Date_Time(0); if ( isset($_GET['fd']) ) { $this->from->setDateTime($_GET['fd']); } else { $this->from->setDateTimeF('f'); } - if (!$this->from->notime) + if (!$this->from->notime) { $this->link1 = addUrlParameter($this->link1,"fd=".$this->from->getYYYYMMDD()); + $this->header .= $this->hpre.$lang['DateTimeFrom'] .' = '. $this->from->getDate(); + $this->hpre = '<br />'; + } $this->to = new TUTOS_Date_Time(0); if ( isset($_GET['td']) ) { @@ -317,8 +339,11 @@ } else { $this->to->setDateTimeF('t'); } - if (!$this->to->notime) + if (!$this->to->notime) { $this->link1 = addUrlParameter($this->link1,"td=".$this->to->getYYYYMMDD()); + $this->header .= $this->hpre.$lang['DateTimeTill'] .' = '. $this->to->getDate(); + $this->hpre = '<br />'; + } $this->link2 = $this->link1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-22 06:12:15
|
Revision: 1104 http://sourceforge.net/p/tutos/code/1104 Author: gokohnert Date: 2013-07-22 06:12:11 +0000 (Mon, 22 Jul 2013) Log Message: ----------- more info / updated Modified Paths: -------------- trunk/php/admin_show.php Modified: trunk/php/admin_show.php =================================================================== --- trunk/php/admin_show.php 2013-07-22 06:11:33 UTC (rev 1103) +++ trunk/php/admin_show.php 2013-07-22 06:12:11 UTC (rev 1104) @@ -790,18 +790,18 @@ global $msg,$lang,$tutos,$info; if ( $_GET['action'] == "kill" ) { + if ( ! $this->user->isAdmin() ) { + $msg = addLine($msg,"Session for ". $data['username'] ." NOT killed. Only superusers are allowed to kill sessions"); + return; + } if (ini_get('session.save_handler') == 'memcache') { $id = $_GET['mark']; $data = unserialize_session($tutos['memcache']->get($id)); if (!isset($data['username'])) { return; } - if ( ! $this->user->isAdmin() ) { - $msg = addLine($msg,"Session for ". $data['username'] ." NOT killed. Only superusers are allowed to kill sessions"); - } else { - $info = addLine($info,"Session for ". $data['username'] ." killed"); - $tutos['memcache']->delete($id); - } + $info = addLine($info,"Session for ". $data['username'] ." killed"); + $tutos['memcache']->delete($id); } else if (ini_get('session.save_handler') == 'files') { $file = $_GET['mark']; if ( ! preg_match("#^sess_#", $file) ) { @@ -825,12 +825,8 @@ if (!isset($data['username'])) { return; } - if ( ! $this->user->isAdmin() ) { - $msg = addLine($msg,"Session for ". $data['username'] ." NOT killed. Only superusers are allowed to kill sessions"); - } else { - $info = addLine($info,"Session for ". $data['username'] ." killed"); - unlink($filename); - } + $info = addLine($info,"Session for ". $data['username'] ." killed"); + unlink($filename); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-22 06:11:38
|
Revision: 1103 http://sourceforge.net/p/tutos/code/1103 Author: gokohnert Date: 2013-07-22 06:11:33 +0000 (Mon, 22 Jul 2013) Log Message: ----------- more info Modified Paths: -------------- trunk/php/module_overview.php Modified: trunk/php/module_overview.php =================================================================== --- trunk/php/module_overview.php 2013-07-19 15:09:10 UTC (rev 1102) +++ trunk/php/module_overview.php 2013-07-22 06:11:33 UTC (rev 1103) @@ -1,6 +1,6 @@ <?php /** - * Copyright 2004 - 2012 by Gero Kohnert + * Copyright 2004 - 2013 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 @@ -10,6 +10,8 @@ * @module module_overview * @package BASE */ +$tutos['files'][__FILE__] = '$Rev$'; + require_once 'webelements.p3'; require_once 'permission.p3'; require_once 'db/table.pinc'; @@ -28,8 +30,8 @@ $errstr = ""; $r = array(); $url = parse_url($u); -# var_dump($url); -# var_dump($u); + # var_dump($url); + # var_dump($u); if (!isset($tutos['proxy_host']) || empty($tutos['proxy_host']) ) { $fp = fsockopen($url['host'], "80", $errno, $errstr, $timeout); } else { @@ -42,6 +44,7 @@ "Host: " . $url['host'] . "\r\n". "User-Agent: TUTOS@".$_SERVER['SERVER_NAME']."\r\n". "Connection: close\r\n". + "Referer: http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."\r\n". "Cache-Control: no-cache\r\n". "Pragma: no-cache\r\n". "\r\n"); @@ -52,6 +55,7 @@ "Connection: close\r\n". "Proxy-Connection: close\r\n". "Accept-Encoding: deflate\r\n". + "Referer: http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."\r\n". "Cache-Control: no-cache\r\n". "Pragma: no-cache\r\n". "\r\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-19 15:09:13
|
Revision: 1102 http://sourceforge.net/p/tutos/code/1102 Author: gokohnert Date: 2013-07-19 15:09:10 +0000 (Fri, 19 Jul 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/webelements.p3 Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-07-18 15:53:37 UTC (rev 1101) +++ trunk/php/webelements.p3 2013-07-19 15:09:10 UTC (rev 1102) @@ -297,7 +297,7 @@ } else if ( "en-ca" == $tok ) { include $path ."/en.p3"; } else if ( "de-ch" == $tok ) { - include $path ."/de-ch.p3"; + include $path ."/de.p3"; } include $path ."/". $tok. ".p3"; ReadCustomLang($lang,$tok,$path); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-18 15:53:39
|
Revision: 1101 http://sourceforge.net/p/tutos/code/1101 Author: gokohnert Date: 2013-07-18 15:53:37 +0000 (Thu, 18 Jul 2013) Log Message: ----------- swiss fix ? Modified Paths: -------------- trunk/php/localization/de-ch.p3 trunk/php/localization/en-ca.p3 trunk/php/localization/en-us.p3 Property Changed: ---------------- trunk/php/localization/de-ch.p3 trunk/php/localization/en-ca.p3 Modified: trunk/php/localization/de-ch.p3 =================================================================== --- trunk/php/localization/de-ch.p3 2013-07-18 15:50:17 UTC (rev 1100) +++ trunk/php/localization/de-ch.p3 2013-07-18 15:53:37 UTC (rev 1101) @@ -1,5 +1,5 @@ <?php -// $Id: en-us.p3 11 2011-02-13 14:05:50Z gokohnert $ +// $Id$ // setlocale(LC_TIME,'de_CH'); Property changes on: trunk/php/localization/de-ch.p3 ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id Author Rev \ No newline at end of property Modified: trunk/php/localization/en-ca.p3 =================================================================== --- trunk/php/localization/en-ca.p3 2013-07-18 15:50:17 UTC (rev 1100) +++ trunk/php/localization/en-ca.p3 2013-07-18 15:53:37 UTC (rev 1101) @@ -1,5 +1,5 @@ <?php -# $Id: en-us.p3 11 2011-02-13 14:05:50Z gokohnert $ +# $Id$ # # contributed by Harold Smorodin <shws at pobox.com> # Property changes on: trunk/php/localization/en-ca.p3 ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id Author Rev \ No newline at end of property Modified: trunk/php/localization/en-us.p3 =================================================================== --- trunk/php/localization/en-us.p3 2013-07-18 15:50:17 UTC (rev 1100) +++ trunk/php/localization/en-us.p3 2013-07-18 15:53:37 UTC (rev 1101) @@ -23,4 +23,4 @@ ### Local Variables: *** ### End: *** -?> +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-18 15:50:20
|
Revision: 1100 http://sourceforge.net/p/tutos/code/1100 Author: gokohnert Date: 2013-07-18 15:50:17 +0000 (Thu, 18 Jul 2013) Log Message: ----------- fix for swiss ? Modified Paths: -------------- trunk/php/webelements.p3 Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-07-03 15:48:56 UTC (rev 1099) +++ trunk/php/webelements.p3 2013-07-18 15:50:17 UTC (rev 1100) @@ -296,6 +296,8 @@ include $path ."/en.p3"; } else if ( "en-ca" == $tok ) { include $path ."/en.p3"; + } else if ( "de-ch" == $tok ) { + include $path ."/de-ch.p3"; } include $path ."/". $tok. ".p3"; ReadCustomLang($lang,$tok,$path); @@ -303,11 +305,6 @@ } if ( preg_match("#^en#", $tok ) && file_exists(getcwd()."/".$path ."/en.p3") ) { include $path ."/en.p3"; - if ( preg_match("#^en-us#", $tok ) && file_exists(getcwd()."/".$path ."/en-us.p3") ) { - include $path ."/en-us.p3"; - } else if ( preg_match("#^en-ca#", $tok ) && file_exists(getcwd()."/".$path ."/en-ca.p3") ) { - include $path ."/en-ca.p3"; - } ReadCustomLang($lang,"en",$path); return ReadLangFinish($lang,$tok); } @@ -3698,4 +3695,4 @@ return join("\n",$out); } -?> +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-03 15:48:59
|
Revision: 1099 http://sourceforge.net/p/tutos/code/1099 Author: gokohnert Date: 2013-07-03 15:48:56 +0000 (Wed, 03 Jul 2013) Log Message: ----------- update erge to preg Modified Paths: -------------- trunk/php/sms/sms_new.php Modified: trunk/php/sms/sms_new.php =================================================================== --- trunk/php/sms/sms_new.php 2013-07-03 10:40:26 UTC (rev 1098) +++ trunk/php/sms/sms_new.php 2013-07-03 15:48:56 UTC (rev 1099) @@ -38,7 +38,7 @@ $r .= "<tr>\n"; $r .= $this->showfieldc("Nr",1); $r .= " <td>\n"; - $nr = eregi_replace("^00","+",$this->v.$this->p); + $nr = preg_replace("#^00#im","+",$this->v.$this->p); $r .= " <input name=\"number\" value=\"". $nr ."\">\n"; $r .= " </td>\n"; $r .= "</tr>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-03 10:40:30
|
Revision: 1098 http://sourceforge.net/p/tutos/code/1098 Author: gokohnert Date: 2013-07-03 10:40:26 +0000 (Wed, 03 Jul 2013) Log Message: ----------- more check Modified Paths: -------------- trunk/php/custom.pinc Modified: trunk/php/custom.pinc =================================================================== --- trunk/php/custom.pinc 2013-07-03 06:13:20 UTC (rev 1097) +++ trunk/php/custom.pinc 2013-07-03 10:40:26 UTC (rev 1098) @@ -250,7 +250,7 @@ if (is_object($this->content)) { $n = $this->content->getFullName(); - if (is_object($this->layout)) { + if (is_object($this->layout) && isset($this->x[name])) { $n = $this->layout->mark_filter(myentities($n),'_fld_'.$this->x[name]); } $n = $this->content->getLink($n); @@ -372,7 +372,7 @@ $r .= $lang[$o->getType()].' '; } $dd = $o->getFullName(); - if (is_object($this->layout)) { + if (is_object($this->layout) && isset($this->x[name])) { $dd = $this->layout->mark_filter(myentities($dd),'_fld_'.$this->x[name]); } $r .= $o->getLink($dd); @@ -567,7 +567,7 @@ */ function get() { $n = myentities($this->content); - if (is_object($this->layout)) { + if (is_object($this->layout) && isset($this->x[name])) { $n = $this->layout->mark_filter($n,'_fld_'.$this->x[name]); } return $n; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-03 06:13:23
|
Revision: 1097 http://sourceforge.net/p/tutos/code/1097 Author: gokohnert Date: 2013-07-03 06:13:20 +0000 (Wed, 03 Jul 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/custom.pinc Modified: trunk/php/custom.pinc =================================================================== --- trunk/php/custom.pinc 2013-07-03 06:06:47 UTC (rev 1096) +++ trunk/php/custom.pinc 2013-07-03 06:13:20 UTC (rev 1097) @@ -249,10 +249,11 @@ global $lang; if (is_object($this->content)) { - $n = $this->content->getLink(); + $n = $this->content->getFullName(); if (is_object($this->layout)) { $n = $this->layout->mark_filter(myentities($n),'_fld_'.$this->x[name]); } + $n = $this->content->getLink($n); if ($this->x['otype'] == 'R' && isset($this->obj->search_id)) { $p = getObject($this->obj->dbconn,$this->obj->search_id); $p->readroles(); @@ -1908,4 +1909,4 @@ return $r; } -?> \ No newline at end of file +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-03 06:06:55
|
Revision: 1096 http://sourceforge.net/p/tutos/code/1096 Author: gokohnert Date: 2013-07-03 06:06:47 +0000 (Wed, 03 Jul 2013) Log Message: ----------- better custom object handling Modified Paths: -------------- trunk/php/address.pinc trunk/php/custom.pinc Modified: trunk/php/address.pinc =================================================================== --- trunk/php/address.pinc 2013-07-02 17:30:44 UTC (rev 1095) +++ trunk/php/address.pinc 2013-07-03 06:06:47 UTC (rev 1096) @@ -271,7 +271,7 @@ /** * Returns HTML for popup infos */ - function getPopInfo() { + function getPopInfo($layout = null) { global $lang; $fn =myentities($this->getFullName()); @@ -313,7 +313,7 @@ $info .= $phone; $info .= ' </td></tr>'; } - $info .= $this->custom_popup_content(); + $info .= $this->custom_popup_content($layout); $info .= '</table>'; return $info; } Modified: trunk/php/custom.pinc =================================================================== --- trunk/php/custom.pinc 2013-07-02 17:30:44 UTC (rev 1095) +++ trunk/php/custom.pinc 2013-07-03 06:06:47 UTC (rev 1096) @@ -250,6 +250,9 @@ if (is_object($this->content)) { $n = $this->content->getLink(); + if (is_object($this->layout)) { + $n = $this->layout->mark_filter(myentities($n),'_fld_'.$this->x[name]); + } if ($this->x['otype'] == 'R' && isset($this->obj->search_id)) { $p = getObject($this->obj->dbconn,$this->obj->search_id); $p->readroles(); @@ -367,7 +370,11 @@ if ($this->showtype) { $r .= $lang[$o->getType()].' '; } - $r .= $o->getLink(); + $dd = $o->getFullName(); + if (is_object($this->layout)) { + $dd = $this->layout->mark_filter(myentities($dd),'_fld_'.$this->x[name]); + } + $r .= $o->getLink($dd); } } else { $r .= $pre.'#'.$i; @@ -404,7 +411,7 @@ if (count($this->obj->relations[$rid]) > 0) foreach ($this->obj->relations[$rid] as $i => $o) { if (!isset($xx[$i])) { - # echo $i.' |'.$o->id.'| '.$o.'|<br>'; + // echo $i.' |'.$o->id.'| '.$o.'|<br>'; $o = getObject($this->obj->dbconn,$i); if(is_object($o)) $xx[$i] = $o; @@ -558,7 +565,11 @@ * get the content */ function get() { - return myentities($this->content); + $n = myentities($this->content); + if (is_object($this->layout)) { + $n = $this->layout->mark_filter($n,'_fld_'.$this->x[name]); + } + return $n; } /** @@ -1096,13 +1107,16 @@ * obj = something as described in $x * base = a related object owning the field */ -function get_custom_field(array $x,$obj,tutos_base $base) { +function get_custom_field(array $x,$obj,tutos_base $base,$ly = null) { global $lang; $f = get_fld_obj($base,$x); if (is_object($f)) { $f->set_content($obj); + if ($ly != null) { + $f->set_layout($ly); + } return $f->get(); } return 'unknown fieldtype'.$x['ftype'].' '.$x[type]; @@ -1145,7 +1159,6 @@ if (!$tx['custom']) continue; if (!isset($x['required'])) $x['required'] = false; if (!isset($x['showtype'])) $x['showtype'] = false; - $parsename = $section ."_". $ti; // Text $x[0] = myentities(getLang($tx['lang'])); @@ -1421,8 +1434,9 @@ $x .= $pre.'id = '.$table['objrel'][name].'.obj_id'; $x .= ' AND '.$table['objrel'][name].'.rel_id = '. $_REQUEST[$parsename.'id']; $x .= ' AND '.$table['objrel'][name].'.type_id = '. $tx['rel_id']; - $r[] = array($x,$l .' = '. $_REQUEST[$parsename.'id']); - $layout->filter['_fld_'.$ti] = $_REQUEST[$parsename.'id']; + $xx = getObject($current_user->dbconn,$_REQUEST[$parsename.'id']); + $r[] = array($x,$l .' = '. $xx->getLink()); + $layout->filter['_fld_'.$ti] = $xx->getFullName(); $link = addUrlParameter($link,$parsename.'id='.$_REQUEST[$parsename.'id']); $t[] = $table['objrel'][name]; } else { @@ -1442,7 +1456,7 @@ } $x .= ')'; - $r[] = array($x,$l .' = '. $_REQUEST[$parsename.'fn']); + $r[] = array($x,$l .' = '. myentities($_REQUEST[$parsename.'fn'])); $layout->filter['_fld_'.$ti] = $_REQUEST[$parsename.'fn']; $link = addUrlParameter($link,$parsename.'fn='.$_REQUEST[$parsename.'fn']); $t[] = $table['objrel'][name]; @@ -1583,6 +1597,7 @@ if (isset($tx['overview']) && ($tx['overview'] == false) ) continue; if (!isset($tx['ftype'])) $tx['ftype'] = ''; + $tx[name] = $ti; $r[$ti] = &$tx; unset($tx); @@ -1620,17 +1635,17 @@ $r =''; foreach(get_custom_overview_fields($layout,$section) as $ti => $tx) { $f = '_fld_'.$ti; - $d = get_custom_field($tx,$obj->$f,$obj); + $d = get_custom_field($tx,$obj->$f,$obj,$layout); if ( isset($layout->filter[$f]) && $layout->filter[$f] != "" ) { if (is_object($obj->$f) && method_exists($obj->$f,'getFullName')) { $d = $layout->mark_filter(myentities($obj->$f->getFullName()),$f); $d = $obj->$f->getLink($d); } else { - $dd = myentities($d); + $dd = $d; if ($tx['handler'] != '') { $d = handle($tx['handler'],$obj,$dd).' '; } else { - $d = $layout->mark_filter($dd,$f); + // $d = $layout->mark_filter($dd,$f); } } } @@ -1675,7 +1690,7 @@ $fld = '_fld_'.$i; - $data = get_custom_field($x,$obj->$fld,$obj); + $data = get_custom_field($x,$obj->$fld,$obj,$layout); if ($data == '' && $x['hideempty']) continue; @@ -1844,7 +1859,7 @@ /** * additional lines in a poopup */ -function custom_popup_content(tutos_base $obj) { +function custom_popup_content(tutos_base $obj,$layout = null) { global $table,$lang; $r = ''; @@ -1860,7 +1875,7 @@ if (!$x['popup']) continue; $fld = "_fld_".$i; - $d = get_custom_field($x,$obj->$fld,$obj); + $d = get_custom_field($x,$obj->$fld,$obj,$layout); if ($d != '') { $d = str_replace("\n","<br />",$d); $d = str_replace("\r","",$d); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-02 17:30:47
|
Revision: 1095 http://sourceforge.net/p/tutos/code/1095 Author: gokohnert Date: 2013-07-02 17:30:44 +0000 (Tue, 02 Jul 2013) Log Message: ----------- fix Modified Paths: -------------- trunk/php/base.pinc Modified: trunk/php/base.pinc =================================================================== --- trunk/php/base.pinc 2013-07-02 11:47:21 UTC (rev 1094) +++ trunk/php/base.pinc 2013-07-02 17:30:44 UTC (rev 1095) @@ -301,13 +301,13 @@ $fail = false; $this->relations = $this->cache_get('_r'.$this->id); $this->back_relations = $this->cache_get('_br'.$this->id); - if (!is_array($this->relations) || !is_array($this->back_relations)) { + if (is_array($this->relations) || is_array($this->back_relations)) { $fail = true; } if (!$fail) { - $this->relations = apc_fetch($memid1); - $this->back_relations = apc_fetch($memid2); + $this->relations = array(); + $this->back_relations = array(); if ($this->dbconn->prep) { $this->dbconn->addPStatement('SELECT * from '.$this->dbconn->prefix.$this->tablename_rel.' WHERE obj_id = $1 or rel_id = $2','BASEREL'); $rr = $this->dbconn->execPStatement('BASEREL',1,$this->id,$this->id); @@ -1689,8 +1689,8 @@ /** * return custom popup content */ - function custom_popup_content() { - return custom_popup_content($this); + function custom_popup_content($layout = null) { + return custom_popup_content($this,$layout); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-07-02 11:47:27
|
Revision: 1094 http://sourceforge.net/p/tutos/code/1094 Author: gokohnert Date: 2013-07-02 11:47:21 +0000 (Tue, 02 Jul 2013) Log Message: ----------- varchar custom field / forbid scripting Modified Paths: -------------- trunk/php/custom.pinc trunk/php/webelements.p3 Modified: trunk/php/custom.pinc =================================================================== --- trunk/php/custom.pinc 2013-06-28 15:46:26 UTC (rev 1093) +++ trunk/php/custom.pinc 2013-07-02 11:47:21 UTC (rev 1094) @@ -558,7 +558,7 @@ * get the content */ function get() { - return $this->content; + return myentities($this->content); } /** @@ -950,7 +950,7 @@ global $lang; if ($this->x['hideempty'] && (trim($this->content) == '') ) return ''; - return trim($this->content,','); + return myentities(trim($this->content,',')); } /** @@ -976,11 +976,11 @@ $r .= '<select id="'.$pn.'_l" name="'.$pn.'_l[]" multiple="multiple">'."\n"; foreach ($xx as $m) { if ($m == '') continue; - $r .= '<option value="'.$m.'"'; + $r .= '<option value="'.myentities($m).'"'; if (in_array($m,$xo)) { $r .= ' selected="selected"'; } - $r .= '>'.$m.'</option>'."\n"; + $r .= '>'.myentities($m).'</option>'."\n"; } $r .= '</select>'."\n"; } Modified: trunk/php/webelements.p3 =================================================================== --- trunk/php/webelements.p3 2013-06-28 15:46:26 UTC (rev 1093) +++ trunk/php/webelements.p3 2013-07-02 11:47:21 UTC (rev 1094) @@ -1585,7 +1585,7 @@ $n += $cnt; unset($sobj); } - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang['ProdRoles'],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang['ProdRoles'],myentities($name))); continue; } if ($c == 'T') { @@ -1598,7 +1598,7 @@ $cnt = $sobj->search_subteams_by_name($res,$obj,$name); $n += $cnt; } - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$sobj->getFullName().':'.$lang['ProdRoles'],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$sobj->getFullName().':'.$lang['ProdRoles'],myentities($name))); unset($sobj); continue; } @@ -1612,7 +1612,7 @@ $cnt = $sobj->search_roles_by_name($res,$obj,$name); $n += $cnt; } - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$sobj->getFullName().':'.$lang['ProdRoles'],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$sobj->getFullName().':'.$lang['ProdRoles'],myentities($name))); unset($sobj); continue; } @@ -1624,7 +1624,7 @@ $cnt += department::search_by_name($res,$current_user,$name.' / ',1); } if ($cnt == 0) { - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang['department'],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang['department'],myentities($name))); } } else { if (!isset($tutos['classes'][$c])) { @@ -1639,9 +1639,9 @@ if ($cnt == 0) { // may be customized per object type if (isset($lang['Err0012-'.$c])) { - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012-'.$c],$lang[$x->getType()],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012-'.$c],$lang[$x->getType()],myentities($name))); } else { - $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang[$x->getType()],$name)); + $nullmsg = addLine($nullmsg,sprintf($lang['Err0012'],$lang[$x->getType()],myentities($name))); } } } @@ -1680,7 +1680,7 @@ if (is_object($a)) { if (! $a->see_ok()) { - $msg = addLine($msg,sprintf($lang['Err0012'],$lang[$a->getType()],$name)); + $msg = addLine($msg,sprintf($lang['Err0012'],$lang[$a->getType()],myenities($name))); return 0; } if (! $a->use_ok()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gok...@us...> - 2013-06-28 15:46:28
|
Revision: 1093 http://sourceforge.net/p/tutos/code/1093 Author: gokohnert Date: 2013-06-28 15:46:26 +0000 (Fri, 28 Jun 2013) Log Message: ----------- update Modified Paths: -------------- trunk/index.html trunk/php/fax/README trunk/php/stuff/stuff_show.php Modified: trunk/index.html =================================================================== --- trunk/index.html 2013-06-20 11:46:29 UTC (rev 1092) +++ trunk/index.html 2013-06-28 15:46:26 UTC (rev 1093) @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "" rel="nofollow">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> -<!-- Copyright 1999 - 2011 by Gero Kohnert gok...@us... et al --> +<!-- Copyright 1999 - 2013 by Gero Kohnert gok...@us... et al --> <!-- all rights reserved --> <!--$Id: index.htm 6 2011-02-12 22:10:44Z gokohnert $ --> <!-- Redirect to the tutos page --> Modified: trunk/php/fax/README =================================================================== --- trunk/php/fax/README 2013-06-20 11:46:29 UTC (rev 1092) +++ trunk/php/fax/README 2013-06-28 15:46:26 UTC (rev 1093) @@ -35,7 +35,7 @@ // // Mode 1 // Where to find faxspool -// Set tutos[usefax] to 0 to disable faxing +// Set $tutos[usefax] to 0 to disable faxing // (This is preconfigured to work with the mgetty/sendfax package) // $tutos[faxspool] = '/usr/bin/faxspool'; Modified: trunk/php/stuff/stuff_show.php =================================================================== --- trunk/php/stuff/stuff_show.php 2013-06-20 11:46:29 UTC (rev 1092) +++ trunk/php/stuff/stuff_show.php 2013-06-28 15:46:26 UTC (rev 1093) @@ -137,7 +137,7 @@ global $tutos,$lang,$msg; $this->obj = new stuff($this->dbconn); - $this->name = $lang['StuffShow']; + $this->name = $lang['Stuff']; if ( isset($_GET['id']) ) { $this->obj = $this->obj->read($_GET['id'],$this->obj); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |