New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated stuff #1535

Closed
splitbrain opened this Issue Apr 18, 2016 · 7 comments

Comments

Projects
None yet
4 participants
@splitbrain
Owner

splitbrain commented Apr 18, 2016

for the next release we should remove deprecated stuff. Would be nice if someone could provide/extend the list here.

  • #1323 (remove support for 'disabled' files for plugins) => #1540
  • IE8 (and before) CSS support => #1539
  • IE8 (and before) JS support
  • update to jQuery 2.x (as part of ending IE8 support) => #1543
  • auth plugins supporting old config values
  • double-decoding in XMLRPC putAttachment, deprecated since 2011-10-30
  • loadConfig() in lib/plugins/auth is deprecated since 2012-11-09
  • __call() in inc/plugin is deprecated since 2014-01-22
  • _loadUserData() in authplain/auth says "preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3", so it can be rewritten now

@splitbrain splitbrain added this to the Elenor of Tsort - coming release milestone Apr 18, 2016

@Klap-in

This comment has been minimized.

Collaborator

Klap-in commented Apr 18, 2016

A search by IE6, IE7, IE8, IE 6, IE 7, IE 8 results in:

  • lib/plugins/config/settings/config.class.php
    1259: // ideally this would be handled using a second class of "default", however IE6 does not
  • lib/scripts/fileuploader.js
    119: * Fixes opacity in IE6-8.
    1078: // won't be properly registered in IE6, and new window
    1097: // We can't use the following code in IE6
  • DONE by 1539: lib/tpl/dokuwiki/css/_edit.css
    57: /* should just be "width: 100%", but IE8 doesn't like it, see FS#1910 + FS#1667 */
  • DONE by 1539: lib/tpl/dokuwiki/css/basic.less
    231:#IE8 img,
  • DONE by 1539: lib/tpl/dokuwiki/css/_media_popup.css
    246: /* needed because of IE8 hack in _edit.css for textarea.edit: */
  • DONE by 1539: lib/tpl/dokuwiki/css/design.less
    267:#IE8 .dokuwiki div.breadcrumbs div {
  • DONE by 1539: lib/tpl/dokuwiki/main.php
    29: <!--[if lte IE 8 ]><div id="IE8"><![endif]-->
  • DONE by 1539: lib/tpl/dokuwiki/mediamanager.php
    28: <!--[if lte IE 8 ]><div id="IE8"><![endif]-->
  • DONE by 1539: lib/tpl/dokuwiki/detail.php
    30: <!--[if lte IE 8 ]><div id="IE8"><![endif]-->

And starter, on which also other templates depends:

lib/tpl/starter/main.php
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->
176:    <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]-->

lib/tpl/starter/mediamanager.php
30:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->
46:    <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]-->

lib/tpl/starter/detail.php
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->
60:    <!--[if ( lte IE 7 | IE 8 ) ]></div><![endif]-->



lib/tpl/starter/css/_links.css
81:    display: inline-block; /* needed for IE7 */

lib/tpl/starter/css/design.css
16:#IE7 #dokuwiki__header {
153:#IE7 #dokuwiki__pagetools ul {
156:#IE7 #dokuwiki__pagetools ul li a.action.top {
161:[dir=rtl] #IE7 #dokuwiki__pagetools ul li a.action.top {
249:#IE7 #dokuwiki__footer {

lib/tpl/starter/css/structure.css
41:#IE7 #dokuwiki__site .wrapper {

lib/tpl/starter/css/basic.css
264:#IE7 img,
415:#IE7 .dokuwiki input.button,
416:#IE7 .dokuwiki button {

lib/tpl/starter/main.php
31:             precede CSS rules by #IE7 for IE7 and #IE8 for IE8 (div closes at the bottom) */ ?>
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->

lib/tpl/starter/mediamanager.php
30:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->

lib/tpl/starter/detail.php
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->


lib/tpl/starter/css/_edit.css
58:    /* should just be "width: 100%", but IE8 doesn't like it, see FS#1910 + FS#1667 */

lib/tpl/starter/css/_media_popup.css
245:    /* needed because of IE8 hack in _edit.css for textarea.edit: */

lib/tpl/starter/css/basic.css
263:/* IE8 and below won't display the images otherwise */
265:#IE8 img,

lib/tpl/starter/main.php
31:             precede CSS rules by #IE7 for IE7 and #IE8 for IE8 (div closes at the bottom) */ ?>
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->

