Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition: 0.9.7(DS V3) Ithil-Edition


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release der Dragonslayer-Edition ist für jeden Interessenten frei zum Download verfügbar. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./mail.php

zurück
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:
1001:
1002:
1003:
1004:
1005:
1006:
1007:
1008:
1009:
1010:
1011:
1012:
1013:
1014:
1015:
1016:
1017:
1018:
1019:
1020:
1021:
1022:
1023:
1024:
1025:
1026:
1027:
1028:
1029:
1030:
1031:
1032:
1033:
1034:
1035:
1036:
1037:
1038:
1039:
1040:
1041:
1042:
1043:
1044:
1045:
1046:
1047:
1048:
1049:
1050:
1051:
1052:
1053:
1054:
1055:
1056:
1057:
1058:
1059:
1060:
1061:
1062:
1063:
1064:
1065:
1066:
1067:
1068:
1069:
1070:
1071:
1072:
1073:
1074:
1075:
1076:
1077:
1078:
1079:
1080:
1081:
1082:
1083:
1084:
1085:
1086:
1087:
1088:
1089:
1090:
1091:
1092:
1093:
1094:
1095:
1096:
1097:
1098:
1099:
1100:
1101:
1102:
1103:
1104:
1105:
1106:
1107:
1108:
1109:
1110:
1111:
1112:
1113:
1114:
1115:
1116:
1117:
1118:
1119:
1120:
1121:
1122:
1123:
1124:
1125:
1126:
1127:
1128:
1129:
1130:
1131:
1132:
1133:
1134:
1135:
1136:
1137:
1138:
1139:
1140:
1141:
1142:
1143:
1144:
1145:
1146:
1147:
1148:
1149:
1150:
1151:
1152:
1153:
1154:
1155:
1156:
1157:
1158:
1159:
1160:
1161:
1162:
1163:
1164:
1165:
1166:
1167:
1168:
1169:
1170:
1171:
1172:
1173:
1174:
1175:
1176:
1177:
1178:
1179:
1180:
1181:
1182:
1183:
1184:
1185:
1186:
1187:
1188:
1189:
1190:
1191:
1192:
1193:
1194:
1195:
1196:
1197:
1198:
1199:
1200:
1201:
1202:
1203:
1204:
1205:
1206:
1207:
1208:
1209:
1210:
1211:
1212:
1213:
1214:
1215:
1216:
1217:
1218:
1219:
1220:
1221:
1222:
1223:
1224:
1225:
1226:
1227:
1228:
1229:
1230:
1231:
1232:
1233:
1234:
1235:
1236:
1237:
1238:
1239:
1240:
1241:
1242:
1243:
1244:
1245:
1246:
1247:
1248:
1249:
1250:
1251:
1252:
1253:
1254:
1255:
1256:
1257:
1258:
1259:
1260:
1261:
1262:
1263:
1264:
1265:
1266:
1267:
1268:
1269:
1270:
1271:
1272:
1273:
1274:
1275:
1276:
1277:
1278:
1279:
1280:
1281:
1282:
1283:
1284:
1285:
1286:
1287:
1288:
1289:
1290:
1291:
1292:
1293:
1294:
1295:
1296:
1297:
1298:
1299:
1300:
1301:
1302:
1303:
1304:
1305:
1306:
1307:
1308:
1309:
1310:
1311:
1312:
1313:
1314:
1315:
1316:
1317:
1318:
1319:
1320:
1321:
1322:
1323:
1324:
1325:
1326:
1327:
1328:
1329:
1330:
1331:
1332:
1333:
1334:
1335:
1336:
1337:
1338:
1339:
1340:
1341:
1342:
1343:
1344:
1345:
1346:
1347:
1348:
1349:
1350:
1351:
1352:
1353:
1354:
1355:
1356:
1357:
1358:
1359:
1360:
1361:
1362:
1363:
1364:
1365:
1366:
1367:
1368:
1369:
1370:
1371:
1372:
1373:
1374:
1375:
1376:
1377:
1378:
1379:
1380:
1381:
1382:
1383:
1384:
1385:
1386:
1387:
1388:
1389:
1390:
1391:
1392:
1393:
1394:
1395:
1396:
1397:
1398:
1399:
1400:
1401:
1402:
1403:
1404:
1405:
1406:
1407:
1408:
1409:
1410:
1411:
1412:
1413:
1414:
1415:
1416:
1417:
1418:
1419:
1420:
1421:
1422:
1423:
1424:
1425:
1426:
1427:
1428:
1429:
1430:
1431:
1432:
1433:
1434:
1435:
1436:
1437:
1438:
1439:
1440:
1441:
1442:
1443:
1444:
1445:
1446:
1447:
1448:
1449:
1450:
1451:
1452:
1453:
1454:
1455:
1456:
1457:
1458:
1459:
1460:
1461:
1462:
1463:
1464:
1465:
1466:
1467:
1468:
1469:
1470:
1471:
1472:
1473:
1474:
1475:
1476:
1477:
1478:
1479:
1480:
1481:
1482:
1483:
1484:
1485:
1486:
1487:
1488:
1489:
1490:
1491:
1492:
1493:
1494:
1495:
1496:
1497:
1498:
1499:
1500:
1501:
1502:
1503:
1504:
1505:
1506:
1507:
1508:
1509:
1510:
1511:
1512:
1513:
1514:
1515:
1516:
1517:
1518:
1519:
1520:
1521:
1522:
1523:
1524:
1525:
1526:
1527:
1528:
1529:
1530:
1531:
1532:
1533:
1534:
1535:
1536:
1537:
1538:
1539:
1540:
1541:
1542:
1543:
1544:
1545:
1546:
1547:
1548:
1549:
1550:
1551:
1552:
1553:
1554:
1555:
1556:
1557:
1558:
1559:
1560:
1561:
1562:
1563:
1564:
1565:
1566:
1567:
1568:
1569:
1570:
1571:
1572:
1573:
1574:
1575:
1576:
1577:
1578:
1579:
1580:
1581:
1582:
1583:
1584:
1585:
1586:
1587:
1588:
1589:
1590:
1591:
1592:
1593:
1594:
1595:
1596:
1597:
1598:
1599:
1600:
1601:
1602:
1603:
1604:
1605:
1606:
1607:
1608:
1609:
1610:
1611:
1612:
1613:
1614:
1615:
1616:
1617:
1618:
1619:
1620:
1621:
1622:
1623:
1624:
1625:
1626:
1627:
1628:
1629:
1630:
1631:
1632:
1633:
1634:
1635:
1636:
1637:
1638:
1639:
1640:
1641:
1642:
1643:
1644:
1645:
1646:
1647:
1648:
1649:
1650:
1651:
1652:
1653:
1654:
1655:
1656:
1657:
1658:
1659:
1660:
1661:
1662:
1663:
1664:
1665:
1666:
1667:
1668:
1669:
1670:
1671:
1672:
1673:
1674:
1675:
1676:
1677:
1678:
1679:
1680:
1681:
1682:
1683:
1684:
1685:
1686:
1687:
1688:
1689:
1690:
1691:
1692:
1693:
1694:
1695:
1696:
1697:
1698:
1699:
1700:
1701:
1702:
1703:
1704:
1705:
1706:
1707:
1708:
1709:
1710:
1711:
1712:
1713:
1714:
1715:
1716:
1717:
1718:
1719:
1720:
1721:
1722:
1723:
1724:
1725:
1726:
1727:
1728:
1729:
1730:
1731:
1732:
1733:
1734:
1735:
1736:
1737:
1738:
1739:
1740:
1741:
1742:
1743:
1744:
1745:
1746:
1747:
1748:
1749:
1750:
1751:
1752:
1753:
1754:
1755:
1756:
1757:
1758:
1759:
1760:
1761:
1762:
1763:
1764:
1765:
1766:
1767:
1768:
1769:
1770:
1771:
1772:
1773:
1774:
1775:
1776:
1777:
1778:
1779:
1780:
1781:
1782:
1783:
1784:
1785:
1786:
1787:
1788:
1789:
1790:
1791:
1792:
1793:
1794:
1795:
1796:
1797:
1798:
1799:
1800:
1801:
1802:
1803:
1804:
1805:
1806:
1807:
1808:
1809:
1810:
1811:
1812:
1813:
1814:
1815:
1816:
1817:
1818:
1819:
1820:
1821:
1822:
1823:
1824:
1825:
1826:
1827:
1828:
1829:
1830:
1831:
1832:
1833:
1834:
1835:
1836:
1837:
1838:
1839:
1840:
1841:
1842:
1843:
1844:
1845:
1846:
1847:
1848:
1849:
1850:
1851:
1852:
1853:
1854:
1855:
1856:
1857:
1858:
1859:
1860:
1861:
1862:
1863:
1864:
1865:
1866:
1867:
1868:
1869:
1870:
1871:
1872:
1873:
1874:
1875:
1876:
1877:
1878:
1879:
1880:
1881:
1882:
1883:
1884:
1885:
1886:
1887:
1888:
1889:
1890:
1891:
1892:
1893:
1894:
1895:
1896:
1897:
1898:
1899:
1900:
1901:
1902:
1903:
1904:
1905:
1906:
1907:
1908:
1909:
1910:
1911:
1912:
1913:
1914:
1915:
1916:
1917:
1918:
1919:
1920:
1921:
1922:
1923:
1924:
1925:
1926:
1927:
1928:
1929:
1930:
1931:
1932:
1933:
1934:
1935:
1936:
1937:
1938:
1939:
1940:
1941:
1942:
1943:
1944:
1945:
1946:
1947:
1948:
1949:
1950:
1951:
1952:
1953:
1954:
1955:
1956:
1957:
1958:
1959:
1960:
1961:
1962:
1963:
1964:
1965:
1966:
1967:
1968:
1969:
1970:
1971:
1972:
1973:
1974:
1975:
1976:
1977:
1978:
1979:
1980:
1981:
1982:
1983:
1984:
1985:
1986:
1987:
1988:
1989:
1990:
1991:
1992:
1993:
1994:
1995:
1996:
1997:
1998:
1999:
2000:
2001:
2002:
2003:
2004:
2005:
2006:
2007:
2008:
2009:
2010:
2011:
2012:
2013:
2014:
2015:
2016:
2017:
2018:
2019:
2020:
2021:
2022:
2023:
2024:
2025:
2026:
2027:
2028:
2029:
2030:
2031:
2032:
2033:
2034:
2035:
2036:
2037:
2038:
2039:
2040:
2041:
2042:
2043:
2044:
2045:
2046:
2047:
2048:
2049:
2050:
2051:
2052:
2053:
2054:
2055:
2056:
2057:
2058:
2059:
2060:
2061:
2062:
2063:
2064:
2065:
2066:
2067:
2068:
2069:
2070:
2071:
2072:
2073:
2074:
2075:
2076:
2077:
2078:
2079:
2080:
2081:
2082:
2083:
2084:
2085:
2086:
2087:
2088:
2089:
2090:
2091:
2092:
2093:
2094:
2095:
2096:
2097:
2098:
2099:
2100:
2101:
2102:
2103:
2104:
2105:
2106:
2107:
2108:
2109:
2110:
2111:
2112:
2113:
2114:
2115:
2116:
2117:
2118:
2119:
2120:
2121:
2122:
2123:
2124:
2125:
2126:
2127:
2128:
2129:
2130:
2131:
2132:
2133:
2134:
2135:
2136:
2137:
2138:
2139:
2140:
2141:
2142:
2143:
2144:
2145:
2146:
2147:
2148:
2149:
2150:
2151:
2152:
2153:
2154:
2155:
2156:
2157:
2158:
2159:
2160:
2161:
2162:
2163:
2164:
2165:
2166:
2167:
2168:
2169:
2170:
2171:
2172:
2173:
2174:
2175:
2176:
2177:
2178:
2179:
2180:
2181:
2182:
2183:
2184:
2185:
2186:
2187:
2188:
2189:
2190:
2191:
2192:
2193:
2194:
2195:
2196:
2197:
2198:
2199:
2200:
2201:
2202:
2203:
2204:
2205:
2206:
2207:
2208:
2209:
<?php
/*
* @desc Diese Datei ist eine Umstrukturierung der ursprünglichen mail.php
* Sie enthält alle meines Wissens verfügbaren Addons für die ursprüngliche Mail.php, wurde jedoch auf
* Geschwindigkeit getrimmt
* Folgende Features wurden implementiert:
* - Adressbuch: Adressbuch kann in den Settings an und ausgeschaltet werden (deZent und draKarr)
* - Maximale Anzahl an Kontakten festgelegt (Dragonslayer,Talion)
* - Löschen von ungelesenen/gelesenen/Systemnachrichten (Eliwood)
* - Anzeige der noch verfügbaren Zeichen in einer zu schreibenden Mail
* - Rückruf von gesendeten Nachrichten, wenn diese bisher noch nicht vom Empfänger gelesen wurden (Dragonslayer)
* - Versand aller Messages an die Mailadresse des Users
* - Automatische Weiterleitung der Tauben an einen anderen Superuser
* - Es wurde außerdem versucht die Mail.php zu entschlacken und performanter
*   zu realisieren.
* leicht modifiziert von Talion, kleine Tweaks hier und dort.
* @author Kolja Engelmann for lotgd.drachenserver.de
*/

require_once 'common.php';





define('MAIL_DATE_FORMAT','d. M, H:i');

//Speichern der Output Variablen in einer temporären Variable
//Die Funktion output() wird nur einmal am Ende des Skripts aufgerufen, um den Overhead zu sparen
$str_output_backup $output;
//echo $str_output_backup;
unset($output);

// zusätzliche Accounts
//=====================================================================
// in $rp_account[$i] werden die acctids für die rp-accounts gespeichert die zu dem jeweiligen account gehören
$array = array();
$sql="select acctid from accounts where rpowner=".$session['user']['acctid'].
    "
.($session['user2']['acctid']? "OR rpowner=".$session['user2']['acctid']." " :"")."
    "
.($session['user3']['acctid']? "OR rpowner=".$session['user3']['acctid']." " :"")."
    "
;
$res db_query($sql);
while(
$r db_fetch_assoc($res))
{
    
array_push($array$r);
}
$i=1;
foreach( 
$array as $id )
{
    
$rp_account[$i]=$id['acctid'];
    
$i++;
}
$i--; // eins wieder abziehen damit tatsächliche Anzahl ergebnisse in $i gespeichert ist

$anz_rpaccount=$i;         // Anzahl der rp Accounts
$rpaccount=$rp_account;  // Array mit allen rp Account IDs
$account2=$session['user2']['acctid'];  // ID des 2. Accounts
$account3=$session['user3']['acctid'];  // ID des 3. Accounts

// string erstellen
/*$string="";
foreach($rpaccount as $accounts)
{
    //echo($accounts.'<br>');
    $string=$string." OR xxx = ".$accounts."";
}
if($session['user2']['acctid'])
    $string=$string." OR xxx = ".$account2."";
if($session['user3']['acctid'])
    $string=$string." OR xxx = ".$account3."";
*/
    //echo($string);
// Ende zusätzliche Accounts
//=====================================================================

// Enthält Untertitel für aktuelle Aktion
$str_subtitle '';

//Javascript für die Restzeichenanzeige der Nachrichten
$output '<script language="JavaScript" type="text/JavaScript">
<!--
function CountMax($var)
{
    var wert,max,show;
    max = $var;
    wert = max-document.mail.body.value.length;
    show = document.getElementById("rv_counter");

    if (wert < 0)
    {
        alert("Es dürfen nicht mehr als " + max + " Zeichen eingegeben werden!");
        document.mail.body.value = document.mail.body.value.substring(0,max);
        wert = max-document.mail.body.value.length;
        show.innerHTML = wert;
    }
    else
    {
        show.innerHTML = wert;
    }
}
//-->
</script>
'
;

