-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuserareaMain.php
More file actions
2220 lines (1889 loc) · 96.1 KB
/
userareaMain.php
File metadata and controls
2220 lines (1889 loc) · 96.1 KB
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
require "Html.php";
require "Stier.php";
require "lib/Localizer.php";
require "lib/SiteContext.php";
require "lib/UsersArea/Utils.php";
//Stier og options
$stier = new Stier();
//Henter variable udefra
$ind = Html::setPostOrGetVars($_POST, $_GET);
if (isset($ind['username'])) {
$username = $ind['username'];
} else {
$username = '';
}
if (isset($ind['password'])) {
$password = $ind['password'];
} else {
$password = '';
}
$errors = new Errors();
if (isset($ind) and isset($username)) {
//Tjekker brugernavnet
$datafil = DataSource::createInstance($username, $stier);
//Henter datafilen
$res = $datafil->hentFil();
//Temporarely instance for error handling
$siteContext = new ShortSiteContext($stier, $ind, 'da');
//Was the datafile fetched successfully
if ($res === -2) {
$errors->addError(new ZsError(2, sprintf($siteContext->getLocale('errDamagedDatasource'), $stier->getOption('name_of_service'))));
} elseif (! $res or $res === 0) {
$errors->addError(new ZsError(2, sprintf($siteContext->getLocale('errDatasourceInaccessible'), $stier->getOption('name_of_service'))));
}
}
//Instantierer klassen med standardkode
$lib = new Html($ind,$datafil);
$siteContext = new SiteContext($lib, $stier, $ind, 'da');
$lib->setSiteContext($siteContext);
$lib->setStier($stier);
$utils = new UsersAreaUtils($siteContext);
if ((! isset($ind)) or (! isset($ind)) or (! isset($username)))
{
$utils->doLoginForm(1, $siteContext->getOption('urlUserAreaMain'));
exit;
} else if (!$datafil->authenticate($username, $password, 'admin', array('admin', 'statsite'))) {
$utils->doLoginForm(2, $siteContext->getOption('urlUserAreaMain'));
exit;
} else if ($errors->isOccured()) {
$uaUtils = new UsersAreaUtils($siteContext);
$uaUtils->showErrors($errors);
exit;
}
//Set the latest use with username and password
$datafil->setLine(110, time());
if (isset($ind['type']))
$gotoSite = $ind['type'];
else
$gotoSite = '';
if ($gotoSite === 'rtaellere') {
r_taellere($utils, $siteContext); //ok
} else if ($gotoSite === 'rspoergsmaal') {
r_spoer($utils, $siteContext); //ok
} else if ($gotoSite === 'rindstillinger') {
r_indstillinger($utils, $siteContext); //ok
} else if ($gotoSite === 'roplysninger') {
r_oplysninger($utils, $siteContext); //ok
} else if ($gotoSite === 'rkodeord') {
r_kodeord($utils, $siteContext); //ok
} else if ($gotoSite === 'rnulstil') {
r_nulstil($utils, $siteContext); //ok
} else if (($gotoSite === 'remailstats') and ($utils->getUAType() === $utils->UA_TYPE_SIMPLE)) {
r_emailstats_simpel($utils, $siteContext); //ok
} else if ($gotoSite === 'remailstats') {
r_emailstats($utils, $siteContext); //ok
} else if ($gotoSite === 'rzipklik') {
r_zipklik($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_indstillinger') {
gem_indstillinger($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_oplysninger') {
gem_oplysninger($utils, $siteContext); //ok
} else if ($gotoSite === 'slet_konto') {
slet_konto($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_nulstil') {
gem_nulstil($utils, $siteContext); //ok
} else if ($gotoSite === 'gemkodeord') {
gem_kodeord($utils, $siteContext); //ok
} else if ($gotoSite === 'gemkodeord_ok') {
gemkodeord_ok($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_spoers') {
gem_spoergs($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_taellere') {
gem_taellere($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_mailstats') {
gem_mailstats($utils, $siteContext); //ok
} else if ($gotoSite === 'gem_zipklik') {
gem_zipklik($utils, $siteContext); //ok
} else if ($gotoSite === 'backup') {
show_backup($utils, $siteContext); //ok
} else if ($gotoSite === 'dlbackup') {
download_backup($utils, $siteContext); //ok
} else {
$utils->showMessage("Vælg funktion","Vælg funktion i menuen til venstre. Husk at benytte Gem-knapperne i bunden af siderne for at gemme de ændringer. De bliver ikke gemt hvis du forladerne siderne via menuerne eller hvis du skifter mellem simpelt og avanceret brug.");
}
exit(0);
#######################################
/**
* Sends the user the backup. This page is not ment for viewing but
* for backup.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function download_backup(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
header("Content-type: text/sql");
echo $datafile->getBackup();
}
/**
* Displays download of a backup.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function show_backup(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$utils->echoSiteHead("Backup", 0);
?>
<div class=forside>
<p><cite>Rigtige mænd tager ikke backup...</cite></p>
<h2>Intro</h2>
<p>ZIP Stat tager ikke dine data som gidsel: Du kan når som helst <a target="_blank" href="https://zipstat.org/">downloade ZIP Stat</a> og køre det hos dig selv. Du kan endda starte en konkurerende service!</p>
<p>ZIP Stat benytter databasen MySQL (eller de frie alternativer såsom MariaDB) og de data du kan downloade er formateret til at blive brugt af den. Benyt kun disse data til nyeste version af ZIP Stat. ZIP Stat kan nogle gange automatisk opgradere et ældre dataformat, men en gammel version af ZIP Stat kan ikke bruge nyere data.</p>
<h2>Download dine data</h2>
<p><a href="<?php
echo htmlentities($_SERVER["SCRIPT_NAME"])
."/zipstat_backup_".date($siteContext->getOption('dateformat_backup'))
."_".htmlentities($ind['username'])
.".sql?type=dlbackup&username=".htmlentities($ind['username']);
?>">download dine data</a>.</p>
</div>
<?php
$utils->echoSiteEnd();
}
/**
* Displays editing of the counters.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_taellere(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
if ($lib->pro()) {
if (isset($ind['navneloese'])) {
$_COOKIE['navneloese'] = $ind['navneloese'];
setcookie('navneloese', $ind['navneloese'], time()+3600*24*365, '/', $siteContext->getOption('domain'));
} else if (isset($_COOKIE['navneloese'])) {
$ind['navneloese'] = $_COOKIE['navneloese'];
}
}
$thits = explode('::', $datafile->getLine(37));
$tnavne = explode('::', $datafile->getLine(38));
$utils->echoSiteHead("Rediger tællere", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=post><input type=hidden name=type value=\"gem_taellere\">";
if ($lib->pro()) {
#$qs = $ENV{'QUERY_STRING'};
#$qs =~ s/\&navneloese\=skjul//ig;
#$qs =~ s/\&navneloese\=vis//ig;
$qs = "username=".$ind['username']."&type=rtaellere";
#$pro_tekst = "<p>Du kan forge eller formindse antallet af tællere på siden "Indstillinger" (brug linket i menuen til hjre)</P>.\n";
if ($ind['navneloese'] === "skjul")
$pro_tekst = "<a href=\"".$siteContext->getOption('urlUserAreaMain')."?$qs&navneloese=vis\">Vis navnelse tællere...</A><br>\n";
else
$pro_tekst = "<a href=\"".$siteContext->getOption('urlUserAreaMain')."?$qs&navneloese=skjul\">Skjul navnelse tællere...</A><br>\n";
$pro_tekst .= "Antal tællere <input type=text name=\"pro_taellere\" value=\"".$lib->pro(5)."\" size=3>\n";
$pro_tekst .= "<a href=\"JAVAscript: alert('Som standard har du 50 tællere, men hvis du har brug for flere ellere ?rre, kan du indtaste antallet her. Du bør dog ikke sætte tallet til mere end nogle hundrede, da mange ?llere dels vil gøre din statistik mere uoverskuelig, men selve statistikken bliver o? langsommere, når der skal holder styr ? store mængder data.');\"><img src=\"".$siteContext->getPath('zipstat_icons')."/stegn2.gif\" width=9 height=14 border=0 alt=\"?lp til antal tællere...\"></a><br>\n";
} else {
$pro_tekst = '';
}
?>
<div class=forside>
<p>Hvis du vil ændre eller slette dens navn, så gør det i kassen ud for tælleren. Hvis du vil nulstille en tæller, så sæt kryds i kassen ud for den espektive tæller.</p>
<?php echo $pro_tekst; ?>
<form action="<?php echo $siteContext->getOption('urlUserAreaMain'); ?>" method=POST>
<table border=1>
<tr><td>Når.</td><td>Navn</td><td>Nulstil</td><td>Hits</td></tr>
<?php
$pro_max_taellere = $lib->pro(5);
//Find the width of the largest counter.
$nameFieldWidth = 30;
for ($i = 0; $i <= $pro_max_taellere; $i++) {
if (strlen($tnavne[$i]) > $nameFieldWidth) {
$nameFieldWidth = strlen($tnavne[$i]);
}
}
//Add a bit more and round up.
$nameFieldWidth = ceil(1.1 * $nameFieldWidth);
//Enforce max width.
if ($nameFieldWidth > 100) {
$nameFieldWidth = 100;
}
$hasPro = $lib->pro();
for ($i = 0; $i <= $pro_max_taellere; $i++) {
if ($hasPro) {
if ( (($ind['navneloese'] === "skjul") and ($tnavne[$i] !== "")) or ($ind['navneloese'] === "vis") or (! isset($ind['navneloese'])) or ($ind['navneloese'] === "") ) {
echo "<tr>\n<td>$i</td>\n<td><input type=textbox size=\"$nameFieldWidth\" name=\"navntaeller$i\" value=\"".htmlentities($tnavne[$i])."\"></td>\n<td><input type=checkbox name=\"nultael$i\"></td>\n<td>".htmlentities($thits[$i])."</td>\n</tr>\n";
}
} else {
echo "<tr>\n<td>$i</td>\n<td><input type=textbox size=\"$nameFieldWidth\" name=\"navntaeller$i\" value=\"".htmlentities($tnavne[$i])."\"></td>\n<td><input type=checkbox name=\"nultael$i\"></td>\n<td>".htmlentities($thits[$i])."</td>\n</tr>\n";
}
}
?>
</table>
</div>
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type="submit" value=" Gem "> <input type="reset" value="Nulstil formular">
</form>
<?php
$utils->echoSiteEnd();
} //End function edit counters
/**
* Calculates how many (typically lines) to show.
*
* @param $lib an instance of the code lib.
* @param $antalPoster the current amount of items.
* @param $proNr the index for the Html::pro function.
*/
function visAntal(&$lib, $antalPoster, $proNr) {
if ($proNr == 3) {
$antalPoster += 3;
$lib->setPro($proNr, $antalPoster);
} else if ($proNr == 4) {
$antalPoster += 3;
$lib->setPro($proNr, $antalPoster);
} else {
$antalPoster += 5;
}
//If the number is too large
if ($lib->pro($proNr) < $antalPoster) {
$antalPoster = $lib->pro($proNr);
}
return $antalPoster;
}
/**
* Displays editing of the questions.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_spoer(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
$utils->echoSiteHead("Sp?gsmål", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=post>";
$sp = explode('::', $datafile->getLine(41));
$sv = explode(',,', $datafile->getLine(42));
$hi = explode(',,', $datafile->getLine(43));
$noQuestions = $lib->pro(3);
$noAnswers = $lib->pro(4);
//Hvor mange der skal vises
$visAntalSp = $noQuestions;
$maxNrSv = 0;
for ($i = 0; $i < count($sv); $i++) {
$dSv = explode('::', $sv[$i]);
for ($n = 0; $n < count($dSv); $n++) {
if (($dSv[$n] != '') and ($n > $maxNrSv)) {
$maxNrSv = $n;
} //End if
} //End inner for
} //End outer for
$visAntalSv = $maxNrSv+1;
$visAntalSv = visAntal($lib, $visAntalSv, 4);
$visAntalSp = visAntal($lib, $visAntalSp, 3);
for ($i = 0;$i < $visAntalSp; $i++) {
$dy = $i + 1;
?>
<a href="JAVAscript: alert('Hvis du vil ændre et spørgsmål, skal du skrive ændringen i den tilsvarende boks.\nHvis du vil ændre svarene, skal du skrive ændringerne i de\nmindre bokse.\nDu kan nulstille antal svar (hits) hvert svar har fået, ved at\nsætte kryds i den lille kasse.\nHvis du ikke skriver noget i et svarfelt, vil svaret ikke blive givet som svarmulighed.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til rediger spørgsmål..."></a>
<p align=center><table border=1 class=forside><caption>Hvis du ikke skriver noget i et svarfelt, vil svaret ikke blive vist.</caption>
<tr><td colspan=3>
<big align=center>Sprgsmål <?php echo $dy; ?></big>
</td></tr>
<?php
echo "<tr><td colspan=2><input type=text size=50 name=\"spoergs$i\" value=\"";
if (isset($sp[$i])) echo htmlentities($sp[$i]);
echo "\"></td>\n";
echo "<td>Nulstil svar <input type=checkbox name=\"nulstilsp$i\"></td></tr>\n";
echo "<tr><td>Svar nr.</td><td>Tekst</td><td>Svar</td></tr>\n";
if (isset($sv[$i]))
$sva = explode('::', $sv[$i]);
else
$sva = array();
if (isset($hi[$i]))
$hit = explode('::', $hi[$i]);
else
$hit = array();
for ($n = 0;$n < $visAntalSv; $n++) {
$k = $n + 1;
$tgk = "sp$i" . "sv$n";
echo "<tr><td>$k:</td><td><input size=43 type=text name=\"$tgk\" value=\"";
if (isset($sva[$n])) echo htmlentities($sva[$n]);
echo "\"></td><td>";
if (isset($hit[$n])) echo htmlentities($hit[$n]);
echo "</td></tr>";
}
echo "</table></p>";
}
if ($lib->pro()) {
echo "<div class=forside>Når du gemmer dine spørgsmål og svar, og går ind på denne side igen, vil der altid være plads til endnu et nyt spørgsmål samt 3 ydligere svar til hvert spørgsmål.</div>";
} else {
echo "<div class=forside>Når du gemmer dine spørgsmål og svar, og går ind på denne side igen, vil der, så længe du har nogle ledige, være plads til endnu et nyt spørgsmål samt 3 ydligere svar til hvert spørgsmål.</div>";
}
echo "<input type=hidden value=\"$visAntalSv\" name=antalVistSv>\n";
echo "<input type=hidden value=\"$visAntalSp\" name=antalVistSp>\n";
echo "<input type=hidden value=\"".$ind['username']."\" name=username>\n";
echo "<input type=hidden value=\"gem_spoers\" name=\"type\">\n";
echo "<input type=submit value=\" Gem \"> <input type=reset value=\"Nulstil formular\">\n";
echo "</form>\n";
$utils->echoSiteEnd();
} //End function edit questions
/**
* Displays editing of the settings.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_indstillinger(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
$utils->echoSiteHead("Indstillinger", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=post><input type=hidden name=type value=\"gem_indstillinger\">";
if ($lib->pro()) {
$faa_pro = '';
$pro_kode = '';
$pro_inst = explode('::', $datafile->getLine(58));
if ($utils->getUAType() === $utils->UA_TYPE_SIMPLE) {
$pro_kode .= "<div class=forside><h2>Pro indstillinger</h2>\n<p>Når du har valgt den simple udgave af ZIP Stat, har du ikke mulighed for at ndre på dine pro-indstillinger. For at gøre dette skal du skifte til avanceret, hvilket du kan gøre via linket "Skift til avanceret brug" i menuen til venstre.</div>";
} else {
$pro_kode .= "<div class=forside><h3>Pro indstillinger</h3>\n<p>Hvis der ikke str noget i en boks benyttes standardværdien. ";
if ($siteContext->getOption('always_pro') !== 1)
$pro_kode .= "Du har ZIP Stat Pro.</p>";
else
$pro_kode .= "Du har ZIP Stat Pro på ubestemt tid.</p>";
$pro_kode .= "<table border=0>\n";
$pro_kode .= "<tr><td>Overskrift til statistiksiden</td><td><input type=text name=\"pro_overskrift\" value=\"".htmlentities($datafile->getLine(59))."\">";
$pro_kode .= "<a href=\"JAVAscript: alert('Hvis du vil have en anden overskrift på statistiksiden, end den der er der i forvejen, skal du skrive den her. Hvis du vil have den overskrift der benyttes på den normale ZIP Stat, skal du ikke skrive noget.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til overskrift på statistiksiden...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Indhold af body-tag</td><td><tt><BODY </tt><input type=text name=\"pro_body\" value=\"".htmlentities($datafile->getLine(56))."\"><tt>></tt>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Hvis du vil have andre farver på din statistikside, end dem der er nu, skal du skrive attributterne der skal være i sidens BODY tag. Hvis du vil have farverne på den normale ZIP Stat, skal du ikke skrive noget.\\nVær opmrksom på, at visse farver på siden er sat via CSS (StyleSheets). Disse farver mm. skal derfor ændres via CSS (se hjlpen til det nste punkt).');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til BODY tagget...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Link til CSS-fil</td><td><input type=text name=\"pro_css\" value=\"".htmlentities($datafile->getLine(60))."\">\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Hvis du vil benytte et CSS (StyleSheet) til at ndre farver ol. på statistiksiden, så skal du angive adressen til CSS filen her. Husk http:// foran!\\nDer er benyttet class tags til at specificere udseendet af forskellige tags - kig i HTML\\'en eller se oversigten på hjlpesiden.\\nHvis du vil bruge det CSS der er på den normale ZIP Stat, så lad feltet være tomt.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til CSS...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Max antal referencesider</td><td><input type=text name=\"pro_maxref\" value=\"".(isset($pro_inst[0]) ? $pro_inst[0] : '')."\" size=3>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('På den normale ZIP Stat bliver der højest registreret de seneste 50 referencesider. Hvis du vil have registreret flere, så skriv antallet her. Det anbefales dog at antallet holder under 100, da man normalt ikke kan bruge resten til noget.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til max antal referencesider...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Max antal indgangssider</td><td><input type=text name=\"pro_maxindgang\" value=\"".(isset($pro_inst[16]) ? $pro_inst[16] : '')."\" size=3>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('På den normale ZIP Stat bliver der højest registreret de seneste 50 indgangssider. Hvis du vil have registreret flere, så skriv antallet her. Det anbefales dog at antallet holder under 100, da man normalt ikke kan bruge resten til noget.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til max antal indgangssider...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Max antal udgangssider</td><td><input type=text name=\"pro_maxudgang\" value=\"".(isset($pro_inst[17]) ? $pro_inst[17] : '')."\" size=3>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('På den normale ZIP Stat bliver der højest registreret de seneste 50 udgangssider. Hvis du vil have registreret flere, så skriv antallet her. Det anbefales dog at antallet holder under 100, da man normalt ikke kan bruge resten til noget.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til max antal udgangssider...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Max antal IP-adresser (til unikke hits)</td><td><input type=text name=\"pro_maxipadr\" value=\"".(isset($pro_inst[1]) ? $pro_inst[1] : '')."\" size=3>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Når der registreres unikke besøgende foregår det ved at gemme en unik adresse hver besøgende har (IP-adressen), og kun tælle op hvis denne ikke er registreret. Normalt bliver de seneste 50 IP-adresser registreret, hvilket er rigeligt er mere end rigeligt for de fleste sider. Men hvis man har mere end ca. 500 hits pr. dag er 50 IP-adresser ikke altid nok, og man bør derfor sætte tallet op.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til antal IP-adresser...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Oplysninger om max</td><td><input type=text name=\"pro_maxbrugere\" value=\"".(isset($pro_inst[2]) ? $pro_inst[2] : '')."\" size=3> antal brugere\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Som standard gemmes der detaljerede oplysninger om de seneste 20 besøgende - dette kan du sætte op (eller ned) her. Du bør dog ikke sætte tallet til mere end ca. 100, da dette dels vil betyde din statistikside er lnge om at blive indlst, men registreringen af din statistik vil ogs blive langsommere, hvis der er for mange data at holde styr på. Endelig kan man slet ikke overskue ret mange af disse, og pga. de store mngder data er denne statistik noget der fylder meget i datafilen - og jeg har ikke ret meget plads til disse!');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til oplysninger om X antal besøgende...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Antal forskellige domæner</td><td><input type=text name=\"pro_maxdom\" value=\"".(isset($pro_inst[7]) ? $pro_inst[7] : '')."\" size=3>";
$pro_kode .= "<a href=\"JAVAscript: alert('Som standard registreres der 100 forskellige domæner. Hvis du ønsker der registreres flere (hvis de nederste på listen har fået mindre end 10 hits på en måned, anbefales det ikke at få registreret), kan du sætte dette tal op. Du kan ogs sætte det ned, hvis det kun er fx. de 20 verste på statistiksiden der reelt bliver talt op i løbet af en uges tid.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til max antal forskellige domæner...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Antal forskellige søgeord</td><td><input type=text name=\"pro_maxsoegeord\" value=\"".(isset($pro_inst[8]) ? $pro_inst[8] : '')."\" size=3>";
$pro_kode .= "<a href=\"JAVAscript: alert('Som standard registreres der 100 forskellige søgeord. Hvis du ønsker der registreres flere (hvis de nederste på listen har fået mindre end 10 hits på en måned, anbefales det ikke at få registreret), kan du sætte dette tal op. Du kan ogs sætte det ned, hvis det kun er fx. de 20 verste på statistiksiden der reelt bliver talt op i løbet af en uges tid.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til max antal forskellige søgeord...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Hits pr. besøgende beregnes over </td><td><input type=text name=\"pro_hpbover\" value=\"".(isset($pro_inst[6]) ? $pro_inst[6] : '')."\" size=3> uger\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Som standard beregnes hits pr. besøgende over 3 uger, men sider med meget få hits vil med fordel kunne sætte dette tal i vejret. Får ens side mange hits kan godt sætte tallet ned, hvis man ønsker det mest mulige aktuelle resultat.');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til antal svar pr. spørgsmål...\"></a></td></tr>\n";
$pro_kode .= "<tr><td>Antal forskellige bevgelser </td><td><input type=text name=\"pro_bevaeg\" value=\"".(isset($pro_inst[11]) ? $pro_inst[11] : '')."\" size=3>\n";
$pro_kode .= "<a href=\"JAVAscript: alert('Som standard har du mulighed for 50 forskellige bevgelser. Dem kan du bruge til at se hvilke sider folk bevger sig imellem. ');\"><img src=\"".htmlentities($siteContext->getPath('zipstat_icons'))."/stegn2.gif\" width=9 height=14 border=0 alt=\"Hjælp til antal bevgelser...\"></a></td></tr>\n";
$pro_kode .= "</table>\nAntal tællere, kliktællere samt spørgsmål og svar kan ændres på deres respektive redigeringssider.</div>\n";
}#Slut på if simpel else
}
else #Hvis man ikke har pro
{
$pro_kode = '';
$faa_pro = "<hr>\n<div class=forside><h2>Få ZIP Stat Pro</h2>";
//$faa_pro .= "<p>Du kan få ZIP Stat Pro gratis i ca. 1 r. Den njagtige dato vil fremg verst på denne side, når du har ZIP Stat Pro. Det eneste du skal gøre er at skrive et pro-kodeord i kassen forneden, og trykke på "Gem" knapper lidt hjere oppe. Lige nu fungere følgende pro-kodeord:<br><code>intpro</code></p>";
$faa_pro .= "<p>Du kan gratis få ZIP Stat Pro uden nogen hager. Engang var tanken at tage penge for det, men så ændrede verden sig</p>";
$faa_pro .= "<p>Indtast pro-kodeord for at få gratis ZIP Stat Pro: <input type=text name=prokodeord size=8></p></p>";
}
//Ignore the owner of the website?
if (isset($ind['saved']) and $ind['saved'] === 'true') {
//The value has just been saved - follow what the user just selected.
if (isset($ind['ikkeop'])) {
$ikopchek = ' CHECKED';
} else {
$ikopchek = '';
}
} else {
//The page was only loaded: Get it from the cookie.
if (isset($ind['username']) and isset($_COOKIE[$ind['username']]) and $_COOKIE[$ind['username']] === "ikkeop") {
$ikopchek = ' CHECKED';
} else {
$ikopchek = '';
}
}
if ($utils->getUAType() === $utils->UA_TYPE_SIMPLE) {
?>
<div class=forside>
<h3>Bliv ikke selv talt med</h3>
<p><input type=checkbox name="ikkeop"<?php echo $ikopchek; ?>> Tæl aldrig mig med i min statistik</P>
<p>OBS. Hvis du skifter til en anden computer eller en anden internet-browser, skal du gå inp denne side og krydse af igen.</p>
</div>
<br>
<input type="hidden" value="<?php echo $ind['username']; ?>" name="username">
<input type="hidden" value="ja" name="simpelgem">
<input type="hidden" value="true" name="saved">
<input type="submit" value=" Gem "> <input type="reset" value="Nulstil formular">
<?php
if (isset($faa_pro))
echo $faa_pro;
} #Slut på if simpel
else
{
if (isset($pro_kode))
echo $pro_kode;
?>
<div class=forside>
<h2>Sæt tællerens startværdi</h2>
<p>Du har her mulighed for at forge den tæller der tæller antal hits på hele siden seneste nulstilning. Hvis du gør det, vil det st på statistiksiden, og det vil ikke påvirke tælletallet på toplisten. Du kan skrive et negativt tal, ved at sætte et "-" (minus) foran tallet.</p>
<p>Tælop med <input type=text name=standardop value="<?php echo htmlentities($datafile->getLine(82)); ?>"> hits.</p>
</div>
<?php
#Kodeord til statistiksiden
echo "<div class=forside>\n";
echo "<h2>Offentlig statistikside</h2>";
$statsitePublic = $datafile->getField('statsitePublic');
echo "Statistiksiden er: <select name=\"statsitePublic\">\n";
echo " <option value=\"true\"".($statsitePublic ? ' SELECTED' : '').">offentlig</option>\n";
echo " <option value=\"false\"".((! $statsitePublic) ? ' SELECTED' : '').">lukket for offentligheden</option>\n";
echo "</select>";
echo "<p>Ønsker du at udvalgte personer skal kunne se statistiksiden uden at ændre i resten af indstillingerne, kan du angive en række kodeord herunder. Angiv 1 kodeord pr. linie.</p>\n";
echo "<p><b>OBS</b>: Disse kodeord opbevares i klar tekst - skulle nogen få adgang til ZIP Stats database vil angriberen få adgang til disse kodeord. Derfor bør disse kodeord under ingen omstændigheder genbruges på andre sider! (dette gælder i øvrigt for alle kodeord)</p>";
print "<TEXTAREA NAME=\"brugerkodeord\" ROWS=\"5\" COLS=\"10\">";
echo htmlentities(str_replace("::", "\n", $datafile->getLine(57)));
print "</TEXTAREA>Kun 1 kodeord pr. linie";
echo "<p><b>OBS</b>: Selvom der står kodeord herover, er statistiksiden altid offentlig hvis dette er valgt - der skal altsåå stå: "Statistiksiden er: lukket for offentligheden" for at den IKKE er offentlig.</p>";
print "</div><br>\n";
#Spærringer
$tillad = explode('::', $datafile->getLine(106));
for ($i = 0;$i <= 2;$i++) {
if ($tillad[$i])
$tillad[$i] = ' CHECKED';
else
$tillad[$i] = '';
}
?>
<div class=forside>
<h2>Spærringer</h2>
<p>Du kan her spærre eller tillade visning af statistikker på forskellige måder.</p>
<input type=checkbox name="tillad0"<?php echo $tillad[0]; ?>> Vis siden på toplisten<br>
<input type=checkbox name="tillad1"<?php echo $tillad[1]; ?>> Tillad visning af statistikker via javascriptstats og ministatistik<br>
<input type=checkbox name="tillad2"<?php echo $tillad[2]; ?>> Tillad visning af tælletal med tællerbilleder<br>
</div>
<?php
#Nyhedsbreve
$nyhedsbrev = explode('::', $datafile->getLine(107));
for ($i = 0;$i <= 6;$i++) {
if ($nyhedsbrev[$i])
$nyhedsbrev[$i] = ' CHECKED';
else
$nyhedsbrev[$i] = '';
}
?>
<div class=forside>
<h2>Nyhedsbreve</h2>
<p>Du kan her bestemme hvilke typer e-mail du ønsker at modtage fra ZIP Stat. De kommer ikke så tit. Har ikke sendt nogen ud de seneste 15 år...<br>
Send mig e-mails med besked om følgende:</p>
<input type=checkbox name="nyhedsbrev0"<?php echo $nyhedsbrev[0]; ?>> Større opdateringer af ZIP Stat (anbefales)<br>
<input type=checkbox name="nyhedsbrev1"<?php echo $nyhedsbrev[1]; ?>> Mindre opdateringer af ZIP Stat<br>
<input type=checkbox name="nyhedsbrev2"<?php echo $nyhedsbrev[2]; ?>> Når en fejl er konstateret, inkl. et gæt på hvornår den er rettet<br>
<input type=checkbox name="nyhedsbrev3"<?php echo $nyhedsbrev[3]; ?>> Når en større fejl er rettet (anbefales)<br>
<input type=checkbox name="nyhedsbrev4"<?php echo $nyhedsbrev[4]; ?>> Når en mindre fejl er rettet<br>
<input type=checkbox name="nyhedsbrev5"<?php echo $nyhedsbrev[5]; ?>> Andre nyhedsbreve om ZIP Stat<br>
<input type=checkbox name="nyhedsbrev6"<?php echo $nyhedsbrev[6]; ?>> Andre nyhedsbreve om andre services fra <?php echo htmlentities($siteContext->getOption('adminName').' og '.$siteContext->getOption('domain')); ?><br>
</div>
<?php
//Ignore query string on counters.
$counterIgnoreQuery = ($datafile->getUserSetting('ignoreQuery') !== "false");
$ignoreQueryChecked = ($counterIgnoreQuery ? "checked=\"checked\"" : "");
?>
<div class=forside>
<h2>Tællere</h2>
<label>
<input type="checkbox" name="ignoreQuery"<?php echo $ignoreQueryChecked;?> />
Fjern en eventuel "query string" adresserne i tællere.
</label>
<p>En <b>query string</b> er den del af en web-adresse der kommer efter et spørgsmålstegn, fx i <code>http://zipstat.dk/userarea.php?username=zip</code> er det "<code>?username=zip</code>" som er query string. Hvis du er i tvivl, så st kryds i denne boks.</p>
</div>
<?php
#Tæl kun hits på disse sider
$okSider = explode('::', $datafile->getLine(111));
$okSideHtml = '';
if ($lib->pro()) {
for ($i = 0; $i < count($okSider) +2; $i++) {
$okSideHtml .= " <input type=text name=\"okSider$i\" value=\"";
if (isset($okSider[$i]))
$okSideHtml .= $okSider[$i];
$okSideHtml .= "\" size=45><br>\n";
}
$okSideHtml .= "Når du trykker på "Gem"-knappen og går ind på siden, kommer der 2 nye, tomme bokse.<br>\n";
$okSideHtml .= "<input type=hidden name=okSiderAntal value=".((count($okSider))+2).">\n";
} else {
for ($i = 0; $i < $lib->pro(15) +2; $i++) {
$okSideHtml .= " <input type=text name=\"okSider$i\" value=\"";
if (isset($okSider[$i]))
$okSideHtml .= $okSider[$i];
$okSideHtml .= "\" size=45><br>\n";
$okSideHtml .= "<input type=hidden name=okSiderAntal value=".($lib->pro(15)+2).">\n";
}
}
?>
<p>
<div class=forside>
<h2>Registrer kun hits på disse sider</h2>
<p>Hvis en anden person benytter din obligatoriske kode, spørgsmål/svar-kode eller dine kliktællere, kan du her vælge, at der kun må registreres hits på de sider, du angiver her. Skriver du ikke noget, vil der blive registreret hits på alle sider.</p>
<p>Starter du en adresse med <code>http://</code> eller <code>https://</code>, skal adressen, til den side der må registreres hits på, <em>starte</em> med denne adresse. Skriver du ikke <code>http://</code> eller <code>https://</code>, vil der blive registreret hits fra alle sider, hvis adresse blot <em>indeholder</em> det du har skrevet.</p>
<?php echo $okSideHtml; ?>
</div>
<?php
#Ikke selv talt med: cookie
?>
<p>
<div class=forside>
<h2>Bliv ikke selv talt med</h2>
<h3>Via cookies</h3>
<p>Vil du hellere benytte en lsning hvor der benyttes cookies, så st kryds i nste kasse og tryk på "Gem". Du fjerner cookien ved at fjerne krydset og trykke på "Gem".</p>
<p><input type=checkbox name="ikkeop"<?php echo $ikopchek; ?>> Tæl aldrig mig (denne browser på denne computer) med i statistikken
</P>
<h3>Via IP-adresse</h3>
Hvis du henter siden <a href="<?php echo $siteContext->getOption('urlIgnore').'?'.$ind['username']; ?>" target="_top"><?php echo $siteContext->getOption('urlIgnore').'?'.$ind['username']; ?></A>
i din browser, vil du ikke selv blive registreret af ZIP Stat når du besøger dine egne sider. Dette krver dog at du henter
adressen <b>hver</b> gang du går på Internettet (dvs. hver gang du ringer op med dit modem - hvis du har fast IP-adresse <small>[hvis du har det, ved du det helt sikkert]</small>).
Den letteste måde at gøre dette på er, at du sætter adressen som din startside (se her under for en instruktion). Den side din browser normalt starter med, skal du så skrive i kassen herunder. S vil du nsten ikke opdage denne funktion.<BR>
Send-videre adresse: <br><input type=text name="taelopredirect" value="<?php echo htmlentities($datafile->getLine(53)); ?>" size="35"><br>
Slet IP-adresse: <input type=checkbox name=sletipadr> Har du en fast IP-adresse, og ikke ønsker at benytte denne funktion lngere, kan du slette den sidst registrerede IP-adresse, så du igen bliver talt med i din statistik.
</p>
</div>
<input type=hidden value="<?php echo $ind['username']; ?>" name=username>
<input type="hidden" value="true" name="saved">
<input type=submit value=" Gem "> <input type=reset value="Nulstil formular">
<hr>
<div class=forside>
<h3>Sdan ndrer du din startside</h3>
<h4>I Netscape</h4>
<P>I selve browseren vælger du menuen Rediger/Edit. Her vælge du punktet Prferencer/Preferences. S vælger du kategorien Navigator. Hvis der str noget i feltet Adresse/Adress, skal du skrive det i kassen mrket "Send-videre" adresse (her på siden). Nu skriver du <tt><?php echo $siteContext->getOption('urlIgnore').'?'.$ind['username']; ?></tt> i kassen Adresse/Adress (i Netscape), og trykker OK. S trykker på Gem-knappen her på siden, og så virker det!</P>
<h4>I Internet Eksplorer</h4>
<P>I selve browseren vælger du menuen Vis/View. Her vælger du punktet Internet-indstillinger/Intenret-options. Derefter vælger du fanen Generet/General. Hvis der str noget i feltet Adresse/Adress, skal du skrive det i kassen mrket Send-videre adresse (her på siden). Nu skriver du <tt><?php echo $siteContext->getOption('urlIgnore').'?'.$ind['username']; ?></tt> i kassen Adresse/Adress (i IE), og trykker OK. S trykker på Gem-knappen her på siden, og så virker det!</P>
</div>
<?php echo $faa_pro; ?>
<?php
} #Slut på if simpel else
echo "</form>";
if ($utils->getUAType() === $utils->UA_TYPE_SIMPLE) {
?>
<h2>I avanceret visning</h2>
<p>Hvis du skifter til avanceret visning (benyt linket "Skift til avanceret visning"i menuen til venstre), kan du ogs gøre følgende på denne side:
<ul>
<li>Sætter den overordnede tællers startværdi. Dette er nyttigt hvis du ønsker at "tage gamle hits med" fra en anden tæller eller statistik.
<li>Angive selvvalgte kodeord til statistiksiden. Disse kodeord kan f.eks. gives til andre, da de kun giver adgang til statistiksiden.
<li>Foretage sprringer, så du selv kan vælge om
<ul>
<li>din side skal med på toplisten.
<li>nogle af dine statistikker skal være tilgængelige gennem javascript-stats og ministatistikken.
<li>antal hits for hele siden, samt for de enkelte tællere, skal kunne vises via en grafisk tæller.
</ul>
<li>Selv vælge hvilke typer nyhedsbreve du ønsker at modtage fra ZIP Stat - du kan fx. vælge alle fra.
<li>Vælge at en bestemt IP-adresse ikke skal tælles med i statistikken. Dette er praktisk hvis du har en fast internetforbindelse med fast IP-adresse.
<li>Vælge at du kun vil have registreret statistikker fra nogle bestemte sider.
</ul>
<?php
echo $faa_pro;
}
$utils->echoSiteEnd();
}
/**
* Displays editing of the user info.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_oplysninger(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
$utils->echoSiteHead("Redigere oplysninger", 0);
$siteType = $datafile->getLine(83);
$sel['erotik'] = $sel['okunder18'] = ''; //reset them
if (strpos(strtolower($siteType), 'erotik') !== FALSE) {
$sel['erotik'] = ' SELECTED';
$kun_over_18_aar = 1;
} else if (strpos(strtolower($siteType), 'okunder18') !== FALSE) {
$sel['okunder18'] = ' SELECTED';
$kun_over_18_aar = 0;
}
/*
if ($siteContext->getOption['use_index'] == 1)
{
$pro_max_kategorier = $lib->pro(14); #<11-Antal mulige kategorier i indekset>
$pro_max_tegn_sord = $lib->pro(12); #<12-Max antal tegn til søgeord>
$pro_max_tegn_besk = $lib->pro(13); #<13-Max antal tegn i beskrivelse>
$kategorier = '';
require $stier{'index_rediger'}; #Lib. med subrutiner til at redigere i indexfilerne.
#Udskriver selectbox'e med kategorier
$inddata[86] =~ s/\n//g;
@kate_stier = explode(/::/,$inddata[86]);
for ($i = 1;$i <= $pro_max_kategorier;$i++)
{ $kategorier .= "Kategori nr. $i ".&getMuligeKategorier("kategorier$i",$kate_stier[$i-1],$kun_over_18_aar)."<br>\n"; }
$kategorier .= "<p>Hvis ZIP Stats administrator vurderer at en side passer bedre i en anden kategori, kan han flytte siden. Dette sker dog typisk kun i forbindelse med oprettelse af nye underkategorier.</p>\n<p>Sider med indhold der ikke bør ses af brn og unge under 18 r, må kun placeres i kategorien "Kun over 18 r" samt dennes underkategorier.</p>\n<p>Sider med indhold der, efter den daønske lovligning, kan karakteriseres som ulovligt, må ikke tilfjes til indekset!</p>";
} #End of if $options{'use_index'} - use index or not
#84-Beskrivelse
#85-Ngleord
*/
?>
<div class=forside>
<form action="<?php echo $siteContext->getOption('urlUserAreaMain'); ?>" method=POST>
<input type=hidden name=type value="gem_oplysninger">
<table>
<tr><td>Navn</td><td><a href="JAVAscript: alert('Hvis du vil ndre dit navn, så skriv ændringen i boksen.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til navn..."></a>
<input type=text name="navn" value="<?php echo htmlentities($datafile->getLine(1)); ?>"></td></tr>
<tr><td>E-mail</td><td><a href="JAVAscript: alert('Hvis du vil ndre din e-mail adresse, så skriv ændringen i boksen.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til e-mail..."></a>
<input type=text name="e-mail" value="<?php echo htmlentities($datafile->getLine(2)); ?>"></td></tr>
<tr><td>Siden adresse</td><td><a href="JAVAscript: alert('Hvis du vil ndre din hjemmesides adresse, skal du skrive ændringen her.\nDet er vigtigt den er korrekt, fordi den bruges til at sortere dine egne sider\nfra, på listen over referencesider.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til sidens adresse..."></a>
<input type=text name="url" value="<?php echo htmlentities($datafile->getLine(3)); ?>"></td></tr>
<tr><td>Sidens titel</td><td><a href="JAVAscript: alert('Hvis du vil ndre sidens titel, så skriv ændringen i boksen.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til sidens titel..."></a>
<input type=text name="titel" value="<?php echo htmlentities($datafile->getLine(4)); ?>"></td></tr>
</table>
</div>
<?php
/*
<div class=forside>
<p>
Søgeord <input type=text name=sord value="<?php echo htmlentities($datafile->getLine(85)); ?>" maxlength=$pro_max_tegn_sord> max. $pro_max_tegn_sord tegn, adskildt af komma (, ).<br>
Beskrivelse <input type=text name=beskrivelse value="<?php echo htmlentities($datafile->getLine(84)); ?>" maxlength=$pro_max_tegn_besk> max $pro_max_tegn_besk tegn, skal beskrive sidens <em>indhold</em>.<br>
Overdrevent brug af udrbstegn, store bogstaver ol. vil automatisk blive rettet, samt trkke ned i rangeringen ved sgninger.<br>
</p>
$kategorier
*/
?>
<p>Indeholder siden erotisk, pornografisk materiale eller andet der ikke bør ses af børn under og unge 18 år?<br>
<select size=1 name=under18ok>
<option value="">-vlg-
<option value="Ja"<?php echo $sel['erotik']; ?>>Ja
<option value="Nej"<?php echo $sel['okunder18']; ?>>Nej
</select>
</p>
<?php
/*
<p>Sider med erotisk indhold ol. vil på toplisten blive nedtonet, og man fr en advarsel fr man går ind på statistiksiden.</p>
*/
?>
</div>
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type=submit value=" Gem "> <input type=reset value="Nulstil formular">
</form>
<hr>
<div class=forside>
<h1>Slette konto</h1>
<p>Hvis du ønsker at slette denne ZIP Stat konto, skal du udfylde nedenstående skema og trykke på den meget lange knap.</p>
<p>Når kontoen er slettet kan du <em>ikke</em> fortryde!</p>
<h2>Sletning af konto</h2>
<form action="<?php echo $siteContext->getOption('urlUserAreaMain'); ?>" method=POST target="_top">
Brugernavn: <input type=text name="brugernavn_slet"><br>
Kodeord: <input type=password name="kodeord_slet"><br>
<input type=checkbox name=sletvirkelig> Jeg ønsker at slette min ZIP Stat konto, og ved at når jeg har trykket på knappen "Slet denne ZIP Stat konto - alle mine statistikker bliver slettet!" er mine statistikker slettet for altid.<br>
<input type="hidden" name="type" value="slet_konto">
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type="submit" value="Slet denne ZIP Stat konto - alle mine statistikker bliver slettet!"> <input type=reset value="Nulstil formular">
</form>
</div>
<?php
$utils->echoSiteEnd();
} //End edit user info
/**
* Displays editing of the user info.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_kodeord(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
// $datafile = &$lib->getDatafil();
$utils->echoSiteHead("Rediger kodeord", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=get target=\"_top\"><input type=hidden name=type value=\"gemkodeord\">";
?>
<h3>Ændre kodeord</h3>
<p>For at ændre dit kodeord skal du skrive det nye kodeord <em>to</em> gange, for at sikre mod sålfejl. Det vil kun blive opdateret hvis du skriver det samme kodeord i begge bokse. Det vil <em>ikke</em> blive opdateret hvis du ike skriver noget.<BR>
Nyt kodeord 1. gang <a href="JAVAscript: alert('Hvis du vil ændre dit kodeord, skal du skrive det nye i boksen.\nDerefter skal du skrive det igen i ænste boks');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til ny tkodeord (1)..."></a>
<input type=password name=pwd1><BR>
Nyt kodeord 2. gang <a href="JAVAscript: alert('Hvis du har valgt at ndre dit kodeord ved at skrive det nye\nkodeord i ovenstende boks, skal du skrive det igen i denne\nfør det bliveræ ndret');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til nyt kodeord (2)..."></a>
<input type=password name=pwd2>
</P>
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type="submit" value=" Gem "> <input type="reset" value="Nulstil formular">
</form>
</div>
<?php
$utils->echoSiteEnd();
}
/**
* Displays the form for resetting stats.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_nulstil(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
$utils->echoSiteHead("Nulstil", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=post><input type=hidden name=type value=\"gem_nulstil\">";
if ($utils->getUAType() === $utils->UA_TYPE_SIMPLE) {
?>
<div class=forside>
<h3>Nulstil</h3>
<p><input type=checkbox name="nulalt">Nulstil alt.</p>
<p>Sæt kryds i kassen "Nulstil alt" oven for og tryk ? "Gem", for at nulstille alle dine
statistikker. Ved tællerene er det kun hitsne der bliver nulstillet - de enkelte tællere og kliktællere kan
nulles seperat på tællersiden (brug linket i menuen venstre).</p>
<p>I den avancerede ZIP Stat kan du nulstille de enkelte statistikker seperat.</p>
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type="submit" value=" Nulstil valgte "> <input type="reset" value="Nulstil formular">
</div>
<?php
} else {
?>
<div class=forside>
<h3>Nulstil</h3>
<input type=checkbox name="nulalt"> <a href="JAVAscript: alert('Hvis du krydser af her, vil alt på din statistikside blive nulstillet.');"><img src="<?php echo $siteContext->getPath('zipstat_icons'); ?>/stegn2.gif" width=9 height=14 border=0 alt="Hjælp til nulstil alt..."></a>
Nulstil alt (svarer til at afkrydse alle bokse).<p>
</div>
<table class=forside border=1>
<caption>* Hvis du nulstiller én statistik der er markeret med *, bør du nulstille dem alle tre.<br>Disse benyttes nemlig i prognosen, som forudstter at de dækker samme tidsrum.</caption>
<tr>
<td>
<input type=checkbox name="nul7"> Samlet antal hits.<br>
<input type=checkbox name="nul44"> Antal unikke besøgende.<br>
<input type=checkbox name="nul64"> Hits pr. besøgende.<br>
<input type=checkbox name="nul16"> Max besøgende på en dag.<br>
<input type=checkbox name="nul18"> Max besøgende på en måned.<br>
<input type=checkbox name="nul77"> Max unikke hits på en dag<br>
<input type=checkbox name="nul80"> Max unikke hits på en måned<br>
<input type=checkbox name="nul76"> Antal unikke hits i dag<br>
<input type=checkbox name="nul79"> Antal unikke hits denne måned<br>
<input type=checkbox name="nul14"> Hits pr. time.<br>
<input type=checkbox name="nul73"> Tid på siden<br>
<input type=checkbox name="nul9"> *Hits pr. måned.<br>
<input type=checkbox name="nul11"> *Hits 31 dage tilbage.<br>
<input type=checkbox name="nul15"> *Hits pr. ugedag.<br>
<input type=checkbox name="nul37"> Alle tællere.<br>
<td>
<input type=checkbox name="nul22"> Topdomæner.<br>
<input type=checkbox name="nul20"> Domner.<br>
<input type=checkbox name="nul24"> Browsere.<br>
<input type=checkbox name="nul31"> Oplsning.<br>
<input type=checkbox name="nul33"> Antal farver.<br>
<input type=checkbox name="nul35"> JAVA support.<br>
<input type=checkbox name="nul39"> JAVA-script support.<br>
<input type=checkbox name="nul46"> Referencesider.<br>
<input type=checkbox name="nul112"> Indgangssider.<br>
<input type=checkbox name="nul114"> Udgangssider.<br>
<input type=checkbox name="nul74"> Bevægelser<br>
<input type=checkbox name="nul69"> Alle kliktællere.<br>
<input type=checkbox name="nul47"> Søgeord.<br>
<input type=checkbox name="nul49"> Søgemaskiner.<br>
<input type=checkbox name="nul43"> Alle spørgsmål.<br>
<input type=checkbox name="nul28"> Info om de seneste 20 besøgende.
</table>
Hos tællere, spørgsmål og kliktællere nulstilles kun hitsne. Disse kan envidere nulstilles fra de sider hvor de redigeres.
</P>
<p>
<input type="hidden" value="<?php echo htmlentities($ind['username']); ?>" name="username">
<input type="submit" value=" Nulstil valgte "> <input type="reset" value="Nulstil formular">
<?php
} #Slut på if simpel else
echo "</form>";
$utils->echoSiteEnd();
}
/**
* Displays editing of the simple e-mail stats settings.
*
* @param $utils the UsersAreaUtils object
* @param $siteContext the instance of the site context.
* @public
*/
function r_emailstats_simpel(&$utils, &$siteContext) {
$lib = &$siteContext->getCodeLib();
$ind = $lib->getHTTPVars();
$datafile = &$lib->getDatafil();
$utils->echoSiteHead("Mail stats", 0);
echo "<form action=\"".$siteContext->getOption('urlUserAreaMain')."\" method=post><input type=hidden name=type value=\"gem_mailstats\">";
$viser = explode('::', $datafile->getLine(67));
$pro_mx_tidspunkter = $lib->pro(9);
$visAntal = visAntal($lib, count($viser), 9);
$pro_mx_tidspunkter = $visAntal;
#Tæller antal dage angivet, og antal datoer angivet
$ant_dage = 0;
$ant_datoer = 0;
$sidste_dag = 0;
$sidste_dato = 0;
for ($i = 1; $i <= $pro_mx_tidspunkter; $i++) {
if (
(strpos($viser[$i], 'man;;') === 0) or
(strpos($viser[$i], 'tir;;') === 0) or
(strpos($viser[$i], 'ons;;') === 0) or
(strpos($viser[$i], 'tor;;') === 0) or
(strpos($viser[$i], 'fre;;') === 0) or
(strpos($viser[$i], 'lor;;') === 0) or
(strpos($viser[$i], 'son;;') === 0)
) {
$ant_dage++;
$sidste_dag = $i;
}
if (preg_match("/\A[1-9];;/", $viser[$i]) or preg_match("/\A[1-2][0-9];;/", $viser[$i]) or preg_match("/\A3[0-1];;/", $viser[$i])) {
$ant_datoer++;
$sidste_dato = $i;
}
}
#Beslutter hvad de fundne tal betyder
$mail_om_ugen = '';
$mail_om_dagen = '';
$mail_maaned = '';
if ( ($ant_dage > 0) and ($ant_dage <= 2)) {#n mail om ugen
$mail_om_ugen = ' SELECTED';
} else if (($ant_dage > 0) or ($ant_datoer >= 15)) {#n mail om dagen
$mail_om_dagen = ' SELECTED';
} else if (($ant_datoer > 0) and ($ant_datoer <= 2)) {#n mail om måneden
$mail_maaned = ' SELECTED';
}
?>
<div class=forside>
<h3>Mail stat</h3>
<p>Send mig
<select name=simpel_mailstat size=1>
<option>aldrig
<option value=hver_dag<?php echo $mail_om_dagen; ?>>hver dag
<option value=hver_uge<?php echo $mail_om_ugen; ?>>hver uge
<option value=hver_maaned<?php echo $mail_maaned; ?>>hver måned
</select> en e-mail med mine statistikker.</p>
<p>Vælger du at få mailen hver dag, vil den kommer umiddelbart efter kl. 20. Vælger du at få en mail