lib/tpl/starter/mediamanager.php
30:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->

lib/tpl/starter/detail.php
32:    <!--[if lte IE 7 ]><div id="IE7"><![endif]--><!--[if IE 8 ]><div id="IE8"><![endif]-->

@selfthinker

This comment has been minimized.

Collaborator

selfthinker commented Apr 19, 2016

@Klap-in, regarding the IE6 issue in lib/plugins/config/settings/config.class.php. I would suggest to simply remove that remark and not change the code. Although it would be better with multiple classes, it isn't wrong the way it is and I don't think it's worth changing it.

I went through devel:releases and the code base and found a few more things that are deprecated. I already removed a few things and will list the rest here and not in the description as I'm not sure about them. When it's clear they should be removed, we should move them into the description.

  1. double-decoding in XMLRPC putAttachment, deprecated since 2011-10-30
  2. loadConfig() in lib/plugins/auth is deprecated since 2012-11-09
  3. __call() in inc/plugin is deprecated since 2014-01-22
  4. _loadUserData() in authplain/auth says "preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3", so it can be rewritten now

Can someone else please deal with them? They are out of my area of expertise. If any of those should not be removed, please say why as well.

Other things I am quite sure we should not remove right now:

  • jquery-migrate is deprecated since 2013-02-03. As this might potentially a bigger task, we should not try to squeeze it in now. Best open a new todo task to do after the release and hopefully this year. => just created #1546
  • There are 3 @deprecateds in inc/form. But with the new Form class, I guess the whole file will soon be deprecated and it's not worth doing anything about these 3.
  • The DOKU_TPL* constants are still in the code, although deprecated since 2012-01-30. But as this will still break most templates, we shouldn't remove them. I suggest to do something like @splitbrain did for the PHP7 fixes and script some mass PRs as this is really easy to automatically fix. Then we can remove them next time.
  • mail_send(), _mail_send_action(), mail_encode_address() in inc/mail are deprecated. They are deprecated since a while but have only been marked as such very recently. I guess we should wait 2 releases now?
@splitbrain

This comment has been minimized.

Owner

splitbrain commented Apr 19, 2016

The XMLRPC double encoding is not in the current code anymore. I think we dropped it with the new RemoteAPI core by @dom-mel

splitbrain added a commit that referenced this issue Apr 19, 2016

splitbrain added a commit that referenced this issue Apr 19, 2016

splitbrain added a commit that referenced this issue Apr 19, 2016

@splitbrain

This comment has been minimized.

Owner

splitbrain commented Apr 19, 2016

I don't like to touch lib/scripts/fileuploader.js as it is 3rd party code. Ideally this will be replaced someday by a more modern library. Marked it as complete.

splitbrain added a commit that referenced this issue Apr 19, 2016

remove IE<=8 innerText/textContent workaround #1535
Standardized node.textContent is available since IE9

splitbrain added a commit that referenced this issue Apr 19, 2016

remove special IE support from textselection scripts #1535
The opera work around is still needed though! O_o
@splitbrain

This comment has been minimized.

Owner

splitbrain commented Jun 10, 2016

re: replacing preg_split with str_getcsv() in _loadUserData()

I fail to get this working. It seems str_getcsv does not work properly when having no enclosure character. @Chris--S and @projectgus did you ever succeed in using the CSV parser parsing one of our user lines when it contains escaped colons?

@projectgus

This comment has been minimized.

Contributor

projectgus commented Jun 20, 2016

Hi @splitbrain,

I fail to get this working. It seems str_getcsv does not work properly when having no enclosure character. @Chris--S and @projectgus did you ever succeed in using the CSV parser parsing one of our user lines when it contains escaped colons?

I wrote the comment you're referring to, but I honestly don't recall which combinations I tested with - sorry. Looking at the docs it seems you're right about requiring an enclosure character, so maybe my comment is totally wrong. There is a random SO answer here that talks about passing an invalid/unused character as the enclosure character, alhtough I don't really understand how that could work.

Sorry I can't be more helpful.

splitbrain added a commit that referenced this issue Jun 22, 2016

@splitbrain

This comment has been minimized.

Owner

splitbrain commented Jun 22, 2016

okay. I removed the comment and we can continue using the current solution

@splitbrain splitbrain closed this Jun 22, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment