-
Notifications
You must be signed in to change notification settings - Fork 0
/
webFileManager.php
3264 lines (3218 loc) · 194 KB
/
webFileManager.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php
/** ------------------------------------------------------------------|
* Applikation: WebFileManager - WFM (Version 6.4.1 vom 28.02.2023) |
* -------------------------------------------------------------------|
* Programmiert von Ralf von der Mark, (c) 2006 - 2023 |
* Ein Service des Teams der www.Website-vdM.de |
* ___________________________________________________________________|
* |
* @author Ralf von der Mark <ralf@website-vdm.de> |
* @copyright (c) 2023, Ralf von der Mark, Germany, WebSite-vdM.de |
* |
* This program is free software; |
* you can redistribute it and/or modify it under the terms of the GNU|
* General Public License as published by the Free Software Foundation;
* either version 3 of the License, or (at your option) any later version.
* |
* This program is distributed in the hope that it will be useful, but|
* WITHOUT ANY WARRANTY; |
* without even the implied warranty of MERCHANTABILITY or |
* FITNESS FOR A PARTICULAR PURPOSE. |
* See the GNU General Public License for more details. |
* You should have received a copy of the GNU General Public License|
* along with this program; |
* if not, see <http://www.gnu.org/licenses/>. |
* __________________________________________________________________*/
/** WICHTIG: Wenn Sie die Datei inkludieren, müssen Sie den Namen der
* aufrufenden Datei in die Konstante "AUFRUF_VOM_WOANDERS"
* schreiben (ehem. "$eigen_aufruf")|
* Z. B.: define('AUFRUF_VOM_WOANDERS', 'aufrufende_seite.php'); */
/* ##################################################################
* Ab hier besser nichts mehr veraendern! Seien Sie vorsichtig! ####
* ############################################################### */
/* START: Error-Ausgabe (nur zur Entwicklung und Debugging!) */
error_reporting(E_ALL | E_STRICT);
ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 'On');
ini_set('display_startup_errors', 1);
/* ENDE: Error-Ausgabe! */
define('WO_LIEGT_WFM', wo_liegt_wfm());
/** @var string (Beschreibbares Verzeichnis, in dem auch die Tools liegen müssen!) */
define('SPEICHER_FUER_WFM', WO_LIEGT_WFM);
define('VERSION', '6.4.1');
define('VERS_DATE', '28.02.2023');
define('USER_DATEI', 'wfm_all_user.php');
define('SETTINGS_DATEI', 'wfm_settings.php');
/** Temp-Speicher der Window-Laufwerke */
define('WIN_TEMP_LW', 'wfm_win_lw_tmp.php');
require_once USER_DATEI;
require_once SETTINGS_DATEI;
/* START: Sprach-Konstanten (Sprachdatei laden...) */
require_once SPEICHER_FUER_WFM.'wfm_language.php';
define('SPRACH_NAME', base64_encode(AAA_SPRACHE));
/*ENDE: Sprach-Konstanten/Steuerung */
session_start();
if (!empty($_GET['dev'])) {
$_SESSION['wfm']['devMode'] = ($_GET['dev'] == 1 ? 1 : '');
}
if (!empty($_SESSION['wfm']['devMode'])) {
ini_set('display_errors', 'On'); ini_set('error_reporting', E_ALL); error_reporting(E_ALL);
define('DEV_MODE', 1);
} else {
ini_set('display_errors', 'Off'); ini_set('error_reporting', 0); error_reporting(0);
}
if (is_file(WO_LIEGT_WFM.'wfm_stoppuhr.php')) {
include_once WO_LIEGT_WFM.'wfm_stoppuhr.php';
$wfm_stoppuhr = new WFM_vdM_Stoppuhr();
}
/** START: das muss als erstes stehen! ########## */
function saeubereWerte(&$wert) {
$wert = strip_tags(trim($wert));
}
if (!empty($_GET) && is_array($_GET)) {
array_walk($_GET, 'saeubereWerte');
}/* saeubert alle GET-Werte! */
define('WFM_LOGO_120x20', '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');
define('KAFFEE_AUSGEBN_203x17',
'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');
define('FAVICON_ICO_16x16',
'R0lGODlhEAAQAPcAAAAAAP///7CvsLKytbGxs97e37m5ugA6twA5tgA3tQA2tAA4tAA4sxZKuRlMugA9uwA+uwA+ugA/ugA9uAA8tgA+tgA6tAFAuQtEt1h/zPf4+vb3+cnKzMTFxwBAugBBugBCugBDugBEugxJug5LuhJMuiJZuCNauSxhwypeuDRnxTdmuDlnuER1ylF+zEpxt0pyt01zt1qCzGOJz2SJz1l5s11+t118s2B/tmaDtoel2ZSq0K7B45iitObr9ABGugBHuh1Wtx9ZuCRcuSVcuSpfuElyt051t1+AtmGCtmODtm+QyGiFtoCf0Imn2ZWw3XqQtJq14H6Ss5+34JaqyrTH5rXI5pOiurrL6JSgtODn8uHo8+Pp8+jt9ZCkw6nA4+Lp8+zw9vn7/vj6/fHz9u/x9Onu9Oft9Pj7/vn7/fj6/Pf5+/b4+vX3+fP19/L09uzu8ODi5NTW2M/R0/f4+ePk5dDR0sjJysTFxru8ve7z9/D09/f6/PP2+O/y9Pr8/fX3+PDy8+Di4+ns7fj6+uvt7bGzs/r7++vs7L6/v7y9vbm6urKzs62urvv8+7O0s/v79////P///f7+/P///rq6ubOzsq+vrq6urePh27y4sMjEvMK+try5s7q3seDd1/Py8Lu3sLm1rry4scC7s7u2rru4s8S9s8a+s7u2r7q1rrm2s7e1s7q5uLa0tLKxsfv7+7W1tbOzs7KysrGxsbCwsP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALYALAAAAAAQABAAAAj/AMNsibShzZo0YsSkWdOmTSQwXbA0+ELpTxlBcuTE8fOHkhUHPAjNWPDkUysBly4JqJQpigUZGg4BUpGghidWsmSx8nQDAYo9jhxSqSDhhatVq1jFkEBhB6U2aeq8MgFCwgoChlhEABFkQCE1au6UOuIBiIcURcp6MCLKDho3eTQpKQsEBAggZpOk6rDmzaJRSOjixetBLx6GiULB+CACxI8fIER8MKLqjpo0di4NeXCCSQgPNohAENKowEJQVy6MyIIqB45TPUhM8AKJDRtJLhRAISXLVKdHpKQwaDGJjqQqB5ZwukTL0qxamDY1UTBF0pkSGSgh4mCAUSxFcwJRFqKBQYsPHWZg8RlDZhCcPgsP6XHCJSAAOw==');
$zeichensatz_array = iconv_get_encoding();/*Zeichensatz-Konvertierung */
if (!empty($zeichensatz_array['internal_encoding'])) {
$akt_charset = $zeichensatz_array['internal_encoding'];
} else {
$akt_charset = 'UTF-8';/*laeuft meist problemlos, sonst ISO-8859-1 */
}
if (!empty($_GET['encode'])) {
/* feste Kodierung des WFM steuern (Zukunftsmusik) */
if ($_GET['encode'] == 'reset') {
unset($_SESSION['wfm']['encode']);
} else {
$_SESSION['wfm']['encode'] = $_GET['encode'];
define('CODIERG', $_GET['encode']);
}
} elseif (!empty($_SESSION['wfm']['encode'])) {
define('CODIERG', $_SESSION['wfm']['encode']);
}
if (empty($_SESSION['wfm']['encode'])) {
define('CODIERG', $akt_charset);
}
if (!empty($_GET['imgFile'])) {
define('IMGFILE_GET', $_GET['imgFile']);
}
if (!empty($_GET['attachment'])) {
define('ATTACHMT', $_GET['attachment']);
}
if (!empty($regelung_download)) {
if (!empty($_GET)) {
$arr_variablen = $_GET;
} else {
$arr_variablen = all_users();
}
download_regel_anz(VERSION, $arr_variablen, $_POST); exit();
} elseif (!empty($_GET['version'])) {
echo VERSION.'</body></html>'; exit();
} elseif (!empty($_GET['imgDisply']) && defined($_GET['imgFile'])) {
/* Image-Header erzeugen fuer die Bilder aus BASE64 */
header('Content-Type: image/'.strtolower(trim($_GET['imgFile'].'.'.$_GET['imgDisply'])));
echo base64_decode(constant($_GET['imgFile'])); exit();
} elseif (!empty($_GET['imgDisply']) && defined('IMGFILE_GET')) {
header_setzen($_GET);/* Image-Header erzeugen */
readfile(IMGFILE_GET); exit();
} elseif (!empty($_GET['application'])) {
/* Applikation-Header erzeugen */
header_setzen($_GET);
readfile($_GET['application']); exit();
} elseif (defined('ATTACHMT')) {
/*/ Anhang-Header erzeugen */
header_setzen($_GET);
readfile(ATTACHMT); exit();
} elseif (!empty($_POST['code'])) {
$code = trim($_POST['code']);
if (!empty($code)) {
header_setzen(array('attachment' => 'docode.wfm'));
echo base64_decode($code); exit();
}
}
header_setzen();
if (!function_exists('lcfirst')) {
/** lcfirst gibt es erst ab PHP-5.3 */
function lcfirst($f) {
$f[0] = strtolower($f[0]); return $f;
}
}
if (!empty($_GET['quick_submit'])) {
/* Quick-Links sollen auch ohne JavaScript funktionieren: */
$arr_quicklink = explode('?', $_GET['quick_links']);
if (!empty($arr_quicklink[1])) {
$arr_quickl_2 = explode('=', $arr_quicklink[1]);
$_GET[$arr_quickl_2[0]] = $arr_quickl_2[1];
}
}
if (!empty($_REQUEST['abbr'])) {
/* immer wenn ein Array geleert werden soll, einfach Liste erweitern */
$_SESSION['wfm']['search'] = array();
$_SESSION['wfm']['such_res'] = array();
$_SESSION['wfm']['rename'] = array();
$_SESSION['wfm']['accss'] = '';
}
$GLOBALS['meldSlg'] = '';/* Sammelt die Meldg ueber Tabelle */
/** START: Grundliegende Einstellungen und Variablen */
define('NAME_ANWDG', 'WebFileManager');
define('NAME_ANWD_K', 'WFM');
define('CLR_HINTGR_SELBX_KOPF', '#FFFFDD');/*HintergrFarb der SelectBoxen im Kopf */
define('CLR_HINTGR_ALLG', '#dfdfdf');/*HintergrFarb auf Seite/Tabelle */
define('CLR_FONT_ALLG', '#151515');/*Schriftfarbe */
define('CLR_FONT_2', '#163f64');/*Zweiter Schriftfarbe */
define('CLR_FONT_DEAKTIV', '#b4b4b4');/*Farbe fuer deaktive Schriften */
define('CLR_ERFOLG', '#336600');/*Farbe fuer Erfolgsmeldungen */
define('CLR_FEHLER', '#ff0000');/*Farbe fuer Fehlermeldungen */
define('CLR_HINWS', '#990000');/*Farbe fuer Hinweise */
define('CLR_HINTGR_HINW', '#fafafa');/*Hintergrundfarbe fuer Hinweise */
define('DREI_LEER', ' ');
define('VIER_LEER_X_2', DREI_LEER.' '.DREI_LEER);
define('DREI_GROESSR', '>>>');
define('DREI_KLEINR', '<<<');
define('LEER', chr(32));/*Space */
define('SEL_OPT_LEER', '<option value="#"></option>'.PHP_EOL);
define('JAHR', date('Y'));
define('AUTR', 'UmFsZiB2b24gZGVyIE1hcms=');/*AUTR=Vm9uZHk= */
define('A_MAIL', 'cmFsZkB3ZWJzaXRlLXZkbS5kZQ===');
define('A_WEB', 'V2ViU2l0ZS12ZE0uZGU=');
define('A_SHOP_WFM', 'aHR0cHM6Ly9kb3dubG9hZC53ZWJzaXRlLXZkbS5kZS9pbmRleC5waHA=');
define('A_W_WFM', 'd2ViZmlsZW1hbmFnZXIuV2ViU2l0ZS12ZE0uZGU==');
define('HELP_URL', 'https://'.base64_decode(A_W_WFM).'/webfilemanager/handbuch.php');
define('LINK_FACEBOOK', 'https://'.base64_decode(A_W_WFM).'/fb.php?a='.urlencode(base64_encode(VERSION)));
if (!defined('AUFRUF_VOM_WOANDERS')) {
define('SELF_NAME', dateiNameFiltrn($_SERVER['PHP_SELF']));
} else {
define('SELF_NAME', AUFRUF_VOM_WOANDERS);
echo txtMarkg(L_ACHTG.HINWS_FEHLR_INKLUDR, 'hinweis2', '', 'h1').'<hr>';
}
if (!empty($_GET['create']) && $_GET['create'] === 'file') {
$neuName = createFile();
if (file_exists($_SESSION['wfm']['v_pfad'].'/'.$neuName)) {
header('location: '.SELF_NAME.'?rename='.urlencode($neuName));
} else { $meldg = 'File not found!'; }
}
if (defined('DEV_MODE')) {
$devModeTxt = L_DEV_MODE_AUS;
} else {
$devModeTxt = L_DEV_MODE_AN;
}
define('SCHREIBWEISE', NAME_ANWD_K);/*1.Zeile in Favo-Speicher */
if (!empty($_GET['umbenennen']) && $_GET['umbenennen'] == 'end') {
$_SESSION['wfm']['rename'] = array();
} elseif (!empty($_GET['aus_arr'])) {
unset($_SESSION['wfm']['rename']['files'][$_GET['aus_arr']]);
$div_meldungen = DATEI_ENTF;
}/*wird zum Viele-Dateien-Umbenennen gebraucht */
$lw_box = '';
/*Windows, Mac o. Linux? */
if (strtoupper(mb_substr(PHP_OS, 0, 3) == 'WIN')) {
if (!empty($_GET['verzns'])) {
if ($_GET['verzns'] != 'RELOAD') {
if (strpos($_GET['verzns'], '\\')) {
/*Windows-Verzeichnispfad replace backslashes */
header('location: '.SELF_NAME.'?verzns='.urlencode(str_replace('\\', '/', $_GET['verzns'])));
}
if (mb_substr($_GET['verzns'], 0, 1) == '/') {
/*Bei Windows bringt der "/" vorm Laufwerksbuchstaben einen Fehler */
$_GET['verzns'] = mb_substr($_GET['verzns'], 1);
}
$reload = '';
} else {
define('LW_RELOAD', $_GET['verzns']);
unset($_GET['verzns']);
}
}
/** Laufwerks-Auswahlbox unter Windows */
function lw_box($lw)
{
$lw_a = strtoupper(mb_substr($lw, 0, 1));
return '<optgroup label="'.L_LW_WECHSLN.'">'
.win_lw($lw_a).'</optgroup>';
}
} elseif (strtoupper(mb_substr(PHP_OS, 0, 3) == 'MAC')) {
function lw_box($lw) {}
} else {
function lw_box($lw) {}
define('OS_SYSTEM', 'unix');
setSessionFromRequest('rechte', 'ausblenden', ['anzeigen']);
if (!empty($_SESSION['wfm']['rechte']) && $_SESSION['wfm']['rechte'] === 'anzeigen') {
define('R_OWNER_SP', 1);/*RechteOwnerGroup-Spalte einblenden! */
define('R_OWNER_WFM', '<span style="font-size:1em;color:'.CLR_HINTGR_HINW.';background-color:'.CLR_HINWS.';" title="PHP: get_current_user()">'
.DREI_GROESSR.' '.L_OWNER_WFM.': "'.get_current_user().'"</span>'.PHP_EOL);
}
}/*Betriebssystem checken */
function win_lw($lw)
{
if (!defined('LW_RELOAD') && file_exists(WIN_TEMP_LW) && empty($_SESSION['wfm']['lwerke'])) {
include_once WIN_TEMP_LW;
$samlg = $_SESSION['wfm']['lwerke'];
} elseif ((defined('LW_RELOAD')) || empty($_SESSION['wfm']['lwerke'])) {
$fuerTemp = phpDateiKopf(WIN_TEMP_LW, 'Temp-Speicher fuer die eingelesenen Laufwerke unter Windows')
.'$_SESSION[\'wfm\'][\'lwerke\'] = array('.PHP_EOL;
for($loop = 65; $loop <= 90; $loop++) {
$lw = chr($loop); $a = '';
if (is_readable($lw.':')) {
$samlg[$loop] = chr($loop);
$fuerTemp .= ' '.$loop.' => "'.chr($loop).'",'.PHP_EOL;
}
}
$_SESSION['wfm']['lwerke'] = $samlg;
datei_schreiben(WIN_TEMP_LW, $fuerTemp.PHP_EOL.');');
} else {
$samlg = $_SESSION['wfm']['lwerke'];
}
$opt = '';
foreach ($samlg as $val) {
$opt .= selBox_opt(($val != $lw ? $val.':/' : '#'), $val.':/ ...', 0).PHP_EOL;
}
$opt .= selBox_opt('RELOAD', L_LW_READ_NEW, 0, ' style="font-weight: bold;"').PHP_EOL.selBox_opt('#', '');
return $opt;
}/*function win_lw() */
function verzLesOderBrowsbar($getName, $getWert)
{
if (!is_dir($getWert)) {
$meldg = txtMarkg(L_ORDNR_NOT_FOUND.': "'.text_kuerzen($getWert, 66, ' . . . ', 'vorne', 1).'"');
$wert = $_SESSION['wfm']['v_pfad'];
} else {
if (!empty($_SESSION['wfm']['v_pfad']) && !is_readable($getWert)) {
$meldg = txtMarkg(L_ORDNR_NOT_READBL.': "'.text_kuerzen($getWert, 66, ' . . . ', 'vorne', 1)
.'"<br>'.L_KEINE_RECHTE.'');
$wert = (!empty($_SESSION['wfm']['v_pfad']) ? $_SESSION['wfm']['v_pfad'] : WO_LIEGT_WFM);
} else {
$meldg = '';
$wert = $getWert;
if (!defined('MELDG_AKTION')) {
define('MELDG_AKTION', L_ORDNER.': *'.mb_substr(strrchr($wert, '/'), 1).'*');
}
}
}
$_GET[$getName] = $wert;
return array($meldg, $wert);
}/*function verzLesOderBrowsbar() */
if (!empty($_GET['verzns'])) {
$rueckg = verzLesOderBrowsbar('verzns', $_GET['verzns']);
$_GET['verzns'] = $rueckg[1]; $meldg = $rueckg[0];
} elseif (!empty($_GET['favos']) && mb_substr($_GET['favos'], 0, 3) === 'wfm' && $vor = mb_substr($_GET['favos'], 0, 4)) {
$rueckg = verzLesOderBrowsbar('favos', mb_substr($_GET['favos'], 4));
$_GET['favos'] = $vor.$rueckg[1]; $meldg = $rueckg[0];
}
/*Falls das Favoriten-Tool gibt, dann setzen! */
if (!isset($_SESSION['wfm']['favo_tool'])) {
$_SESSION['wfm']['favo_tool'] = (file_exists($favo_tool = SPEICHER_FUER_WFM.'wfm_favorits_tool.php') ? $favo_tool : FALSE);
}
/*Falls das htaccess-Tool gibt, dann setzen! */
if (!isset($_SESSION['wfm']['accss_tool'])) {
$_SESSION['wfm']['accss_tool'] = (file_exists($accss_tool = SPEICHER_FUER_WFM.'wfm_htaccess_tool.php') ? $accss_tool : FALSE);
}
/** Array '$img' (Beispiel: $img['name']['src']) */
function getIcon($name = 'space'){
$img = array(
'anker' => array(
/* ehem. '_vdM_wfm_favo_set.png' */ 'alt' => L_FAVO_SETZN,
'unicode' => array('size' => '1.2', 'number' => '11088')/*gelber Stern*/
),
'anker_vorh' => array(
/* ehem. '_vdM_wfm_favo_ok.png' */ 'alt' => L_FAVO_AKTUELL,
'unicode' => array('size' => '1.2', 'number' => '128150')/*Herz*/
),
'copy' => array(
/* ehem. '_vdM_wfm_copy.png' */ 'alt' => L_KOPIERN,
'unicode' => array('size' => '1.4', 'number' => '128471')/*sw*/
),
'cut' => array(
/* ehem. '_vdM_wfm_cut.png' */ 'alt' => L_AUSSCHNDN,
'unicode' => array('size' => '1.4', 'number' => '9984')/*sw (9986)*/
),
'del_warning' => array(
/* ehem. '_vdM_wfm_del_warning.png' */ 'alt' => LOESCH_VORSICHTG,
'unicode' => array('size' => '1.1', 'number' => '11093')
),
'delete' => array(
/* ehem. '_vdM_wfm_delete.png' */ 'alt' => L_LOESCHN,
'unicode' => array('size' => '1.1', 'number' => '10060')
),
'entZippn' => array(
/* ehem. '_vdM_wfm_entZippn.png' */ 'alt' => ZIP_ENTPCKN_HIER,
'unicode' => array('size' => '1.2', 'number' => '128218')/*Buchstapel*/
),
'vulcanSpock' => array(
/* ehem. '_vdM_wfm_vulcanSpock.png' */ 'alt' => ZIP_ENTPCKN_HIER,
'unicode' => array('size' => '1.3', 'number' => '128406')/*Hand Vulkanier-Gruß*/
),
'download' => array(
/* ehem. '_vdM_wfm_download.png' */ 'alt' => L_DOWNLD,
'unicode' => array('size' => '1.3', 'number' => '128229')
),
'edit' => array(
/* ehem. '_vdM_wfm_edit_object.png' */ 'alt' => L_BEARBTN,
'unicode' => array('size' => '1.1', 'number' => '128221')
),
'home' => array(
/* ehem. '_vdM_wfm_home.png' */ 'alt' => L_ORDNR_FAVO_HOME,
'unicode' => array('size' => '1.3', 'number' => '127968')
),
'home_now' => array(
/* ehem. '_vdM_wfm_home_now.png' */ 'alt' => L_ORDNR_FAVO_HOME,
'unicode' => array('size' => '1.4', 'number' => '127937')
),
'folder_new' => array(
/* ehem. '_vdM_wfm_newfolder.png' */ 'alt' => L_ORDNR_NEU,
'unicode' => array('size' => '1.5', 'number' => '128193')
),
'kopf_fest' => array(
/* ehem. '_vdM_wfm_nadel_fest.png' */ 'alt' => L_KOPF_LOESN,
'unicode' => array('size' => '1.5', 'number' => '128205')
),
'kopf_los' => [/* ehem. '_vdM_wfm_nadel_los.png' */
'alt' => 'L_KOPF_FIX', 'unicode' => ['size' => '1.4', 'number' => '128204']/*besseres suchen 128879*/
],
'folder_open' => array(
/* ehem. '_vdM_wfm_open_folder.png' */ 'alt' => L_ORDNR_OEFFN,
'unicode' => array('size' => '1.4', 'number' => '128194')
),
'help' => array(
/* ehem. '_vdM_wfm_help.png' */ 'alt' => HILFE_BUCH,
'unicode' => array('size' => '1.5', 'number' => '128366')/*sw*/
),
'insert' => array(
/* ehem. '_vdM_wfm_insert.png' */ 'alt' => L_EINFUEGN,
'unicode' => array('size' => '1.5', 'number' => '128165')
),
'on_top' => array(
/* ehem. '_vdM_wfm_up.png' */ 'alt' => L_ORDNR_BACK,
'unicode' => array('size' => '1.5', 'number' => '11181')/*11192, 9167, 11245*/
),
'rename' => array(
/* ehem. '_vdM_wfm_rename.png' */ 'alt' => L_UMBENENN,
'unicode' => array('size' => '1.3', 'number' => '128278')/*128296*/
),
'save' => array(
/* ehem. '_vdM_wfm_save.png' */ 'alt' => HTACCESS_SCHUTZ,
'unicode' => array('size' => '1.5', 'number' => '128272')/*sicherheitsschloss*/
),
'sort_down_norm' => array(
/* ehem. '_vdM_wfm_sort_down.png' */ 'alt' => L_SORT_ABWAERTS,
'unicode' => array('size' => '1.1', 'number' => '11206')/*sw*/
),
'sort_down_red' => array(
/* ehem. '_vdM_wfm_sort_down_red.png' */ 'alt' => L_SORT_IS_ABWAERTS,
'unicode' => array('size' => '1.1', 'number' => '128315')/*129155(sw)*/
),
'sort_up_norm' => array(
/* ehem. '_vdM_wfm_sort_up.png' */ 'alt' => L_SORT_AUFWAERTS,
'unicode' => array('size' => '1.1', 'number' => '11205')/*sw*/
),
'sort_up_red' => array(
/* ehem. '_vdM_wfm_sort_up_red.png' */ 'alt' => L_SORT_IS_AUFWAERTS,
'unicode' => array('size' => '1.1', 'number' => '128314')/*129145(sw)*/
),
'space' => array(
/* ehem. '_vdM_wfm_spacer.png' */ 'alt' => ' --- ',
'unicode' => array('size' => '1.5', 'number' => '10276')/*128936*/
)
);
return $img[$name];
}/*function getIcon() */
/* ENDE: Grundliegende Einstellungen und Variablen */
define('RAND', rand(11, 99));/*Zufaelliger Parameter um den BrowserCache zu umgehen. */
define('SELF_LINK', SELF_NAME.'?a='.RAND);/*Zufaelliger Parameter um den Cache zu umgehen. */
define('ABBR_BEGINN', '<a href="'.SELF_LINK.'" title="'.L_ABBRECHN.'">'.DREI_KLEINR.' '.L_ABBRECHN.'</a>');
define('ABBR_ZURUECKSETZEN', '<a href="'.SELF_LINK.'&abbr=1" title="'.L_BEGINN_NEU.'">'.DREI_KLEINR.' '.L_ABBRECHN.'</a>');
define('UPDATE_LINK_AUFRUF', 'https://'.base64_decode(A_W_WFM).'/webfilemanager/index.php?version='.urlencode(VERSION).'&my_vers='.urlencode(VERSION).'&lang='.AAA_SPRACH_KUERZL.'');
if (!defined('AUFRUF_VOM_WOANDERS')) {
//Das Logo aus der Konstante als base64-Codiertes Bild "WFM_LOGO_120x20" wiedergeben...
define('VDM_WFM_LOGO',
'<img src="'.SELF_LINK.'&imgFile=WFM_LOGO_120x20&imgDisply=PNG" border="0"'
.' alt="'.NAME_ANWD_K.'-Logo (WFM v. '.VERSION.')" width="120" height="20">');
} else {
//Wenn WFM inkludiert wird, kann der Image-Header nicht gesendet werden.
define('VDM_WFM_LOGO',
'<strong style="font-size: 1.3em">'.NAME_ANWD_K.' (v. '.VERSION.')</strong>');
}/* ENDE: else ==> if ($defined('AUFRUF_VOM_WOANDERS'))*/
/** RENAME -- Umbenennen einer Datei oder eines Verzeichnises */
function umbenennen() {
if($_POST['old_name'] != $_POST['new_name']){
$datei_benennen = @fopen($_SESSION['wfm']['v_pfad'].'/'.$_POST['old_name'], 'r');
@fclose($datei_benennen);/*Ohne diese Zeile kommt: 'Permission Denied!' */
if(@rename($_SESSION['wfm']['v_pfad'].'/'.$_POST['old_name'],
$_SESSION['wfm']['v_pfad'].'/'.$_POST['new_name'])
){
return txtMarkg(L_UMBENENN_OK.': "'.$_POST['old_name'].'" '.DREI_GROESSR.' "'.$_POST['new_name'].'"', 'hinweis2');
} else{
return txtMarkg(ERR_ERROR.'"'.$_POST['old_name'].'" '.UMBENN_ERROR, 'fehler');
}
} else{
return txtMarkg(L_HINWS.L_KEIN_NEU_NAME, 'hinweis2').'<hr>';
}
}
if (!empty($_POST['rename']) && !empty($_POST['old_name']) && !empty($_POST['new_name'])) {
$GLOBALS['meldSlg'] = umbenennen();
}/*END: RENAME -- Umbenennen einer Datei oder eines Verzeichnises */
if (!empty($_SESSION['wfm']['accss_tool']) && $_SESSION['wfm']['accss_tool'] != '0') {
function acc_link($wie = 'gif', $verz = '') {
return '<a href="'.SELF_LINK.'&accss='.urlencode($_SESSION['wfm']['v_pfad'].'/'.$verz).'" '
.'title="'.HTACCESS_SCHUTZ.'" class="img_link">'.(!empty($wie) || $wie == 'gif' ? icon_anz('save') : $wie).'</a>';
}
} else {
function acc_link() { /* NIX */ }
}
/** function favo_datei() Name der Favoriten-Datei */
function favo_datei($user_wert='') {
if (!empty($user_wert)) {
return SPEICHER_FUER_WFM.'wfm_favorits_'.$user_wert.'.txt';
} elseif (!empty($_SESSION['wfm']['user_key'])) {
return SPEICHER_FUER_WFM.'wfm_favorits_'.$_SESSION['wfm']['user_key'].'.txt';
} else {
return SPEICHER_FUER_WFM.'wfm_favorits_USER_UNKNOW.txt';
}
}/*function favo_datei() */
/** Universeller Formular-Kopf */
function form_kopf($formname='', $form_id='', $enctype='', $plus_action='', $method='post', $zusaetzl='')
{
$werte = '';
if (!empty($formname)){ $werte .= ' name="'.$formname.'"'; }
if (!empty($form_id)) { $werte .= ' id="'.$form_id.'"'; }
if (!empty($enctype)) { $werte .= ' enctype="multipart/form-data"'; }
return '<form action="'.SELF_NAME.$plus_action.'"'.$werte.' method="'.$method.'" accept-charset="'.CODIERG.'"'.$zusaetzl.'>';
}/*function form_kopf() */
function such_form()
{
$chked = ' checked="checked" ';
if (!empty($_POST['suchwert'])) {
$val = $_POST;
$_SESSION['wfm']['search'] = $val;
$suchwert = $_SESSION['wfm']['search']['suchwert']; $default = '';
suchFile($_SESSION['wfm']['v_pfad'], $_SESSION['wfm']['search']);
$ergebn = suchResult();
} elseif (!empty($_SESSION['wfm']['search']) && is_array($_SESSION['wfm']['search'])) {
$val = $_SESSION['wfm']['search'];
$suchwert = $_SESSION['wfm']['search']['suchwert']; $default = '';
suchFile($_SESSION['wfm']['v_pfad'], $_SESSION['wfm']['search']);
$ergebn = suchResult();
} else {
$suchwert = ''; $default = $chked;
if (!empty($_SESSION['wfm']['such_res'])) {
$ergebn = suchResult();
} else {
$ergebn = '';
}
}
return form_kopf('suche').'<h3>'.SUCHE_DATEIN_U_ORDNR.'
<br>"'.$_SESSION['wfm']['v_pfad'].'/"</h3>
<input type="text" autofocus name="suchwert" value="'.$suchwert.'" placeholder="'.SUCHE_NACH.'..." required>
<input type="submit" name="submit_search" value="'.L_SUCHN.'">
<span class="bemerkg">'.DREI_LEER.'
<input type="checkbox" id="l_datei" name="suchdatei" value="1"'
.(!empty($val['suchdatei']) ? $chked : $default).'>
<label for="l_datei">'.DATEI_NAMEN.'</label>'.VIER_LEER_X_2.'
<input type="checkbox" id="l_verz" name="suchverz" value="1"'
.(!empty($val['suchverz']) ? $chked : $default).'>
<label for="l_verz">'.L_ORDNR_NAME.'</label>'.VIER_LEER_X_2.'
<input type="checkbox" id="l_unterverz" name="unterverz" value="1"'
.(!empty($val['unterverz']) ? $chked : '').'>
<label for="l_unterverz">'.L_ORDNR_UNTER_MIT.'</label>'.VIER_LEER_X_2.'
<input type="checkbox" id="l_case" name="case" value="1"'
.(!empty($val['case']) ? $chked : '').'>
<label for="l_case">'.CASE_SENSITIVE.'</label></span></form>'.$ergebn;
}/*function such_form() */
function suchFile($v_pfad = '.', $arr_val = array(), $strg = 0)
{
if ($strg == 0) { $_SESSION['wfm']['such_res'] = array(); }/*Variable (neu)starten */
$verzeichn = opendir($v_pfad);
if ($verzeichn) {
while (FALSE !== ($eineDatei = readdir($verzeichn))) {
if ($eineDatei != '.' && $eineDatei != '..') {
$fund = '';
if (empty($arr_val['case'])) {
$fund = stristr($eineDatei, $arr_val['suchwert']);
} else {
$fund = strstr($eineDatei, $arr_val['suchwert']);
}
$verz_name = $v_pfad.'/'.$eineDatei;
if (is_dir($verz_name) && !empty($arr_val['suchverz']) && !empty($fund)) {
$_SESSION['wfm']['such_res']['a'.$verz_name] = $eineDatei;
} elseif (is_file($verz_name) && !empty($arr_val['suchdatei']) && !empty($fund)) {
$_SESSION['wfm']['such_res']['b'.$verz_name] = $eineDatei;
}
if (is_dir($verz_name) && !empty($arr_val['unterverz'])) {
$_SESSION['wfm']['such_res'] = suchFile($verz_name, $arr_val, 1);
}
}/*if ($eineDatei != "." &... */
}/*while (FALSE !== ($eine_date... */
}/*if ($verzeichn) */
closedir($verzeichn);
if ($strg == 1) {
return $_SESSION['wfm']['such_res'];
}
}/*function suchFile() */
function suchResult()
{
if (!empty($_SESSION['wfm']['such_res'])) {
ksort($_SESSION['wfm']['such_res']);
$verz_sammlg = ''; $typ_zV = 1; $typ_zD = 1;
foreach ($_SESSION['wfm']['such_res'] as $schluessel => $fund) {
$name = mb_substr($schluessel, 1);
if (mb_substr($schluessel, 0, 1) == 'a') {
$verz_sammlg .= '<li><strong style="color:'.CLR_ERFOLG.'">'.$typ_zV.'. '.L_ORDNER.':</strong>:
<a href="'.SELF_LINK.'&verzns='.urlencode($name).'" title="'.WECHSL_HIERHIN.'">'.$name.'</a>
</li>'.PHP_EOL; $typ_zV++;
} else {
$verz_sammlg .= '<li><strong style="color:'.CLR_HINWS.'">'.$typ_zD.'. '.L_DATEI.': <a href="'.SELF_LINK
.'&verzns='.urlencode(str_replace(dateiNameFiltrn($name), '', $name)).'" title="'.WECHSL_HIERHIN.'">'
.str_replace(dateiNameFiltrn($name), '', $name).'</a>'
.download_link($fund, $name.'" style="color:'.CLR_HINWS, $fund)
.(is_binary(mb_substr(strtolower(strrchr($name, '.')), 1)) == TRUE ?
'' : ' <a href="'.SELF_LINK.'&text_file='.urlencode($name).'">('.L_OEFFN.')</a>')
.'</strong></li>'.PHP_EOL; $typ_zD++;
}
}/* foreach ($array as $schluessel => $$verz_groesse) */
$verz_sammlg = txtMarkg(count($_SESSION['wfm']['such_res']).' '.L_TREFFR.' ('.($typ_zV-1)
.' '.L_ORDNER.' + '.($typ_zD-1).' '.L_DATEIN.') '.ABBR_ZURUECKSETZEN).$verz_sammlg;
} else {
$verz_sammlg = txtMarkg(L_TREFFR_NULL);
}
return $verz_sammlg.txtMarkg(ABBR_ZURUECKSETZEN);
}/*function suchResult() */
function suche(){
echo such_form();
}
function rename_save()
{
if (!empty($_SESSION['wfm']['user_key'])) {
return SPEICHER_FUER_WFM.'wfm_rename_'.$_SESSION['wfm']['user_key'].'.php';
/*Name der Rename-Sicherungs-Datei */
} else {
return FALSE;
}
}/*function rename_save() */
if (!empty($_POST['select_action']) && $_POST['select_action'] == 'file_rename'
&& !empty($_POST['pfad']) && !empty($_POST['files'])) {
foreach ($_POST['files'] as $oneFile) {
if (!empty($oneFile)) {
$_SESSION['wfm']['rename']['files'][$_POST['pfad'].'/'.$oneFile] = $_POST['pfad'].'/'.$oneFile;
}
}
}
function ren_vorschau()
{
$arr_dateien = $_SESSION['wfm']['rename']['files'];
$arr_dateien = renDateiSortg($arr_dateien);
$loopZ = 1; $count_zaehler = 0; $x = '';
foreach ($arr_dateien as $key => $one_file) {
if (!empty($_POST['ren_na_cou_start']) && is_numeric($_POST['ren_na_cou_start'])) {
$ren_na_cou_start = $_POST['ren_na_cou_start'];
} else {
$ren_na_cou_start = 1;
}
if (!empty($_POST['ren_na_cou_erhoe']) && is_numeric($_POST['ren_na_cou_erhoe'])) {
$ren_na_cou_erhoe = $_POST['ren_na_cou_erhoe'];
} else {
$ren_na_cou_erhoe = 1;
}
$counter = $ren_na_cou_start + $count_zaehler;
$count_zaehler += $ren_na_cou_erhoe;
if (!empty($_SESSION['wfm']['rename']['wiederherst'])) {
$new_name[1] = '==> ';
$new_name[2] = $one_file;/*Array */
$rename_save[$one_file] = $key;
$rename_files[$key] = $one_file;
} else {
$new_name = ren_rules_glob($key, $counter);/*Array */
$rename_save[$new_name[1].$new_name[2]] = $key;
$rename_files[$key] = $new_name[1].$new_name[2];
}
if (!empty($new_name[3])) {
$hinweis_text = '<strong style="color: #ff0000; background-color: #ffff99">'
.$new_name[3].'</strong><br>'.PHP_EOL;
} else {
$hinweis_text = '';
}
$x .= '
<tr>
<td style="white-space: nowrap;" title="'.$key.'">'.($loopZ++).'</td>
<td style="white-space: nowrap;">'.dateiNameFiltrn($key).'</td>
<td style="white-space: nowrap;">'.$hinweis_text
.'<small style="color: #5a5a5a">'.$new_name[1].'</small>'
.'<strong style="color: #990000">'.$new_name[2].'</strong></td>
<td style="white-space: nowrap;"><a href="'.SELF_LINK.'&aus_arr='.urlencode($key).'">'.UMBENN_NICHT.'!</a></td>
</tr>';
}/* foreach () */
$_SESSION['wfm']['rename']['files'] = $rename_files;
return $x;
}/*function ren_vorschau() */
function ren_speicher_inhalt($settings = '', $dateisammlg = array())
{
if (file_exists(rename_save())) {
require rename_save();
}
$dateiName = rename_save();
$head = phpDateiKopf($dateiName, 'Speicher fuer die Einstellungen des Umbenennens zum "Rueckgaengig-Machen"!');
$sammler1 = ' ';
if (is_array($settings)) {
foreach ($settings as $schl => $eines) {
if ($schl != 'ren_subm_view') {
$sammler1 .= PHP_EOL
.' base64_decode(\''.base64_encode($schl).'\') => base64_decode(\''.base64_encode($eines).'\'),';
}
}
$sammler1 = mb_substr($sammler1, 0, -1);
} elseif (!empty($rename_einstellg) && is_array($rename_einstellg)) {
foreach ($rename_einstellg as $schl => $eines) {
if ($schl != 'ren_subm_view') {
$sammler1 .= PHP_EOL
.' base64_decode(\''.base64_encode($schl).'\') => base64_decode(\''.base64_encode($eines).'\'),';
}
}
$sammler1 = mb_substr($sammler1, 0, -1);
}
$sammler1 = PHP_EOL.'$rename_einstellg = array('.trim($sammler1).');'.PHP_EOL.PHP_EOL;
$sammler2 = ' ';
if (!empty($dateisammlg) && is_array($dateisammlg)) {
foreach ($dateisammlg as $schl2 => $eine2) {
if (!empty($schl2) && !empty($eine2)) {
$sammler2 .= PHP_EOL
.' base64_decode(\''.base64_encode($eine2).'\') => base64_decode(\''.base64_encode($schl2).'\'),';
}
}
$sammler2 = mb_substr($sammler2, 0, -1);
}
$sammler2 = PHP_EOL.'$rename_sicherg = array('.trim($sammler2).');'.PHP_EOL;
datei_schreiben(rename_save(), $head.$sammler1.$sammler2.PHP_EOL);
}/*function ren_speicher_inhalt() */
function renDateiSortg($arr = array())
{
if (!empty($arr) && !empty($_POST['ren_sortg'])) {
if ($_POST['ren_sortg'] == 'Dateiname_n') {
ksort($arr);
} elseif ($_POST['ren_sortg'] == 'Dateiname_r') {
krsort($arr);
}
}
return $arr;
}/*function renDateiSortg() - Sortierung */
function ren_rules_glob($x, $counter)
{
/*$x: Name mit Pfad */
$file = dateiNameFiltrn($x);/*nur Name */
$arr[1] = mb_substr($x, 0, -mb_strlen($file));/*nur Pfad */
$pos_letzt_punkt = strrpos($file, '.');
$file_ext = ren_rules_ext(mb_substr($file, $pos_letzt_punkt+1));/*nur Extension */
$file_name = ren_rules_name(mb_substr($file, 0, $pos_letzt_punkt), $counter);/*nur Name */
/*In Dateinamen sind verboten: < > ? " : | \ / * */
$verbot = array('<', '>', '?', '"', ':', '\\\\', '\/', '|', '*');
$arr_verb = implode('|', $verbot);
if (!preg_match('/^[^'.$arr_verb.']{1,}$/mi', $file_name.$file_ext, $wert)) {
$arr[2] = $file;
$arr[3] = L_UNGUELTG_ZEICHN.' ('.str_replace('\\', '', implode(' ', $verbot)).')';
} else {
$arr[2] = $file_name.$file_ext;/*$arr[2] = Neuer Name mit Extension ohne Pfad */
}
return $arr;
}/*function ren_rules_glob() */
function ren_rules_name($y, $counter)
{
if (!empty($_POST['ren_name'])) {
if (isset($_POST['ren_na_del'])) {
$y = ren_zustz_txt($y);/*bereinigen?? */
}
if (isset($_POST['ren_na_ers1']) && !empty($_POST['ren_na_ers2'])) {
$y = ren_zustz_txt($y);/*bereinigen?? */
}
if (isset($_POST['ren_na_case'])) {
$y = ren_grossklein($y, $_POST['ren_na_case']);
}
if (isset($_POST['ren_na_txt'])) {
$zusatz_txt = ren_zustz_txt($_POST['ren_na_txt']);/*bereinigen?? */
$y = ren_wohinschreib($y, $zusatz_txt, $_POST['ren_na_repl']);
}
}
if (isset($_POST['ren_na_count'])) {
$zaehler = ren_zaehler($counter);
$y = ren_wohinschreib($y, $zaehler, $_POST['ren_na_cou_repl']);
}/*if (!empty($_POST['ren_name'])) */
return $y;
}/*function ren_rules() */
function ren_rules_ext($z)
{
$punkt = '';
if (!empty($_POST['ren_ext'])) {
if (!empty($_POST['ren_ex_case'])) {
$z = ren_grossklein($z, $_POST['ren_ex_case']);
}
if (isset($_POST['ren_ex_txt'])) {
$zusatz_txt = ren_zustz_txt($_POST['ren_ex_txt']);/*bereinigen?? */
$z = ren_wohinschreib($z, $zusatz_txt, $_POST['ren_ex_repl']);
}
}
if (!empty($z) || $z == '0') $punkt = '.';/*Wenn leer, Punkt auch weg! */
return $punkt.$z;
}/*function ren_rules_ext() */
function ren_grossklein($wert, $wie = '')
{
return ($wie == 'klein' ? strtolower($wert) : ($wie == 'gross' ? strtoupper($wert) : $wert));
}/*function ren_grossklein() */
function ren_wohinschreib($wert, $zusatz, $wohin)
{
if ($wohin == 'anfang') {
$wert = $zusatz.$wert;
} elseif ($wohin == 'ende') {
$wert = $wert.$zusatz;
} elseif ($wohin == 'replace') {
$wert = $zusatz;
} else {
$wert = '';/*sollte nicht vorkommen */
}
return $wert;
}/*function ren_wohinschreib() */
function ren_zustz_txt($wert)
{
if (isset($_POST['ren_na_del'])) {
$wert = str_replace($_POST['ren_na_del'], '', $wert);
}
if (isset($_POST['ren_na_ers1']) && !empty($_POST['ren_na_ers2'])) {
$wert = str_replace($_POST['ren_na_ers1'], $_POST['ren_na_ers2'], $wert);
}
return $wert;
}/*function ren_zustz_txt() */
function ren_zaehler($counter)
{
return (empty($_POST['ren_na_cou_start']) || !is_numeric($_POST['ren_na_cou_start']) ?
'' : ren_vorne_werte_zufg($counter, $_POST['ren_na_cou_stelln']));
}/*function ren_zaehler() */
function ren_vorne_werte_zufg($wert = 1, $stellen = 2, $wert_vorweg = '0')
{
if (($anzahl_nullen = (int)$stellen - mb_strlen($wert)) <= 0) {
return $wert;
} else {
return str_pad($wert, $stellen, $wert_vorweg, STR_PAD_LEFT);
}
}/*function vorne_Nullen_ergaenzen() */
function ren_umbn_loop($name_alt, $name_neu) {
if($name_alt == $name_neu){
$arr[0] = txtMarkg(L_HINWS.L_WERT_IDENTISCH
.'<br>('.$name_alt.')', 'hinweis2', '', 'p');
} else {
if (@rename($name_alt, $name_neu)) {
$arr[0] = txtMarkg(L_UMBENENN_OK.':<br>'.L_NEU.': '.$name_neu
.'<br>'.L_ALT.': '.$name_alt, 'erfolge', '', 'p');
$arr[1] = $name_neu;
$arr[2] = $name_alt;
} else {
$arr[0] = txtMarkg(ERR_ERROR.UMBENN_ERROR
.'<br>'.L_ALT.': '.$name_alt, 'fehler', '', 'p');
}
}
return $arr;
}/*function ren_umbn_loop() */
function icon_anz($imgName, $zusatz='')
{
if (!empty($_SESSION['wfm']['icons'][$imgName])) {
return $_SESSION['wfm']['icons'][$imgName];
} else {
/* Wenn es die ICON-Definition noch nicht gibt, zusammenbauen...*/
$icon = getIcon($imgName);
if (!empty($icon['unicode']['number'])) {
return $_SESSION['wfm']['icons'][$imgName] = '<span title="'.$icon['alt']
.'" style="font-size: '.$icon['unicode']['size'].'em; text-decoration: none;" '.$zusatz.'
>&#'.$icon['unicode']['number'].';</span>';
} else {
return '['.$icon['alt'].']';
}
}
}/*function icon_anz() */
function helpLink($sprungmarke='', $linkTxt='', $linkTitel='', $mitIcon='', $zusaetzl='')
{
return '<a href="'.HELP_URL.'?lang='.AAA_SPRACH_KUERZL.'&sprungmarke='
.(!empty($sprungmarke) ? $sprungmarke.'#'.$sprungmarke : 'start_des_handbuchs#start_des_handbuchs')
.'" target="_blank" title="'.(!empty($linkTitel) ? $linkTitel : NAME_ANWDG.'-'.HILFE_BUCH.'...').' ('.L_HINWS.L_NEU_FENSTER.')"'.$zusaetzl.'>'
.(!empty($mitIcon) ? icon_anz('help').' ' : '').(!empty($linkTxt) ? $linkTxt : L_HILFE.'...').'</a>';
}/*function helpLink() */
function selectbx_act()
{
return '<select name="select_action" onchange="hinweisen()">'
.selBox_opt('0', L_AKTION_WAEHLN.'...')
.'<optgroup label="'.L_MARKIERTE_DATEI.'...">'
.selBox_opt('file_copy', '... '.L_KOPIERN)
.selBox_opt('file_move', '... '.L_VRSCHIEBN)
.selBox_opt('0', ' - - - - - - - - - - - - - - - - - - - - - -')
.selBox_opt('file_rename', '... '.L_UMBENENN)
.(class_exists('ZipArchive') || (defined('OS_SYSTEM') && OS_SYSTEM == 'unix') ?
selBox_opt('0', ' - - - - - - - - - - - - - - - - - - - - - -')
.selBox_opt('file_zippen', '... '.L_ZIPPN) : '')
.selBox_opt('0', ' - - - - - - - - - - - - - - - - - - - - - -')
.selBox_opt('file_loeschen', '... '.L_LOESCHN.' ('.L_VORSICHT.')')
.selBox_opt('0', ' - - - - - - - - - - - - - - - - - - - - - -')
.'</optgroup></select>
<input type="submit" name="los" value="go" onclick="return aktiontesten();">';
}/*function selectbx_act() */
function update_frame()
{
return '<br><br>'. txtMarkg(L_CHECK_UPDATES).'
<br><strong>'.L_VERSION.' '.VERSION.'.</strong><br>
<strong style="color: '.CLR_ERFOLG.'">'.L_NEUSTE_VERS.':</strong><br>
<iframe src="'.UPDATE_LINK_AUFRUF.'" width="44" height="33" frameborder="1"
name="Versionsabgleich" scrolling="no" marginheight="0" marginwidth="0">
<p>'.L_BROWSR_FRAME.': <a href="'.UPDATE_LINK_AUFRUF.'" target="_blank">'.UPDATE_LINK_AUFRUF.'</a></p></iframe>'
.'<br><br>'.DREI_GROESSR.' <strong>'.L_DOWNL_NEU_VERS.'</strong><br><br>'
.DREI_GROESSR.' <a href="'.SELF_LINK.'">'
.strong('Weiter Arbeiten mit meinem '.NAME_ANWDG.' (Version '.VERSION.')').'</a>
<br>'.VDM_WFM_LOGO.'</a><br><br><hr>';
}/*function update_frame() */
/** Erzeugt eine 32-Zeichen-ID, die nur sehr schwer vorhersehbar ist. */
function uuid()
{
return md5(uniqid(rand(), true));
}/*function uuid() */
/** START: Login-Regelung */
if (empty($_SESSION['kntrll']) || empty($_POST['kntrll'])) {
$user_uuid = uuid();
$_SESSION['kntrll'] = $user_uuid;
$_POST['kntrll'] = $user_uuid;
} elseif ($_POST['kntrll'] == $_SESSION['kntrll']) {
$kontrolleBestanden = 1;/*echo 'Kontrolle bestanden!'; */
} elseif(empty($_SESSION['wfm']['user_now'])) {
echo '<!DOCTYPE html><html><head>
<title>'.ERR_BEGINN_NEU.'</title><meta http-equiv="expires" content="0">
</head><body><h1><a href="'.SELF_LINK.'&">'.LOGIN_GO_TO.'...</a>
'.L_DANK.'<h1></body></html>'; exit();
}
$log_ok_meldg = '';