//Bearbeite alle möglichen Optionen die von dieser Datei durchgeführt werden können
switch ($_GET['op'])
{
    
//Lösche eine Nachricht mit einer speziellen ID
    
case 'del':
        {
            
// string erstellen
            
$string="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$string=$string." OR mail.msgto = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$string=$string." OR mail.msgto = ".$account2."";
            if(
$session['user3']['acctid'])
                
$string=$string." OR mail.msgto = ".$account3."";
            
// ENDE string erstellen
            
$sql 'DELETE FROM mail WHERE (msgto="'.$session['user']['acctid'].'" '.$string.') AND messageid="'.$_GET['id'].'"';
            
db_query($sql);
            
$session['message'] = '`@Die Nachricht wurde erfolgreich gelöscht.`0';
            
$session['refresh_maillink'] = true;
            
$session['refresh_minilink'] = true;
            
header('Location: mail.php');
            exit();
        }
        break;
    case 
'del_revoked_message':    
        {
            
// string erstellen
            
$string="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$string=$string." OR mail.msgfrom = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$string=$string." OR mail.msgfrom = ".$account2."";
            if(
$session['user3']['acctid'])
                
$string=$string." OR mail.msgfrom = ".$account3."";
            
// ENDE string erstellen
            
$sql 'DELETE FROM mail WHERE (msgfrom="'.$session['user']['acctid'].'" '.$string.') AND messageid="'.$_GET['id'].'"';
            
db_query($sql);
            
$session['message'] = '`@Die Nachricht wurde erfolgreich gelöscht.`0';
            
$session['refresh_maillink'] = true;
            
$session['refresh_minilink'] = true;
            
header('Location: mail.php');
            exit();
        }

        break;
        
//Lösche mehrere Nachrichten
    
case 'process':    
        {
            
// string erstellen
            
$stringto="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$stringto=$stringto." OR mail.msgto = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$stringto=$stringto." OR mail.msgto = ".$account2."";
            if(
$session['user3']['acctid'])
                
$stringto=$stringto." OR mail.msgto = ".$account3."";
            
// ENDE string erstellen
            
switch ($_REQUEST['process_type'])
            {
                
//Lösche Systemmails
                
case 'sys':
                    {
                        
                        
$sql 'DELETE FROM mail WHERE (msgto=\''.$session['user']['acctid'].'\' '.$stringto.') AND msgfrom=0 AND archived=0';
                        
db_query($sql);
                        
$int_affected db_affected_rows();
                        
$session['message'] = '`@Alle '.$int_affected.' Systemnachrichten wurden gelöscht.`0';
                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                    
//Lösche ungelesene nachrichten
                
case 'ugdel':
                    {
                        
                        
$sql 'DELETE FROM mail WHERE (msgto=\''.$session['user']['acctid'].'\' '.$stringto.') AND seen=0';
                        
db_query($sql);
                        
$int_affected db_affected_rows();
                        
$session['message'] = '`@Alle '.$int_affected.' ungelesenen Nachrichten wurden erfolgreich gelöscht.`0';
                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                    
//Lösche gelesene Nachrichten
                
case 'gdel':
                    {
                    
                        
$sql 'DELETE FROM mail WHERE (msgto=\''.$session['user']['acctid'].'\' '.$stringto.' )AND seen=1 AND archived=0';
                        
db_query($sql);
                        
$int_affected db_affected_rows();
                        
$session['message'] = '`@Alle '.$int_affected.' gelesenen Nachrichten wurden erfolgreich gelöscht.`0';
                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                    
//Lösche alle markierten Nachrichten
                
case 'delete_marked':
                    {
                        
//Überprüfen, ob überhaupt mehrere Nachrichten zum löschen markiert wurden
                        
if (!is_array($_POST['msg']) || count($_POST['msg'])<1)
                        {
                            
$session['message'] = '`$`bEs wurden keine Nachrichten ausgewählt, es wurde nichts gelöscht`b`0';
                        }
                        else
                        {
                            
//Wenn die gewählten Nachrichten solche sind, die vom Verfasser zurückgerufen werden sollen
                            
if($_GET['revoke_messages']==1)
                            {
                                
//Lösche alle markierten Nachrichten
                                // string erstellen
                                
$string="";
                                if(
is_array($rpaccount))
                                {
                                    foreach(
$rpaccount as $accounts)
                                    {
                                        
//echo($accounts.'<br>');
                                        
$string=$string." OR mail.msgfrom = ".$accounts."";
                                    }
                                }
                                if(
$session['user2']['acctid'])
                                    
$string=$string." OR mail.msgfrom = ".$account2."";
                                if(
$session['user3']['acctid'])
                                    
$string=$string." OR mail.msgfrom = ".$account3."";
                                
// ENDE string erstellen
                                
$sql 'DELETE FROM mail WHERE (msgfrom=\''.$session['user']['acctid'].'\' '.$string.') AND seen=0 AND messageid IN (\''.join('\',\'',$_POST['msg']).'\')'
                            }
                            else
                            {
                                
//Lösche alle markierten Nachrichten
                                
$sql 'DELETE FROM mail WHERE (msgto=\''.$session['user']['acctid'].'\' '.$stringto.' )AND messageid IN (\''.join('\',\'',$_POST['msg']).'\')';
                            }
                            
db_query($sql);
                            
$int_affected db_affected_rows();
                            
$session['message'] = '`@Die '.$int_affected.' markierten Nachrichten wurden erfolgreich gelöscht.`0';
                            
$session['refresh_maillink'] = true;
                            
$session['refresh_minilink'] = true;

                        }
                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                    
//Archiviere alle markierten Nachrichten
                
case 'archive_marked':
                    {
                        if(
getsetting('archive_yom_anabled',0) == 0)
                        {
                            
$session['message'] = '`@Die Archivierung von Brieftauben ist nicht erlaubt`0';
                            
header('Location: mail.php');
                            exit();
                        }

                        
//Überprüfen, ob überhaupt mehrere Nachrichten zum archicieren markiert wurden
                        
if (!is_array($_REQUEST['msg']) || count($_REQUEST['msg'])<1)
                        {
                            
$session['message'] = '`$`bEs wurden keine Nachrichten ausgewählt, es wurde nichts archiviert`b`0';
                        }
                        else
                        {
                            
// string erstellen
                            
$string="";
                            if(
is_array($rpaccount))
                            {
                                foreach(
$rpaccount as $accounts)
                                {
                                    
//echo($accounts.'<br>');
                                    
$string=$string." OR mail.msgto = ".$accounts."";
                                }
                            }
                            if(
$session['user2']['acctid'])
                                
$string=$string." OR mail.msgto = ".$account2."";
                            if(
$session['user3']['acctid'])
                                
$string=$string." OR mail.msgto = ".$account3."";
                            
// ENDE string erstellen
                            
$sql_get_archived 'SELECT  messageid FROM mail WHERE archived = 1 AND (msgto = "'.$session['user']['acctid'].'" '.$string.')';
                            
$int_count_archived_yom db_num_rows(db_query($sql_get_archived));
                            
$int_maximum_archived_yom = ($access_control->su_lvl_check(1) ? getsetting('archive_yom_mod_limit',100) : getsetting('archive_yom_limit',50));

                            if(
$int_count_archived_yom>=$int_maximum_archived_yom)
                            {
                                
$session['message'] = '`@Die Archivierung ist fehl geschlagen, du hast bereits das Maximum von '.$int_maximum_archived_yom.' Brieftauben archiviert`0';
                                
header('Location: mail.php');
                                exit();
                            }

                            
$int_count_new_archived_yom 0;
                            foreach (
$_REQUEST['msg'] as $int_yom_id)
                            {
                                if(
$int_count_archived_yom>=$int_maximum_archived_yom)
                                {
                                    
$session['message'] = '`@Es konnten nicht alle Brieftauben archviert werden, da
                                    du das Maximum von '
.$int_maximum_archived_yom.' Brieftauben erreicht hast.`0';
                                    
header('Location: mail.php');
                                    exit();
                                }
                                
// string erstellen
                                
$string="";
                                if(
is_array($rpaccount))
                                {
                                    foreach(
$rpaccount as $accounts)
                                    {
                                        
//echo($accounts.'<br>');
                                        
$string=$string." OR mail.msgto = ".$accounts."";
                                    }
                                }
                                if(
$session['user2']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account2."";
                                if(
$session['user3']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account3."";
                                
// ENDE string erstellen
                                
$sql 'UPDATE mail SET archived = 1 , seen = 1 WHERE messageid = '.(int)$int_yom_id.' AND (msgto='.$session['user']['acctid'].' '.$string.')';

                                
$query_result db_query($sql);

                                
$int_count_archived_yom++;
                                
$int_count_new_archived_yom++;
                            }
                            
$session['message'] = '`@Die '.$int_count_new_archived_yom.' markierten Nachrichten wurden erfolgreich archiviert.`0';
                            
$session['refresh_maillink'] = true;
                            
$session['refresh_minilink'] = true;

                        }
                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                
// Mails als ungelesen markieren
                
case 'unread_marked':
                    {
                        if(!
is_array($_POST['msg']) || !count($_POST['msg']))
                        {
                            
$session['message'] = '`$Es wurden keine Nachrichten ausgewählt!`0';
                        }
                        else
                        {
                            
// Auf Limit checken
                            // string erstellen
                            
$string="";
                            if(
is_array($rpaccount))
                            {
                                foreach(
$rpaccount as $accounts)
                                {
                                    
//echo($accounts.'<br>');
                                    
$string=$string." OR mail.msgto = ".$accounts."";
                                }
                            }
                            if(
$session['user2']['acctid'])
                                
$string=$string." OR mail.msgto = ".$account2."";
                            if(
$session['user3']['acctid'])
                                
$string=$string." OR mail.msgto = ".$account3."";
                            
// ENDE string erstellen
                            
$str_sql 'SELECT COUNT(*) AS c FROM mail WHERE seen=0 AND (msgto='.(int)$session['user']['acctid'].' '.$string.' )';
                            
$res db_query($str_sql);
                            
$arr_tmp db_fetch_assoc($res);

                            
$int_max_unread = (int)getsetting('inboxlimit',50);

                            if(
$arr_tmp['c']+count($_POST['msg']) > $int_max_unread)
                            {
                                
$session['message'] = '`$Soviele Nachrichten dürfen nicht auf ungelesen stehen - max. '.$int_max_unread.'!`0';
                            }
                            else
                            {
                                
// Auf ungelesen stellen
                                
$str_ids implode(',',$_POST['msg']);
                                
$str_ids db_real_escape_string($str_ids);
                                
// string erstellen
                                
$string="";
                                if(
is_array($rpaccount))
                                {
                                    foreach(
$rpaccount as $accounts)
                                    {
                                        
//echo($accounts.'<br>');
                                        
$string=$string." OR mail.msgto = ".$accounts."";
                                    }
                                }
                                if(
$session['user2']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account2."";
                                if(
$session['user3']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account3."";
                                
// ENDE string erstellen
                                
$str_sql 'UPDATE mail SET seen=0 WHERE messageid IN ('.$str_ids.') AND (msgto='.(int)$session['user']['acctid'].' '.$string.') AND seen=1';
                                
db_query($str_sql);
                                
$session['message'] = '`@'.db_affected_rows().' Nachrichten wurden auf ungelesen gesetzt!`0';
                                
$session['refresh_maillink'] = true;
                                
$session['refresh_minilink'] = true;

                            }
                        }

                        
header('Location: mail.php');
                        exit();
                    }
                    break;
                case 
'message2mail':
                    {
                        if(
getsetting('message2mail_activated',false)==false)
                        {
                            
$session['message'] = '`$`bdiese Funktion ist abgeschaltet!`b`0';
                            
header('Location: mail.php');
                            exit();
                        }

                        
//Überprüfen, ob überhaupt mehrere Nachrichten zum Versand markiert wurden
                        
if (!is_array($_POST['msg']) || count($_POST['msg'])<1)
                        {
                            
$session['message'] = '`$`bEs wurden keine Nachrichten ausgewählt, es konnte somit nichts versendet werden!`b`0';
                        }
                        elseif(
is_email($session['user']['emailaddress'])==false)
                        {
                            
$session['message'] = '`$`bDu hast keine gültige E-Mail-Adresse hinterlegt, deswegen können Dir keine Mails zugesendet werden.`b`0';
                            
header('Location: mail.php');
                            exit();
                        }
                        else
                        {
                            
//Mails selektieren
                            
$sql 'SELECT mail.subject,mail.body,mail.sent,accounts_from.login AS msg_from, accounts_to.login AS msg_to 
                            
                            FROM mail 
                            
                            LEFT JOIN accounts accounts_from ON accounts_from.acctid=mail.msgfrom 
                            LEFT JOIN accounts accounts_to ON accounts_to.acctid=mail.msgto 
                            
                            WHERE mail.messageid in (\''
.join('\',\'',$_POST['msg']).'\')';
                            
//Wenn die gewählten Nachrichten solche sind, die vom Verfasser zurückgerufen werden sollen

                            
$query_result db_query($sql);
                            
$int_affected db_affected_rows();

                            
$str_mailbody '';

                            
//Mailbody erzeugen
                            
while ($arr_message db_fetch_assoc($query_result))
                            {
                                
$str_mailbody .= '`&Datum: '.$arr_message['sent']."`n";
                                
$str_mailbody .= '`&Von: '.$arr_message['msg_from']."`n";
                                
$str_mailbody .= '`&An: '.$arr_message['msg_to']."`n";
                                
$str_mailbody .= '`&Betreff: '.$arr_message['subject']."`n";
                                
$str_mailbody .= "<hr />";
                                
$str_mailbody .= '`&'.nl2br($arr_message['body']);
                                
$str_mailbody .= "<hr />";
                            }

                            
db_free_result($query_result);

                            
$str_townname getsetting('townname','Atrahor');

                            
$str_css '
                            * {
                                padding:0px;
                                margin:0px;
                            }
                            body {
                                background-color:#000000;
                                padding:0px;
                                margin:0px;
                            }
                            body *{
                                font-family: Verdana, Arial, Helvetica, sans-serif;
                                font-size: 11px;
                                color: #FFFFFF;
                            }'
                            
.write_appoencode_css();

                            
$body '
                            <html>
                            <head>
                                <title>Deine Brieftauben aus '
.$str_townname.'</title>
                                <style>
                                <!--
                                    '
.$str_css.'
                                -->
                                </style>
                            </head>
                            <body>
                                <b>`c`^Brieftauben-Archivierung für '
.$session['user']['login'].' aus
                                '
.$str_townname.'`^, angefertigt am '.date('d. m. Y',time()).'`c`0</b><br><br>
                                    <hr />
                            '
;

                            
$body .= $str_mailbody;
                            
$body .= '</body></html>';

                            
$body appoencode($body);

                            
//Sollte jemand Empfangsprobleme mit 8bit-Kodierung haben muß das ganze noch durch convert.quoted-printable-encode (ab PHP 5.0) geschickt werden

                            
$maili getsetting('gameadminemail','');

                            
$filename 'tauben_'.date('dmyhis',time()).'.html';

                            
$headers='';

                            
$mailbody .= "Taubenarchivierung vom ".date('d. m. Y',time())."\n";


                            
$arr_file = array();
                            
$arr_file['content']     = $body;
                            
$arr_file['name']         = $filename;
                            
$arr_file['encoding']     = 'base64';
                            
$arr_file['type']         = 'Content-type: text/html; charset=ISO-8859-1';


                            if(
send_mail($session['user']['emailaddress'],'Brieftauben aus '.$str_townname,$mailbody,$headers,null,$maili,null,null,array($arr_file)))
                            {
                                
$session['message'] = 'Die '.$int_affected.' markierten Nachrichten wurden erfolgreich an Deine Mailadresse versendet.';
                                
$session['refresh_maillink'] = true;
                                
$session['refresh_minilink'] = true;
                                
//Lösche alle markierten Nachrichten
                                // string erstellen
                                
$string="";
                                if(
is_array($rpaccount))
                                {
                                    foreach(
$rpaccount as $accounts)
                                    {
                                        
//echo($accounts.'<br>');
                                        
$string=$string." OR mail.msgto = ".$accounts."";
                                    }
                                }
                                if(
$session['user2']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account2."";
                                if(
$session['user3']['acctid'])
                                    
$string=$string." OR mail.msgto = ".$account3."";
                                
// ENDE string erstellen
                                
$sql 'DELETE FROM mail WHERE (msgto=\''.$session['user']['acctid'].'\' '.$string.') AND messageid IN (\''.join('\',\'',$_POST['msg']).'\')';
                                
db_query($sql);
                            }
                            else
                            {
                                
$session['message'] = '`$Leider trat beim Versenden der Mail ein Fehler auf!`0';
                            }
                        }
                        
header('Location: mail.php');
                        exit();

                    }
                    break;


                    
$session['refresh_maillink'] = true;
                    
$session['refresh_minilink'] = true;

                    
header('Location: mail.php');
                    exit();
            }
        }
        break;
        
//Sende eine Mail
    
case 'send':    /// xxx
        
{

            
$str_subtitle 'Brieftaube abschicken';

            
// Dieses Formular wurde bereits einmal abgeschickt
            
if($_POST['mailcounter'] != $session['mailcounter']) {

                
$session['message'] = '`@Deine Nachricht wurde gesendet!`0`n';
                
header('Location:mail.php');
                exit;
            }

            
$session['mailcounter'] = '';

            
//Wenn es sich nicht um eine Antwort auf eine Anfrage handelt
            
if (isset($_POST['petitionid'])==false)
            {
                
//Wenn man eine neue nachricht sendet
                
if( isset($_POST['revoke_edit'])==false ){
                    
//Suche nach dem Empfänger
                    
$sql 'SELECT acctid,superuser,emailaddress FROM accounts WHERE login="'.$_POST['to'].'"';
                    
$result db_query($sql);
                    
//Existiert der Empfänger?
                    
if (db_num_rows($result)>0)
                    {
                        
$row1 db_fetch_assoc($result);
                        
//Überprüfen, ob dem Benutzer noch Mails geschickt werden können (Mailbox voll)
                        
$sql 'SELECT count(*) AS count FROM mail WHERE msgto="'.$row1['acctid'].'" AND seen=0 ';
                        
$result db_query($sql);
                        
$row db_fetch_assoc($result);
                        
//Zuviele Mails in der Inbox des Empfängers
                        
if (($row['count']>getsetting('inboxlimit',50)) || (($row1['superuser']>0) && ($row['count']>getsetting('modinboxlimit',50))))
                        {
                            
$output.='Die Mailbox des Empfängers ist voll! Du kannst ihm keine Nachricht schicken.';
                        }
                        
//Mail kann geschrieben werden
                        
else
                        {
                            
//Messagebody bearbeiten
                            
$_POST['body']=str_replace('`n',"\n",$_POST['body']);
                            
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
                            
$_POST['body']=str_replace("\r","\n",$_POST['body']);
                            
$_POST['body']=addslashes(substr(stripslashes($_POST['body']),0,(int)getsetting('mailsizelimit',1024)));
                            
$_POST['body'] = closetags($_POST['body'],'`c`i`b');


                            if(!empty(
$_POST['subject']))
                            {
                                
$_POST['subject']=closetags(str_replace('`n','',$_POST['subject']),'`c`i`b');
                            }
                            else
                            {
                                if(
getsetting('automatic_header_generation',1) == 1)
                                {
                                    
$int_length getsetting('automatic_header_length',60);
                                    
$_POST['subject'] = substr($_POST['body'],0,$int_length).'...';
                                }
                            }

                            
//Soll die Nachricht an die Mailadresse gesendet werden?
                            //Wenn beim senden ein Fehler auftritt wird anschließend die Mail einfach als Taube versendet.
                            
if(isset($_POST['yom_to_mail']) && $_POST['yom_to_mail'] == 1)
                            {
                                
$str_from_name = ($_POST['yom_to_mail_server'] == 1?getsetting('teamname','Drachenserver-Team'):$session['user']['login']);
                                
$str_from_mail = ($_POST['yom_to_mail_server'] == 1?getsetting('petitionemail','postmaster@localhost'):$session['user']['emailaddress']);

                                
$_POST['body'] .= "\n\n\nAnmerkung:\nAntworten an diese Mailadresse werden nicht empfangen, bitte antworte ggf. per Anfrage.";

                                if(
send_mail($row1['emailaddress'],$_POST['subject'],$_POST['body'],'',NULL,$str_from_mail,$str_from_name,NULL,array(),false))
                                {
                                    
$session['message'] = '`@Deine Nachricht wurde and die Mailaddresse gesendet!`0`n';
                                    
//systemlog('versandte eine Mail an einen User',$session['user']['acctid'],$row1['acctid']);
                                    
systemlog('versandte eine Mail an einen User',$_POST['accounts'],$row1['acctid']); 
                                    
header('Location:mail.php');
                                    exit;
                                }
                            }
                            
//systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$session['user']['acctid']); 
                            
systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$_POST['accounts']); 
                            
$session['message'] = '`@Deine Nachricht wurde gesendet!`0`n';

                            
header('Location:mail.php');
                            exit;
                        }
                    }
                    
//Der Empfänger konnte nicht gefunden werden
                    
else
                    {
                        
$output.='Der Empfänger konnte nicht gefunden werden. Bitte versuche es nochmal.';
                    }
                    
db_free_result($result);
                }
                
//wenn man eine gesendete nachricht editiert
                
else{
                    
$msg_id intval($_POST['id']);
                    
$sql     'SELECT seen FROM mail WHERE messageid="'.$msg_id.'"';
                    
$result db_query($sql);
                    
$row     db_fetch_assoc($result);
                    if( 
$row ){
                        if( !
$row['seen'] ){
                            
$_POST['subject']=closetags(str_replace('`n','',$_POST['subject']),'`c`i`b');
                            
$sql     'UPDATE mail SET subject="'.addslashes($_POST['subject']).'", body="'.addslashes($_POST['body']).'" WHERE messageid="'.$msg_id.'"';
                            
$result db_query($sql);
                            
$session['message'] = '`@Deine Nachricht wurde bearbeitet!`0`n';
                            
header('Location:mail.php');
                            exit;
                        }
                        else{
                            
$output.='Diese Nachricht wurde bereits gelesen!';
                        }
                    }
                    else{
                        
$output.='Diese Nachricht wurde bereits gelöscht!';
                    }
                }
            }
            
//Es handelt sich um die Antwort auf eine Anfrage
            
else
            {
                
$sql 'SELECT count(*) AS count FROM petitionmail WHERE petitionid=\''.$_POST['petitionid'].'\' AND msgto=\''.$session['user']['acctid'].'\'';
                
$result db_query($sql);
                
$row db_fetch_assoc($result);
                
//Handelt es sich um die Anfrage des Users?
                
if ($row['count']==0)
                {
                    
$output .= 'Du kannst nur zu deinen eigenen Anfragen etwas schreiben!';
                }
                
//Der User darf antworten
                
else
                {
                    
$_POST['subject']=closetags(str_replace('`n','',$_POST['subject']),'`c`i`b');
                    
$_POST['body']=str_replace('`n',"\n",$_POST['body']);
                    
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
                    
$_POST['body']=str_replace("\r","\n",$_POST['body']);
                    
$_POST['body']=substr($_POST['body'],0,(int)getsetting('mailsizelimit',1024));
                    
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
                    
//petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$session['user']['acctid']); 
                    
petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$_POST['accounts']); 
                    
$output.='Deine Nachricht wurde gesendet!`n';
                }
                
db_free_result($result);
            }
        }
        break;
        
//Zeige alle gesendeten Nachrichten des Nutzers, die noch nicht vom Empfänger gelesen wurden
    
case 'outbox':    
        {

            
$str_subtitle 'Postausgang`0';

            
$output .= '
                    Hier kannst Du von Dir gesendete Brieftauben zurückrufen, wenn diese vom Empfänger noch nicht gelesen wurden`n'
;
            
//Selektiere alle Mails
            // string erstellen
            
$string="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$string=$string." OR mail.msgfrom = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$string=$string." OR mail.msgfrom = ".$account2."";
            if(
$session['user3']['acctid'])
                
$string=$string." OR mail.msgfrom = ".$account3."";
            
// ENDE string erstellen
            
$sql 'SELECT mail.subject,mail.messageid,accounts.name,accountfrom.name as sender,mail.msgfrom,mail.msgto,mail.seen,mail.sent, petitionmail.petitionid 
            FROM mail 
            
            LEFT JOIN petitionmail USING(messageid) 
            LEFT JOIN accounts ON accounts.acctid=mail.msgto 
            LEFT JOIN accounts as accountfrom ON accountfrom.acctid=mail.msgfrom 
            
            WHERE (mail.msgfrom=\''
.$session['user']['acctid'].'\' '.$string.') and mail.seen=0 ORDER BY mail.sent';
            
            
$result db_query($sql);
            
//Anzahl der Tupel bestimmen
            
$int_mails db_num_rows($result);
            
//Wenn mindestens eine Mail vorhanden ist
            
if ($int_mails>0)
            {
                
$output.='<form action="mail.php?op=process&revoke_messages=1" method="POST">';
                
$output.='<table>';
                
$output.='<tr><th></th><th>Betreff</th><th>Emfpänger</th><th>Datum</th><th>Absender</th></tr>';

                
$recent_date date('dm',time());

                
//Stelle jede Mail dar
                
for ($i=0;$i<$int_mails;$i++)
                {
                    
$row db_fetch_assoc($result);

                    
$senttime strtotime($row['sent']);

                    if( 
date('dm',$senttime) == $recent_date )
                    {
                        
$sent 'Heute, '.date('H:i',$senttime);
                    }
                    else
                    {
                        
$sent date(MAIL_DATE_FORMAT,$senttime);
                    }

                    
//Gib alle Details aus
                    
$output.='
                <tr>
                    <td nowrap><input id="checkbox'
.$i.'" type="checkbox" name="msg[]" value="'.$row['messageid'].'"><img src="images/newscroll.GIF" width="16" height="16" alt="ungelesen"></td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'&revoke_messages=1">'.$row['subject'].'</a></td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'&revoke_messages=1">'.$row['name'].'</a></td>
                    <td>'
.$sent.'</td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'&revoke_messages=1">'.$row['sender'].'</a></td>
                </tr>'
;
                }
                
$output.='</table>';

                
//Bei einem Klick auf den Button wird jede Mail markiert
                
$output.='<input type="button" value="Alle markieren" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=true;}';
                
$output.='">';

                
$output.='<input type="button" value="Alle abwählen" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=false;}';
                
$output.='">';


                
$output.='
                        <input type="hidden" name="process_type" value="delete_marked" />
                        <input type="submit" class="button" value="Markierte löschen" />
                    </form>
                '
;
            }
            else
            {
                
$output.='`iEntweder Du hast noch keine Mails versandt oder sie wurden bereits alle gelesen.`i';
            }
            
db_free_result($result);
        }
        break;
        
//Zeige das YOM Archiv an
    
case 'archive':    
        {
            
$str_subtitle 'Archivierte Brieftauben`0';

            
$output .= '
                    Manchmal haben die Nachrichten deiner Brieftauben einen besonders sentimentalen Wert für dich. Du möchtest sie nicht verlieren oder dem Verfall überlassn.
                    Hier kannst Du all\' jene Brieftauben speichern.`n`n'
;

            
//Selektiere alle Mails
            // string erstellen
            
$string="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$string=$string." OR mail.msgto = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$string=$string." OR mail.msgto = ".$account2."";
            if(
$session['user3']['acctid'])
                
$string=$string." OR mail.msgto = ".$account3."";
            
// ENDE string erstellen
            
$sql 'SELECT mail.subject,mail.messageid,accounts.name,accountto.name as empfaenger,mail.msgfrom,mail.seen,mail.sent, petitionmail.petitionid 
            
            FROM mail 
            
            LEFT JOIN petitionmail USING(messageid) 
            LEFT JOIN accounts ON accounts.acctid=mail.msgfrom 
            LEFT JOIN accounts as accountto ON accountto.acctid=mail.msgto 
            
            WHERE (mail.msgto="'
.$session['user']['acctid'].'" '.$string.') AND mail.archived = 1 ORDER BY mail.sent DESC';
            
            
            
$result db_query($sql);

            
//Anzahl der Tupel bestimmen
            
$int_mails db_num_rows($result);
            
//Wenn mindestens eine Mail vorhanden ist
            
if ($int_mails>0)
            {
                
$output.='<form action="mail.php?op=process" method="POST">';
                
$output.='<table>';
                
$output.='<tr><th></th><th>Betreff</th><th>Absender</th><th>Datum</th><th>Empfänger</th></tr>';

                
$recent_date date('dm',time());

                
//Stelle jede Mail dar
                
for ($i=0;$i<$int_mails;$i++)
                {
                    
$row db_fetch_assoc($result);

                    
$senttime strtotime($row['sent']);

                    if( 
date('dm',$senttime) == $recent_date )
                    {
                        
$sent 'Heute, '.date('H:i',$senttime);
                    }
                    else
                    {
                        
$sent date(MAIL_DATE_FORMAT,$senttime);
                    }

                    
//Gib alle Details aus
                    
$output.='
                <tr>
                    <td nowrap><input id="checkbox'
.$i.'" type="checkbox" name="msg[]" value="'.$row['messageid'].'"><img src="images/newscroll.GIF" width="16" height="16" alt="ungelesen"></td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['subject'].'</a></td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['name'].'</a></td>
                    <td>'
.$sent.'</td>
                    <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['empfaenger'].'</a></td>
                </tr>'
;
                }
                
$output.='</table>';

                
//Bei einem Klick auf den Button wird jede Mail markiert
                
$output.='<input type="button" value="Alle markieren" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=true;}';
                
$output.='">';

                
$output.='<input type="button" value="Alle abwählen" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=false;}';
                
$output.='">';

                
$output.='
                <br />
                <select name="process_type">
                    <option value="delete_marked" selected>Lösche markierte Nachrichten</option>
                    '
;

                
//Email - Option nur zeigen wenn sie angeschaltet ist
                
if( $access_control->su_lvl_check(1) || getsetting('message2mail_activated',false)==true)
                {
                    
$output.='<option value="message2mail">Sende markierte Nachrichten an deine EMail Adresse</option>';
                }

                
$output .= '

                    </select>
                    <input type="submit" class="button" value="Los!">
                </form>'
;
            }
            else
            {
                
$output.='`iNoch hast du keine Brieftauben archiviert.`i`n`n';
            }

            
$output .= 'Du hast bereits '.$int_mails.' Brieftaube(n) archiviert und darfst maximal '.
            ( (
$access_control->su_lvl_check(1))? getsetting('archive_yom_mod_limit',50):getsetting('archive_yom_limit',50) ).
            
' Brieftauben archivieren';

            
db_free_result($result);
        }
        break;
        
//Lies eine angegebene Nachricht
    
case 'read':  
        {

            
$str_subtitle     'Brieftaube lesen`0';
            
$revoke         $_GET['revoke_messages'] == 1;
            
$sql_add         '1';
            
//Verhindern, dass man sich fremde mails anguckt! Danke @ Baras fürs melden
            //by Alucard
            
if( $revoke )
            {
                
// string erstellen
                
$string="";
                if(
is_array($rpaccount))
                {
                    foreach(
$rpaccount as $accounts)
                    {
                        
//echo($accounts.'<br>');
                        
$string=$string.' OR mail.msgfrom = '.$accounts.'';
                    }
                }
                if(
$session['user2']['acctid'])
                    
$string=$string.' OR mail.msgfrom = '.$account2.'';
                if(
$session['user3']['acctid'])
                    
$string=$string.' OR mail.msgfrom = '.$account3.'';
                
// ENDE string erstellen
                
$sql_add 'mail.msgfrom='.$session['user']['acctid'].$string;
            }
            else
            {
                
// string erstellen
                
$stringto="";
                if(
is_array($rpaccount))
                {
                    foreach(
$rpaccount as $accounts)
                    {
                        
//echo($accounts.'<br>');
                        
$stringto=$stringto.' OR mail.msgto = '.$accounts.'';
                    }
                }
                if(
$session['user2']['acctid'])
                    
$stringto=$stringto.' OR mail.msgto = '.$account2.'';
                if(
$session['user3']['acctid'])
                    
$stringto=$stringto.' OR mail.msgto = '.$account3.'';
                
// ENDE string erstellen                        
                
$sql_add 'mail.msgto='.$session['user']['acctid'].$stringto;
            }
            
//Hole Daten zur Mail und deren Erzeuger und Empfänger aus der DB
            
$sql 'SELECT mail.*,accounts.name,accounts.acctid,accountto.name as empfaenger, petitionmail.petitionid
                    FROM mail
                    LEFT JOIN petitionmail USING(messageid)
                    LEFT JOIN accounts ON accounts.acctid=mail.msgfrom
                    LEFT JOIN accounts as accountto ON accountto.acctid=mail.msgto 
                    WHERE mail.messageid="'
.(int)$_GET['id'].'" AND ('.$sql_add.')';
                    
            
$result db_query($sql);
            if (
db_num_rows($result)>0)
            {
                
$row db_fetch_assoc($result);
                
db_free_result($result);
                
//Setze die Mail auf den Status "gelesen", es sei denn es ist eine Mail die in der outbox lag und zurückgerufen werden soll
                
if($row['seen'] == && !$revoke)
                {
                    
$sql 'UPDATE mail SET seen=1 WHERE  (msgto=\''.$session['user']['acctid'].'\' '.$stringto.') AND messageid=\''.$row['messageid'].'\'';
                    
//echo($sql);
                    
db_query($sql);
                }

                if ((int)
$row['msgfrom']==0)
                {
                    if ((int)
$row['petitionid']==0)
                    {
                        
$row['name']='`^`iSystem`i`0';
                    }
                    else
                    {
                        
$row['name'] = '`^`iAdmin`i`0';
                    }
                }

                
$row['body'] = soap(closetags($row['body'],'`b`c`i'));
                
// HTML-Sonderzeichen, die Probleme machen könnten, maskieren
                
$row['body'] = str_replace(array('<','>'),array('&lt;','&gt;'),$row['body']);

                if(empty(
$row['subject'])) {
                    
$row['subject'] = '`iKeiner`i';
                }
                else {
                    
$row['subject'] = soap(closetags($row['subject'],'`b`c`i'));
                    
$row['subject'] = str_replace(array('<','>'),array('&lt;','&gt;'),$row['subject']);
                    
$row['subject'] = stripslashes($row['subject']);
                }
                if( 
$revoke ){
                    
$edit_subject str_replace('`','{#96}',$row['subject']);

                    
$edit_body str_replace('`','{#96}',$row['body']);
                    
$edit_body stripslashes($edit_body);
                    
$edit_body htmlentities($edit_body);

                    
$output.='<form action="mail.php?op=send" method="POST" name="mail">
                    <input name="id" type="hidden" value="'
.$row['messageid'].'">
                    <input name="revoke_edit" type="hidden" value="1">'
;
                }
                else
                {
                    
$row['body'] = stripslashes($row['body']);
                }


                
//Ausgabe des Mailtextes formatiert in 3 Tabellen. Header enthält Betreff und Absender, Sendezeit
                
$output.='<table width="595" border="0" cellpadding="0" cellspacing="0" align="center">
                    <tr>
                        <td class=scroll_label>`^'
.$row['subject'].' `2`bvon`b ';
                        
                
///// SHADOWBOX
                
if($session['user']['prefs']['sdwbox'] == 1)
                {    
                    
$output.='`^'.$row['name'].($row['acctid'] > ' <a href="bio.php?id='.$row['acctid'].'">`&[Bio]`0</a>':'').' ';
                }
                else
                {
                    
$output.='`^'.$row['name'].($row['acctid'] > ' <a href="javascript:void(0);" onclick="window.open(\'bio.php?id='.$row['acctid'].'\',\'bio\',\'scrollbars=yes,resizable=yes,width=750,height=450\');">`&[Bio]`0</a>':'').' ';
                }                
                
///// SHADOWBOX
                
$output.='`b `2an `b ';
                
///// SHADOWBOX
                //echo($row['mail.msgto']);
                
if($session['user']['prefs']['sdwbox'] == 1)
                {    
                    
$output.='`^'.$row['empfaenger'].($row['msgto'] > ' <a href="bio.php?id='.$row['msgto'].'">`&[Bio]`0</a>':'').' ';
                }
                else
                {
                    
$output.='`^'.$row['empfaenger'].($row['msgto'] > ' <a href="javascript:void(0);" onclick="window.open(\'bio.php?id='.$row['msgto'].'\',\'bio\',\'scrollbars=yes,resizable=yes,width=750,height=450\');">`&[Bio]`0</a>':'').' ';
                }                
                
///// SHADOWBOX
                
                
$output.='<div align="right">`2`bGesendet:`b `^'.date(MAIL_DATE_FORMAT,strtotime($row["sent"])).'&nbsp;&nbsp;&nbsp;&nbsp;`0</div>';
                
$output.='`0</td>
                    </tr>
                </table>'
;

                
//Hauptfeld mit Seitenrahmen, enthält Editfelder, Brieftext
                
$output.='<table width="595" border="0" cellpadding="0" cellspacing="0" align="center">
                    <tr>
                        <td class="scroll_border_l" />
                        <td class="scroll_main">'
;

                if( 
$revoke ){
                    
$output.='<div id="yom_subject_edit" style="display: none;"><input name="subject" value="'.HTMLEntities($edit_subject).'">&nbsp;&nbsp;noch <input name="rv_counter" size="'.strlen(getsetting('mailsizelimit' ,0)).'" value="'.getsetting('mailsizelimit' ,0).'" readonly> Zeichen übrig.</div>';
                }

                
$output.='<div id="yom_body">'.str_replace("\n",'`n',$row['body']).'</div>';
                if( 
$revoke ){
                    
$output.='<div id="yom_body_edit" style="display: none;">
                                <textarea name="body" class="input" cols="40" rows="9" OnFocus="CountMax('
.getsetting('mailsizelimit' ,0).');" OnClick="CountMax('.getsetting('mailsizelimit' ,0).');" OnChange="CountMax('.getsetting('mailsizelimit' ,0).');" onKeydown="CountMax('.getsetting('mailsizelimit' ,0).');" onKeyup="CountMax('.getsetting('mailsizelimit' ,0).');" wrap="virtual">'.$edit_body.'</textarea>
                            </div>'
;
                }

                
$output.='</td>
                        <td class="scroll_border_r" />
                    </tr>
                </table>'
;

                
//Footer, enthält Aktionen-Links
                
$output.='<table width="595" border="0" cellpadding="0" cellspacing="0" align="center">
                    <tr>
                        <td class="scroll_label_b" style="vertical-align: bottom;text-align:center;"><img src="images/trans.gif" width=55 height=1 style="float: left;clear: none;" alt="">'
;

                if(
$revoke)
                {
                    
$output .= '<a href="javascript:void(0);" onClick="yom_show_edit()" class="motd" id="yom_edit">Editieren</a>';
                    
$output .= '<script type="text/javascript">
                                function yom_show_edit(){
                                    document.getElementById("yom_save").style.display = "inline";
                                    document.getElementById("yom_cancel").style.display = "inline";
                                    document.getElementById("yom_body_edit").style.display = "block";
                                    document.getElementById("yom_subject_edit").style.display = "block";

                                    document.getElementById("yom_edit").style.display = "none";
                                    document.getElementById("yom_body").style.display = "none";
                                    document.getElementById("yom_subject").style.display = "none";
                                }

                                function yom_cancel_edit(){
                                    document.getElementById("yom_edit").style.display = "inline";
                                    document.getElementById("yom_body").style.display = "block";
                                    document.getElementById("yom_subject").style.display = "block";


                                    document.getElementById("yom_save").style.display = "none";
                                    document.getElementById("yom_cancel").style.display = "none";
                                    document.getElementById("yom_body_edit").style.display = "none";
                                    document.getElementById("yom_subject_edit").style.display = "none";
                                }

                                function yom_submit(){
                                    document.mail.submit();
                                }
                                </script>
                                <a href="javascript:void(0);" onClick="yom_submit();return false;" class="motd" id="yom_save" style="display: none;">Speichern</a>
                                <a href="javascript:void(0);" onClick="yom_cancel_edit()" class="motd" id="yom_cancel" style="display: none;">Abbrechen</a>
                                <a href="mail.php?op=del_revoked_message&id='
.$row['messageid'].'" class="motd">Löschen</a>';
                }
                else
                {
                    
$output .= '
                    <a href="mail.php?op=write&replyto='
.$row['messageid'].'" class="motd">Antworten</a>
                    <a href="mail.php?op=del&id='
.$row['messageid'].'" class="motd">Löschen</a>
                    <a href="mail.php?op=process&process_type=archive_marked&msg[]='
.$row['messageid'].'" class="motd">Ins Archiv</a>';
                }

                
//Wenn das Adressbuch angeschaltet ist dann wird der folgende Link angezeigt
                
if(getsetting('show_yom_contacts',1)==|| $session['user']['superuser']>0)
                {
                    
$output.='<a href="mail.php?op=neuerkontakt2&id='.$row['acctid'].'" class="motd">Zu Kontakten</a>';
                }

                
$output.='</td>
                    </tr>
                </table>'
;
                
//hier Ende der 3 Anzeigetabellen

                // Mails in Hauptfenster aktualisieren
                
if( !$revoke ){
                    
$output .= '<script type="text/javascript">
                                    var obj = window.opener.document.getElementById("MAILBOXLINK");
                                    if( obj ){
                                        obj.innerHTML = "'
.addslashes(maillink(true)).'";
                                    }
                                </script>'
;
                    if (
$session['user']['prefs']['minimail'])
                    {
                        
$output .= '<script type="text/javascript">
                                        var obj = window.opener.document.getElementById("MINILINK");
                                        if( obj ){
                                            obj.innerHTML = "'
.addslashes(minimail(true)).'";
                                        }
                                    </script>'
;
                    }
                }
                else{
                    
$output .= '</form>';
                }
            }
            
//Die Nachricht konnte nicht gefunden werden
            
else
            {
                
$output.='Diese Nachricht wurde nicht gefunden!';
            }
        }
        break;
        
//Schreib eine Mail
    
case 'write':  
        {
            
$str_subtitle 'Brieftaube verfassen`0';

            
$bool_write_allowed true;
            
$subject='';
            
$body='';
            
$output.='
                    <form action="mail.php?op=send" method="POST" name="mail">'
;
            
//Wenn Demo-Account
            
if($session['user']['acctid']==getsetting('demouser_acctid',0))
            {
                
$output.='</form>`$Brieftauben verfassen ist beim Demo-Zugang nicht möglich.`n';
                
$bool_write_allowed=false;
            }
            
//Wenn die Mail eine Antwort auf eine vorhergehende Mail ist
            
if ($_GET['replyto']!='')
            {
                
//Lade alle Infomationen über die zu beantwortende Mail
                // string erstellen
                
$string="";
                if(
is_array($rpaccount))
                {
                    foreach(
$rpaccount as $accounts)
                    {
                        
//echo($accounts.'<br>');
                        
$string=$string." OR mail.msgto = ".$accounts."";
                    }
                }
                if(
$session['user2']['acctid'])
                    
$string=$string." OR mail.msgto = ".$account2."";
                if(
$session['user3']['acctid'])
                    
$string=$string." OR mail.msgto = ".$account3."";
                
// ENDE string erstellen
                
$sql 'SELECT mail.body,mail.subject,mail.msgto,accounts.login,accounts.name, accountto.name as empfaenger,accounts.laston,accounts.lastshowon,accounts.loggedin,accounts.showonline,accounts.activated,
                             petitionmail.petitionid 
                             FROM mail 
                             
                             LEFT JOIN petitionmail USING(messageid) 
                             LEFT JOIN accounts ON accounts.acctid=mail.msgfrom 
                             LEFT JOIN accounts as accountto ON accountto.acctid=mail.msgto 
                             
                             WHERE (mail.msgto=\''
.$session['user']['acctid'].'\' '.$string.') AND mail.messageid=\''.$_GET['replyto'].'\'';
                
$result db_query($sql);
                
//Wenn die gesuchte Mail existiert
                
$replay_from=0;
                if (
db_num_rows($result)>0)
                {
                    
$row db_fetch_assoc($result);
                    
db_free_result($result);
                    if (
$row['login']=='' && (int)$row['petitionid']==0)
                    {
                        
$output.='Du kannst nicht auf eine Systemnachricht antworten.`n';
                        
$row=array();
                        
$bool_write_allowed false;
                    }
                    
$replay_from=$row['msgto'];
                }
                else
                {
                    
$output.='Die Nachricht auf die Du antworten willst existiert nicht!`n';
                    
$bool_write_allowed false;
                }
            }
            
//Wenn eine neue Nachricht erstellt werden soll
            
if ($_GET['to']!='')
            {
                
$to $_GET['to'];

                
$str_search '
                <div id="search_div">
                `tWem willst Du eine Brieftaube schicken?`n`n
                '
.form_header('mail.php?op=write','POST',false,'search_form','if(document.getElementById(\'search_sel\').selectedIndex > -1) {this.submit();} else {search();return false;}').'
                    '
.jslib_search('document.getElementById("search_form").submit();','Übernehmen!').'
                </form>
                </div>
                '
;

                
//Überprüfe, ob der Empfänger existiert
                
$sql 'SELECT acctid,login,name,laston,lastshowon,loggedin,showonline,activated FROM accounts WHERE
                       '
.(is_numeric($to) ? 'acctid='.$to 'login="'.addslashes($_GET['to']).'"');
                
                
$result db_query($sql);
                
//Wurde die Person gefunden?
                
if (db_num_rows($result)>0)
                {
                    
$row db_fetch_assoc($result);
                }
                else
                {
                    
$output.='Diese Person konnte nicht gefunden werden`n';
                    
$bool_write_allowed false;
                }
                
db_free_result($result);
            }
            
//Wenn der Empfänger gefunden wurde
            
if (is_array($row))
            {
                
//Check whether this mail is an answer to aMail, and avoid this RE: RE: RE: stuff
                
if ($row['subject']!='')
                {
                    
$subject=$row['subject'];
                    if (
substr($subject,0,4)!='RE: ')
                    {
                        
$subject='RE: '.$subject;
                    }
                }

                if (
$row['body']!='')
                {
                    
$body="\n\n---Vorherige Botschaft---\n".$row['body'];
                }
            }
            if (
$row['petitionid']>0)
            {
                
$output.='`2An: `^`iAdmin`i`n';
            }
            elseif (
$row['login']!='')
            {
                
$str_online '';
                
$str_online = (user_get_showonline(0,$row) ? ' `@(online)`0' ' `4(offline)`0');

                
$output.='<input type="hidden" name="to" value="'.HTMLEntities($row['login']).'">
                `2An: `^'
.$row['name'].$str_online.'`n';
            }
            else
            {
                
$output.='`2An: ';
                
$string str_create_search_string(stripslashes($_POST['to']));

                
//$sql = 'SELECT login,name,laston,loggedin,activated FROM accounts WHERE name LIKE \''.addslashes($string).'\' AND locked=0 ORDER BY IF(login="'.addslashes($str_to).'",1,0) DESC, login ASC';
                
$sql 'SELECT acctid,login,name,laston,lastshowon,loggedin,showonline,activated FROM accounts WHERE name LIKE \''.addslashes($string).'\' AND locked=0 ORDER BY login="'.db_real_escape_string($_POST['to']).'" DESC, login ASC';
                
$result db_query($sql);

                
$int_result_count db_num_rows($result);

                if (
$int_result_count==1)
                {
                    
$row db_fetch_assoc($result);

                    
$str_online '';
                    
$str_online = (user_get_showonline(0,$row) || user_get_rponline($row['acctid']) ? ' `@(online)`0' ' `4(offline)`0');
                    
//echo($row['acctid']);

                    
$output.='<input type="hidden" name="to" value="'.HTMLEntities($row['login']).'">
                `^'
.$row['name'].$str_online.'`n';
                }
                else if(
$int_result_count == 0) {

                    
$output.='Diese Person konnte nicht gefunden werden`n';
                    
$bool_write_allowed false;
                }
                else
                {
                    
$output.='<select name="to">';
                    for (
$i=0;$i<$int_result_count;$i++)
                    {
                        
$row db_fetch_assoc($result);
                        
$str_online '';
                        
$str_online = (user_get_showonline(0,$row) || user_get_rponline($row['acctid']) ? ' (online)' ' (offline)');
                        
//echo($row['acctid']);
                        
$output .= '<option value="'.HTMLEntities($row['login']).'">'.preg_replace('/[`]./','',$row['name']).$str_online;
                    }
                    
$output.='</select>`n';
                }
                
db_free_result($result);
            }

            if(
$bool_write_allowed)
            {
                
// Doppeltes Verschicken einer Mail verhindern by talion
                
$session['mailcounter'] = md5(time());

                
// Formatierungstags in Betreff und Mail maskieren
                
$subject str_replace('`','{#96}',$subject);
                
$body str_replace('`','{#96}',$body);

                
$output.='<input type="hidden" name="mailcounter" value="'.$session['mailcounter'].'">';

                
$output.='`2Betreff:';
                
$output.='<input name="subject" value="'.HTMLEntities($subject).HTMLEntities(stripslashes($_GET['subject'])).'">&nbsp;&nbsp;noch <span id="rv_counter">'.getsetting('mailsizelimit' ,0).'</span> Zeichen übrig.';
                
                
                
// string erstellen
                
$sql="Select acctid, name from accounts where false";
                if(
is_array($rpaccount))
                {
                    foreach(
$rpaccount as $accounts)
                    {
                        
$sql=$sql." OR acctid = ".$accounts."";
                    }
                }
                if(
$session['user2']['acctid'])
                    
$sql=$sql." OR acctid = ".$account2."";
                if(
$session['user3']['acctid'])
                    
$sql=$sql." OR acctid = ".$account3."";
                
                
$result db_query($sql);
                
//echo($sql);
                
$array = array();
                while(
$r db_fetch_assoc($result))
                {
                    
array_push($array$r);
                }
                
$string='<br>Senden als:<br><input type="radio" '.($replay_from ==|| $replay_from==$session['user']['acctid'] ? ' checked ' ' ' ).' name="accounts" value="'.$session['user']['acctid'].'"> '.$session['user']['name'].'';
                foreach( 
$array as $temp )
                {
                    
$string=$string.' <input type="radio" '.( $replay_from==$temp['acctid'] ? ' checked ' ' ' ).' name="accounts" value="'.$temp['acctid'].'"> '.$temp['name'].'';
                }
                
//echo("<br><br>".$replay_from."<br><br>");
                // ENDE string erstellen
                
$output.=$string;
                
                
                
$output.='`n`2Text:`0`n';
                
$output.='<textarea name="body" class="input" cols="70" rows="12" OnFocus="CountMax('.getsetting('mailsizelimit' ,0).');" OnClick="CountMax('.getsetting('mailsizelimit' ,0).');" OnChange="CountMax('.getsetting('mailsizelimit' ,0).');" onKeydown="CountMax('.getsetting('mailsizelimit' ,0).');" onKeyup="CountMax('.getsetting('mailsizelimit' ,0).');" wrap="virtual">'.HTMLEntities($body).HTMLEntities(stripslashes($_GET['body'])).'</textarea><br>';
                
$output.= $access_control->su_check(access_control::SU_RIGHT_WRITE_YOM_TO_MAIL)?'`$Sende die Brieftaube an die Mailadresse <input type="checkbox" name="yom_to_mail" value="1">':'';
                
$output.= $access_control->su_check(access_control::SU_RIGHT_WRITE_YOM_TO_MAIL)?'`n`$Verwende als Absender die Serveraddresse (sonst Deine) <input type="checkbox" name="yom_to_mail_server" value="1" checked><hr>':'';
                
$output.='`n<input type="submit" class="button" value="Senden">`n';
                if (
$row['petitionid']>0)
                {
                    
$output.='<input type="hidden" name="petitionid" value="'.$row['petitionid'].'">';
                }
                
$output.='</form>';
            }
        }
        break;
        
//Empfängersuche
    
case 'address':
        {
            
$str_subtitle 'Brieftaube senden`0';
            
/*$output .= '
                <form action="mail.php?op=write" method="POST">
                    `2<u>A</u>n:`0 <input name="to" accesskey="a"> <input type="submit" class="button" value="Suchen!">
                </form>
            ';*/
            
$output .= '`0
                ' 
form_header('mail.php?op=write') . '
                    `2An:`0' 
jslib_autocomplete_name('to'truetrue) . '
                </form>
            '
;
        }
        break;
    case 
'buch':
        {
            
/**********************************************
            *Diese Box darf nicht entfernt werden!        *
            *-------------------------------------        *
            *Adressbuch von deZent und draKarr            *
            *Version: 0.5                                 *
            *www.plueschdrache.de                         *
            *etwas verändert von talion & Alucard          *
            **********************************************/

            
$sql "
                SELECT
                    y.row_id
                    ,y.player
                    ,y.descr
                    ,a.acctid
                    ,a.name
                    ,a.loggedin
                    ,a.showonline
                    ,a.laston
                    ,a.activated
                    ,("
.user_get_online().")    AS online
                    ,a.alive
                FROM
                    yom_adressbuch y
                LEFT JOIN
                    accounts a
                ON
                    a.acctid=y.player
                WHERE
                    y.acctid="
.$session['user']['acctid']."
                ORDER BY
                    online DESC
                    ,login ASC
            "
;
            
$result db_query($sql);
            
$menge db_num_rows($result);
            
$max_yom_contacts getsetting('max_yom_contacts',1);
            
//Number of contacts left;
            
$yom_contacts_left $max_yom_contacts;
            
$yom_contacts_left-=$menge;

            
$bool_online_shown false;

            
$str_subtitle 'Adressbuch`0';

            
// ADDRESS_PLUMI_CONTACTS
            
define('AD_PL_CO''ADDRESS_PLUMI_CONTACTS');
            
define('AD_PL_GU''ADDRESS_PLUMI_GUILD');
            
define('AD_PL_TE''ADDRESS_PLUMI_TEAM');

            
$bit_pl_CO plu_mi_get_val(AD_PL_CO);
            
$bit_pl_GU plu_mi_get_val(AD_PL_GU);
            
$bit_pl_TE plu_mi_get_val(AD_PL_TE);

            
$plumi_CO_str plu_mi(AD_PL_CO$bit_pl_CO);
            
$pl_CO_ein plu_mi_unique_id(AD_PL_CO);
            
$pl_CO_aus plu_mi_unique_id(AD_PL_CO);
            
$output .= $plumi_CO_str' Kontaktliste '
                
'<span id="' $pl_CO_ein '" ' . ($bit_pl_CO?'style="display:none;" ':'') . '>einblenden</span>'
                
'<span id="' $pl_CO_aus '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>ausblenden</span>'
                
'    <script type="text/javascript">
                        function onPLUMI_' 
AD_PL_CO '(show)
                        {
                            if (show)
                            {
                                $("' 
$pl_CO_ein '").style.display = "none";
                                $("' 
$pl_CO_aus '").style.display = "inline";
                            }
                            else
                            {
                                $("' 
$pl_CO_aus '").style.display = "none";
                                $("' 
$pl_CO_ein '").style.display = "inline";
                            }
                        }
                    </script>`n'
            
;

            if (
$session['user']['guildid'])
            {
                
$plumi_GU_str plu_mi(AD_PL_GU$bit_pl_GU);
                
$pl_GU_ein plu_mi_unique_id(AD_PL_GU);
                
$pl_GU_aus plu_mi_unique_id(AD_PL_GU);
                
$output .= $plumi_GU_str' Gildenliste '
                    
'<span id="' $pl_GU_ein '" ' . ($bit_pl_GU?'style="display:none;" ':'') . '>einblenden</span>'
                    
'<span id="' $pl_GU_aus '" ' . ($bit_pl_GU?'':'style="display:none;" ') . '>ausblenden</span>'
                    
'    <script type="text/javascript">
                            function onPLUMI_' 
AD_PL_GU '(show)
                            {
                                if (show)
                                {
                                    $("' 
$pl_GU_ein '").style.display = "none";
                                    $("' 
$pl_GU_aus '").style.display = "inline";
                                }
                                else
                                {
                                    $("' 
$pl_GU_aus '").style.display = "none";
                                    $("' 
$pl_GU_ein '").style.display = "inline";
                                }
                            }
                        </script>`n'
                
;
            }

            if (
$access_control->su_check(access_control::SU_RIGHT_GROTTO))
            {
                
$plumi_TE_str plu_mi(AD_PL_TE$bit_pl_TE);
                
$pl_TE_ein plu_mi_unique_id(AD_PL_TE);
                
$pl_TE_aus plu_mi_unique_id(AD_PL_TE);
                
$output .= $plumi_TE_str' Teamliste '
                    
'<span id="' $pl_TE_ein '" ' . ($bit_pl_TE?'style="display:none;" ':'') . '>einblenden</span>'
                    
'<span id="' $pl_TE_aus '" ' . ($bit_pl_TE?'':'style="display:none;" ') . '>ausblenden</span>'
                    
'    <script type="text/javascript">
                            function onPLUMI_' 
AD_PL_TE '(show)
                            {
                                if (show)
                                {
                                    $("' 
$pl_TE_ein '").style.display = "none";
                                    $("' 
$pl_TE_aus '").style.display = "inline";
                                }
                                else
                                {
                                    $("' 
$pl_TE_aus '").style.display = "none";
                                    $("' 
$pl_TE_ein '").style.display = "inline";
                                }
                            }
                        </script>`n'
                
;
            }

            
$output .= '`n<div id="' plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>';

            if(
$yom_contacts_left>0)
            {
                
$output .= '
                        `n<a href="mail.php?op=neuerkontakt" class="motd">
                            Neuer Kontakt
                        </a>
                        &nbsp;('
.$yom_contacts_left.'/'.$max_yom_contacts.' frei)`n`n
                '
;
            }
            else
            {
                
$output.='`4Das Maximum von '.$max_yom_contacts.' Kontakten wurde erreicht.`0`n';
            }
            
$output .= '</div>';

            
$output .= '<table>';
            
$output .= '
                <tr id="' 
plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>
                    <td colspan="10">
                        `t`b`nMeine Kontaktliste:`b`0`n
                        <hr>
                    </td>
                </tr>
                '
;

            if (!
$menge)
            {
                
$output.='
                    <tr id="' 
plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>
                        <td colspan="10">
                            `$Du hast noch keine Kontakte gespeichert.`0`n`n
                        </td>
                    </tr>'
;
            }
            else
            {
                for (
$i=0;$i<$menge;$i++)
                {
                    
$k db_fetch_assoc($result);

                    if(
$k['online']) {
                        
$bool_online_shown true;
                    }
                    else {
                        if(
$bool_online_shown) {
                            
$output .= '<tr id="' plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '><td colspan="10"><hr></td></tr>';
                            
$bool_online_shown false;
                        }
                    }

                    
$output.='
                <tr id="' 
plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>
                    <td><a href="mail.php?op=write&to='
.$k['acctid'].'">&raquo; '.$k['name'].'</a></td>
                    <td>&nbsp;&nbsp;</td>
                    <td> '
.$k['descr'].'</td>
                    <td>&nbsp;&nbsp;</td>
                    <td>'
.(($k['online'])?'`@online':'`4offline').' / '.(($k['alive'])?'`@lebend':'`4tot').'`0</td>
                    <td>&nbsp;&nbsp;</td>
                    <td>'
;
                    
                    
///// SHADOWBOX
                    
if($session['user']['prefs']['sdwbox'] == 1)
                    {    
                        
$output.='<a href="bio.php?id='.$k['player'].'">`&[Bio]`0</a> </td>';
                    }
                    else
                    {
                        
$output.='<a href="javascript:void(0);" onclick="window.open(\'bio.php?id='.$k['player'].'\',\'bio\',\'scrollbars=yes,resizable=yes,width=750,height=450\');">`&[Bio]`0</a> </td>';
                    }                
                    
///// SHADOWBOX
                    
                    
$output.='<td>&nbsp;&nbsp;</td>
                    <td><a href="mail.php?op=editkontakt1&row='
.$k['row_id'].'">`$[edit]`0</a> </td>
                    <td><a href="mail.php?op=delkontakt&row='
.$k['row_id'].'">`$[del]`0</a> </td>
                </tr>'
;
                }

                
$output .= '
                    <tr id="' 
plu_mi_unique_id(AD_PL_CO) . '" ' . ($bit_pl_CO?'':'style="display:none;" ') . '>
                        <td colspan="10">
                            `n`n
                        </td>
                    </tr>
                '
;
            }
            
db_free_result($result);

            if (
$session['user']['guildid'])
            {
                require_once(
LIB_PATH 'dg_funcs.lib.php');

                
$sql "
                    SELECT
                        a.acctid
                        ,a.name
                        ,a.loggedin
                        ,a.showonline
                        ,a.laston
                        ,a.activated
                        ,("
.user_get_online().")    AS online
                        ,a.alive
                        ,a.guildfunc
                        ,a.sex
                    FROM
                        `accounts` a
                    WHERE
                        guildid        =    " 
$session['user']['guildid'] . "    AND
                        acctid        !=    " 
$session['user']['acctid'] . "    AND
                        guildfunc    !=    " 
DG_FUNC_CANCELLED "            AND
                        " 
. (DG_FUNC_MEMBERS == $session['user']['guildfunc'] || DG_FUNC_LEADER == $session['user']['guildfunc']?"1=1":"
                        guildfunc != " 
DG_FUNC_APPLICANT ) . "
                    ORDER BY
                        online DESC,
                        a.guildfunc DESC,
                        a.login
                "
;
                
$res db_query($sql);
                
$output .= '
                    <tr id="' 
plu_mi_unique_id(AD_PL_GU) . '" ' . ($bit_pl_GU?'':'style="display:none;" ') . '>
                        <td colspan="10">
                            <a name="guild"></a>
                            `t`bMeine Gilde:`b`0`n
                            <hr>
                        </td>
                    </tr>
                    '
;

                while (
$k db_fetch_assoc($res))
                {
                    if(
$k['online']) {
                        
$bool_online_shown true;
                    }
                    else {
                        if(
$bool_online_shown) {
                            
$output .= '<tr id="' plu_mi_unique_id(AD_PL_GU) . '" ' . ($bit_pl_GU?'':'style="display:none;" ') . '>
                                            <td colspan="10">
                                                <hr>
                                            </td>
                                        </tr>'
;
                            
$bool_online_shown false;
                        }
                    }

                    
$output.='
                <tr id="' 
plu_mi_unique_id(AD_PL_GU) . '" ' . ($bit_pl_GU?'':'style="display:none;" ') . '>
                    <td><a href="mail.php?op=write&to='
.$k['acctid'].'">&raquo; '.$k['name'].'</a></td>
                    <td>&nbsp;&nbsp;</td>
                    <td> '
.$dg_funcs[$k['guildfunc']][$k['sex']].'</td>
                    <td>&nbsp;&nbsp;</td>
                    <td>'
.(($k['online'])?'`@online':'`4offline').' / '.(($k['alive'])?'`@lebend':'`4tot').'`0</td>
                    <td>&nbsp;&nbsp;</td>'
;
                    
                    
///// SHADOWBOX
                    
if($session['user']['prefs']['sdwbox'] == 1)
                    {    
                        
$output.='<td><a href="bio.php?id='.$k['acctid'].'">`&[Bio]`0</a> </td>';
                    }
                    else
                    {
                        
$output.='<td><a href="javascript:void(0);" onclick="window.open(\'bio.php?id='.$k['acctid'].'\',\'bio\',\'scrollbars=yes,resizable=yes,width=750,height=450\');">`&[Bio]`0</a> </td>';
                    }                
                    
///// SHADOWBOX
                    
                    
$output.='<td>&nbsp;&nbsp;</td>
                    <td>&nbsp;&nbsp;</td>
                    <td>&nbsp;&nbsp;</td>
                </tr>
                                 '
;
                }
                                 
$output .= '
                    <tr id="' 
plu_mi_unique_id(AD_PL_GU) . '" ' . ($bit_pl_GU?'':'style="display:none;" ') . '>
                        <td colspan="10">
                            `n`n
                        </td>
                    </tr>
                '
;
            }
            
//$output.='</table>';

            //$output.='`n`n';

            // Bei Superusern mit entsprechendem Recht: Team anzeigen ; )
            
if($access_control->su_check(access_control::SU_RIGHT_GROTTO)) {
                
//$output .= '<a name="team"></a>`n`n`n`t`bTeam:`b`0';
                //$output .= '`n`0<hr>';
                
$output .= '
                    <tr id="' 
plu_mi_unique_id(AD_PL_TE) . '" ' . ($bit_pl_TE?'':'style="display:none;" ') . '>
                        <td colspan="10">
                            `t`b' 
getsetting('teamname''') . ':`b`0`n
                            <hr>
                        </td>
                    </tr>
                    '
;

                
$sql 'SELECT a.acctid,a.name,a.loggedin,a.showonline,a.laston,a.activated,a.superuser
                        FROM accounts a
                        WHERE a.acctid != '
.$session['user']['acctid'].' AND a.superuser>0 AND ('.user_get_online().')
                        ORDER BY superuser DESC, login ASC;'
;
                
$res db_query($sql);
                
$int_last_su 0;
                if(!
db_num_rows($res)) {
                    
$output .= '
                        <tr id="' 
plu_mi_unique_id(AD_PL_TE) . '" ' . ($bit_pl_TE?'':'style="display:none;" ') . '>
                            <td colspan="10">
                                Derzeit ist niemand aus dem Team online!
                            </td>
                        </tr>'
;
                }
                else {
                    
//$output .= '<table>';
                    
$arr_grps user_get_sugroups();
                    while (
$k db_fetch_assoc($res)) {
                        if(
$int_last_su != $k['superuser'] || $int_last_su == 0)
                        {
                            
$output .= '
                                <tr id="' 
plu_mi_unique_id(AD_PL_TE) . '" ' . ($bit_pl_TE?'':'style="display:none;" ') . '>
                                    <td colspan="10">
                                        `b`& -- '
.$arr_grps[$k['superuser']][1].':`0`b
                                    </td>
                                </tr>'
;
                            
$int_last_su $k['superuser'];
                        }
                        
$output.='
                                <tr id="' 
plu_mi_unique_id(AD_PL_TE) . '" ' . ($bit_pl_TE?'':'style="display:none;" ') . '>
                                    <td><a href="mail.php?op=write&to='
.$k['acctid'].'">&raquo; '.$k['name'].'</a></td>
                                    <td>&nbsp;&nbsp;</td>
                                    <td>`@online`0</td>
                                </tr>'
;
                    }
                    
//$output .= '</table>';
                
}
            }
            
// END Teamanzeige

            
$output .= '</table>';
        }
        break;
        
//Eingabe eines neuen Kontakts in das Adressbuch
    
case 'neuerkontakt':
        {
            
$str_subtitle 'Neuer Kontakt';
            if (
$_GET['name'])
            {
                
$_GET['name'] = addslashes($_GET['name']);
                
$output .= '<form action="mail.php?op=neuerkontakt2" method="POST">
                `2Name:`0 <input name="to" value="'
.$_GET['name'].'"> <input type="submit" class="button" value="Kontakt suchen"></form>';
            }
            else
            {
                
$output .= '`0
                    ' 
form_header('?op=neuerkontakt2') . '
                        `2Name:`0 ' 
jslib_autocomplete_name('to'falsetrue) . '<input type="submit" class="button" value="Kontakt suchen">
                    </form>
                '
;
            }
        }
        break;
        
//Suche des Kontakts in der Datenbank
    
case 'neuerkontakt2':
        {
            
$str_subtitle 'Neuer Kontakt';
            
$sql 'SELECT COUNT(*) AS anzahl FROM yom_adressbuch WHERE acctid='.$session['user']['acctid'];
            
$res db_query($sql);
            
$a db_fetch_assoc($res);

            
db_free_result($res);
            if(
$a['anzahl'] >= getsetting('max_yom_contacts',1))
            {
                
$output.='`4Du hast mit '.$a['anzahl'].' bereits das Limit von '.getsetting('max_yom_contacts',1).' Kontakten erreicht!';
            }
            else
            {
                if(
$_POST['to'])
                {
                    
$to stripslashes($_POST['to']);

                    
$output.='`2Name:`0 ';
                    
$string str_create_search_string($to);
                    
$sql 'SELECT name,acctid FROM accounts WHERE name LIKE \''.addslashes($string).'\' ORDER BY IF(login="'.addslashes($to).'",1,0) DESC, login ASC';
                    
$result db_query($sql);
                }
                else
                {
                    
$sql 'SELECT name,acctid FROM accounts WHERE acctid='.(int)$_GET['id'];
                    
$result db_query($sql);
                }

                
$output .= '<form action="mail.php?op=neuerkontakt3" method="POST">';
                
$int_rows db_num_rows($result);
                if(
$int_rows == 0)
                {
                    
$output.='`4Es gibt keinen Spieler mit diesem Namen!`0';
                    
db_free_result($result);
                }
                else
                {
                    if (
$int_rows==1)
                    {
                        
$row db_fetch_assoc($result);
                        
$output .= '<input type="hidden" name="to" value="'.$row['acctid'].'">';
                        
$output.='`^'.$row['name'].'`n';
                    }
                    else
                    {
                        
$output .= '<select name="to">';
                        for (
$i=0;$i<$int_rows;$i++)
                        {
                            
$row db_fetch_assoc($result);
                            
$output.='<option value="'.$row['acctid'].'">';
                            
$output.= preg_replace('/[`]./','',$row['name']);
                        }
                        
$output.='</select><br>`n';
                    }
                    
db_free_result($result);
                    
$output.='<br>`&Beschreibung [max.80]:`0<input type="text" name="descr" maxlenght="80" size="13">
                <br><br><input type="submit" name="s1" value="Kontakt speichern" class="button"></form><br />'
;
                }

            }
        }
        break;
        
//Speichern des Kontakts im Adressbuch
    
case 'neuerkontakt3':
        {
            
$str_subtitle 'Neuer Kontakt';
            
$sql 'SELECT COUNT(*) as menge FROM yom_adressbuch WHERE acctid='.$session['user']['acctid'].' AND player='.(int)$_POST['to'];
            
$result db_query($sql);
            
$anzahl mysql_result($result,0,'menge');
            if (
$anzahl>0)
            {
                
$output.='`n`n`b`$Dieser Kontakt ist bereits gespeichert!`0`b';
            }
            else
            {
                
$descr mysql_escape_string($_POST['descr']);
                
$sql='INSERT INTO yom_adressbuch SET acctid='.$session['user']['acctid'].', player='.(int)$_POST['to'].', descr=\''.$descr.'\'';
                
db_query($sql);
                
$output.='`n`n`b`@Der Kontakt wurde gespeichert.`0`b';
            }
        }
        break;
        
//Editieren des Kontakts, Ausgabe der Maske
    
case 'editkontakt1':
        {
            
$str_subtitle 'Adressbuch editieren';
            if(
$_GET['row'])
            {
                
$sql "SELECT y.row_id,y.descr,a.name FROM yom_adressbuch y, accounts a WHERE y.row_id=".(int)$_GET['row']." AND a.acctid=y.player";
                
                
$res db_query($sql);

                if(
db_num_rows($res))
                {
                    
$k db_fetch_assoc($res);

                    
$output.='<br>`2Name:`0 '.$k['name'].'`0
                <form action="mail.php?op=editkontakt2&row='
.$k['row_id'].'" method="POST">
                <br>Beschreibung [max.80]:`0<input type="text" name="descr" maxlenght="80" size="13" value="'
.$k['descr'].'">
                <br><br><input type="submit" name="s1" value="Kontakt speichern">`n
                </form>`n'
;
                }
                
db_free_result($res);
            }
        }
        break;
        
//Speichern des editierten Kontaktes
    
case 'editkontakt2':
        {
            
$str_subtitle 'Adressbuch editieren';
            
$descr mysql_escape_string($_POST['descr']);
            
$sql='UPDATE yom_adressbuch SET descr = \''.$descr.'\' WHERE row_id='.(int)$_GET['row'];
            
db_query($sql);
            
$output.='`n`n`b`@Der Kontakt wurde gespeichert.`0`b';
        }
        break;
        
//Löschen eines Kontaktes aus dem Adressbuch
    
case 'delkontakt':
        {
            
$str_subtitle 'Kontakt aus Adressbuch löschen';
            
$sql='DELETE FROM yom_adressbuch WHERE row_id='.(int)$_GET['row'].' LIMIT 1 ';
            
db_query($sql);
            
$output.='`n`n`b`@Der Kontakt wurde gelöscht.`0`b';
        }
        break;

        
//Wenn keine Operation angegeben wurde
    
default:
        {
            
$str_subtitle 'Posteingang`0';

            
//Automatische Weiterleitung anzeigen wenn angeschaltet
            
if($access_control->su_check(access_control::SU_RIGHT_FORWARD_YOM_TO_SUPERUSER) && getsetting('forward_yom_admin_enable',1) && $session['user']['prefs']['forward_yom_to_superuser'] != -&& !empty($session['user']['prefs']['forward_yom_to_superuser']))
            {
                
$session['message'] = '`c`$Für deine Tauben ist eine Superuserweiterleitung aktiviert`0`c`n'.$session['message'];
            }

            
//Ausgabe einer Statusnachricht wenn diese vorhanden ist
            
if(!empty($session['message'])) {
                
$output.=''.$session['message'].'`n';
                
//Statusnachricht löschen
                
unset($session['message']);
            }
            if(isset(
$session['refresh_maillink'])) {
                
// Mails in Hauptfenster aktualisieren
                
$output .= '<script type="text/javascript">window.opener.document.getElementById("MAILBOXLINK").innerHTML = "'.addslashes(maillink(true)).'";</script>';
                unset(
$session['refresh_maillink']);
            }

            if(isset(
$session['refresh_minilink']) && $session['user']['prefs']['minimail']) {
                
// Minimails in Hauptfenster aktualisieren
                
$output .= '<script>window.opener.document.getElementById("MINILINK").innerHTML = "'.addslashes(minimail(true)).'";</script>';
                unset(
$session['refresh_minilink']);
            }
            
// string erstellen
            
$string="";
            if(
is_array($rpaccount))
            {
                foreach(
$rpaccount as $accounts)
                {
                    
//echo($accounts.'<br>');
                    
$string=$string." OR mail.msgto = ".$accounts."";
                }
            }
            if(
$session['user2']['acctid'])
                
$string=$string." OR mail.msgto = ".$account2."";
            if(
$session['user3']['acctid'])
                
$string=$string." OR mail.msgto = ".$account3."";
            
// ENDE string erstellen
            
            
$sql 'SELECT mail.subject,mail.messageid,accounts.name,accountto.name as empfaenger,mail.msgfrom,mail.msgto,mail.seen,mail.sent, petitionmail.petitionid 
            
            FROM mail 
            
            LEFT JOIN petitionmail USING(messageid) 
            LEFT JOIN accounts ON accounts.acctid=mail.msgfrom 
            LEFT JOIN accounts as accountto ON accountto.acctid=mail.msgto 
            
            WHERE (mail.msgto='
.$session['user']['acctid'].' '.$string.') AND mail.archived = 0 ORDER BY mail.seen,mail.sent DESC';
            
$result db_query($sql);

            
// Anzahl der ungelesenen Nachrichten bestimmen
            
$int_unseen 0;

            
//Anzahl der Tupel bestimmen
            
$int_mails db_num_rows($result);
            
//Wenn mindestens eine Mail vorhanden ist
            
if ($int_mails>0)
            {
                
$output.='<form action="mail.php?op=process" method="POST">';
                
$output.='<table>';
                
$output.='<tr><th></th><th>Betreff</th><th>Absender</th><th>Datum</th><th>Empfänger</th></tr>';

                
$recent_date date('dm',time());

                
//Stelle jede Mail dar
                
for ($i=0;$i<$int_mails;$i++)
                {
                    
$row db_fetch_assoc($result);
                    
//Falls die Nachricht von System stammt
                    
if ((int)$row['msgfrom']==0)
                    {
                        
//Stammt die nachricht vom System?
                        
if ((int)$row['petitionid']==0)
                        {
                            
$row['name']='`i`^System`0`i';
                        }
                        
//Stammt die nachricht von einem Admin
                        
else
                        {
                            
$row['name']='`i`^Admin`0`i';
                        }
                    }

                    
$senttime strtotime($row['sent']);

                    if( 
date('dm',$senttime) == $recent_date )
                    {
                        
$sent 'Heute, '.date('H:i',$senttime);
                    }
                    else
                    {
                        
$sent date(MAIL_DATE_FORMAT,$senttime);
                    }

                    if(!
$row['seen']) {
                        
$int_unseen++;
                    }

                    
$row['subject'] = stripslashes($row['subject']);

                    
//Gib alle Details aus
                    
$output.='
                    <tr>
                        <td nowrap>
                        <input type="checkbox" name="msg[]" value="'
.$row['messageid'].'">
                        <img src="images/'
.($row['seen']?'old':'new').'scroll.GIF" width="16" height="16" alt="'.($row['seen']?'Alt':'Neu').'">
                        </td>
                        <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['subject'].'</a></td>
                        <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['name'].'</a></td>
                        <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.($row['seen']?'':'`^').$sent.'</a></td>
                        <td><a href="mail.php?op=read&id='
.$row['messageid'].'">'.$row['empfaenger'].'</a></td>
                    </tr>'
;
                }
                
$output.='</table>';
                
//Bei einem Klick auf den Button wird jede Mail markiert
                
$output.='<input type="button" value="Alle markieren" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=true;}';
                
$output.='">';

                
$output.='<input type="button" value="Alle abwählen" class="button" onClick="';
                
$output.='for(i=0;i<document.getElementsByName(\'msg[]\').length;i++) {document.getElementsByName(\'msg[]\')[i].checked=false;}';
                
$output.='">';

                
$output.='
                <br />
                <select name="process_type">
                    <option value="sys">Lösche Systemnachrichten</option>
                    <option value="ugdel">Lösche ungelesene Nachrichten</option>
                    <option value="gdel">Lösche gelesene Nachrichten</option>
                    <option>----------</option>
                    <option value="unread_marked" selected>Setze markierte Nachrichten auf Ungelesen</option>
                    <option value="delete_marked" selected>Lösche markierte Nachrichten</option>
                    '
;

                
//Email - Option nur zeigen wenn sie angeschaltet ist
                
if( $access_control->su_lvl_check(1) || getsetting('message2mail_activated',false)==true)
                {
                    
$output.='<option value="message2mail">Sende markierte Nachrichten an deine EMail Adresse</option>';
                }

                
//Email - Option nur zeigen wenn sie angeschaltet ist
                
if( $access_control->su_lvl_check(1) || getsetting('archive_yom_anabled',1)==1)
                {
                    
$output.='<option>----------</option>';
                    
$output.='<option value="archive_marked">Archiviere die markierten Nachrichten</option>';
                }

                
$output .= '

                    </select>
                    <input type="submit" class="button" value="Los!">
                </form>'
;
            }
            else
            {
                
$output.='`iDu hast momentan keine Mails!`i';
            }
            
db_free_result($result);

            
//Zeige das Nachrichtenlimit an
            //Für Admins
            
if ($access_control->su_lvl_check(1))
            {
                if(
$int_unseen>=getsetting('modinboxlimit',50))
                {
                    
$output.='`n`n`b`4Du hast '.$int_unseen.' ungelesene Nachrichten in deiner Mailbox.`nDu kannst höchstens '.getsetting('modinboxlimit',50).' ungelesene Nachrichten hier speichern. Solange Du zu viele Nachrichten hast, kann dir niemand etwas schicken!`n';
                }
                else
                {
                    
$output.='`n`n`iDu hast insgesamt '.$int_mails.' Nachrichten, davon '.$int_unseen.' ungelesen.`nDu kannst höchstens '.getsetting('modinboxlimit',50).' ungelesene Nachrichten hier speichern.`nNachrichten werden nach '.getsetting('modoldmail',14).' Tagen gelöscht.`i';
                }
            }
            
//Für normale Benutzer
            
else
            {
                if(
$int_unseen>=getsetting('inboxlimit',50))
                {
                    
$output.='`n`n`b`4Du hast '.$int_unseen.' Nachrichten in deiner Mailbox.`nDu kannst höchstens '.getsetting('inboxlimit',50).' ungelesene Nachrichten hier speichern. Solange Du zu viele Nachrichten hast, kann dir niemand etwas schicken!`n';
                }
                else
                {
                    
$output.='`n`n`iDu hast insgesamt '.$int_mails.' Nachrichten, davon '.$int_unseen.' ungelesen.`nDu kannst höchstens '.getsetting('inboxlimit',50).' ungelesene Nachrichten hier speichern.`nNachrichten werden nach '.getsetting('oldmail',14).' Tagen gelöscht.`i';
                }
            }

        }
        break;
}

//Header einstellen
$str_mailname 'Taubenschlag von '.getsetting('townname','Atrahor').'';

popup_header($str_mailnametrue);
$int_size_x 700;
$int_size_y 550;
//Erste Tabelle auf der Seite einstellen
/*$sql="select login from accounts where acctid=".$session['user']['acctid']."";
$result = db_query($sql);
$login = db_fetch_assoc($result);
$main_output .= '`c`bBrieftauben von '.$login['login'].'`c`b`n';*/
$main_output .= '
<table width="100%" border="0">
    <tr>
        <td><a href="mail.php" class="motd">Inbox</a></td>
        <td><a href="mail.php?op=address" class="motd">Mail schreiben</a></td>'
;

//Adressbuch anzeigen wenn es eingeschaltet ist, oder wenn der User ein Admin ist
if(getsetting('show_yom_contacts',1)==|| $access_control->su_lvl_check(1))
{
    
//$int_size_x+=200;
    
$main_output .= '
        <td><a href="mail.php?op=buch" class="motd">Adressbuch</a></td>'
;
}
$main_output .= '
        <td><a href="mail.php?op=outbox" class="motd">Mail zurückrufen</a></td>'
;
if(
getsetting('archive_yom_anabled',1)==|| $access_control->su_lvl_check(1))
{
    
//$int_size_x+=200;
    
$main_output .= '
            <td><a href="mail.php?op=archive" class="motd">Archiv</a></td>'
;
}
$main_output.='
    </tr>
</table>
<div>`c`b`&'
.$str_subtitle.'`0`b`n~~~`n`c</div>
'
;

$main_output .= '<script language="javascript" type="text/javascript">window.resizeTo('.$int_size_x.','.$int_size_y.')</script>';

//Dieser Teil hier ist lotgd.drachenserver.de spezifisch, er enthält etwas Werbung
/*$tail_output .= '
<div style="text-align:center; margin:30px;">
    <script type="text/javascript"><!--
    google_ad_client = "pub-3924728103525542";
    google_ad_width = 468;
    google_ad_height = 60;
    google_ad_format = "468x60_as";
    google_ad_type = "text_image";
    google_ad_channel ="8622662812";
    google_color_border = "333333";
    google_color_bg = "000000";
    google_color_link = "FFFFFF";
    google_color_url = "999999";
    google_color_text = "CCCCCC";
    //--></script>
    <script type="text/javascript"
        src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
</div>';
*/

//Der gesammelte HTML Quelltext wird jetzt noch einmal durch den Parser gejagd, damit alle
//Farben und Formatierungen übernommen werden
$output appoencode($main_output.$output.$tail_output,true);

// Maskierte Formatierungstags wieder zurückverwandeln
// Workaround, nicht optimal.
$output str_replace('{#96}','`',$output);

//Anschließend wird die Seite geschlossen!
popup_footer(true);
?>
0.9.7(DS V3) Ithil-Edition