summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/css.php68
-rw-r--r--lib/exe/detail.php5
-rw-r--r--lib/exe/indexer.php11
-rw-r--r--lib/exe/js.php70
-rw-r--r--lib/exe/xmlrpc.php13
-rw-r--r--lib/images/admin/acl.pngbin1074 -> 1065 bytes
-rw-r--r--lib/images/admin/config.pngbin1496 -> 1484 bytes
-rw-r--r--lib/images/admin/plugin.pngbin1127 -> 1115 bytes
-rw-r--r--lib/images/admin/popularity.pngbin1189 -> 1172 bytes
-rw-r--r--lib/images/admin/revert.pngbin1295 -> 1295 bytes
-rw-r--r--lib/images/admin/usermanager.pngbin1467 -> 1460 bytes
-rw-r--r--lib/images/bullet.pngbin112 -> 101 bytes
-rw-r--r--lib/images/closed-rtl.pngbin118 -> 111 bytes
-rw-r--r--lib/images/closed.pngbin119 -> 110 bytes
-rw-r--r--lib/images/diff.pngbin206 -> 190 bytes
-rw-r--r--lib/images/email.pngbin659 -> 370 bytes
-rw-r--r--lib/images/error.pngbin648 -> 637 bytes
-rw-r--r--lib/images/external-link.pngbin816 -> 431 bytes
-rw-r--r--lib/images/fileicons/32x32/7z.pngbin992 -> 911 bytes
-rw-r--r--lib/images/fileicons/32x32/asm.pngbin989 -> 955 bytes
-rw-r--r--lib/images/fileicons/32x32/bash.pngbin993 -> 966 bytes
-rw-r--r--lib/images/fileicons/32x32/bz2.pngbin1001 -> 920 bytes
-rw-r--r--lib/images/fileicons/32x32/c.pngbin945 -> 929 bytes
-rw-r--r--lib/images/fileicons/32x32/cc.pngbin955 -> 933 bytes
-rw-r--r--lib/images/fileicons/32x32/conf.pngbin832 -> 666 bytes
-rw-r--r--lib/images/fileicons/32x32/cpp.pngbin960 -> 943 bytes
-rw-r--r--lib/images/fileicons/32x32/cs.pngbin960 -> 944 bytes
-rw-r--r--lib/images/fileicons/32x32/csh.pngbin981 -> 952 bytes
-rw-r--r--lib/images/fileicons/32x32/css.pngbin969 -> 952 bytes
-rw-r--r--lib/images/fileicons/32x32/csv.pngbin819 -> 663 bytes
-rw-r--r--lib/images/fileicons/32x32/deb.pngbin991 -> 914 bytes
-rw-r--r--lib/images/fileicons/32x32/diff.pngbin975 -> 942 bytes
-rw-r--r--lib/images/fileicons/32x32/doc.pngbin1034 -> 956 bytes
-rw-r--r--lib/images/fileicons/32x32/docx.pngbin1078 -> 970 bytes
-rw-r--r--lib/images/fileicons/32x32/file.pngbin605 -> 543 bytes
-rw-r--r--lib/images/fileicons/32x32/gif.pngbin944 -> 873 bytes
-rw-r--r--lib/images/fileicons/32x32/gz.pngbin994 -> 914 bytes
-rw-r--r--lib/images/fileicons/32x32/h.pngbin941 -> 884 bytes
-rw-r--r--lib/images/fileicons/32x32/hpp.pngbin974 -> 942 bytes
-rw-r--r--lib/images/fileicons/32x32/htm.pngbin983 -> 945 bytes
-rw-r--r--lib/images/fileicons/32x32/html.pngbin983 -> 945 bytes
-rw-r--r--lib/images/fileicons/32x32/ico.pngbin941 -> 865 bytes
-rw-r--r--lib/images/fileicons/32x32/java.pngbin992 -> 961 bytes
-rw-r--r--lib/images/fileicons/32x32/jpeg.pngbin948 -> 877 bytes
-rw-r--r--lib/images/fileicons/32x32/jpg.pngbin948 -> 877 bytes
-rw-r--r--lib/images/fileicons/32x32/js.pngbin960 -> 937 bytes
-rw-r--r--lib/images/fileicons/32x32/json.pngbin996 -> 966 bytes
-rw-r--r--lib/images/fileicons/32x32/lua.pngbin979 -> 941 bytes
-rw-r--r--lib/images/fileicons/32x32/mp3.pngbin947 -> 896 bytes
-rw-r--r--lib/images/fileicons/32x32/mp4.pngbin1197 -> 1116 bytes
-rw-r--r--lib/images/fileicons/32x32/odc.pngbin1061 -> 946 bytes
-rw-r--r--lib/images/fileicons/32x32/odf.pngbin1059 -> 951 bytes
-rw-r--r--lib/images/fileicons/32x32/odg.pngbin1066 -> 949 bytes
-rw-r--r--lib/images/fileicons/32x32/odi.pngbin1058 -> 944 bytes
-rw-r--r--lib/images/fileicons/32x32/odp.pngbin1060 -> 949 bytes
-rw-r--r--lib/images/fileicons/32x32/ods.pngbin1063 -> 955 bytes
-rw-r--r--lib/images/fileicons/32x32/odt.pngbin1060 -> 949 bytes
-rw-r--r--lib/images/fileicons/32x32/ogg.pngbin950 -> 885 bytes
-rw-r--r--lib/images/fileicons/32x32/ogv.pngbin1187 -> 1106 bytes
-rw-r--r--lib/images/fileicons/32x32/pas.pngbin976 -> 945 bytes
-rw-r--r--lib/images/fileicons/32x32/pdf.pngbin1076 -> 1003 bytes
-rw-r--r--lib/images/fileicons/32x32/php.pngbin974 -> 952 bytes
-rw-r--r--lib/images/fileicons/32x32/pl.pngbin951 -> 936 bytes
-rw-r--r--lib/images/fileicons/32x32/png.pngbin957 -> 877 bytes
-rw-r--r--lib/images/fileicons/32x32/ppt.pngbin871 -> 850 bytes
-rw-r--r--lib/images/fileicons/32x32/pptx.pngbin924 -> 866 bytes
-rw-r--r--lib/images/fileicons/32x32/ps.pngbin1086 -> 996 bytes
-rw-r--r--lib/images/fileicons/32x32/py.pngbin966 -> 942 bytes
-rw-r--r--lib/images/fileicons/32x32/rar.pngbin1000 -> 914 bytes
-rw-r--r--lib/images/fileicons/32x32/rb.pngbin953 -> 936 bytes
-rw-r--r--lib/images/fileicons/32x32/rpm.pngbin1001 -> 920 bytes
-rw-r--r--lib/images/fileicons/32x32/rtf.pngbin867 -> 738 bytes
-rw-r--r--lib/images/fileicons/32x32/sh.pngbin962 -> 941 bytes
-rw-r--r--lib/images/fileicons/32x32/sql.pngbin827 -> 664 bytes
-rw-r--r--lib/images/fileicons/32x32/swf.pngbin1268 -> 1173 bytes
-rw-r--r--lib/images/fileicons/32x32/sxc.pngbin1078 -> 964 bytes
-rw-r--r--lib/images/fileicons/32x32/sxd.pngbin1079 -> 965 bytes
-rw-r--r--lib/images/fileicons/32x32/sxi.pngbin1067 -> 962 bytes
-rw-r--r--lib/images/fileicons/32x32/sxw.pngbin1086 -> 968 bytes
-rw-r--r--lib/images/fileicons/32x32/tar.pngbin987 -> 914 bytes
-rw-r--r--lib/images/fileicons/32x32/tgz.pngbin999 -> 919 bytes
-rw-r--r--lib/images/fileicons/32x32/txt.pngbin836 -> 661 bytes
-rw-r--r--lib/images/fileicons/32x32/wav.pngbin944 -> 888 bytes
-rw-r--r--lib/images/fileicons/32x32/webm.pngbin1232 -> 1210 bytes
-rw-r--r--lib/images/fileicons/32x32/xls.pngbin1137 -> 1124 bytes
-rw-r--r--lib/images/fileicons/32x32/xlsx.pngbin1182 -> 1131 bytes
-rw-r--r--lib/images/fileicons/32x32/xml.pngbin615 -> 560 bytes
-rw-r--r--lib/images/fileicons/32x32/zip.pngbin987 -> 914 bytes
-rw-r--r--lib/images/fileicons/7z.pngbin415 -> 375 bytes
-rw-r--r--lib/images/fileicons/asm.pngbin427 -> 379 bytes
-rw-r--r--lib/images/fileicons/bash.pngbin433 -> 378 bytes
-rw-r--r--lib/images/fileicons/bz2.pngbin419 -> 378 bytes
-rw-r--r--lib/images/fileicons/c.pngbin412 -> 369 bytes
-rw-r--r--lib/images/fileicons/cc.pngbin411 -> 369 bytes
-rw-r--r--lib/images/fileicons/conf.pngbin402 -> 370 bytes
-rw-r--r--lib/images/fileicons/cpp.pngbin430 -> 377 bytes
-rw-r--r--lib/images/fileicons/cs.pngbin419 -> 374 bytes
-rw-r--r--lib/images/fileicons/csh.pngbin427 -> 378 bytes
-rw-r--r--lib/images/fileicons/css.pngbin427 -> 374 bytes
-rw-r--r--lib/images/fileicons/csv.pngbin409 -> 371 bytes
-rw-r--r--lib/images/fileicons/deb.pngbin421 -> 376 bytes
-rw-r--r--lib/images/fileicons/diff.pngbin425 -> 376 bytes
-rw-r--r--lib/images/fileicons/doc.pngbin410 -> 372 bytes
-rw-r--r--lib/images/fileicons/docx.pngbin415 -> 375 bytes
-rw-r--r--lib/images/fileicons/file.pngbin319 -> 249 bytes
-rw-r--r--lib/images/fileicons/gif.pngbin407 -> 374 bytes
-rw-r--r--lib/images/fileicons/gz.pngbin417 -> 374 bytes
-rw-r--r--lib/images/fileicons/h.pngbin411 -> 368 bytes
-rw-r--r--lib/images/fileicons/hpp.pngbin417 -> 376 bytes
-rw-r--r--lib/images/fileicons/htm.pngbin417 -> 375 bytes
-rw-r--r--lib/images/fileicons/html.pngbin417 -> 375 bytes
-rw-r--r--lib/images/fileicons/ico.pngbin405 -> 372 bytes
-rw-r--r--lib/images/fileicons/java.pngbin420 -> 376 bytes
-rw-r--r--lib/images/fileicons/jpeg.pngbin412 -> 376 bytes
-rw-r--r--lib/images/fileicons/jpg.pngbin412 -> 376 bytes
-rw-r--r--lib/images/fileicons/js.pngbin420 -> 374 bytes
-rw-r--r--lib/images/fileicons/json.pngbin435 -> 379 bytes
-rw-r--r--lib/images/fileicons/lua.pngbin418 -> 374 bytes
-rw-r--r--lib/images/fileicons/mp3.pngbin415 -> 378 bytes
-rw-r--r--lib/images/fileicons/mp4.pngbin419 -> 377 bytes
-rw-r--r--lib/images/fileicons/odc.pngbin407 -> 369 bytes
-rw-r--r--lib/images/fileicons/odf.pngbin411 -> 373 bytes
-rw-r--r--lib/images/fileicons/odg.pngbin411 -> 370 bytes
-rw-r--r--lib/images/fileicons/odi.pngbin398 -> 371 bytes
-rw-r--r--lib/images/fileicons/odp.pngbin404 -> 374 bytes
-rw-r--r--lib/images/fileicons/ods.pngbin416 -> 373 bytes
-rw-r--r--lib/images/fileicons/odt.pngbin403 -> 372 bytes
-rw-r--r--lib/images/fileicons/ogg.pngbin408 -> 373 bytes
-rw-r--r--lib/images/fileicons/ogv.pngbin412 -> 376 bytes
-rw-r--r--lib/images/fileicons/pas.pngbin435 -> 380 bytes
-rw-r--r--lib/images/fileicons/pdf.pngbin425 -> 377 bytes
-rw-r--r--lib/images/fileicons/php.pngbin424 -> 376 bytes
-rw-r--r--lib/images/fileicons/pl.pngbin418 -> 372 bytes
-rw-r--r--lib/images/fileicons/png.pngbin417 -> 375 bytes
-rw-r--r--lib/images/fileicons/ppt.pngbin412 -> 375 bytes
-rw-r--r--lib/images/fileicons/pptx.pngbin414 -> 375 bytes
-rw-r--r--lib/images/fileicons/ps.pngbin424 -> 377 bytes
-rw-r--r--lib/images/fileicons/py.pngbin426 -> 374 bytes
-rw-r--r--lib/images/fileicons/rar.pngbin418 -> 377 bytes
-rw-r--r--lib/images/fileicons/rb.pngbin421 -> 375 bytes
-rw-r--r--lib/images/fileicons/rpm.pngbin415 -> 374 bytes
-rw-r--r--lib/images/fileicons/rtf.pngbin418 -> 376 bytes
-rw-r--r--lib/images/fileicons/sh.pngbin422 -> 375 bytes
-rw-r--r--lib/images/fileicons/sql.pngbin410 -> 373 bytes
-rw-r--r--lib/images/fileicons/swf.pngbin416 -> 379 bytes
-rw-r--r--lib/images/fileicons/sxc.pngbin420 -> 377 bytes
-rw-r--r--lib/images/fileicons/sxd.pngbin424 -> 377 bytes
-rw-r--r--lib/images/fileicons/sxi.pngbin414 -> 377 bytes
-rw-r--r--lib/images/fileicons/sxw.pngbin417 -> 376 bytes
-rw-r--r--lib/images/fileicons/tar.pngbin417 -> 377 bytes
-rw-r--r--lib/images/fileicons/tgz.pngbin417 -> 377 bytes
-rw-r--r--lib/images/fileicons/txt.pngbin407 -> 371 bytes
-rw-r--r--lib/images/fileicons/wav.pngbin415 -> 375 bytes
-rw-r--r--lib/images/fileicons/webm.pngbin412 -> 378 bytes
-rw-r--r--lib/images/fileicons/xls.pngbin415 -> 378 bytes
-rw-r--r--lib/images/fileicons/xlsx.pngbin425 -> 379 bytes
-rw-r--r--lib/images/fileicons/xml.pngbin400 -> 376 bytes
-rw-r--r--lib/images/fileicons/zip.pngbin418 -> 377 bytes
-rw-r--r--lib/images/history.pngbin149 -> 149 bytes
-rw-r--r--lib/images/icon-list.pngbin3342 -> 584 bytes
-rw-r--r--lib/images/icon-sort.pngbin316 -> 211 bytes
-rw-r--r--lib/images/info.pngbin725 -> 721 bytes
-rw-r--r--lib/images/interwiki.pngbin443 -> 442 bytes
-rw-r--r--lib/images/interwiki/user.pngbin741 -> 684 bytes
-rw-r--r--lib/images/license/badge/cc-by-nc-nd.pngbin1475 -> 1456 bytes
-rw-r--r--lib/images/license/badge/cc-by-nc-sa.pngbin1587 -> 1567 bytes
-rw-r--r--lib/images/license/badge/cc-by-nc.pngbin1421 -> 1401 bytes
-rw-r--r--lib/images/license/badge/cc-by-nd.pngbin1283 -> 1261 bytes
-rw-r--r--lib/images/license/badge/cc-by-sa.pngbin1421 -> 1407 bytes
-rw-r--r--lib/images/license/badge/cc-by.pngbin1204 -> 1186 bytes
-rw-r--r--lib/images/license/badge/cc-zero.pngbin1202 -> 1182 bytes
-rw-r--r--lib/images/license/badge/cc.pngbin898 -> 846 bytes
-rw-r--r--lib/images/license/badge/gnufdl.pngbin1667 -> 1649 bytes
-rw-r--r--lib/images/license/badge/publicdomain.pngbin1345 -> 1326 bytes
-rw-r--r--lib/images/license/button/cc-by-nc-nd.pngbin396 -> 391 bytes
-rw-r--r--lib/images/license/button/cc-by-nc-sa.pngbin403 -> 396 bytes
-rw-r--r--lib/images/license/button/cc-by-nc.pngbin388 -> 381 bytes
-rw-r--r--lib/images/license/button/cc-by-nd.pngbin386 -> 382 bytes
-rw-r--r--lib/images/license/button/cc-by-sa.pngbin386 -> 379 bytes
-rw-r--r--lib/images/license/button/cc-by.pngbin369 -> 364 bytes
-rw-r--r--lib/images/license/button/cc-zero.pngbin386 -> 381 bytes
-rw-r--r--lib/images/license/button/cc.pngbin399 -> 391 bytes
-rw-r--r--lib/images/license/button/gnufdl.pngbin509 -> 497 bytes
-rw-r--r--lib/images/license/button/publicdomain.pngbin368 -> 364 bytes
-rw-r--r--lib/images/magnifier.pngbin569 -> 565 bytes
-rw-r--r--lib/images/media_align_center.pngbin250 -> 249 bytes
-rw-r--r--lib/images/media_align_left.pngbin251 -> 247 bytes
-rw-r--r--lib/images/media_align_noalign.pngbin220 -> 218 bytes
-rw-r--r--lib/images/media_align_right.pngbin252 -> 250 bytes
-rw-r--r--lib/images/media_link_direct.pngbin720 -> 714 bytes
-rw-r--r--lib/images/media_link_displaylnk.pngbin306 -> 304 bytes
-rw-r--r--lib/images/media_link_lnk.pngbin580 -> 578 bytes
-rw-r--r--lib/images/media_link_nolnk.pngbin464 -> 452 bytes
-rw-r--r--lib/images/media_size_large.pngbin102 -> 100 bytes
-rw-r--r--lib/images/media_size_medium.pngbin231 -> 226 bytes
-rw-r--r--lib/images/media_size_original.pngbin212 -> 210 bytes
-rw-r--r--lib/images/media_size_small.pngbin210 -> 206 bytes
-rw-r--r--lib/images/mediamanager.pngbin507 -> 455 bytes
-rw-r--r--lib/images/notify.pngbin736 -> 735 bytes
-rw-r--r--lib/images/ns.pngbin800 -> 799 bytes
-rw-r--r--lib/images/open.pngbin118 -> 107 bytes
-rw-r--r--lib/images/resizecol.pngbin158 -> 148 bytes
-rw-r--r--lib/images/smileys/index.php2
-rw-r--r--lib/images/success.pngbin728 -> 725 bytes
-rw-r--r--lib/images/toolbar/bold.pngbin251 -> 249 bytes
-rw-r--r--lib/images/toolbar/chars.pngbin496 -> 493 bytes
-rw-r--r--lib/images/toolbar/h.pngbin258 -> 257 bytes
-rw-r--r--lib/images/toolbar/h1.pngbin290 -> 287 bytes
-rw-r--r--lib/images/toolbar/h2.pngbin328 -> 319 bytes
-rw-r--r--lib/images/toolbar/h3.pngbin322 -> 320 bytes
-rw-r--r--lib/images/toolbar/h4.pngbin310 -> 310 bytes
-rw-r--r--lib/images/toolbar/h5.pngbin325 -> 318 bytes
-rw-r--r--lib/images/toolbar/hequal.pngbin311 -> 306 bytes
-rw-r--r--lib/images/toolbar/hminus.pngbin409 -> 403 bytes
-rw-r--r--lib/images/toolbar/hplus.pngbin396 -> 391 bytes
-rw-r--r--lib/images/toolbar/hr.pngbin254 -> 251 bytes
-rw-r--r--lib/images/toolbar/image.pngbin554 -> 539 bytes
-rw-r--r--lib/images/toolbar/italic.pngbin241 -> 239 bytes
-rw-r--r--lib/images/toolbar/link.pngbin405 -> 402 bytes
-rw-r--r--lib/images/toolbar/linkextern.pngbin904 -> 902 bytes
-rw-r--r--lib/images/toolbar/mono.pngbin296 -> 293 bytes
-rw-r--r--lib/images/toolbar/ol.pngbin304 -> 302 bytes
-rw-r--r--lib/images/toolbar/smiley.pngbin684 -> 680 bytes
-rw-r--r--lib/images/toolbar/strike.pngbin318 -> 316 bytes
-rw-r--r--lib/images/toolbar/ul.pngbin291 -> 288 bytes
-rw-r--r--lib/images/toolbar/underline.pngbin317 -> 297 bytes
-rw-r--r--lib/images/unc.pngbin553 -> 290 bytes
-rw-r--r--lib/images/up.pngbin248 -> 248 bytes
-rw-r--r--lib/plugins/acl/admin.php6
-rw-r--r--lib/plugins/acl/lang/cs/help.txt13
-rw-r--r--lib/plugins/acl/lang/eu/lang.php5
-rw-r--r--lib/plugins/acl/lang/ro/lang.php5
-rw-r--r--lib/plugins/acl/pix/group.pngbin700 -> 699 bytes
-rw-r--r--lib/plugins/acl/pix/ns.pngbin800 -> 799 bytes
-rw-r--r--lib/plugins/acl/pix/user.pngbin653 -> 650 bytes
-rw-r--r--lib/plugins/acl/remote.php32
-rw-r--r--lib/plugins/admin.php44
-rw-r--r--lib/plugins/auth.php11
-rw-r--r--lib/plugins/authad/action.php2
-rw-r--r--lib/plugins/authad/adLDAP/adLDAP.php2
-rw-r--r--lib/plugins/authad/auth.php8
-rw-r--r--lib/plugins/authad/lang/cs/settings.php2
-rw-r--r--lib/plugins/authad/lang/fa/settings.php10
-rw-r--r--lib/plugins/authad/lang/no/lang.php8
-rw-r--r--lib/plugins/authad/lang/no/settings.php2
-rw-r--r--lib/plugins/authad/lang/pl/settings.php1
-rw-r--r--lib/plugins/authad/lang/pt/settings.php6
-rw-r--r--lib/plugins/authad/lang/ru/settings.php11
-rw-r--r--lib/plugins/authldap/auth.php21
-rw-r--r--lib/plugins/authldap/conf/default.php2
-rw-r--r--lib/plugins/authldap/conf/metadata.php2
-rw-r--r--lib/plugins/authldap/lang/cs/settings.php6
-rw-r--r--lib/plugins/authldap/lang/en/settings.php4
-rw-r--r--lib/plugins/authldap/lang/fa/settings.php10
-rw-r--r--lib/plugins/authldap/lang/no/settings.php2
-rw-r--r--lib/plugins/authldap/lang/pl/settings.php6
-rw-r--r--lib/plugins/authldap/lang/pt/settings.php10
-rw-r--r--lib/plugins/authldap/lang/ru/settings.php14
-rw-r--r--lib/plugins/authmysql/auth.php19
-rw-r--r--lib/plugins/authmysql/lang/cs/settings.php5
-rw-r--r--lib/plugins/authmysql/lang/da/settings.php4
-rw-r--r--lib/plugins/authmysql/lang/fi/settings.php11
-rw-r--r--lib/plugins/authmysql/lang/no/settings.php14
-rw-r--r--lib/plugins/authmysql/lang/pl/settings.php10
-rw-r--r--lib/plugins/authmysql/lang/pt/settings.php20
-rw-r--r--lib/plugins/authmysql/lang/ru/settings.php6
-rw-r--r--lib/plugins/authpgsql/auth.php17
-rw-r--r--lib/plugins/authpgsql/lang/cs/settings.php5
-rw-r--r--lib/plugins/authpgsql/lang/it/settings.php2
-rw-r--r--lib/plugins/authpgsql/lang/pt/settings.php17
-rw-r--r--lib/plugins/authpgsql/lang/ru/settings.php9
-rw-r--r--lib/plugins/authplain/_test/escaping.test.php54
-rw-r--r--lib/plugins/authplain/auth.php38
-rw-r--r--lib/plugins/config/admin.php49
-rw-r--r--lib/plugins/config/images/danger.pngbin648 -> 637 bytes
-rw-r--r--lib/plugins/config/images/security.pngbin706 -> 682 bytes
-rw-r--r--lib/plugins/config/images/warning.pngbin613 -> 606 bytes
-rw-r--r--lib/plugins/config/settings/config.class.php232
-rw-r--r--lib/plugins/config/settings/extra.class.php107
-rw-r--r--lib/plugins/extension/admin.php10
-rw-r--r--lib/plugins/extension/helper/extension.php16
-rw-r--r--lib/plugins/extension/helper/list.php6
-rw-r--r--lib/plugins/extension/helper/repository.php6
-rw-r--r--lib/plugins/extension/images/disabled.pngbin1396 -> 1163 bytes
-rw-r--r--lib/plugins/extension/images/donate.pngbin724 -> 677 bytes
-rw-r--r--lib/plugins/extension/images/down.pngbin280 -> 197 bytes
-rw-r--r--lib/plugins/extension/images/enabled.pngbin1398 -> 1172 bytes
-rw-r--r--lib/plugins/extension/images/overlay.pngbin109 -> 68 bytes
-rw-r--r--lib/plugins/extension/images/plugin.pngbin6824 -> 4054 bytes
-rw-r--r--lib/plugins/extension/images/tag.pngbin753 -> 341 bytes
-rw-r--r--lib/plugins/extension/images/template.pngbin7547 -> 5206 bytes
-rw-r--r--lib/plugins/extension/images/up.pngbin281 -> 197 bytes
-rw-r--r--lib/plugins/extension/images/warning.pngbin613 -> 606 bytes
-rw-r--r--lib/plugins/extension/lang/cs/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/cs/intro_search.txt1
-rw-r--r--lib/plugins/extension/lang/cs/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/cs/lang.php35
-rw-r--r--lib/plugins/extension/lang/da/lang.php24
-rw-r--r--lib/plugins/extension/lang/en/lang.php7
-rw-r--r--lib/plugins/extension/lang/fi/lang.php37
-rw-r--r--lib/plugins/extension/lang/fr/lang.php8
-rw-r--r--lib/plugins/extension/lang/hr/lang.php33
-rw-r--r--lib/plugins/extension/lang/it/lang.php21
-rw-r--r--lib/plugins/extension/lang/ja/lang.php6
-rw-r--r--lib/plugins/extension/lang/ko/lang.php9
-rw-r--r--lib/plugins/extension/lang/nl/lang.php4
-rw-r--r--lib/plugins/extension/lang/pt/intro_install.txt1
-rw-r--r--lib/plugins/extension/lang/pt/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/pt/intro_search.txt1
-rw-r--r--lib/plugins/extension/lang/pt/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/pt/lang.php132
-rw-r--r--lib/plugins/extension/lang/ru/intro_install.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_search.txt1
-rw-r--r--lib/plugins/extension/lang/ru/intro_templates.txt1
-rw-r--r--lib/plugins/extension/lang/ru/lang.php66
-rw-r--r--lib/plugins/extension/lang/zh-tw/intro_plugins.txt1
-rw-r--r--lib/plugins/extension/lang/zh-tw/lang.php30
-rw-r--r--lib/plugins/info/syntax.php38
-rw-r--r--lib/plugins/popularity/admin.php2
-rw-r--r--lib/plugins/popularity/helper.php15
-rw-r--r--lib/plugins/popularity/lang/eu/lang.php5
-rw-r--r--lib/plugins/popularity/lang/ro/lang.php5
-rw-r--r--lib/plugins/revert/lang/eu/lang.php6
-rw-r--r--lib/plugins/revert/lang/ko/lang.php2
-rw-r--r--lib/plugins/revert/lang/no/lang.php1
-rw-r--r--lib/plugins/revert/lang/ro/lang.php5
-rw-r--r--lib/plugins/syntax.php11
-rw-r--r--lib/plugins/usermanager/admin.php34
-rw-r--r--lib/plugins/usermanager/images/search.pngbin550 -> 549 bytes
-rw-r--r--lib/plugins/usermanager/lang/cs/lang.php14
-rw-r--r--lib/plugins/usermanager/lang/da/import.txt9
-rw-r--r--lib/plugins/usermanager/lang/da/lang.php2
-rw-r--r--lib/plugins/usermanager/lang/eu/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/fi/lang.php10
-rw-r--r--lib/plugins/usermanager/lang/hr/lang.php4
-rw-r--r--lib/plugins/usermanager/lang/ko/lang.php8
-rw-r--r--lib/plugins/usermanager/lang/pt/lang.php9
-rw-r--r--lib/plugins/usermanager/lang/ro/lang.php5
-rw-r--r--lib/plugins/usermanager/lang/ru/import.txt4
-rw-r--r--lib/plugins/usermanager/lang/ru/lang.php7
-rw-r--r--lib/scripts/behaviour.js15
-rw-r--r--lib/scripts/editor.js12
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.pngbin251 -> 78 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.pngbin247 -> 74 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.pngbin374 -> 184 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.pngbin246 -> 73 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.pngbin301 -> 126 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.pngbin301 -> 121 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.pngbin371 -> 186 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.pngbin319 -> 122 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.pngbin7006 -> 3778 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.pngbin4599 -> 3778 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.pngbin7071 -> 3778 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.pngbin7092 -> 3778 bytes
-rw-r--r--lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.pngbin4599 -> 3778 bytes
-rw-r--r--lib/tpl/dokuwiki/detail.php6
-rw-r--r--lib/tpl/dokuwiki/images/apple-touch-icon.pngbin6399 -> 6336 bytes
-rw-r--r--lib/tpl/dokuwiki/images/button-css.pngbin299 -> 297 bytes
-rw-r--r--lib/tpl/dokuwiki/images/button-html5.pngbin354 -> 305 bytes
-rw-r--r--lib/tpl/dokuwiki/images/button-rss.pngbin180 -> 178 bytes
-rw-r--r--lib/tpl/dokuwiki/images/logo.pngbin3820 -> 3744 bytes
-rw-r--r--lib/tpl/dokuwiki/images/page-gradient.pngbin280 -> 209 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools-build.php2
-rw-r--r--lib/tpl/dokuwiki/images/pagetools-sprite.pngbin11325 -> 7759 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/00_default.pngbin616 -> 494 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/01_edit.pngbin740 -> 519 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/02_create.pngbin808 -> 580 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/03_draft.pngbin828 -> 592 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/04_show.pngbin458 -> 321 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/05_source.pngbin753 -> 478 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/06_revert.pngbin752 -> 462 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/07_revisions.pngbin1144 -> 769 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/08_backlink.pngbin844 -> 527 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/09_subscribe.pngbin589 -> 374 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/10_top.pngbin465 -> 297 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/11_mediamanager.pngbin441 -> 320 bytes
-rw-r--r--lib/tpl/dokuwiki/images/pagetools/12_back.pngbin483 -> 288 bytes
-rw-r--r--lib/tpl/dokuwiki/images/search.pngbin316 -> 307 bytes
-rw-r--r--lib/tpl/dokuwiki/images/toc-bullet.pngbin121 -> 113 bytes
-rw-r--r--lib/tpl/dokuwiki/images/usertools.pngbin1541 -> 1428 bytes
-rw-r--r--lib/tpl/dokuwiki/main.php14
-rw-r--r--lib/tpl/dokuwiki/tpl_header.php14
383 files changed, 1460 insertions, 299 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 6c1d60751..701cebaed 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -32,27 +32,28 @@ function css_out(){
global $config_cascade;
global $INPUT;
+ // decide from where to get the template
+ $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t')));
+ if(!$tpl) $tpl = $conf['template'];
+
+ // load style.ini
+ $styleini = css_styleini($tpl);
+
+ // find mediatypes
if ($INPUT->str('s') == 'feed') {
$mediatypes = array('feed');
$type = 'feed';
} else {
- $mediatypes = array('screen', 'all', 'print');
+ $mediatypes = array_unique(array_merge(array('screen', 'all', 'print'), array_keys($styleini['stylesheets'])));
$type = '';
}
- // decide from where to get the template
- $tpl = trim(preg_replace('/[^\w-]+/','',$INPUT->str('t')));
- if(!$tpl) $tpl = $conf['template'];
-
// The generated script depends on some dynamic options
$cache = new cache('styles'.$_SERVER['HTTP_HOST'].$_SERVER['SERVER_PORT'].DOKU_BASE.$tpl.$type,'.css');
- // load styl.ini
- $styleini = css_styleini($tpl);
-
// if old 'default' userstyle setting exists, make it 'screen' userstyle for backwards compatibility
if (isset($config_cascade['userstyle']['default'])) {
- $config_cascade['userstyle']['screen'] = $config_cascade['userstyle']['default'];
+ $config_cascade['userstyle']['screen'] = array($config_cascade['userstyle']['default']);
}
// cache influencers
@@ -82,8 +83,10 @@ function css_out(){
$files[$mediatype] = array_merge($files[$mediatype], $styleini['stylesheets'][$mediatype]);
}
// load user styles
- if(isset($config_cascade['userstyle'][$mediatype])){
- $files[$mediatype][$config_cascade['userstyle'][$mediatype]] = DOKU_BASE;
+ if(!empty($config_cascade['userstyle'][$mediatype])) {
+ foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
+ $files[$mediatype][$userstyle] = DOKU_BASE;
+ }
}
$cache_files = array_merge($cache_files, array_keys($files[$mediatype]));
@@ -162,12 +165,15 @@ function css_out(){
* most of this function is error handling to show a nice useful error when
* LESS compilation fails
*
- * @param $css
+ * @param string $css
* @return string
*/
function css_parseless($css) {
+ global $conf;
+
$less = new lessc();
$less->importDir[] = DOKU_INC;
+ $less->setPreserveComments(!$conf['compress']);
if (defined('DOKU_UNITTEST')){
$less->importDir[] = TMP_DIR;
@@ -222,6 +228,10 @@ function css_parseless($css) {
* (sans the surrounding __ and with a ini_ prefix)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $css
+ * @param array $replacements array(placeholder => value)
+ * @return string
*/
function css_applystyle($css, $replacements) {
// we convert ini replacements to LESS variable names
@@ -250,6 +260,7 @@ function css_applystyle($css, $replacements) {
* the stylesheet modes
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
* @param string $tpl the used template
* @return array with keys 'stylesheets' and 'replacements'
*/
@@ -320,6 +331,10 @@ function css_styleini($tpl) {
* Amend paths used in replacement relative urls, refer FS#2879
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
+ * @param array $replacements with key-value pairs
+ * @param string $location
+ * @return array
*/
function css_fixreplacementurls($replacements, $location) {
foreach($replacements as $key => $value) {
@@ -351,11 +366,11 @@ function css_interwiki(){
$iwlinks = getInterwiki();
foreach(array_keys($iwlinks) as $iw){
$class = preg_replace('/[^_\-a-z0-9]+/i','_',$iw);
- if(@file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.png')){
+ if(file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.png')){
echo "a.iw_$class {";
echo ' background-image: url('.DOKU_BASE.'lib/images/interwiki/'.$iw.'.png)';
echo '}';
- }elseif(@file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.gif')){
+ }elseif(file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.gif')){
echo "a.iw_$class {";
echo ' background-image: url('.DOKU_BASE.'lib/images/interwiki/'.$iw.'.gif)';
echo '}';
@@ -403,6 +418,10 @@ function css_filetypes(){
/**
* Loads a given file and fixes relative URLs with the
* given location prefix
+ *
+ * @param string $file file system path
+ * @param string $location
+ * @return string
*/
function css_loadfile($file,$location=''){
$css_file = new DokuCssFile($file);
@@ -418,7 +437,7 @@ class DokuCssFile {
protected $filepath; // file system path to the CSS/Less file
protected $location; // base url location of the CSS/Less file
- private $relative_path = null;
+ protected $relative_path = null;
public function __construct($file) {
$this->filepath = $file;
@@ -433,7 +452,7 @@ class DokuCssFile {
* @return string the CSS/Less contents of the file
*/
public function load($location='') {
- if (!@file_exists($this->filepath)) return '';
+ if (!file_exists($this->filepath)) return '';
$css = io_readFile($this->filepath);
if (!$location) return $css;
@@ -451,7 +470,7 @@ class DokuCssFile {
*
* @return string relative file system path
*/
- private function getRelativePath(){
+ protected function getRelativePath(){
if (is_null($this->relative_path)) {
$basedir = array(DOKU_INC);
@@ -501,6 +520,9 @@ class DokuCssFile {
* Convert local image URLs to data URLs if the filesize is small
*
* Callback for preg_replace_callback
+ *
+ * @param array $match
+ * @return string
*/
function css_datauri($match){
global $conf;
@@ -528,9 +550,11 @@ function css_datauri($match){
* Returns a list of possible Plugin Styles (no existance check here)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $mediatype
+ * @return array
*/
function css_pluginstyles($mediatype='screen'){
- global $lang;
$list = array();
$plugins = plugin_list();
foreach ($plugins as $p){
@@ -549,6 +573,9 @@ function css_pluginstyles($mediatype='screen'){
* Very simple CSS optimizer
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $css
+ * @return string
*/
function css_compress($css){
//strip comments through a callback
@@ -585,6 +612,9 @@ function css_compress($css){
* Keeps short comments (< 5 chars) to maintain typical browser hacks
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $matches
+ * @return string
*/
function css_comment_cb($matches){
if(strlen($matches[2]) > 4) return '';
@@ -596,7 +626,7 @@ function css_comment_cb($matches){
*
* Strips one line comments but makes sure it will not destroy url() constructs with slashes
*
- * @param $matches
+ * @param array $matches
* @return string
*/
function css_onelinecomment_cb($matches) {
diff --git a/lib/exe/detail.php b/lib/exe/detail.php
index cd3f362ad..ec1a9b874 100644
--- a/lib/exe/detail.php
+++ b/lib/exe/detail.php
@@ -5,6 +5,7 @@ require_once(DOKU_INC.'inc/init.php');
$IMG = getID('media');
$ID = cleanID($INPUT->str('id'));
+$REV = $INPUT->int('rev');
// this makes some general info available as well as the info about the
// "parent" page
@@ -35,8 +36,8 @@ $ERROR = false;
$AUTH = auth_quickaclcheck($IMG);
if($AUTH >= AUTH_READ){
// check if image exists
- $SRC = mediaFN($IMG);
- if(!@file_exists($SRC)){
+ $SRC = mediaFN($IMG,$REV);
+ if(!file_exists($SRC)){
//doesn't exist!
http_status(404);
$ERROR = 'File not found';
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index 3ab117736..330b8498d 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -51,8 +51,9 @@ exit;
/**
* Trims the recent changes cache (or imports the old changelog) as needed.
*
- * @param media_changes If the media changelog shall be trimmed instead of
- * the page changelog
+ * @param bool $media_changes If the media changelog shall be trimmed instead of
+ * the page changelog
+ * @return bool
*
* @author Ben Coburn <btcoburn@silicodon.net>
*/
@@ -67,9 +68,9 @@ function runTrimRecentChanges($media_changes = false) {
// Trims the recent changes cache to the last $conf['changes_days'] recent
// changes or $conf['recent'] items, which ever is larger.
// The trimming is only done once a day.
- if (@file_exists($fn) &&
+ if (file_exists($fn) &&
(@filemtime($fn.'.trimmed')+86400)<time() &&
- !@file_exists($fn.'_tmp')) {
+ !file_exists($fn.'_tmp')) {
@touch($fn.'.trimmed');
io_lock($fn);
$lines = file($fn);
@@ -83,7 +84,7 @@ function runTrimRecentChanges($media_changes = false) {
io_saveFile($fn.'_tmp', ''); // presave tmp as 2nd lock
$trim_time = time() - $conf['recent_days']*86400;
$out_lines = array();
-
+ $old_lines = array();
for ($i=0; $i<count($lines); $i++) {
$log = parseChangelogLine($lines[$i]);
if ($log === false) continue; // discard junk
diff --git a/lib/exe/js.php b/lib/exe/js.php
index bec12ef7a..3f9781e34 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -72,8 +72,10 @@ function js_out(){
// add possible plugin scripts and userscript
$files = array_merge($files,js_pluginscripts());
- if(isset($config_cascade['userscript']['default'])){
- $files[] = $config_cascade['userscript']['default'];
+ if(!empty($config_cascade['userscript']['default'])) {
+ foreach($config_cascade['userscript']['default'] as $userscript) {
+ $files[] = $userscript;
+ }
}
$cache_files = array_merge($files, getConfigFiles('main'));
@@ -154,9 +156,11 @@ function js_out(){
* Load the given file, handle include calls and print it
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $file filename path to file
*/
function js_load($file){
- if(!@file_exists($file)) return;
+ if(!file_exists($file)) return;
static $loaded = array();
$data = io_readFile($file);
@@ -175,7 +179,7 @@ function js_load($file){
if($ifile{0} != '/') $ifile = dirname($file).'/'.$ifile;
- if(@file_exists($ifile)){
+ if(file_exists($ifile)){
$idata = io_readFile($ifile);
}else{
$idata = '';
@@ -189,6 +193,8 @@ function js_load($file){
* Returns a list of possible Plugin Scripts (no existance check here)
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @return array
*/
function js_pluginscripts(){
$list = array();
@@ -206,6 +212,8 @@ function js_pluginscripts(){
* - Nothing is returned for plugins without an entry for $lang['js']
*
* @author Gabriel Birke <birke@d-scribe.de>
+ *
+ * @return array
*/
function js_pluginstrings() {
global $conf;
@@ -213,10 +221,10 @@ function js_pluginstrings() {
$plugins = plugin_list();
foreach ($plugins as $p){
if (isset($lang)) unset($lang);
- if (@file_exists(DOKU_PLUGIN."$p/lang/en/lang.php")) {
+ if (file_exists(DOKU_PLUGIN."$p/lang/en/lang.php")) {
include DOKU_PLUGIN."$p/lang/en/lang.php";
}
- if (isset($conf['lang']) && $conf['lang']!='en' && @file_exists(DOKU_PLUGIN."$p/lang/".$conf['lang']."/lang.php")) {
+ if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(DOKU_PLUGIN."$p/lang/".$conf['lang']."/lang.php")) {
include DOKU_PLUGIN."$p/lang/".$conf['lang']."/lang.php";
}
if (isset($lang['js'])) {
@@ -231,14 +239,16 @@ function js_pluginstrings() {
*
* - $lang['js'] must be an array.
* - Nothing is returned for template without an entry for $lang['js']
+ *
+ * @return array
*/
function js_templatestrings() {
global $conf;
$templatestrings = array();
- if (@file_exists(tpl_incdir()."lang/en/lang.php")) {
+ if (file_exists(tpl_incdir()."lang/en/lang.php")) {
include tpl_incdir()."lang/en/lang.php";
}
- if (isset($conf['lang']) && $conf['lang']!='en' && @file_exists(tpl_incdir()."lang/".$conf['lang']."/lang.php")) {
+ if (isset($conf['lang']) && $conf['lang']!='en' && file_exists(tpl_incdir()."lang/".$conf['lang']."/lang.php")) {
include tpl_incdir()."lang/".$conf['lang']."/lang.php";
}
if (isset($lang['js'])) {
@@ -252,6 +262,9 @@ function js_templatestrings() {
* as newline
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $string
+ * @return string
*/
function js_escape($string){
return str_replace('\\\\n','\\n',addslashes($string));
@@ -261,6 +274,8 @@ function js_escape($string){
* Adds the given JavaScript code to the window.onload() event
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $func
*/
function js_runonstart($func){
echo "jQuery(function(){ $func; });".NL;
@@ -275,6 +290,9 @@ function js_runonstart($func){
* @author Nick Galbreath <nickg@modp.com>
* @author Andreas Gohr <andi@splitbrain.org>
* @link http://code.google.com/p/jsstrip/
+ *
+ * @param string $s
+ * @return string
*/
function js_compress($s){
$s = ltrim($s); // strip all initial whitespace
@@ -289,7 +307,11 @@ function js_compress($s){
// items that don't need spaces next to them
$chars = "^&|!+\-*\/%=\?:;,{}()<>% \t\n\r'\"[]";
- $regex_starters = array("(", "=", "[", "," , ":", "!");
+ // items which need a space if the sign before and after whitespace is equal.
+ // E.g. '+ ++' may not be compressed to '+++' --> syntax error.
+ $ops = "+-";
+
+ $regex_starters = array("(", "=", "[", "," , ":", "!", "&", "|");
$whitespaces_chars = array(" ", "\t", "\n", "\r", "\0", "\x0B");
@@ -389,19 +411,27 @@ function js_compress($s){
// whitespaces
if( $ch == ' ' || $ch == "\r" || $ch == "\n" || $ch == "\t" ){
- // leading spaces
- if($i+1 < $slen && (strpos($chars,$s[$i+1]) !== false)){
- $i = $i + 1;
- continue;
- }
- // trailing spaces
- // if this ch is space AND the last char processed
- // is special, then skip the space
$lch = substr($result,-1);
- if($lch && (strpos($chars,$lch) !== false)){
- $i = $i + 1;
- continue;
+
+ // Only consider deleting whitespace if the signs before and after
+ // are not equal and are not an operator which may not follow itself.
+ if ((!$lch || $s[$i+1] == ' ')
+ || $lch != $s[$i+1]
+ || strpos($ops,$s[$i+1]) === false) {
+ // leading spaces
+ if($i+1 < $slen && (strpos($chars,$s[$i+1]) !== false)){
+ $i = $i + 1;
+ continue;
+ }
+ // trailing spaces
+ // if this ch is space AND the last char processed
+ // is special, then skip the space
+ if($lch && (strpos($chars,$lch) !== false)){
+ $i = $i + 1;
+ continue;
+ }
}
+
// else after all of this convert the "whitespace" to
// a single space. It will get appended below
$ch = ' ';
diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php
index c09daa17c..61a68281f 100644
--- a/lib/exe/xmlrpc.php
+++ b/lib/exe/xmlrpc.php
@@ -23,6 +23,11 @@ class dokuwiki_xmlrpc_server extends IXR_Server {
$this->IXR_Server();
}
+ /**
+ * @param string $methodname
+ * @param array $args
+ * @return IXR_Error|mixed
+ */
function call($methodname, $args){
try {
$result = $this->remote->call($methodname, $args);
@@ -40,10 +45,18 @@ class dokuwiki_xmlrpc_server extends IXR_Server {
}
}
+ /**
+ * @param string|int $data iso date(yyyy[-]mm[-]dd[ hh:mm[:ss]]) or timestamp
+ * @return IXR_Date
+ */
function toDate($data) {
return new IXR_Date($data);
}
+ /**
+ * @param string $data
+ * @return IXR_Base64
+ */
function toFile($data) {
return new IXR_Base64($data);
}
diff --git a/lib/images/admin/acl.png b/lib/images/admin/acl.png
index c8f610c12..542e10899 100644
--- a/lib/images/admin/acl.png
+++ b/lib/images/admin/acl.png
Binary files differ
diff --git a/lib/images/admin/config.png b/lib/images/admin/config.png
index 3ec3923d1..679a67372 100644
--- a/lib/images/admin/config.png
+++ b/lib/images/admin/config.png
Binary files differ
diff --git a/lib/images/admin/plugin.png b/lib/images/admin/plugin.png
index f71124e5c..27bd15410 100644
--- a/lib/images/admin/plugin.png
+++ b/lib/images/admin/plugin.png
Binary files differ
diff --git a/lib/images/admin/popularity.png b/lib/images/admin/popularity.png
index 19392367a..e18a8cb44 100644
--- a/lib/images/admin/popularity.png
+++ b/lib/images/admin/popularity.png
Binary files differ
diff --git a/lib/images/admin/revert.png b/lib/images/admin/revert.png
index 5304f1b76..c74c7928b 100644
--- a/lib/images/admin/revert.png
+++ b/lib/images/admin/revert.png
Binary files differ
diff --git a/lib/images/admin/usermanager.png b/lib/images/admin/usermanager.png
index 898544ce9..e6f72e077 100644
--- a/lib/images/admin/usermanager.png
+++ b/lib/images/admin/usermanager.png
Binary files differ
diff --git a/lib/images/bullet.png b/lib/images/bullet.png
index 5e557b334..b8ec60c74 100644
--- a/lib/images/bullet.png
+++ b/lib/images/bullet.png
Binary files differ
diff --git a/lib/images/closed-rtl.png b/lib/images/closed-rtl.png
index caa027e34..016a3c370 100644
--- a/lib/images/closed-rtl.png
+++ b/lib/images/closed-rtl.png
Binary files differ
diff --git a/lib/images/closed.png b/lib/images/closed.png
index e3bd0f9e9..927bfc57f 100644
--- a/lib/images/closed.png
+++ b/lib/images/closed.png
Binary files differ
diff --git a/lib/images/diff.png b/lib/images/diff.png
index 657b10999..04fab07b7 100644
--- a/lib/images/diff.png
+++ b/lib/images/diff.png
Binary files differ
diff --git a/lib/images/email.png b/lib/images/email.png
index d1d4a5fd5..575b83142 100644
--- a/lib/images/email.png
+++ b/lib/images/email.png
Binary files differ
diff --git a/lib/images/error.png b/lib/images/error.png
index 7bd84f7a3..da0692429 100644
--- a/lib/images/error.png
+++ b/lib/images/error.png
Binary files differ
diff --git a/lib/images/external-link.png b/lib/images/external-link.png
index a4d5de17c..fecac61c9 100644
--- a/lib/images/external-link.png
+++ b/lib/images/external-link.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/7z.png b/lib/images/fileicons/32x32/7z.png
index 9ba7da94a..2537cb96d 100644
--- a/lib/images/fileicons/32x32/7z.png
+++ b/lib/images/fileicons/32x32/7z.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/asm.png b/lib/images/fileicons/32x32/asm.png
index f1a1f322b..17e74d0b2 100644
--- a/lib/images/fileicons/32x32/asm.png
+++ b/lib/images/fileicons/32x32/asm.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/bash.png b/lib/images/fileicons/32x32/bash.png
index c28404ed1..a31ee688b 100644
--- a/lib/images/fileicons/32x32/bash.png
+++ b/lib/images/fileicons/32x32/bash.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/bz2.png b/lib/images/fileicons/32x32/bz2.png
index 7be9b7c06..c78031652 100644
--- a/lib/images/fileicons/32x32/bz2.png
+++ b/lib/images/fileicons/32x32/bz2.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/c.png b/lib/images/fileicons/32x32/c.png
index 0a01f8f3a..d8032d075 100644
--- a/lib/images/fileicons/32x32/c.png
+++ b/lib/images/fileicons/32x32/c.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/cc.png b/lib/images/fileicons/32x32/cc.png
index b09b3357f..241ebd4e8 100644
--- a/lib/images/fileicons/32x32/cc.png
+++ b/lib/images/fileicons/32x32/cc.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/conf.png b/lib/images/fileicons/32x32/conf.png
index 91a8a10de..9797c2ad8 100644
--- a/lib/images/fileicons/32x32/conf.png
+++ b/lib/images/fileicons/32x32/conf.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/cpp.png b/lib/images/fileicons/32x32/cpp.png
index 1ce35422c..128906528 100644
--- a/lib/images/fileicons/32x32/cpp.png
+++ b/lib/images/fileicons/32x32/cpp.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/cs.png b/lib/images/fileicons/32x32/cs.png
index d300f7551..6c2aae272 100644
--- a/lib/images/fileicons/32x32/cs.png
+++ b/lib/images/fileicons/32x32/cs.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/csh.png b/lib/images/fileicons/32x32/csh.png
index 72ecbcc52..e43584c7e 100644
--- a/lib/images/fileicons/32x32/csh.png
+++ b/lib/images/fileicons/32x32/csh.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/css.png b/lib/images/fileicons/32x32/css.png
index 638957637..786f30471 100644
--- a/lib/images/fileicons/32x32/css.png
+++ b/lib/images/fileicons/32x32/css.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/csv.png b/lib/images/fileicons/32x32/csv.png
index 3ee42f047..e5cdbf940 100644
--- a/lib/images/fileicons/32x32/csv.png
+++ b/lib/images/fileicons/32x32/csv.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/deb.png b/lib/images/fileicons/32x32/deb.png
index 8d625ccf2..e2828a347 100644
--- a/lib/images/fileicons/32x32/deb.png
+++ b/lib/images/fileicons/32x32/deb.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/diff.png b/lib/images/fileicons/32x32/diff.png
index 4dd98e7cc..9e413cb6e 100644
--- a/lib/images/fileicons/32x32/diff.png
+++ b/lib/images/fileicons/32x32/diff.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/doc.png b/lib/images/fileicons/32x32/doc.png
index 8369c1f73..43ec35416 100644
--- a/lib/images/fileicons/32x32/doc.png
+++ b/lib/images/fileicons/32x32/doc.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/docx.png b/lib/images/fileicons/32x32/docx.png
index ce5dfb3d3..a25f260c6 100644
--- a/lib/images/fileicons/32x32/docx.png
+++ b/lib/images/fileicons/32x32/docx.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/file.png b/lib/images/fileicons/32x32/file.png
index 52318f6e2..7f6d51a09 100644
--- a/lib/images/fileicons/32x32/file.png
+++ b/lib/images/fileicons/32x32/file.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/gif.png b/lib/images/fileicons/32x32/gif.png
index e39af08cc..dde2d8414 100644
--- a/lib/images/fileicons/32x32/gif.png
+++ b/lib/images/fileicons/32x32/gif.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/gz.png b/lib/images/fileicons/32x32/gz.png
index 573ce7afd..5bddffb6d 100644
--- a/lib/images/fileicons/32x32/gz.png
+++ b/lib/images/fileicons/32x32/gz.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/h.png b/lib/images/fileicons/32x32/h.png
index 27c8ceaf3..5c169a33b 100644
--- a/lib/images/fileicons/32x32/h.png
+++ b/lib/images/fileicons/32x32/h.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/hpp.png b/lib/images/fileicons/32x32/hpp.png
index 04876a5d5..128110d5b 100644
--- a/lib/images/fileicons/32x32/hpp.png
+++ b/lib/images/fileicons/32x32/hpp.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/htm.png b/lib/images/fileicons/32x32/htm.png
index ec4f15ac6..79096dc7e 100644
--- a/lib/images/fileicons/32x32/htm.png
+++ b/lib/images/fileicons/32x32/htm.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/html.png b/lib/images/fileicons/32x32/html.png
index ec4f15ac6..79096dc7e 100644
--- a/lib/images/fileicons/32x32/html.png
+++ b/lib/images/fileicons/32x32/html.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ico.png b/lib/images/fileicons/32x32/ico.png
index 0a219e6f2..60f73bd38 100644
--- a/lib/images/fileicons/32x32/ico.png
+++ b/lib/images/fileicons/32x32/ico.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/java.png b/lib/images/fileicons/32x32/java.png
index ee9cc4ccb..1d8694996 100644
--- a/lib/images/fileicons/32x32/java.png
+++ b/lib/images/fileicons/32x32/java.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/jpeg.png b/lib/images/fileicons/32x32/jpeg.png
index 5fb71dd73..4b5c425ad 100644
--- a/lib/images/fileicons/32x32/jpeg.png
+++ b/lib/images/fileicons/32x32/jpeg.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/jpg.png b/lib/images/fileicons/32x32/jpg.png
index 5fb71dd73..4b5c425ad 100644
--- a/lib/images/fileicons/32x32/jpg.png
+++ b/lib/images/fileicons/32x32/jpg.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/js.png b/lib/images/fileicons/32x32/js.png
index 9bbbfb709..5a8dabe81 100644
--- a/lib/images/fileicons/32x32/js.png
+++ b/lib/images/fileicons/32x32/js.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/json.png b/lib/images/fileicons/32x32/json.png
index 583ece683..e4a55e634 100644
--- a/lib/images/fileicons/32x32/json.png
+++ b/lib/images/fileicons/32x32/json.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/lua.png b/lib/images/fileicons/32x32/lua.png
index 9e8fc9517..c8e0bf208 100644
--- a/lib/images/fileicons/32x32/lua.png
+++ b/lib/images/fileicons/32x32/lua.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/mp3.png b/lib/images/fileicons/32x32/mp3.png
index 1acd83276..9bf169553 100644
--- a/lib/images/fileicons/32x32/mp3.png
+++ b/lib/images/fileicons/32x32/mp3.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/mp4.png b/lib/images/fileicons/32x32/mp4.png
index 03db6f450..071abc324 100644
--- a/lib/images/fileicons/32x32/mp4.png
+++ b/lib/images/fileicons/32x32/mp4.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odc.png b/lib/images/fileicons/32x32/odc.png
index 9a34f2129..3ad6a3c2d 100644
--- a/lib/images/fileicons/32x32/odc.png
+++ b/lib/images/fileicons/32x32/odc.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odf.png b/lib/images/fileicons/32x32/odf.png
index e3b4333ad..8dd89eac6 100644
--- a/lib/images/fileicons/32x32/odf.png
+++ b/lib/images/fileicons/32x32/odf.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odg.png b/lib/images/fileicons/32x32/odg.png
index c3b192b2d..7020d1396 100644
--- a/lib/images/fileicons/32x32/odg.png
+++ b/lib/images/fileicons/32x32/odg.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odi.png b/lib/images/fileicons/32x32/odi.png
index 6baa69407..9a08a426a 100644
--- a/lib/images/fileicons/32x32/odi.png
+++ b/lib/images/fileicons/32x32/odi.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odp.png b/lib/images/fileicons/32x32/odp.png
index 8e09dd6e4..e6b538d27 100644
--- a/lib/images/fileicons/32x32/odp.png
+++ b/lib/images/fileicons/32x32/odp.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ods.png b/lib/images/fileicons/32x32/ods.png
index 90892f3d4..cf4a226ff 100644
--- a/lib/images/fileicons/32x32/ods.png
+++ b/lib/images/fileicons/32x32/ods.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/odt.png b/lib/images/fileicons/32x32/odt.png
index 22ec1fffb..1eae19cc7 100644
--- a/lib/images/fileicons/32x32/odt.png
+++ b/lib/images/fileicons/32x32/odt.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ogg.png b/lib/images/fileicons/32x32/ogg.png
index f988fabc3..d7b0553f6 100644
--- a/lib/images/fileicons/32x32/ogg.png
+++ b/lib/images/fileicons/32x32/ogg.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ogv.png b/lib/images/fileicons/32x32/ogv.png
index 1083455fb..4fdedbaee 100644
--- a/lib/images/fileicons/32x32/ogv.png
+++ b/lib/images/fileicons/32x32/ogv.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/pas.png b/lib/images/fileicons/32x32/pas.png
index c2c05d2d1..8d2999e98 100644
--- a/lib/images/fileicons/32x32/pas.png
+++ b/lib/images/fileicons/32x32/pas.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/pdf.png b/lib/images/fileicons/32x32/pdf.png
index 0efa0dc31..09ae62e6a 100644
--- a/lib/images/fileicons/32x32/pdf.png
+++ b/lib/images/fileicons/32x32/pdf.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/php.png b/lib/images/fileicons/32x32/php.png
index 8f3c84e32..1f4cabf6f 100644
--- a/lib/images/fileicons/32x32/php.png
+++ b/lib/images/fileicons/32x32/php.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/pl.png b/lib/images/fileicons/32x32/pl.png
index 88aa2723f..038e9f3a7 100644
--- a/lib/images/fileicons/32x32/pl.png
+++ b/lib/images/fileicons/32x32/pl.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/png.png b/lib/images/fileicons/32x32/png.png
index 0ecd29691..e3ea1c3a0 100644
--- a/lib/images/fileicons/32x32/png.png
+++ b/lib/images/fileicons/32x32/png.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ppt.png b/lib/images/fileicons/32x32/ppt.png
index 84b523a23..acee94571 100644
--- a/lib/images/fileicons/32x32/ppt.png
+++ b/lib/images/fileicons/32x32/ppt.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/pptx.png b/lib/images/fileicons/32x32/pptx.png
index 1446cf4de..b57b09173 100644
--- a/lib/images/fileicons/32x32/pptx.png
+++ b/lib/images/fileicons/32x32/pptx.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/ps.png b/lib/images/fileicons/32x32/ps.png
index e1a74988d..523a0be30 100644
--- a/lib/images/fileicons/32x32/ps.png
+++ b/lib/images/fileicons/32x32/ps.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/py.png b/lib/images/fileicons/32x32/py.png
index cf6e412f0..ae6e06ad5 100644
--- a/lib/images/fileicons/32x32/py.png
+++ b/lib/images/fileicons/32x32/py.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/rar.png b/lib/images/fileicons/32x32/rar.png
index 4af2a4d46..5b1cfcbee 100644
--- a/lib/images/fileicons/32x32/rar.png
+++ b/lib/images/fileicons/32x32/rar.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/rb.png b/lib/images/fileicons/32x32/rb.png
index b0dfd8980..398f20802 100644
--- a/lib/images/fileicons/32x32/rb.png
+++ b/lib/images/fileicons/32x32/rb.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/rpm.png b/lib/images/fileicons/32x32/rpm.png
index 2ec5f4e1b..c66a90741 100644
--- a/lib/images/fileicons/32x32/rpm.png
+++ b/lib/images/fileicons/32x32/rpm.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/rtf.png b/lib/images/fileicons/32x32/rtf.png
index 82add4fd7..43182f349 100644
--- a/lib/images/fileicons/32x32/rtf.png
+++ b/lib/images/fileicons/32x32/rtf.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sh.png b/lib/images/fileicons/32x32/sh.png
index 93c093ea4..52e3f952c 100644
--- a/lib/images/fileicons/32x32/sh.png
+++ b/lib/images/fileicons/32x32/sh.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sql.png b/lib/images/fileicons/32x32/sql.png
index f6436e725..bb23e56b9 100644
--- a/lib/images/fileicons/32x32/sql.png
+++ b/lib/images/fileicons/32x32/sql.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/swf.png b/lib/images/fileicons/32x32/swf.png
index b43642905..be8f5460e 100644
--- a/lib/images/fileicons/32x32/swf.png
+++ b/lib/images/fileicons/32x32/swf.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sxc.png b/lib/images/fileicons/32x32/sxc.png
index 50676be6a..cc45ffa8e 100644
--- a/lib/images/fileicons/32x32/sxc.png
+++ b/lib/images/fileicons/32x32/sxc.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sxd.png b/lib/images/fileicons/32x32/sxd.png
index f715a8ff0..26f44c215 100644
--- a/lib/images/fileicons/32x32/sxd.png
+++ b/lib/images/fileicons/32x32/sxd.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sxi.png b/lib/images/fileicons/32x32/sxi.png
index 3d9f31d3b..62e90bc97 100644
--- a/lib/images/fileicons/32x32/sxi.png
+++ b/lib/images/fileicons/32x32/sxi.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/sxw.png b/lib/images/fileicons/32x32/sxw.png
index bd8ab1436..5196307df 100644
--- a/lib/images/fileicons/32x32/sxw.png
+++ b/lib/images/fileicons/32x32/sxw.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/tar.png b/lib/images/fileicons/32x32/tar.png
index 4a420a22a..8eb0ef489 100644
--- a/lib/images/fileicons/32x32/tar.png
+++ b/lib/images/fileicons/32x32/tar.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/tgz.png b/lib/images/fileicons/32x32/tgz.png
index 8cf6af41a..77faacb92 100644
--- a/lib/images/fileicons/32x32/tgz.png
+++ b/lib/images/fileicons/32x32/tgz.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/txt.png b/lib/images/fileicons/32x32/txt.png
index d9ff7d595..5d09e3c93 100644
--- a/lib/images/fileicons/32x32/txt.png
+++ b/lib/images/fileicons/32x32/txt.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/wav.png b/lib/images/fileicons/32x32/wav.png
index c39a8445f..37b871be4 100644
--- a/lib/images/fileicons/32x32/wav.png
+++ b/lib/images/fileicons/32x32/wav.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/webm.png b/lib/images/fileicons/32x32/webm.png
index 99b9c87b2..9044845b9 100644
--- a/lib/images/fileicons/32x32/webm.png
+++ b/lib/images/fileicons/32x32/webm.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/xls.png b/lib/images/fileicons/32x32/xls.png
index 7447d9cdf..1c21a6ed3 100644
--- a/lib/images/fileicons/32x32/xls.png
+++ b/lib/images/fileicons/32x32/xls.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/xlsx.png b/lib/images/fileicons/32x32/xlsx.png
index 920217267..cba5937ab 100644
--- a/lib/images/fileicons/32x32/xlsx.png
+++ b/lib/images/fileicons/32x32/xlsx.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/xml.png b/lib/images/fileicons/32x32/xml.png
index 4ea3b1f6c..8eee58398 100644
--- a/lib/images/fileicons/32x32/xml.png
+++ b/lib/images/fileicons/32x32/xml.png
Binary files differ
diff --git a/lib/images/fileicons/32x32/zip.png b/lib/images/fileicons/32x32/zip.png
index f07d18e2c..0ce83b6bc 100644
--- a/lib/images/fileicons/32x32/zip.png
+++ b/lib/images/fileicons/32x32/zip.png
Binary files differ
diff --git a/lib/images/fileicons/7z.png b/lib/images/fileicons/7z.png
index 037cd73a0..fa6abe35b 100644
--- a/lib/images/fileicons/7z.png
+++ b/lib/images/fileicons/7z.png
Binary files differ
diff --git a/lib/images/fileicons/asm.png b/lib/images/fileicons/asm.png
index 1281e12b8..c22c451a1 100644
--- a/lib/images/fileicons/asm.png
+++ b/lib/images/fileicons/asm.png
Binary files differ
diff --git a/lib/images/fileicons/bash.png b/lib/images/fileicons/bash.png
index 257584649..f352cfdb1 100644
--- a/lib/images/fileicons/bash.png
+++ b/lib/images/fileicons/bash.png
Binary files differ
diff --git a/lib/images/fileicons/bz2.png b/lib/images/fileicons/bz2.png
index a4bcc70a1..a1b048fc2 100644
--- a/lib/images/fileicons/bz2.png
+++ b/lib/images/fileicons/bz2.png
Binary files differ
diff --git a/lib/images/fileicons/c.png b/lib/images/fileicons/c.png
index f0d4e9aa1..51d9c7f15 100644
--- a/lib/images/fileicons/c.png
+++ b/lib/images/fileicons/c.png
Binary files differ
diff --git a/lib/images/fileicons/cc.png b/lib/images/fileicons/cc.png
index e6f4c6457..8aeae79eb 100644
--- a/lib/images/fileicons/cc.png
+++ b/lib/images/fileicons/cc.png
Binary files differ
diff --git a/lib/images/fileicons/conf.png b/lib/images/fileicons/conf.png
index 94ace02cf..c845d4962 100644
--- a/lib/images/fileicons/conf.png
+++ b/lib/images/fileicons/conf.png
Binary files differ
diff --git a/lib/images/fileicons/cpp.png b/lib/images/fileicons/cpp.png
index 4027e4beb..1a04c3291 100644
--- a/lib/images/fileicons/cpp.png
+++ b/lib/images/fileicons/cpp.png
Binary files differ
diff --git a/lib/images/fileicons/cs.png b/lib/images/fileicons/cs.png
index 31b7f7661..740725a30 100644
--- a/lib/images/fileicons/cs.png
+++ b/lib/images/fileicons/cs.png
Binary files differ
diff --git a/lib/images/fileicons/csh.png b/lib/images/fileicons/csh.png
index cc21e7995..c0131c5f4 100644
--- a/lib/images/fileicons/csh.png
+++ b/lib/images/fileicons/csh.png
Binary files differ
diff --git a/lib/images/fileicons/css.png b/lib/images/fileicons/css.png
index abd16fa8e..89ac36470 100644
--- a/lib/images/fileicons/css.png
+++ b/lib/images/fileicons/css.png
Binary files differ
diff --git a/lib/images/fileicons/csv.png b/lib/images/fileicons/csv.png
index af37ba577..837ae295f 100644
--- a/lib/images/fileicons/csv.png
+++ b/lib/images/fileicons/csv.png
Binary files differ
diff --git a/lib/images/fileicons/deb.png b/lib/images/fileicons/deb.png
index 9eb29019b..1db6fa5b8 100644
--- a/lib/images/fileicons/deb.png
+++ b/lib/images/fileicons/deb.png
Binary files differ
diff --git a/lib/images/fileicons/diff.png b/lib/images/fileicons/diff.png
index 1775da014..03e9af94d 100644
--- a/lib/images/fileicons/diff.png
+++ b/lib/images/fileicons/diff.png
Binary files differ
diff --git a/lib/images/fileicons/doc.png b/lib/images/fileicons/doc.png
index 925494576..dcc070f49 100644
--- a/lib/images/fileicons/doc.png
+++ b/lib/images/fileicons/doc.png
Binary files differ
diff --git a/lib/images/fileicons/docx.png b/lib/images/fileicons/docx.png
index 5bae13f9e..1a98a8d4f 100644
--- a/lib/images/fileicons/docx.png
+++ b/lib/images/fileicons/docx.png
Binary files differ
diff --git a/lib/images/fileicons/file.png b/lib/images/fileicons/file.png
index 8f31d38ac..54fe8abda 100644
--- a/lib/images/fileicons/file.png
+++ b/lib/images/fileicons/file.png
Binary files differ
diff --git a/lib/images/fileicons/gif.png b/lib/images/fileicons/gif.png
index bcbb8366b..38bdbf2dc 100644
--- a/lib/images/fileicons/gif.png
+++ b/lib/images/fileicons/gif.png
Binary files differ
diff --git a/lib/images/fileicons/gz.png b/lib/images/fileicons/gz.png
index 0a0a4b94f..422693a39 100644
--- a/lib/images/fileicons/gz.png
+++ b/lib/images/fileicons/gz.png
Binary files differ
diff --git a/lib/images/fileicons/h.png b/lib/images/fileicons/h.png
index 4afe8f84f..d65f2f507 100644
--- a/lib/images/fileicons/h.png
+++ b/lib/images/fileicons/h.png
Binary files differ
diff --git a/lib/images/fileicons/hpp.png b/lib/images/fileicons/hpp.png
index 3ee7583d2..6d314f5c9 100644
--- a/lib/images/fileicons/hpp.png
+++ b/lib/images/fileicons/hpp.png
Binary files differ
diff --git a/lib/images/fileicons/htm.png b/lib/images/fileicons/htm.png
index 02e81932b..f45847f7e 100644
--- a/lib/images/fileicons/htm.png
+++ b/lib/images/fileicons/htm.png
Binary files differ
diff --git a/lib/images/fileicons/html.png b/lib/images/fileicons/html.png
index 02e81932b..f45847f7e 100644
--- a/lib/images/fileicons/html.png
+++ b/lib/images/fileicons/html.png
Binary files differ
diff --git a/lib/images/fileicons/ico.png b/lib/images/fileicons/ico.png
index 93343717c..38aa34b2c 100644
--- a/lib/images/fileicons/ico.png
+++ b/lib/images/fileicons/ico.png
Binary files differ
diff --git a/lib/images/fileicons/java.png b/lib/images/fileicons/java.png
index cf6f5b4f5..0c62347f5 100644
--- a/lib/images/fileicons/java.png
+++ b/lib/images/fileicons/java.png
Binary files differ
diff --git a/lib/images/fileicons/jpeg.png b/lib/images/fileicons/jpeg.png
index 29dea5761..e446dd410 100644
--- a/lib/images/fileicons/jpeg.png
+++ b/lib/images/fileicons/jpeg.png
Binary files differ
diff --git a/lib/images/fileicons/jpg.png b/lib/images/fileicons/jpg.png
index 29dea5761..e446dd410 100644
--- a/lib/images/fileicons/jpg.png
+++ b/lib/images/fileicons/jpg.png
Binary files differ
diff --git a/lib/images/fileicons/js.png b/lib/images/fileicons/js.png
index 16e3f9538..bee428f20 100644
--- a/lib/images/fileicons/js.png
+++ b/lib/images/fileicons/js.png
Binary files differ
diff --git a/lib/images/fileicons/json.png b/lib/images/fileicons/json.png
index 96611cb53..4d0a3cfb5 100644
--- a/lib/images/fileicons/json.png
+++ b/lib/images/fileicons/json.png
Binary files differ
diff --git a/lib/images/fileicons/lua.png b/lib/images/fileicons/lua.png
index 81fdeea40..fcebe3d02 100644
--- a/lib/images/fileicons/lua.png
+++ b/lib/images/fileicons/lua.png
Binary files differ
diff --git a/lib/images/fileicons/mp3.png b/lib/images/fileicons/mp3.png
index 7c6d37184..2be976f9c 100644
--- a/lib/images/fileicons/mp3.png
+++ b/lib/images/fileicons/mp3.png
Binary files differ
diff --git a/lib/images/fileicons/mp4.png b/lib/images/fileicons/mp4.png
index ee5b91150..dc6fd0022 100644
--- a/lib/images/fileicons/mp4.png
+++ b/lib/images/fileicons/mp4.png
Binary files differ
diff --git a/lib/images/fileicons/odc.png b/lib/images/fileicons/odc.png
index 331140552..bf3b3a104 100644
--- a/lib/images/fileicons/odc.png
+++ b/lib/images/fileicons/odc.png
Binary files differ
diff --git a/lib/images/fileicons/odf.png b/lib/images/fileicons/odf.png
index eccae9e20..fcfc58f76 100644
--- a/lib/images/fileicons/odf.png
+++ b/lib/images/fileicons/odf.png
Binary files differ
diff --git a/lib/images/fileicons/odg.png b/lib/images/fileicons/odg.png
index 5224425e6..0a8196cbf 100644
--- a/lib/images/fileicons/odg.png
+++ b/lib/images/fileicons/odg.png
Binary files differ
diff --git a/lib/images/fileicons/odi.png b/lib/images/fileicons/odi.png
index b57fd974d..0fc8508ad 100644
--- a/lib/images/fileicons/odi.png
+++ b/lib/images/fileicons/odi.png
Binary files differ
diff --git a/lib/images/fileicons/odp.png b/lib/images/fileicons/odp.png
index 81d1023c0..75b1db8e1 100644
--- a/lib/images/fileicons/odp.png
+++ b/lib/images/fileicons/odp.png
Binary files differ
diff --git a/lib/images/fileicons/ods.png b/lib/images/fileicons/ods.png
index 77e6d5366..2017426bd 100644
--- a/lib/images/fileicons/ods.png
+++ b/lib/images/fileicons/ods.png
Binary files differ
diff --git a/lib/images/fileicons/odt.png b/lib/images/fileicons/odt.png
index 8490eec74..6f8fae438 100644
--- a/lib/images/fileicons/odt.png
+++ b/lib/images/fileicons/odt.png
Binary files differ
diff --git a/lib/images/fileicons/ogg.png b/lib/images/fileicons/ogg.png
index 38f615c99..8bb50800e 100644
--- a/lib/images/fileicons/ogg.png
+++ b/lib/images/fileicons/ogg.png
Binary files differ
diff --git a/lib/images/fileicons/ogv.png b/lib/images/fileicons/ogv.png
index a937dfc4c..e6b65ac60 100644
--- a/lib/images/fileicons/ogv.png
+++ b/lib/images/fileicons/ogv.png
Binary files differ
diff --git a/lib/images/fileicons/pas.png b/lib/images/fileicons/pas.png
index 0c14372d0..19f0a3c6c 100644
--- a/lib/images/fileicons/pas.png
+++ b/lib/images/fileicons/pas.png
Binary files differ
diff --git a/lib/images/fileicons/pdf.png b/lib/images/fileicons/pdf.png
index 1bc154641..42fbfd2bb 100644
--- a/lib/images/fileicons/pdf.png
+++ b/lib/images/fileicons/pdf.png
Binary files differ
diff --git a/lib/images/fileicons/php.png b/lib/images/fileicons/php.png
index 2deb5d3b1..de0d8eeb9 100644
--- a/lib/images/fileicons/php.png
+++ b/lib/images/fileicons/php.png
Binary files differ
diff --git a/lib/images/fileicons/pl.png b/lib/images/fileicons/pl.png
index a4fa92203..d95513d25 100644
--- a/lib/images/fileicons/pl.png
+++ b/lib/images/fileicons/pl.png
Binary files differ
diff --git a/lib/images/fileicons/png.png b/lib/images/fileicons/png.png
index 007270532..273476daf 100644
--- a/lib/images/fileicons/png.png
+++ b/lib/images/fileicons/png.png
Binary files differ
diff --git a/lib/images/fileicons/ppt.png b/lib/images/fileicons/ppt.png
index 3355c2712..a03d3c0a6 100644
--- a/lib/images/fileicons/ppt.png
+++ b/lib/images/fileicons/ppt.png
Binary files differ
diff --git a/lib/images/fileicons/pptx.png b/lib/images/fileicons/pptx.png
index 269cdb8fc..9b5c6332b 100644
--- a/lib/images/fileicons/pptx.png
+++ b/lib/images/fileicons/pptx.png
Binary files differ
diff --git a/lib/images/fileicons/ps.png b/lib/images/fileicons/ps.png
index e61d1aa7e..3b7848c8e 100644
--- a/lib/images/fileicons/ps.png
+++ b/lib/images/fileicons/ps.png
Binary files differ
diff --git a/lib/images/fileicons/py.png b/lib/images/fileicons/py.png
index f0ed0258c..893019ee6 100644
--- a/lib/images/fileicons/py.png
+++ b/lib/images/fileicons/py.png
Binary files differ
diff --git a/lib/images/fileicons/rar.png b/lib/images/fileicons/rar.png
index f15d4ce5b..091a635b7 100644
--- a/lib/images/fileicons/rar.png
+++ b/lib/images/fileicons/rar.png
Binary files differ
diff --git a/lib/images/fileicons/rb.png b/lib/images/fileicons/rb.png
index 0e59207fc..9b58db030 100644
--- a/lib/images/fileicons/rb.png
+++ b/lib/images/fileicons/rb.png
Binary files differ
diff --git a/lib/images/fileicons/rpm.png b/lib/images/fileicons/rpm.png
index 831424ff5..75da50e0c 100644
--- a/lib/images/fileicons/rpm.png
+++ b/lib/images/fileicons/rpm.png
Binary files differ
diff --git a/lib/images/fileicons/rtf.png b/lib/images/fileicons/rtf.png
index bbc425ca3..2e5a6e53e 100644
--- a/lib/images/fileicons/rtf.png
+++ b/lib/images/fileicons/rtf.png
Binary files differ
diff --git a/lib/images/fileicons/sh.png b/lib/images/fileicons/sh.png
index 256067106..bc4835414 100644
--- a/lib/images/fileicons/sh.png
+++ b/lib/images/fileicons/sh.png
Binary files differ
diff --git a/lib/images/fileicons/sql.png b/lib/images/fileicons/sql.png
index 6697943e2..c36f3a812 100644
--- a/lib/images/fileicons/sql.png
+++ b/lib/images/fileicons/sql.png
Binary files differ
diff --git a/lib/images/fileicons/swf.png b/lib/images/fileicons/swf.png
index b45a72cc9..5c8838778 100644
--- a/lib/images/fileicons/swf.png
+++ b/lib/images/fileicons/swf.png
Binary files differ
diff --git a/lib/images/fileicons/sxc.png b/lib/images/fileicons/sxc.png
index c96cf303f..3b5c71f59 100644
--- a/lib/images/fileicons/sxc.png
+++ b/lib/images/fileicons/sxc.png
Binary files differ
diff --git a/lib/images/fileicons/sxd.png b/lib/images/fileicons/sxd.png
index 124b928e1..15390cd0c 100644
--- a/lib/images/fileicons/sxd.png
+++ b/lib/images/fileicons/sxd.png
Binary files differ
diff --git a/lib/images/fileicons/sxi.png b/lib/images/fileicons/sxi.png
index 8a5e23033..a0fb65431 100644
--- a/lib/images/fileicons/sxi.png
+++ b/lib/images/fileicons/sxi.png
Binary files differ
diff --git a/lib/images/fileicons/sxw.png b/lib/images/fileicons/sxw.png
index 9a903791c..865dc0c6e 100644
--- a/lib/images/fileicons/sxw.png
+++ b/lib/images/fileicons/sxw.png
Binary files differ
diff --git a/lib/images/fileicons/tar.png b/lib/images/fileicons/tar.png
index e57029adc..8f9fd0f08 100644
--- a/lib/images/fileicons/tar.png
+++ b/lib/images/fileicons/tar.png
Binary files differ
diff --git a/lib/images/fileicons/tgz.png b/lib/images/fileicons/tgz.png
index 25ef9e15a..8423ef087 100644
--- a/lib/images/fileicons/tgz.png
+++ b/lib/images/fileicons/tgz.png
Binary files differ
diff --git a/lib/images/fileicons/txt.png b/lib/images/fileicons/txt.png
index 4fd921655..1619cc497 100644
--- a/lib/images/fileicons/txt.png
+++ b/lib/images/fileicons/txt.png
Binary files differ
diff --git a/lib/images/fileicons/wav.png b/lib/images/fileicons/wav.png
index c8880c62e..80eac9783 100644
--- a/lib/images/fileicons/wav.png
+++ b/lib/images/fileicons/wav.png
Binary files differ
diff --git a/lib/images/fileicons/webm.png b/lib/images/fileicons/webm.png
index 55db61914..cec3e6d5b 100644
--- a/lib/images/fileicons/webm.png
+++ b/lib/images/fileicons/webm.png
Binary files differ
diff --git a/lib/images/fileicons/xls.png b/lib/images/fileicons/xls.png
index 5ac56f20d..be9b42fff 100644
--- a/lib/images/fileicons/xls.png
+++ b/lib/images/fileicons/xls.png
Binary files differ
diff --git a/lib/images/fileicons/xlsx.png b/lib/images/fileicons/xlsx.png
index 89c84c522..fd5d4f117 100644
--- a/lib/images/fileicons/xlsx.png
+++ b/lib/images/fileicons/xlsx.png
Binary files differ
diff --git a/lib/images/fileicons/xml.png b/lib/images/fileicons/xml.png
index 4480a6385..2a96d8b31 100644
--- a/lib/images/fileicons/xml.png
+++ b/lib/images/fileicons/xml.png
Binary files differ
diff --git a/lib/images/fileicons/zip.png b/lib/images/fileicons/zip.png
index 4a36a35ff..4ce08bf7d 100644
--- a/lib/images/fileicons/zip.png
+++ b/lib/images/fileicons/zip.png
Binary files differ
diff --git a/lib/images/history.png b/lib/images/history.png
index 82a418d44..f6af0f6f1 100644
--- a/lib/images/history.png
+++ b/lib/images/history.png
Binary files differ
diff --git a/lib/images/icon-list.png b/lib/images/icon-list.png
index ecfeed92d..4ae738a07 100644
--- a/lib/images/icon-list.png
+++ b/lib/images/icon-list.png
Binary files differ
diff --git a/lib/images/icon-sort.png b/lib/images/icon-sort.png
index c6403dd3c..190397eb6 100644
--- a/lib/images/icon-sort.png
+++ b/lib/images/icon-sort.png
Binary files differ
diff --git a/lib/images/info.png b/lib/images/info.png
index 121c7336d..5e2336435 100644
--- a/lib/images/info.png
+++ b/lib/images/info.png
Binary files differ
diff --git a/lib/images/interwiki.png b/lib/images/interwiki.png
index f957e71e5..10a2bbe1e 100644
--- a/lib/images/interwiki.png
+++ b/lib/images/interwiki.png
Binary files differ
diff --git a/lib/images/interwiki/user.png b/lib/images/interwiki/user.png
index 79f35ccbd..da84e3ddc 100644
--- a/lib/images/interwiki/user.png
+++ b/lib/images/interwiki/user.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by-nc-nd.png b/lib/images/license/badge/cc-by-nc-nd.png
index 94aae9e09..c84aff104 100644
--- a/lib/images/license/badge/cc-by-nc-nd.png
+++ b/lib/images/license/badge/cc-by-nc-nd.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by-nc-sa.png b/lib/images/license/badge/cc-by-nc-sa.png
index 51141f5ec..e7b57845b 100644
--- a/lib/images/license/badge/cc-by-nc-sa.png
+++ b/lib/images/license/badge/cc-by-nc-sa.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by-nc.png b/lib/images/license/badge/cc-by-nc.png
index aeb8cdc8c..b422cdcfd 100644
--- a/lib/images/license/badge/cc-by-nc.png
+++ b/lib/images/license/badge/cc-by-nc.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by-nd.png b/lib/images/license/badge/cc-by-nd.png
index 6a2e59a68..18322992c 100644
--- a/lib/images/license/badge/cc-by-nd.png
+++ b/lib/images/license/badge/cc-by-nd.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by-sa.png b/lib/images/license/badge/cc-by-sa.png
index f0aa4aaf0..5749f65b8 100644
--- a/lib/images/license/badge/cc-by-sa.png
+++ b/lib/images/license/badge/cc-by-sa.png
Binary files differ
diff --git a/lib/images/license/badge/cc-by.png b/lib/images/license/badge/cc-by.png
index c7389b2f6..700679a13 100644
--- a/lib/images/license/badge/cc-by.png
+++ b/lib/images/license/badge/cc-by.png
Binary files differ
diff --git a/lib/images/license/badge/cc-zero.png b/lib/images/license/badge/cc-zero.png
index fd3dff422..e6d82bfab 100644
--- a/lib/images/license/badge/cc-zero.png
+++ b/lib/images/license/badge/cc-zero.png
Binary files differ
diff --git a/lib/images/license/badge/cc.png b/lib/images/license/badge/cc.png
index 8ac73aa4e..e28f32c79 100644
--- a/lib/images/license/badge/cc.png
+++ b/lib/images/license/badge/cc.png
Binary files differ
diff --git a/lib/images/license/badge/gnufdl.png b/lib/images/license/badge/gnufdl.png
index e92910128..635de2bd3 100644
--- a/lib/images/license/badge/gnufdl.png
+++ b/lib/images/license/badge/gnufdl.png
Binary files differ
diff --git a/lib/images/license/badge/publicdomain.png b/lib/images/license/badge/publicdomain.png
index 8148d037a..fd742cc9d 100644
--- a/lib/images/license/badge/publicdomain.png
+++ b/lib/images/license/badge/publicdomain.png
Binary files differ
diff --git a/lib/images/license/button/cc-by-nc-nd.png b/lib/images/license/button/cc-by-nc-nd.png
index ac58d8627..994025f15 100644
--- a/lib/images/license/button/cc-by-nc-nd.png
+++ b/lib/images/license/button/cc-by-nc-nd.png
Binary files differ
diff --git a/lib/images/license/button/cc-by-nc-sa.png b/lib/images/license/button/cc-by-nc-sa.png
index a9d23c0b6..3b896bd52 100644
--- a/lib/images/license/button/cc-by-nc-sa.png
+++ b/lib/images/license/button/cc-by-nc-sa.png
Binary files differ
diff --git a/lib/images/license/button/cc-by-nc.png b/lib/images/license/button/cc-by-nc.png
index d936464ad..d5be8f803 100644
--- a/lib/images/license/button/cc-by-nc.png
+++ b/lib/images/license/button/cc-by-nc.png
Binary files differ
diff --git a/lib/images/license/button/cc-by-nd.png b/lib/images/license/button/cc-by-nd.png
index 3fc490870..e1918b0cd 100644
--- a/lib/images/license/button/cc-by-nd.png
+++ b/lib/images/license/button/cc-by-nd.png
Binary files differ
diff --git a/lib/images/license/button/cc-by-sa.png b/lib/images/license/button/cc-by-sa.png
index 3c6270a0d..9b9b522ab 100644
--- a/lib/images/license/button/cc-by-sa.png
+++ b/lib/images/license/button/cc-by-sa.png
Binary files differ
diff --git a/lib/images/license/button/cc-by.png b/lib/images/license/button/cc-by.png
index 867daaee4..53b1dea0f 100644
--- a/lib/images/license/button/cc-by.png
+++ b/lib/images/license/button/cc-by.png
Binary files differ
diff --git a/lib/images/license/button/cc-zero.png b/lib/images/license/button/cc-zero.png
index 251efcd1c..e6a1a5bf2 100644
--- a/lib/images/license/button/cc-zero.png
+++ b/lib/images/license/button/cc-zero.png
Binary files differ
diff --git a/lib/images/license/button/cc.png b/lib/images/license/button/cc.png
index 9c492950f..e04958a8b 100644
--- a/lib/images/license/button/cc.png
+++ b/lib/images/license/button/cc.png
Binary files differ
diff --git a/lib/images/license/button/gnufdl.png b/lib/images/license/button/gnufdl.png
index 0b52ea12e..b0e0793de 100644
--- a/lib/images/license/button/gnufdl.png
+++ b/lib/images/license/button/gnufdl.png
Binary files differ
diff --git a/lib/images/license/button/publicdomain.png b/lib/images/license/button/publicdomain.png
index 54ea38b64..b301baf97 100644
--- a/lib/images/license/button/publicdomain.png
+++ b/lib/images/license/button/publicdomain.png
Binary files differ
diff --git a/lib/images/magnifier.png b/lib/images/magnifier.png
index 89febff10..014fa921b 100644
--- a/lib/images/magnifier.png
+++ b/lib/images/magnifier.png
Binary files differ
diff --git a/lib/images/media_align_center.png b/lib/images/media_align_center.png
index 807f9d9a8..8b30a051b 100644
--- a/lib/images/media_align_center.png
+++ b/lib/images/media_align_center.png
Binary files differ
diff --git a/lib/images/media_align_left.png b/lib/images/media_align_left.png
index fa6cf33ca..d32bbc235 100644
--- a/lib/images/media_align_left.png
+++ b/lib/images/media_align_left.png
Binary files differ
diff --git a/lib/images/media_align_noalign.png b/lib/images/media_align_noalign.png
index 263e090fe..e6ce85790 100644
--- a/lib/images/media_align_noalign.png
+++ b/lib/images/media_align_noalign.png
Binary files differ
diff --git a/lib/images/media_align_right.png b/lib/images/media_align_right.png
index 33539dbdb..32a5cb0a3 100644
--- a/lib/images/media_align_right.png
+++ b/lib/images/media_align_right.png
Binary files differ
diff --git a/lib/images/media_link_direct.png b/lib/images/media_link_direct.png
index 4350b803d..13d24ad7c 100644
--- a/lib/images/media_link_direct.png
+++ b/lib/images/media_link_direct.png
Binary files differ
diff --git a/lib/images/media_link_displaylnk.png b/lib/images/media_link_displaylnk.png
index 53927566a..102834e7b 100644
--- a/lib/images/media_link_displaylnk.png
+++ b/lib/images/media_link_displaylnk.png
Binary files differ
diff --git a/lib/images/media_link_lnk.png b/lib/images/media_link_lnk.png
index 5ff4ee182..5db14ad03 100644
--- a/lib/images/media_link_lnk.png
+++ b/lib/images/media_link_lnk.png
Binary files differ
diff --git a/lib/images/media_link_nolnk.png b/lib/images/media_link_nolnk.png
index c9378c7fd..d277ac955 100644
--- a/lib/images/media_link_nolnk.png
+++ b/lib/images/media_link_nolnk.png
Binary files differ
diff --git a/lib/images/media_size_large.png b/lib/images/media_size_large.png
index 012a418c3..c4f745e4d 100644
--- a/lib/images/media_size_large.png
+++ b/lib/images/media_size_large.png
Binary files differ
diff --git a/lib/images/media_size_medium.png b/lib/images/media_size_medium.png
index 1469f519f..580c63ed5 100644
--- a/lib/images/media_size_medium.png
+++ b/lib/images/media_size_medium.png
Binary files differ
diff --git a/lib/images/media_size_original.png b/lib/images/media_size_original.png
index f58d056aa..60d1925f5 100644
--- a/lib/images/media_size_original.png
+++ b/lib/images/media_size_original.png
Binary files differ
diff --git a/lib/images/media_size_small.png b/lib/images/media_size_small.png
index a0aafa4a7..8d5a6293b 100644
--- a/lib/images/media_size_small.png
+++ b/lib/images/media_size_small.png
Binary files differ
diff --git a/lib/images/mediamanager.png b/lib/images/mediamanager.png
index 822b8458a..5093381b6 100644
--- a/lib/images/mediamanager.png
+++ b/lib/images/mediamanager.png
Binary files differ
diff --git a/lib/images/notify.png b/lib/images/notify.png
index c18ef1001..f6c56ee55 100644
--- a/lib/images/notify.png
+++ b/lib/images/notify.png
Binary files differ
diff --git a/lib/images/ns.png b/lib/images/ns.png
index c35e832da..77e03b19e 100644
--- a/lib/images/ns.png
+++ b/lib/images/ns.png
Binary files differ
diff --git a/lib/images/open.png b/lib/images/open.png
index 5f2d408c5..b9e4fdf97 100644
--- a/lib/images/open.png
+++ b/lib/images/open.png
Binary files differ
diff --git a/lib/images/resizecol.png b/lib/images/resizecol.png
index b5aeec004..91ad7d15a 100644
--- a/lib/images/resizecol.png
+++ b/lib/images/resizecol.png
Binary files differ
diff --git a/lib/images/smileys/index.php b/lib/images/smileys/index.php
index 9a2905b33..4167eda5b 100644
--- a/lib/images/smileys/index.php
+++ b/lib/images/smileys/index.php
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
- <title>simleys</title>
+ <title>smileys</title>
<style type="text/css">
body {
diff --git a/lib/images/success.png b/lib/images/success.png
index 9241adbb2..200142f94 100644
--- a/lib/images/success.png
+++ b/lib/images/success.png
Binary files differ
diff --git a/lib/images/toolbar/bold.png b/lib/images/toolbar/bold.png
index 51ddb8880..8f425e9d0 100644
--- a/lib/images/toolbar/bold.png
+++ b/lib/images/toolbar/bold.png
Binary files differ
diff --git a/lib/images/toolbar/chars.png b/lib/images/toolbar/chars.png
index bad37e503..a906bc861 100644
--- a/lib/images/toolbar/chars.png
+++ b/lib/images/toolbar/chars.png
Binary files differ
diff --git a/lib/images/toolbar/h.png b/lib/images/toolbar/h.png
index 6a48cbbc0..7e43d6421 100644
--- a/lib/images/toolbar/h.png
+++ b/lib/images/toolbar/h.png
Binary files differ
diff --git a/lib/images/toolbar/h1.png b/lib/images/toolbar/h1.png
index 85bd06e6c..9f1970f4e 100644
--- a/lib/images/toolbar/h1.png
+++ b/lib/images/toolbar/h1.png
Binary files differ
diff --git a/lib/images/toolbar/h2.png b/lib/images/toolbar/h2.png
index be2c60031..adec9ec01 100644
--- a/lib/images/toolbar/h2.png
+++ b/lib/images/toolbar/h2.png
Binary files differ
diff --git a/lib/images/toolbar/h3.png b/lib/images/toolbar/h3.png
index 350da88b6..a758b8914 100644
--- a/lib/images/toolbar/h3.png
+++ b/lib/images/toolbar/h3.png
Binary files differ
diff --git a/lib/images/toolbar/h4.png b/lib/images/toolbar/h4.png
index bc1b7038f..9cd606133 100644
--- a/lib/images/toolbar/h4.png
+++ b/lib/images/toolbar/h4.png
Binary files differ
diff --git a/lib/images/toolbar/h5.png b/lib/images/toolbar/h5.png
index b6c263dfb..86b725991 100644
--- a/lib/images/toolbar/h5.png
+++ b/lib/images/toolbar/h5.png
Binary files differ
diff --git a/lib/images/toolbar/hequal.png b/lib/images/toolbar/hequal.png
index da4e921ff..869a2ddb3 100644
--- a/lib/images/toolbar/hequal.png
+++ b/lib/images/toolbar/hequal.png
Binary files differ
diff --git a/lib/images/toolbar/hminus.png b/lib/images/toolbar/hminus.png
index c00f70223..1a99ee4b9 100644
--- a/lib/images/toolbar/hminus.png
+++ b/lib/images/toolbar/hminus.png
Binary files differ
diff --git a/lib/images/toolbar/hplus.png b/lib/images/toolbar/hplus.png
index 6124b5c33..92efcdbd1 100644
--- a/lib/images/toolbar/hplus.png
+++ b/lib/images/toolbar/hplus.png
Binary files differ
diff --git a/lib/images/toolbar/hr.png b/lib/images/toolbar/hr.png
index de3a8a55b..40ae21026 100644
--- a/lib/images/toolbar/hr.png
+++ b/lib/images/toolbar/hr.png
Binary files differ
diff --git a/lib/images/toolbar/image.png b/lib/images/toolbar/image.png
index 70b12fcc2..5cc7afa69 100644
--- a/lib/images/toolbar/image.png
+++ b/lib/images/toolbar/image.png
Binary files differ
diff --git a/lib/images/toolbar/italic.png b/lib/images/toolbar/italic.png
index d69e66070..b37dc2d52 100644
--- a/lib/images/toolbar/italic.png
+++ b/lib/images/toolbar/italic.png
Binary files differ
diff --git a/lib/images/toolbar/link.png b/lib/images/toolbar/link.png
index 01105b0d3..3d2180a63 100644
--- a/lib/images/toolbar/link.png
+++ b/lib/images/toolbar/link.png
Binary files differ
diff --git a/lib/images/toolbar/linkextern.png b/lib/images/toolbar/linkextern.png
index acc0c6fc5..e854572a9 100644
--- a/lib/images/toolbar/linkextern.png
+++ b/lib/images/toolbar/linkextern.png
Binary files differ
diff --git a/lib/images/toolbar/mono.png b/lib/images/toolbar/mono.png
index b91ad2e0d..a6f56d6dc 100644
--- a/lib/images/toolbar/mono.png
+++ b/lib/images/toolbar/mono.png
Binary files differ
diff --git a/lib/images/toolbar/ol.png b/lib/images/toolbar/ol.png
index 186f1fad4..c12229a97 100644
--- a/lib/images/toolbar/ol.png
+++ b/lib/images/toolbar/ol.png
Binary files differ
diff --git a/lib/images/toolbar/smiley.png b/lib/images/toolbar/smiley.png
index 85036c1a8..54f1e6fb4 100644
--- a/lib/images/toolbar/smiley.png
+++ b/lib/images/toolbar/smiley.png
Binary files differ
diff --git a/lib/images/toolbar/strike.png b/lib/images/toolbar/strike.png
index e532d1f07..5adbba402 100644
--- a/lib/images/toolbar/strike.png
+++ b/lib/images/toolbar/strike.png
Binary files differ
diff --git a/lib/images/toolbar/ul.png b/lib/images/toolbar/ul.png
index 008820722..39e5d342e 100644
--- a/lib/images/toolbar/ul.png
+++ b/lib/images/toolbar/ul.png
Binary files differ
diff --git a/lib/images/toolbar/underline.png b/lib/images/toolbar/underline.png
index fa271517c..57bf3e25a 100644
--- a/lib/images/toolbar/underline.png
+++ b/lib/images/toolbar/underline.png
Binary files differ
diff --git a/lib/images/unc.png b/lib/images/unc.png
index a552d6e6f..145b728bb 100644
--- a/lib/images/unc.png
+++ b/lib/images/unc.png
Binary files differ
diff --git a/lib/images/up.png b/lib/images/up.png
index b1eac912d..dbacf3f23 100644
--- a/lib/images/up.png
+++ b/lib/images/up.png
Binary files differ
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php
index ebb097a04..814bbfe9c 100644
--- a/lib/plugins/acl/admin.php
+++ b/lib/plugins/acl/admin.php
@@ -762,6 +762,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
*/
function _html_select(){
$inlist = false;
+ $usel = '';
+ $gsel = '';
if($this->who &&
!in_array($this->who,$this->usersgroups) &&
@@ -770,11 +772,9 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin {
if($this->who{0} == '@'){
$gsel = ' selected="selected"';
}else{
- $usel = ' selected="selected"';
+ $usel = ' selected="selected"';
}
}else{
- $usel = '';
- $gsel = '';
$inlist = true;
}
diff --git a/lib/plugins/acl/lang/cs/help.txt b/lib/plugins/acl/lang/cs/help.txt
index 1dbc88ad0..1b6fa1eac 100644
--- a/lib/plugins/acl/lang/cs/help.txt
+++ b/lib/plugins/acl/lang/cs/help.txt
@@ -1,11 +1,8 @@
=== Nápověda: ===
-Na této stránce můžete přidávat a odebírat oprávnění na jmenné prostory a stránky Vaší wiki.
+Na této stránce můžete přidávat a odebírat oprávnění pro jmenné prostory a stránky svojí wiki.
+* Levý panel zobrazuje všechny dostupné jmenné prostory a stránky.
+* Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny.
+* V tabulce uvedené níže jsou zobrazeny všechna aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou.
-Levý panel zobrazuje všechny dostupné jmenné prostory a stránky.
-
-Formulář výše umožňuje vidět a modifikovat oprávnění vybraného uživatele nebo skupiny.
-
-V tabulce uvedené níže jsou zobrazeny všechny aktuální pravidla pro řízení přístupu (oprávnění). Zde můžete rychle odebírat a měnit více položek (oprávnění) najednou.
-
-Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentaci ACL]], která Vám může pomoci plně pochopit princip, jak řízení přístupu na DokuWiki funguje.
+Pro detailnější nápovědu si přečtěte stránku [[doku>acl|oficiální dokumentace ACL]], která Vám může pomoci plně pochopit princip, na kterém řízení přístupu na DokuWiki funguje.
diff --git a/lib/plugins/acl/lang/eu/lang.php b/lib/plugins/acl/lang/eu/lang.php
index f051523d9..bb6ab964a 100644
--- a/lib/plugins/acl/lang/eu/lang.php
+++ b/lib/plugins/acl/lang/eu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Basque language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Inko Illarramendi <inko.i.a@gmail.com>
* @author Zigor Astarbe <astarbe@gmail.com>
*/
diff --git a/lib/plugins/acl/lang/ro/lang.php b/lib/plugins/acl/lang/ro/lang.php
index 0d281f049..418e63ab3 100644
--- a/lib/plugins/acl/lang/ro/lang.php
+++ b/lib/plugins/acl/lang/ro/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Romanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sergiu Baltariu <s_baltariu@yahoo.com>
* @author s_baltariu@yahoo.com
* @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro>
diff --git a/lib/plugins/acl/pix/group.png b/lib/plugins/acl/pix/group.png
index d80eb2606..348d4e55c 100644
--- a/lib/plugins/acl/pix/group.png
+++ b/lib/plugins/acl/pix/group.png
Binary files differ
diff --git a/lib/plugins/acl/pix/ns.png b/lib/plugins/acl/pix/ns.png
index c35e832da..77e03b19e 100644
--- a/lib/plugins/acl/pix/ns.png
+++ b/lib/plugins/acl/pix/ns.png
Binary files differ
diff --git a/lib/plugins/acl/pix/user.png b/lib/plugins/acl/pix/user.png
index 7b4a507a0..8d5d1c2e9 100644
--- a/lib/plugins/acl/pix/user.png
+++ b/lib/plugins/acl/pix/user.png
Binary files differ
diff --git a/lib/plugins/acl/remote.php b/lib/plugins/acl/remote.php
index 6d5201cf6..b10c544ee 100644
--- a/lib/plugins/acl/remote.php
+++ b/lib/plugins/acl/remote.php
@@ -1,7 +1,16 @@
<?php
+/**
+ * Class remote_plugin_acl
+ */
class remote_plugin_acl extends DokuWiki_Remote_Plugin {
- function _getMethods() {
+
+ /**
+ * Returns details about the remote plugin methods
+ *
+ * @return array
+ */
+ public function _getMethods() {
return array(
'addAcl' => array(
'args' => array('string','string','int'),
@@ -17,12 +26,29 @@ class remote_plugin_acl extends DokuWiki_Remote_Plugin {
);
}
- function addAcl($scope, $user, $level){
+ /**
+ * Add a new entry to ACL config
+ *
+ * @param string $scope
+ * @param string $user
+ * @param int $level see also inc/auth.php
+ * @return bool
+ */
+ public function addAcl($scope, $user, $level){
+ /** @var admin_plugin_acl $apa */
$apa = plugin_load('admin', 'acl');
return $apa->_acl_add($scope, $user, $level);
}
- function delAcl($scope, $user){
+ /**
+ * Remove an entry from ACL config
+ *
+ * @param string $scope
+ * @param string $user
+ * @return bool
+ */
+ public function delAcl($scope, $user){
+ /** @var admin_plugin_acl $apa */
$apa = plugin_load('admin', 'acl');
return $apa->_acl_del($scope, $user);
}
diff --git a/lib/plugins/admin.php b/lib/plugins/admin.php
index 9a1fb9fdc..39dece453 100644
--- a/lib/plugins/admin.php
+++ b/lib/plugins/admin.php
@@ -14,7 +14,14 @@ if(!defined('DOKU_INC')) die();
*/
class DokuWiki_Admin_Plugin extends DokuWiki_Plugin {
- function getMenuText($language) {
+ /**
+ * Return the text that is displayed at the main admin menu
+ * (Default localized language string 'menu' is returned, override this function for setting another name)
+ *
+ * @param string $language language code
+ * @return string menu string
+ */
+ public function getMenuText($language) {
$menutext = $this->getLang('menu');
if (!$menutext) {
$info = $this->getInfo();
@@ -23,23 +30,48 @@ class DokuWiki_Admin_Plugin extends DokuWiki_Plugin {
return $menutext;
}
- function getMenuSort() {
+ /**
+ * Determine position in list in admin window
+ * Lower values are sorted up
+ *
+ * @return int
+ */
+ public function getMenuSort() {
return 1000;
}
- function handle() {
+ /**
+ * Carry out required processing
+ */
+ public function handle() {
trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING);
}
- function html() {
+ /**
+ * Output html of the admin page
+ */
+ public function html() {
trigger_error('html() not implemented in '.get_class($this), E_USER_WARNING);
}
- function forAdminOnly() {
+ /**
+ * Return true for access only by admins (config:superuser) or false if managers are allowed as well
+ *
+ * @return bool
+ */
+ public function forAdminOnly() {
return true;
}
- function getTOC(){
+ /**
+ * Return array with ToC items. Items can be created with the html_mktocitem()
+ *
+ * @see html_mktocitem()
+ * @see tpl_toc()
+ *
+ * @return array
+ */
+ public function getTOC(){
return array();
}
}
diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php
index b38b591a3..4799b3a38 100644
--- a/lib/plugins/auth.php
+++ b/lib/plugins/auth.php
@@ -116,7 +116,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
* @author Gabriel Birke <birke@d-scribe.de>
* @param string $type Modification type ('create', 'modify', 'delete')
* @param array $params Parameters for the createUser, modifyUser or deleteUsers method. The content of this array depends on the modification type
- * @return mixed Result from the modification function or false if an event handler has canceled the action
+ * @return bool|null|int Result from the modification function or false if an event handler has canceled the action
*/
public function triggerUserMod($type, $params) {
$validTypes = array(
@@ -124,12 +124,15 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
'modify' => 'modifyUser',
'delete' => 'deleteUsers'
);
- if(empty($validTypes[$type]))
+ if(empty($validTypes[$type])) {
return false;
+ }
+
+ $result = false;
$eventdata = array('type' => $type, 'params' => $params, 'modification_result' => null);
$evt = new Doku_Event('AUTH_USER_CHANGE', $eventdata);
if($evt->advise_before(true)) {
- $result = call_user_func_array(array($this, $validTypes[$type]), $params);
+ $result = call_user_func_array(array($this, $validTypes[$type]), $evt->data['params']);
$evt->data['modification_result'] = $result;
}
$evt->advise_after();
@@ -235,7 +238,7 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin {
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $user the user name
* @param bool $requireGroups whether or not the returned data must include groups
- * @return array containing user data or false
+ * @return false|array containing user data or false
*/
public function getUserData($user, $requireGroups=true) {
if(!$this->cando['external']) msg("no valid authorisation system in use", -1);
diff --git a/lib/plugins/authad/action.php b/lib/plugins/authad/action.php
index 97be9897e..bc0f90c7e 100644
--- a/lib/plugins/authad/action.php
+++ b/lib/plugins/authad/action.php
@@ -17,7 +17,7 @@ class action_plugin_authad extends DokuWiki_Action_Plugin {
/**
* Registers a callback function for a given event
*/
- public function register(Doku_Event_Handler &$controller) {
+ public function register(Doku_Event_Handler $controller) {
$controller->register_hook('AUTH_LOGIN_CHECK', 'BEFORE', $this, 'handle_auth_login_check');
$controller->register_hook('HTML_LOGINFORM_OUTPUT', 'BEFORE', $this, 'handle_html_loginform_output');
diff --git a/lib/plugins/authad/adLDAP/adLDAP.php b/lib/plugins/authad/adLDAP/adLDAP.php
index c1f92abe2..5563e4fe9 100644
--- a/lib/plugins/authad/adLDAP/adLDAP.php
+++ b/lib/plugins/authad/adLDAP/adLDAP.php
@@ -947,5 +947,3 @@ class adLDAP {
* }
*/
class adLDAPException extends Exception {}
-
-?> \ No newline at end of file
diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php
index a3119dda6..88b56046c 100644
--- a/lib/plugins/authad/auth.php
+++ b/lib/plugins/authad/auth.php
@@ -203,6 +203,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
}
//general user info
+ $info = array();
$info['name'] = $result[0]['displayname'][0];
$info['mail'] = $result[0]['mail'][0];
$info['uid'] = $result[0]['samaccountname'][0];
@@ -328,6 +329,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* Bulk retrieval of user data
*
* @author Dominik Eckelmann <dokuwiki@cosmocode.de>
+ *
* @param int $start index of first user to be returned
* @param int $limit max number of users to be returned
* @param array $filter array of field/pattern pairs, null for no filter
@@ -446,7 +448,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
/**
* Get the domain part from a user
*
- * @param $user
+ * @param string $user
* @return string
*/
public function _userDomain($user) {
@@ -457,7 +459,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
/**
* Get the user part from a user
*
- * @param $user
+ * @param string $user
* @return string
*/
public function _userName($user) {
@@ -543,6 +545,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* The patterns are set up with $this->_constructPattern()
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
* @param string $user
* @param array $info
* @return bool
@@ -564,6 +567,7 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin {
* Create a pattern for $this->_filter()
*
* @author Chris Smith <chris@jalakai.co.uk>
+ *
* @param array $filter
*/
protected function _constructPattern($filter) {
diff --git a/lib/plugins/authad/lang/cs/settings.php b/lib/plugins/authad/lang/cs/settings.php
index 28222d332..92b2d0f13 100644
--- a/lib/plugins/authad/lang/cs/settings.php
+++ b/lib/plugins/authad/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['account_suffix'] = 'Přípona vašeho účtu, tj. <code>@moje.domena.org</code>';
$lang['base_dn'] = 'Vaše doménové jméno DN. tj. <code>DC=moje,DC=domena,DC=org</code>';
@@ -11,6 +12,7 @@ $lang['domain_controllers'] = 'Čárkou oddělenových kontrol=rů, tj. <code
$lang['admin_username'] = 'Privilegovaný uživatel Active Directory s přístupem ke všem datům. Volitelně, ale nutné pro určité akce typu zasílání mailů.';
$lang['admin_password'] = 'Heslo uživatele výše';
$lang['sso'] = 'Chcete přihlašování Single-Sign-On pomocí jádra Kerberos nebo NTLM ( autentizační protokol obvyklý ve Windows)?';
+$lang['sso_charset'] = 'Znaková sada kterou bude webserverem přenášeno uživatelské jméno pro Kerberos nebo NTLM. Prázdné pro UTF-8 nebo latin-1. Vyžaduje rozšíření iconv.';
$lang['real_primarygroup'] = 'Má být zjištěna primární skupina namísto vyhodnocení hodnoty "doménoví uživatelé" (pomalejší)';
$lang['use_ssl'] = 'Použít spojení SSL? Pokud ano, nevyužívejte TLS níže.';
$lang['use_tls'] = 'Použít spojení TLS? Pokud ano, nevyužívejte SSL výše.';
diff --git a/lib/plugins/authad/lang/fa/settings.php b/lib/plugins/authad/lang/fa/settings.php
new file mode 100644
index 000000000..161479afb
--- /dev/null
+++ b/lib/plugins/authad/lang/fa/settings.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Omid Hezaveh <hezpublic@gmail.com>
+ */
+$lang['admin_password'] = 'رمز کاربر بالایی ';
+$lang['use_ssl'] = 'از اس‌اس‌ال استفاده می‌کنید؟ در این صورت تی‌ال‌اس را در پایین فعال نکنید. ';
+$lang['use_tls'] = 'از تی‌ال‌اس استفاده می‌کنید؟ در این صورت اس‌اس‌ال را در بالا فعال نکنید. ';
diff --git a/lib/plugins/authad/lang/no/lang.php b/lib/plugins/authad/lang/no/lang.php
new file mode 100644
index 000000000..a1c9c7e8a
--- /dev/null
+++ b/lib/plugins/authad/lang/no/lang.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Patrick <spill.p@hotmail.com>
+ */
+$lang['domain'] = 'Loggpå-domene';
diff --git a/lib/plugins/authad/lang/no/settings.php b/lib/plugins/authad/lang/no/settings.php
index bab5ce67d..f309ead50 100644
--- a/lib/plugins/authad/lang/no/settings.php
+++ b/lib/plugins/authad/lang/no/settings.php
@@ -4,6 +4,8 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
+$lang['account_suffix'] = 'Ditt konto-suffiks F. Eks. <code>@my.domain.org</code>';
$lang['admin_password'] = 'Passordet til brukeren over.';
$lang['expirywarn'] = 'Antall dager på forhånd brukeren varsles om at passordet utgår. 0 for å deaktivere.';
diff --git a/lib/plugins/authad/lang/pl/settings.php b/lib/plugins/authad/lang/pl/settings.php
index 91cadca6f..537bae7ea 100644
--- a/lib/plugins/authad/lang/pl/settings.php
+++ b/lib/plugins/authad/lang/pl/settings.php
@@ -6,6 +6,7 @@
* @author Tomasz Bosak <bosak.tomasz@gmail.com>
* @author Paweł Jan Czochański <czochanski@gmail.com>
* @author Mati <mackosa@wp.pl>
+ * @author Maciej Helt <geraldziu@gmail.com>
*/
$lang['account_suffix'] = 'Przyrostek twojej nazwy konta np. <code>@my.domain.org</code>';
$lang['base_dn'] = 'Twoje bazowe DN. Na przykład: <code>DC=my,DC=domain,DC=org</code>';
diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php
index dc60d7259..6256eb597 100644
--- a/lib/plugins/authad/lang/pt/settings.php
+++ b/lib/plugins/authad/lang/pt/settings.php
@@ -6,12 +6,18 @@
* @author André Neves <drakferion@gmail.com>
* @author Murilo <muriloricci@hotmail.com>
* @author Paulo Silva <paulotsilva@yahoo.com>
+ * @author Guido Salatino <guidorafael23@gmail.com>
*/
$lang['account_suffix'] = 'O sufixo da sua conta. Por exemplo, <code>@my.domain.org</code>';
+$lang['base_dn'] = 'Sua base DN. Eg. <code> DC=meu, DC=dominio, DC=org </ code>';
$lang['domain_controllers'] = 'Uma lista separada por vírgulas de Controladores de Domínio (AD DC). Ex.: <code>srv1.domain.org,srv2.domain.org</code>';
$lang['admin_username'] = 'Um utilizador com privilégios na Active Directory que tenha acesso aos dados de todos os outros utilizadores. Opcional, mas necessário para certas ações como enviar emails de subscrição.';
$lang['admin_password'] = 'A senha para o utilizador acima.';
$lang['sso'] = 'Deve ser usado o Single-Sign-On via Kerberos ou NTLM?';
+$lang['sso_charset'] = 'O charset do seu servidor web vai passar o nome de usuário Kerberos ou NTLM vazio para UTF-8 ou latin-1. Requer a extensão iconv.';
+$lang['real_primarygroup'] = 'Deveria ser resolvido, de fato, o grupo primário ao invés de assumir "Usuários de Domínio" (mais lento).';
$lang['use_ssl'] = 'Usar ligação SSL? Se usada, não ative TLS abaixo.';
$lang['use_tls'] = 'Usar ligação TLS? Se usada, não ative SSL abaixo.';
+$lang['debug'] = 'Deve-se mostrar saída adicional de depuração de erros?';
$lang['expirywarn'] = 'Número de dias de avanço para avisar o utilizador da expiração da senha. 0 para desativar.';
+$lang['additional'] = 'Uma lista separada por vírgula de atributos adicionais de AD para buscar a partir de dados do usuário. Usado por alguns plugins.';
diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php
index c9c6d9f88..c791bd791 100644
--- a/lib/plugins/authad/lang/ru/settings.php
+++ b/lib/plugins/authad/lang/ru/settings.php
@@ -8,11 +8,20 @@
* @author Artur <ncuxxx@gmail.com>
* @author Erli Moen <evseev.jr@gmail.com>
* @author Владимир <id37736@yandex.ru>
+ * @author Aleksandr Selivanov <alexgearbox@yandex.ru>
+ * @author Type-kun <workwork-1@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
-$lang['account_suffix'] = 'Суффикс вашего аккаунта типа <code>@my.domain.org</code>';
+$lang['account_suffix'] = 'Суффикс вашего аккаунта. Например, <code>@my.domain.org</code>';
+$lang['base_dn'] = 'Ваш базовый DN. Например: <code>DC=my,DC=domain,DC=org</code>';
$lang['domain_controllers'] = 'Список DNS-серверов, разделенных запятой. Например:<code>srv1.domain.org,srv2.domain.org</code>';
+$lang['admin_username'] = 'Привилегированный пользователь Active Directory с доступом ко всем остальным пользовательским данным. Необязательно, однако необходимо для определённых действий вроде отправки почтовой подписки.';
$lang['admin_password'] = 'Пароль для указанного пользователя.';
$lang['sso'] = 'Использовать SSO (Single-Sign-On) через Kerberos или NTLM?';
+$lang['sso_charset'] = 'Кодировка, в которой веб-сервер передаёт имя пользователя Kerberos или NTLM. Для UTF-8 или latin-1 остаётся пустым. Требует расширение iconv.';
+$lang['real_primarygroup'] = 'Должна ли использоваться настоящая первичная группа вместо “Domain Users” (медленнее)';
$lang['use_ssl'] = 'Использовать SSL? Если да, то не включайте TLS.';
$lang['use_tls'] = 'Использовать TLS? Если да, то не включайте SSL.';
$lang['debug'] = 'Выводить дополнительную информацию при ошибках?';
+$lang['expirywarn'] = 'За сколько дней нужно предупреждать пользователя о необходимости изменить пароль? Для отключения укажите 0 (ноль).';
+$lang['additional'] = 'Дополнительные AD-атрибуты, разделённые запятой, для выборки из данных пользователя. Используется некоторыми плагинами.';
diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php
index b22b82ecc..50735882f 100644
--- a/lib/plugins/authldap/auth.php
+++ b/lib/plugins/authldap/auth.php
@@ -181,6 +181,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
}
}
+ $info = array();
$info['user'] = $user;
$info['server'] = $this->getConf('server');
@@ -515,13 +516,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
}
}
// needs version 3
- if($this->getConf('referrals')) {
+ if($this->getConf('referrals') > -1) {
if(!@ldap_set_option(
$this->con, LDAP_OPT_REFERRALS,
$this->getConf('referrals')
)
) {
- msg('Setting LDAP referrals to off failed', -1);
+ msg('Setting LDAP referrals failed', -1);
$this->_debug('LDAP referal set: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__);
}
}
@@ -564,15 +565,13 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin {
* Wraps around ldap_search, ldap_list or ldap_read depending on $scope
*
* @author Andreas Gohr <andi@splitbrain.org>
- * @param resource $link_identifier
- * @param string $base_dn
- * @param string $filter
- * @param string $scope can be 'base', 'one' or 'sub'
- * @param null $attributes
- * @param int $attrsonly
- * @param int $sizelimit
- * @param int $timelimit
- * @param int $deref
+ * @param resource $link_identifier
+ * @param string $base_dn
+ * @param string $filter
+ * @param string $scope can be 'base', 'one' or 'sub'
+ * @param null|array $attributes
+ * @param int $attrsonly
+ * @param int $sizelimit
* @return resource
*/
protected function _ldapsearch($link_identifier, $base_dn, $filter, $scope = 'sub', $attributes = null,
diff --git a/lib/plugins/authldap/conf/default.php b/lib/plugins/authldap/conf/default.php
index 2c295eeeb..c2e462c5c 100644
--- a/lib/plugins/authldap/conf/default.php
+++ b/lib/plugins/authldap/conf/default.php
@@ -8,7 +8,7 @@ $conf['userfilter'] = '';
$conf['groupfilter'] = '';
$conf['version'] = 2;
$conf['starttls'] = 0;
-$conf['referrals'] = 0;
+$conf['referrals'] = -1;
$conf['deref'] = 0;
$conf['binddn'] = '';
$conf['bindpw'] = '';
diff --git a/lib/plugins/authldap/conf/metadata.php b/lib/plugins/authldap/conf/metadata.php
index 6aa53c40d..4649ba5bf 100644
--- a/lib/plugins/authldap/conf/metadata.php
+++ b/lib/plugins/authldap/conf/metadata.php
@@ -7,7 +7,7 @@ $meta['userfilter'] = array('string','_caution' => 'danger');
$meta['groupfilter'] = array('string','_caution' => 'danger');
$meta['version'] = array('numeric','_caution' => 'danger');
$meta['starttls'] = array('onoff','_caution' => 'danger');
-$meta['referrals'] = array('onoff','_caution' => 'danger');
+$meta['referrals'] = array('multichoice','_choices' => array(-1,0,1),'_caution' => 'danger');
$meta['deref'] = array('multichoice','_choices' => array(0,1,2,3),'_caution' => 'danger');
$meta['binddn'] = array('string','_caution' => 'danger');
$meta['bindpw'] = array('password','_caution' => 'danger');
diff --git a/lib/plugins/authldap/lang/cs/settings.php b/lib/plugins/authldap/lang/cs/settings.php
index 20491f1fb..a5aad5981 100644
--- a/lib/plugins/authldap/lang/cs/settings.php
+++ b/lib/plugins/authldap/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['server'] = 'Váš server LDAP. Buď jméno hosta (<code>localhost</code>) nebo plně kvalifikovaný popis URL (<code>ldap://server.tld:389</code>)';
$lang['port'] = 'Port serveru LDAP. Pokud není, bude využito URL výše';
@@ -14,9 +15,14 @@ $lang['groupfilter'] = 'Filter LDAPu pro vyhledávání uživatelskýc
$lang['version'] = 'Verze použitého protokolu. Můžete potřebovat jej nastavit na <code>3</code>';
$lang['starttls'] = 'Využít spojení TLS?';
$lang['referrals'] = 'Přeposílat odkazy?';
+$lang['deref'] = 'Jak rozlišovat aliasy?';
$lang['binddn'] = 'Doménový název DN volitelně připojeného uživatele, pokus anonymní připojení není vyhovující, tj. <code>cn=admin, dc=muj, dc=domov</code>';
$lang['bindpw'] = 'Heslo uživatele výše';
$lang['userscope'] = 'Omezení rozsahu vyhledávání uživatele';
$lang['groupscope'] = 'Omezení rozsahu vyhledávání skupiny';
$lang['groupkey'] = 'Atribut šlenství uživatele ve skupinách (namísto standardních AD skupin), tj. skupina z oddělení nebo telefonní číslo';
$lang['debug'] = 'Zobrazit dodatečné debugovací informace';
+$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
+$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
+$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
+$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
diff --git a/lib/plugins/authldap/lang/en/settings.php b/lib/plugins/authldap/lang/en/settings.php
index b73166ab2..951901ccc 100644
--- a/lib/plugins/authldap/lang/en/settings.php
+++ b/lib/plugins/authldap/lang/en/settings.php
@@ -21,3 +21,7 @@ $lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
+
+$lang['referrals_o_-1'] = 'use default';
+$lang['referrals_o_0'] = 'don\'t follow referrals';
+$lang['referrals_o_1'] = 'follow referrals'; \ No newline at end of file
diff --git a/lib/plugins/authldap/lang/fa/settings.php b/lib/plugins/authldap/lang/fa/settings.php
new file mode 100644
index 000000000..49d485afd
--- /dev/null
+++ b/lib/plugins/authldap/lang/fa/settings.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Mohammad Sadegh <msdn2013@gmail.com>
+ * @author Omid Hezaveh <hezpublic@gmail.com>
+ */
+$lang['starttls'] = 'از تی‌ال‌اس (TLS) استفاده می‌کنید؟';
+$lang['bindpw'] = 'رمزعبور کاربر بالا';
diff --git a/lib/plugins/authldap/lang/no/settings.php b/lib/plugins/authldap/lang/no/settings.php
index 6bedb2991..61671ed46 100644
--- a/lib/plugins/authldap/lang/no/settings.php
+++ b/lib/plugins/authldap/lang/no/settings.php
@@ -4,6 +4,8 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
$lang['port'] = 'LDAP serverport dersom ingen full URL var gitt over.';
$lang['starttls'] = 'Bruke TLS-forbindelser?';
+$lang['bindpw'] = 'Passord til brukeren over';
diff --git a/lib/plugins/authldap/lang/pl/settings.php b/lib/plugins/authldap/lang/pl/settings.php
index 7010988e6..0f5281b13 100644
--- a/lib/plugins/authldap/lang/pl/settings.php
+++ b/lib/plugins/authldap/lang/pl/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Paweł Jan Czochański <czochanski@gmail.com>
+ * @author Maciej Helt <geraldziu@gmail.com>
*/
$lang['server'] = 'Twój serwer LDAP. Podaj nazwę hosta (<code>localhost</code>) albo pełen adres URL (<code>ldap://server.tld:389</code>).';
$lang['port'] = 'Port serwera LDAP jeżeli nie podano pełnego adresu URL wyżej.';
@@ -14,3 +15,8 @@ $lang['groupfilter'] = 'Filtr LDAP wykorzystany przy szukaniu grup uż
$lang['version'] = 'Wykorzystywana wersja protokołu. Być może konieczne jest ustawienie tego na <code>3</code>.';
$lang['starttls'] = 'Użyć połączeń TLS?';
$lang['bindpw'] = 'Hasło powyższego użytkownika';
+$lang['debug'] = 'Przy błędach wyświetl dodatkowe informacje debugujące.';
+$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
+$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
+$lang['deref_o_2'] = 'LDAP_DEREF_FINDING';
+$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS';
diff --git a/lib/plugins/authldap/lang/pt/settings.php b/lib/plugins/authldap/lang/pt/settings.php
index a2ccf87ad..b54f2a1bc 100644
--- a/lib/plugins/authldap/lang/pt/settings.php
+++ b/lib/plugins/authldap/lang/pt/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author André Neves <drakferion@gmail.com>
+ * @author Guido Salatino <guidorafael23@gmail.com>
*/
$lang['server'] = 'O seu servidor de LDAP. Ou hostname (<code>localhost</code>) ou URL qualificado completo (<code>ldap://servidor.tld:389</code>)';
$lang['port'] = 'Porta de servidor de LDAP se o URL completo não foi fornecido acima';
@@ -14,5 +15,14 @@ $lang['groupfilter'] = 'Filtro LDAP para procurar por grupos. Por exem
$lang['version'] = 'A versão do protocolo a utilizar. Pode precisar de alterar isto para <code>3</code>';
$lang['starttls'] = 'Usar ligações TLS?';
$lang['referrals'] = 'Referrals devem ser seguidos?';
+$lang['deref'] = 'Como desreferenciar aliases?';
+$lang['binddn'] = 'DN de um usuário de ligação opcional, quando a ligação é anônima não é suficiente. Eg. <code> cn = admin, dc = my, dc = home </code>';
$lang['bindpw'] = 'Senha do utilizador acima';
+$lang['userscope'] = 'Escopo de pesquisa Limite para pesquisa de usuário';
+$lang['groupscope'] = 'Escopo de pesquisa Limite para pesquisa de grupo';
+$lang['groupkey'] = 'A participação no grupo a partir de qualquer atributo de usuário (em vez de AD padrão de grupos) exemplo: grupo de departamento ou número de telefone';
$lang['debug'] = 'Mostrar informação adicional de debug aquando de erros';
+$lang['deref_o_0'] = 'LDAP_DEREF_NUNCA';
+$lang['deref_o_1'] = 'LDAP_DEREF_PESQUISANDO';
+$lang['deref_o_2'] = 'LDAP_DEREF_BUSCANDO';
+$lang['deref_o_3'] = 'LDAP_DEREF_SEMPRE';
diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php
index 5677e06a3..1e5391644 100644
--- a/lib/plugins/authldap/lang/ru/settings.php
+++ b/lib/plugins/authldap/lang/ru/settings.php
@@ -8,10 +8,20 @@
* @author Erli Moen <evseev.jr@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Владимир <id37736@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
-$lang['starttls'] = 'Использовать TLS подключения?';
+$lang['server'] = 'Ваш LDAP-сервер. Либо имя хоста (<code>localhost</code>), либо полный URL (<code>ldap://server.tld:389</code>)';
+$lang['port'] = 'Порт LDAP-сервера, если выше не был указан полный URL';
+$lang['usertree'] = 'Где искать аккаунты пользователей? Например: <code>ou=People, dc=server, dc=tld</code>';
+$lang['grouptree'] = 'Где искать группы пользователей? Например: <code>ou=Group, dc=server, dc=tld</code>';
+$lang['userfilter'] = 'LDAP-фильтр для поиска аккаунтов пользователей. Например: <code>(&amp;(uid=%{user})(objectClass=posixAccount))</code>';
+$lang['groupfilter'] = 'LDAP-фильтр для поиска групп. Например: <code>(&amp;(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>';
+$lang['version'] = 'Версия протокола. Возможно, вам нужно указать <code>3</code>';
+$lang['starttls'] = 'Использовать TLS-подключения?';
$lang['deref'] = 'Как расшифровывать псевдонимы?';
-$lang['bindpw'] = 'Пароль для указанного пользователя.';
+$lang['bindpw'] = 'Пароль для указанного пользователя';
+$lang['userscope'] = 'Ограничить область поиска при поиске пользователей';
+$lang['groupscope'] = 'Ограничить область поиска при поиске групп';
$lang['debug'] = 'Показывать дополнительную отладочную информацию при ошибках';
$lang['deref_o_0'] = 'LDAP_DEREF_NEVER';
$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING';
diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php
index 95c62f636..0d423b6c9 100644
--- a/lib/plugins/authmysql/auth.php
+++ b/lib/plugins/authmysql/auth.php
@@ -115,7 +115,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* Check if the given config strings are set
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
- * @param array $keys
+ *
+ * @param string[] $keys
* @param bool $wop is this a check for a write operation?
* @return bool
*/
@@ -284,7 +285,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
$grpdel = array_diff($groups, $changes['grps']);
foreach($grpadd as $group) {
- if(($this->_addUserToGroup($user, $group, 1)) == false) {
+ if(($this->_addUserToGroup($user, $group, true)) == false) {
$rc = false;
}
}
@@ -366,7 +367,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param int $first index of first user to be returned
* @param int $limit max number of users to be returned
- * @param array|string $filter array of field/pattern pairs
+ * @param array $filter array of field/pattern pairs
* @return array userinfo (refer getUserData for internal userinfo details)
*/
public function retrieveUsers($first = 0, $limit = 0, $filter = array()) {
@@ -612,7 +613,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
if($uid) {
foreach($grps as $group) {
- $gid = $this->_addUserToGroup($user, $group, 1);
+ $gid = $this->_addUserToGroup($user, $group, true);
if($gid === false) break;
}
@@ -668,7 +669,6 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param string $user username of the user whose data is to be removed from the cache
* if null, empty the whole cache
- * @return none
*/
protected function _flushUserInfoCache($user=null) {
if (is_null($user)) {
@@ -750,7 +750,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $user user's nick to get data for
- * @return bool|array false on error, user info on success
+ * @return false|array false on error, user info on success
*/
protected function _retrieveUserInfo($user) {
$sql = str_replace('%{user}', $this->_escape($user), $this->getConf('getUserInfo'));
@@ -777,7 +777,6 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
*
* @param string $user user's nick being updated
* @param array $changes array of items to change as pairs of item and value
- * @param mixed $uid user id of dataset to change, must be unique in DB
* @return bool true on success or false on error
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
@@ -838,7 +837,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $group group name which id is desired
- * @return mixed group id
+ * @return false|string group id
*/
protected function _getGroupID($group) {
if($this->dbcon) {
@@ -911,7 +910,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $query SQL string that contains the query
- * @return array with the result table
+ * @return array|false with the result table
*/
protected function _queryDB($query) {
if($this->getConf('debug') >= 2) {
@@ -1002,6 +1001,8 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin {
* abrogated.
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
+ *
+ * @return bool
*/
protected function _unlockTables() {
if($this->dbcon) {
diff --git a/lib/plugins/authmysql/lang/cs/settings.php b/lib/plugins/authmysql/lang/cs/settings.php
index 350c3236b..09146a451 100644
--- a/lib/plugins/authmysql/lang/cs/settings.php
+++ b/lib/plugins/authmysql/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['server'] = 'Váš server MySQL';
$lang['user'] = 'Uživatelské jméno pro MySQL';
@@ -19,7 +20,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání uživatelovy skupi
$lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů';
$lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména';
$lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména';
-$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů';
+$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů';
$lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách';
$lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů';
$lang['addUser'] = 'Příkaz SQL pro přidání nového uživatele';
@@ -32,7 +33,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ
$lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu';
$lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele';
$lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele';
-$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele';
+$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele';
$lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele';
$lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci';
$lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině';
diff --git a/lib/plugins/authmysql/lang/da/settings.php b/lib/plugins/authmysql/lang/da/settings.php
index 1e38cb6b4..ed21201fb 100644
--- a/lib/plugins/authmysql/lang/da/settings.php
+++ b/lib/plugins/authmysql/lang/da/settings.php
@@ -2,7 +2,7 @@
/**
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
- *
+ *
* @author Jens Hyllegaard <jens.hyllegaard@gmail.com>
* @author soer9648 <soer9648@eucl.dk>
*/
@@ -11,6 +11,7 @@ $lang['user'] = 'MySQL brugernavn';
$lang['password'] = 'Kodeord til ovenstående bruger';
$lang['database'] = 'Database der skal benyttes';
$lang['charset'] = 'Tegnsæt benyttet i database';
+$lang['debug'] = 'Vis yderligere debug output';
$lang['checkPass'] = 'SQL-sætning til at kontrollere kodeord';
$lang['getUserInfo'] = 'SQL-sætning til at hente brugerinformation';
$lang['getUsers'] = 'SQL-sætning til at liste alle brugere';
@@ -21,7 +22,6 @@ $lang['delGroup'] = 'SQL-sætning til at fjerne en gruppe';
$lang['delUser'] = 'SQL-sætning til at slette en bruger';
$lang['delUserRefs'] = 'SQL-sætning til at fjerne en bruger fra alle grupper';
$lang['updateUser'] = 'SQL-sætning til at opdatere en brugerprofil';
-$lang['debug'] = 'Vis yderligere debug output';
$lang['debug_o_0'] = 'ingen';
$lang['debug_o_1'] = 'kun ved fejl';
$lang['debug_o_2'] = 'alle SQL forespørgsler';
diff --git a/lib/plugins/authmysql/lang/fi/settings.php b/lib/plugins/authmysql/lang/fi/settings.php
new file mode 100644
index 000000000..32517957b
--- /dev/null
+++ b/lib/plugins/authmysql/lang/fi/settings.php
@@ -0,0 +1,11 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Jussi Takala <jussi.takala@live.fi>
+ */
+$lang['server'] = 'Sinun MySQL-serveri';
+$lang['user'] = 'MySQL-käyttäjänimi';
+$lang['password'] = 'Salasana yläolevalle käyttäjälle';
+$lang['charset'] = 'Käytetty merkistö tietokannassa';
diff --git a/lib/plugins/authmysql/lang/no/settings.php b/lib/plugins/authmysql/lang/no/settings.php
new file mode 100644
index 000000000..45ab09819
--- /dev/null
+++ b/lib/plugins/authmysql/lang/no/settings.php
@@ -0,0 +1,14 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Patrick <spill.p@hotmail.com>
+ */
+$lang['server'] = 'Din MySQL-server';
+$lang['user'] = 'Ditt MySQL-brukernavn';
+$lang['password'] = 'Passord til brukeren';
+$lang['database'] = 'Database som skal brukes';
+$lang['debug_o_0'] = 'ingen';
+$lang['debug_o_1'] = 'bare ved feil';
+$lang['debug_o_2'] = 'alle SQL-forespørsler';
diff --git a/lib/plugins/authmysql/lang/pl/settings.php b/lib/plugins/authmysql/lang/pl/settings.php
index 9dc798ee0..68b5c6c22 100644
--- a/lib/plugins/authmysql/lang/pl/settings.php
+++ b/lib/plugins/authmysql/lang/pl/settings.php
@@ -5,6 +5,7 @@
*
* @author Paweł Jan Czochański <czochanski@gmail.com>
* @author Mati <mackosa@wp.pl>
+ * @author Maciej Helt <geraldziu@gmail.com>
*/
$lang['server'] = 'Twój server MySQL';
$lang['user'] = 'Nazwa użytkownika MySQL';
@@ -13,4 +14,13 @@ $lang['database'] = 'Używana baza danych';
$lang['charset'] = 'Zestaw znaków uzyty w bazie danych';
$lang['debug'] = 'Wyświetlaj dodatkowe informacje do debugowania.';
$lang['checkPass'] = 'Zapytanie SQL wykorzystywane do sprawdzania haseł.';
+$lang['getUserInfo'] = 'Zapytanie SQL zwracające informacje o użytkowniku';
+$lang['getGroups'] = 'Zapytanie SQL przynależność do grup danego użytkownika';
+$lang['getUsers'] = 'Zapytanie SQL zwracające listę wszystkich użytkowników';
+$lang['FilterLogin'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich loginu';
+$lang['FilterName'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich pełnej nazwy';
+$lang['FilterEmail'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich adresu email';
+$lang['FilterGroup'] = 'Klauzula SQL używana do filtrowania użytkowników na podstawie ich przynależności do grup';
+$lang['SortOrder'] = 'Klauzula SQL używana do sortowania użytkowników';
+$lang['addUser'] = 'Zapytanie SQL dodające nowego użytkownika';
$lang['debug_o_2'] = 'wszystkie zapytania SQL';
diff --git a/lib/plugins/authmysql/lang/pt/settings.php b/lib/plugins/authmysql/lang/pt/settings.php
index 0c7f303e7..821dcf802 100644
--- a/lib/plugins/authmysql/lang/pt/settings.php
+++ b/lib/plugins/authmysql/lang/pt/settings.php
@@ -4,20 +4,40 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author André Neves <drakferion@gmail.com>
+ * @author Guido Salatino <guidorafael23@gmail.com>
*/
$lang['server'] = 'O seu servidor de MySQL';
$lang['user'] = 'Utilizador MySQL';
$lang['password'] = 'Senha para o utilizador acima';
$lang['database'] = 'Base de dados a usar';
+$lang['charset'] = 'Conjunto de caracteres usado na base de dados';
$lang['debug'] = 'Mostrar informação adicional de debug';
+$lang['forwardClearPass'] = 'Passe as senhas do usuário como texto puro para as instruções SQL abaixo, em vez de usar a opção passcrypt';
+$lang['TablesToLock'] = 'Lista de tabelas, separadas por virgula, que devem ser bloqueadas em operações de escrita';
+$lang['checkPass'] = 'Instrução SQL para verificar senhas';
+$lang['getUserInfo'] = 'Instrução SQL para recuperar informações do usuário';
+$lang['getGroups'] = 'Instrução SQL para recuperar os usuários participantes de um grupo';
+$lang['getUsers'] = 'Instrução SQL para listar todos usuários';
$lang['FilterLogin'] = 'Cláusula SQL para filtrar utilizadores por tipo de login';
$lang['FilterName'] = 'Cláusula SQL para filtrar utilizadores por nome completo';
$lang['FilterEmail'] = 'Cláusula SQL para filtrar utilizadores por endereço de email';
$lang['FilterGroup'] = 'Cláusula SQL para filtrar utilizadores por pertença a grupo';
$lang['SortOrder'] = 'Cláusula SQL para ordenar utilizadores';
+$lang['addUser'] = 'Instrução SQL para adicionar novo usuário';
+$lang['addGroup'] = 'Instrução SQL para adicionar um novo grupo';
+$lang['addUserGroup'] = 'Instrução SQL para adicionar um usuário a um grupo existente';
+$lang['delGroup'] = 'Instrução SQL para remover um grupo';
+$lang['getUserID'] = 'Instrução SQL para obter a chave principal de um usuário';
+$lang['delUser'] = 'Instrução SQL para excluir um usuário';
+$lang['delUserRefs'] = 'Instrução SQL para excluir um usuário de todos os grupos';
+$lang['updateUser'] = 'Instrução SQL para atualizar um perfil de usuário';
$lang['UpdateLogin'] = 'Cláusula de atualização para atualizar o nome de login do utilizador';
$lang['UpdatePass'] = 'Cláusula de atualização para atualizar a senha do utilizador';
$lang['UpdateEmail'] = 'Cláusula de atualização para atualizar o endereço de email do utilizador';
$lang['UpdateName'] = 'Cláusula de atualização para atualizar o nome completo do utilizador';
+$lang['UpdateTarget'] = 'Cláusula limite para identificar o usuário ao atualizar';
+$lang['delUserGroup'] = 'Instrução SQL para remover um usuário de um determinado grupo';
+$lang['getGroupID'] = 'Instrução SQL para obter a chave principal de um determinado grupo';
$lang['debug_o_0'] = 'nenhum';
$lang['debug_o_1'] = 'só aquando de erros';
+$lang['debug_o_2'] = 'todas as consultas SQL';
diff --git a/lib/plugins/authmysql/lang/ru/settings.php b/lib/plugins/authmysql/lang/ru/settings.php
index 2d8f4788e..d9afa14e6 100644
--- a/lib/plugins/authmysql/lang/ru/settings.php
+++ b/lib/plugins/authmysql/lang/ru/settings.php
@@ -5,6 +5,8 @@
*
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
+ * @author Type-kun <workwork-1@yandex.ru>
+ * @author Aleksandr Selivanov <alexgearbox@yandex.ru>
*/
$lang['server'] = 'Ваш MySQL-сервер';
$lang['user'] = 'Имя пользователя MySQL';
@@ -13,7 +15,7 @@ $lang['database'] = 'Имя базы данных';
$lang['charset'] = 'Используемый набор символов в базе данных';
$lang['debug'] = 'Отображение дополнительной отладочной информации';
$lang['forwardClearPass'] = 'Передача пароля пользователя открытым текстом, вместо зашифрованной формы в используемом выражении SQL';
-$lang['TablesToLock'] = 'Имена таблиц (через запятую), которые необходимо ограничение для записи';
+$lang['TablesToLock'] = 'Имена таблиц (через запятую), которым необходимо ограничение для записи';
$lang['checkPass'] = 'Выражение SQL, осуществляющее проверку пароля';
$lang['getUserInfo'] = 'Выражение SQL, осуществляющее извлечение информации о пользователе';
$lang['getGroups'] = 'Выражение SQL, осуществляющее извлечение информации о членстве пользователе в группах';
@@ -35,7 +37,7 @@ $lang['UpdateLogin'] = 'Условие для обновления и
$lang['UpdatePass'] = 'Условие для обновления пароля пользователя';
$lang['UpdateEmail'] = 'Условие для обновления адреса электронной почты пользователя';
$lang['UpdateName'] = 'Условие для обновления полного имени пользователя';
-$lang['UpdateTarget'] = 'Условие для идентификации пользователя при обновлении';
+$lang['UpdateTarget'] = 'Выражение \'LIMIT\' для идентификации пользователя при обновлении';
$lang['delUserGroup'] = 'Выражение SQL, осуществляющее удаление пользователя из указанной группы';
$lang['getGroupID'] = 'Выражение SQL, обеспечивающее получение первичного ключа указанной группы';
$lang['debug_o_0'] = 'ни один из вариантов';
diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php
index 99f3ed443..4cb280aae 100644
--- a/lib/plugins/authpgsql/auth.php
+++ b/lib/plugins/authpgsql/auth.php
@@ -104,7 +104,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
- * @param array $keys
+ * @param string[] $keys
* @param bool $wop
* @return bool
*/
@@ -159,9 +159,11 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
if($first) $sql .= " OFFSET $first";
$result = $this->_queryDB($sql);
- foreach($result as $user)
- if(($info = $this->_getCachedUserInfo($user['user'])))
+ foreach($result as $user) {
+ if(($info = $this->_getUserInfo($user['user']))) {
$out[$user['user']] = $info;
+ }
+ }
$this->_unlockTables();
$this->_closeDB();
@@ -265,7 +267,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
if($uid) {
foreach($grps as $group) {
- $gid = $this->_addUserToGroup($user, $group, 1);
+ $gid = $this->_addUserToGroup($user, $group, true);
if($gid === false) break;
}
@@ -340,7 +342,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
*
* @param string $query SQL string that contains the query
- * @return array the result table
+ * @return array|false the result table
*/
protected function _queryDB($query) {
$resultarray = array();
@@ -363,6 +365,9 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* MySQL one because it does NOT return the last insertID
*
* @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $query
+ * @return bool
*/
protected function _modifyDB($query) {
if($this->dbcon) {
@@ -396,6 +401,8 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql {
* Commit a transaction
*
* @author Matthias Grimm <matthiasgrimm@users.sourceforge.net>
+ *
+ * @return bool
*/
protected function _unlockTables() {
if($this->dbcon) {
diff --git a/lib/plugins/authpgsql/lang/cs/settings.php b/lib/plugins/authpgsql/lang/cs/settings.php
index aec7eecf1..ad135e241 100644
--- a/lib/plugins/authpgsql/lang/cs/settings.php
+++ b/lib/plugins/authpgsql/lang/cs/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author mkucera66@seznam.cz
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['server'] = 'Váš server PostgreSQL';
$lang['port'] = 'Port vašeho serveru PostgreSQL';
@@ -18,7 +19,7 @@ $lang['getGroups'] = 'Příkaz SQL pro získání členství uživat
$lang['getUsers'] = 'Příkaz SQL pro seznam všech uživatelů';
$lang['FilterLogin'] = 'Příkaz SQL pro filtrování uživatelů podle přihlašovacího jména';
$lang['FilterName'] = 'Příkaz SQL pro filtrování uživatelů podle celého jména';
-$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres emailů';
+$lang['FilterEmail'] = 'Příkaz SQL pro filtrování uživatelů podle adres e-mailů';
$lang['FilterGroup'] = 'Příkaz SQL pro filtrování uživatelů podle členství ve skupinách';
$lang['SortOrder'] = 'Příkaz SQL pro řazení uživatelů';
$lang['addUser'] = 'Příkaz SQL pro řazení uživatelů';
@@ -31,7 +32,7 @@ $lang['delUserRefs'] = 'Příkaz SQL pro odstranění členství uživ
$lang['updateUser'] = 'Příkaz SQL pro aktualizaci uživatelského profilu';
$lang['UpdateLogin'] = 'Klauzule pro aktualizaci přihlačovacího jména uživatele';
$lang['UpdatePass'] = 'Klauzule pro aktualizaci hesla uživatele';
-$lang['UpdateEmail'] = 'Klauzule pro aktualizaci emailové adresy uživatele';
+$lang['UpdateEmail'] = 'Klauzule pro aktualizaci e-mailové adresy uživatele';
$lang['UpdateName'] = 'Klauzule pro aktualizaci celého jména uživatele';
$lang['UpdateTarget'] = 'Omezující klauzule pro identifikaci uživatele při aktualizaci';
$lang['delUserGroup'] = 'Příkaz SQL pro zrušení členství uživatele v dané skupině';
diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php
index baf40a468..e8a40dcb2 100644
--- a/lib/plugins/authpgsql/lang/it/settings.php
+++ b/lib/plugins/authpgsql/lang/it/settings.php
@@ -4,8 +4,10 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Francesco <francesco.cavalli@hotmail.com>
+ * @author Torpedo <dgtorpedo@gmail.com>
*/
$lang['server'] = 'Il tuo server PostgreSQL ';
$lang['port'] = 'La porta del tuo server PostgreSQL ';
$lang['user'] = 'Lo username PostgreSQL';
$lang['database'] = 'Database da usare';
+$lang['getUsers'] = 'Dichiarazione SQL per elencare tutti gli utenti';
diff --git a/lib/plugins/authpgsql/lang/pt/settings.php b/lib/plugins/authpgsql/lang/pt/settings.php
index b33b81141..f81ec22dc 100644
--- a/lib/plugins/authpgsql/lang/pt/settings.php
+++ b/lib/plugins/authpgsql/lang/pt/settings.php
@@ -4,6 +4,7 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author André Neves <drakferion@gmail.com>
+ * @author Guido Salatino <guidorafael23@gmail.com>
*/
$lang['server'] = 'O seu servidor PostgreSQL';
$lang['port'] = 'A porta do seu servidor PostgreSQL';
@@ -11,12 +12,28 @@ $lang['user'] = 'Nome de utilizador PostgreSQL';
$lang['password'] = 'Senha do utilizador acima';
$lang['database'] = 'Base de dados a usar';
$lang['debug'] = 'Mostrar informação adicional de debug';
+$lang['forwardClearPass'] = 'Passe as senhas do usuário como texto puro para as instruções SQL abaixo, em vez de usar a opção passcrypt';
+$lang['checkPass'] = 'Instrução SQL para verificar senhas';
+$lang['getUserInfo'] = 'Instrução SQL para recuperar informações de um usuário';
+$lang['getGroups'] = 'Instrução SQL para recuperar os usuários participantes de um grupo';
+$lang['getUsers'] = 'Instrução SQL para listar todos usuários';
$lang['FilterLogin'] = 'Cláusula SQL para filtrar utilizadores por nome de login';
$lang['FilterName'] = 'Cláusula SQL para filtrar utilizadores por nome completo';
$lang['FilterEmail'] = 'Cláusula SQL para filtrar utilizadores por endereço de email';
$lang['FilterGroup'] = 'Cláusula SQL para filtrar utilizadores por pertença a grupo';
$lang['SortOrder'] = 'Cláusula SQL para ordenar utilizadores';
+$lang['addUser'] = 'Instrução SQL para adicionar um novo usuário';
+$lang['addGroup'] = 'Instrução SQL para adicionar um novo grupo';
+$lang['addUserGroup'] = 'Instrução SQL para adicionar um usuário a um grupo existente';
+$lang['delGroup'] = 'Instrução SQL para remover um grupo';
+$lang['getUserID'] = 'Instrução SQL para obter a chave principal de um usuário';
+$lang['delUser'] = 'Instrução SQL para remover um usuário';
+$lang['delUserRefs'] = 'Instrução SQL para remover um usuário de todos os grupos';
+$lang['updateUser'] = 'Instrução SQL para atualizar um perfil de usuário';
$lang['UpdateLogin'] = 'Cláusula de atualização para atualizar o nome de login do utilizador';
$lang['UpdatePass'] = 'Cláusula de atualização para atualizar a senha do utilizador';
$lang['UpdateEmail'] = 'Cláusula de atualização para atualizar o endereço de email do utilizador';
$lang['UpdateName'] = 'Cláusula de atualização para atualizar o nome completo do utilizador';
+$lang['UpdateTarget'] = 'Cláusula limite para identificar o usuário ao atualizar';
+$lang['delUserGroup'] = 'Instrução SQL para remover um usuário de um determinado grupo';
+$lang['getGroupID'] = 'Instrução SQL para obter a chave principal de um determinado grupo';
diff --git a/lib/plugins/authpgsql/lang/ru/settings.php b/lib/plugins/authpgsql/lang/ru/settings.php
index 65cbce8df..2af299172 100644
--- a/lib/plugins/authpgsql/lang/ru/settings.php
+++ b/lib/plugins/authpgsql/lang/ru/settings.php
@@ -6,11 +6,13 @@
* @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua)
* @author Aleksandr Selivanov <alexgearbox@gmail.com>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
+ * @author Type-kun <workwork-1@yandex.ru>
*/
$lang['server'] = 'Ваш PostgreSQL-сервер';
$lang['port'] = 'Порт вашего PostgreSQL-сервера';
$lang['user'] = 'Имя пользователя PostgreSQL';
-$lang['password'] = 'Пароль для указанного пользователя.';
+$lang['password'] = 'Пароль для указанного пользователя';
$lang['database'] = 'Имя базы данных';
$lang['debug'] = 'Отображать дополнительную отладочную информацию';
$lang['checkPass'] = 'Выражение SQL, осуществляющее проверку пароля';
@@ -30,5 +32,10 @@ $lang['getUserID'] = 'Выражение SQL, обеспечиваю
$lang['delUser'] = 'Выражение SQL, осуществляющее удаление пользователя';
$lang['delUserRefs'] = 'Выражение SQL, осуществляющее удаление пользователя из всех группы';
$lang['updateUser'] = 'Выражение SQL, осуществляющее обновление профиля пользователя';
+$lang['UpdateLogin'] = 'Измените условие для обновления логина';
+$lang['UpdatePass'] = 'Измените условие для обновления пароля';
+$lang['UpdateEmail'] = 'Измените условие для обновления email';
+$lang['UpdateName'] = 'Условие для обновления полного имени пользователя';
+$lang['UpdateTarget'] = 'Выражение \'LIMIT\' для идентификации пользователя при обновлении';
$lang['delUserGroup'] = 'Выражение SQL, осуществляющее удаление пользователя из указанной группы';
$lang['getGroupID'] = 'Выражение SQL, обеспечивающее получение первичного ключа указанной группы';
diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php
index cd5294157..e1eade8d4 100644
--- a/lib/plugins/authplain/_test/escaping.test.php
+++ b/lib/plugins/authplain/_test/escaping.test.php
@@ -12,13 +12,14 @@
* @group plugins
*/
class helper_plugin_authplain_escaping_test extends DokuWikiTest {
-
- protected $pluginsEnabled = array('authplain');
+
+ protected $pluginsEnabled = array('authplainharness');
+ /** @var auth_plugin_authplain|auth_plugin_authplainharness */
protected $auth;
-
+
protected function reloadUsers() {
/* auth caches data loaded from file, but recreated object forces reload */
- $this->auth = new auth_plugin_authplain();
+ $this->auth = new auth_plugin_authplainharness();
}
function setUp() {
@@ -76,7 +77,50 @@ class helper_plugin_authplain_escaping_test extends DokuWikiTest {
$this->assertEquals($saved['name'], $user['name']);
$this->assertTrue($this->auth->checkPass("testuser", $user['pass']));
}
+
+ // really only required for developers to ensure this plugin will
+ // work with systems running on PCRE 6.6 and lower.
+ public function testLineSplit(){
+ $this->auth->setPregsplit_safe(false);
+
+ $names = array(
+ 'plain',
+ 'ut-fठ8',
+ 'colon:',
+ 'backslash\\',
+ 'alltogether\\ठ:'
+ );
+ $userpass = 'user:password_hash:';
+ $other_user_data = ':email@address:group1,group2';
+
+ foreach ($names as $testname) {
+ $escaped = str_replace(array('\\',':'),array('\\\\','\\:'),$testname); // escape : & \
+ $test_line = $userpass.$escaped.$other_user_data;
+ $result = $this->auth->splitUserData($test_line);
+
+ $this->assertEquals($escaped, $result[2]);
+ }
+ }
}
-?> \ No newline at end of file
+class auth_plugin_authplainharness extends auth_plugin_authplain {
+
+ /**
+ * @param boolean $bool
+ */
+ public function setPregsplit_safe($bool) {
+ $this->_pregsplit_safe = $bool;
+ }
+
+ public function getPregsplit_safe(){
+ return $this->_pregsplit_safe;
+ }
+
+ /**
+ * @param string $line
+ */
+ public function splitUserData($line){
+ return $this->_splitUserData($line);
+ }
+}
diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php
index b3ca988b9..b31c02fc8 100644
--- a/lib/plugins/authplain/auth.php
+++ b/lib/plugins/authplain/auth.php
@@ -17,6 +17,9 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
/** @var array filter pattern */
protected $_pattern = array();
+ /** @var bool safe version of preg_split */
+ protected $_pregsplit_safe = false;
+
/**
* Constructor
*
@@ -44,6 +47,8 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$this->cando['getUsers'] = true;
$this->cando['getUserCount'] = true;
}
+
+ $this->_pregsplit_safe = version_compare(PCRE_VERSION,'6.7','>=');
}
/**
@@ -77,7 +82,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $user
* @param bool $requireGroups (optional) ignored by this plugin, grps info always supplied
- * @return array|bool
+ * @return array|false
*/
public function getUserData($user, $requireGroups=true) {
if($this->users === null) $this->_loadUserData();
@@ -320,7 +325,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
$this->users = array();
- if(!@file_exists($config_cascade['plainauth.users']['default'])) return;
+ if(!file_exists($config_cascade['plainauth.users']['default'])) return;
$lines = file($config_cascade['plainauth.users']['default']);
foreach($lines as $line) {
@@ -329,7 +334,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
if(empty($line)) continue;
/* NB: preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3 */
- $row = preg_split('/(?<![^\\\\]\\\\)\:/', $line, 5); // allow for : escaped as \:
+ $row = $this->_splitUserData($line);
$row = str_replace('\\:', ':', $row);
$row = str_replace('\\\\', '\\', $row);
@@ -342,6 +347,33 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
}
}
+ protected function _splitUserData($line){
+ // due to a bug in PCRE 6.6, preg_split will fail with the regex we use here
+ // refer github issues 877 & 885
+ if ($this->_pregsplit_safe){
+ return preg_split('/(?<![^\\\\]\\\\)\:/', $line, 5); // allow for : escaped as \:
+ }
+
+ $row = array();
+ $piece = '';
+ $len = strlen($line);
+ for($i=0; $i<$len; $i++){
+ if ($line[$i]=='\\'){
+ $piece .= $line[$i];
+ $i++;
+ if ($i>=$len) break;
+ } else if ($line[$i]==':'){
+ $row[] = $piece;
+ $piece = '';
+ continue;
+ }
+ $piece .= $line[$i];
+ }
+ $row[] = $piece;
+
+ return $row;
+ }
+
/**
* return true if $user + $info match $filter criteria, false otherwise
*
diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php
index 835d27775..2ef570b68 100644
--- a/lib/plugins/config/admin.php
+++ b/lib/plugins/config/admin.php
@@ -32,6 +32,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
var $_session_started = false;
var $_localised_prompts = false;
+ /**
+ * @return int
+ */
function getMenuSort() { return 100; }
/**
@@ -40,14 +43,20 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
function handle() {
global $ID, $INPUT;
- if (!$this->_restore_session()) return $this->_close_session();
- if ($INPUT->int('save') != 1) return $this->_close_session();
- if (!checkSecurityToken()) return $this->_close_session();
+ if(!$this->_restore_session() || $INPUT->int('save') != 1 || !checkSecurityToken()) {
+ $this->_close_session();
+ return;
+ }
- if (is_null($this->_config)) { $this->_config = new configuration($this->_file); }
+ if(is_null($this->_config)) {
+ $this->_config = new configuration($this->_file);
+ }
// don't go any further if the configuration is locked
- if ($this->_config->_locked) return $this->_close_session();
+ if($this->_config->locked) {
+ $this->_close_session();
+ return;
+ }
$this->_input = $INPUT->arr('config');
@@ -104,6 +113,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
formSecurityToken();
$this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki'));
+ /** @var setting[] $undefined_settings */
$undefined_settings = array();
$in_fieldset = false;
$first_plugin_fieldset = true;
@@ -162,7 +172,17 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
// show undefined settings list
if ($allow_debug && !empty($undefined_settings)) {
- function _setting_natural_comparison($a, $b) { return strnatcmp($a->_key, $b->_key); }
+ /**
+ * Callback for sorting settings
+ *
+ * @param setting $a
+ * @param setting $b
+ * @return int if $a is lower/equal/higher than $b
+ */
+ function _setting_natural_comparison($a, $b) {
+ return strnatcmp($a->_key, $b->_key);
+ }
+
usort($undefined_settings, '_setting_natural_comparison');
$this->_print_h1('undefined_settings', $this->getLang('_header_undefined'));
ptln('<fieldset>');
@@ -235,6 +255,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
if ($this->_session_started) session_write_close();
}
+ /**
+ * @param bool $prompts
+ */
function setupLocale($prompts=false) {
parent::setupLocale();
@@ -245,6 +268,9 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
}
+ /**
+ * @return bool
+ */
function _setup_localised_plugin_prompts() {
global $conf;
@@ -256,7 +282,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp' || $plugin == 'config') continue;
if (is_file(DOKU_PLUGIN.$plugin)) continue;
- if (@file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){
+ if (file_exists(DOKU_PLUGIN.$plugin.$enlangfile)){
$lang = array();
@include(DOKU_PLUGIN.$plugin.$enlangfile);
if ($conf['lang'] != 'en') @include(DOKU_PLUGIN.$plugin.$langfile);
@@ -277,7 +303,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
// the same for the active template
$tpl = $conf['template'];
- if (@file_exists(tpl_incdir().$enlangfile)){
+ if (file_exists(tpl_incdir().$enlangfile)){
$lang = array();
@include(tpl_incdir().$enlangfile);
if ($conf['lang'] != 'en') @include(tpl_incdir().$langfile);
@@ -299,6 +325,8 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
* Generates a two-level table of contents for the config plugin.
*
* @author Ben Coburn <btcoburn@silicodon.net>
+ *
+ * @return array
*/
function getTOC() {
if (is_null($this->_config)) { $this->_config = new configuration($this->_file); }
@@ -328,6 +356,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
$t[] = html_mktocitem('configuration_manager', $this->getLang('_configuration_manager'), 1);
$t[] = html_mktocitem('dokuwiki_settings', $this->getLang('_header_dokuwiki'), 1);
+ /** @var setting $setting */
foreach($toc['conf'] as $setting) {
$name = $setting->prompt($this);
$t[] = html_mktocitem($setting->_key, $name, 2);
@@ -352,6 +381,10 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin {
return $t;
}
+ /**
+ * @param string $id
+ * @param string $text
+ */
function _print_h1($id, $text) {
ptln('<h1 id="'.$id.'">'.$text.'</h1>');
}
diff --git a/lib/plugins/config/images/danger.png b/lib/plugins/config/images/danger.png
index 7bd84f7a3..da0692429 100644
--- a/lib/plugins/config/images/danger.png
+++ b/lib/plugins/config/images/danger.png
Binary files differ
diff --git a/lib/plugins/config/images/security.png b/lib/plugins/config/images/security.png
index 1800f8e56..3ee8476ac 100644
--- a/lib/plugins/config/images/security.png
+++ b/lib/plugins/config/images/security.png
Binary files differ
diff --git a/lib/plugins/config/images/warning.png b/lib/plugins/config/images/warning.png
index c5e482f84..c1af79f0f 100644
--- a/lib/plugins/config/images/warning.png
+++ b/lib/plugins/config/images/warning.png
Binary files differ
diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php
index 8dae23110..316cc2c59 100644
--- a/lib/plugins/config/settings/config.class.php
+++ b/lib/plugins/config/settings/config.class.php
@@ -10,7 +10,9 @@
if(!defined('CM_KEYMARKER')) define('CM_KEYMARKER','____');
if (!class_exists('configuration')) {
-
+ /**
+ * Class configuration
+ */
class configuration {
var $_name = 'conf'; // name of the config variable found in the files (overridden by $config['varname'])
@@ -38,7 +40,7 @@ if (!class_exists('configuration')) {
public function configuration($datafile) {
global $conf, $config_cascade;
- if (!@file_exists($datafile)) {
+ if (!file_exists($datafile)) {
msg('No configuration metadata found at - '.htmlspecialchars($datafile),-1);
return;
}
@@ -123,8 +125,8 @@ if (!class_exists('configuration')) {
$file = end($this->_local_files);
// backup current file (remove any existing backup)
- if (@file_exists($file) && $backup) {
- if (@file_exists($file.'.bak')) @unlink($file.'.bak');
+ if (file_exists($file) && $backup) {
+ if (file_exists($file.'.bak')) @unlink($file.'.bak');
if (!io_rename($file, $file.'.bak')) return false;
}
@@ -151,6 +153,8 @@ if (!class_exists('configuration')) {
/**
* Update last modified time stamp of the config file
+ *
+ * @return bool
*/
public function touch_settings(){
if ($this->locked) return false;
@@ -187,7 +191,7 @@ if (!class_exists('configuration')) {
if ($this->_format == 'php') {
- if(@file_exists($file)){
+ if(file_exists($file)){
$contents = @php_strip_whitespace($file);
}else{
$contents = '';
@@ -277,7 +281,7 @@ if (!class_exists('configuration')) {
$local = $this->_local_files[0];
if (!is_writable(dirname($local))) return true;
- if (@file_exists($local) && !is_writable($local)) return true;
+ if (file_exists($local) && !is_writable($local)) return true;
return false;
}
@@ -285,6 +289,10 @@ if (!class_exists('configuration')) {
/**
* not used ... conf's contents are an array!
* reduce any multidimensional settings to one dimension using CM_KEYMARKER
+ *
+ * @param $conf
+ * @param string $prefix
+ * @return array
*/
protected function _flatten($conf,$prefix='') {
@@ -337,7 +345,7 @@ if (!class_exists('configuration')) {
foreach ($this->get_plugin_list() as $plugin) {
$plugin_dir = plugin_directory($plugin);
- if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){
+ if (file_exists(DOKU_PLUGIN.$plugin_dir.$file)){
$meta = array();
@include(DOKU_PLUGIN.$plugin_dir.$file);
@include(DOKU_PLUGIN.$plugin_dir.$class);
@@ -352,7 +360,7 @@ if (!class_exists('configuration')) {
}
// the same for the active template
- if (@file_exists(tpl_incdir().$file)){
+ if (file_exists(tpl_incdir().$file)){
$meta = array();
@include(tpl_incdir().$file);
@include(tpl_incdir().$class);
@@ -380,7 +388,7 @@ if (!class_exists('configuration')) {
foreach ($this->get_plugin_list() as $plugin) {
$plugin_dir = plugin_directory($plugin);
- if (@file_exists(DOKU_PLUGIN.$plugin_dir.$file)){
+ if (file_exists(DOKU_PLUGIN.$plugin_dir.$file)){
$conf = $this->_read_config(DOKU_PLUGIN.$plugin_dir.$file);
foreach ($conf as $key => $value){
$default['plugin'.CM_KEYMARKER.$plugin.CM_KEYMARKER.$key] = $value;
@@ -389,7 +397,7 @@ if (!class_exists('configuration')) {
}
// the same for the active template
- if (@file_exists(tpl_incdir().$file)){
+ if (file_exists(tpl_incdir().$file)){
$conf = $this->_read_config(tpl_incdir().$file);
foreach ($conf as $key => $value){
$default['tpl'.CM_KEYMARKER.$tpl.CM_KEYMARKER.$key] = $value;
@@ -403,6 +411,9 @@ if (!class_exists('configuration')) {
}
if (!class_exists('setting')) {
+ /**
+ * Class setting
+ */
class setting {
var $_key = '';
@@ -452,7 +463,7 @@ if (!class_exists('setting')) {
* - if changed value passes error check, set $this->_local to the new value
*
* @param mixed $input the new value
- * @return boolean true if changed, false otherwise (incl. on error)
+ * @return boolean true if changed, false otherwise (also on error)
*/
public function update($input) {
if (is_null($input)) return false;
@@ -476,10 +487,9 @@ if (!class_exists('setting')) {
*
* @param DokuWiki_Plugin $plugin object of config plugin
* @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
- * @return array(string $label_html, string $input_html)
+ * @return string[] with content array(string $label_html, string $input_html)
*/
public function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -503,6 +513,10 @@ if (!class_exists('setting')) {
/**
* Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
*/
public function out($var, $fmt='php') {
@@ -556,7 +570,7 @@ if (!class_exists('setting')) {
/**
* Returns caution
*
- * @return bool|string caution string, otherwise false for invalid caution
+ * @return false|string caution string, otherwise false for invalid caution
*/
public function caution() {
if (!empty($this->_caution)) {
@@ -603,12 +617,15 @@ if (!class_exists('setting')) {
if (!class_exists('setting_array')) {
+ /**
+ * Class setting_array
+ */
class setting_array extends setting {
/**
* Create an array from a string
*
- * @param $string
+ * @param string $string
* @return array
*/
protected function _from_string($string){
@@ -622,7 +639,7 @@ if (!class_exists('setting_array')) {
/**
* Create a string from an array
*
- * @param $array
+ * @param array $array
* @return string
*/
protected function _from_array($array){
@@ -657,13 +674,23 @@ if (!class_exists('setting_array')) {
return true;
}
+ /**
+ * Escaping
+ *
+ * @param string $string
+ * @return string
+ */
protected function _escape($string) {
$tr = array("\\" => '\\\\', "'" => '\\\'');
return "'".strtr( cleanText($string), $tr)."'";
}
/**
- * generate string to save setting value to file according to $fmt
+ * Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
*/
function out($var, $fmt='php') {
@@ -680,8 +707,14 @@ if (!class_exists('setting_array')) {
return $out;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -706,9 +739,18 @@ if (!class_exists('setting_array')) {
}
if (!class_exists('setting_string')) {
+ /**
+ * Class setting_string
+ */
class setting_string extends setting {
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -733,10 +775,21 @@ if (!class_exists('setting_string')) {
}
if (!class_exists('setting_password')) {
+ /**
+ * Class setting_password
+ */
class setting_password extends setting_string {
var $_code = 'plain'; // mechanism to be used to obscure passwords
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
if (!$input) return false;
@@ -751,9 +804,15 @@ if (!class_exists('setting_password')) {
return true;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = $this->is_protected() ? 'disabled="disabled"' : '';
$key = htmlspecialchars($this->_key);
@@ -766,7 +825,9 @@ if (!class_exists('setting_password')) {
}
if (!class_exists('setting_email')) {
-
+ /**
+ * Class setting_email
+ */
class setting_email extends setting_string {
var $_multiple = false;
var $_placeholders = false;
@@ -775,6 +836,7 @@ if (!class_exists('setting_email')) {
* update setting with user provided value $input
* if value fails error check, save it
*
+ * @param mixed $input
* @return boolean true if changed, false otherwise (incl. on error)
*/
function update($input) {
@@ -829,7 +891,17 @@ if (!class_exists('setting_email')) {
* @deprecated 2013-02-16
*/
if (!class_exists('setting_richemail')) {
+ /**
+ * Class setting_richemail
+ */
class setting_richemail extends setting_email {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
$this->_placeholders = true;
return parent::update($input);
@@ -839,6 +911,9 @@ if (!class_exists('setting_richemail')) {
if (!class_exists('setting_numeric')) {
+ /**
+ * Class setting_numeric
+ */
class setting_numeric extends setting_string {
// This allows for many PHP syntax errors...
// var $_pattern = '/^[-+\/*0-9 ]*$/';
@@ -847,6 +922,14 @@ if (!class_exists('setting_numeric')) {
var $_min = null;
var $_max = null;
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
$local = $this->_local;
$valid = parent::update($input);
@@ -863,6 +946,13 @@ if (!class_exists('setting_numeric')) {
return $valid;
}
+ /**
+ * Generate string to save setting value to file according to $fmt
+ *
+ * @param string $var name of variable
+ * @param string $fmt save format
+ * @return string
+ */
function out($var, $fmt='php') {
if ($this->is_protected()) return '';
@@ -881,6 +971,9 @@ if (!class_exists('setting_numeric')) {
}
if (!class_exists('setting_numericopt')) {
+ /**
+ * Class setting_numericopt
+ */
class setting_numericopt extends setting_numeric {
// just allow an empty config
var $_pattern = '/^(|[-]?[0-9]+(?:[-+*][0-9]+)*)$/';
@@ -888,10 +981,18 @@ if (!class_exists('setting_numericopt')) {
}
if (!class_exists('setting_onoff')) {
+ /**
+ * Class setting_onoff
+ */
class setting_onoff extends setting_numeric {
-
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo = false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -909,6 +1010,14 @@ if (!class_exists('setting_onoff')) {
return array($label,$input);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -923,11 +1032,21 @@ if (!class_exists('setting_onoff')) {
}
if (!class_exists('setting_multichoice')) {
+ /**
+ * Class setting_multichoice
+ */
class setting_multichoice extends setting_string {
var $_choices = array();
+ var $lang; //some custom language strings are stored in setting
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo = false) {
- $value = '';
$disable = '';
$nochoice = '';
@@ -970,6 +1089,14 @@ if (!class_exists('setting_multichoice')) {
return array($label,$input);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if (is_null($input)) return false;
if ($this->is_protected()) return false;
@@ -987,10 +1114,20 @@ if (!class_exists('setting_multichoice')) {
if (!class_exists('setting_dirchoice')) {
+ /**
+ * Class setting_dirchoice
+ */
class setting_dirchoice extends setting_multichoice {
var $_dir = '';
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
// populate $this->_choices with a list of directories
@@ -1016,12 +1153,18 @@ if (!class_exists('setting_dirchoice')) {
if (!class_exists('setting_hidden')) {
+ /**
+ * Class setting_hidden
+ */
class setting_hidden extends setting {
// Used to explicitly ignore a setting in the configuration manager.
}
}
if (!class_exists('setting_fieldset')) {
+ /**
+ * Class setting_fieldset
+ */
class setting_fieldset extends setting {
// A do-nothing class used to detect the 'fieldset' type.
// Used to start a new settings "display-group".
@@ -1029,6 +1172,9 @@ if (!class_exists('setting_fieldset')) {
}
if (!class_exists('setting_undefined')) {
+ /**
+ * Class setting_undefined
+ */
class setting_undefined extends setting_hidden {
// A do-nothing class used to detect settings with no metadata entry.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1036,6 +1182,9 @@ if (!class_exists('setting_undefined')) {
}
if (!class_exists('setting_no_class')) {
+ /**
+ * Class setting_no_class
+ */
class setting_no_class extends setting_undefined {
// A do-nothing class used to detect settings with a missing setting class.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1043,6 +1192,9 @@ if (!class_exists('setting_no_class')) {
}
if (!class_exists('setting_no_default')) {
+ /**
+ * Class setting_no_default
+ */
class setting_no_default extends setting_undefined {
// A do-nothing class used to detect settings with no default value.
// Used internaly to hide undefined settings, and generate the undefined settings list.
@@ -1050,11 +1202,22 @@ if (!class_exists('setting_no_default')) {
}
if (!class_exists('setting_multicheckbox')) {
+ /**
+ * Class setting_multicheckbox
+ */
class setting_multicheckbox extends setting_string {
var $_choices = array();
var $_combine = array();
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -1075,9 +1238,15 @@ if (!class_exists('setting_multicheckbox')) {
return true;
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return string[] with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
- $value = '';
$disable = '';
if ($this->is_protected()) {
@@ -1125,7 +1294,7 @@ if (!class_exists('setting_multicheckbox')) {
// handle any remaining values
$other = join(',',$value);
- $class = (count($default == count($value)) && (count($value) == count(array_intersect($value,$default)))) ?
+ $class = ((count($default) == count($value)) && (count($value) == count(array_intersect($value,$default)))) ?
" selectiondefault" : "";
$input .= '<div class="other'.$class.'">'."\n";
@@ -1139,6 +1308,9 @@ if (!class_exists('setting_multicheckbox')) {
/**
* convert comma separated list to an array and combine any complimentary values
+ *
+ * @param string $str
+ * @return array
*/
function _str2array($str) {
$array = explode(',',$str);
@@ -1162,6 +1334,9 @@ if (!class_exists('setting_multicheckbox')) {
/**
* convert array of values + other back to a comma separated list, incl. splitting any combined values
+ *
+ * @param array $input
+ * @return string
*/
function _array2str($input) {
@@ -1190,6 +1365,9 @@ if (!class_exists('setting_multicheckbox')) {
}
if (!class_exists('setting_regex')){
+ /**
+ * Class setting_regex
+ */
class setting_regex extends setting_string {
var $_delimiter = '/'; // regex delimiter to be used in testing input
@@ -1213,7 +1391,7 @@ if (!class_exists('setting_regex')){
// see if the regex compiles and runs (we don't check for effectiveness)
$regex = $this->_delimiter . $input . $this->_delimiter . $this->_pregflags;
$lastError = error_get_last();
- $ok = @preg_match($regex,'testdata');
+ @preg_match($regex,'testdata');
if (preg_last_error() != PREG_NO_ERROR || error_get_last() != $lastError) {
$this->_input = $input;
$this->_error = true;
diff --git a/lib/plugins/config/settings/extra.class.php b/lib/plugins/config/settings/extra.class.php
index 83de802a3..fd3a90e28 100644
--- a/lib/plugins/config/settings/extra.class.php
+++ b/lib/plugins/config/settings/extra.class.php
@@ -6,8 +6,15 @@
*/
if (!class_exists('setting_sepchar')) {
+ /**
+ * Class setting_sepchar
+ */
class setting_sepchar extends setting_multichoice {
+ /**
+ * @param string $key
+ * @param array|null $param array with metadata of setting
+ */
function setting_sepchar($key,$param=null) {
$str = '_-.';
for ($i=0;$i<strlen($str);$i++) $this->_choices[] = $str{$i};
@@ -19,8 +26,19 @@ if (!class_exists('setting_sepchar')) {
}
if (!class_exists('setting_savedir')) {
+ /**
+ * Class setting_savedir
+ */
class setting_savedir extends setting_string {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -40,9 +58,20 @@ if (!class_exists('setting_savedir')) {
}
if (!class_exists('setting_authtype')) {
+ /**
+ * Class setting_authtype
+ */
class setting_authtype extends setting_multichoice {
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
// retrieve auth types provided by plugins
@@ -53,7 +82,16 @@ if (!class_exists('setting_authtype')) {
parent::initialize($default,$local,$protected);
}
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
+ /** @var $plugin_controller Doku_Plugin_Controller */
global $plugin_controller;
// is an update possible/requested?
@@ -92,8 +130,19 @@ if (!class_exists('setting_authtype')) {
}
if (!class_exists('setting_im_convert')) {
+ /**
+ * Class setting_im_convert
+ */
class setting_im_convert extends setting_string {
+ /**
+ * update changed setting with user provided value $input
+ * - if changed value fails error check, save it to $this->_input (to allow echoing later)
+ * - if changed value passes error check, set $this->_local to the new value
+ *
+ * @param mixed $input the new value
+ * @return boolean true if changed, false otherwise (also on error)
+ */
function update($input) {
if ($this->is_protected()) return false;
@@ -102,7 +151,7 @@ if (!class_exists('setting_im_convert')) {
$value = is_null($this->_local) ? $this->_default : $this->_local;
if ($value == $input) return false;
- if ($input && !@file_exists($input)) {
+ if ($input && !file_exists($input)) {
$this->_error = true;
$this->_input = $input;
return false;
@@ -115,14 +164,24 @@ if (!class_exists('setting_im_convert')) {
}
if (!class_exists('setting_disableactions')) {
+ /**
+ * Class setting_disableactions
+ */
class setting_disableactions extends setting_multicheckbox {
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
global $lang;
// make some language adjustments (there must be a better way)
// transfer some DokuWiki language strings to the plugin
- if (!$plugin->localised) $this->setupLocale();
+ if (!$plugin->localised) $plugin->setupLocale();
$plugin->lang[$this->_key.'_revisions'] = $lang['btn_revs'];
foreach ($this->_choices as $choice)
@@ -134,10 +193,20 @@ if (!class_exists('setting_disableactions')) {
}
if (!class_exists('setting_compression')) {
+ /**
+ * Class setting_compression
+ */
class setting_compression extends setting_multichoice {
var $_choices = array('0'); // 0 = no compression, always supported
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
// populate _choices with the compression methods supported by this php installation
@@ -150,16 +219,26 @@ if (!class_exists('setting_compression')) {
}
if (!class_exists('setting_license')) {
+ /**
+ * Class setting_license
+ */
class setting_license extends setting_multichoice {
var $_choices = array(''); // none choosen
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
global $license;
foreach($license as $key => $data){
$this->_choices[] = $key;
- $this->lang[$this->_key.'_o_'.$key] = $data['name'];
+ $this->lang[$this->_key.'_o_'.$key] = $data['name']; // stored in setting
}
parent::initialize($default,$local,$protected);
@@ -169,9 +248,20 @@ if (!class_exists('setting_license')) {
if (!class_exists('setting_renderer')) {
+ /**
+ * Class setting_renderer
+ */
class setting_renderer extends setting_multichoice {
var $_prompts = array();
-
+ var $_format = null;
+
+ /**
+ * Receives current values for the setting $key
+ *
+ * @param mixed $default default setting value
+ * @param mixed $local local setting value
+ * @param mixed $protected protected setting value
+ */
function initialize($default,$local,$protected) {
$format = $this->_format;
@@ -188,11 +278,18 @@ if (!class_exists('setting_renderer')) {
parent::initialize($default,$local,$protected);
}
+ /**
+ * Build html for label and input of setting
+ *
+ * @param DokuWiki_Plugin $plugin object of config plugin
+ * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting
+ * @return array with content array(string $label_html, string $input_html)
+ */
function html(&$plugin, $echo=false) {
// make some language adjustments (there must be a better way)
// transfer some plugin names to the config plugin
- if (!$plugin->localised) $this->setupLocale();
+ if (!$plugin->localised) $plugin->setupLocale();
foreach ($this->_choices as $choice) {
if (!isset($plugin->lang[$this->_key.'_o_'.$choice])) {
diff --git a/lib/plugins/extension/admin.php b/lib/plugins/extension/admin.php
index 99c74848b..71257cf43 100644
--- a/lib/plugins/extension/admin.php
+++ b/lib/plugins/extension/admin.php
@@ -54,6 +54,10 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1);
}
+ if(!in_array('ssl', stream_get_transports())) {
+ msg($this->getLang('nossl'), -1);
+ }
+
/* @var helper_plugin_extension_extension $extension */
$extension = $this->loadHelper('extension_extension');
@@ -75,10 +79,10 @@ class admin_plugin_extension extends DokuWiki_Admin_Plugin {
case 'uninstall':
$extension->setExtension($extname);
$status = $extension->uninstall();
- if($status !== true) {
- msg($status, -1);
- } else {
+ if($status) {
msg(sprintf($this->getLang('msg_delete_success'), hsc($extension->getDisplayName())), 1);
+ } else {
+ msg(sprintf($this->getLang('msg_delete_failed'), hsc($extension->getDisplayName())), -1);
}
break;
case 'enable';
diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php
index 2aca0e218..6c0946b09 100644
--- a/lib/plugins/extension/helper/extension.php
+++ b/lib/plugins/extension/helper/extension.php
@@ -707,7 +707,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
$plugin = null;
foreach($plugin_types as $type) {
- if(@file_exists($path.$type.'.php')) {
+ if(file_exists($path.$type.'.php')) {
$plugin = plugin_load($type, $this->base);
if ($plugin) break;
}
@@ -799,7 +799,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
*
* The directory is registered for cleanup when the class is destroyed
*
- * @return bool|string
+ * @return false|string
*/
protected function mkTmpDir(){
$dir = io_mktmpdir();
@@ -907,12 +907,12 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
// check to make sure we aren't overwriting anything
$target = $target_base_dir.$item['base'];
- if(!$overwrite && @file_exists($target)) {
+ if(!$overwrite && file_exists($target)) {
// TODO remember our settings, ask the user to confirm overwrite
continue;
}
- $action = @file_exists($target) ? 'update' : 'install';
+ $action = file_exists($target) ? 'update' : 'install';
// copy action
if($this->dircopy($item['tmp'], $target)) {
@@ -1079,7 +1079,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
*
* @author Andreas Gohr <andi@splitbrain.org>
* @param string $file The file to analyze
- * @return string|bool false if the file can't be read, otherwise an "extension"
+ * @return string|false false if the file can't be read, otherwise an "extension"
*/
private function guess_archive($file) {
$fh = fopen($file, 'rb');
@@ -1095,6 +1095,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
/**
* Copy with recursive sub-directory support
+ *
+ * @param string $src filename path to file
+ * @param string $dst filename path to file
+ * @return bool|int|string
*/
private function dircopy($src, $dst) {
global $conf;
@@ -1113,7 +1117,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin {
return $ok;
} else {
- $exists = @file_exists($dst);
+ $exists = file_exists($dst);
if(!@copy($src, $dst)) return false;
if(!$exists && !empty($conf['fperm'])) chmod($dst, $conf['fperm']);
diff --git a/lib/plugins/extension/helper/list.php b/lib/plugins/extension/helper/list.php
index 9b1988d84..8bcd00ec6 100644
--- a/lib/plugins/extension/helper/list.php
+++ b/lib/plugins/extension/helper/list.php
@@ -333,7 +333,6 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
* Shortens the URL for display
*
* @param string $url
- *
* @return string HTML link
*/
function shortlink($url){
@@ -461,6 +460,7 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
* @return string The HTML code
*/
function make_actions(helper_plugin_extension_extension $extension) {
+ global $conf;
$return = '';
$errors = '';
@@ -492,6 +492,10 @@ class helper_plugin_extension_list extends DokuWiki_Plugin {
$errors .= '<p class="permerror">'.$this->getLang('git').'</p>';
}
+ if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['authtype'] != $extension->getID()) {
+ $errors .= '<p class="permerror">'.$this->getLang('auth').'</p>';
+ }
+
}else{
if (($canmod = $extension->canModify()) === true) {
if ($extension->getDownloadURL()) {
diff --git a/lib/plugins/extension/helper/repository.php b/lib/plugins/extension/helper/repository.php
index 6ffe89eb7..5dc2707cf 100644
--- a/lib/plugins/extension/helper/repository.php
+++ b/lib/plugins/extension/helper/repository.php
@@ -32,7 +32,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
$request_needed = false;
foreach ($list as $name) {
$cache = new cache('##extension_manager##'.$name, '.repo');
- $result = null;
+
if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) {
$this->loaded_extensions[$name] = true;
$request_data['ext'][] = $name;
@@ -64,7 +64,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
public function hasAccess() {
if ($this->has_access === null) {
$cache = new cache('##extension_manager###hasAccess', '.repo');
- $result = null;
+
if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) {
$httpclient = new DokuHTTPClient();
$httpclient->timeout = 5;
@@ -91,7 +91,7 @@ class helper_plugin_extension_repository extends DokuWiki_Plugin {
*/
public function getData($name) {
$cache = new cache('##extension_manager##'.$name, '.repo');
- $result = null;
+
if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) {
$this->loaded_extensions[$name] = true;
$httpclient = new DokuHTTPClient();
diff --git a/lib/plugins/extension/images/disabled.png b/lib/plugins/extension/images/disabled.png
index 93a813642..9c18b0452 100644
--- a/lib/plugins/extension/images/disabled.png
+++ b/lib/plugins/extension/images/disabled.png
Binary files differ
diff --git a/lib/plugins/extension/images/donate.png b/lib/plugins/extension/images/donate.png
index 9e234da1c..a76dfaaec 100644
--- a/lib/plugins/extension/images/donate.png
+++ b/lib/plugins/extension/images/donate.png
Binary files differ
diff --git a/lib/plugins/extension/images/down.png b/lib/plugins/extension/images/down.png
index df7beda4e..8e399a97d 100644
--- a/lib/plugins/extension/images/down.png
+++ b/lib/plugins/extension/images/down.png
Binary files differ
diff --git a/lib/plugins/extension/images/enabled.png b/lib/plugins/extension/images/enabled.png
index 92d958802..edbbb5b3c 100644
--- a/lib/plugins/extension/images/enabled.png
+++ b/lib/plugins/extension/images/enabled.png
Binary files differ
diff --git a/lib/plugins/extension/images/overlay.png b/lib/plugins/extension/images/overlay.png
index 8f92c2fe7..5414206c5 100644
--- a/lib/plugins/extension/images/overlay.png
+++ b/lib/plugins/extension/images/overlay.png
Binary files differ
diff --git a/lib/plugins/extension/images/plugin.png b/lib/plugins/extension/images/plugin.png
index e4a2d3be6..62424b2c7 100644
--- a/lib/plugins/extension/images/plugin.png
+++ b/lib/plugins/extension/images/plugin.png
Binary files differ
diff --git a/lib/plugins/extension/images/tag.png b/lib/plugins/extension/images/tag.png
index 155dbb3dd..1b1dd750c 100644
--- a/lib/plugins/extension/images/tag.png
+++ b/lib/plugins/extension/images/tag.png
Binary files differ
diff --git a/lib/plugins/extension/images/template.png b/lib/plugins/extension/images/template.png
index ee74bc1d5..67240d1eb 100644
--- a/lib/plugins/extension/images/template.png
+++ b/lib/plugins/extension/images/template.png
Binary files differ
diff --git a/lib/plugins/extension/images/up.png b/lib/plugins/extension/images/up.png
index ec9337715..531b2dd7b 100644
--- a/lib/plugins/extension/images/up.png
+++ b/lib/plugins/extension/images/up.png
Binary files differ
diff --git a/lib/plugins/extension/images/warning.png b/lib/plugins/extension/images/warning.png
index c5e482f84..c1af79f0f 100644
--- a/lib/plugins/extension/images/warning.png
+++ b/lib/plugins/extension/images/warning.png
Binary files differ
diff --git a/lib/plugins/extension/lang/cs/intro_plugins.txt b/lib/plugins/extension/lang/cs/intro_plugins.txt
new file mode 100644
index 000000000..a6f62746a
--- /dev/null
+++ b/lib/plugins/extension/lang/cs/intro_plugins.txt
@@ -0,0 +1 @@
+Toto je seznam momentálně nainstalovaných zásuvných modulů vaší DokuWiki. V tomto seznamu je lze zapínat, vypínat nebo kompletně odinstalovat. Jsou zde také vidět dostupné aktualizace pro moduly, ale před jejich případným aktualizováním si vždy přečtěte jejich dokumentaci. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/cs/intro_search.txt b/lib/plugins/extension/lang/cs/intro_search.txt
new file mode 100644
index 000000000..4258ac4f2
--- /dev/null
+++ b/lib/plugins/extension/lang/cs/intro_search.txt
@@ -0,0 +1 @@
+Tato záložka poskytuje náhled na všechny dostupné moduly a šablony třetích stran pro DokuWiki. Jejich instalací se múžete vystavit **bezpečnostním rizikům** o kterých se můžete více dočíst v oddíle [[doku>security#plugin_security|plugin security]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/cs/intro_templates.txt b/lib/plugins/extension/lang/cs/intro_templates.txt
new file mode 100644
index 000000000..45abe952c
--- /dev/null
+++ b/lib/plugins/extension/lang/cs/intro_templates.txt
@@ -0,0 +1 @@
+Toto jsou šablony, které jsou momentálně nainstalovány v této DokuWiki. Aktuálně používanu šablonu lze vybrat ve [[?do=admin&page=config|Správci rozšíření]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php
index 27b3a94a3..dc38afd52 100644
--- a/lib/plugins/extension/lang/cs/lang.php
+++ b/lib/plugins/extension/lang/cs/lang.php
@@ -15,6 +15,7 @@ $lang['notimplemented'] = 'Tato vychytávka není dosud implementována';
$lang['notinstalled'] = 'Toto rozšíření není instalováno';
$lang['alreadyenabled'] = 'Toto rozšíření je již povoleno';
$lang['alreadydisabled'] = 'Toto rozšíření je již vypnuto';
+$lang['pluginlistsaveerror'] = 'Došlo k chybě při ukládání seznamu zásuvných modulů';
$lang['unknownauthor'] = 'Neznámý autor';
$lang['unknownversion'] = 'Neznámá verze';
$lang['btn_info'] = 'Zobrazit více informací';
@@ -27,12 +28,15 @@ $lang['btn_reinstall'] = 'Přeinstalovat';
$lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozšíření?';
$lang['search_for'] = 'Hledat rozšíření:';
$lang['search'] = 'Hledat';
+$lang['extensionby'] = '<strong>%s</strong> od %s';
+$lang['screenshot'] = 'Screenshot %s';
$lang['popularity'] = 'Popularita: %s%%';
$lang['homepage_link'] = 'Dokumenty';
$lang['bugs_features'] = 'Chyby';
$lang['tags'] = 'Štítky:';
$lang['author_hint'] = 'Vyhledat rozšíření podle tohoto autora';
$lang['installed'] = 'Nainstalováno:';
+$lang['downloadurl'] = 'URL stahování:';
$lang['repository'] = 'Repozitář:';
$lang['unknown'] = '<em>neznámý</em>';
$lang['installed_version'] = 'Nainstalovaná verze:';
@@ -41,6 +45,7 @@ $lang['available_version'] = 'Dostupná verze:';
$lang['compatible'] = 'Kompatibilní s:';
$lang['depends'] = 'Závisí na:';
$lang['similar'] = 'Podobný jako:';
+$lang['conflicts'] = 'Koliduje s:';
$lang['donate'] = 'Líbí se ti to?';
$lang['donate_action'] = 'Kup autorovi kávu!';
$lang['repo_retry'] = 'Opakovat';
@@ -54,4 +59,34 @@ $lang['status_disabled'] = 'zakázaný';
$lang['status_unmodifiable'] = 'neměnný';
$lang['status_plugin'] = 'zásuvný modul';
$lang['status_template'] = 'šablona';
+$lang['status_bundled'] = 'svázaný';
+$lang['msg_enabled'] = 'Zásuvný modul %s povolen';
+$lang['msg_disabled'] = 'Zásuvný modul %s zakázán';
$lang['msg_delete_success'] = 'Rozšíření odinstalováno';
+$lang['msg_delete_failed'] = 'Odinstalování rozšíření %s selhalo';
+$lang['msg_template_install_success'] = 'Šablona %s úspěšně nainstalována';
+$lang['msg_template_update_success'] = 'Šablona %s úspěšně aktualizována';
+$lang['msg_plugin_install_success'] = 'Zásuvný modul %s úspěšně nainstalován.';
+$lang['msg_plugin_update_success'] = 'Zásuvný modul %s úspěšně aktualizován.';
+$lang['msg_upload_failed'] = 'Nahrávání souboru selhalo';
+$lang['missing_dependency'] = '<strong>Chybějící nebo zakázaná závislost:</strong> %s';
+$lang['security_issue'] = '<strong>Bezpečnostní problém:</strong> %s';
+$lang['security_warning'] = '<strong>Bezpečnostní varování:</strong> %s';
+$lang['update_available'] = '<strong>Aktualizace:</strong> Je dostupná nová verze %s.';
+$lang['wrong_folder'] = '<strong>Zásuvný modul nesprávně nainstalován:</strong> Přejmenujte adresář modulu "%s" na "%s".';
+$lang['url_change'] = '<strong>URL se změnila:</strong> URL pro stahování se změnila od poslední aktualizace. Před další aktualizací tohoto rozšíření ověřte správnost nové URL.<br />Nová: %s<br />Stará: %s';
+$lang['error_badurl'] = 'Adresy URL by měly začínat s http nebo https';
+$lang['error_dircreate'] = 'Nelze vytvořit dočasný adresář pro přijetí stahování';
+$lang['error_download'] = 'Nelze stáhnout soubor: %s';
+$lang['error_decompress'] = 'Selhalo rozbalení staženého souboru. Toto je nejspíš důsledek poškození souboru při přenosu, zkuste soubor stáhnout znovu; případně nemusel být rozpoznán formát sbaleného souboru a bude třeba přistoupit k ruční instalaci. ';
+$lang['error_findfolder'] = 'Nelze rozpoznat adresář pro rozšíření, je třeba stáhnout a instalovat ručně';
+$lang['error_copy'] = 'Došlo k chybě kopírování souborů při pokusu nainstalovat soubory do adresáře <em>%s</em>: může být plný disk nebo špatně nastavena přístupová práva. Tato chyba mohla zapříčinit pouze částečnou instalaci zásuvného modulu a uvést wiki do nestabilního stavu.';
+$lang['noperms'] = 'Nelze zapisovat do adresáře pro rozšíření';
+$lang['notplperms'] = 'Nelze zapisovat do odkládacího adresáře';
+$lang['nopluginperms'] = 'Nelze zapisovat do adresáře se zásuvnými moduly';
+$lang['git'] = 'Toto rozšíření bylo nainstalováno přes git. Touto cestou ho nejspíš tady aktualizovat nechcete.';
+$lang['auth'] = 'Tento ověřovací zásuvný modul není povolen v nastavení, zvažte jeho deaktivaci.';
+$lang['install_url'] = 'Nainstalovat z URL:';
+$lang['install_upload'] = 'Nahrát rozšíření:';
+$lang['repo_error'] = 'Nelze kontaktovat repozitář se zásuvnými moduly. Ujistěte se, že váš server může kontaktovat www.dokuwiki.org a zkontrolujte nastavení proxy.';
+$lang['nossl'] = 'Použité PHP pravděpodobně nepodporuje SSL. Stažení mnoha DokuWiki rozšíření nebude fungovat.';
diff --git a/lib/plugins/extension/lang/da/lang.php b/lib/plugins/extension/lang/da/lang.php
new file mode 100644
index 000000000..c341bc5f9
--- /dev/null
+++ b/lib/plugins/extension/lang/da/lang.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Søren Birk <soer9648@eucl.dk>
+ */
+$lang['update_available'] = '<strong>Opdatering:</strong> Ny version %s er tilgængelig.';
+$lang['wrong_folder'] = '<strong>Plugin ikke installeret korrekt:</strong> Omdøb plugin-mappe "%s" til "%s".';
+$lang['url_change'] = '<strong>URL ændret:</strong> Download-URL er blevet ændret siden sidste download. Kontrollér om den nye URL er valid, inden udvidelsen opdateres.<br />Ny: %s<br />Gammel: %s';
+$lang['error_badurl'] = 'URL\'er skal starte med http eller https';
+$lang['error_dircreate'] = 'Ikke i stand til at oprette midlertidig mappe til modtagelse af download';
+$lang['error_download'] = 'Ikke i stand til at downloade filen: %s';
+$lang['error_decompress'] = 'Ikke i stand til at dekomprimere den downloadede fil. Dette kan være et resultat af en dårlig download, hvor du i så fald bør du prøve igen; eller komprimeringsformatet kan være ukendt, hvor du i så fald bliver nød til at downloade og installere manuelt.';
+$lang['error_findfolder'] = 'Ikke i stand til at identificere udvidelsesmappe - du bliver nød til at downloade og installere manuelt.';
+$lang['error_copy'] = 'Der opstod en kopieringsfejl under installation af filer til mappen <em>%s</em>: disken kan være fuld, eller mangel på fil-tilladelser. Dette kan have resulteret i et delvist installeret plugin, og efterladt din wiki-installation ustabil.';
+$lang['noperms'] = 'Udvidelsesmappe er ikke skrivbar';
+$lang['notplperms'] = 'Skabelonmappe er ikke skrivbar';
+$lang['nopluginperms'] = 'Pluginmappe er ikke skrivbar';
+$lang['git'] = 'Udvidelsen blev installeret via git - du vil muligvis ikke opdatere herfra.';
+$lang['auth'] = 'Auth-plugin er ikke aktiveret i konfigurationen - overvej at deaktivere den.';
+$lang['install_url'] = 'Installér fra URL:';
+$lang['install_upload'] = 'Upload Udvidelse:';
+$lang['repo_error'] = 'Plugin-arkivet kunne ikke kontaktes. Kontrollér at din server kan kontakte www.dokuwiki.org kontrollér dine proxy-indstillinger.';
diff --git a/lib/plugins/extension/lang/en/lang.php b/lib/plugins/extension/lang/en/lang.php
index 72c9b9e2d..f545b6da3 100644
--- a/lib/plugins/extension/lang/en/lang.php
+++ b/lib/plugins/extension/lang/en/lang.php
@@ -69,7 +69,8 @@ $lang['status_bundled'] = 'bundled';
$lang['msg_enabled'] = 'Plugin %s enabled';
$lang['msg_disabled'] = 'Plugin %s disabled';
-$lang['msg_delete_success'] = 'Extension uninstalled';
+$lang['msg_delete_success'] = 'Extension %s uninstalled';
+$lang['msg_delete_failed'] = 'Uninstalling Extension %s failed';
$lang['msg_template_install_success'] = 'Template %s installed successfully';
$lang['msg_template_update_success'] = 'Template %s updated successfully';
$lang['msg_plugin_install_success'] = 'Plugin %s installed successfully';
@@ -94,8 +95,10 @@ $lang['noperms'] = 'Extension directory is not writable';
$lang['notplperms'] = 'Template directory is not writable';
$lang['nopluginperms'] = 'Plugin directory is not writable';
$lang['git'] = 'This extension was installed via git, you may not want to update it here.';
+$lang['auth'] = 'This auth plugin is not enabled in configuration, consider disabling it.';
$lang['install_url'] = 'Install from URL:';
$lang['install_upload'] = 'Upload Extension:';
-$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.'; \ No newline at end of file
+$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.';
+$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.'; \ No newline at end of file
diff --git a/lib/plugins/extension/lang/fi/lang.php b/lib/plugins/extension/lang/fi/lang.php
new file mode 100644
index 000000000..a154f2563
--- /dev/null
+++ b/lib/plugins/extension/lang/fi/lang.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Jussi Takala <jussi.takala@live.fi>
+ */
+$lang['tab_plugins'] = 'Asennetut liitännäiset';
+$lang['tab_search'] = 'Etsi ja asenna';
+$lang['tab_install'] = 'Manuaalinen asennus';
+$lang['notimplemented'] = 'Tätä ominaisuutta ei ole vielä toteutettu';
+$lang['notinstalled'] = 'Tätä laajennusta ei ole asennettu';
+$lang['alreadyenabled'] = 'Tämä laajennus on jo käytössä';
+$lang['alreadydisabled'] = 'Tämä laajennus on jo otettu pois käytöstä';
+$lang['pluginlistsaveerror'] = 'Tapahtui virhe tallentaessa liitännäislistaa';
+$lang['unknownauthor'] = 'Tuntematon tekijä';
+$lang['unknownversion'] = 'Tuntematon versio';
+$lang['btn_info'] = 'Näytä lisää tietoa';
+$lang['btn_update'] = 'Päivitä';
+$lang['btn_enable'] = 'Ota käyttöön';
+$lang['btn_disable'] = 'Poista käytöstä';
+$lang['btn_install'] = 'Asenna';
+$lang['btn_reinstall'] = 'Uudelleenasenna';
+$lang['js']['reallydel'] = 'Haluatko varmasti poistaa tämän laajennuksen?';
+$lang['search_for'] = 'Etsi laajennusta:';
+$lang['search'] = 'Etsi';
+$lang['downloadurl'] = 'Lataa URL-osoite';
+$lang['installed_version'] = 'Asennettu versio';
+$lang['install_date'] = 'Sinun viimeinen päivitys:';
+$lang['available_version'] = 'Saatavissa oleva versio:';
+$lang['status_installed'] = 'asennettu';
+$lang['status_protected'] = 'suojattu';
+$lang['status_enabled'] = 'otettu käyttöön';
+$lang['status_disabled'] = 'otettu pois käytöstä';
+$lang['status_plugin'] = 'liitännäinen';
+$lang['install_url'] = 'Asenna URL-osoitteesta:';
+$lang['install_upload'] = 'Ladattu laajennus:';
diff --git a/lib/plugins/extension/lang/fr/lang.php b/lib/plugins/extension/lang/fr/lang.php
index 88234efd0..44d403847 100644
--- a/lib/plugins/extension/lang/fr/lang.php
+++ b/lib/plugins/extension/lang/fr/lang.php
@@ -4,8 +4,9 @@
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
*
* @author Schplurtz le Déboulonné <schplurtz@laposte.net>
+ * @author Yves Grandvalet <Yves.Grandvalet@laposte.net>
*/
-$lang['menu'] = 'Gestionnaire d\'extension';
+$lang['menu'] = 'Gestionnaire d\'extensions';
$lang['tab_plugins'] = 'Greffons installés';
$lang['tab_templates'] = 'Thèmes installés';
$lang['tab_search'] = 'Rechercher et installer';
@@ -61,7 +62,8 @@ $lang['status_template'] = 'thème';
$lang['status_bundled'] = 'fourni';
$lang['msg_enabled'] = 'Greffon %s activé';
$lang['msg_disabled'] = 'Greffon %s désactivé';
-$lang['msg_delete_success'] = 'Extension désinstallée';
+$lang['msg_delete_success'] = 'Extension %s désinstallée.';
+$lang['msg_delete_failed'] = 'Echec de la désinstallation de l\'extension %s';
$lang['msg_template_install_success'] = 'Thème %s installée avec succès';
$lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès';
$lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès';
@@ -83,6 +85,8 @@ $lang['noperms'] = 'Impossible d\'écrire dans le dossier des exte
$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.';
$lang['nopluginperms'] = 'Impossible d\'écrire dans le dossier des greffons.';
$lang['git'] = 'Cette extension a été installé via git, vous voudrez peut-être ne pas la mettre à jour ici.';
+$lang['auth'] = 'Votre configuration n\'utilise pas ce greffon d\'authentification. Vous devriez songer à le désactiver.';
$lang['install_url'] = 'Installez depuis l\'URL :';
$lang['install_upload'] = 'Téléversez l\'extension :';
$lang['repo_error'] = 'L\'entrepôt d\'extensions est injoignable. Veuillez vous assurer que le server web est autorisé à contacter www.dokuwiki.org et vérifier les réglages de proxy.';
+$lang['nossl'] = 'Votre version de PHP semble ne pas prendre en charge SSL. Le téléchargement de nombreuses extensions va échouer.';
diff --git a/lib/plugins/extension/lang/hr/lang.php b/lib/plugins/extension/lang/hr/lang.php
index 4905fe864..e51d8cba3 100644
--- a/lib/plugins/extension/lang/hr/lang.php
+++ b/lib/plugins/extension/lang/hr/lang.php
@@ -5,25 +5,25 @@
*
* @author Davor Turkalj <turki.bsc@gmail.com>
*/
-$lang['menu'] = 'Upravitelj dodataka';
-$lang['tab_plugins'] = 'Instalirani dodatci';
-$lang['tab_templates'] = 'Instalirani predlošci';
-$lang['tab_search'] = 'Potraži i instaliraj';
-$lang['tab_install'] = 'Ručno instaliranje';
+$lang['menu'] = 'Upravitelj proširenja';
+$lang['tab_plugins'] = 'Ugrađeni dodatci';
+$lang['tab_templates'] = 'Ugrađeni predlošci';
+$lang['tab_search'] = 'Potraži i ugradi';
+$lang['tab_install'] = 'Ručna ugradnja';
$lang['notimplemented'] = 'Ova mogućnost još nije napravljena';
-$lang['notinstalled'] = 'Dodatak nije instaliran';
-$lang['alreadyenabled'] = 'Ovaj dodatak je već omogućen';
-$lang['alreadydisabled'] = 'Ovaj dodatak je već onemogućen';
+$lang['notinstalled'] = 'Proširenje nije ugrađeno';
+$lang['alreadyenabled'] = 'Ovo proširenje je već omogućeno';
+$lang['alreadydisabled'] = 'Ovo proširenje je već onemogućeno';
$lang['pluginlistsaveerror'] = 'Dogodila se greška pri snimanju liste dodataka';
$lang['unknownauthor'] = 'Nepoznat autor';
$lang['unknownversion'] = 'Nepoznata inačica';
$lang['btn_info'] = 'Prikaži više informacija';
-$lang['btn_update'] = 'Dopuni';
+$lang['btn_update'] = 'Ažuriraj';
$lang['btn_uninstall'] = 'Ukloni';
$lang['btn_enable'] = 'Omogući';
$lang['btn_disable'] = 'Onemogući';
-$lang['btn_install'] = 'Postavi';
-$lang['btn_reinstall'] = 'Ponovno postavi';
+$lang['btn_install'] = 'Ugradi';
+$lang['btn_reinstall'] = 'Ponovno ugradi';
$lang['js']['reallydel'] = 'Zaista ukloniti ovo proširenje?';
$lang['search_for'] = 'Pretraži proširenja';
$lang['search'] = 'Pretraži';
@@ -33,12 +33,12 @@ $lang['popularity'] = 'Popularnost: %s%%';
$lang['homepage_link'] = 'Upute';
$lang['bugs_features'] = 'Greške';
$lang['tags'] = 'Oznake:';
-$lang['author_hint'] = 'Potraži dodatke od ovog autora';
-$lang['installed'] = 'Postavljeno:';
+$lang['author_hint'] = 'Potraži proširenja od ovog autora';
+$lang['installed'] = 'Ugrađeno:';
$lang['downloadurl'] = 'URL adresa preuzimanja:';
$lang['repository'] = 'Repozitorij:';
$lang['unknown'] = '<em>nepoznat</em>';
-$lang['installed_version'] = 'Postavljena inačica:';
+$lang['installed_version'] = 'Ugrađena inačica:';
$lang['install_date'] = 'Vaše zadnje osvježavanje:';
$lang['available_version'] = 'Dostupna inačica';
$lang['compatible'] = 'Kompatibilan s:';
@@ -61,7 +61,8 @@ $lang['status_template'] = 'predložak';
$lang['status_bundled'] = 'ugrađen';
$lang['msg_enabled'] = 'Dodatak %s omogućen';
$lang['msg_disabled'] = 'Dodatak %s onemogućen';
-$lang['msg_delete_success'] = 'Proširenje uklonjeno';
+$lang['msg_delete_success'] = 'Proširenje %s uklonjeno';
+$lang['msg_delete_failed'] = 'Uklanjanje proširenja %s nije uspjelo';
$lang['msg_template_install_success'] = 'Predložak %s uspješno ugrađen';
$lang['msg_template_update_success'] = 'Predložak %s uspješno nadograđen';
$lang['msg_plugin_install_success'] = 'Dodatak %s uspješno ugrađen';
@@ -83,6 +84,8 @@ $lang['noperms'] = 'Nije moguće pisati u mapu proširanja';
$lang['notplperms'] = 'Nije moguće pisati u mapu predloška';
$lang['nopluginperms'] = 'Nije moguće pisati u mapu dodatka';
$lang['git'] = 'Proširenje je ugrađeno preko Git-a, možda ga ne želite nadograđivati ovdje.';
+$lang['auth'] = 'Autorizacijski dodatak nije podešen, razmotrite njegovo onemogućavanje kao dodatka.';
$lang['install_url'] = 'Ugradi s URL-a:';
$lang['install_upload'] = 'Učitaj proširenje:';
$lang['repo_error'] = 'Repozitorij dodataka nije dostupan. Budite sigurni da server može pristupiti www.dokuwiki.org i provjerite proxy postavke.';
+$lang['nossl'] = 'Izgleda da korišteni PHP ne podržava SSL. Učitavanje neće raditi na mnogim DokuWiki dodatcima.';
diff --git a/lib/plugins/extension/lang/it/lang.php b/lib/plugins/extension/lang/it/lang.php
index 7dff6c5b2..1aa658e0f 100644
--- a/lib/plugins/extension/lang/it/lang.php
+++ b/lib/plugins/extension/lang/it/lang.php
@@ -5,11 +5,18 @@
*
* @author Francesco <francesco.cavalli@hotmail.com>
* @author Fabio <fabioslurp@yahoo.it>
+ * @author Torpedo <dgtorpedo@gmail.com>
*/
+$lang['unknownauthor'] = 'Autore sconosciuto';
+$lang['unknownversion'] = 'Revisione sconosciuta';
+$lang['btn_info'] = 'Mostra maggiori informazioni';
+$lang['btn_update'] = 'Aggiorna';
+$lang['btn_uninstall'] = 'Disinstalla';
$lang['btn_enable'] = 'Abilita';
$lang['btn_disable'] = 'Disabilita';
$lang['btn_install'] = 'Installa';
$lang['btn_reinstall'] = 'Reinstalla';
+$lang['js']['reallydel'] = 'Sicuro di disinstallare questa estensione?';
$lang['search'] = 'Cerca';
$lang['homepage_link'] = 'Documenti';
$lang['bugs_features'] = 'Bug';
@@ -18,13 +25,18 @@ $lang['author_hint'] = 'Cerca estensioni per questo autore';
$lang['installed'] = 'Installato:';
$lang['downloadurl'] = 'URL download:';
$lang['repository'] = 'Repository';
+$lang['unknown'] = '<em>sconosciuto</em>';
$lang['installed_version'] = 'Versione installata';
$lang['install_date'] = 'Il tuo ultimo aggiornamento:';
$lang['available_version'] = 'Versione disponibile:';
$lang['compatible'] = 'Compatibile con:';
+$lang['depends'] = 'Dipende da:';
$lang['similar'] = 'Simile a:';
+$lang['conflicts'] = 'Conflitto con:';
$lang['donate'] = 'Simile a questo?';
+$lang['donate_action'] = 'Paga un caffè all\'autore!';
$lang['repo_retry'] = 'Riprova';
+$lang['provides'] = 'Fornisce:';
$lang['status'] = 'Status:';
$lang['status_installed'] = 'installato';
$lang['status_not_installed'] = 'non installato';
@@ -34,6 +46,15 @@ $lang['status_disabled'] = 'disabilitato';
$lang['status_unmodifiable'] = 'inmodificabile';
$lang['status_plugin'] = 'plugin';
$lang['status_template'] = 'modello';
+$lang['msg_enabled'] = 'Plugin %s abilitato';
+$lang['msg_disabled'] = 'Plugin %s disabilitato';
+$lang['msg_delete_success'] = 'Estensione %s disinstallata';
+$lang['msg_plugin_install_success'] = 'Plugin %s installato con successo';
+$lang['msg_plugin_update_success'] = 'Plugin %s aggiornato con successo';
+$lang['msg_upload_failed'] = 'Caricamento del file fallito';
+$lang['missing_dependency'] = '<strong>Dipendenza mancante o disabilitata: </strong> %s';
+$lang['update_available'] = '<strong>Aggiornamento:</strong> Nuova versione %s disponibile.';
+$lang['wrong_folder'] = '<strong>Plugin non installato correttamente:</strong> rinomina la directory del plugin "%s" in "%s".';
$lang['error_badurl'] = 'URLs deve iniziare con http o https';
$lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download';
$lang['error_download'] = 'Impossibile scaricare il file: %s';
diff --git a/lib/plugins/extension/lang/ja/lang.php b/lib/plugins/extension/lang/ja/lang.php
index dec46d629..ce6ed2b97 100644
--- a/lib/plugins/extension/lang/ja/lang.php
+++ b/lib/plugins/extension/lang/ja/lang.php
@@ -5,6 +5,7 @@
*
* @author Hideaki SAWADA <chuno@live.jp>
* @author PzF_X <jp_minecraft@yahoo.co.jp>
+ * @author Satoshi Sahara <sahara.satoshi@gmail.com>
*/
$lang['menu'] = '拡張機能管理';
$lang['tab_plugins'] = 'インストール済プラグイン';
@@ -62,7 +63,8 @@ $lang['status_template'] = 'テンプレート';
$lang['status_bundled'] = '同梱';
$lang['msg_enabled'] = '%s プラグインを有効化しました。';
$lang['msg_disabled'] = '%s プラグインを無効化しました。';
-$lang['msg_delete_success'] = '拡張機能をアンインストールしました。';
+$lang['msg_delete_success'] = '拡張機能 %s をアンインストールしました。';
+$lang['msg_delete_failed'] = '拡張機能 %s のアンインストールに失敗しました。';
$lang['msg_template_install_success'] = '%s テンプレートをインストールできました。';
$lang['msg_template_update_success'] = '%s テンプレートを更新できました。';
$lang['msg_plugin_install_success'] = '%s プラグインをインストールできました。';
@@ -84,6 +86,8 @@ $lang['noperms'] = '拡張機能ディレクトリが書き込み
$lang['notplperms'] = 'テンプレートディレクトリが書き込み不可です。';
$lang['nopluginperms'] = 'プラグインディレクトリが書き込み不可です。';
$lang['git'] = 'この拡張機能は Git 経由でインストールされており、ここで更新すべきでないかもしれません。';
+$lang['auth'] = 'この認証プラグインは設定管理画面で無効化されています。';
$lang['install_url'] = 'URL からインストール:';
$lang['install_upload'] = '拡張機能をアップロード:';
$lang['repo_error'] = 'プラグインのリポジトリに接続できません。サーバーが www.dokuwiki.org に接続できることやプロキシの設定を確認して下さい。';
+$lang['nossl'] = 'PHP機能がSSLをサポートしていないため、拡張機能のダウンロードが正常に動作しません。';
diff --git a/lib/plugins/extension/lang/ko/lang.php b/lib/plugins/extension/lang/ko/lang.php
index 53c9b4481..5dc5d8269 100644
--- a/lib/plugins/extension/lang/ko/lang.php
+++ b/lib/plugins/extension/lang/ko/lang.php
@@ -62,7 +62,8 @@ $lang['status_template'] = '템플릿';
$lang['status_bundled'] = '포함';
$lang['msg_enabled'] = '%s 플러그인이 활성화되었습니다';
$lang['msg_disabled'] = '%s 플러그인이 비활성화되었습니다';
-$lang['msg_delete_success'] = '확장 기능이 제거되었습니다';
+$lang['msg_delete_success'] = '%s 확장 기능이 제거되었습니다';
+$lang['msg_delete_failed'] = '%s 확장 기능 제거에 실패했습니다';
$lang['msg_template_install_success'] = '%s 템플릿을 성공적으로 설치했습니다';
$lang['msg_template_update_success'] = '%s 템플릿을 성공적으로 업데이트했습니다';
$lang['msg_plugin_install_success'] = '%s 플러그인을 성공적으로 설치했습니다';
@@ -79,11 +80,13 @@ $lang['error_dircreate'] = '다운로드를 받을 임시 폴더를 만들
$lang['error_download'] = '파일을 다운로드할 수 없습니다: %s';
$lang['error_decompress'] = '다운로드한 파일의 압축을 풀 수 없습니다. 이는 아마도 잘못된 다운로드의 결과로, 이럴 경우 다시 시도해야 합니다; 또는 압축 형식을 알 수 없으며, 이럴 경우 수동으로 다운로드하고 설치해야 합니다.';
$lang['error_findfolder'] = '확장 기능 디렉터리를 식별할 수 없습니다, 수동으로 다운로드하고 설치해야 합니다';
-$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인 설치가 부분적으로 되었거나 불안정하게 위키 설치가 되었을 수 있습니다.';
+$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인이 부분적으로 설치되어 위키가 불안정할지도 모릅니다';
$lang['noperms'] = '확장 기능 디렉터리에 쓸 수 없습니다';
$lang['notplperms'] = '임시 디렉터리에 쓸 수 없습니다';
$lang['nopluginperms'] = '플러그인 디렉터리에 쓸 수 없습니다';
-$lang['git'] = '이 확장 기능은 git을 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.';
+$lang['git'] = '이 확장 기능은 git를 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.';
+$lang['auth'] = '이 인증 플러그인은 환경 설정에서 활성화할 수 없습니다, 그것을 비활성화하는 것을 고려하세요.';
$lang['install_url'] = 'URL에서 설치:';
$lang['install_upload'] = '확장 기능 올리기:';
$lang['repo_error'] = '플러그인 저장소에 연결할 수 없습니다. 서버가 www.dokuwiki.org에 연결할 수 있는지 확인하고 프록시 설정을 확인하세요.';
+$lang['nossl'] = 'PHP가 SSL 지원을 하지 않는 것으로 보입니다. 많은 도쿠위키 확장 기능의 다운로드가 작동하지 않을 것입니다.';
diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php
index a54924e93..194b4b3e1 100644
--- a/lib/plugins/extension/lang/nl/lang.php
+++ b/lib/plugins/extension/lang/nl/lang.php
@@ -6,6 +6,7 @@
* @author Rene <wllywlnt@yahoo.com>
* @author Gerrit Uitslag <klapinklapin@gmail.com>
* @author Johan Vervloet <johan.vervloet@gmail.com>
+ * @author Mijndert <mijndert@mijndertstuij.nl>
*/
$lang['menu'] = 'Uitbreidingen';
$lang['tab_plugins'] = 'Geïnstalleerde Plugins';
@@ -63,7 +64,8 @@ $lang['status_template'] = 'template';
$lang['status_bundled'] = 'Gebundeld';
$lang['msg_enabled'] = 'Plugin %s ingeschakeld';
$lang['msg_disabled'] = 'Plugin %s uitgeschakeld';
-$lang['msg_delete_success'] = 'Uitbreiding gedeinstalleerd';
+$lang['msg_delete_success'] = 'Uitbreiding %s gedeinstalleerd';
+$lang['msg_delete_failed'] = 'Het deïnstalleren van de extensie %s is mislukt.';
$lang['msg_template_install_success'] = 'Template %s werd succesvol geïnstalleerd';
$lang['msg_template_update_success'] = 'Template %s werd succesvol geüpdatet';
$lang['msg_plugin_install_success'] = 'Plugin %s werd succesvol geïnstalleerd';
diff --git a/lib/plugins/extension/lang/pt/intro_install.txt b/lib/plugins/extension/lang/pt/intro_install.txt
new file mode 100644
index 000000000..5e5871391
--- /dev/null
+++ b/lib/plugins/extension/lang/pt/intro_install.txt
@@ -0,0 +1 @@
+Aqui você pode instalar manualmente plugins e modelos ou enviando-os (upload) ou fornecendo uma URL de download direto. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/pt/intro_plugins.txt b/lib/plugins/extension/lang/pt/intro_plugins.txt
new file mode 100644
index 000000000..fcfaa5cea
--- /dev/null
+++ b/lib/plugins/extension/lang/pt/intro_plugins.txt
@@ -0,0 +1 @@
+Estes são os plugins instalados atualmente em seu DokuWiki. Você pode ativar ou desativar ou desinstala-los completamente aqui. Atualizações de plugins também são mostradas aqui, não se esqueça de ler a documentação do plug-in antes de atualizar. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/pt/intro_search.txt b/lib/plugins/extension/lang/pt/intro_search.txt
new file mode 100644
index 000000000..be39a9860
--- /dev/null
+++ b/lib/plugins/extension/lang/pt/intro_search.txt
@@ -0,0 +1 @@
+Esta guia lhe dá acesso a todos os plugins e modelos de terceiros disponíveis DokuWiki. Por favor, esteja ciente de que a instalação de componentes de terceiros pode representar um risco de segurança ** **, você pode querer ler sobre [[doku> segurança # plugin_security | segurança plug-in]] antes de realizar a instalação de módulos de terceiros. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/pt/intro_templates.txt b/lib/plugins/extension/lang/pt/intro_templates.txt
new file mode 100644
index 000000000..ecdf99f17
--- /dev/null
+++ b/lib/plugins/extension/lang/pt/intro_templates.txt
@@ -0,0 +1 @@
+Estes são os modelos atualmente instalados em seu DokuWiki. Você pode selecionar o modelo a ser usado no [[Do = admin & page = configuração |? Configuration Manager]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/pt/lang.php b/lib/plugins/extension/lang/pt/lang.php
new file mode 100644
index 000000000..c7b4f29c2
--- /dev/null
+++ b/lib/plugins/extension/lang/pt/lang.php
@@ -0,0 +1,132 @@
+<?php
+
+/**
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ * @author Guido Salatino <guidorafael23@gmail.com>
+ */
+$lang['menu'] = 'Gerenciador de Extensões';
+$lang['tab_plugins'] = 'Plugins Instalados';
+$lang['tab_templates'] = 'Modelos Instalados';
+$lang['tab_search'] = 'Pesquisar e Instalar';
+$lang['tab_install'] = 'Instalação Manual';
+$lang['notimplemented'] = 'Este recurso não foi implementado ainda';
+$lang['notinstalled'] = 'Esta extensão não está instalada';
+$lang['alreadyenabled'] = 'Esta extensão já foi ativada';
+$lang['alreadydisabled'] = 'Esta extensão já foi desativada';
+$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de plugins';
+$lang['unknownauthor'] = 'Autor desconhecido';
+$lang['unknownversion'] = 'Versão desconhecida';
+$lang['btn_info'] = 'Mostrar mais informações';
+$lang['btn_update'] = 'Atualizar';
+$lang['btn_uninstall'] = 'Desinstalar';
+$lang['btn_enable'] = 'Habilitar';
+$lang['btn_disable'] = 'Desabilitar';
+$lang['btn_install'] = 'Instalar';
+$lang['btn_reinstall'] = 'Reinstalar';
+$lang['js']['reallydel'] = 'Confirma a desinstalação desta extensão?';
+$lang['search_for'] = 'Pesquisar Extensão:';
+$lang['search'] = 'Pesquisar';
+$lang['extensionby'] = '<strong>%s</strong> by %s';
+$lang['screenshot'] = 'Screenshot of %s';
+$lang['popularity'] = 'Popularidade: %s%%';
+$lang['homepage_link'] = 'Documentos';
+$lang['bugs_features'] = 'Erros';
+$lang['tags'] = 'Tags:';
+$lang['author_hint'] = 'Pesquisar extensões deste autor';
+$lang['installed'] = 'Instalado:
+';
+$lang['downloadurl'] = 'Baixar URL:
+';
+$lang['repository'] = 'Repositório:
+';
+$lang['unknown'] = '<em> desconhecido </ em>
+';
+$lang['installed_version'] = 'Versão instalada:';
+$lang['install_date'] = 'Sua última atualização:';
+$lang['available_version'] = 'Versão disponível:
+';
+$lang['compatible'] = 'Compatível com:';
+$lang['depends'] = 'Depende de:
+';
+$lang['similar'] = 'Semelhante a:
+';
+$lang['conflicts'] = 'Conflitos com:
+';
+$lang['donate'] = 'Assim?
+';
+$lang['donate_action'] = 'Pague um café para o autor!';
+$lang['repo_retry'] = 'Tentar novamente
+';
+$lang['provides'] = 'Fornece:
+';
+$lang['status'] = 'Status:
+';
+$lang['status_installed'] = 'instalado
+';
+$lang['status_not_installed'] = 'não instalado
+';
+$lang['status_protected'] = 'protegido
+';
+$lang['status_enabled'] = 'habilitado';
+$lang['status_disabled'] = 'desabilitado';
+$lang['status_unmodifiable'] = 'imodificável
+';
+$lang['status_plugin'] = 'plugin
+';
+$lang['status_template'] = 'modelo
+';
+$lang['status_bundled'] = 'empacotado
+';
+$lang['msg_enabled'] = 'Plugin %s habilitado
+';
+$lang['msg_disabled'] = 'Plugin %s desabilitado';
+$lang['msg_delete_success'] = 'Extensão %s desinstalada';
+$lang['msg_delete_failed'] = 'Desinstalar Extensão %s falhou
+';
+$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso';
+$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso
+';
+$lang['msg_plugin_install_success'] = 'Plugin %s instalado com sucesso
+';
+$lang['msg_plugin_update_success'] = 'Plugin %s atualizado com sucesso
+';
+$lang['msg_upload_failed'] = 'Enviando o arquivo falhou
+';
+$lang['missing_dependency'] = '<strong>dependência ausente ou desabilitada:</strong> %s
+';
+$lang['security_issue'] = '<strong> Questão de segurança:</strong> %s
+';
+$lang['security_warning'] = '<strong> Aviso de segurança:</strong> %s';
+$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível.
+';
+$lang['wrong_folder'] = '<strong>Plugin instalado incorretamente: </strong> Renomear pasta de plugins de "%s" para "%s".
+';
+$lang['url_change'] = '<strong>URL mudou: </strong> URL para download mudou desde o último download. Verifique se a nova URL é válida antes de atualizar a extensão <br/> Nova:%s<br/>Antiga:%s
+';
+$lang['error_badurl'] = 'URLs deve começar com http ou https
+';
+$lang['error_dircreate'] = 'Não é possível criar pasta temporária para receber o download
+';
+$lang['error_download'] = 'Não é possível baixar o arquivo:%s
+';
+$lang['error_decompress'] = 'Não é possível descompactar o arquivo baixado. Talvez seja resultado de um download ruim, nesse caso, você deve tentar novamente; ou o formato de compressão pode ser desconhecido, nesse caso, você precisará baixar e instalar manualmente.';
+$lang['error_findfolder'] = 'Não foi possível identificar diretório de extensão, você precisa baixar e instalar manualmente
+';
+$lang['error_copy'] = 'Houve um erro na cópia do arquivo durante a tentativa de instalar os arquivos para o diretório <em>%s </em>: o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar incorretas. Isso pode ter resultado em um plugin parcialmente instalado e tornar instável a sua instalação wiki
+';
+$lang['noperms'] = 'Diretório da extensão não é gravável
+';
+$lang['notplperms'] = 'Diretório do modelo não é gravável
+';
+$lang['nopluginperms'] = 'Diretório do plugin não é gravável
+';
+$lang['git'] = 'Esta extensão foi instalada via git, você não pode querer atualizá-la aqui.
+';
+$lang['auth'] = 'Este plugin não está habilitado na configuração, considere desabilita-lo.';
+$lang['install_url'] = 'Instalar a partir da URL:';
+$lang['install_upload'] = 'Publique a Extensão:';
+$lang['repo_error'] = 'O repositório do plugin não pôde ser conectado. Verifique se o seu servidor está autorizado a conectar com www.dokuwiki.org e verifique as configurações de proxy do servidor.
+';
+$lang['nossl'] = 'Seu PHP parece que perdeu o suporte a SSL. O download não vai funcionar para muitas extensões DokuWiki.
+';
diff --git a/lib/plugins/extension/lang/ru/intro_install.txt b/lib/plugins/extension/lang/ru/intro_install.txt
new file mode 100644
index 000000000..7b8ac661b
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_install.txt
@@ -0,0 +1 @@
+Здесь вы можете самостоятельно установить плагины и шаблоны, загрузив их или предоставив прямой URL для скачивания. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_plugins.txt b/lib/plugins/extension/lang/ru/intro_plugins.txt
new file mode 100644
index 000000000..c5ea9e0ec
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_plugins.txt
@@ -0,0 +1 @@
+Плагины, установленные в вашей «Докувики». Здесь вы можете их включить или выключить, или даже полностью удалить. Также здесь показываются обновления плагинов; обязательно прочтите документацию плагина перед обновлением. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_search.txt b/lib/plugins/extension/lang/ru/intro_search.txt
new file mode 100644
index 000000000..3c16748ba
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_search.txt
@@ -0,0 +1 @@
+Вкладка даёт вам доступ ко всем имеющимся сторонним плагинам и шаблонам для «Докувики». Имейте ввиду, что установка стороннего кода может представлять **угрозу безопасности,** возможно вам нужно сперва прочитать о [[doku>security#plugin_security|безопасности плагинов]]. \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/intro_templates.txt b/lib/plugins/extension/lang/ru/intro_templates.txt
new file mode 100644
index 000000000..787b32fa3
--- /dev/null
+++ b/lib/plugins/extension/lang/ru/intro_templates.txt
@@ -0,0 +1 @@
+Шаблоны (темы оформления), установленные в вашей «Докувики». Шаблон, который нужно использовать, выбирается в [[?do=admin&page=config|настройках вики]] \ No newline at end of file
diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php
index fa1625f28..381d84500 100644
--- a/lib/plugins/extension/lang/ru/lang.php
+++ b/lib/plugins/extension/lang/ru/lang.php
@@ -5,13 +5,19 @@
*
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Igor Degraf <igordegraf@gmail.com>
+ * @author Type-kun <workwork-1@yandex.ru>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['menu'] = 'Управление дополнениями';
$lang['tab_plugins'] = 'Установленные плагины';
$lang['tab_templates'] = 'Установленные шаблоны';
$lang['tab_search'] = 'Поиск и установка';
$lang['tab_install'] = 'Ручная установка';
+$lang['notimplemented'] = 'Эта возможность ещё не реализована';
$lang['notinstalled'] = 'Это дополнение не установлено';
+$lang['alreadyenabled'] = 'Это расширение уже включено';
+$lang['alreadydisabled'] = 'Это расширение уже выключено';
+$lang['pluginlistsaveerror'] = 'Ошибка при сохранении списка плагинов';
$lang['unknownauthor'] = 'Автор неизвестен';
$lang['unknownversion'] = 'Версия неизвестна';
$lang['btn_info'] = 'Отобразить доп. информацию';
@@ -25,44 +31,62 @@ $lang['js']['reallydel'] = 'Действительно удалить эт
$lang['search_for'] = 'Поиск дополнения:';
$lang['search'] = 'Найти';
$lang['extensionby'] = '<strong>%s</strong> — %s';
-$lang['popularity'] = 'Попоулярность: %s%%';
-$lang['bugs_features'] = 'Ошибки';
+$lang['screenshot'] = 'Скриншот: %s';
+$lang['popularity'] = 'Популярность: %s%%';
+$lang['homepage_link'] = 'Описание';
+$lang['bugs_features'] = 'Баг-трекер';
$lang['tags'] = 'Метки:';
-$lang['author_hint'] = 'Найти дополнения этого автора';
+$lang['author_hint'] = 'Найти дополнения автора';
$lang['installed'] = 'Установлено:';
-$lang['downloadurl'] = 'Ссылка для скачивания:';
+$lang['downloadurl'] = 'Скачать:';
$lang['repository'] = 'Репозиторий:';
$lang['unknown'] = '<em>неизвестно</em>';
-$lang['installed_version'] = 'Установленная версия:';
-$lang['install_date'] = 'Последнее обновление:';
+$lang['installed_version'] = 'Уст. версия:';
+$lang['install_date'] = 'Посл. обновление:';
$lang['available_version'] = 'Доступная версия:';
-$lang['compatible'] = 'Совместим с:';
-$lang['depends'] = 'Зависит от:';
-$lang['similar'] = 'Похож на:';
-$lang['conflicts'] = 'Конфликтует с:';
+$lang['compatible'] = 'Совместим с';
+$lang['depends'] = 'Зависит от';
+$lang['similar'] = 'Похож на';
+$lang['conflicts'] = 'Конфликтует с';
$lang['donate'] = 'Нравится?';
$lang['donate_action'] = 'Купить автору кофе!';
$lang['repo_retry'] = 'Повторить';
+$lang['provides'] = 'Предоставляет:';
+$lang['status'] = 'Статус:';
$lang['status_installed'] = 'установлено';
$lang['status_not_installed'] = 'не установлено';
$lang['status_protected'] = 'защищено';
-$lang['status_enabled'] = 'включен';
+$lang['status_enabled'] = 'включён';
$lang['status_disabled'] = 'отключено';
$lang['status_unmodifiable'] = 'неизменяемо';
$lang['status_plugin'] = 'плагин';
$lang['status_template'] = 'шаблон';
$lang['status_bundled'] = 'в комплекте';
-$lang['msg_enabled'] = 'Плагин %s включен';
-$lang['msg_disabled'] = 'Плагин %s отключен';
-$lang['msg_delete_success'] = 'Дополнение удалено';
+$lang['msg_enabled'] = 'Плагин %s включён';
+$lang['msg_disabled'] = 'Плагин %s отключён';
+$lang['msg_delete_success'] = 'Дополнение %s удалено';
+$lang['msg_delete_failed'] = 'Не удалось удалить расширение %s';
$lang['msg_template_install_success'] = 'Шаблон %s успешно установлен';
$lang['msg_template_update_success'] = 'Шаблон %s успешно обновлён';
$lang['msg_plugin_install_success'] = 'Плагин %s успешно установлен';
$lang['msg_plugin_update_success'] = 'Плагин %s успешно обновлён';
-$lang['noperms'] = 'Папка для расширений не доступна на запись';
-$lang['notplperms'] = 'Папка для шаблонов не доступна на запись';
-$lang['nopluginperms'] = 'Папка плагинов не доступна на запись';
-$lang['git'] = 'Это расширение было установлено через git, Вы не можете обновить его тут.';
-$lang['install_url'] = 'Установить с адреса URL:';
-$lang['install_upload'] = 'Скачать расширение:';
-$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org и также проверьте настройки соединения прокси.';
+$lang['msg_upload_failed'] = 'Не удалось загрузить файл';
+$lang['missing_dependency'] = '<strong>Отсутствует или отключена зависимость:</strong> %s';
+$lang['security_issue'] = '<strong>Проблема безопасности:</strong> %s';
+$lang['security_warning'] = '<strong>Предупреждение безопасности:</strong> %s';
+$lang['update_available'] = '<strong>Обновление:</strong> доступна новая версия %s.';
+$lang['wrong_folder'] = '<strong>Плагин установлен неправильно:</strong> переименуйте папку плагина из %s в %s.';
+$lang['url_change'] = '<strong>Ссылка изменилась:</strong> ссылка для загрузки изменилась с прошлого раза. Проверьте новую ссылку прежде, чем обновлять расширение.<br />Новая: %s<br />Старая: %s';
+$lang['error_badurl'] = 'Ссылки должны начинаться с http или https';
+$lang['error_dircreate'] = 'Не удалось создать временную директорию для загрузки';
+$lang['error_download'] = 'Не удалось загрузить файл: %s';
+$lang['error_decompress'] = 'Не удалось распаковать загруженный файл. Возможно, файл был повреждён при загрузке — тогда нужно попробовать ещё раз. Либо неизвестен формат архива — тогда загрузку и установку надо произвести вручную.';
+$lang['error_findfolder'] = 'Не удалось определить директорию для расширения, загрузку и установку надо произвести вручную.';
+$lang['error_copy'] = 'Возникла ошибка копирования файлов в директорию <em>%s</em>: возможно, диск переполнен, или неверно выставлены права доступа. Это могло привести к неполной установке плагина и нарушить работу вашей вики.';
+$lang['noperms'] = 'Папка для расширений недоступна для записи';
+$lang['notplperms'] = 'Папка для шаблонов недоступна для записи';
+$lang['nopluginperms'] = 'Папка плагинов недоступна для записи';
+$lang['git'] = 'Это расширение было установлено через git. Вы не можете обновить его тут.';
+$lang['install_url'] = 'Установить с адреса URL';
+$lang['install_upload'] = 'Скачать расширение';
+$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org, а также проверьте настройки соединения с Интернетом.';
diff --git a/lib/plugins/extension/lang/zh-tw/intro_plugins.txt b/lib/plugins/extension/lang/zh-tw/intro_plugins.txt
new file mode 100644
index 000000000..b5b77a267
--- /dev/null
+++ b/lib/plugins/extension/lang/zh-tw/intro_plugins.txt
@@ -0,0 +1 @@
+已經有一些外掛套件被安裝在你的DokuWiki之中。你可以在這裡啟用、禁用,甚至是完全移除它們。如外掛可更新也同時會顯示在這裡,請確保在更新前先閱讀過該套件之文件。 \ No newline at end of file
diff --git a/lib/plugins/extension/lang/zh-tw/lang.php b/lib/plugins/extension/lang/zh-tw/lang.php
index a86364d7a..79657ffeb 100644
--- a/lib/plugins/extension/lang/zh-tw/lang.php
+++ b/lib/plugins/extension/lang/zh-tw/lang.php
@@ -5,6 +5,7 @@
*
* @author Stan <talktostan@gmail.com>
* @author June-Hao Hou <junehao@gmail.com>
+ * @author lioujheyu <lioujheyu@gmail.com>
*/
$lang['menu'] = '延伸功能管理';
$lang['tab_plugins'] = '已安裝外掛';
@@ -28,20 +29,49 @@ $lang['btn_reinstall'] = '重新安裝';
$lang['js']['reallydel'] = '確定要移除此延伸功能?';
$lang['search_for'] = '搜尋延伸功能:';
$lang['search'] = '搜尋';
+$lang['homepage_link'] = '文件';
$lang['tags'] = '標籤:';
$lang['author_hint'] = '搜尋相同作者的延伸功能';
$lang['installed'] = '已安裝:';
$lang['downloadurl'] = '下載網址:';
+$lang['unknown'] = '<em>未知</em>';
$lang['installed_version'] = '已安裝版本:';
+$lang['install_date'] = '你最後一次更新: ';
$lang['available_version'] = '可用版本:';
$lang['compatible'] = '相容於:';
+$lang['depends'] = '依賴於: ';
+$lang['similar'] = '類似於: ';
+$lang['conflicts'] = '相衝突於: ';
+$lang['donate'] = '像這樣?';
+$lang['donate_action'] = '請作者一杯咖啡!';
$lang['repo_retry'] = '再試一次';
$lang['status'] = '狀態:';
$lang['status_installed'] = '已安裝';
$lang['status_not_installed'] = '未安裝';
+$lang['status_protected'] = '已保護';
$lang['status_enabled'] = '作用中';
$lang['status_disabled'] = '停用中';
+$lang['status_unmodifiable'] = '不可更動';
$lang['status_plugin'] = '外掛';
+$lang['status_template'] = '模板';
+$lang['status_bundled'] = '已綑綁內附';
+$lang['msg_enabled'] = '外掛 %s 已啟用';
+$lang['msg_disabled'] = '外掛 %s 已禁用';
+$lang['msg_delete_success'] = '附加元件已移除';
+$lang['msg_template_install_success'] = '模板 %s 以成功安裝';
+$lang['msg_template_update_success'] = '模板 %s 以成功更新';
+$lang['msg_plugin_install_success'] = '外掛 %s 以成功安裝';
+$lang['msg_plugin_update_success'] = '外掛 %s 以成功更新';
+$lang['msg_upload_failed'] = '上傳檔案失敗';
+$lang['missing_dependency'] = '<strong>遺失或禁用相依性套件:</strong> %s';
+$lang['security_issue'] = '<strong>安全性問題:</strong> %s';
+$lang['security_warning'] = '<strong>安全問題警告:</strong> %s';
+$lang['update_available'] = '<strong>更新:</strong> 已可取得 %s 的新版本';
+$lang['wrong_folder'] = '<strong>外掛安裝不正確:</strong> 將外掛資料夾從 "%s" 更名至 "%s"。';
+$lang['url_change'] = '<strong>網址已變更:</strong> 自從上次下載後下載網址已變更。在更新延伸功能前請先檢查新網址是否可用。<br />新: %s<br />舊: %s';
+$lang['error_download'] = '無法下載檔案:%s';
+$lang['error_decompress'] = '無法解壓縮檔案。這可能是下載品質不佳所致,在這個情況下你應該再試一次;也有可能是因為無法辨識的壓縮格式,在這個情況下你應該自行下載並手動安裝';
+$lang['error_findfolder'] = '無法辨認延伸功能資料夾,你必須自行下載並手動安裝';
$lang['noperms'] = '延伸功能資料夾無法寫入';
$lang['notplperms'] = '版型資料夾無法寫入';
$lang['nopluginperms'] = '外掛資料夾無法寫入';
diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php
index 9265f44d5..773256faf 100644
--- a/lib/plugins/info/syntax.php
+++ b/lib/plugins/info/syntax.php
@@ -44,9 +44,14 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
$this->Lexer->addSpecialPattern('~~INFO:\w+~~',$mode,'plugin_info');
}
-
/**
* Handle the match
+ *
+ * @param string $match The text matched by the patterns
+ * @param int $state The lexer state for the match
+ * @param int $pos The character position of the matched text
+ * @param Doku_Handler $handler The Doku_Handler object
+ * @return array Return an array with all data you want to use in render
*/
function handle($match, $state, $pos, Doku_Handler $handler){
$match = substr($match,7,-2); //strip ~~INFO: from start and ~~ from end
@@ -55,6 +60,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Create output
+ *
+ * @param string $format string output format being rendered
+ * @param Doku_Renderer $renderer the current renderer object
+ * @param array $data data created by handler()
+ * @return boolean rendered correctly?
*/
function render($format, Doku_Renderer $renderer, $data) {
if($format == 'xhtml'){
@@ -103,8 +113,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
* list all installed plugins
*
* uses some of the original renderer methods
+ *
+ * @param string $type
+ * @param Doku_Renderer_xhtml $renderer
*/
- function _plugins_xhtml($type, Doku_Renderer &$renderer){
+ function _plugins_xhtml($type, Doku_Renderer_xhtml $renderer){
global $lang;
$renderer->doc .= '<ul>';
@@ -114,7 +127,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
// remove subparts
foreach($plugins as $p){
if (!$po = plugin_load($type,$p)) continue;
- list($name,$part) = explode('_',$p,2);
+ list($name,/* $part */) = explode('_',$p,2);
$plginfo[$name] = $po->getInfo();
}
@@ -141,8 +154,10 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
* list all installed plugins
*
* uses some of the original renderer methods
+ *
+ * @param Doku_Renderer_xhtml $renderer
*/
- function _helpermethods_xhtml(Doku_Renderer &$renderer){
+ function _helpermethods_xhtml(Doku_Renderer_xhtml $renderer){
$plugins = plugin_list('helper');
foreach($plugins as $p){
if (!$po = plugin_load('helper',$p)) continue;
@@ -189,6 +204,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* lists all known syntax types and their registered modes
+ *
+ * @return string
*/
function _syntaxtypes_xhtml(){
global $PARSER_MODES;
@@ -211,6 +228,8 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* lists all known syntax modes and their sorting value
+ *
+ * @return string
*/
function _syntaxmodes_xhtml(){
$modes = p_get_parsermodes();
@@ -249,13 +268,18 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
/**
* Adds a TOC item
+ *
+ * @param string $text
+ * @param int $level
+ * @param Doku_Renderer_xhtml $renderer
+ * @return string
*/
- function _addToTOC($text, $level, Doku_Renderer &$renderer){
+ protected function _addToTOC($text, $level, Doku_Renderer_xhtml $renderer){
global $conf;
+ $hid = '';
if (($level >= $conf['toptoclevel']) && ($level <= $conf['maxtoclevel'])){
- /** @var $renderer Doku_Renderer_xhtml */
- $hid = $renderer->_headerToLink($text, 'true');
+ $hid = $renderer->_headerToLink($text, true);
$renderer->toc[] = array(
'hid' => $hid,
'title' => $text,
diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php
index bd2d090e1..ab569b8b4 100644
--- a/lib/plugins/popularity/admin.php
+++ b/lib/plugins/popularity/admin.php
@@ -87,7 +87,7 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin {
//If there was an error the last time we tried to autosubmit, warn the user
if ( $this->helper->isAutoSubmitEnabled() ){
- if ( @file_exists($this->helper->autosubmitErrorFile) ){
+ if ( file_exists($this->helper->autosubmitErrorFile) ){
echo $this->getLang('autosubmitError');
echo io_readFile( $this->helper->autosubmitErrorFile );
}
diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php
index eacde06d0..8673fb5af 100644
--- a/lib/plugins/popularity/helper.php
+++ b/lib/plugins/popularity/helper.php
@@ -74,14 +74,16 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Check if autosubmit is enabled
+ *
* @return boolean TRUE if we should send data once a month, FALSE otherwise
*/
function isAutoSubmitEnabled(){
- return @file_exists($this->autosubmitFile);
+ return file_exists($this->autosubmitFile);
}
/**
* Send the data, to the submit url
+ *
* @param string $data The popularity data
* @return string An empty string if everything worked fine, a string describing the error otherwise
*/
@@ -97,6 +99,8 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Compute the last time the data was sent. If it has never been sent, we return 0.
+ *
+ * @return int
*/
function lastSentTime(){
$manualSubmission = @filemtime($this->popularityLastSubmitFile);
@@ -107,6 +111,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Gather all information
+ *
* @return string The popularity data as a string
*/
function gatherAsString(){
@@ -124,6 +129,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
/**
* Gather all information
+ *
* @return array The popularity data as an array
*/
function _gather(){
@@ -288,17 +294,24 @@ class helper_plugin_popularity extends Dokuwiki_Plugin {
*
* @author <gilthans dot NO dot SPAM at gmail dot com>
* @link http://de3.php.net/manual/en/ini.core.php#79564
+ *
+ * @param string $v
+ * @return int|string
*/
function _to_byte($v){
$l = substr($v, -1);
$ret = substr($v, 0, -1);
switch(strtoupper($l)){
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'P':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'T':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'G':
$ret *= 1024;
+ /** @noinspection PhpMissingBreakStatementInspection */
case 'M':
$ret *= 1024;
case 'K':
diff --git a/lib/plugins/popularity/lang/eu/lang.php b/lib/plugins/popularity/lang/eu/lang.php
index b52ccaee1..b5b80357c 100644
--- a/lib/plugins/popularity/lang/eu/lang.php
+++ b/lib/plugins/popularity/lang/eu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Basque language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Inko Illarramendi <inko.i.a@gmail.com>
* @author Zigor Astarbe <astarbe@gmail.com>
*/
diff --git a/lib/plugins/popularity/lang/ro/lang.php b/lib/plugins/popularity/lang/ro/lang.php
index 8ba119dcb..5be528bac 100644
--- a/lib/plugins/popularity/lang/ro/lang.php
+++ b/lib/plugins/popularity/lang/ro/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Romanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro>
* @author Emanuel-Emeric Andrași <n30@mandrivausers.ro>
* @author Emanuel-Emeric Andraşi <em.andrasi@mandrivausers.ro>
diff --git a/lib/plugins/revert/lang/eu/lang.php b/lib/plugins/revert/lang/eu/lang.php
index d3532c070..40be3e382 100644
--- a/lib/plugins/revert/lang/eu/lang.php
+++ b/lib/plugins/revert/lang/eu/lang.php
@@ -1,9 +1,11 @@
<?php
+
/**
- * Basque language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Inko Illarramendi <inko.i.a@gmail.com>
* @author Zigor Astarbe <astarbe@gmail.com>
+ * @author Yadav Gowda <yadav.gowda@gmail.com>
*/
$lang['menu'] = 'Berrezartze Kudeatzailea';
$lang['filter'] = 'Bilatu spam duten orriak';
diff --git a/lib/plugins/revert/lang/ko/lang.php b/lib/plugins/revert/lang/ko/lang.php
index 5666100e9..df4b271b1 100644
--- a/lib/plugins/revert/lang/ko/lang.php
+++ b/lib/plugins/revert/lang/ko/lang.php
@@ -18,4 +18,4 @@ $lang['removed'] = '%s 제거됨';
$lang['revstart'] = '되돌리기 작업을 시작합니다. 오랜 시간이 걸릴 수 있습니다. 완료되기 전에 스크립트 시간 초과가 발생한다면 더 작은 작업으로 나누어서 되돌리시기 바랍니다.';
$lang['revstop'] = '되돌리기 작업이 성공적으로 끝났습니다.';
$lang['note1'] = '참고: 대소문자를 구별해 찾습니다';
-$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다. ';
+$lang['note2'] = '참고: 문서는 <i>%s</i> 스팸 단어를 포함하지 않은 최신 판으로 되돌립니다.';
diff --git a/lib/plugins/revert/lang/no/lang.php b/lib/plugins/revert/lang/no/lang.php
index 6806dcd93..76da8ca9c 100644
--- a/lib/plugins/revert/lang/no/lang.php
+++ b/lib/plugins/revert/lang/no/lang.php
@@ -19,6 +19,7 @@
* @author Thomas Juberg <Thomas.Juberg@Gmail.com>
* @author Boris <boris@newton-media.no>
* @author Christopher Schive <chschive@frisurf.no>
+ * @author Patrick <spill.p@hotmail.com>
*/
$lang['menu'] = 'Tilbakestillingsbehandler';
$lang['filter'] = 'Søk etter søppelmeldinger';
diff --git a/lib/plugins/revert/lang/ro/lang.php b/lib/plugins/revert/lang/ro/lang.php
index 5ea802575..3d0ca7957 100644
--- a/lib/plugins/revert/lang/ro/lang.php
+++ b/lib/plugins/revert/lang/ro/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Romanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sergiu Baltariu <s_baltariu@yahoo.com>
* @author s_baltariu@yahoo.com
* @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro>
diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php
index 4a301f927..9e2913d78 100644
--- a/lib/plugins/syntax.php
+++ b/lib/plugins/syntax.php
@@ -52,6 +52,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* 'stack' - Special case. Plugin wraps other paragraphs.
*
* @see Doku_Handler_Block
+ *
* @return string
*/
function getPType(){
@@ -70,7 +71,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* @param int $state The lexer state for the match
* @param int $pos The character position of the matched text
* @param Doku_Handler $handler The Doku_Handler object
- * @return array Return an array with all data you want to use in render
+ * @return bool|array Return an array with all data you want to use in render, false don't add an instruction
*/
function handle($match, $state, $pos, Doku_Handler $handler){
trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING);
@@ -94,10 +95,10 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin {
* The contents of the $data array depends on what the handler() function above
* created
*
- * @param $format string output format being rendered
- * @param $renderer Doku_Renderer the current renderer object
- * @param $data array data created by handler()
- * @return boolean rendered correctly?
+ * @param string $format output format being rendered
+ * @param Doku_Renderer $renderer the current renderer object
+ * @param array $data data created by handler()
+ * @return boolean rendered correctly? (however, returned value is not used at the moment)
*/
function render($format, Doku_Renderer $renderer, $data) {
trigger_error('render() not implemented in '.get_class($this), E_USER_WARNING);
diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php
index b67d91b36..86562f1dd 100644
--- a/lib/plugins/usermanager/admin.php
+++ b/lib/plugins/usermanager/admin.php
@@ -58,9 +58,12 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
}
}
- /**
- * Return prompt for admin menu
- */
+ /**
+ * Return prompt for admin menu
+ *
+ * @param string $language
+ * @return string
+ */
public function getMenuText($language) {
if (!is_null($this->_auth))
@@ -71,6 +74,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* return sort order for position in admin menu
+ *
+ * @return int
*/
public function getMenuSort() {
return 2;
@@ -78,6 +83,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* Handle user request
+ *
+ * @return bool
*/
public function handle() {
global $INPUT;
@@ -128,6 +135,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* Output appropriate html
+ *
+ * @return bool
*/
public function html() {
global $ID;
@@ -738,6 +747,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
global $auth;
global $INPUT;
+ $user = array();
$user[0] = ($clean) ? $auth->cleanUser($INPUT->str('userid')) : $INPUT->str('userid');
$user[1] = $INPUT->str('userpass');
$user[2] = $INPUT->str('username');
@@ -764,7 +774,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$this->_filter = array();
if ($op == 'new') {
- list($user,$pass,$name,$mail,$grps) = $this->_retrieveUser(false);
+ list($user,/* $pass */,$name,$mail,$grps) = $this->_retrieveUser(false);
if (!empty($user)) $this->_filter['user'] = $user;
if (!empty($name)) $this->_filter['name'] = $name;
@@ -816,6 +826,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$disabled = 'disabled="disabled"';
+ $buttons = array();
$buttons['start'] = $buttons['prev'] = ($this->_start == 0) ? $disabled : '';
if ($this->_user_total == -1) {
@@ -937,8 +948,8 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
* Returns cleaned user data
*
* @param array $candidate raw values of line from input file
- * @param $error
- * @return array|bool cleaned data or false
+ * @param string $error
+ * @return array|false cleaned data or false
*/
protected function _cleanImportUser($candidate, & $error){
global $INPUT;
@@ -951,7 +962,7 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
$INPUT->set('usergroups', $candidate[4]);
$cleaned = $this->_retrieveUser();
- list($user,$pass,$name,$mail,$grps) = $cleaned;
+ list($user,/* $pass */,$name,$mail,/* $grps */) = $cleaned;
if (empty($user)) {
$error = $this->lang['import_error_baduserid'];
return false;
@@ -1021,6 +1032,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
/**
* wrapper for is_uploaded_file to facilitate overriding by test suite
+ *
+ * @param string $file filename
+ * @return bool
*/
protected function _isUploadedFile($file) {
return is_uploaded_file($file);
@@ -1031,6 +1045,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
*
* @deprecated remove when dokuwiki php requirement increases to 5.3+
* also associated unit test & mock access method
+ *
+ * @param string $csv string to parse
+ * @return array
*/
protected function _getcsv($csv) {
return function_exists('str_getcsv') ? str_getcsv($csv) : $this->str_getcsv($csv);
@@ -1041,6 +1058,9 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin {
* loosely based on www.php.net/str_getcsv#88311
*
* @deprecated remove when dokuwiki php requirement increases to 5.3+
+ *
+ * @param string $str string to parse
+ * @return array
*/
protected function str_getcsv($str) {
$fp = fopen("php://temp/maxmemory:1048576", 'r+'); // 1MiB
diff --git a/lib/plugins/usermanager/images/search.png b/lib/plugins/usermanager/images/search.png
index e9dabc11e..3f2a0b53b 100644
--- a/lib/plugins/usermanager/images/search.png
+++ b/lib/plugins/usermanager/images/search.png
Binary files differ
diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php
index bbb560679..6130fccd8 100644
--- a/lib/plugins/usermanager/lang/cs/lang.php
+++ b/lib/plugins/usermanager/lang/cs/lang.php
@@ -15,6 +15,7 @@
* @author Jakub A. Těšínský (j@kub.cz)
* @author mkucera66@seznam.cz
* @author Zbyněk Křivka <krivka@fit.vutbr.cz>
+ * @author Jaroslav Lichtblau <jlichtblau@seznam.cz>
*/
$lang['menu'] = 'Správa uživatelů';
$lang['noauth'] = '(autentizace uživatelů není k dispozici)';
@@ -55,20 +56,23 @@ $lang['next'] = 'další';
$lang['last'] = 'poslední';
$lang['edit_usermissing'] = 'Vybraný uživatel nebyl nalezen, zadané uživatelského mohlo být smazáno nebo změněno.';
$lang['user_notify'] = 'Upozornit uživatele';
-$lang['note_notify'] = 'Maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.';
+$lang['note_notify'] = 'E-maily s upozorněním se budou posílat pouze, když uživatel dostává nové heslo.';
$lang['note_group'] = 'Noví uživatelé budou přidáváni do této výchozí skupiny (%s), pokud pro ně není uvedena žádná skupina.';
$lang['note_pass'] = 'Heslo bude automaticky vygenerováno, pokud je pole ponecháno prázdné a je zapnuto upozornění uživatele.';
$lang['add_ok'] = 'Uživatel úspěšně vytvořen';
$lang['add_fail'] = 'Vytvoření uživatele selhalo';
-$lang['notify_ok'] = 'Odeslán mail s upozorněním';
-$lang['notify_fail'] = 'Mail s upozorněním nebylo možno odeslat';
+$lang['notify_ok'] = 'Odeslán e-mail s upozorněním';
+$lang['notify_fail'] = 'E-mail s upozorněním nebylo možno odeslat';
+$lang['import_userlistcsv'] = 'Seznam uživatelů (CSV):';
+$lang['import_header'] = 'Poslední selhání importu';
$lang['import_success_count'] = 'Import uživatelů: nalezeno %d uživatelů, %d úspěšně importováno.';
$lang['import_failure_count'] = 'Import uživatelů: %d selhalo. Seznam chybných je níže.';
$lang['import_error_fields'] = 'Nedostatek položek, nalezena/y %d, požadovány 4.';
$lang['import_error_baduserid'] = 'Chybí User-id';
$lang['import_error_badname'] = 'Špatné jméno';
-$lang['import_error_badmail'] = 'Špatná emailová adresa';
+$lang['import_error_badmail'] = 'Špatná e-mailová adresa';
$lang['import_error_upload'] = 'Import selhal. CSV soubor nemohl být nahrán nebo je prázdný.';
$lang['import_error_readfail'] = 'Import selhal. Nelze číst nahraný soubor.';
$lang['import_error_create'] = 'Nelze vytvořit uživatele';
-$lang['import_notify_fail'] = 'Importovanému uživateli %s s emailem %s nemohlo být zasláno upozornění.';
+$lang['import_notify_fail'] = 'Importovanému uživateli %s s e-mailem %s nemohlo být zasláno upozornění.';
+$lang['import_downloadfailures'] = 'Stáhnout chyby pro nápravu jako CVS';
diff --git a/lib/plugins/usermanager/lang/da/import.txt b/lib/plugins/usermanager/lang/da/import.txt
new file mode 100644
index 000000000..8ff1946b8
--- /dev/null
+++ b/lib/plugins/usermanager/lang/da/import.txt
@@ -0,0 +1,9 @@
+===== Samling af Brugere Import =====
+
+Kræver en CSV-fil med brugere på mindst fire kolonner.
+Kolonnerne skal indeholde, i denne orden: bruger-id, fulde navn, email-adresse og grupper.
+CSV-felterne skal separeres af kommaer (,) og strengafgrænser med anførelsestegn (%%""%%). Backslash (\) kan benyttes som "escape character".
+For et eksempel på en brugbar fil, kan du prøve "Eksportér Brugere"-funktionen her over.
+Overlappende bruger-id'er bliver ignoreret.
+
+En adgangskode vil blive genereret og sendt til hver succesfuldt importeret bruger. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php
index 47d7efea2..795024f89 100644
--- a/lib/plugins/usermanager/lang/da/lang.php
+++ b/lib/plugins/usermanager/lang/da/lang.php
@@ -13,6 +13,7 @@
* @author Michael Pedersen subben@gmail.com
* @author Mikael Lyngvig <mikael@lyngvig.org>
* @author soer9648 <soer9648@eucl.dk>
+ * @author Søren Birk <soer9648@eucl.dk>
*/
$lang['menu'] = 'Brugerstyring';
$lang['noauth'] = '(Brugervalidering er ikke tilgængelig)';
@@ -72,3 +73,4 @@ $lang['import_error_upload'] = 'Import Fejlet. CSV-filen kunne ikke uploades e
$lang['import_error_readfail'] = 'Import Fejlet. Ikke muligt at læse uploadede fil.';
$lang['import_error_create'] = 'Ikke muligt at oprette brugeren';
$lang['import_notify_fail'] = 'Notifikationsmeddelelse kunne ikke sendes for importerede bruger %s, med emailen %s.';
+$lang['import_downloadfailures'] = 'Download Fejl som CSV til rettelser';
diff --git a/lib/plugins/usermanager/lang/eu/lang.php b/lib/plugins/usermanager/lang/eu/lang.php
index 5d3a01fc7..1fbe13739 100644
--- a/lib/plugins/usermanager/lang/eu/lang.php
+++ b/lib/plugins/usermanager/lang/eu/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Basque language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Inko Illarramendi <inko.i.a@gmail.com>
* @author Zigor Astarbe <astarbe@gmail.com>
*/
diff --git a/lib/plugins/usermanager/lang/fi/lang.php b/lib/plugins/usermanager/lang/fi/lang.php
index de243133a..dba67fb61 100644
--- a/lib/plugins/usermanager/lang/fi/lang.php
+++ b/lib/plugins/usermanager/lang/fi/lang.php
@@ -7,6 +7,7 @@
* @author Otto Vainio <otto@valjakko.net>
* @author Teemu Mattila <ghcsystems@gmail.com>
* @author Sami Olmari <sami@olmari.fi>
+ * @author Jussi Takala <jussi.takala@live.fi>
*/
$lang['menu'] = 'Käyttäjähallinta';
$lang['noauth'] = '(autentikointi ei ole käytössä)';
@@ -29,6 +30,9 @@ $lang['search'] = 'Hae';
$lang['search_prompt'] = 'Tee haku';
$lang['clear'] = 'Tyhjennä hakusuodatin';
$lang['filter'] = 'Suodatin';
+$lang['import'] = 'Tuo uusia käyttäjiä';
+$lang['line'] = 'Rivi nro.';
+$lang['error'] = 'Vikailmoitus';
$lang['summary'] = 'Näytetään käyttäjät %1$d-%2$d / %3$d löytynyttä. %4$d käyttäjää yhteensä.';
$lang['nonefound'] = 'Ei löytynyt käyttäjiä. %d käyttäjää yhteensä.';
$lang['delete_ok'] = '%d käyttäjää poistettu';
@@ -49,3 +53,9 @@ $lang['add_ok'] = 'Käyttäjä lisätty onnistuneesti';
$lang['add_fail'] = 'Käyttäjän lisäys epäonnistui';
$lang['notify_ok'] = 'Ilmoitus sähköpostilla lähetetty';
$lang['notify_fail'] = 'Ilmoitusta sähköpostilla ei voitu lähettää';
+$lang['import_error_baduserid'] = 'Käyttäjätunnus puuttuu';
+$lang['import_error_badname'] = 'Epäkelpo nimi';
+$lang['import_error_badmail'] = 'Epäkelpo sähköpostiosoite';
+$lang['import_error_upload'] = 'Tuonti epäonnistui. CSV-tiedostoa ei voitu ladata tai se on tyhjä.';
+$lang['import_error_readfail'] = 'Tuonti epäonnistui. Ladattua tiedostoa ei voida lukea.';
+$lang['import_error_create'] = 'Käyttäjää ei voida luoda.';
diff --git a/lib/plugins/usermanager/lang/hr/lang.php b/lib/plugins/usermanager/lang/hr/lang.php
index 80613ed6f..a71afb60a 100644
--- a/lib/plugins/usermanager/lang/hr/lang.php
+++ b/lib/plugins/usermanager/lang/hr/lang.php
@@ -33,7 +33,7 @@ $lang['line'] = 'Linija br.';
$lang['error'] = 'Poruka o grešci';
$lang['summary'] = 'Prikaz korisnika %1$d-%2$d od %3$d nađenih. Ukupno %4$d korisnika.';
$lang['nonefound'] = 'Nema korisnika koji odgovaraju filtru.Ukupno %d korisnika.';
-$lang['delete_ok'] = '%d korisnik obrisano';
+$lang['delete_ok'] = '%d korisnika obrisano';
$lang['delete_fail'] = '%d neuspjelih brisanja.';
$lang['update_ok'] = 'Korisnik uspješno izmijenjen';
$lang['update_fail'] = 'Neuspjela izmjena korisnika';
@@ -49,7 +49,7 @@ $lang['note_group'] = 'Novi korisnik biti će dodijeljen u podrazumij
$lang['note_pass'] = 'Lozinka će biti generirana ako se polje ostavi prazno i obavješćivanje korisnika je omogućeno.';
$lang['add_ok'] = 'Korisnik uspješno dodan';
$lang['add_fail'] = 'Neuspješno dodavanje korisnika';
-$lang['notify_ok'] = 'Obavijest korisniku poslana';
+$lang['notify_ok'] = 'Poslana obavijest korisniku';
$lang['notify_fail'] = 'Obavijest korisniku ne može biti poslana';
$lang['import_userlistcsv'] = 'Datoteka s popisom korisnika (CSV):';
$lang['import_header'] = 'Zadnje greške pri uvozu';
diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php
index 70e3d94f0..bc76470e8 100644
--- a/lib/plugins/usermanager/lang/ko/lang.php
+++ b/lib/plugins/usermanager/lang/ko/lang.php
@@ -13,7 +13,7 @@
* @author Garam <rowain8@gmail.com>
*/
$lang['menu'] = '사용자 관리자';
-$lang['noauth'] = '(사용자 인증이 불가능합니다)';
+$lang['noauth'] = '(사용자 인증을 사용할 수 없습니다)';
$lang['nosupport'] = '(사용자 관리가 지원되지 않습니다)';
$lang['badauth'] = '인증 메커니즘이 잘못되었습니다';
$lang['user_id'] = '사용자';
@@ -35,10 +35,10 @@ $lang['clear'] = '검색 필터 재설정';
$lang['filter'] = '필터';
$lang['export_all'] = '모든 사용자 목록 내보내기 (CSV)';
$lang['export_filtered'] = '필터된 사용자 목록 내보내기 (CSV)';
-$lang['import'] = '새 사용자 목록 가져오기';
+$lang['import'] = '새 사용자 가져오기';
$lang['line'] = '줄 번호';
$lang['error'] = '오류 메시지';
-$lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.';
+$lang['summary'] = '찾은 사용자 %3$d명 중 %1$d-%2$d을(를) 봅니다. 전체 사용자는 %4$d명입니다.';
$lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자는 %d명입니다.';
$lang['delete_ok'] = '사용자 %d명이 삭제되었습니다';
$lang['delete_fail'] = '사용자 %d명을 삭제하는 데 실패했습니다.';
@@ -68,6 +68,6 @@ $lang['import_error_badname'] = '잘못된 이름';
$lang['import_error_badmail'] = '잘못된 이메일 주소';
$lang['import_error_upload'] = '가져오기를 실패했습니다. csv 파일을 올릴 수 없거나 비어 있습니다.';
$lang['import_error_readfail'] = '가져오기를 실패했습니다. 올린 파일을 읽을 수 없습니다.';
-$lang['import_error_create'] = '사용자를 만들 수 없습니다.';
+$lang['import_error_create'] = '사용자를 만들 수 없습니다';
$lang['import_notify_fail'] = '알림 메시지를 가져온 %s (이메일: %s) 사용자에게 보낼 수 없습니다.';
$lang['import_downloadfailures'] = '교정을 위한 CSV로 다운로드 실패';
diff --git a/lib/plugins/usermanager/lang/pt/lang.php b/lib/plugins/usermanager/lang/pt/lang.php
index b59649aa1..43ea69e53 100644
--- a/lib/plugins/usermanager/lang/pt/lang.php
+++ b/lib/plugins/usermanager/lang/pt/lang.php
@@ -8,6 +8,7 @@
* @author Fil <fil@meteopt.com>
* @author André Neves <drakferion@gmail.com>
* @author José Campos zecarlosdecampos@gmail.com
+ * @author Guido Salatino <guidorafael23@gmail.com>
*/
$lang['menu'] = 'Gestor de Perfis';
$lang['noauth'] = '(autenticação indisponível)';
@@ -33,6 +34,8 @@ $lang['filter'] = 'Filtro';
$lang['export_all'] = 'Exportar Todos os Utilizadores (CSV)';
$lang['export_filtered'] = 'Exportar a lista de utilizadores filtrada (CSV)';
$lang['import'] = 'Importar Novos Utilizadores';
+$lang['line'] = 'Linha nº
+';
$lang['error'] = 'Mensagem de erro';
$lang['summary'] = 'Apresentar utilizadores %1$d-%2$d de %3$d encontrados. %4$d inscritos.';
$lang['nonefound'] = 'Nenhum utilizador encontrado. %d inscritos.';
@@ -54,11 +57,17 @@ $lang['add_ok'] = 'Utilizador adicionado.';
$lang['add_fail'] = 'Utilizador não adicionado.';
$lang['notify_ok'] = 'Mensagem de notificação enviada.';
$lang['notify_fail'] = 'Não foi possível enviar mensagem de notificação';
+$lang['import_userlistcsv'] = 'Arquivo de lista do usuário (CSV):
+';
+$lang['import_header'] = 'Mais Recentes Importações - Falhas';
$lang['import_success_count'] = 'Importar Utilizadores: %d utiliyadores encontrados, %d importados com sucesso.';
$lang['import_failure_count'] = 'Importar Utilizadores: %d falharam. As falhas estão listadas abaixo.';
$lang['import_error_fields'] = 'Campos insuficientes, encontrados %d mas requeridos 4.';
$lang['import_error_baduserid'] = 'Falta id de utilizador';
+$lang['import_error_badname'] = 'Nome inválido';
+$lang['import_error_badmail'] = 'E-Mail inválido';
$lang['import_error_upload'] = 'Falhou a importação. O ficheiro csv não pôde ser importado ou está vazio.';
$lang['import_error_readfail'] = 'Falhou a importação. Não foi possível ler o ficheiro submetido.';
$lang['import_error_create'] = 'Não foi possível criar o utilizador.';
$lang['import_notify_fail'] = 'A mensagem de notificação não pôde ser enviada para o utilizador importado, %s com email %s.';
+$lang['import_downloadfailures'] = 'Baixe Falhas como CSV para a correção';
diff --git a/lib/plugins/usermanager/lang/ro/lang.php b/lib/plugins/usermanager/lang/ro/lang.php
index 1b33cc4f8..55cbbed04 100644
--- a/lib/plugins/usermanager/lang/ro/lang.php
+++ b/lib/plugins/usermanager/lang/ro/lang.php
@@ -1,7 +1,8 @@
<?php
+
/**
- * Romanian language file
- *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
* @author Sergiu Baltariu <s_baltariu@yahoo.com>
* @author s_baltariu@yahoo.com
* @author Emanuel-Emeric Andrasi <n30@mandrivausers.ro>
diff --git a/lib/plugins/usermanager/lang/ru/import.txt b/lib/plugins/usermanager/lang/ru/import.txt
index f2049dd0c..22372c254 100644
--- a/lib/plugins/usermanager/lang/ru/import.txt
+++ b/lib/plugins/usermanager/lang/ru/import.txt
@@ -2,8 +2,8 @@
Потребуется список пользователей в файле формата CSV, состоящий из 4 столбцов.
Столбцы должны быть заполнены следующим образом: user-id, полное имя, эл. почта, группы.
-Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (%%""%%). Обратный слэш используется как прерывание.
-В качестве примера можете взять список пользователей, экспортированный через «Экспорт пользователей».
+Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (%%""%%). Обратный слэш (\) используется как прерывание.
+В качестве примера можете взять список пользователей, экспортированный через «Экспорт пользователей».
Повторяющиеся идентификаторы user-id будут игнорироваться.
Пароль доступа будет сгенерирован и отправлен по почте удачно импортированному пользователю. \ No newline at end of file
diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php
index 8bbfa639c..de650d681 100644
--- a/lib/plugins/usermanager/lang/ru/lang.php
+++ b/lib/plugins/usermanager/lang/ru/lang.php
@@ -21,6 +21,7 @@
* @author Pavel <ivanovtsk@mail.ru>
* @author Aleksandr Selivanov <alexgearbox@yandex.ru>
* @author Igor Degraf <igordegraf@gmail.com>
+ * @author Vitaly Filatenko <kot@hacktest.net>
*/
$lang['menu'] = 'Управление пользователями';
$lang['noauth'] = '(авторизация пользователей недоступна)';
@@ -68,9 +69,11 @@ $lang['add_ok'] = 'Пользователь успешно доб
$lang['add_fail'] = 'Не удалось добавить пользователя';
$lang['notify_ok'] = 'Письмо с уведомлением отправлено';
$lang['notify_fail'] = 'Не удалось отправить письмо с уведомлением';
+$lang['import_userlistcsv'] = 'Файл со списком пользователей (CSV):';
+$lang['import_header'] = 'Последний импорт — список ошибок';
$lang['import_success_count'] = 'Импорт пользователей: %d пользователей найдено, %d импортировано успешно.';
$lang['import_failure_count'] = 'Импорт пользователей: %d не удалось. Список ошибок прочтите ниже.';
-$lang['import_error_fields'] = 'Не все поля заполнены. Найдено %d, а нужно 4.';
+$lang['import_error_fields'] = 'Не все поля заполнены. Найдено %d, а нужно: 4.';
$lang['import_error_baduserid'] = 'Отсутствует идентификатор пользователя';
$lang['import_error_badname'] = 'Имя не годится';
$lang['import_error_badmail'] = 'Адрес электронной почты не годится';
@@ -78,4 +81,4 @@ $lang['import_error_upload'] = 'Импорт не удался. CSV-файл
$lang['import_error_readfail'] = 'Импорт не удался. Невозможно прочесть загруженный файл.';
$lang['import_error_create'] = 'Невозможно создать пользователя';
$lang['import_notify_fail'] = 'Оповещение не может быть отправлено импортированному пользователю %s по электронной почте %s.';
-$lang['import_downloadfailures'] = 'Скачать Ошибки в формате CSV для исправления';
+$lang['import_downloadfailures'] = 'Скачать ошибки в формате CSV для исправления';
diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js
index 6b46add07..fb61f6e48 100644
--- a/lib/scripts/behaviour.js
+++ b/lib/scripts/behaviour.js
@@ -56,6 +56,8 @@ var dw_behaviour = {
jQuery(document).on('click','#page__revisions input[type=checkbox]',
dw_behaviour.revisionBoxHandler
);
+
+ jQuery('.bounce').effect('bounce', {times:10}, 2000 );
},
/**
@@ -64,7 +66,14 @@ var dw_behaviour = {
scrollToMarker: function(){
var $obj = jQuery('#scroll__here');
if($obj.length) {
- $obj[0].scrollIntoView();
+ if($obj.offset().top != 0) {
+ jQuery('html, body').animate({
+ scrollTop: $obj.offset().top - 100
+ }, 500);
+ } else {
+ // hidden object have no offset but can still be scrolled into view
+ $obj[0].scrollIntoView();
+ }
}
},
@@ -77,13 +86,11 @@ var dw_behaviour = {
/**
* Remove all search highlighting when clicking on a highlighted term
- *
- * @FIXME would be nice to have it fade out
*/
removeHighlightOnClick: function(){
jQuery('span.search_hit').click(
function(e){
- jQuery(e.target).removeClass('search_hit');
+ jQuery(e.target).removeClass('search_hit', 1000);
}
);
},
diff --git a/lib/scripts/editor.js b/lib/scripts/editor.js
index 74919cb98..f4143f0bc 100644
--- a/lib/scripts/editor.js
+++ b/lib/scripts/editor.js
@@ -124,14 +124,15 @@ var dw_editor = {
* Listens to all key inputs and handle indentions
* of lists and code blocks
*
- * Currently handles space, backspce and enter presses
+ * Currently handles space, backspace, enter and
+ * ctrl-enter presses
*
* @author Andreas Gohr <andi@splitbrain.org>
* @fixme handle tabs
* @param event e - the key press event object
*/
keyHandler: function(e){
- if(jQuery.inArray(e.keyCode,[8, 13, 32]) === -1) {
+ if(jQuery.inArray(e.keyCode,[8, 10, 13, 32]) === -1) {
return;
}
var selection = DWgetSelection(this);
@@ -143,7 +144,12 @@ var dw_editor = {
search.lastIndexOf("\r")); //IE workaround
search = search.substr(linestart);
- if(e.keyCode == 13){ // Enter
+ if((e.keyCode == 13 || e.keyCode == 10) && e.ctrlKey) { // Ctrl-Enter (With Chrome workaround)
+ // Submit current edit
+ jQuery('input#edbtn__save').click();
+ e.preventDefault(); // prevent enter key
+ return false;
+ }else if(e.keyCode == 13){ // Enter
// keep current indention for lists and code
var match = search.match(/(\n +([\*-] ?)?)/);
if(match){
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
index 4b8c26b72..f5c2d583d 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png
index 718a40454..e36540bbf 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png
index 9e3de4335..8225e3e18 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png
index 18fd8b166..3e56dbdca 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png
index 8f31ae15d..d5265f4dd 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png
index a6effc68e..1d509f45a 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png
index c50038aff..38349845c 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png
index f08378e9f..a374f7501 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png
index 8deb23b9d..a13f9b4dd 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png
index aa2ddc3b5..945c3d704 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png
index ef231bb25..60ec1c692 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png
index 8bfb68534..48de3ed6b 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png
index d72d6906d..b987966e0 100644
--- a/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png
+++ b/lib/scripts/jquery/jquery-ui-theme/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/detail.php b/lib/tpl/dokuwiki/detail.php
index 8fe2c88a2..d4f9c39d1 100644
--- a/lib/tpl/dokuwiki/detail.php
+++ b/lib/tpl/dokuwiki/detail.php
@@ -49,7 +49,7 @@ header('X-UA-Compatible: IE=edge,chrome=1');
if($ERROR):
echo '<h1>'.$ERROR.'</h1>';
else: ?>
-
+ <?php if($REV) echo p_locale_xhtml('showrev');?>
<h1><?php echo nl2br(hsc(tpl_img_getTag('simple.title'))); ?></h1>
<?php tpl_img(900,700); /* parameters: maximum width, maximum height (and more) */ ?>
@@ -82,8 +82,8 @@ header('X-UA-Compatible: IE=edge,chrome=1');
$data = array(
'view' => 'detail',
'items' => array(
- 'mediaManager' => tpl_action('mediaManager', 1, 'li', 1, '<span>', '</span>'),
- 'img_backto' => tpl_action('img_backto', 1, 'li', 1, '<span>', '</span>'),
+ 'mediaManager' => tpl_action('mediaManager', true, 'li', true, '<span>', '</span>'),
+ 'img_backto' => tpl_action('img_backto', true, 'li', true, '<span>', '</span>'),
)
);
diff --git a/lib/tpl/dokuwiki/images/apple-touch-icon.png b/lib/tpl/dokuwiki/images/apple-touch-icon.png
index fb5f108c0..87c99a919 100644
--- a/lib/tpl/dokuwiki/images/apple-touch-icon.png
+++ b/lib/tpl/dokuwiki/images/apple-touch-icon.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/button-css.png b/lib/tpl/dokuwiki/images/button-css.png
index 706325e1c..5c0f5a993 100644
--- a/lib/tpl/dokuwiki/images/button-css.png
+++ b/lib/tpl/dokuwiki/images/button-css.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/button-html5.png b/lib/tpl/dokuwiki/images/button-html5.png
index 5885a331b..f7b068811 100644
--- a/lib/tpl/dokuwiki/images/button-html5.png
+++ b/lib/tpl/dokuwiki/images/button-html5.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/button-rss.png b/lib/tpl/dokuwiki/images/button-rss.png
index b7cddadec..aa6b7fca8 100644
--- a/lib/tpl/dokuwiki/images/button-rss.png
+++ b/lib/tpl/dokuwiki/images/button-rss.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/logo.png b/lib/tpl/dokuwiki/images/logo.png
index 35640279c..a1f499569 100644
--- a/lib/tpl/dokuwiki/images/logo.png
+++ b/lib/tpl/dokuwiki/images/logo.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/page-gradient.png b/lib/tpl/dokuwiki/images/page-gradient.png
index 8e16a2805..38c74198a 100644
--- a/lib/tpl/dokuwiki/images/page-gradient.png
+++ b/lib/tpl/dokuwiki/images/page-gradient.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools-build.php b/lib/tpl/dokuwiki/images/pagetools-build.php
index 1b7262ad5..3cf35b2ea 100644
--- a/lib/tpl/dokuwiki/images/pagetools-build.php
+++ b/lib/tpl/dokuwiki/images/pagetools-build.php
@@ -92,7 +92,7 @@ function hex2rgb($hex) {
/**
* Scale (darken/lighten) a given image
*
- * @param ressource $img The truetype GD image to work on
+ * @param resource $img The truetype GD image to work on
* @param float $scale Scale the colors by this value ( <1 darkens, >1 lightens)
*/
function imagecolorscale(&$img, $scale){
diff --git a/lib/tpl/dokuwiki/images/pagetools-sprite.png b/lib/tpl/dokuwiki/images/pagetools-sprite.png
index b6e808717..8e7f7f876 100644
--- a/lib/tpl/dokuwiki/images/pagetools-sprite.png
+++ b/lib/tpl/dokuwiki/images/pagetools-sprite.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/00_default.png b/lib/tpl/dokuwiki/images/pagetools/00_default.png
index 95d122e17..bcb2de0f8 100644
--- a/lib/tpl/dokuwiki/images/pagetools/00_default.png
+++ b/lib/tpl/dokuwiki/images/pagetools/00_default.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/01_edit.png b/lib/tpl/dokuwiki/images/pagetools/01_edit.png
index ad4a737d8..99f3093ee 100644
--- a/lib/tpl/dokuwiki/images/pagetools/01_edit.png
+++ b/lib/tpl/dokuwiki/images/pagetools/01_edit.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/02_create.png b/lib/tpl/dokuwiki/images/pagetools/02_create.png
index e4fc5d3b1..57fa68d42 100644
--- a/lib/tpl/dokuwiki/images/pagetools/02_create.png
+++ b/lib/tpl/dokuwiki/images/pagetools/02_create.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/03_draft.png b/lib/tpl/dokuwiki/images/pagetools/03_draft.png
index a13d8c3b4..ce1c6cf14 100644
--- a/lib/tpl/dokuwiki/images/pagetools/03_draft.png
+++ b/lib/tpl/dokuwiki/images/pagetools/03_draft.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/04_show.png b/lib/tpl/dokuwiki/images/pagetools/04_show.png
index 6f64b1bd1..1ced340dd 100644
--- a/lib/tpl/dokuwiki/images/pagetools/04_show.png
+++ b/lib/tpl/dokuwiki/images/pagetools/04_show.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/05_source.png b/lib/tpl/dokuwiki/images/pagetools/05_source.png
index bcc4fa21f..dffe1931a 100644
--- a/lib/tpl/dokuwiki/images/pagetools/05_source.png
+++ b/lib/tpl/dokuwiki/images/pagetools/05_source.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/06_revert.png b/lib/tpl/dokuwiki/images/pagetools/06_revert.png
index 7b8457e5e..18c644474 100644
--- a/lib/tpl/dokuwiki/images/pagetools/06_revert.png
+++ b/lib/tpl/dokuwiki/images/pagetools/06_revert.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/07_revisions.png b/lib/tpl/dokuwiki/images/pagetools/07_revisions.png
index d918bce05..e599d016c 100644
--- a/lib/tpl/dokuwiki/images/pagetools/07_revisions.png
+++ b/lib/tpl/dokuwiki/images/pagetools/07_revisions.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/08_backlink.png b/lib/tpl/dokuwiki/images/pagetools/08_backlink.png
index 2c0823a72..aa34e2775 100644
--- a/lib/tpl/dokuwiki/images/pagetools/08_backlink.png
+++ b/lib/tpl/dokuwiki/images/pagetools/08_backlink.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png b/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png
index 30e039dbc..36254ff53 100644
--- a/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png
+++ b/lib/tpl/dokuwiki/images/pagetools/09_subscribe.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/10_top.png b/lib/tpl/dokuwiki/images/pagetools/10_top.png
index e4bf1d49d..b930fd25f 100644
--- a/lib/tpl/dokuwiki/images/pagetools/10_top.png
+++ b/lib/tpl/dokuwiki/images/pagetools/10_top.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png b/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png
index 36116802f..71b5a3372 100644
--- a/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png
+++ b/lib/tpl/dokuwiki/images/pagetools/11_mediamanager.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/pagetools/12_back.png b/lib/tpl/dokuwiki/images/pagetools/12_back.png
index d154651ec..6d6093ed6 100644
--- a/lib/tpl/dokuwiki/images/pagetools/12_back.png
+++ b/lib/tpl/dokuwiki/images/pagetools/12_back.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/search.png b/lib/tpl/dokuwiki/images/search.png
index 1ab7866fb..a07a721df 100644
--- a/lib/tpl/dokuwiki/images/search.png
+++ b/lib/tpl/dokuwiki/images/search.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/toc-bullet.png b/lib/tpl/dokuwiki/images/toc-bullet.png
index fc771b97e..a2dfa47e9 100644
--- a/lib/tpl/dokuwiki/images/toc-bullet.png
+++ b/lib/tpl/dokuwiki/images/toc-bullet.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/images/usertools.png b/lib/tpl/dokuwiki/images/usertools.png
index e99b6596e..68102271f 100644
--- a/lib/tpl/dokuwiki/images/usertools.png
+++ b/lib/tpl/dokuwiki/images/usertools.png
Binary files differ
diff --git a/lib/tpl/dokuwiki/main.php b/lib/tpl/dokuwiki/main.php
index 44fef81eb..10c0bf91e 100644
--- a/lib/tpl/dokuwiki/main.php
+++ b/lib/tpl/dokuwiki/main.php
@@ -41,7 +41,7 @@ $showSidebar = $hasSidebar && ($ACT=='show');
<div class="content">
<?php tpl_flush() ?>
<?php tpl_includeFile('sidebarheader.html') ?>
- <?php tpl_include_page($conf['sidebar'], 1, 1) ?>
+ <?php tpl_include_page($conf['sidebar'], true, true) ?>
<?php tpl_includeFile('sidebarfooter.html') ?>
</div>
</div></div><!-- /aside -->
@@ -77,12 +77,12 @@ $showSidebar = $hasSidebar && ($ACT=='show');
$data = array(
'view' => 'main',
'items' => array(
- 'edit' => tpl_action('edit', 1, 'li', 1, '<span>', '</span>'),
- 'revert' => tpl_action('revert', 1, 'li', 1, '<span>', '</span>'),
- 'revisions' => tpl_action('revisions', 1, 'li', 1, '<span>', '</span>'),
- 'backlink' => tpl_action('backlink', 1, 'li', 1, '<span>', '</span>'),
- 'subscribe' => tpl_action('subscribe', 1, 'li', 1, '<span>', '</span>'),
- 'top' => tpl_action('top', 1, 'li', 1, '<span>', '</span>')
+ 'edit' => tpl_action('edit', true, 'li', true, '<span>', '</span>'),
+ 'revert' => tpl_action('revert', true, 'li', true, '<span>', '</span>'),
+ 'revisions' => tpl_action('revisions', true, 'li', true, '<span>', '</span>'),
+ 'backlink' => tpl_action('backlink', true, 'li', true, '<span>', '</span>'),
+ 'subscribe' => tpl_action('subscribe', true, 'li', true, '<span>', '</span>'),
+ 'top' => tpl_action('top', true, 'li', true, '<span>', '</span>')
)
);
diff --git a/lib/tpl/dokuwiki/tpl_header.php b/lib/tpl/dokuwiki/tpl_header.php
index a2bfd4346..7d9c88347 100644
--- a/lib/tpl/dokuwiki/tpl_header.php
+++ b/lib/tpl/dokuwiki/tpl_header.php
@@ -46,10 +46,10 @@ if (!defined('DOKU_INC')) die();
tpl_userinfo(); /* 'Logged in as ...' */
echo '</li>';
}
- tpl_action('admin', 1, 'li');
- tpl_action('profile', 1, 'li');
- tpl_action('register', 1, 'li');
- tpl_action('login', 1, 'li');
+ tpl_action('admin', true, 'li');
+ tpl_action('profile', true, 'li');
+ tpl_action('register', true, 'li');
+ tpl_action('login', true, 'li');
?>
</ul>
</div>
@@ -64,9 +64,9 @@ if (!defined('DOKU_INC')) die();
</div>
<ul>
<?php
- tpl_action('recent', 1, 'li');
- tpl_action('media', 1, 'li');
- tpl_action('index', 1, 'li');
+ tpl_action('recent', true, 'li');
+ tpl_action('media', true, 'li');
+ tpl_action('index', true, 'li');
?>
</ul>
</div>