22452 14:44:04.018988 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f358bf14000
22452 14:44:04.038944 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f358bf13000
22452 14:44:04.058908 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f358bf12000
22452 14:44:04.078872 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f359279e000
22452 14:44:04.098818 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f359279c000
22452 14:44:04.108807 arch_prctl(ARCH_SET_FS, 0x7f359279c7e0) = 0
22452 14:44:04.119005 mprotect(0x3ddb81c000, 4096, PROT_READ) = 0
22452 14:44:04.120662 mprotect(0x7f358bf10000, 4096, PROT_READ) = 0
22452 14:44:04.120875 mprotect(0x7f358c150000, 4096, PROT_READ) = 0
22452 14:44:04.120976 mprotect(0x7f358c35b000, 4096, PROT_READ) = 0
22452 14:44:04.121077 mprotect(0x7f358c562000, 4096, PROT_READ) = 0
22452 14:44:04.121392 mprotect(0x7f358c78d000, 24576, PROT_READ) = 0
22452 14:44:04.121997 mprotect(0x7f358cacd000, 20480, PROT_READ) = 0
22452 14:44:04.122298 mprotect(0x7f358ccff000, 16384, PROT_READ) = 0
22452 14:44:04.122483 mprotect(0x7f358cf41000, 12288, PROT_READ) = 0
22452 14:44:04.122600 mprotect(0x7f358d155000, 4096, PROT_READ) = 0
22452 14:44:04.122696 mprotect(0x3de0801000, 4096, PROT_READ) = 0
22452 14:44:04.122857 mprotect(0x7f358d361000, 4096, PROT_READ) = 0
22452 14:44:04.123018 mprotect(0x3ddd816000, 4096, PROT_READ) = 0
22452 14:44:04.123717 mprotect(0x7f358d71d000, 110592, PROT_READ) = 0
22452 14:44:04.124004 mprotect(0x7f358d9a9000, 16384, PROT_READ) = 0
22452 14:44:04.124164 mprotect(0x7f358dbcf000, 4096, PROT_READ) = 0
22452 14:44:04.127871 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f359279b000
22452 14:44:04.128048 mprotect(0x7f358e0d8000, 28672, PROT_READ) = 0
22452 14:44:04.128161 mprotect(0x3de2002000, 4096, PROT_READ) = 0
22452 14:44:04.128298 mprotect(0x7f358e369000, 4096, PROT_READ) = 0
22452 14:44:04.128418 mprotect(0x7f358e5e0000, 8192, PROT_READ) = 0
22452 14:44:04.128817 mprotect(0x7f358e972000, 16384, PROT_READ) = 0
22452 14:44:04.129766 mprotect(0x7f358ee31000, 8192, PROT_READ) = 0
22452 14:44:04.130190 mprotect(0x7f358f29a000, 4096, PROT_READ) = 0
22452 14:44:04.130311 mprotect(0x7f358f4c9000, 4096, PROT_READ) = 0
22452 14:44:04.130721 mprotect(0x7f358f7aa000, 40960, PROT_READ) = 0
22452 14:44:04.131084 mprotect(0x7f358f9f9000, 4096, PROT_READ) = 0
22452 14:44:04.131640 mprotect(0x7f358ff6d000, 4096, PROT_READ) = 0
22452 14:44:04.131740 mprotect(0x7f35901fa000, 4096, PROT_READ) = 0
22452 14:44:04.131843 mprotect(0x7f3590416000, 4096, PROT_READ) = 0
22452 14:44:04.132611 mprotect(0x7f359087c000, 4096, PROT_READ) = 0
22452 14:44:04.133571 mprotect(0x7f35914d2000, 4096, PROT_READ) = 0
22452 14:44:04.133676 mprotect(0x7f35916de000, 4096, PROT_READ) = 0
22452 14:44:04.135531 mprotect(0x3dda014000, 4096, PROT_READ) = 0
22452 14:44:04.135651 mprotect(0x7f359256f000, 4096, PROT_READ) = 0
22452 14:44:04.136832 mprotect(0x7f35927bf000, 4096, PROT_READ) = 0
22452 14:44:04.136966 munmap(0x7f35927b0000, 60979) = 0
22452 14:44:04.137066 set_tid_address(0x7f359279cab0) = 22452
22452 14:44:04.137124 set_robust_list(0x7f359279cac0, 0x18) = 0
22452 14:44:04.137185 futex(0x7fff403edb5c, FUTEX_WAKE_PRIVATE, 1) = 0
22452 14:44:04.137254 futex(0x7fff403edb5c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f359279c7e0) = -1 EAGAIN (Resource temporarily unavailable)
22452 14:44:04.137361 rt_sigaction(SIGRTMIN, {0x7f358d9bdc60, [], SA_RESTORER|SA_SIGINFO, 0x7f358d9c7710}, NULL, 8) = 0
22452 14:44:04.137473 rt_sigaction(SIGRT_1, {0x7f358d9bdcf0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f358d9c7710}, NULL, 8) = 0
22452 14:44:04.137557 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
22452 14:44:04.137671 getrlimit(RLIMIT_STACK, {rlim_cur=11240*1024, rlim_max=11240*1024}) = 0
22452 14:44:04.137834 statfs("/selinux", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=3779682, f_bfree=2592595, f_bavail=2400595, f_files=960992, f_ffree=768108, f_fsid={-50045579, 1814910585}, f_namelen=255, f_frsize=4096}) = 0
22452 14:44:04.138094 brk(0)            = 0x1b1b000
22452 14:44:04.138153 brk(0x1b3c000)    = 0x1b3c000
22452 14:44:04.138239 open("/proc/filesystems", O_RDONLY) = 3
22452 14:44:04.138366 fstat(3, {st_dev=makedev(0, 3), st_ino=4026532009, st_mode=S_IFREG|0444, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=0, st_size=0, st_atime=2014/05/23-14:44:04, st_mtime=2014/05/23-14:44:04, st_ctime=2014/05/23-14:44:04}) = 0
22452 14:44:04.138492 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.138564 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tbdev\nnodev\tproc\nnodev\tcgroup\nnodev\tcpuset\nnodev\ttmpfs\nnodev\tdebugfs\nnodev\tsockfs\nnodev\tusbfs\nnodev\tpipefs\nnodev\tanon_inodefs\nnodev\tconfigfs\nnodev\tdevpts\n\text2\nnodev\tramfs\nnodev\thugetlbfs\nnodev\t9p\n\text4\nnodev\tbinfmt_misc\n", 1024) = 251
22452 14:44:04.138776 read(3, "", 1024) = 0
22452 14:44:04.138862 close(3)          = 0
22452 14:44:04.138932 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.139199 access("/usr/share/dracut/modules.d/01fips", F_OK) = -1 ENOENT (No such file or directory)
22452 14:44:04.139994 getpeername(0, 0x7fff403eb4c0, [112]) = -1 ENOTSOCK (Socket operation on non-socket)
22452 14:44:04.140102 rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, {SIG_IGN, [], 0}, 8) = 0
22452 14:44:04.140288 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.140494 mmap(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f359275a000
22452 14:44:04.140850 open("/etc/localtime", O_RDONLY) = 3
22452 14:44:04.140949 fstat(3, {st_dev=makedev(8, 2), st_ino=783475, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=3543, st_atime=2014/05/23-11:37:01, st_mtime=2011/08/04-20:22:08, st_ctime=2013/08/27-11:36:32}) = 0
22452 14:44:04.141086 fstat(3, {st_dev=makedev(8, 2), st_ino=783475, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=3543, st_atime=2014/05/23-11:37:01, st_mtime=2011/08/04-20:22:08, st_ctime=2013/08/27-11:36:32}) = 0
22452 14:44:04.141225 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.141308 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0\0\0\0\353\0\0\0\5\0\0\0\24\236\246,\200\237\272\371p\240\206\16\200\241\232\333p\242\313t\0\243\203\367\360\244E\322\200\245c\331\360\246S\331\0\247\25\227p\2503\273\0\250\376\263\360\252\23\235\0\252\336\225\360\253\363\177\0\254\276w\360\255\323a\0\256\236Y\360\257\263C\0\260~;\360\261\234_\200\262gXp\263|A\200\264G:p\265\\#\200\266'\34p\267<\5\200\270\6\376p\271\33\347\200\271\346\340p\273\5\4\0\273\306\302p\274\344\346\0\275\257\336\360\276\304\310\0\277\217\300\360\300Z\326\0\301\260<p\302\204\214\0\303O\204\360\304dn\0\305/f\360\306M\212\200\307\17H\360\310-l\200\310\370ep\312\rN\200\312\330Gp\313\210\376\200\322#\364p\322a\t\360\323u\363\0\324@\353\360\325U\325\0\326 \315\360\3275\267\0\330\0\257\360\331\25\231\0\331\340\221\360\332\376\265\200\333\300s\360\334\336\227\200\335\251\220p\336\276y\200\337\211rp\340\236[\200\341iTp\342~=\200\343I6p\344^\37\200\345W<\360\346G<\0\3477\36\360\350'\36\0\351\27\0\360\352\7\0\0\352\366\342\360\353\346\342\0\354\326\304\360\355\306\304\0\356\277\341p\357\257\340\200\360\237\303p\361\217\302\200\362\177\245p\363o\244\200\364_\207p\365O\206\200\366?ip\367/h\200\370(\205\360\371\17J\200\372\10g\360\372\370g\0\373\350I\360\374\330I\0\375\310+\360\376\270+\0\377\250\r\360\0\230\r\0\1\207\357\360\2w\357\0\3q\fp\4a\v\200\5P\356p\6@\355\200\0070\320p\7\215'\200\t\20\262p\t\255\243\0\n\360\224p\v\340\223\200\f\331\260\360\r\300u\200\16\271\222\360\17\251\222\0\20\231t\360\21\211t\0\22yV\360\23iV\0\24Y8\360\25I8\0\0269\32\360\27)\32\0\30\"7p\31\10\374\0\32\2\31p\32\362\30\200\33\341\373p\34\321\372\200\35\301\335p\36\261\334\200\37\241\277p v\17\0!\201\241p\"U\361\0#j\275\360$5\323\0%J\237\360&\25\265\0'*\201\360'\376\321\200)\nc\360)\336\263\200*\352E\360+\276\225\200,\323bp-\236w\200.\263Dp/~Y\2000\223&p1gv\0002s\10p3GX\0004R\352p5':\00062\314p7\7\34\0008\33\350\3608\346\376\0009\373\312\360:\306\340\0;\333\254\360<\257\374\200=\273\216\360>\217\336\200?\233p\360@o\300\200A\204\215pBO\242\200CdopD/\204\200EDQpE\363\267\0G-m\360G\323\231\0I\rO\360I\263{\0J\3551\360K\234\227\200L\326NpM|y\200N\2660pO\\[\200P\226\22pQ<=\200Ru\364pS\34\37\200TU\326pT\374\1\200V5\270pV\345\36\0X\36\324\360X\305\0\0Y\376\266\360Z\244\342\0[\336\230\360\\\204\304\0]\276z\360^d\246\0_\236\\\360`M\302\200a\207ypb-\244\200cg[pd\r\206\200eG=pe\355h\200g'\37pg\315J\200i\7\1pi\255,\200j\346\343pk\226I\0l\317\377\360mv+\0n\257\341\360oV\r\0p\217\303\360q5\357\0ro\245\360s\25\321\0tO\207\360t\376\355\200v8\244pv\336\317\200x\30\206px\276\261\200y\370hpz\236\223\200{\330Jp|~u\200}\270,p~^W\200\177\230\16p\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\2\1\0\1\0\1\0\1\0\1\0\1\3\4\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\377\377\271\260\1\0\377\377\253\240\0\4\377\377\271\260\0\10\377\377\271\260\1\f\377\377\271\260\1\20CDT\0CST\0EST\0CWT\0CPT\0\0\0\0\0\1\0\0\0\0\1TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0\0\0\0\0\0\0\354\0\0\0\6\0\0\0\30\377\377\377\377^\3\376\240\377\377\377\377\236\246,\200\377\377\377\377\237\272\371p\377\377\377\377\240\206\16\200\377\377\377\377\241\232\333p\377\377\377\377\242\313t\0\377\377\377\377\243\203\367\360\377\377\377\377\244E\322\200\377\377\377\377\245c\331\360\377\377\377\377\246S\331\0\377\377\377\377\247\25\227p\377\377\377\377\2503\273\0\377\377\377\377\250\376\263\360\377\377\377\377\252\23\235\0\377\377\377\377\252\336\225\360\377\377\377\377\253\363\177\0\377\377\377\377\254\276w\360\377\377\377\377\255\323a\0\377\377\377\377\256\236Y\360\377\377\377\377\257\263C\0\377\377\377\377\260~;\360\377\377\377\377\261\234_\200\377\377\377\377\262gXp\377\377\377\377\263|A\200\377\377\377\377\264G:p\377\377\377\377\265\\#\200\377\377\377\377\266'\34p\377\377\377\377\267<\5\200\377\377\377\377\270\6\376p\377\377\377\377\271\33\347\200\377\377\377\377\271\346\340p\377\377\377\377\273\5\4\0\377\377\377\377\273\306\302p\377\377\377\377\274\344\346\0\377\377\377\377\275\257\336\360\377\377\377\377\276\304\310\0\377\377\377\377\277\217\300\360\377\377\377\377\300Z\326\0\377\377\377\377\301\260<p\377\377\377\377\302\204\214\0\377\377\377\377\303O\204\360\377\377\377\377\304dn\0\377\377\377\377\305/f\360\377\377\377\377\306M\212\200\377\377\377\377\307\17H\360\377\377\377\377\310-l\200\377\377\377\377\310\370ep\377\377\377\377\312\rN\200\377\377\377\377\312\330Gp\377\377\377\377\313\210\376\200\377\377\377\377\322#\364p\377\377\377\377\322a\t\360\377\377\377\377\323u\363\0\377\377\377\377\324@\353\360\377\377\377\377\325U\325\0\377\377\377\377\326 \315\360\377\377\377\377\3275\267\0\377\377\377\377\330\0\257\360\377\377\377\377\331\25\231\0\377\377\377\377\331\340\221\360\377\377\377\377\332\376\265\200\377\377\377\377\333\300s\360\377\377\377\377\334\336\227\200\377\377\377\377\335\251\220p\377\377\377\377\336\276y\200\377\377\377\377\337\211rp\377\377\377\377\340\236[\200\377\377\377\377\341iTp\377\377\377\377\342~=\200\377\377\377\377\343I6p\377\377\377\377\344^\37\200\377\377\377\377\345W<\360\377\377\377\377\346G<\0\377\377\377\377\3477\36\360\377\377\377\377\350'\36\0\377\377\377\377\351\27\0\360\377\377\377\377\352\7\0\0\377\377\377\377\352\366\342\360\377\377\377\377\353\346\342\0\377\377\377\377\354\326\304\360\377\377\377\377\355\306\304\0\377\377\377\377\356\277\341p\377\377\377\377\357\257\340\200\377\377\377\377\360\237\303p\377\377\377\377\361\217\302\200\377\377\377\377\362\177\245p\377\377\377\377\363o\244\200\377\377\377\377\364_\207p\377\377\377\377\365O\206\200\377\377\377\377\366?ip\377\377\377\377\367/h\200\377\377\377\377\370(\205\360\377\377\377\377\371\17J\200\377\377\377\377\372\10g\360\377\377\377\377\372\370g\0\377\377\377\377\373\350I\360\377\377\377\377\374\330I\0\377\377\377\377\375\310+\360\377\377\377\377\376\270+\0\377\377\377\377\377\250\r\360\0\0\0\0\0\230\r\0\0\0\0\0\1\207\357\360\0\0\0\0\2w\357\0\0\0\0\0\3q\fp\0\0\0\0\4a\v\200\0\0\0\0\5P\356p\0\0\0\0\6@\355\200\0\0\0\0\0070\320p\0\0\0\0\7\215'\200\0\0\0\0\t\20\262p\0\0\0\0\t\255\243\0\0\0\0\0\n\360\224p\0\0\0\0\v\340\223\200\0\0\0\0\f\331\260\360\0\0\0\0\r\300u\200\0\0\0\0\16\271\222\360\0\0\0\0\17\251\222\0\0\0\0\0\20\231t\360\0\0\0\0\21\211t\0\0\0\0\0\22yV\360\0\0\0\0\23iV\0\0\0\0\0\24Y8\360\0\0\0\0\25I8\0\0\0\0\0\0269\32\360\0\0\0\0\27)\32\0\0\0\0\0\30\"7p\0\0\0\0\31\10\374\0\0\0\0\0\32\2\31p\0\0\0\0\32\362\30\200\0\0\0\0\33\341\373p\0\0\0\0\34\321\372\200\0\0\0\0\35\301\335p\0\0\0\0\36\261\334\200\0\0\0\0\37\241\277p\0\0\0\0 v\17\0\0\0\0\0!\201\241p\0\0\0\0\"U\361\0\0\0\0\0#j\275\360\0\0\0\0$5\323\0\0\0\0\0%J\237\360\0\0\0\0&\25\265\0\0\0\0\0'*\201\360\0\0\0\0'\376\321\200\0\0\0\0)\nc\360\0\0\0\0)\336\263\200\0\0\0\0*\352E\360\0\0\0\0+\276\225\200\0\0\0\0,\323bp\0\0\0\0-\236w\200\0\0\0\0.\263Dp\0\0\0\0/~Y\200\0\0\0\0000\223&p\0\0\0\0001gv\0\0\0\0\0002s\10p\0\0\0\0003GX\0\0\0\0\0004R\352p\0\0\0\0005':\0\0\0\0\00062\314p\0\0\0\0007\7\34\0\0\0\0\0008\33\350\360\0\0\0\0008\346\376\0\0\0\0\0009\373\312\360\0\0\0\0:\306\340\0\0\0\0\0;\333\254\360\0\0\0\0<\257\374\200\0\0\0\0=\273\216\360\0\0\0\0>\217\336\200\0\0\0\0?\233p\360\0\0\0\0@o\300\200\0\0\0\0A\204\215p\0\0\0\0BO\242\200\0\0\0\0Cdop\0\0\0\0D/\204\200\0\0\0\0EDQp\0\0\0\0E\363\267\0\0\0\0\0G-m\360\0\0\0\0G\323\231\0\0\0\0\0I\rO\360\0\0\0\0I\263{\0\0\0\0\0J\3551\360\0\0\0\0K\234\227\200\0\0\0\0L\326Np\0\0\0\0M|y\200\0\0\0\0N\2660p\0\0\0\0O\\[\200\0\0\0\0P\226\22p\0\0\0\0Q<=\200\0\0\0\0Ru\364p\0\0\0\0S\34\37\200\0\0\0\0TU\326p\0\0\0\0T\374\1\200\0\0\0\0V5\270p\0\0\0\0V\345\36\0\0\0\0\0X\36\324\360\0\0\0\0X\305\0\0\0\0\0\0Y\376\266\360\0\0\0\0Z\244\342\0\0\0\0\0[\336\230\360\0\0\0\0\\\204\304\0\0\0\0\0]\276z\360\0\0\0\0^d\246\0\0\0\0\0_\236\\\360\0\0\0\0`M\302\200\0\0\0\0a\207yp\0\0\0\0b-\244\200\0\0\0\0cg[p\0\0\0\0d\r\206\200\0\0\0\0eG=p\0\0\0\0e\355h\200\0\0\0\0g'\37p\0\0\0\0g\315J\200\0\0\0\0i\7\1p\0\0\0\0i\255,\200\0\0\0\0j\346\343p\0\0\0\0k\226I\0\0\0\0\0l\317\377\360\0\0\0\0mv+\0\0\0\0\0n\257\341\360\0\0\0\0oV\r\0\0\0\0\0p\217\303\360\0\0\0\0q5\357\0\0\0\0\0ro\245\360\0\0\0\0s\25\321\0\0\0\0\0tO\207\360\0\0\0\0t\376\355\200\0\0\0\0v8\244p\0\0\0\0v\336\317\200\0\0\0\0x\30\206p\0\0\0\0x\276\261\200\0\0\0\0y\370hp\0\0\0\0z\236\223\200\0\0\0\0{\330Jp\0\0\0\0|~u\200\0\0\0\0}\270,p\0\0\0\0~^W\200\0\0\0\0\177\230\16p\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\3\2\1\2\1\2\1\2\1\2\1\2\4\5\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\377\377\255\324\0\0\377\377\271\260\1\4\377\377\253\240\0\10\377\377\271\260\0\f\377\377\271\260\1\20\377\377\271\260\1\24LMT\0CDT\0CST\0EST\0CWT\0CPT\0\0\0\0\0\0\1\0\0\0\0\0\1\nCST6CDT,M3.2.0,M11.1.0\n", 4096) = 3543
22452 14:44:04.143668 lseek(3, -2264, SEEK_CUR) = 1279
22452 14:44:04.143754 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0\0\0\0\0\0\0\354\0\0\0\6\0\0\0\30\377\377\377\377^\3\376\240\377\377\377\377\236\246,\200\377\377\377\377\237\272\371p\377\377\377\377\240\206\16\200\377\377\377\377\241\232\333p\377\377\377\377\242\313t\0\377\377\377\377\243\203\367\360\377\377\377\377\244E\322\200\377\377\377\377\245c\331\360\377\377\377\377\246S\331\0\377\377\377\377\247\25\227p\377\377\377\377\2503\273\0\377\377\377\377\250\376\263\360\377\377\377\377\252\23\235\0\377\377\377\377\252\336\225\360\377\377\377\377\253\363\177\0\377\377\377\377\254\276w\360\377\377\377\377\255\323a\0\377\377\377\377\256\236Y\360\377\377\377\377\257\263C\0\377\377\377\377\260~;\360\377\377\377\377\261\234_\200\377\377\377\377\262gXp\377\377\377\377\263|A\200\377\377\377\377\264G:p\377\377\377\377\265\\#\200\377\377\377\377\266'\34p\377\377\377\377\267<\5\200\377\377\377\377\270\6\376p\377\377\377\377\271\33\347\200\377\377\377\377\271\346\340p\377\377\377\377\273\5\4\0\377\377\377\377\273\306\302p\377\377\377\377\274\344\346\0\377\377\377\377\275\257\336\360\377\377\377\377\276\304\310\0\377\377\377\377\277\217\300\360\377\377\377\377\300Z\326\0\377\377\377\377\301\260<p\377\377\377\377\302\204\214\0\377\377\377\377\303O\204\360\377\377\377\377\304dn\0\377\377\377\377\305/f\360\377\377\377\377\306M\212\200\377\377\377\377\307\17H\360\377\377\377\377\310-l\200\377\377\377\377\310\370ep\377\377\377\377\312\rN\200\377\377\377\377\312\330Gp\377\377\377\377\313\210\376\200\377\377\377\377\322#\364p\377\377\377\377\322a\t\360\377\377\377\377\323u\363\0\377\377\377\377\324@\353\360\377\377\377\377\325U\325\0\377\377\377\377\326 \315\360\377\377\377\377\3275\267\0\377\377\377\377\330\0\257\360\377\377\377\377\331\25\231\0\377\377\377\377\331\340\221\360\377\377\377\377\332\376\265\200\377\377\377\377\333\300s\360\377\377\377\377\334\336\227\200\377\377\377\377\335\251\220p\377\377\377\377\336\276y\200\377\377\377\377\337\211rp\377\377\377\377\340\236[\200\377\377\377\377\341iTp\377\377\377\377\342~=\200\377\377\377\377\343I6p\377\377\377\377\344^\37\200\377\377\377\377\345W<\360\377\377\377\377\346G<\0\377\377\377\377\3477\36\360\377\377\377\377\350'\36\0\377\377\377\377\351\27\0\360\377\377\377\377\352\7\0\0\377\377\377\377\352\366\342\360\377\377\377\377\353\346\342\0\377\377\377\377\354\326\304\360\377\377\377\377\355\306\304\0\377\377\377\377\356\277\341p\377\377\377\377\357\257\340\200\377\377\377\377\360\237\303p\377\377\377\377\361\217\302\200\377\377\377\377\362\177\245p\377\377\377\377\363o\244\200\377\377\377\377\364_\207p\377\377\377\377\365O\206\200\377\377\377\377\366?ip\377\377\377\377\367/h\200\377\377\377\377\370(\205\360\377\377\377\377\371\17J\200\377\377\377\377\372\10g\360\377\377\377\377\372\370g\0\377\377\377\377\373\350I\360\377\377\377\377\374\330I\0\377\377\377\377\375\310+\360\377\377\377\377\376\270+\0\377\377\377\377\377\250\r\360\0\0\0\0\0\230\r\0\0\0\0\0\1\207\357\360\0\0\0\0\2w\357\0\0\0\0\0\3q\fp\0\0\0\0\4a\v\200\0\0\0\0\5P\356p\0\0\0\0\6@\355\200\0\0\0\0\0070\320p\0\0\0\0\7\215'\200\0\0\0\0\t\20\262p\0\0\0\0\t\255\243\0\0\0\0\0\n\360\224p\0\0\0\0\v\340\223\200\0\0\0\0\f\331\260\360\0\0\0\0\r\300u\200\0\0\0\0\16\271\222\360\0\0\0\0\17\251\222\0\0\0\0\0\20\231t\360\0\0\0\0\21\211t\0\0\0\0\0\22yV\360\0\0\0\0\23iV\0\0\0\0\0\24Y8\360\0\0\0\0\25I8\0\0\0\0\0\0269\32\360\0\0\0\0\27)\32\0\0\0\0\0\30\"7p\0\0\0\0\31\10\374\0\0\0\0\0\32\2\31p\0\0\0\0\32\362\30\200\0\0\0\0\33\341\373p\0\0\0\0\34\321\372\200\0\0\0\0\35\301\335p\0\0\0\0\36\261\334\200\0\0\0\0\37\241\277p\0\0\0\0 v\17\0\0\0\0\0!\201\241p\0\0\0\0\"U\361\0\0\0\0\0#j\275\360\0\0\0\0$5\323\0\0\0\0\0%J\237\360\0\0\0\0&\25\265\0\0\0\0\0'*\201\360\0\0\0\0'\376\321\200\0\0\0\0)\nc\360\0\0\0\0)\336\263\200\0\0\0\0*\352E\360\0\0\0\0+\276\225\200\0\0\0\0,\323bp\0\0\0\0-\236w\200\0\0\0\0.\263Dp\0\0\0\0/~Y\200\0\0\0\0000\223&p\0\0\0\0001gv\0\0\0\0\0002s\10p\0\0\0\0003GX\0\0\0\0\0004R\352p\0\0\0\0005':\0\0\0\0\00062\314p\0\0\0\0007\7\34\0\0\0\0\0008\33\350\360\0\0\0\0008\346\376\0\0\0\0\0009\373\312\360\0\0\0\0:\306\340\0\0\0\0\0;\333\254\360\0\0\0\0<\257\374\200\0\0\0\0=\273\216\360\0\0\0\0>\217\336\200\0\0\0\0?\233p\360\0\0\0\0@o\300\200\0\0\0\0A\204\215p\0\0\0\0BO\242\200\0\0\0\0Cdop\0\0\0\0D/\204\200\0\0\0\0EDQp\0\0\0\0E\363\267\0\0\0\0\0G-m\360\0\0\0\0G\323\231\0\0\0\0\0I\rO\360\0\0\0\0I\263{\0\0\0\0\0J\3551\360\0\0\0\0K\234\227\200\0\0\0\0L\326Np\0\0\0\0M|y\200\0\0\0\0N\2660p\0\0\0\0O\\[\200\0\0\0\0P\226\22p\0\0\0\0Q<=\200\0\0\0\0Ru\364p\0\0\0\0S\34\37\200\0\0\0\0TU\326p\0\0\0\0T\374\1\200\0\0\0\0V5\270p\0\0\0\0V\345\36\0\0\0\0\0X\36\324\360\0\0\0\0X\305\0\0\0\0\0\0Y\376\266\360\0\0\0\0Z\244\342\0\0\0\0\0[\336\230\360\0\0\0\0\\\204\304\0\0\0\0\0]\276z\360\0\0\0\0^d\246\0\0\0\0\0_\236\\\360\0\0\0\0`M\302\200\0\0\0\0a\207yp\0\0\0\0b-\244\200\0\0\0\0cg[p\0\0\0\0d\r\206\200\0\0\0\0eG=p\0\0\0\0e\355h\200\0\0\0\0g'\37p\0\0\0\0g\315J\200\0\0\0\0i\7\1p\0\0\0\0i\255,\200\0\0\0\0j\346\343p\0\0\0\0k\226I\0\0\0\0\0l\317\377\360\0\0\0\0mv+\0\0\0\0\0n\257\341\360\0\0\0\0oV\r\0\0\0\0\0p\217\303\360\0\0\0\0q5\357\0\0\0\0\0ro\245\360\0\0\0\0s\25\321\0\0\0\0\0tO\207\360\0\0\0\0t\376\355\200\0\0\0\0v8\244p\0\0\0\0v\336\317\200\0\0\0\0x\30\206p\0\0\0\0x\276\261\200\0\0\0\0y\370hp\0\0\0\0z\236\223\200\0\0\0\0{\330Jp\0\0\0\0|~u\200\0\0\0\0}\270,p\0\0\0\0~^W\200\0\0\0\0\177\230\16p\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\3\2\1\2\1\2\1\2\1\2\1\2\4\5\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\1\2\377\377\255\324\0\0\377\377\271\260\1\4\377\377\253\240\0\10\377\377\271\260\0\f\377\377\271\260\1\20\377\377\271\260\1\24LMT\0CDT\0CST\0EST\0CWT\0CPT\0\0\0\0\0\0\1\0\0\0\0\0\1\nCST6CDT,M3.2.0,M11.1.0\n", 4096) = 2264
22452 14:44:04.145187 close(3)          = 0
22452 14:44:04.145258 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.145453 lstat("/opt", {st_dev=makedev(8, 2), st_ino=521219, st_mode=S_IFDIR|0755, st_nlink=32, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:42:52, st_mtime=2014/02/28-14:39:49, st_ctime=2014/02/28-14:39:49}) = 0
22452 14:44:04.145585 lstat("/opt/php52", {st_dev=makedev(8, 2), st_ino=522075, st_mode=S_IFDIR|0755, st_nlink=7, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:42:56, st_mtime=2014/02/17-21:23:07, st_ctime=2014/02/17-21:23:07}) = 0
22452 14:44:04.145717 lstat("/opt/php52/bin", {st_dev=makedev(8, 2), st_ino=522076, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/04/30-03:36:33, st_mtime=2014/05/07-14:55:45, st_ctime=2014/05/07-14:55:45}) = 0
22452 14:44:04.145858 lstat("/opt/php52/bin/php-cgi", {st_dev=makedev(8, 2), st_ino=523470, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16456, st_size=8423381, st_atime=2014/05/22-14:55:46, st_mtime=2014/05/07-14:29:06, st_ctime=2014/05/07-14:55:45}) = 0
22452 14:44:04.146049 access("/opt/php52/bin/php-cgi", X_OK) = 0
22452 14:44:04.146180 stat("/opt/php52/lib", {st_dev=makedev(8, 2), st_ino=523229, st_mode=S_IFDIR|0755, st_nlink=3, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:49:44, st_mtime=2014/05/07-14:55:46, st_ctime=2014/05/07-14:55:46}) = 0
22452 14:44:04.146381 open("/opt/php52/lib/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.146476 open("./php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.146563 open("/opt/php52/bin/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.146655 open("/opt/php52/lib/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.146743 open("/opt/php52/lib/php.ini", O_RDONLY) = 3
22452 14:44:04.146831 lstat("/opt", {st_dev=makedev(8, 2), st_ino=521219, st_mode=S_IFDIR|0755, st_nlink=32, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:42:52, st_mtime=2014/02/28-14:39:49, st_ctime=2014/02/28-14:39:49}) = 0
22452 14:44:04.146949 lstat("/opt/php52", {st_dev=makedev(8, 2), st_ino=522075, st_mode=S_IFDIR|0755, st_nlink=7, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:42:56, st_mtime=2014/02/17-21:23:07, st_ctime=2014/02/17-21:23:07}) = 0
22452 14:44:04.147067 lstat("/opt/php52/lib", {st_dev=makedev(8, 2), st_ino=523229, st_mode=S_IFDIR|0755, st_nlink=3, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/07-13:49:44, st_mtime=2014/05/07-14:55:46, st_ctime=2014/05/07-14:55:46}) = 0
22452 14:44:04.147200 lstat("/opt/php52/lib/php.ini", {st_dev=makedev(8, 2), st_ino=540353, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=80, st_size=39019, st_atime=2014/05/22-14:55:46, st_mtime=2014/05/07-14:29:00, st_ctime=2014/05/07-14:55:46}) = 0
22452 14:44:04.147365 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e91c0) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.147496 fstat(3, {st_dev=makedev(8, 2), st_ino=540353, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=80, st_size=39019, st_atime=2014/05/22-14:55:46, st_mtime=2014/05/07-14:29:00, st_ctime=2014/05/07-14:55:46}) = 0
22452 14:44:04.147624 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.147706 read(3, "[PHP]\n\n;;;;;;;;;;;\n; WARNING ;\n;;;;;;;;;;;\n; This is the default settings file for new PHP installations.\n; By default, PHP installs itself with a configuration suitable for\n; development purposes, and *NOT* for production purposes.\n; For several security-oriented considerations that should be taken\n; before going online with your site, please consult php.ini-recommended\n; and http://php.net/manual/en/security.php.\n\n\n;;;;;;;;;;;;;;;;;;;\n; About this file ;\n;;;;;;;;;;;;;;;;;;;\n; This file controls many aspects of PHP's behavior.  In order for PHP to\n; read it, it must be named 'php.ini'.  PHP looks for it in the current\n; working directory, in the path designated by the environment variable\n; PHPRC, and in the path that was defined in compile time (in that order).\n; Under Windows, the compile-time path is the Windows directory.  The\n; path in which the php.ini file is looked for can be overridden using\n; the -c argument in command line mode.\n;\n; The syntax of the file is extremely simple.  Whitespace and Lines\n; beginning with a semicolon are silently ignored (as you probably guessed).\n; Section headers (e.g. [Foo]) are also silently ignored, even though\n; they might mean something in the future.\n;\n; Directives are specified using the following syntax:\n; directive = value\n; Directive names are *case sensitive* - foo=bar is different from FOO=bar.\n;\n; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one\n; of the INI constants (On, Off, True, False, Yes, No and None) or an expression\n; (e.g. E_ALL & ~E_NOTICE), or a quoted string (\"foo\").\n;\n; Expressions in the INI file are limited to bitwise operators and parentheses:\n; |        bitwise OR\n; &        bitwise AND\n; ~        bitwise NOT\n; !        boolean NOT\n;\n; Boolean flags can be turned on using the values 1, On, True or Yes.\n; They can be turned off using the values 0, Off, False or No.\n;\n; An empty string can be denoted by simply not writing anything after the equal\n; sign, or by using the None keyword:\n;\n;  foo =         ; sets foo to an empty string\n;  foo = none    ; sets foo to an empty string\n;  foo = \"none\"  ; sets foo to the string 'none'\n;\n; If you use constants in your value, and these constants belong to a\n; dynamically loaded extension (either a PHP extension or a Zend extension),\n; you may only use these constants *after* the line that loads the extension.\n;\n; All the values in the php.ini-dist file correspond to the builtin\n; defaults (that is, if no php.ini is used, or if you delete these lines,\n; the builtin defaults will be identical).\n\n\n;;;;;;;;;;;;;;;;;;;;\n; Language Options ;\n;;;;;;;;;;;;;;;;;;;;\n\n; Enable the PHP scripting language engine under Apache.\nengine = On\n\n; Allow the <? tag.  Otherwise, only <?php and <script> tags are recognized.\n; NOTE: Using short tags should be avoided when developing applications or\n; libraries that are meant for redistribution, or deployment on PHP\n; servers which are not under your control, because short tags may not\n; be supported on the target server. For portable, redistributable code,\n; be sure not to use short tags.\nshort_open_tag = On\n\n; Allow ASP-style <% %> tags.\nasp_tags = Off\n\n; The number of significant digits displayed in floating point numbers.\nprecision    =  12\n\n; Enforce year 2000 compliance (will cause problems with non-compliant browsers)\ny2k_compliance = On\n\n; Output buffering allows you to send header lines (including cookies) even\n; after you send body content, at the price of slowing PHP's output layer a\n; bit.  You can enable output buffering during runtime by calling the output\n; buffering functions.  You can also enable output buffering for all files by\n; setting this directive to On.  If you wish to limit the size of the buffer\n; to a certain size - you can use a maximum number of bytes instead of 'On', as\n; a value for this directive (e.g., output_buffering=4096).\noutput_buffering = Off\n\n; You can redirect all of the output of your scripts to a function.  For\n; example, if you set output_handler to \"mb_output_handler\", character\n; encoding will be transparently converted to the specified encoding.\n; Setting any output handler automatically turns on output buffering.\n; Note: People who wrote portable scripts should not depend on this ini\n;       directive. Instead, explicitly set the output handler using ob_start().\n;       Using this ini directive may cause problems unless you know what script\n;       is doing.\n; Note: You cannot use both \"mb_output_handler\" with \"ob_iconv_handler\"\n;       and you cannot use both \"ob_gzhandler\" and \"zlib.output_compression\".\n;output_handler =\n\n; Transparent output compression using the zlib library\n; Valid values for this option are 'off', 'on', or a specific buffer size\n; to be used for compression (default is 4KB)\n; Note: Resulting chunk size may vary due to nature of compression. PHP\n;       outputs chunks that are few hundreds bytes each as a result of\n;       compression. If you prefer a larger chunk size for better\n;       performance, enable output_buffering in addition.\n; Note: You need to use zlib.output_handler instead of the standard\n;       output_handler, or otherwise the output will be corrupted.\nzlib.output_compression = Off\n\n; You cannot specify additional output handlers if zlib.output_compression\n; is activated here. This setting does the same as output_handler but in\n; a different order.\n;zlib.output_handler =\n\n; Implicit flush tells PHP to tell the output layer to flush itself\n; automatically after every output block.  This is equivalent to calling the\n; PHP function flush() after each and every call to print() or echo() and each\n; and every HTML block.  Turning this option on has serious performance\n; implications and is generally recommended for debugging purposes only.\nimplicit_flush = Off\n\n; The unserialize callback function will be called (with the undefined class'\n; name as parameter), if the unserializer finds an undefined class\n; which should be instanciated.\n; A warning appears if the specified function is not defined, or if the\n; function doesn't include/implement the missing class.\n; So only set this entry, if you really want to implement such a\n; callback-function.\nunserialize_callback_func=\n\n; When floats & doubles are serialized store serialize_precision significant\n; digits after the floating point. The default value ensures that when floats\n; are decoded with unserialize, the data will remain the same.\nserialize_precision = 100\n\n; Whether to enable the ability to force arguments to be passed by reference\n; at function call time.  This method is deprecated and is likely to be\n; unsupported in future versions of PHP/Zend.  The encouraged method of\n; specifying which arguments should be passed by reference is in the function\n; declaration.  You're encouraged to try and turn this option Off and make\n; sure your scripts work properly with it in order to ensure they will work\n; with future versions of the language (you will receive a warning each time\n; you use this feature, and the argument will be passed by value instead of by\n; reference).\nallow_call_time_pass_reference = On\n\n; Safe Mode\n;\nsafe_mode = Off\n\n; By default, Safe Mode does a UID compare check when\n; opening files. If you want to relax this to a GID compare,\n; then turn on safe_mode_gid.\nsafe_mode_gid = Off\n\n; When safe_mode is on, UID/GID checks are bypassed when\n; including files from this directory and its subdirectories.\n; (directory must also be in include_path or full path must\n; be used when including)\nsafe_mode_include_dir =\n\n; When safe_mode is on, only executables located in the safe_mode_exec_dir\n; will be allowed to be executed via the exec family of functions.\nsafe_mode_exec_dir =\n\n; Setting certain environment variables may be a potential security breach.\n; This directive contains a comma-delimited list of prefixes.  In Safe Mode,\n; the user may only alter environment variables whose names begin with the\n; prefixes supplied here.  By default, users will only be able to set\n; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).\n;\n; N"..., 8192) = 8192
22452 14:44:04.149813 read(3, "_allowed_env_vars = PHP_\n\n; This directive contains a comma-delimited list of environment variables that\n; the end user won't be able to change using putenv().  These variables will be\n; protected even if safe_mode_allowed_env_vars is set to allow to change them.\nsafe_mode_protected_env_vars = LD_LIBRARY_PATH\n\n; open_basedir, if set, limits all file operations to the defined directory\n; and below.  This directive makes most sense if used in a per-directory\n; or per-virtualhost web server configuration file. This directive is\n; *NOT* affected by whether Safe Mode is turned On or Off.\n;open_basedir =\n\n; This directive allows you to disable certain functions for security reasons.\n; It receives a comma-delimited list of function names. This directive is\n; *NOT* affected by whether Safe Mode is turned On or Off.\ndisable_functions = dl\n\n; This directive allows you to disable certain classes for security reasons.\n; It receives a comma-delimited list of class names. This directive is\n; *NOT* affected by whether Safe Mode is turned On or Off.\ndisable_classes =\n\n; Colors for Syntax Highlighting mode.  Anything that's acceptable in\n; <font color=\"??????\"> would work.\n;highlight.string  = #DD0000\n;highlight.comment = #FF9900\n;highlight.keyword = #007700\n;highlight.bg      = #FFFFFF\n;highlight.default = #0000BB\n;highlight.html    = #000000\n\n\n;\n; Misc\n;\n; Decides whether PHP may expose the fact that it is installed on the server\n; (e.g. by adding its signature to the Web server header).  It is no security\n; threat in any way, but it makes it possible to determine whether you use PHP\n; on your server or not.\nexpose_php = Off\n\n\n;;;;;;;;;;;;;;;;;;;\n; Resource Limits ;\n;;;;;;;;;;;;;;;;;;;\n\nmax_execution_time = 30\nmax_input_time = 60\nmemory_limit = 256M\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n; Error handling and logging ;\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n; error_reporting is a bit-field.  Or each number up to get desired error\n; reporting level\n; E_ALL             - All errors and warnings\n; E_ERROR           - fatal run-time errors\n; E_WARNING         - run-time warnings (non-fatal errors)\n; E_PARSE           - compile-time parse errors\n; E_NOTICE          - run-time notices (these are warnings which often result\n;                     from a bug in your code, but it's possible that it was\n;                     intentional (e.g., using an uninitialized variable and\n;                     relying on the fact it's automatically initialized to an\n;                     empty string)\n; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup\n; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's\n;                     initial startup\n; E_COMPILE_ERROR   - fatal compile-time errors\n; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)\n; E_USER_ERROR      - user-generated error message\n; E_USER_WARNING    - user-generated warning message\n; E_USER_NOTICE     - user-generated notice message\n;\n; Examples:\n;\n;   - Show all errors, except for notices\n;\n;error_reporting = E_ALL & ~E_NOTICE\n;\n;   - Show only errors\n;\n;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR\n;\n;   - Show all errors except for notices\n;\nerror_reporting  =  E_ALL & ~E_NOTICE\n\n; Print out errors (as a part of the output).  For production web sites,\n; you're strongly encouraged to turn this feature off, and use error logging\n; instead (see below).  Keeping display_errors enabled on a production web site\n; may reveal security information to end users, such as file paths on your Web\n; server, your database schema or other information.\ndisplay_errors = On\n\n; Even when display_errors is on, errors that occur during PHP's startup\n; sequence are not displayed.  It's strongly recommended to keep\n; display_startup_errors off, except for when debugging.\ndisplay_startup_errors = Off\n\n; Log errors into a log file (server-specific log, stderr, or error_log (below))\n; As stated above, you're strongly advised to use error logging in place of\n; error displaying on production web sites.\nlog_errors = On;\n\n; Set maximum length of log_errors. In error_log information about the source is\n; added. The default is 1024 and 0 allows to not apply any maximum length at all.\nlog_errors = On;\n\n; Do not log repeated messages. Repeated errors must occur in same file on same\n; line until ignore_repeated_source is set true.\nignore_repeated_errors = Off\n\n; Ignore source of message when ignoring repeated messages. When this setting\n; is On you will not log errors with repeated messages from different files or\n; sourcelines.\nignore_repeated_source = Off\n\n; If this parameter is set to Off, then memory leaks will not be shown (on\n; stdout or in the log). This has only effect in a debug compile, and if\n; error reporting includes E_WARNING in the allowed list\nreport_memleaks = On\n\n; Store the last error/warning message in $php_errormsg (boolean).\ntrack_errors = Off\n\n; Disable the inclusion of HTML tags in error messages.\n;html_errors = Off\n\n; If html_errors is set On PHP produces clickable error messages that direct\n; to a page describing the error or function causing the error in detail.\n; You can download a copy of the PHP manual from http://www.php.net/docs.php\n; and change docref_root to the base URL of your local copy including the\n; leading '/'. You must also specify the file extension being used including\n; the dot.\n;docref_root = \"/phpmanual/\"\n;docref_ext = .html\n\n; String to output before an error message.\n;error_prepend_string = \"<font color=ff0000>\"\n\n; String to output after an error message.\n;error_append_string = \"</font>\"\n\n; Log errors to specified file.\nerror_log = error_log;\n\n; Log errors to syslog (Event Log on NT, not valid in Windows 95).\nerror_log = error_log;\n\n\n;;;;;;;;;;;;;;;;;\n; Data Handling ;\n;;;;;;;;;;;;;;;;;\n;\n; Note - track_vars is ALWAYS enabled as of PHP 4.0.3\n\n; The separator used in PHP generated URLs to separate arguments.\n; Default is \"&\".\n;arg_separator.output = \"&amp;\"\n\n; List of separator(s) used by PHP to parse input URLs into variables.\n; Default is \"&\".\n; NOTE: Every character in this directive is considered as separator!\n;arg_separator.input = \";&\"\n\n; This directive describes the order in which PHP registers GET, POST, Cookie,\n; Environment and Built-in variables (G, P, C, E & S respectively, often\n; referred to as EGPCS or GPC).  Registration is done from left to right, newer\n; values override older values.\nvariables_order = \"EGPCS\"\n\n; Whether or not to register the EGPCS variables as global variables.  You may\n; want to turn this off if you don't want to clutter your scripts' global scope\n; with user data.  This makes most sense when coupled with track_vars - in which\n; case you can access all of the GPC variables through the $HTTP_*_VARS[],\n; variables.\n;\n; You should do your best to write your scripts so that they do not require\n; register_globals to be on;  Using form variables as globals can easily lead\n; to possible security problems, if the code is not very well thought of.\nregister_globals = On\n\n; This directive tells PHP whether to declare the argv&argc variables (that\n; would contain the GET information).  If you don't use these variables, you\n; should turn it off for increased performance.\nregister_argc_argv = On\n\n; Maximum size of POST data that PHP will accept.\npost_max_size = 64M\n\n; This directive is deprecated.  Use variables_order instead.\ngpc_order = \"GPC\"\n\n; Magic quotes\n;\n\n; Magic quotes for incoming GET/POST/Cookie data.\nmagic_quotes_gpc = Off\n\n; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.\nmagic_quotes_runtime = Off\n\n; Use Sybase-style magic quotes (escape ' with '' instead of \\').\nmagic_quotes_sybase = Off\n\n; Automatically add files before or after any PHP document.\nauto_prepend_file =\nauto_append_file =\n\n; As of 4.0b4, PHP always outputs a character encoding by default in\n; the Content-type: header.  To disable sending of the charset, simply\n; set it to be empty.\n;\n; PHP's built-in default is text/html\ndefault_mimetype = \"text/html\"\n;default_charset = \"iso-8859-1\"\n\n; Always populate the $HTTP_RAW_POST_"..., 8192) = 8192
22452 14:44:04.151834 read(3, "es ;\n;;;;;;;;;;;;;;;;;;;;;;;;;\n\n; UNIX: \"/path1:/path2\"\ninclude_path = \".:/opt/php52/lib/php\";\n;\n; Windows: \"\\path1;\\path2\"\n;include_path = \".:/usr/lib/php:/usr/local/lib/php\"   ;\n\n; The root of the PHP pages, used only if nonempty.\n; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root\n; if you are running php as a CGI under any web server (other than IIS)\n; see documentation for security issues.  The alternate is to use the\n; cgi.force_redirect configuration below\ndoc_root =\n\n; The directory under which PHP opens the script using /~username used only\n; if nonempty.\nuser_dir =\n\n; Directory in which the loadable extensions (modules) reside.\nextension_dir = \"/opt/php52/lib/php/extensions/no-debug-non-zts-20060613\"\nzend_extension=\"/opt/ioncube/ioncube_loader_lin_5.2.so\"\n\n; Whether or not to enable the dl() function.  The dl() function does NOT work\n; properly in multithreaded servers, such as IIS or Zeus, and is automatically\n; disabled on them.\nenable_dl = Off\n\n; cgi.force_redirect is necessary to provide security running PHP as a CGI under\n; most web servers.  Left undefined, PHP turns this on by default.  You can\n; turn it off here AT YOUR OWN RISK\n; **You CAN safely turn this off for IIS, in fact, you MUST.**\n; cgi.force_redirect = 1\n\n; if cgi.nph is enabled it will force cgi to always sent Status: 200 with\n; every request.\n; cgi.nph = 1\n\n; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape\n; (iPlanet) web servers, you MAY need to set an environment variable name that PHP\n; will look for to know it is OK to continue execution.  Setting this variable MAY\n; cause security issues, KNOW WHAT YOU ARE DOING FIRST.\n; cgi.redirect_status_env = ;\n\n; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's\n; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok\n; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting\n; this to 1 will cause PHP CGI to fix it's paths to conform to the spec.  A setting\n; of zero causes PHP to behave as before.  Default is zero.  You should fix your scripts\n; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.\n; cgi.fix_pathinfo=0\n\n; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate\n; security tokens of the calling client.  This allows IIS to define the\n; security context that the request runs under.  mod_fastcgi under Apache\n; does not currently support this feature (03/17/2002)\n; Set to 1 if running under IIS.  Default is zero.\n; fastcgi.impersonate = 1;\n\n; cgi.rfc2616_headers configuration option tells PHP what type of headers to\n; use when sending HTTP response code. If it's set 0 PHP sends Status: header that\n; is supported by Apache. When this option is set to 1 PHP will send\n; RFC2616 compliant header.\n; Default is zero.\n;cgi.rfc2616_headers = 0\n\n\n;;;;;;;;;;;;;;;;\n; File Uploads ;\n;;;;;;;;;;;;;;;;\n\n; Whether to allow HTTP file uploads.\nfile_uploads = On\n\n; Temporary directory for HTTP uploaded files (will use system default if not\n; specified).\n;upload_tmp_dir =\n\n; Maximum allowed size for uploaded files.\nupload_max_filesize = 64M\n\n\n;;;;;;;;;;;;;;;;;;\n; Fopen wrappers ;\n;;;;;;;;;;;;;;;;;;\n\n; Whether to allow the treatment of URLs (like http:// or ftp://) as files.\nallow_url_fopen = On\nallow_url_include = On\nmax_file_uploads = 20\n; Define the anonymous ftp password (your email address)\n;from=\"john@doe.com\"\n\n; Define the User-Agent string\n; user_agent=\"PHP\"\n\n; Default timeout for socket based streams (seconds)\ndefault_socket_timeout = 60\n\n; If your scripts have to deal with files from Macintosh systems,\n; or you are running on a Mac and need to deal with files from\n; unix or win32 systems, setting this flag will cause PHP to\n; automatically detect the EOL character in those files so that\n; fgets() and file() will work regardless of the source of the file.\n; auto_detect_line_endings = Off\n\n\n;;;;;;;;;;;;;;;;;;;;;;\n; Dynamic Extensions ;\n;;;;;;;;;;;;;;;;;;;;;;\n;\n; If you wish to have an extension loaded automatically, use the following\n; syntax:\n;\n;   extension=modulename.extension\n;\n; For example, on Windows:\n;\n;   extension=msql.dll\n;\n; ... or under UNIX:\n;\n;   extension=msql.so\n;\n; Note that it should be the name of the module only; no directory information\n; needs to go here.  Specify the location of the extension with the\n; extension_dir directive above.\n\n\n;Windows Extensions\n;Note that MySQL and ODBC support is now built in, so no dll is needed for it.\n;\n;extension=php_bz2.dll\n;extension=php_cpdf.dll\n;extension=php_crack.dll\n;extension=php_curl.dll\n;extension=php_db.dll\n;extension=php_dba.dll\n;extension=php_dbase.dll\n;extension=php_dbx.dll\n;extension=php_domxml.dll\n;extension=php_exif.dll\n;extension=php_fdf.dll\n;extension=php_filepro.dll\n;extension=php_gd2.dll\n;extension=php_gettext.dll\n;extension=php_hyperwave.dll\n;extension=php_iconv.dll\n;extension=php_ifx.dll\n;extension=php_iisfunc.dll\n;extension=php_imap.dll\n;extension=php_interbase.dll\n;extension=php_java.dll\n;extension=php_ldap.dll\n;extension=php_mbstring.dll\n;extension=php_mcrypt.dll\n;extension=php_mhash.dll\n;extension=php_mime_magic.dll\n;extension=php_ming.dll\n;extension=php_mssql.dll\n;extension=php_msql.dll\n;extension=php_oci8.dll\n;extension=php_openssl.dll\n;extension=php_oracle.dll\n;extension=php_pdf.dll\n;extension=php_pgsql.dll\n;extension=php_printer.dll\n;extension=php_shmop.dll\n;extension=php_snmp.dll\n;extension=php_sockets.dll\n;extension=php_sybase_ct.dll\n;extension=php_w32api.dll\n;extension=php_xmlrpc.dll\n;extension=php_xslt.dll\n;extension=php_yaz.dll\n;extension=php_zip.dll\n\n\n;;;;;;;;;;;;;;;;;;;\n; Module Settings ;\n;;;;;;;;;;;;;;;;;;;\n\n[Syslog]\n; Whether or not to define the various syslog variables (e.g. $LOG_PID,\n; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In\n; runtime, you can define these variables by calling define_syslog_variables().\ndefine_syslog_variables  = Off\n\n[mail function]\n; For Win32 only.\n;SMTP = localhost;\nsmtp_port = 25\n\n; For Win32 only.\n;sendmail_from = me@localhost.com;\n\n; For Unix only.  You may supply arguments as well (default: \"sendmail -t -i\").\nsendmail_path = /usr/sbin/sendmail -t -i;\n\n[Java]\n;java.class.path = .\\php_java.jar\n;java.home = c:\\jdk\n;java.library = c:\\jdk\\jre\\bin\\hotspot\\jvm.dll\n;java.library.path = .\\\n\n[SQL]\nsql.safe_mode = Off\n\n[ODBC]\n;odbc.default_db    =  Not yet implemented\n;odbc.default_user  =  Not yet implemented\n;odbc.default_pw    =  Not yet implemented\n\n; Allow or prevent persistent links.\nodbc.allow_persistent = Off\n\n; Check that a connection is still valid before reuse.\nodbc.check_persistent = Off\n\n; Maximum number of persistent links.  -1 means no limit.\nodbc.max_persistent = -1\n\n; Maximum number of links (persistent + non-persistent).  -1 means no limit.\nodbc.max_links = -1\n\n; Handling of LONG fields.  Returns number of bytes to variables.  0 means\n; passthru.\nodbc.defaultlrl = 4096\n\n; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.\n; See the documentation on odbc_binmode and odbc_longreadlen for an explanation\n; of uodbc.defaultlrl and uodbc.defaultbinmode\nodbc.defaultbinmode = 1\n\n[MySQL]\n; Allow or prevent persistent links.\nmysql.allow_persistent = Off\n\n; Maximum number of persistent links.  -1 means no limit.\nmysql.max_persistent = -1\n\n; Maximum number of links (persistent + non-persistent).  -1 means no limit.\nmysql.max_links = -1\n\n; Default port number for mysql_connect().  If unset, mysql_connect() will use\n; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the\n; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look\n; at MYSQL_PORT.\nmysql.default_port =\n\n; Default socket name for local MySQL connects.  If empty, uses the built-in\n; MySQL defaults.\nmysql.default_socket =\n\n; Default host for mysql_connect() (doesn't apply in safe mode).\nmysql.default_host =\n\n; Default user for mysql_connect() (doesn't apply in safe mode).\nmysql.default_user =\n\n; Default password for mysql_connect() (doesn't apply in safe mode).\n; Note that this is generally a"..., 8192) = 8192
22452 14:44:04.162000 read(3, "\"mysql.default_password\")\n; and reveal this password!  And of course, any users with read access to this\n; file will be able to reveal the password as well.\nmysql.default_password =\n\n; Maximum time (in seconds) for connect timeout. -1 means no limit\nmysql.connect_timeout = 60\n\n; Trace mode. When trace_mode is active (=On), warnings for table/index scans and\n; SQL-Errors will be displayed.\nmysql.trace_mode = Off\n\n[mSQL]\n; Allow or prevent persistent links.\nmsql.allow_persistent = Off\n\n; Maximum number of persistent links.  -1 means no limit.\nmsql.max_persistent = -1\n\n; Maximum number of links (persistent+non persistent).  -1 means no limit.\nmsql.max_links = -1\n\n[PostgresSQL]\n; Allow or prevent persistent links.\npgsql.allow_persistent = Off\n\n; Detect broken persistent links always with pg_pconnect(). Need a little overhead.\npgsql.auto_reset_persistent = Off\n\n; Maximum number of persistent links.  -1 means no limit.\npgsql.max_persistent = -1\n\n; Maximum number of links (persistent+non persistent).  -1 means no limit.\npgsql.max_links = -1\n\n; Ignore PostgreSQL backends Notice message or not.\npgsql.ignore_notice = 0\n\n; Log PostgreSQL backends Noitce message or not.\n; Unless pgsql.ignore_notice=0, module cannot log notice message.\npgsql.log_notice = 0\n\n[Sybase]\n; Allow or prevent persistent links.\nsybase.allow_persistent = On\n\n; Maximum number of persistent links.  -1 means no limit.\nsybase.max_persistent = -1\n\n; Maximum number of links (persistent + non-persistent).  -1 means no limit.\nsybase.max_links = -1\n\n;sybase.interface_file = \"/usr/sybase/interfaces\"\n\n; Minimum error severity to display.\nsybase.min_error_severity = 10\n\n; Minimum message severity to display.\nsybase.min_message_severity = 10\n\n; Compatability mode with old versions of PHP 3.0.\n; If on, this will cause PHP to automatically assign types to results according\n; to their Sybase type, instead of treating them all as strings.  This\n; compatibility mode will probably not stay around forever, so try applying\n; whatever necessary changes to your code, and turn it off.\nsybase.compatability_mode = Off\n\n[Sybase-CT]\n; Allow or prevent persistent links.\nsybct.allow_persistent = On\n\n; Maximum number of persistent links.  -1 means no limit.\nsybct.max_persistent = -1\n\n; Maximum number of links (persistent + non-persistent).  -1 means no limit.\nsybct.max_links = -1\n\n; Minimum server message severity to display.\nsybct.min_server_severity = 10\n\n; Minimum client message severity to display.\nsybct.min_client_severity = 10\n\n[dbx]\n; returned column names can be converted for compatibility reasons\n; possible values for dbx.colnames_case are\n; \"unchanged\" (default, if not set)\n; \"lowercase\"\n; \"uppercase\"\n; the recommended default is either upper- or lowercase, but\n; unchanged is currently set for backwards compatibility\ndbx.colnames_case = \"unchanged\"\n\n[bcmath]\n; Number of decimal digits for all bcmath functions.\nbcmath.scale = 0\n\n[browscap]\n;browscap = extra/browscap.ini\n\n[Informix]\n; Default host for ifx_connect() (doesn't apply in safe mode).\nifx.default_host =\n\n; Default user for ifx_connect() (doesn't apply in safe mode).\nifx.default_user =\n\n; Default password for ifx_connect() (doesn't apply in safe mode).\nifx.default_password =\n\n; Allow or prevent persistent links.\nifx.allow_persistent = On\n\n; Maximum number of persistent links.  -1 means no limit.\nifx.max_persistent = -1\n\n; Maximum number of links (persistent + non-persistent).  -1 means no limit.\nifx.max_links = -1\n\n; If on, select statements return the contents of a text blob instead of its id.\nifx.textasvarchar = 0\n\n; If on, select statements return the contents of a byte blob instead of its id.\nifx.byteasvarchar = 0\n\n; Trailing blanks are stripped from fixed-length char columns.  May help the\n; life of Informix SE users.\nifx.charasvarchar = 0\n\n; If on, the contents of text and byte blobs are dumped to a file instead of\n; keeping them in memory.\nifx.blobinfile = 0\n\n; NULL's are returned as empty strings, unless this is set to 1.  In that case,\n; NULL's are returned as string 'NULL'.\nifx.nullformat = 0\n\n[Session]\n; Handler used to store/retrieve data.\nsession.save_handler = files\n\n; Argument passed to save_handler.  In the case of files, this is the path\n; where data files are stored. Note: Windows users have to change this\n; variable in order to use PHP's session functions.\n; As of PHP 4.0.1, you can define the path as:\n;     session.save_path = \"N;/path\"\n; where N is an integer.  Instead of storing all the session files in\n; /path, what this will do is use subdirectories N-levels deep, and\n; store the session data in those directories.  This is useful if you\n; or your OS have problems with lots of files in one directory, and is\n; a more efficient layout for servers that handle lots of sessions.\n; NOTE 1: PHP will not create this directory structure automatically.\n;         You can use the script in the ext/session dir for that purpose.\n; NOTE 2: See the section on garbage collection below if you choose to\n;         use subdirectories for session storage\nsession.save_path = /tmp\n\n; Whether to use cookies.\nsession.use_cookies = 1\n\n; This option enables administrators to make their users invulnerable to\n; attacks which involve passing session ids in URLs; defaults to 0.\n; session.use_only_cookies = 1\n\n; Name of the session (used as cookie name).\nsession.name = PHPSESSID\n\n; Initialize session on request startup.\nsession.auto_start = 0\n\n; Lifetime in seconds of cookie or, if 0, until browser is restarted.\nsession.cookie_lifetime = 0\n\n; The path for which the cookie is valid.\nsession.cookie_path = /\n\n; The domain for which the cookie is valid.\nsession.cookie_domain =\n\n; Handler used to serialize data.  php is the standard serializer of PHP.\nsession.serialize_handler = php\n\n; Define the probability that the 'garbage collection' process is started\n; on every session initialization.\n; The probability is calculated by using gc_probability/gc_divisor,\n; e.g. 1/100 means there is a 1% chance that the GC process starts\n; on each request.\n\nsession.gc_probability = 1\nsession.gc_divisor     = 100\n\n; After this number of seconds, stored data will be seen as 'garbage' and\n; cleaned up by the garbage collection process.\nsession.gc_maxlifetime = 1440\n\n; NOTE: If you are using the subdirectory option for storing session files\n;       (see session.save_path above), then garbage collection does *not*\n;       happen automatically.  You will need to do your own garbage\n;       collection through a shell script, cron entry, or some other method.\n;       For example, the following script would is the equivalent of\n;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):\n;          cd /path/to/sessions; find -cmin +24 | xargs rm\n\n; PHP 4.2 and less have an undocumented feature/bug that allows you to\n; to initialize a session variable in the global scope, albeit register_globals\n; is disabled.  PHP 4.3 and later will warn you, if this feature is used.\n; You can disable the feature and the warning separately. At this time,\n; the warning is only displayed, if bug_compat_42 is enabled.\n\nsession.bug_compat_42 = 1\nsession.bug_compat_warn = 1\n\n; Check HTTP Referer to invalidate externally stored URLs containing ids.\n; HTTP_REFERER has to contain this substring for the session to be\n; considered as valid.\nsession.referer_check =\n\n; How many bytes to read from the file.\nsession.entropy_length = 0\n\n; Specified here to create the session id.\nsession.entropy_file =\n\n;session.entropy_length = 16\n\n;session.entropy_file = /dev/urandom\n\n; Set to {nocache,private,public,} to determine HTTP caching aspects\n; or leave this empty to avoid sending anti-caching headers.\nsession.cache_limiter = nocache\n\n; Document expires after n minutes.\nsession.cache_expire = 180\n\n; trans sid support is disabled by default.\n; Use of trans sid may risk your users security.\n; Use this option with caution.\n; - User may send URL contains active session ID\n;   to other person via. email/irc/etc.\n; - URL that contains active session ID may be stored\n;   in publically accessible computer.\n; -"..., 8192) = 8192
22452 14:44:04.163900 read(3, " or bookmarks.\nsession.use_trans_sid = 0\n\n; The URL rewriter will look for URLs in a defined set of HTML tags.\n; form/fieldset are special; if you include them here, the rewriter will\n; add a hidden <input> field with the info which is otherwise appended\n; to URLs.  If you want XHTML conformity, remove the form entry.\n; Note that all valid entries require a \"=\", even if no value follows.\nurl_rewriter.tags = \"a=href,area=href,frame=src,input=src,form=,fieldset=\"\n\n[MSSQL]\n; Allow or prevent persistent links.\nmssql.allow_persistent = On\n\n; Maximum number of persistent links.  -1 means no limit.\nmssql.max_persistent = -1\n\n; Maximum number of links (persistent+non persistent).  -1 means no limit.\nmssql.max_links = -1\n\n; Minimum error severity to display.\nmssql.min_error_severity = 10\n\n; Minimum message severity to display.\nmssql.min_message_severity = 10\n\n; Compatability mode with old versions of PHP 3.0.\nmssql.compatability_mode = Off\n\n; Connect timeout\n;mssql.connect_timeout = 5\n\n; Query timeout\n;mssql.timeout = 60\n\n; Valid range 0 - 2147483647.  Default = 4096.\n;mssql.textlimit = 4096\n\n; Valid range 0 - 2147483647.  Default = 4096.\n;mssql.textsize = 4096\n\n; Limits the number of records in each batch.  0 = all records in one batch.\n;mssql.batchsize = 0\n\n; Specify how datetime and datetim4 columns are returned\n; On => Returns data converted to SQL server settings\n; Off => Returns values as YYYY-MM-DD hh:mm:ss\n;mssql.datetimeconvert = On\n\n; Use NT authentication when connecting to the server\nmssql.secure_connection = Off\n\n; Specify max number of processes. Default = 25\n;mssql.max_procs = 25\n\n[Assertion]\n; Assert(expr); active by default.\n;assert.active = On\n\n; Issue a PHP warning for each failed assertion.\n;assert.warning = On\n\n; Don't bail out by default.\n;assert.bail = Off\n\n; User-function to be called if an assertion fails.\n;assert.callback = 0\n\n; Eval the expression with current error_reporting().  Set to true if you want\n; error_reporting(0) around the eval().\n;assert.quiet_eval = 0\n\n[Ingres II]\n; Allow or prevent persistent links.\ningres.allow_persistent = On\n\n; Maximum number of persistent links.  -1 means no limit.\ningres.max_persistent = -1\n\n; Maximum number of links, including persistents.  -1 means no limit.\ningres.max_links = -1\n\n; Default database (format: [node_id::]dbname[/srv_class]).\ningres.default_database =\n\n; Default user.\ningres.default_user =\n\n; Default password.\ningres.default_password =\n\n[Verisign Payflow Pro]\n; Default Payflow Pro server.\npfpro.defaulthost = \"test-payflow.verisign.com\"\n\n; Default port to connect to.\npfpro.defaultport = 443\n\n; Default timeout in seconds.\npfpro.defaulttimeout = 30\n\n; Default proxy IP address (if required).\n;pfpro.proxyaddress =\n\n; Default proxy port.\n;pfpro.proxyport =\n\n; Default proxy logon.\n;pfpro.proxylogon =\n\n; Default proxy password.\n;pfpro.proxypassword =\n\n[com]\n; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs\n;com.typelib_file =\n; allow Distributed-COM calls\n;com.allow_dcom = true\n; autoregister constants of a components typlib on com_load()\n;com.autoregister_typelib = true\n; register constants casesensitive\n;com.autoregister_casesensitive = false\n; show warnings on duplicate constat registrations\n;com.autoregister_verbose = true\n\n[Printer]\n;printer.default_printer = \"\"\n\n[mbstring]\n; language for internal character representation.\n;mbstring.language = Japanese\n\n; internal/script encoding.\n; Some encoding cannot work as internal encoding.\n; (e.g. SJIS, BIG5, ISO-2022-*)\n;mbstring.internal_encoding = EUC-JP\n\n; http input encoding.\n;mbstring.http_input = auto\n\n; http output encoding. mb_output_handler must be\n; registered as output buffer to function\n;mbstring.http_output = SJIS\n\n; enable automatic encoding translation accoding to\n; mbstring.internal_encoding setting. Input chars are\n; converted to internal encoding by setting this to On.\n; Note: Do _not_ use automatic encoding translation for\n;       portable libs/applications.\n;mbstring.encoding_translation = Off\n\n; automatic encoding detection order.\n; auto means\n;mbstring.detect_order = auto\n\n; substitute_character used when character cannot be converted\n; one from another\n;mbstring.substitute_character = none;\n\n; overload(replace) single byte functions by mbstring functions.\n; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),\n; etc. Possible values are 0,1,2,4 or combination of them.\n; For example, 7 for overload everything.\n; 0: No overload\n; 1: Overload mail() function\n; 2: Overload str*() functions\n; 4: Overload ereg*() functions\n;mbstring.func_overload = 0\n\n[FrontBase]\n;fbsql.allow_persistent = On\n;fbsql.autocommit = On\n;fbsql.default_database =\n;fbsql.default_database_password =\n;fbsql.default_host =\n;fbsql.default_password =\n;fbsql.default_user = \"_SYSTEM\"\n;fbsql.generate_warnings = Off\n;fbsql.max_connections = 128\n;fbsql.max_links = 128\n;fbsql.max_persistent = -1\n;fbsql.max_results = 128\n;fbsql.batchSize = 1000\n\n[Crack]\n; Modify the setting below to match the directory location of the cracklib\n; dictionary files.  Include the base filename, but not the file extension.\n; crack.default_dictionary = \"c:\\php\\lib\\cracklib_dict\"\n\n[exif]\n; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.\n; With mbstring support this will automatically be converted into the encoding\n; given by corresponding encode setting. When empty mbstring.internal_encoding\n; is used. For the decode settings you can distinguish between motorola and\n; intel byte order. A decode setting cannot be empty.\n;exif.encode_unicode = ISO-8859-15\n;exif.decode_unicode_motorola = UCS-2BE\n;exif.decode_unicode_intel    = UCS-2LE\n;exif.encode_jis =\n;exif.decode_jis_motorola = JIS\n;exif.decode_jis_intel    = JIS\n\n; Local Variables:\n; tab-width: 4\n; End:\n\n[Zend]\n\n\n\n\nextension=magickwand.so\nextension=imagick.so\n;extension=mailparse.so\n\nextension=pdo.so\nextension=pdo_sqlite.so\nextension=sqlite.so\nextension=pdo_mysql.so\n;extension=uploadprogress.so\n;extension=gnupg.so\n;extension=mailparse.so\n;extension=fileinfo.so\n\n;extension=mongo.so\n;extension=http.so\n;extension=phar.so\n;extension=timezonedb.so\nextension=\"ixed.5.2.lin\"\nzend_extension=\"/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so\"\n", 8192) = 6251
22452 14:44:04.165125 read(3, "", 4096) = 0
22452 14:44:04.165407 read(3, "", 8192) = 0
22452 14:44:04.165504 close(3)          = 0
22452 14:44:04.165571 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.166162 brk(0x1b5d000)    = 0x1b5d000
22452 14:44:04.166829 brk(0x1b7e000)    = 0x1b7e000
22452 14:44:04.167398 brk(0x1b9f000)    = 0x1b9f000
22452 14:44:04.168013 brk(0x1bc0000)    = 0x1bc0000
22452 14:44:04.168579 futex(0x7f35914d30ec, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.168700 open("/opt/ioncube/ioncube_loader_lin_5.2.so", O_RDONLY) = 3
22452 14:44:04.168831 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\261\2\0\0\0\0\0@\0\0\0\0\0\0\0\230%\20\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\31\0\30\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0044\17\0\0\0\0\0\0044\17\0\0\0\0\0\0\0\20\0\0\0\0\0\1\0\0\0\6\0\0\0\0@\17\0\0\0\0\0\0@\37\0\0\0\0\0\0@\37\0\0\0\0\0\320\344\0\0\0\0\0\0\210\34\1\0\0\0\0\0\0\0\20\0\0\0\0\0\2\0\0\0\6\0\0\0P\341\17\0\0\0\0\0P\341\37\0\0\0\0\0P\341\37\0\0\0\0\0\200\1\0\0\0\0\0\0\200\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0hQ\16\0\0\0\0\0hQ\16\0\0\0\0\0hQ\16\0\0\0\0\0L,\0\0\0\0\0\0L,\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\7\1\0\0\322\1\0\0Q\1\0\0\312\1\0\0\311\1\0\0z\1\0\0\241\0\0\0\0\0\0\0*\1\0\0L\1\0\0\371\0\0\0\261\0\0\0\0\0\0\0J\0\0\0\241\1\0\0\271\0\0\0\305\1\0\0\227\1\0\0\271\1\0\0\305\0\0\0\n\1\0\0\254\0\0\0\262\1\0\0\0\0\0\0\237\0\0\0003\1\0\0\211\0\0\0\0\0\0\0\276\1\0\0i\1\0\0{\1\0\0\301\1\0\0\273\1\0\0\4\1\0\0\275\1\0\0x\1\0\0\0\0\0\0\256\1\0\0]\1\0\0\377\0\0\0\244\1\0\0P\1\0\0\0\0\0\0005\1\0\0#\1\0\0\0\0\0\0|\0\0\0\306\1\0\0R\1\0\0\0\0\0\0\216\1\0\0\213\0\0\0X\1\0\0%\1\0\0\200\1\0\0\364\0\0\0005\0\0\0\303\0\0\0009\1\0\0K\1\0\0\206\1\0\0\301\0\0\0j\1\0\0\0\0\0\0\223\1\0\0\207\1\0\0~\1\0\0W\1\0\0F\0\0\0\270\1\0\0\321\1\0\0\250\1\0\0\316\1\0\0y\1\0\0H\1\0\0000\1\0\0{\0\0\0j\0\0\0\0\0\0\0a\0\0\0\33\0\0\0C\1\0\0\240\1\0\0\247\1\0\0\21\1\0\0\234\1\0\0\237\1\0\0\320\1\0\0\0\0\0\0\362\0\0\0\266\1\0\0\0\0\0\0\243\1\0\0\303\1\0\0\257\1\0\0\0\0\0\0\313\1\0\0\316\0\0\0\0\0\0\0u\1\0\0\335\0\0\0\0\0\0\0M\1\0\0>\1\0\0\0\0\0\0\260\1\0\0(\1\0\0\24\0\0\0O\1\0\0G\0\0\0\334\0\0\0@\1\0\0\0\0\0\0\0\0\0\0<\0\0\0\34\1\0\0\0\0\0\0\0\0\0\0\10\1\0\0\210\1\0\0\0\0\0\0o\1\0\0", 832) = 832
22452 14:44:04.169414 fstat(3, {st_dev=makedev(8, 2), st_ino=523508, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=2072, st_size=1059800, st_atime=2014/05/22-18:29:24, st_mtime=2014/02/11-14:07:29, st_ctime=2014/02/12-17:29:24}) = 0
22452 14:44:04.169554 mmap(NULL, 2120840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358baf0000
22452 14:44:04.169647 mprotect(0x7f358bbe4000, 1048576, PROT_NONE) = 0
22452 14:44:04.169725 mmap(0x7f358bce4000, 61440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf4000) = 0x7f358bce4000
22452 14:44:04.169841 mmap(0x7f358bcf3000, 11400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f358bcf3000
22452 14:44:04.170629 close(3)          = 0
22452 14:44:04.171157 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so", O_RDONLY) = 3
22452 14:44:04.171256 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\211\4\0\0\0\0\0@\0\0\0\0\0\0\0x\205\32\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\32\0\31\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0t6\30\0\0\0\0\0t6\30\0\0\0\0\0\0\0\20\0\0\0\0\0\1\0\0\0\6\0\0\0x6\30\0\0\0\0\0x6(\0\0\0\0\0x6(\0\0\0\0\0(N\2\0\0\0\0\0\370\245\2\0\0\0\0\0\0\0\20\0\0\0\0\0\2\0\0\0\6\0\0\0\220>\31\0\0\0\0\0\220>)\0\0\0\0\0\220>)\0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\340&\26\0\0\0\0\0\340&\26\0\0\0\0\0\340&\26\0\0\0\0\0\34v\0\0\0\0\0\0\34v\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\7\1\0\0,\1\0\0\10\1\0\0(\1\0\0<\0\0\0\373\0\0\0e\0\0\0\0\0\0\0\301\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\237\0\0\0\0\0\0\0\0\1\0\0\225\0\0\0\227\0\0\0\16\1\0\0\0\0\0\0\36\1\0\0\v\1\0\0\31\0\0\0\30\1\0\0\0\0\0\0\0\0\0\0\n\1\0\0\0\0\0\0\0\0\0\0#\1\0\0\353\0\0\0\0\0\0\0\311\0\0\0\25\1\0\0s\0\0\0\0\0\0\0\1\1\0\0\0\0\0\0\0\0\0\0*\0\0\0\f\1\0\0\0\0\0\0\0\0\0\0\354\0\0\0\307\0\0\0\267\0\0\0\0\0\0\0\0\0\0\0\252\0\0\0\332\0\0\0\0\0\0\0\t\1\0\0\0\0\0\0\337\0\0\0\274\0\0\0\377\0\0\0\231\0\0\0)\0\0\0{\0\0\0J\0\0\0\325\0\0\0\4\1\0\0\5\1\0\0\0\0\0\0\0\0\0\0\r\1\0\0\0\0\0\0\0\0\0\0\336\0\0\0\0\0\0\0\37\1\0\0\27\1\0\0F\0\0\0*\1\0\0000\0\0\0\340\0\0\0\304\0\0\0009\0\0\0\0\0\0\0\0\0\0\0}\0\0\0\0\0\0\0\203\0\0\0\0\0\0\0\235\0\0\0\254\0\0\0\20\1\0\0 \0\0\0+\1\0\0\0\0\0\0W\0\0\0\34\1\0\0\0\0\0\0\22\1\0\0\0\0\0\0\26\1\0\0\356\0\0\0\0\0\0\0\204\0\0\0\0\0\0\0\0\0\0\0\220\0\0\0\0\0\0\0\326\0\0\0\315\0\0\0\0\0\0\0\350\0\0\0v\0\0\0\25\0\0\0\300\0\0\0\0\0\0\0G\0\0\0\317\0\0\0`\0\0\0\0\0\0\0$\0\0\0Q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\1\0\0\0\0\0\0\362\0\0\0", 832) = 832
22452 14:44:04.171835 fstat(3, {st_dev=makedev(8, 2), st_ino=662678, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3400, st_size=1739768, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:29:20, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.174176 mmap(NULL, 2808944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358b840000
22452 14:44:04.174262 mprotect(0x7f358b9c4000, 1044480, PROT_NONE) = 0
22452 14:44:04.174339 mmap(0x7f358bac3000, 155648, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x183000) = 0x7f358bac3000
22452 14:44:04.174436 mmap(0x7f358bae9000, 19568, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f358bae9000
22452 14:44:04.174530 mprotect(0x7f35927bf000, 3460, PROT_READ|PROT_WRITE) = 0
22452 14:44:04.174609 mprotect(0x7f35927bf000, 3460, PROT_READ) = 0
22452 14:44:04.174698 mprotect(0x7fff403ed000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0
22452 14:44:04.174769 close(3)          = 0
22452 14:44:04.175525 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/magickwand.so", O_RDONLY) = 3
22452 14:44:04.175624 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000u\1\0\0\0\0\0@\0\0\0\0\0\0\0\30.\f\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4G\5\0\0\0\0\0\4G\5\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0P\5\0\0\0\0\0\0P%\0\0\0\0\0\0P%\0\0\0\0\0\240M\0\0\0\0\0\0\320M\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0000P\5\0\0\0\0\0000P%\0\0\0\0\0000P%\0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0H\330\4\0\0\0\0\0H\330\4\0\0\0\0\0H\330\4\0\0\0\0\0,\17\0\0\0\0\0\0,\17\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0)\225\302;<\264]\266\243%\362\275P\255(?\220y\5\316\0\0\0\0\7\1\0\0\n\2\0\0@\0\0\0\f\0\0\0J\200\20\210\1 \0\200\4\0\20\204\201\21\35\200\202\0\4\0!\0P\252\0\0\310\4\0\20\4!\203a\10\230\352\262\0B\2H  \4\0\31\1\tRJ@B\f0\240\301\16 \1\302 \205\204\10\244\10\201\t\0p\224\210m\n\201rZ%\202\200\0\20\0\2D \0\0\202\2#\200\0\0\200\0R\0\340\202\20\0\0B\4\3\23\7\0\202\5 \0\200\10Q\323\20\231@@\20AH,\0%\240&\0d@@\320\216\0 `DH \2\2\24F\fa\0\0\2P\0\341\300\262\367\n(\2122\f1\4Pd\210\4\212\1\25\242<4\320\10\0@\10\20`\3\0\200A\21\5\1\10\0 \0\300p\200\3\20\3\0\200 \0\202\0\200\0(\0\0\22!\4@\200\0\24\20\212Q\0\0p\300\22\1\1\222\0228$\210\24\24\4\202J(\10\10\0\214\366\0\0\4\214%\v+@\30\10\220\201\20\22 \34\21\0060\0\340\232\3408)\22\10!\230`\0\4\200(\4\20\20\10\301m!\0%b<EA\4\4\20\5\25\200\37\10`\10&L\6\20\207\0\0 @\0\220\202\2\1\202\20\f\6 @@\10\10\7\0\310\270\0018   D@ \200\2\0\0P\20\0\240\0\2A\301\10\"@\21\2\0\0\306*X\230\21!\1$\370\4D\7\0001\311\t\2\0`\1D\0\200", 832) = 832
22452 14:44:04.176149 fstat(3, {st_dev=makedev(8, 2), st_ino=662692, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=1664, st_size=849142, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:29:01, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.176289 mmap(NULL, 2465232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358b5e0000
22452 14:44:04.176376 mprotect(0x7f358b635000, 2097152, PROT_NONE) = 0
22452 14:44:04.176453 mmap(0x7f358b835000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x55000) = 0x7f358b835000
22452 14:44:04.176558 close(3)          = 0
22452 14:44:04.176653 open("/lib/tls/x86_64/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.176736 stat("/lib/tls/x86_64", 0x7fff403ea7f0) = -1 ENOENT (No such file or directory)
22452 14:44:04.176812 open("/lib/tls/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.176887 stat("/lib/tls", 0x7fff403ea7f0) = -1 ENOENT (No such file or directory)
22452 14:44:04.176955 open("/lib/x86_64/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177029 stat("/lib/x86_64", 0x7fff403ea7f0) = -1 ENOENT (No such file or directory)
22452 14:44:04.177103 open("/lib/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177176 stat("/lib", {st_dev=makedev(8, 2), st_ino=12, st_mode=S_IFDIR|0555, st_nlink=13, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/19-23:47:11, st_mtime=2014/05/12-23:35:52, st_ctime=2014/05/12-23:35:52}) = 0
22452 14:44:04.177295 open("/opt/mhash/lib/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177376 open("/opt/libmcrypt/lib/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177457 open("/opt/curlssl/lib/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177536 open("/opt/openssl/lib/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177617 open("/usr/lib64/tls/libMagickWand.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.177701 open("/usr/lib64/libMagickWand.so.5", O_RDONLY) = 3
22452 14:44:04.177781 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\252\1\335=\0\0\0@\0\0\0\0\0\0\0\30\33%\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0)\0&\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\335=\0\0\0\0\0\0\335=\0\0\0\244`\21\0\0\0\0\0\244`\21\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\250`\21\0\0\0\0\0\250`1\335=\0\0\0\250`1\335=\0\0\0(<\0\0\0\0\0\0`<\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\330`\21\0\0\0\0\0\330`1\335=\0\0\0\330`1\335=\0\0\0\220\2\0\0\0\0\0\0\220\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\335=\0\0\0\220\1\0\335=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\314\315\20\0\0\0\0\0\314\315\20\335=\0\0\0\314\315\20\335=\0\0\0\354\26\0\0\0\0\0\0\354\26\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\332\211\236s.7g\341\n\327`\\\365\253\345/GmI\363\0\0\0\0\t\2\0\0\10\2\0\0@\0\0\0\f\0\0\0\4\10\fA\23\22\22\33\"\226 $\5Z\265\241\22`(\242!\0\2554Q@\222\201\27@H\6\4\2\362B\26\0@\242b\10\20\202\300\0\0B\255\320\226\300\30\10S\257$\220 h,\0\2\3724\302 \216\250P\6\10\245@ APn1a\300\34\2\210\26 \230&\244\v\243D\22 \324\206#\4\343H\1\242X\10\f\220\31<  \20\300\v\220H\300\220\0\2\203\30\0\300\2\0A\202\fT\7\0108X\316\6\342x\2\4\4\320\26\1\304\0F\1*\200\201A!\0\256\t'\225\3\360\4\4@\336\300\20\1OG\244\241 H%@\220\200\200\212\304\20\0\0RXB!\225\7EK\304\0R)0\301d\10P2\202`\10,V\343\212%t\343\202$\243\310\321k\"\1BK#\4\10@\254`\231\203\372\0\5\v\252!\4I\314P\240@\300\10\304\24\5@(\266\2\20\250@9\310\1j\10\34$\25\0\225\205\0\0\20 \0\0\0\206\30\340\210\0 A\37\0\30\3\10\240H\3\30` H\320\4\" \214\23e\4\221\2\210*\0`II\3409\226 \1\6\265\200C\2\200\0\200\4\3F\21\364\0H \7\t\235Q\1@\211\300\3410D\210 \303 fZ\6\204\0358\"\303\0\255\243a\1\300T$\0010\200P\4A\302rP\230\0\205\341\1\10@\1\10\33", 832) = 832
22452 14:44:04.178292 fstat(3, {st_dev=makedev(8, 1), st_ino=1983409, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=4976, st_size=2546081, st_atime=2014/05/23-06:02:01, st_mtime=2012/05/02-13:27:13, st_ctime=2013/08/27-11:47:34}) = 0
22452 14:44:04.178433 mmap(0x3ddd000000, 3251464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ddd000000
22452 14:44:04.178507 mprotect(0x3ddd117000, 2093056, PROT_NONE) = 0
22452 14:44:04.178579 mmap(0x3ddd316000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x116000) = 0x3ddd316000
22452 14:44:04.178669 close(3)          = 0
22452 14:44:04.178804 open("/lib/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.178898 open("/opt/mhash/lib/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.178996 open("/opt/libmcrypt/lib/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.179078 open("/opt/curlssl/lib/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.179157 open("/opt/openssl/lib/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.179241 open("/usr/lib64/tls/libMagickCore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.179318 open("/usr/lib64/libMagickCore.so.5", O_RDONLY) = 3
22452 14:44:04.179398 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\233\243\334=\0\0\0@\0\0\0\0\0\0\0\200\4f\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0)\0&\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\334=\0\0\0\0\0\240\334=\0\0\0\4\321\37\0\0\0\0\0\4\321\37\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\10\321\37\0\0\0\0\0\10\321\337\334=\0\0\0\10\321\337\334=\0\0\0@}\6\0\0\0\0\0\200\6\10\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\300\345 \0\0\0\0\0\300\345\340\334=\0\0\0\300\345\340\334=\0\0\0\200\2\0\0\0\0\0\0\200\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\240\334=\0\0\0\220\1\240\334=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\220[\36\0\0\0\0\0\220[\276\334=\0\0\0\220[\276\334=\0\0\0\3343\0\0\0\0\0\0\3343\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\267Y\304d\213\236\1\356<\362\276a\237\357\370\313\6\276\355\312\0\0\0\0\7\4\0\0y\1\0\0\200\0\0\0\r\0\0\0\302\3\0\4\0\20\2\3\32\2(HD\22\0\20M(\"\250(\301\n\0p\301\267F\251\fP\215\2\6\2\0\3\2 \230\6\220\201\0b\1`\f0D`D\0P\306F\251H\10\0\0\4\2@\30\n\212\4\220\200D\20\300\0\20`\301\6\1\202 \200\213 @\210!#(\21\21\201\4xh\"0\260\10\202\27x\2422a\343\0\22\202\310@\200\205Ch\f,\20\t6\0310\205\200\3\22 \201\"D\0\260C\10\20C\10\6 \202\32\0\210,\0aC\21\200\"\4C\0  @P\1\0013\31\1\200\0@\n\2\4\305\10T\20\10\f\264F\0:\0\274\244\1\6\344\n\4\200\204\20\0V\0`\20\f\0\0008\250\2040\n\224p\1\32\22@VH&\211P\tDT\311\320 \202$\256\n(\1\0204\320\0\21@\212\5dL\200\200B$\200\20\200\33\360!\200H \0\2\202\31\n\21\2\10\0010I\1\364\33\tE\0\304\305\20q\3\212\230Y\20\0\2D\304\1@\340\0224\2\0\0\0103OK\34%$\2245\2428\202\30\34\3\234\t\204\301\372D\fwNb\21D\262\340@\246\4\301!\202\3D\0020\1-\20\20@\t\6\0\10B@\6\240!\4\34\214\232\2J\20\5 \362\200\0\1\10#0\0\30\300\2AaR\372\240'\302\251\201@p\3\315\10h@\2", 832) = 832
22452 14:44:04.179918 fstat(3, {st_dev=makedev(8, 1), st_ino=1983408, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=13424, st_size=6869766, st_atime=2014/05/23-06:02:01, st_mtime=2012/05/02-13:25:32, st_ctime=2013/08/27-11:47:34}) = 0
22452 14:44:04.180043 mmap(0x3ddca00000, 4708232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ddca00000
22452 14:44:04.180118 mprotect(0x3ddcbfe000, 2093056, PROT_NONE) = 0
22452 14:44:04.180192 mmap(0x3ddcdfd000, 425984, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1fd000) = 0x3ddcdfd000
22452 14:44:04.180286 mmap(0x3ddce65000, 100232, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ddce65000
22452 14:44:04.180382 close(3)          = 0
22452 14:44:04.180487 open("/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180576 open("/opt/mhash/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180654 open("/opt/libmcrypt/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180733 open("/opt/curlssl/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180808 open("/opt/openssl/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180882 open("/usr/lib64/tls/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.180963 open("/usr/lib64/liblcms.so.1", O_RDONLY) = 3
22452 14:44:04.181048 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200t`\333=\0\0\0@\0\0\0\0\0\0\0xm\3\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\333=\0\0\0\0\0`\333=\0\0\0\fN\3\0\0\0\0\0\fN\3\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0P\3\0\0\0\0\0\0P\203\333=\0\0\0\0P\203\333=\0\0\0\300\23\0\0\0\0\0\0\3008\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250S\3\0\0\0\0\0\250S\203\333=\0\0\0\250S\203\333=\0\0\0\240\1\0\0\0\0\0\0\240\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1`\333=\0\0\0\220\1`\333=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\310\353\2\0\0\0\0\0\310\353b\333=\0\0\0\310\353b\333=\0\0\0004\20\0\0\0\0\0\0004\20\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\36x\17\243T\212T\32\2$\266\327\275\34k\2638\216\362\371\0\0\0\0\7\1\0\0?\0\0\0 \0\0\0\v\0\0\0@\0\24\2%\20\"\1\16\300\20$$\0\n\210EA\0Y\16\2\1\4\204 \0\0\0\200\0TH\203(\220\241\204\200\24\0\210\23j\0\f\24\256\0000\0@ @\321\6\2T \201\241\10@\0\10\10\0\0\201\200\0\200\1@\22\10E\230\0(\0\0203C\0 \4\20\31a\20\1\0`\320\20\10\"\0\1@\6\4\1c\4\4\1\201\210\t32\5\1\260\24\2\30\10\4\0 \0\27\4 \4@!\214\201\2\202\22\20\2\260\4\7\210\241\30\n\3$\240\30\0\1C\0031\220\200f\20+\0\323\v\10\31\4N$D`\374U\212\4\26\17(\20\20\304\3204\0\0\3\203@\231@$\21\265\0201\230\200\n\10\230B`\20\0\200,\206\204p,\251A\242\244\254,\0t\220\1A\375$\21\242\373\"\0\301\2\20\22\24a8\t`*\220\20\220\0\"\36\354X\7!\204\0\201IDba\n\260\4\321?\0\0\0@\0\0\0C\0\0\0E\0\0\0F\0\0\0\0\0\0\0J\0\0\0\0\0\0\0\0\0\0\0M\0\0\0\0\0\0\0N\0\0\0\0\0\0\0O\0\0\0\0\0\0\0Q\0\0\0R\0\0\0V\0\0\0W\0\0\0\0\0\0\0\0\0\0\0X\0\0\0Y\0\0\0Z\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0[\0\0\0\\\0\0\0\0\0\0\0", 832) = 832
22452 14:44:04.181577 fstat(3, {st_dev=makedev(8, 1), st_ino=1968868, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=448, st_size=226552, st_atime=2014/05/23-06:02:01, st_mtime=2010/08/20-07:15:45, st_ctime=2013/08/27-11:47:47}) = 0
22452 14:44:04.181700 mmap(0x3ddb600000, 2328768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358b3a0000
22452 14:44:04.181783 mprotect(0x7f358b3d5000, 2097152, PROT_NONE) = 0
22452 14:44:04.181861 mmap(0x7f358b5d5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x35000) = 0x7f358b5d5000
22452 14:44:04.181953 mmap(0x7f358b5d7000, 6336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f358b5d7000
22452 14:44:04.182041 close(3)          = 0
22452 14:44:04.182130 open("/lib/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182210 open("/opt/mhash/lib/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182291 open("/opt/libmcrypt/lib/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182370 open("/opt/curlssl/lib/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182448 open("/opt/openssl/lib/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182526 open("/usr/lib64/tls/libtiff.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.182602 open("/usr/lib64/libtiff.so.3", O_RDONLY) = 3
22452 14:44:04.182677 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@x\0\0\0\0\0\0@\0\0\0\0\0\0\0p6\6\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\33\0\32\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\314\20\6\0\0\0\0\0\314\20\6\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\320\20\6\0\0\0\0\0\320\20&\0\0\0\0\0\320\20&\0\0\0\0\0\230$\0\0\0\0\0\0\330(\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0p*\6\0\0\0\0\0p*&\0\0\0\0\0p*&\0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\304\246\5\0\0\0\0\0\304\246\5\0\0\0\0\0\304\246\5\0\0\0\0\0\354\17\0\0\0\0\0\0\354\17\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0000\r\305\254\30\2605\16\247\\\340\366\355\234\254\26\270\342\\:\0\0\0\0\305\0\0\0K\0\0\0 \0\0\0\v\0\0\0h\4\rDD`@\34\0i\0\0\210\24(\2\0 \210\20\10\20\0\0!\20\204\1\0000F\206\200\2!\310\0\20\242\0\243\200(0\f\240\f\0@\0\10\t\4\10 2\0J\0001\1\6(\200\1\0\0\r\0\10\1\200\312\243\222\250\30\22^\rp\200X\300\200D\340\24H\0\20\201\302\0000G\6\4m\1\20L\300\2\0X\4\10\0B\200\300\10\2\0000\0\0\4\10\21@( \0\4\0\24\"\3\4\1\24`\312\1!\1\200\224\t\300\250\0\300\0\2\220\1 \0\0\0ax0\0\2\205@\34\200\0\3 \30\0 \n\201. \4\1\0\0\10\2\20\1\7\20\6\201\0\30\0\"4\0\0\0\265\204\6\32\220I\1Q\2\"\1`\0\4\4\200 \10\3\fH` \3\300\7\1\214 \t\3Ld\245\1\201!\206`\0$$1\0\1\204\1\20\202\300\312\202\222\301\0\200(I\24\2\0\20\320a\0\0\0\0K\0\0\0N\0\0\0O\0\0\0P\0\0\0R\0\0\0T\0\0\0U\0\0\0V\0\0\0X\0\0\0[\0\0\0]\0\0\0^\0\0\0b\0\0\0\0\0\0\0d\0\0\0e\0\0\0\0\0\0\0\0\0\0\0f\0\0\0g\0\0\0h\0\0\0i\0\0\0k\0\0\0m\0\0\0\0\0\0\0o\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
22452 14:44:04.183941 fstat(3, {st_dev=makedev(8, 1), st_ino=1968877, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=800, st_size=408880, st_atime=2014/05/23-02:23:17, st_mtime=2014/02/27-12:38:11, st_ctime=2014/02/28-01:23:17}) = 0
22452 14:44:04.184082 mmap(NULL, 2505128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358b138000
22452 14:44:04.184166 mprotect(0x7f358b19a000, 2093056, PROT_NONE) = 0
22452 14:44:04.184244 mmap(0x7f358b399000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x61000) = 0x7f358b399000
22452 14:44:04.184343 close(3)          = 0
22452 14:44:04.184443 open("/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184524 open("/opt/mhash/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184604 open("/opt/libmcrypt/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184684 open("/opt/curlssl/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184762 open("/opt/openssl/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184840 open("/usr/lib64/tls/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.184919 open("/usr/lib64/libfontconfig.so.1", O_RDONLY) = 3
22452 14:44:04.185001 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\\ \337=\0\0\0@\0\0\0\0\0\0\0\300_\3\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \337=\0\0\0\0\0 \337=\0\0\0\4:\3\0\0\0\0\0\4:\3\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0@\3\0\0\0\0\0\0@C\337=\0\0\0\0@C\337=\0\0\0\330\25\0\0\0\0\0\0\350\31\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\360L\3\0\0\0\0\0\360LC\337=\0\0\0\360LC\337=\0\0\0\260\1\0\0\0\0\0\0\260\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1 \337=\0\0\0\220\1 \337=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0@\340\2\0\0\0\0\0@\340\"\337=\0\0\0@\340\"\337=\0\0\0<\r\0\0\0\0\0\0<\r\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0009\257\201\255\35}Z7\221\212\350\327\5\225\234\7'\203\267t\0\0\0\0\305\0\0\0d\0\0\0 \0\0\0\v\0\0\0A\1d\0\202\0\24\220\6\17\0\20\1A\0\0\201\0 \4\0\0!\0\4\2\f\4\0\0\230\0@\0\0@\n\0\10@\2`\214\0\0\0\4\212\0\200\0 \2@\21\21\200@\0\1\2\25\0@ \1\1\5\200-\205,\10\2370\225\21\2\20\222(*\224\10\320\10 H\0\0\0\0000\0\202\0 h\6\1\1\0`\210\361\200H\0\22Q\202\34\250\1H\22\10 \200j\200\0\2\n4D M\2\0\0\0\322B\10\0216\0\1B\16\20\1\10\210\21\340\204\20\2@&%\24\24\0\200\6\4\226\0\f\0\0\2\1 \20\n \0 \24\5x\202\204\261\205\260\v*\323\301\t\3@\20\n@\0\0\10\20\4\0\0\1\4\200\210\0\0\0\0\1\200\0001P\n\1\0\4(\1\10\0\0\0\0\0\31\0\220\20\300\10H \0\22\0\0\0\20\20\0\20\10\0$\0\245\226\0\0\240\300H\"dp\0\0!d\0\0\0e\0\0\0\0\0\0\0f\0\0\0g\0\0\0i\0\0\0\0\0\0\0j\0\0\0l\0\0\0\0\0\0\0m\0\0\0\0\0\0\0\0\0\0\0n\0\0\0\0\0\0\0\0\0\0\0o\0\0\0r\0\0\0t\0\0\0u\0\0\0\0\0\0\0v\0\0\0\0\0\0\0y\0\0\0\0\0\0\0{\0\0\0|\0\0\0}\0\0\0\0\0\0\0\177\0\0\0", 832) = 832
22452 14:44:04.185538 fstat(3, {st_dev=makedev(8, 1), st_ino=1983446, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=440, st_size=223040, st_atime=2014/05/23-12:01:01, st_mtime=2010/11/11-01:53:10, st_ctime=2013/08/27-11:47:36}) = 0
22452 14:44:04.185664 mmap(0x3ddf200000, 2316776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ddf200000
22452 14:44:04.185738 mprotect(0x3ddf234000, 2097152, PROT_NONE) = 0
22452 14:44:04.185810 mmap(0x3ddf434000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34000) = 0x3ddf434000
22452 14:44:04.185903 close(3)          = 0
22452 14:44:04.185994 open("/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186070 open("/opt/mhash/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186148 open("/opt/libmcrypt/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186226 open("/opt/curlssl/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186302 open("/opt/openssl/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186379 open("/usr/lib64/tls/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.186459 open("/usr/lib64/libXext.so.6", O_RDONLY) = 3
22452 14:44:04.191214 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3006 \336=\0\0\0@\0\0\0\0\0\0\0\2604\1\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \336=\0\0\0\0\0 \336=\0\0\0\4\30\1\0\0\0\0\0\4\30\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0 \1\0\0\0\0\0\0 A\336=\0\0\0\0 A\336=\0\0\0\230\n\0\0\0\0\0\0\10\r\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\320 \1\0\0\0\0\0\320 A\336=\0\0\0\320 A\336=\0\0\0\240\1\0\0\0\0\0\0\240\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1 \336=\0\0\0\220\1 \336=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\220\362\0\0\0\0\0\0\220\362 \336=\0\0\0\220\362 \336=\0\0\0\374\5\0\0\0\0\0\0\374\5\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0Ns\207?\301\315\306\20\345\223#_\324\25\203\366)m\206^\0\0\0\0\203\0\0\0005\0\0\0\20\0\0\0\n\0\0\0p\23\212\324 s(\4\4\1\252\240$p(\310A@\0\24*\0010\f \0\0\0\0200\0@\2\5\3\0!i\214\1\10\0k\321\243\0010\0011\n\1\5\313M\0\307\20\204\3621\0\215\5E\20\1\4\32N\20\224\30\200\200\0\1\0@\0`\2\240J(AC\1\0H\220\0`\3B\5\200\32\241%\200\0X\10\24\202\0`X\4\0\0\0R0\200!V\"\10i\23\0@\22A\4\22\23\0\0\0\0005\0\0\0\0\0\0\0006\0\0\0\0\0\0\0\0\0\0\0007\0\0\0\0\0\0\0\0\0\0\0008\0\0\0009\0\0\0\0\0\0\0:\0\0\0\0\0\0\0;\0\0\0\0\0\0\0<\0\0\0=\0\0\0\0\0\0\0>\0\0\0?\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0A\0\0\0B\0\0\0C\0\0\0\0\0\0\0D\0\0\0\0\0\0\0F\0\0\0G\0\0\0I\0\0\0J\0\0\0\0\0\0\0\0\0\0\0K\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0M\0\0\0O\0\0\0R\0\0\0S\0\0\0T\0\0\0U\0\0\0V\0\0\0\0\0\0\0W\0\0\0X\0\0\0Z\0\0\0[\0\0\0\\\0\0\0\0\0\0\0^\0\0\0`\0\0\0a\0\0\0b\0\0\0d\0\0\0e\0\0\0f\0\0\0", 832) = 832
22452 14:44:04.191791 fstat(3, {st_dev=makedev(8, 1), st_ino=1983415, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=160, st_size=80944, st_atime=2014/05/23-06:02:01, st_mtime=2013/02/21-13:28:43, st_ctime=2013/08/27-11:47:35}) = 0
22452 14:44:04.191945 mmap(0x3dde200000, 2174216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3dde200000
22452 14:44:04.192023 mprotect(0x3dde212000, 2097152, PROT_NONE) = 0
22452 14:44:04.192099 mmap(0x3dde412000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x3dde412000
22452 14:44:04.192196 close(3)          = 0
22452 14:44:04.192315 open("/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192398 open("/opt/mhash/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192477 open("/opt/libmcrypt/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192557 open("/opt/curlssl/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192635 open("/opt/openssl/lib/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192712 open("/usr/lib64/tls/libXt.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.192790 open("/usr/lib64/libXt.so.6", O_RDONLY) = 3
22452 14:44:04.192870 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p1!\334=\0\0\0@\0\0\0\0\0\0\0 E\6\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0 \334=\0\0\0\0\0 \334=\0\0\0,\347\5\0\0\0\0\0,\347\5\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0000\347\5\0\0\0\0\0000\347E\334=\0\0\0000\347E\334=\0\0\0xS\0\0\0\0\0\0000`\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0 \361\5\0\0\0\0\0 \361E\334=\0\0\0 \361E\334=\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1 \334=\0\0\0\220\1 \334=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0lJ\5\0\0\0\0\0lJ%\334=\0\0\0lJ%\334=\0\0\0\264\26\0\0\0\0\0\0\264\26\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0+j\250\255\25\251\360\232\270\36\257\3478\353\267k\313\36138\0\0\0\0\7\1\0\0\316\0\0\0@\0\0\0\f\0\0\0!B$R\0\10B\204\23\2(\200\20\200\20\3@\20`0H\0\321V\1\0\24(@j@( @d\0D\20\10\4,f\205i\n BE\240 \5S@'EC\220\4\0\25\200\240\0\f\10\t(\0\0\33\16\314\22\321\10\20\220\322\0\25I\0000(\21\20\33\201T\0\n$@\n\0\2\2208\0\212@\2\312EDE\34\10(\200M\20 \0\1 @A\0Ha\210H\5\1\24!! \22\4\22L.D@HB\222\v\7B@H\0P\224\0\"H\21H\243\6\220i\4\0\4@(!\0@\24(\220\4\10\210\22\2140\230\304\221\10\202\0005\10\t\210!\20\212\1\261\202\21\200\6\2\201\202\200\240\301$\0\0@\0\0\0\0\20\240\24 \0\240 XI\f\24\0020\3`\"\302\210\310\02143\30\3\r\3\214\201C\0\0\4\1\0\26 \204\10\10\1\260 \202 \10\200$\10D\22\0\0\200AM\300\10\260\0\220\0\5\1@\200\10\240+\200\"\0\1\200\30\0001\0\"B\204\4\1\1\20\25\0\2\t\242\2\nD\10\0010@\0\10\20\21D`\3\200)@\20\"\1\202\2@\220\4\0\0 \300\r\202\0\207T\3250-. E\300N\0\0a\213\240\2\0 A\20\2\220\4=\0\261D&@1\3F\0P\0\0\0\1\0\n@\0`\204\0\200\0\20\0", 832) = 832
22452 14:44:04.193374 fstat(3, {st_dev=makedev(8, 1), st_ino=1969112, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=808, st_size=412832, st_atime=2014/05/23-06:02:01, st_mtime=2013/02/21-13:11:42, st_ctime=2013/08/27-11:47:35}) = 0
22452 14:44:04.193493 brk(0x1be1000)    = 0x1be1000
22452 14:44:04.193570 mmap(0x3ddc200000, 2508640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ddc200000
22452 14:44:04.193642 mprotect(0x3ddc25f000, 2093056, PROT_NONE) = 0
22452 14:44:04.193718 mmap(0x3ddc45e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5e000) = 0x3ddc45e000
22452 14:44:04.193809 mmap(0x3ddc464000, 1888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ddc464000
22452 14:44:04.193887 close(3)          = 0
22452 14:44:04.193981 open("/lib/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194059 open("/opt/mhash/lib/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194137 open("/opt/libmcrypt/lib/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194219 open("/opt/curlssl/lib/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194314 open("/opt/openssl/lib/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194390 open("/usr/lib64/tls/libSM.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.194466 open("/usr/lib64/libSM.so.6", O_RDONLY) = 3
22452 14:44:04.194553 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\32\240\336=\0\0\0@\0\0\0\0\0\0\0h}\0\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\240\336=\0\0\0\0\0\240\336=\0\0\0\344m\0\0\0\0\0\0\344m\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0p\0\0\0\0\0\0\0p\300\336=\0\0\0\0p\300\336=\0\0\0\220\3\0\0\0\0\0\0\270\3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0000p\0\0\0\0\0\0000p\300\336=\0\0\0000p\300\336=\0\0\0\260\1\0\0\0\0\0\0\260\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\240\336=\0\0\0\220\1\240\336=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0000e\0\0\0\0\0\0000e\240\336=\0\0\0000e\240\336=\0\0\0\\\1\0\0\0\0\0\0\\\1\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\207\260d\235>ZE&1H\0\360\2617\207#\303\240\207\10\0\0\0\0%\0\0\0(\0\0\0\10\0\0\0\t\0\0\0\10\20P\r0l\200\30\201\2q\2E@]\4\220\201\0\0\201\204`\0B\0\0\0\1\20\0\1\200\0 \20\0\3\300\2\10\202\0\300\6\220\2\205l\21$\2\1,\2\t\0\0 \21\2\27\4\1\0\0\0\0(\0\0\0)\0\0\0*\0\0\0\0\0\0\0,\0\0\0/\0\0\0002\0\0\0\0\0\0\0003\0\0\0005\0\0\0007\0\0\0008\0\0\0\0\0\0\0009\0\0\0;\0\0\0\0\0\0\0=\0\0\0\0\0\0\0>\0\0\0@\0\0\0\0\0\0\0\0\0\0\0A\0\0\0C\0\0\0F\0\0\0L\0\0\0\0\0\0\0N\0\0\0\0\0\0\0O\0\0\0Q\0\0\0T\0\0\0U\0\0\0V\0\0\0Y\0\0\0[\0\0\0\351\253\357\321;6\341\262\340poh\253\336o\321\352\323\357\16*\\\302&\33\230\225\r\252\213o\274p\275\315f\203\253f\n\177\3616\301<n^:)\357\225\2726\253?\343\265NO\30\301\300\303\320Ut\234\r`f\2131\203+q\214H\254B\244\335\3456\300o\\o\252\26\206\30;\231\221y\303\205UH\244\210\31t\255\253[\365\341(\271!q\204\20\373\177\331qX\0348\0174\350nYF\313$02.\354C\211\203\272\343\222|w\216u\273*Zj~\217\354\v\33s*%\275H?(\27CE\325\354", 832) = 832
22452 14:44:04.195083 fstat(3, {st_dev=makedev(8, 1), st_ino=1967109, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=72, st_size=34024, st_atime=2014/05/23-06:02:01, st_mtime=2013/02/21-12:48:33, st_ctime=2013/08/27-11:47:34}) = 0
22452 14:44:04.195219 mmap(0x3ddea00000, 2126776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ddea00000
22452 14:44:04.195296 mprotect(0x3ddea07000, 2097152, PROT_NONE) = 0
22452 14:44:04.195374 mmap(0x3ddec07000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x3ddec07000
22452 14:44:04.195476 close(3)          = 0
22452 14:44:04.195576 open("/lib/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.195662 open("/opt/mhash/lib/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.195741 open("/opt/libmcrypt/lib/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.195824 open("/opt/curlssl/lib/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.195911 open("/opt/openssl/lib/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.196001 open("/usr/lib64/tls/libICE.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.196560 open("/usr/lib64/libICE.so.6", O_RDONLY) = 3
22452 14:44:04.196657 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0pM`\340=\0\0\0@\0\0\0\0\0\0\0h\205\1\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0`\340=\0\0\0\0\0`\340=\0\0\0\34n\1\0\0\0\0\0\34n\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0p\1\0\0\0\0\0\0p\201\340=\0\0\0\0p\201\340=\0\0\0\320\v\0\0\0\0\0\0\300D\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0Pq\1\0\0\0\0\0Pq\201\340=\0\0\0Pq\201\340=\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1`\340=\0\0\0\220\1`\340=\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\10M\1\0\0\0\0\0\10Ma\340=\0\0\0\10Ma\340=\0\0\0\24\5\0\0\0\0\0\0\24\5\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\1\234\250\342=w\342\1c\34\244\363\21\374\314:\207\t\3502\0\0\0\0\203\0\0\0X\0\0\0\20\0\0\0\n\0\0\0\22H\"\200\0@\0\231T\35\36\200\215\0372P\0000\n\4\20\0\1 \204\352q\1\34\2\36\34\221\200\0F\21\0\0\212\10\20J\220y\2\200\1 \2(\0(\2011\301)\10\4\25P\0\0D.\200\201\241\200`\20\0!((\204\4\20\20\0\206\20@\250\0\202\1\31\300\0\0\220a\4@\20\1\t\20 \24\0\22\240\220\0\246\0F\16\30\22\4 \262@6\240\220\213\0!\300\222\25\0049\324X\0\0\0Y\0\0\0Z\0\0\0]\0\0\0_\0\0\0`\0\0\0b\0\0\0\0\0\0\0\0\0\0\0f\0\0\0h\0\0\0\0\0\0\0j\0\0\0l\0\0\0o\0\0\0\0\0\0\0r\0\0\0s\0\0\0u\0\0\0\0\0\0\0\0\0\0\0w\0\0\0x\0\0\0z\0\0\0|\0\0\0\0\0\0\0~\0\0\0\177\0\0\0\200\0\0\0\201\0\0\0\202\0\0\0\0\0\0\0\204\0\0\0\205\0\0\0\0\0\0\0\206\0\0\0\207\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\0\0\0\211\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\0\0\0\0\0\0\0\216\0\0\0\0\0\0\0\217\0\0\0\0\0\0\0\221\0\0\0\223\0\0\0\0\0\0\0\225\0\0\0\0\0\0\0\230\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
22452 14:44:04.197247 fstat(3, {st_dev=makedev(8, 1), st_ino=1983403, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=200, st_size=101608, st_atime=2014/05/23-06:02:01, st_mtime=2010/08/16-17:21:28, st_ctime=2013/08/27-11:47:32}) = 0
22452 14:44:04.197374 mmap(0x3de0600000, 2208960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358af18000
22452 14:44:04.197461 mprotect(0x7f358af2f000, 2097152, PROT_NONE) = 0
22452 14:44:04.197536 mmap(0x7f358b12f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f358b12f000
22452 14:44:04.197625 mmap(0x7f358b130000, 13504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f358b130000
22452 14:44:04.197698 close(3)          = 0
22452 14:44:04.197792 open("/lib/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.197866 open("/opt/mhash/lib/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.197942 open("/opt/libmcrypt/lib/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.198015 open("/opt/curlssl/lib/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.198089 open("/opt/openssl/lib/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.198161 open("/usr/lib64/tls/libgomp.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.198235 open("/usr/lib64/libgomp.so.1", O_RDONLY) = 3
22452 14:44:04.198309 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@6\0\0\0\0\0\0@\0\0\0\0\0\0\0\350\317\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\35\0\34\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\274\312\0\0\0\0\0\0\274\312\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\300\312\0\0\0\0\0\0\300\312 \0\0\0\0\0\300\312 \0\0\0\0\0\10\4\0\0\0\0\0\0\300\4\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\10\313\0\0\0\0\0\0\10\313 \0\0\0\0\0\10\313 \0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0\300\312\0\0\0\0\0\0\300\312 \0\0\0\0\0\300\312 \0\0\0\0\0\0\0\0\0\0\0\0\0d\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\340\251\0\0\0\0\0\0\340\251\0\0\0\0\0\0\340\251\0\0\0\0\0\0\224\6\0\0\0\0\0\0\224\6\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0%\33\202\211\304\360^\22x\302\274t\367\257@\313\233\237\337\r\0\0\0\0;\1\0\0/\0\0\0\20\0\0\0\n\0\0\0\21\10\1\200\300\200\0\324}\336\22\0\223\300\246H\r\20\212\220A\20\200\200\6\240\f\10J\4@\30\4B4a\"$F\4\f\201K\200\f\203\32\241\225\0050@\16\n   \2\6\200\6`\4\0\2\0\1!\320\2020\2$HP\10GPp(\30\2\0\24\0\24\0\21@H\300\0\210\1B\0\240\0\201%0\330-Nr\0 \310\1\4\2%\210\240\206A@\1\201\22B\1\2^\0B\0104\0\0\0\0\0\0\0\0/\0\0\0\0\0\0\0\0\0\0\0000\0\0\0001\0\0\0002\0\0\0005\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0006\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0007\0\0\0008\0\0\0\0\0\0\0;\0\0\0\0\0\0\0<\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=\0\0\0\0\0\0\0?\0\0\0\0\0\0\0A\0\0\0B\0\0\0\0\0\0\0C\0\0\0D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0\0\0\0\0\0\0G\0\0\0", 832) = 832
22452 14:44:04.198939 fstat(3, {st_dev=makedev(8, 1), st_ino=1968954, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=112, st_size=55080, st_atime=2014/05/22-19:44:35, st_mtime=2013/11/21-12:08:46, st_ctime=2013/12/04-18:44:35}) = 0
22452 14:44:04.199083 mmap(NULL, 2150272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358ad08000
22452 14:44:04.199177 mprotect(0x7f358ad15000, 2093056, PROT_NONE) = 0
22452 14:44:04.199260 mmap(0x7f358af14000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f358af14000
22452 14:44:04.199358 close(3)          = 0
22452 14:44:04.199660 open("/lib/libuuid.so.1", O_RDONLY) = 3
22452 14:44:04.199749 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\17\0\0004\0\0\0\2606\0\0\0\0\0\0004\0 \0\7\0(\0\36\0\35\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0|3\0\0|3\0\0\5\0\0\0\0\20\0\0\1\0\0\0|3\0\0|C\0\0|C\0\0\20\2\0\0(\2\0\0\6\0\0\0\0\20\0\0\2\0\0\0\2443\0\0\244C\0\0\244C\0\0\340\0\0\0\340\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0\24\1\0\0\24\1\0\0\24\1\0\0$\0\0\0$\0\0\0\4\0\0\0\4\0\0\0\7\0\0\0|3\0\0|C\0\0|C\0\0\4\0\0\0006\0\0\0\4\0\0\0\4\0\0\0P\345td8-\0\0008-\0\0008-\0\0\374\0\0\0\374\0\0\0\4\0\0\0\4\0\0\0Q\345td\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\4\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\355\307U\267A\365i\206\277l\330\227z6\233v)\277\311\337\21\0\0\0.\0\0\0\4\0\0\0\7\0\0\0TN\317$\4\10\10\2A\0\24 \27\fQ\6.\0\0\0000\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0001\0\0\0002\0\0\0004\0\0\0007\0\0\0\0\0\0\0008\0\0\0009\0\0\0:\0\0\0;\0\0\0>\0\0\0?\0\0\0@\0\0\0\206k\345[\235)\27\252\21\210t&q\201\201\346\212+\361+]\n\362\253`\0\246\207\242e\370(e\210\352\246\205KI\210\353\305\361\253\271\t\262\267\365\334tp\32\3\345\222\226\325\335)S*1\33\203\224@P\23\347\0HF@+\tw\215\350\253\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\251\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\350\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0o\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\24\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\332\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0b\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0^\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\272\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\37\0\0\0\0\0\0\0\0\0\0\0 \0\0\0J\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\366\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0-\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\360\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\235\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\34\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\244\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0U\0\0\0\0\0\0\0\0\0\0\0\22\0\0\0\214\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\r\1\0\0\0\0\0\0\0\0\0\0\22\0\0\0\302\0\0\0", 832) = 832
22452 14:44:04.200310 close(3)          = 0
22452 14:44:04.200383 open("/opt/mhash/lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200469 open("/opt/libmcrypt/lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200550 open("/opt/curlssl/lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200628 open("/opt/openssl/lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200706 open("/usr/lib64/tls/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200793 open("/usr/lib64/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200876 open("/opt/curlssl//lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.200960 open("/opt/php_with_imap_client//lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.201053 open("/opt/libmcrypt//lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.201131 open("/opt/mhash//lib/libuuid.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.201218 open("/etc/ld.so.cache", O_RDONLY) = 3
22452 14:44:04.201288 fstat(3, {st_dev=makedev(8, 2), st_ino=783831, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=120, st_size=60979, st_atime=2014/05/22-23:47:13, st_mtime=2014/05/19-23:47:13, st_ctime=2014/05/19-23:47:13}) = 0
22452 14:44:04.201403 mmap(NULL, 60979, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35927b0000
22452 14:44:04.201468 close(3)          = 0
22452 14:44:04.201551 open("/lib64/libuuid.so.1", O_RDONLY) = 3
22452 14:44:04.201625 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\25\0\0\0\0\0\0@\0\0\0\0\0\0\00008\0\0\0\0\0\0\0\0\0\0@\0008\0\7\0@\0\36\0\35\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00043\0\0\0\0\0\00043\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\00083\0\0\0\0\0\00083 \0\0\0\0\00083 \0\0\0\0\0\320\3\0\0\0\0\0\0\360\3\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\2103\0\0\0\0\0\0\2103 \0\0\0\0\0\2103 \0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0\310\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\00083\0\0\0\0\0\00083 \0\0\0\0\00083 \0\0\0\0\0\4\0\0\0\0\0\0\0J\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\30.\0\0\0\0\0\0\30.\0\0\0\0\0\0\30.\0\0\0\0\0\0\334\0\0\0\0\0\0\0\334\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\v\321 &\177$YK\n\177\347\310\26B\312\36\0312\245\203\0\0\0\0\21\0\0\0000\0\0\0\2\0\0\0\7\0\0\0TL\317$\4\n\0\2E\10\25$\22\4Q\0020\0\0\0002\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0003\0\0\0004\0\0\0006\0\0\0009\0\0\0\0\0\0\0:\0\0\0;\0\0\0<\0\0\0=\0\0\0@\0\0\0A\0\0\0B\0\0\0\206k\345[\235)\27\252\21\210t&q\201\201\346\212+\361+]\n\362\253`\0\246\207\242e\370(e\210\352\246\205KI\210\353\305\361\253\271\t\262\267\365\334tp\32\3\345\222\226\325\335)S*1\33\203\224@P\23\347\0HF@+\tw\215\350\253\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\n\0\200\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\21\00083 \0\0\0\0\0\0\0\0\0\0\0\0\0\255\0\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\1\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0007\1\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0n\1\0\0\22\0\0\0", 832) = 832
22452 14:44:04.202153 fstat(3, {st_dev=makedev(8, 2), st_ino=260733, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=32, st_size=16304, st_atime=2014/05/22-22:44:01, st_mtime=2014/04/28-02:08:01, st_ctime=2014/04/28-22:44:01}) = 0
22452 14:44:04.202275 mmap(NULL, 2111272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358ab00000
22452 14:44:04.202353 mprotect(0x7f358ab04000, 2093056, PROT_NONE) = 0
22452 14:44:04.202425 mmap(0x7f358ad03000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f358ad03000
22452 14:44:04.202508 close(3)          = 0
22452 14:44:04.203830 sched_getaffinity(22452, 128,  { 300 }) = 8
22452 14:44:04.203997 munmap(0x7f35927b0000, 60979) = 0
22452 14:44:04.204535 brk(0x1c02000)    = 0x1c02000
22452 14:44:04.204765 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/imagick.so", O_RDONLY) = 3
22452 14:44:04.204853 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0t\2\0\0\0\0\0@\0\0\0\0\0\0\0\10\317\17\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\274\252\5\0\0\0\0\0\274\252\5\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\300\252\5\0\0\0\0\0\300\252%\0\0\0\0\0\300\252%\0\0\0\0\0\0\374\0\0\0\0\0\0\210\0\1\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\250\253\5\0\0\0\0\0\250\253%\0\0\0\0\0\250\253%\0\0\0\0\0\260\1\0\0\0\0\0\0\260\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0`C\5\0\0\0\0\0`C\5\0\0\0\0\0`C\5\0\0\0\0\0\324\20\0\0\0\0\0\0\324\20\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\2142\213\362:o\371V\204\"\366xv`Qft\3609\374\0\0\0\0\t\2\0\0h\2\0\0\200\0\0\0\r\0\0\0\0\10\10\2\20\tH\0\10\0\4\200\200\344\200\20 \0\21\1\200\30\0\36\0\203\2060\0\2203\0\10\0\20!\1C\0\202 ^@\206\0\1\1\220@\0)\0@pD\0Q\25q\220P\31\17\254\0\0 \4 \0\2\1\244\344@\300H@B\4\4\0$ @\220\0\16!\0\5\0\0\10\0\0\20\10\27\0\1\0`\3 \f\2\3010\26\231\230\0109\201p0jh\10\200L\0\0H\10\2$\20\240\220\2\205\222\0P\204`\260\31\200\240@\22\10@P\224\6\2\244\0 \32 \21!h\2\337\0\10\200@@\2\1\30\30B\0\0,L\250\2\20b:\200\0 \0\0\0\340\20\200\306,\200C\10\0\20\201\2\0\200\n~1\0\0+\10@\t\0\0 \0\200\0\204\0\0\234@D\n!\310D\20\2\0\201\10\22H\0\2\200\20\201\20,\36\3063\24d\2P\267\245\20\r\10` \200$\200\0\201dB\224\4\0012\24@(*@D\0@\0\34\200(\2$\200\24\0\2\0\242B\3\0\265h\1\v\0\1\0\16\10\206\t\t\10\0\210L\0)\10\201\203\0\224\4\200 \210\"\3\0\0\0\0\0\2A\20\0\20\5\1\224\10\fp\"\f\t\0008FH*l \25\6DA\0\10D`\0\0043\20\4L$\212\3\1\0\0\6\0320\210\10\2\0\1\"\4\4\2\201\4@", 832) = 832
22452 14:44:04.205368 fstat(3, {st_dev=makedev(8, 2), st_ino=662685, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=2184, st_size=1114422, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:29:01, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.205491 mmap(NULL, 2534216, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358a890000
22452 14:44:04.205567 mprotect(0x7f358a8eb000, 2093056, PROT_NONE) = 0
22452 14:44:04.205637 mmap(0x7f358aaea000, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5a000) = 0x7f358aaea000
22452 14:44:04.205735 close(3)          = 0
22452 14:44:04.206840 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/pdo.so", O_RDONLY) = 3
22452 14:44:04.206947 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360a\0\0\0\0\0\0@\0\0\0\0\0\0\0 \215\4\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$\\\1\0\0\0\0\0$\\\1\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0`\1\0\0\0\0\0\0`!\0\0\0\0\0\0`!\0\0\0\0\0\240(\0\0\0\0\0\0x,\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0000`\1\0\0\0\0\0000`!\0\0\0\0\0000`!\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0@D\1\0\0\0\0\0@D\1\0\0\0\0\0@D\1\0\0\0\0\0\304\3\0\0\0\0\0\0\304\3\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\342Z\260\340{Y\276\246\6K\330\31605\20\23\261\310\335z\0\0\0\0%\0\0\0t\0\0\0\10\0\0\0\t\0\0\0\4  \31\244\224@4\0\264\1J\10\220@\24\204 \0H\3\1\0\30$@\n(\300\4\0d\20\0\0\0\v\0\24\0H\1\1$\307\0\0\5`@\10\0\2\204\3\t 9\304\1\1\6\1It\0\0\0\0\0\0\0v\0\0\0x\0\0\0y\0\0\0{\0\0\0~\0\0\0\201\0\0\0\202\0\0\0\203\0\0\0\206\0\0\0\207\0\0\0\210\0\0\0\213\0\0\0\214\0\0\0\216\0\0\0\220\0\0\0\221\0\0\0\0\0\0\0\223\0\0\0\225\0\0\0\226\0\0\0\230\0\0\0\232\0\0\0\235\0\0\0\241\0\0\0\243\0\0\0\0\0\0\0\0\0\0\0\245\0\0\0\247\0\0\0\252\0\0\0\253\0\0\0\254\0\0\0\0\0\0\0\255\0\0\0\260\0\0\0\34\324i\345\341\v\16\302\f\330\325\315=l\2035\r\260\214\26\334\316\344\2635i\202\312\352\323\357\16\304&x\350%^L\272\232\2047\371\326A\346\303\313a(\3c\3617\350\311\301\"\221\216\341!\277\350\231\312\253\377\372e\4=D\275l\333\364\375\277H\315wYZ\317\3`=\336\354\225!\307\257dllv\r]\273\v*Z\224M\206\215\274\305ka\303\36O\274\216\263\231\373\3253'^\370]mo\32\365\323-l\310#`!M\377Y \311\\\372L\367\377\377\261\326\256\376\"\361\345\202\320\361O\353\234\vp", 832) = 832
22452 14:44:04.207472 fstat(3, {st_dev=makedev(8, 2), st_ino=662699, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=616, st_size=314979, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:28:51, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.207611 mmap(NULL, 2198648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358a670000
22452 14:44:04.207696 mprotect(0x7f358a686000, 2097152, PROT_NONE) = 0
22452 14:44:04.207792 mmap(0x7f358a886000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f358a886000
22452 14:44:04.207902 close(3)          = 0
22452 14:44:04.208108 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/pdo_sqlite.so", O_RDONLY) = 3
22452 14:44:04.208210 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\25\1\0\0\0\0\0@\0\0\0\0\0\0\0000_\31\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\364\216\6\0\0\0\0\0\364\216\6\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\0\220\6\0\0\0\0\0\0\220&\0\0\0\0\0\0\220&\0\0\0\0\0\360*\0\0\0\0\0\0\230,\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\30\243\6\0\0\0\0\0\30\243&\0\0\0\0\0\30\243&\0\0\0\0\0\240\1\0\0\0\0\0\0\240\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\10\347\5\0\0\0\0\0\10\347\5\0\0\0\0\0\10\347\5\0\0\0\0\0\364\32\0\0\0\0\0\0\364\32\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\227\246Z\26\211X\301\202\360\361\240\23)b=T(\224\261\335\0\0\0\0\t\2\0\0T\0\0\0@\0\0\0\f\0\0\0\0\0(\0\200\22@\0\204(\200\206F:\0\2\nD\302b\231\n\260\2\300\30\30\240k\0i\332\tq\0\3\10|&\20\300P0@QC\2\"\240\4\216\f\240\20\260\0\322(\2\347UV\v \2\210P\210A\30.C8\10\0\0\6\301\202\2A\4@\22\0Q\3\3D\20\v\21\300\10P8\4\0@\n\202\0C@ !\1@\0i\4\n\21\4\21i\t\306\2\f=@\36\30\20\4\25e\n\2\6!\0N\2204\205\204\200@\t\272\10\234\302\226\0\4\245\212\244D\214\22 \241\1\20\0!`\24\1\2\200\1\20\211_\30U\221\34xD\220\0@\341\f\201\7\232b\201\252\2`\30( \4\7\37X\245DP\2\34!\222\0ea\0244\201\16\200\0\201\260\200\206a&\242\0\241H\210\211X\2\246\6\207\n\206\1\201@(\210\10p\240\340U\200\4<\0\20\1@L\0M\4ZA \32\16D\210\2%@\240&%\302g\1+\2\0 J\20\0C\200\1@\202\202&\1\200\200 @\r\3H\2!&(\t\4\270\0\300\272`H\250\226\262\210!@<)\6\20\t\204\206\3@\0021\t\26@\2I\3\265\21\233\310\20\0\20\0\0\0\0\20\5@\1@\10\3\0\22\0\202\300\0\0\22\0\0A\340\5\5\31(\302\320\10\203@\5\f\6 \242\250\21\300\0@@\200\0", 832) = 832
22452 14:44:04.208809 fstat(3, {st_dev=makedev(8, 2), st_ino=662704, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3344, st_size=1712102, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:28:51, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.208948 mmap(NULL, 2538648, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358a400000
22452 14:44:04.209038 mprotect(0x7f358a469000, 2097152, PROT_NONE) = 0
22452 14:44:04.209120 mmap(0x7f358a669000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0x7f358a669000
22452 14:44:04.209222 close(3)          = 0
22452 14:44:04.209524 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/sqlite.so", O_RDONLY) = 3
22452 14:44:04.209627 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\350\0\0\0\0\0\0@\0\0\0\0\0\0\0\220\353\21\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\214\214\5\0\0\0\0\0\214\214\5\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\220\214\5\0\0\0\0\0\220\214%\0\0\0\0\0\220\214%\0\0\0\0\0\360<\0\0\0\0\0\0pB\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\0\222\5\0\0\0\0\0\0\222%\0\0\0\0\0\0\222%\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\360\16\5\0\0\0\0\0\360\16\5\0\0\0\0\0\360\16\5\0\0\0\0\0\334\22\0\0\0\0\0\0\334\22\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\356'1I\264\331\5F^\26\306\261\216\266\304\276^\345\35\21\0\0\0\0\7\1\0\0\217\0\0\0 \0\0\0\v\0\0\0\4&\210\r$\21Z\213\35F\4\207A\247\f\30G3\301\200`\255H\f`\24\30\f\203D\201\300 `sG\202\273\0\16\311\24\221\201\220\7\200\5\4J\311\232\350\342\224D\201\334\2\311`U\201\2360\212\231\4\30r\364u\20*\320\363#\t\321[\305@`\1\0@\300xpB\204\210\20\240IX\22\230\23\0($\10\"$\222\302`\"\261H\302\314*R;\t\274\230\231\210E\0@\200\25X\205\212\20\31[\230\7\202\4  \1\200\213@\1\220\200\0\320)\6F L\0\21H\26\34&\34@4L\201\0\5\204\1\v\f\f0\n$\201`)\1\200\1\1\1@\322\321\326\211\"\1\20\204\4\0\22Z\t\30M\0\20\210\314P>H\300\34\t\34,\203J\211\330\202\206p\20\250\4\0`\0\4\21A\25\200\"\240Mx\n{\4@H@\344v\0\2\202a!\0\345A\0\330\3000\266F\10\30z\217\0\0\0\221\0\0\0\222\0\0\0\223\0\0\0\225\0\0\0\0\0\0\0\226\0\0\0\231\0\0\0\234\0\0\0\0\0\0\0\236\0\0\0\240\0\0\0\0\0\0\0\0\0\0\0\243\0\0\0\0\0\0\0\244\0\0\0\246\0\0\0\247\0\0\0\250\0\0\0\251\0\0\0\0\0\0\0\253\0\0\0\257\0\0\0\0\0\0\0\261\0\0\0\0\0\0\0\262\0\0\0\263\0\0\0\0\0\0\0", 832) = 832
22452 14:44:04.210205 fstat(3, {st_dev=makedev(8, 2), st_ino=662706, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=2376, st_size=1215513, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:28:51, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.210355 mmap(NULL, 2477824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f358a1a0000
22452 14:44:04.210443 mprotect(0x7f358a1f9000, 2093056, PROT_NONE) = 0
22452 14:44:04.210513 mmap(0x7f358a3f8000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x58000) = 0x7f358a3f8000
22452 14:44:04.210609 close(3)          = 0
22452 14:44:04.211125 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so", O_RDONLY) = 3
22452 14:44:04.211223 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200$\0\0\0\0\0\0@\0\0\0\0\0\0\0P\33\2\0\0\0\0\0\0\0\0\0@\0008\0\6\0@\0&\0#\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\334c\0\0\0\0\0\0\334c\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\340c\0\0\0\0\0\0\340c \0\0\0\0\0\340c \0\0\0\0\0\330\6\0\0\0\0\0\0 \7\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\20d\0\0\0\0\0\0\20d \0\0\0\0\0\20d \0\0\0\0\0\320\1\0\0\0\0\0\0\320\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0\220\1\0\0\0\0\0\0$\0\0\0\0\0\0\0$\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0\210^\0\0\0\0\0\0\210^\0\0\0\0\0\0\210^\0\0\0\0\0\0\364\0\0\0\0\0\0\0\364\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\6\22S\376\257*\224\276!}\366lO 7\340\340\23:\345\0\0\0\0\3\0\0\0W\0\0\0\2\0\0\0\7\0\0\0\201\0$\10\0\0\10\t(D \301\210\25\264\2W\0\0\0]\0\0\0b\0\0\0\3041]\0332\251\7\177\272\343\222|\352\234\vpBE\325\354_y\355^l\314\206\222\350\257^LTzo\273\330qX\34\271\215\361\16\352\323\357\16\316\23\263\377\364\373\f|\25\240N\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\t\0\20\37\0\0\0\0\0\0\0\0\0\0\0\0\0\0\337\3\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\357\3\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0f\3\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\6\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0006\4\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0]\1\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)\1\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\325\1\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\364\4\0\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0 \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 832) = 832
22452 14:44:04.211816 fstat(3, {st_dev=makedev(8, 2), st_ino=662702, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=296, st_size=147535, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:28:51, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.211946 mmap(NULL, 2124544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3589f98000
22452 14:44:04.212031 mprotect(0x7f3589f9f000, 2093056, PROT_NONE) = 0
22452 14:44:04.212110 mmap(0x7f358a19e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f358a19e000
22452 14:44:04.212214 close(3)          = 0
22452 14:44:04.212617 open("/opt/php52/lib/php/extensions/no-debug-non-zts-20060613/ixed.5.2.lin", O_RDONLY) = 3
22452 14:44:04.212713 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0>\0\0\0\0\0\0@\0\0\0\0\0\0\0@.\1\0\0\0\0\0\0\0\0\0@\0008\0\5\0@\0\23\0\22\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0H\30\1\0\0\0\0\0H\30\1\0\0\0\0\0\0\0\20\0\0\0\0\0\1\0\0\0\6\0\0\0\0 \1\0\0\0\0\0\0 \21\0\0\0\0\0\0 \21\0\0\0\0\0\240\r\0\0\0\0\0\0\0\17\0\0\0\0\0\0\0\0\20\0\0\0\0\0\2\0\0\0\6\0\0\0\0 \1\0\0\0\0\0\0 \21\0\0\0\0\0\0 \21\0\0\0\0\0`\1\0\0\0\0\0\0`\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0\0\v\1\0\0\0\0\0\0\v\1\0\0\0\0\0\0\v\1\0\0\0\0\0\234\2\0\0\0\0\0\0\234\2\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0\203\0\0\0\266\0\0\0\223\0\0\0\0\0\0\0006\0\0\0y\0\0\0\212\0\0\0\211\0\0\0\0\0\0\0K\0\0\0\0\0\0\0\252\0\0\0\201\0\0\0\0\0\0\0\241\0\0\0z\0\0\0k\0\0\0>\0\0\0\0\0\0\0^\0\0\0\235\0\0\0\0\0\0\0t\0\0\0+\0\0\0\0\0\0\0m\0\0\0\261\0\0\0\255\0\0\0~\0\0\0.\0\0\0x\0\0\0o\0\0\0\0\0\0\0\260\0\0\0Y\0\0\0\t\0\0\0\0\0\0\0\263\0\0\0\\\0\0\0\207\0\0\0B\0\0\0\16\0\0\0\0\0\0\0\0\0\0\0\242\0\0\0\202\0\0\0I\0\0\0\0\0\0\0\215\0\0\0\0\0\0\0\256\0\0\0\0\0\0\0\237\0\0\0009\0\0\0\0\0\0\0\245\0\0\0w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\264\0\0\0\0\0\0\0\250\0\0\0n\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0s\0\0\0\0\0\0\0\0\0\0\0\247\0\0\0\0\0\0\0\0\0\0\0r\0\0\0\254\0\0\0\253\0\0\0\240\0\0\0S\0\0\0\257\0\0\0b\0\0\0p\0\0\0d\0\0\0\0\0\0\0O\0\0\0q\0\0\0\232\0\0\0l\0\0\0\0\0\0\0M\0\0\0\0\0\0\0\236\0\0\0000\0\0\0f\0\0\0]\0\0\0\225\0\0\0C\0\0\0\205\0\0\0\32\0\0\0e\0\0\0\262\0\0\0\0\0\0\0\243\0\0\0\217\0\0\0\0\0\0\0\222\0\0\0\24\0\0\0\230\0\0\0004\0\0\0c\0\0\0$\0\0\0\265\0\0\0\36\0\0\0\0\0\0\0/\0\0\0\0\0\0\0007\0\0\0|\0\0\0F\0\0\0\204\0\0\0<\0\0\0", 832) = 832
22452 14:44:04.213295 fstat(3, {st_dev=makedev(8, 2), st_ino=662691, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=160, st_size=78592, st_atime=2014/05/22-14:55:47, st_mtime=2014/05/07-14:29:20, st_ctime=2014/05/07-14:55:47}) = 0
22452 14:44:04.213427 mmap(NULL, 1126144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3592640000
22452 14:44:04.213504 mprotect(0x7f3592652000, 1048576, PROT_NONE) = 0
22452 14:44:04.213581 mmap(0x7f3592752000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12000) = 0x7f3592752000
22452 14:44:04.213669 close(3)          = 0
22452 14:44:04.214036 futex(0x7f358fd51e00, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.215205 brk(0x1c23000)    = 0x1c23000
22452 14:44:04.216860 time(NULL)        = 1400874244
22452 14:44:04.217010 brk(0x1c44000)    = 0x1c44000
22452 14:44:04.217571 brk(0x1c65000)    = 0x1c65000
22452 14:44:04.218307 brk(0x1c86000)    = 0x1c86000
22452 14:44:04.219041 open("/usr/local/apache/conf/magic", O_RDONLY) = 3
22452 14:44:04.219176 fstat(3, {st_dev=makedev(8, 1), st_ino=2111679, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=32, st_size=12958, st_atime=2014/05/22-17:55:41, st_mtime=2014/03/27-16:54:06, st_ctime=2014/04/01-17:55:41}) = 0
22452 14:44:04.219313 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.219400 read(3, "# Magic data for mod_mime_magic Apache module (originally for file(1) command)\n# The module is described in /manual/mod/mod_mime_magic.html\n#\n# The format is 4-5 columns:\n#    Column #1: byte number to begin checking from, \">\" indicates continuation\n#    Column #2: type of data to match\n#    Column #3: contents of data to match\n#    Column #4: MIME type of result\n#    Column #5: MIME encoding of result (optional)\n\n#------------------------------------------------------------------------------\n# Localstuff:  file(1) magic for locally observed files\n# Add any locally observed files here.\n\n#------------------------------------------------------------------------------\n# end local stuff\n#------------------------------------------------------------------------------\n\n#------------------------------------------------------------------------------\n# Java\n\n0\tshort\t\t0xcafe\n>2\tshort\t\t0xbabe\t\tapplication/java\n\n#------------------------------------------------------------------------------\n# audio:  file(1) magic for sound formats\n#\n# from Jan Nicolai Langfeldt <janl@ifi.uio.no>,\n#\n\n# Sun/NeXT audio data\n0\tstring\t\t.snd\n>12\tbelong\t\t1\t\taudio/basic\n>12\tbelong\t\t2\t\taudio/basic\n>12\tbelong\t\t3\t\taudio/basic\n>12\tbelong\t\t4\t\taudio/basic\n>12\tbelong\t\t5\t\taudio/basic\n>12\tbelong\t\t6\t\taudio/basic\n>12\tbelong\t\t7\t\taudio/basic\n\n>12\tbelong\t\t23\t\taudio/x-adpcm\n\n# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format\n# that uses little-endian encoding and has a different magic number\n# (0x0064732E in little-endian encoding).\n0\tlelong\t\t0x0064732E\t\n>12\tlelong\t\t1\t\taudio/x-dec-basic\n>12\tlelong\t\t2\t\taudio/x-dec-basic\n>12\tlelong\t\t3\t\taudio/x-dec-basic\n>12\tlelong\t\t4\t\taudio/x-dec-basic\n>12\tlelong\t\t5\t\taudio/x-dec-basic\n>12\tlelong\t\t6\t\taudio/x-dec-basic\n>12\tlelong\t\t7\t\taudio/x-dec-basic\n#                                       compressed (G.721 ADPCM)\n>12\tlelong\t\t23\t\taudio/x-dec-adpcm\n\n# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are \"FORM\"\n#\t\t\t\t\tAIFF audio data\n8\tstring\t\tAIFF\t\taudio/x-aiff\t\n#\t\t\t\t\tAIFF-C audio data\n8\tstring\t\tAIFC\t\taudio/x-aiff\t\n#\t\t\t\t\tIFF/8SVX audio data\n8\tstring\t\t8SVX\t\taudio/x-aiff\t\n\n# Creative Labs AUDIO stuff\n#\t\t\t\t\tStandard MIDI data\n0\tstring\tMThd\t\t\taudio/unknown\t\n#>9 \tbyte\t>0\t\t\t(format %d)\n#>11\tbyte\t>1\t\t\tusing %d channels\n#\t\t\t\t\tCreative Music (CMF) data\n0\tstring\tCTMF\t\t\taudio/unknown\t\n#\t\t\t\t\tSoundBlaster instrument data\n0\tstring\tSBI\t\t\taudio/unknown\t\n#\t\t\t\t\tCreative Labs voice data\n0\tstring\tCreative\\ Voice\\ File\taudio/unknown\t\n## is this next line right?  it came this way...\n#>19\tbyte\t0x1A\n#>23\tbyte\t>0\t\t\t- version %d\n#>22\tbyte\t>0\t\t\t\\b.%d\n\n# [GRR 950115:  is this also Creative Labs?  Guessing that first line\n#  should be string instead of unknown-endian long...]\n#0\tlong\t\t0x4e54524b\tMultiTrack sound data\n#0\tstring\t\tNTRK\t\tMultiTrack sound data\n#>4\tlong\t\tx\t\t- version %ld\n\n# Microsoft WAVE format (*.wav)\n# [GRR 950115:  probably all of the shorts and longs should be leshort/lelong]\n#\t\t\t\t\tMicrosoft RIFF\n0\tstring\t\tRIFF\t\taudio/unknown\n#\t\t\t\t\t- WAVE format\n>8\tstring\t\tWAVE\t\taudio/x-wav\n# MPEG audio.\n0   beshort&0xfff0  0xfff0  audio/mpeg\n# C64 SID Music files, from Linus Walleij <triad@df.lth.se>\n0   string      PSID        audio/prs.sid\n\n#------------------------------------------------------------------------------\n# c-lang:  file(1) magic for C programs or various scripts\n#\n\n# XPM icons (Greg Roelofs, newt@uchicago.edu)\n# ideally should go into \"images\", but entries below would tag XPM as C source\n0\tstring\t\t/*\\ XPM\t\timage/x-xbm\t7bit\n\n# this first will upset you if you're a PL/1 shop... (are there any left?)\n# in which case rm it; ascmagic will catch real C programs\n#\t\t\t\t\tC or REXX program text\n0\tstring\t\t/*\t\ttext/plain\n#\t\t\t\t\tC++ program text\n0\tstring\t\t//\t\ttext/plain\n\n#------------------------------------------------------------------------------\n# compress:  file(1) magic for pure-compression formats (no archives)\n#\n# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc.\n#\n# Formats for various forms of compressed data\n# Formats for \"compress\" proper have been moved into \"compress.c\",\n# because it tries to uncompress it t", 4096) = 4096
22452 14:44:04.220384 read(3, "o figure out what's inside.\n\n# standard unix compress\n0\tstring\t\t\\037\\235\tapplication/octet-stream\tx-compress\n\n# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)\n0       string          \\037\\213        application/octet-stream\tx-gzip\n\n# According to gzip.h, this is the correct byte order for packed data.\n0\tstring\t\t\\037\\036\tapplication/octet-stream\n#\n# This magic number is byte-order-independent.\n#\n0\tshort\t\t017437\t\tapplication/octet-stream\n\n# XXX - why *two* entries for \"compacted data\", one of which is\n# byte-order independent, and one of which is byte-order dependent?\n#\n# compacted data\n0\tshort\t\t0x1fff\t\tapplication/octet-stream\n0\tstring\t\t\\377\\037\tapplication/octet-stream\n# huf output\n0\tshort\t\t0145405\t\tapplication/octet-stream\n\n# Squeeze and Crunch...\n# These numbers were gleaned from the Unix versions of the programs to\n# handle these formats.  Note that I can only uncrunch, not crunch, and\n# I didn't have a crunched file handy, so the crunch number is untested.\n#\t\t\t\tKeith Waclena <keith@cerberus.uchicago.edu>\n#0\tleshort\t\t0x76FF\t\tsqueezed data (CP/M, DOS)\n#0\tleshort\t\t0x76FE\t\tcrunched data (CP/M, DOS)\n\n# Freeze\n#0\tstring\t\t\\037\\237\tFrozen file 2.1\n#0\tstring\t\t\\037\\236\tFrozen file 1.0 (or gzip 0.5)\n\n# lzh?\n#0\tstring\t\t\\037\\240\tLZH compressed data\n\n#------------------------------------------------------------------------------\n# frame:  file(1) magic for FrameMaker files\n#\n# This stuff came on a FrameMaker demo tape, most of which is\n# copyright, but this file is \"published\" as witness the following:\n#\n0\tstring\t\t\\<MakerFile\tapplication/x-frame\n0\tstring\t\t\\<MIFFile\tapplication/x-frame\n0\tstring\t\t\\<MakerDictionary\tapplication/x-frame\n0\tstring\t\t\\<MakerScreenFon\tapplication/x-frame\n0\tstring\t\t\\<MML\t\tapplication/x-frame\n0\tstring\t\t\\<Book\t\tapplication/x-frame\n0\tstring\t\t\\<Maker\t\tapplication/x-frame\n\n#------------------------------------------------------------------------------\n# html:  file(1) magic for HTML (HyperText Markup Language) docs\n#\n# from Daniel Quinlan <quinlan@yggdrasil.com>\n# and Anna Shergold <anna@inext.co.uk>\n#\n0   string      \\<!DOCTYPE\\ HTML    text/html\n0   string      \\<!doctype\\ html    text/html\n0   string      \\<HEAD      text/html\n0   string      \\<head      text/html\n0   string      \\<TITLE     text/html\n0   string      \\<title     text/html\n0   string      \\<html      text/html\n0   string      \\<HTML      text/html\n0   string      \\<!--       text/html\n0   string      \\<h1        text/html\n0   string      \\<H1        text/html\n\n# XML eXtensible Markup Language, from Linus Walleij <triad@df.lth.se>\n0   string      \\<?xml      text/xml\n\n#------------------------------------------------------------------------------\n# images:  file(1) magic for image formats (see also \"c-lang\" for XPM bitmaps)\n#\n# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),\n# additions by janl@ifi.uio.no as well as others. Jan also suggested\n# merging several one- and two-line files into here.\n#\n# XXX - byte order for GIF and TIFF fields?\n# [GRR:  TIFF allows both byte orders; GIF is probably little-endian]\n#\n\n# [GRR:  what the hell is this doing in here?]\n#0\tstring\t\txbtoa\t\tbtoa'd file\n\n# PBMPLUS\n#\t\t\t\t\tPBM file\n0\tstring\t\tP1\t\timage/x-portable-bitmap\t7bit\n#\t\t\t\t\tPGM file\n0\tstring\t\tP2\t\timage/x-portable-greymap\t7bit\n#\t\t\t\t\tPPM file\n0\tstring\t\tP3\t\timage/x-portable-pixmap\t7bit\n#\t\t\t\t\tPBM \"rawbits\" file\n0\tstring\t\tP4\t\timage/x-portable-bitmap\n#\t\t\t\t\tPGM \"rawbits\" file\n0\tstring\t\tP5\t\timage/x-portable-greymap\n#\t\t\t\t\tPPM \"rawbits\" file\n0\tstring\t\tP6\t\timage/x-portable-pixmap\n\n# NIFF (Navy Interchange File Format, a modification of TIFF)\n# [GRR:  this *must* go before TIFF]\n0\tstring\t\tIIN1\t\timage/x-niff\n\n# TIFF and friends\n#\t\t\t\t\tTIFF file, big-endian\n0\tstring\t\tMM\t\timage/tiff\n#\t\t\t\t\tTIFF file, little-endian\n0\tstring\t\tII\t\timage/tiff\n\n# possible GIF replacements; none yet released!\n# (Greg Roelofs, newt@uchicago.edu)\n#\n# GRR 950115:  this was mine (\"Zip GIF\"):\n#\t\t\t\t\tZIF image (GIF+deflate alpha)\n0\tstring\t\tGIF94z\t\timage/unknown\n#\n# GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):\n#\t\t\t\t\tFGF image (GIF+deflate beta)\n0\tstring\t\t", 4096) = 4096
22452 14:44:04.221359 read(3, "FGF95a\t\timage/unknown\n#\n# GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal\n# (best; not yet implemented):\n#\t\t\t\t\tPBF image (deflate compression)\n0\tstring\t\tPBF\t\timage/unknown\n\n# GIF\n0\tstring\t\tGIF\t\timage/gif\n\n# JPEG images\n0\tbeshort\t\t0xffd8\t\timage/jpeg\n\n# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)\n0\tstring\t\tBM\t\timage/bmp\n#>14\tbyte\t\t12\t\t(OS/2 1.x format)\n#>14\tbyte\t\t64\t\t(OS/2 2.x format)\n#>14\tbyte\t\t40\t\t(Windows 3.x format)\n#0\tstring\t\tIC\t\ticon\n#0\tstring\t\tPI\t\tpointer\n#0\tstring\t\tCI\t\tcolor icon\n#0\tstring\t\tCP\t\tcolor pointer\n#0\tstring\t\tBA\t\tbitmap array\n\n\n#------------------------------------------------------------------------------\n# lisp:  file(1) magic for lisp programs\n#\n# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)\n0\tstring\t;;\t\t\ttext/plain\t8bit\n# Emacs 18 - this is always correct, but not very magical.\n0\tstring\t\\012(\t\t\tapplication/x-elc\n# Emacs 19\n0\tstring\t;ELC\\023\\000\\000\\000\tapplication/x-elc\n\n#------------------------------------------------------------------------------\n# mail.news:  file(1) magic for mail and news\n#\n# There are tests to ascmagic.c to cope with mail and news.\n0\tstring\t\tRelay-Version: \tmessage/rfc822\t7bit\n0\tstring\t\t#!\\ rnews\tmessage/rfc822\t7bit\n0\tstring\t\tN#!\\ rnews\tmessage/rfc822\t7bit\n0\tstring\t\tForward\\ to \tmessage/rfc822\t7bit\n0\tstring\t\tPipe\\ to \tmessage/rfc822\t7bit\n0\tstring\t\tReturn-Path:\tmessage/rfc822\t7bit\n0\tstring\t\tPath:\t\tmessage/news\t8bit\n0\tstring\t\tXref:\t\tmessage/news\t8bit\n0\tstring\t\tFrom:\t\tmessage/rfc822\t7bit\n0\tstring\t\tArticle \tmessage/news\t8bit\n#------------------------------------------------------------------------------\n# msword: file(1) magic for MS Word files\n#\n# Contributor claims:\n# Reversed-engineered MS Word magic numbers\n#\n\n0\tstring\t\t\\376\\067\\0\\043\t\t\tapplication/msword\n0\tstring\t\t\\333\\245-\\0\\0\\0\t\t\tapplication/msword\n\n# disable this one because it applies also to other\n# Office/OLE documents for which msword is not correct. See PR#2608.\n#0\tstring\t\t\\320\\317\\021\\340\\241\\261\tapplication/msword\n\n\n\n#------------------------------------------------------------------------------\n# printer:  file(1) magic for printer-formatted files\n#\n\n# PostScript\n0\tstring\t\t%!\t\tapplication/postscript\n0\tstring\t\t\\004%!\t\tapplication/postscript\n\n# Acrobat\n# (due to clamen@cs.cmu.edu)\n0\tstring\t\t%PDF-\t\tapplication/pdf\n\n#------------------------------------------------------------------------------\n# sc:  file(1) magic for \"sc\" spreadsheet\n#\n38\tstring\t\tSpreadsheet\tapplication/x-sc\n\n#------------------------------------------------------------------------------\n# tex:  file(1) magic for TeX files\n#\n# XXX - needs byte-endian stuff (big-endian and little-endian DVI?)\n#\n# From <conklin@talisman.kaleida.com>\n\n# Although we may know the offset of certain text fields in TeX DVI\n# and font files, we can't use them reliably because they are not\n# zero terminated. [but we do anyway, christos]\n0\tstring\t\t\\367\\002\tapplication/x-dvi\n#0\tstring\t\t\\367\\203\tTeX generic font data\n#0\tstring\t\t\\367\\131\tTeX packed font data\n#0\tstring\t\t\\367\\312\tTeX virtual font data\n#0\tstring\t\tThis\\ is\\ TeX,\tTeX transcript text\t\n#0\tstring\t\tThis\\ is\\ METAFONT,\tMETAFONT transcript text\n\n# There is no way to detect TeX Font Metric (*.tfm) files without\n# breaking them apart and reading the data.  The following patterns\n# match most *.tfm files generated by METAFONT or afm2tfm.\n#2\tstring\t\t\\000\\021\tTeX font metric data\n#2\tstring\t\t\\000\\022\tTeX font metric data\n#>34\tstring\t\t>\\0\t\t(%s)\n\n# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)\n#0\tstring\t\t\\\\input\\ texinfo\tTexinfo source text\n#0\tstring\t\tThis\\ is\\ Info\\ file\tGNU Info text\n\n# correct TeX magic for Linux (and maybe more)\n# from Peter Tobias (tobias@server.et-inf.fho-emden.de)\n#\n0\tleshort\t\t0x02f7\t\tapplication/x-dvi\n\n# RTF - Rich Text Format\n0\tstring\t\t{\\\\rtf\t\tapplication/rtf\n\n#------------------------------------------------------------------------------\n# animation:  file(1) magic for animation/movie formats\n#\n# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)\n#\t\t\t\t\t\tMPEG file\n0\tstring\t\t\\000\\000\\001\\263\tvideo/mpeg\n#\n#", 4096) = 4096
22452 14:44:04.222354 read(3, " The contributor claims:\n#   I couldn't find a real magic number for these, however, this\n#   -appears- to work.  Note that it might catch other files, too,\n#   so BE CAREFUL!\n#\n# Note that title and author appear in the two 20-byte chunks\n# at decimal offsets 2 and 22, respectively, but they are XOR'ed with\n# 255 (hex FF)! DL format SUCKS BIG ROCKS.\n#\n#\t\t\t\t\t\tDL file version 1 , medium format (160x100, 4 images/screen)\n0\tbyte\t\t1\t\t\tvideo/unknown\n0\tbyte\t\t2\t\t\tvideo/unknown\n# Quicktime video, from Linus Walleij <triad@df.lth.se>\n# from Apple quicktime file format documentation.\n4   string      moov        video/quicktime\n4   string      mdat        video/quicktime\n\n", 4096) = 670
22452 14:44:04.222600 read(3, "", 4096) = 0
22452 14:44:04.222679 close(3)          = 0
22452 14:44:04.222751 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.222906 brk(0x1ca7000)    = 0x1ca7000
22452 14:44:04.223063 open("/etc/locales.conf", O_RDONLY) = 3
22452 14:44:04.223166 fstat(3, {st_dev=makedev(8, 2), st_ino=782561, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=370, st_atime=2014/05/23-06:02:01, st_mtime=2011/09/13-21:01:30, st_ctime=2013/08/27-11:36:32}) = 0
22452 14:44:04.223300 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.223379 read(3, "[default]\n\tdate format = %b %e %Y %I:%M:%S:%z%p\n\n[en_US]\n\tdate format = %b %e %Y %I:%M:%S:%z%p\n\tlanguage = us_english\n\tcharset = iso_1\n\n[es_ES]\n\tdate format = %b %d %Y %I:%M%p\n\tlanguage = spanish\n\tcharset = iso_1\n\n[pt_BR]\n\tdate format = %d/%m/%Y %H:%M\n\tlanguage = Portuguese\n\tcharset = iso_1\n\n[it_IT]\n\tdate format = %d/%m/%Y %H:%M\n\tlanguage = Italiano\n\tcharset = iso_1\n\n", 4096) = 370
22452 14:44:04.223614 read(3, "", 4096) = 0
22452 14:44:04.223728 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.223799 read(3, "[default]\n\tdate format = %b %e %Y %I:%M:%S:%z%p\n\n[en_US]\n\tdate format = %b %e %Y %I:%M:%S:%z%p\n\tlanguage = us_english\n\tcharset = iso_1\n\n[es_ES]\n\tdate format = %b %d %Y %I:%M%p\n\tlanguage = spanish\n\tcharset = iso_1\n\n[pt_BR]\n\tdate format = %d/%m/%Y %H:%M\n\tlanguage = Portuguese\n\tcharset = iso_1\n\n[it_IT]\n\tdate format = %d/%m/%Y %H:%M\n\tlanguage = Italiano\n\tcharset = iso_1\n\n", 4096) = 370
22452 14:44:04.223958 read(3, "", 4096) = 0
22452 14:44:04.224047 close(3)          = 0
22452 14:44:04.224119 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.224456 mmap(NULL, 11509760, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f358949e000
22452 14:44:04.224576 mprotect(0x7f358949e000, 4096, PROT_NONE) = 0
22452 14:44:04.224674 clone(child_stack=0x7f3589f96f10, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f3589f979d0, tls=0x7f3589f97700, child_tidptr=0x7f3589f979d0) = 22543
22452 14:44:04.224861 futex(0x7f3589f979d0, FUTEX_WAIT, 22543, NULL <unfinished ...>
22543 14:44:04.224933 set_robust_list(0x7f3589f979e0, 0x18) = 0
22543 14:44:04.225078 mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f358149e000
22543 14:44:04.225152 munmap(0x7f358149e000, 45490176) = 0
22543 14:44:04.225228 munmap(0x7f3588000000, 21618688) = 0
22543 14:44:04.225302 mprotect(0x7f3584000000, 135168, PROT_READ|PROT_WRITE) = 0
22543 14:44:04.225494 futex(0x7f358ddedaf0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22543 14:44:04.225637 madvise(0x7f358949e000, 11485184, MADV_DONTNEED) = 0
22543 14:44:04.225715 _exit(0)          = ?
22452 14:44:04.225804 <... futex resumed> ) = 0
22452 14:44:04.225865 open("/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
22452 14:44:04.225981 fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
22452 14:44:04.226074 getdents(3, {{d_ino=20, d_off=1, d_reclen=24, d_name="."} {d_ino=19, d_off=21, d_reclen=24, d_name=".."} {d_ino=21, d_off=22, d_reclen=32, d_name="probe"} {d_ino=22, d_off=23, d_reclen=32, d_name="release"} {d_ino=23, d_off=24, d_reclen=32, d_name="online"} {d_ino=24, d_off=25, d_reclen=32, d_name="possible"} {d_ino=25, d_off=26, d_reclen=32, d_name="present"} {d_ino=26, d_off=27, d_reclen=32, d_name="kernel_max"} {d_ino=27, d_off=28, d_reclen=32, d_name="offline"} {d_ino=28, d_off=29, d_reclen=48, d_name="sched_smt_power_savings"} {d_ino=29, d_off=46, d_reclen=48, d_name="sched_mc_power_savings"} {d_ino=46, d_off=47, d_reclen=32, d_name="cpufreq"} {d_ino=47, d_off=110, d_reclen=32, d_name="cpuidle"} {d_ino=110, d_off=114, d_reclen=24, d_name="cpu0"} {d_ino=114, d_off=119, d_reclen=24, d_name="cpu1"} {d_ino=119, d_off=124, d_reclen=24, d_name="cpu2"} {d_ino=124, d_off=129, d_reclen=24, d_name="cpu3"} {d_ino=129, d_off=134, d_reclen=24, d_name="cpu4"} {d_ino=134, d_off=139, d_reclen=24, d_name="cpu5"} {d_ino=139, d_off=144, d_reclen=24, d_name="cpu6"} {d_ino=144, d_off=149, d_reclen=24, d_name="cpu7"} {d_ino=149, d_off=154, d_reclen=24, d_name="cpu8"} {d_ino=154, d_off=159, d_reclen=24, d_name="cpu9"} {d_ino=159, d_off=164, d_reclen=32, d_name="cpu10"} {d_ino=164, d_off=169, d_reclen=32, d_name="cpu11"} {d_ino=169, d_off=174, d_reclen=32, d_name="cpu12"} {d_ino=174, d_off=179, d_reclen=32, d_name="cpu13"} {d_ino=179, d_off=184, d_reclen=32, d_name="cpu14"} {d_ino=184, d_off=189, d_reclen=32, d_name="cpu15"} {d_ino=189, d_off=194, d_reclen=32, d_name="cpu16"} {d_ino=194, d_off=199, d_reclen=32, d_name="cpu17"} {d_ino=199, d_off=204, d_reclen=32, d_name="cpu18"} {d_ino=204, d_off=209, d_reclen=32, d_name="cpu19"} {d_ino=209, d_off=214, d_reclen=32, d_name="cpu20"} {d_ino=214, d_off=219, d_reclen=32, d_name="cpu21"} {d_ino=219, d_off=224, d_reclen=32, d_name="cpu22"} {d_ino=224, d_off=229, d_reclen=32, d_name="cpu23"} {d_ino=229, d_off=234, d_reclen=32, d_name="cpu24"} {d_ino=234, d_off=239, d_reclen=32, d_name="cpu25"} {d_ino=239, d_off=244, d_reclen=32, d_name="cpu26"} {d_ino=244, d_off=249, d_reclen=32, d_name="cpu27"} {d_ino=249, d_off=254, d_reclen=32, d_name="cpu28"} {d_ino=254, d_off=259, d_reclen=32, d_name="cpu29"} {d_ino=259, d_off=264, d_reclen=32, d_name="cpu30"} {d_ino=264, d_off=2147483647, d_reclen=32, d_name="cpu31"}}, 32768) = 1376
22452 14:44:04.226513 getdents(3, {}, 32768) = 0
22452 14:44:04.226584 close(3)          = 0
22452 14:44:04.226747 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
22452 14:44:04.226833 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0
22452 14:44:04.226958 sendto(3, "\2\0\0\0\22\0\0\0\t\0\0\0services\0", 21, MSG_NOSIGNAL, NULL, 0) = 21
22452 14:44:04.227060 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN|POLLHUP}])
22452 14:44:04.227151 recvmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"\0\0\0\0\0\0\0\0\0", 9}, {"\0\0\0\0\0\0\0\0", 8}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 0
22452 14:44:04.227263 close(3)          = 0
22452 14:44:04.227347 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
22452 14:44:04.227422 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0
22452 14:44:04.227534 sendto(3, "\2\0\0\0\20\0\0\0\n\0\0\0mysql/tcp\0", 22, MSG_NOSIGNAL, NULL, 0) = 22
22452 14:44:04.227630 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN|POLLHUP}])
22452 14:44:04.227714 read(3, "\2\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377", 24) = 24
22452 14:44:04.227804 close(3)          = 0
22452 14:44:04.227888 open("/etc/nsswitch.conf", O_RDONLY) = 3
22452 14:44:04.227979 fstat(3, {st_dev=makedev(8, 2), st_ino=783829, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=1688, st_atime=2014/05/22-23:35:52, st_mtime=2010/05/04-14:22:21, st_ctime=2014/05/12-23:35:52}) = 0
22452 14:44:04.228118 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.228198 read(3, "#\n# /etc/nsswitch.conf\n#\n# An example Name Service Switch config file. This file should be\n# sorted with the most-used services at the beginning.\n#\n# The entry '[NOTFOUND=return]' means that the search for an\n# entry should stop if the search in the previous entry turned\n# up nothing. Note that if the search failed due to some other reason\n# (like no NIS server responding) then the search continues with the\n# next entry.\n#\n# Valid entries include:\n#\n#\tnisplus\t\t\tUse NIS+ (NIS version 3)\n#\tnis\t\t\tUse NIS (NIS version 2), also called YP\n#\tdns\t\t\tUse DNS (Domain Name Service)\n#\tfiles\t\t\tUse the local files\n#\tdb\t\t\tUse the local database (.db) files\n#\tcompat\t\t\tUse NIS on compat mode\n#\thesiod\t\t\tUse Hesiod for user lookups\n#\t[NOTFOUND=return]\tStop searching if not found so far\n#\n\n# To use db, put the \"db\" in front of \"files\" for entries you want to be\n# looked up first in the databases\n#\n# Example:\n#passwd:    db files nisplus nis\n#shadow:    db files nisplus nis\n#group:     db files nisplus nis\n\npasswd:     files\nshadow:     files\ngroup:      files\n\n#hosts:     db files nisplus nis dns\nhosts:      files dns\n\n# Example - obey only what nisplus tells us...\n#services:   nisplus [NOTFOUND=return] files\n#networks:   nisplus [NOTFOUND=return] files\n#protocols:  nisplus [NOTFOUND=return] files\n#rpc:        nisplus [NOTFOUND=return] files\n#ethers:     nisplus [NOTFOUND=return] files\n#netmasks:   nisplus [NOTFOUND=return] files     \n\nbootparams: nisplus [NOTFOUND=return] files\n\nethers:     files\nnetmasks:   files\nnetworks:   files\nprotocols:  files\nrpc:        files\nservices:   files\n\nnetgroup:   nisplus\n\npublickey:  nisplus\n\nautomount:  files nisplus\naliases:    files nisplus\n\n", 4096) = 1688
22452 14:44:04.228624 read(3, "", 4096) = 0
22452 14:44:04.228695 close(3)          = 0
22452 14:44:04.228795 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.228927 open("/opt/mhash/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229023 open("/opt/libmcrypt/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229112 open("/opt/curlssl/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229198 open("/opt/openssl/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229289 open("/usr/lib64/tls/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229376 open("/usr/lib64/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229460 open("/opt/curlssl//lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229544 open("/opt/php_with_imap_client//lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229633 open("/opt/libmcrypt//lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229718 open("/opt/mhash//lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.229803 open("/etc/ld.so.cache", O_RDONLY) = 3
22452 14:44:04.229887 fstat(3, {st_dev=makedev(8, 2), st_ino=783831, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=120, st_size=60979, st_atime=2014/05/22-23:47:13, st_mtime=2014/05/19-23:47:13, st_ctime=2014/05/19-23:47:13}) = 0
22452 14:44:04.230022 mmap(NULL, 60979, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35927b0000
22452 14:44:04.230099 close(3)          = 0
22452 14:44:04.230197 open("/lib64/libnss_files.so.2", O_RDONLY) = 3
22452 14:44:04.230289 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360!\0\0\0\0\0\0@\0\0\0\0\0\0\0H\371\0\0\0\0\0\0\0\0\0\0@\0008\0\t\0@\0!\0 \0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\370\1\0\0\0\0\0\0\370\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\20\247\0\0\0\0\0\0\20\247\0\0\0\0\0\0\20\247\0\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0t\277\0\0\0\0\0\0t\277\0\0\0\0\0\0\0\0 \0\0\0\0\0\1\0\0\0\6\0\0\0\310\315\0\0\0\0\0\0\310\315 \0\0\0\0\0\310\315 \0\0\0\0\0\230\3\0\0\0\0\0\0\310\7\0\0\0\0\0\0\0\0 \0\0\0\0\0\2\0\0\0\6\0\0\0\370\315\0\0\0\0\0\0\370\315 \0\0\0\0\0\370\315 \0\0\0\0\0\300\1\0\0\0\0\0\0\300\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0P\345td\4\0\0\0,\247\0\0\0\0\0\0,\247\0\0\0\0\0\0,\247\0\0\0\0\0\0\224\2\0\0\0\0\0\0\224\2\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0R\345td\4\0\0\0\310\315\0\0\0\0\0\0\310\315 \0\0\0\0\0\310\315 \0\0\0\0\0008\2\0\0\0\0\0\0008\2\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\3060\260\310Z\315\243g\363\203\v\203Z\326\337\240(N\36+\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0\22\0\0\0\0\0\0\0k\0\0\0001\0\0\0\10\0\0\0\t\0\0\0\22F\344\25\240\245\201\0\t\10\2\30\223\6\210\0\0\0z\0]\201\240Jx\2108*\220\200\0$\7!\5\24)\"\226<\0\4\0\33\0\20\2\0\0@\10\201\3100\200\200@@\206\0B\0\200\3001\0\0\0002\0\0\0\0\0\0\0003\0\0\0004\0\0\0005\0\0\0006\0\0\0007\0\0\0\0\0\0\0008\0\0\0\0\0\0\0009\0\0\0;\0\0\0<\0\0\0\0\0\0\0>\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A\0\0\0C\0\0\0\0\0\0\0D\0\0\0", 832) = 832
22452 14:44:04.230858 fstat(3, {st_dev=makedev(8, 2), st_ino=260986, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=136, st_size=65928, st_atime=2014/05/22-23:35:47, st_mtime=2014/05/12-04:16:10, st_ctime=2014/05/12-23:35:47}) = 0
22452 14:44:04.231012 mmap(NULL, 2151824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3589290000
22452 14:44:04.231113 mprotect(0x7f358929c000, 2097152, PROT_NONE) = 0
22452 14:44:04.231191 mmap(0x7f358949c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f358949c000
22452 14:44:04.231310 close(3)          = 0
22452 14:44:04.231469 mprotect(0x7f358949c000, 4096, PROT_READ) = 0
22452 14:44:04.231555 munmap(0x7f35927b0000, 60979) = 0
22452 14:44:04.231670 open("/etc/services", O_RDONLY|O_CLOEXEC) = 3
22452 14:44:04.231773 fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
22452 14:44:04.231853 fstat(3, {st_dev=makedev(8, 2), st_ino=781865, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=1256, st_size=641020, st_atime=2014/05/22-23:37:29, st_mtime=2013/10/02-04:06:18, st_ctime=2013/10/02-23:37:29}) = 0
22452 14:44:04.231977 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.232053 read(3, "# /etc/services:\n# $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $\n#\n# Network services, Internet style\n# IANA services version: last updated 2009-11-10\n#\n# Note that it is presently the policy of IANA to assign a single well-known\n# port number for both TCP and UDP; hence, most entries here have two entries\n# even if the protocol doesn't support UDP operations.\n# Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports\n# are included, only the more common ones.\n#\n# The latest IANA port assignments can be gotten from\n#       http://www.iana.org/assignments/port-numbers\n# The Well Known Ports are those from 0 through 1023.\n# The Registered Ports are those from 1024 through 49151\n# The Dynamic and/or Private Ports are those from 49152 through 65535\n#\n# Each line describes one service, and is of the form:\n#\n# service-name  port/protocol  [aliases ...]   [# comment]\n\ntcpmux          1/tcp                           # TCP port service multiplexer\ntcpmux          1/udp                           # TCP port service multiplexer\nrje             5/tcp                           # Remote Job Entry\nrje             5/udp                           # Remote Job Entry\necho            7/tcp\necho            7/udp\ndiscard         9/tcp           sink null\ndiscard         9/udp           sink null\nsystat          11/tcp          users\nsystat          11/udp          users\ndaytime         13/tcp\ndaytime         13/udp\nqotd            17/tcp          quote\nqotd            17/udp          quote\nmsp             18/tcp                          # message send protocol\nmsp             18/udp                          # message send protocol\nchargen         19/tcp          ttytst source\nchargen         19/udp          ttytst source\nftp-data        20/tcp\nftp-data        20/udp\n# 21 is registered to ftp, but also used by fsp\nftp             21/tcp\nftp             21/udp          fsp fspd\nssh             22/tcp                          # The Secure Shell (SSH) Protocol\nssh             22/udp                          # The Secure Shell (SSH) Protocol\ntelnet          23/tcp\ntelnet          23/udp\n# 24 - private mail system\nlmtp            24/tcp                          # LMTP Mail Delivery\nlmtp            24/udp                          # LMTP Mail Delivery\nsmtp            25/tcp          mail\nsmtp            25/udp          mail\ntime            37/tcp          timserver\ntime            37/udp          timserver\nrlp             39/tcp          resource        # resource location\nrlp             39/udp          resource        # resource location\nnameserver      42/tcp          name            # IEN 116\nnameserver      42/udp          name            # IEN 116\nnicname         43/tcp          whois\nnicname         43/udp          whois\ntacacs          49/tcp                          # Login Host Protocol (TACACS)\ntacacs          49/udp                          # Login Host Protocol (TACACS)\nre-mail-ck      50/tcp                          # Remote Mail Checking Protocol\nre-mail-ck      50/udp                          # Remote Mail Checking Protocol\ndomain          53/tcp                          # name-domain server\ndomain          53/udp\nwhois++         63/tcp\nwhois++         63/udp\nbootps          67/tcp                          # BOOTP server\nbootps          67/udp\nbootpc          68/tcp          dhcpc           # BOOTP client\nbootpc          68/udp          dhcpc\ntftp            69/tcp\ntftp            69/udp\ngopher          70/tcp                          # Internet Gopher\ngopher          70/udp\nnetrjs-1        71/tcp                          # Remote Job Service\nnetrjs-1        71/udp                          # Remote Job Service\nnetrjs-2        72/tcp                          # Remote Job Service\nnetrjs-2        72/udp                          # Remote Job Service\nnetrjs-3        73/tcp                          # Remote Job Service\nnetrjs-3        73/udp                          # Remote Job Service\nnetrjs-4        74/tcp                          # Remote Job Service\nnetrjs-4        74/udp                          # Remote Job S", 4096) = 4096
22452 14:44:04.233675 read(3, "ervice\nfinger          79/tcp\nfinger          79/udp\nhttp            80/tcp          www www-http    # WorldWideWeb HTTP\nhttp            80/udp          www www-http    # HyperText Transfer Protocol\nhttp            80/sctp                         # HyperText Transfer Protocol\nkerberos        88/tcp          kerberos5 krb5  # Kerberos v5\nkerberos        88/udp          kerberos5 krb5  # Kerberos v5\nsupdup          95/tcp\nsupdup          95/udp\nhostname        101/tcp         hostnames       # usually from sri-nic\nhostname        101/udp         hostnames       # usually from sri-nic\niso-tsap        102/tcp         tsap            # part of ISODE.\ncsnet-ns        105/tcp         cso             # also used by CSO name server\ncsnet-ns        105/udp         cso\n# unfortunately the poppassd (Eudora) uses a port which has already\n# been assigned to a different service. We list the poppassd as an\n# alias here. This should work for programs asking for this service.\n# (due to a bug in inetd the 3com-tsmux line is disabled)\n#3com-tsmux     106/tcp         poppassd\n#3com-tsmux     106/udp         poppassd\nrtelnet         107/tcp                         # Remote Telnet\nrtelnet         107/udp\npop2            109/tcp         pop-2 postoffice        # POP version 2\npop2            109/udp         pop-2\npop3            110/tcp         pop-3           # POP version 3\npop3            110/udp         pop-3\nsunrpc          111/tcp         portmapper rpcbind      # RPC 4.0 portmapper TCP\nsunrpc          111/udp         portmapper rpcbind      # RPC 4.0 portmapper UDP\nauth            113/tcp         authentication tap ident\nauth            113/udp         authentication tap ident\nsftp            115/tcp\nsftp            115/udp\nuucp-path       117/tcp\nuucp-path       117/udp\nnntp            119/tcp         readnews untp   # USENET News Transfer Protocol\nnntp            119/udp         readnews untp   # USENET News Transfer Protocol\nntp             123/tcp\nntp             123/udp                         # Network Time Protocol\nnetbios-ns      137/tcp                         # NETBIOS Name Service\nnetbios-ns      137/udp\nnetbios-dgm     138/tcp                         # NETBIOS Datagram Service\nnetbios-dgm     138/udp\nnetbios-ssn     139/tcp                         # NETBIOS session service\nnetbios-ssn     139/udp\nimap            143/tcp         imap2           # Interim Mail Access Proto v2\nimap            143/udp         imap2\nsnmp            161/tcp                         # Simple Net Mgmt Proto\nsnmp            161/udp                         # Simple Net Mgmt Proto\nsnmptrap        162/tcp                         # SNMPTRAP\nsnmptrap        162/udp         snmp-trap       # Traps for SNMP\ncmip-man        163/tcp                         # ISO mgmt over IP (CMOT)\ncmip-man        163/udp\ncmip-agent      164/tcp\ncmip-agent      164/udp\nmailq           174/tcp                         # MAILQ\nmailq           174/udp                         # MAILQ\nxdmcp           177/tcp                         # X Display Mgr. Control Proto\nxdmcp           177/udp\nnextstep        178/tcp         NeXTStep NextStep       # NeXTStep window\nnextstep        178/udp         NeXTStep NextStep       # server\nbgp             179/tcp                         # Border Gateway Proto.\nbgp             179/udp\nbgp             179/sctp\nprospero        191/tcp                         # Cliff Neuman's Prospero\nprospero        191/udp\nirc             194/tcp                         # Internet Relay Chat\nirc             194/udp\nsmux            199/tcp                         # SNMP Unix Multiplexer\nsmux            199/udp\nat-rtmp         201/tcp                         # AppleTalk routing\nat-rtmp         201/udp\nat-nbp          202/tcp                         # AppleTalk name binding\nat-nbp          202/udp\nat-echo         204/tcp                         # AppleTalk echo\nat-echo         204/udp\nat-zis          206/tcp                         # AppleTalk zone information\nat-zis          206/udp\nqmtp            209/tcp                         # Quick Mail Transfer Protocol\nqmtp       ", 4096) = 4096
22452 14:44:04.234713 read(3, "     209/udp                         # Quick Mail Transfer Protocol\nz39.50          210/tcp         z3950 wais      # NISO Z39.50 database\nz39.50          210/udp         z3950 wais\nipx             213/tcp                         # IPX\nipx             213/udp\nimap3           220/tcp                         # Interactive Mail Access\nimap3           220/udp                         # Protocol v3\nlink            245/tcp         ttylink\nlink            245/udp         ttylink\ngist            270/udp                         # Q-mode encapsulation for GIST messages\nfatserv         347/tcp                         # Fatmen Server\nfatserv         347/udp                         # Fatmen Server\nrsvp_tunnel     363/tcp\nrsvp_tunnel     363/udp\nodmr            366/tcp                         # odmr required by fetchmail\nodmr            366/udp                         # odmr required by fetchmail\nrpc2portmap     369/tcp\nrpc2portmap     369/udp                         # Coda portmapper\ncodaauth2       370/tcp\ncodaauth2       370/udp                         # Coda authentication server\nulistproc       372/tcp         ulistserv       # UNIX Listserv\nulistproc       372/udp         ulistserv\nldap            389/tcp\nldap            389/udp\nosb-sd          400/tcp                         # Oracle Secure Backup\nosb-sd          400/udp                         # Oracle Secure Backup\nsvrloc          427/tcp                         # Server Location Protocl\nsvrloc          427/udp                         # Server Location Protocl\nmobileip-agent  434/tcp\nmobileip-agent  434/udp\nmobilip-mn      435/tcp\nmobilip-mn      435/udp\nhttps           443/tcp                         # http protocol over TLS/SSL\nhttps           443/udp                         # http protocol over TLS/SSL\nhttps           443/sctp                        # http protocol over TLS/SSL\nsnpp            444/tcp                         # Simple Network Paging Protocol\nsnpp            444/udp                         # Simple Network Paging Protocol\nmicrosoft-ds    445/tcp\nmicrosoft-ds    445/udp\nkpasswd         464/tcp         kpwd            # Kerberos \"passwd\"\nkpasswd         464/udp         kpwd            # Kerberos \"passwd\"\nphoturis        468/tcp\nphoturis        468/udp\nsaft            487/tcp                         # Simple Asynchronous File Transfer\nsaft            487/udp                         # Simple Asynchronous File Transfer\ngss-http        488/tcp\ngss-http        488/udp\npim-rp-disc     496/tcp\npim-rp-disc     496/udp\nisakmp          500/tcp\nisakmp          500/udp\ngdomap          538/tcp                         # GNUstep distributed objects\ngdomap          538/udp                         # GNUstep distributed objects\niiop            535/tcp\niiop            535/udp\ndhcpv6-client   546/tcp\ndhcpv6-client   546/udp\ndhcpv6-server   547/tcp\ndhcpv6-server   547/udp\nrtsp            554/tcp                         # Real Time Stream Control Protocol\nrtsp            554/udp                         # Real Time Stream Control Protocol\nnntps           563/tcp                         # NNTP over SSL\nnntps           563/udp                         # NNTP over SSL\nwhoami          565/tcp\nwhoami          565/udp\nsubmission      587/tcp         msa             # mail message submission\nsubmission      587/udp         msa             # mail message submission\nnpmp-local      610/tcp         dqs313_qmaster  # npmp-local / DQS\nnpmp-local      610/udp         dqs313_qmaster  # npmp-local / DQS\nnpmp-gui        611/tcp         dqs313_execd    # npmp-gui / DQS\nnpmp-gui        611/udp         dqs313_execd    # npmp-gui / DQS\nhmmp-ind        612/tcp         dqs313_intercell # HMMP Indication / DQS\nhmmp-ind        612/udp         dqs313_intercell # HMMP Indication / DQS\nipp             631/tcp                         # Internet Printing Protocol\nipp             631/udp                         # Internet Printing Protocol\nldaps           636/tcp                         # LDAP over SSL\nldaps           636/udp                         # LDAP over SSL\nacap            674/tcp\nacap            674/udp\nh", 4096) = 4096
22452 14:44:04.235644 read(3, "a-cluster      694/tcp                         # Heartbeat HA-cluster\nha-cluster      694/udp                         # Heartbeat HA-cluster\nkerberos-adm    749/tcp                         # Kerberos `kadmin' (v5)\nkerberos-adm    749/udp                         # kerberos administration\nkerberos-iv     750/udp         kerberos4 kerberos-sec kdc loadav\nkerberos-iv     750/tcp         kerberos4 kerberos-sec kdc rfile\nwebster         765/tcp                         # Network dictionary\nwebster         765/udp\nphonebook       767/tcp                         # Network phonebook\nphonebook       767/udp\nrsync           873/tcp                         # rsync\nrsync           873/udp                         # rsync\nrquotad         875/tcp                         # rquota daemon\nrquotad         875/udp                         # rquota daemon\ntelnets         992/tcp\ntelnets         992/udp\nimaps           993/tcp                         # IMAP over SSL\nimaps           993/udp                         # IMAP over SSL\nircs            994/tcp\nircs            994/udp\npop3s           995/tcp                         # POP-3 over SSL\npop3s           995/udp                         # POP-3 over SSL\n\n#\n# UNIX specific services\n#\nexec            512/tcp\nbiff            512/udp         comsat\nlogin           513/tcp\nwho             513/udp         whod\nshell           514/tcp         cmd             # no passwords used\nsyslog          514/udp\nprinter         515/tcp         spooler         # line printer spooler\nprinter         515/udp         spooler         # line printer spooler\ntalk            517/udp\nntalk           518/udp\nutime           519/tcp         unixtime\nutime           519/udp         unixtime\nefs             520/tcp\nrouter          520/udp         route routed    # RIP\nripng           521/tcp\nripng           521/udp\ntimed           525/tcp         timeserver\ntimed           525/udp         timeserver\ntempo           526/tcp         newdate\ncourier         530/tcp         rpc\nconference      531/tcp         chat\nnetnews         532/tcp\nnetwall         533/udp                         # -for emergency broadcasts\nuucp            540/tcp         uucpd           # uucp daemon\nklogin          543/tcp                         # Kerberized `rlogin' (v5)\nkshell          544/tcp         krcmd           # Kerberized `rsh' (v5)\nafpovertcp      548/tcp                         # AFP over TCP\nafpovertcp      548/udp                         # AFP over TCP\nremotefs        556/tcp         rfs_server rfs  # Brunhoff remote filesystem\n\n#\n# From ``PORT NUMBERS'':\n#\n#>REGISTERED PORT NUMBERS\n#>\n#>The Registered Ports are listed by the IANA and on most systems can be\n#>used by ordinary user processes or programs executed by ordinary\n#>users.\n#>\n#>Ports are used in the TCP [RFC793] to name the ends of logical\n#>connections which carry long term conversations.  For the purpose of\n#>providing services to unknown callers, a service contact port is\n#>defined.  This list specifies the port used by the server process as\n#>its contact port.\n#>\n#>The IANA registers uses of these ports as a convienence to the\n#>community.\n#\nsocks           1080/tcp                        # socks proxy server\nsocks           1080/udp                        # socks proxy server\n\n# Port 1236 is registered as `bvcontrol', but is also used by the\n# Gracilis Packeten remote config server.  The official name is listed as\n# the primary name, with the unregistered name as an alias.\nbvcontrol       1236/tcp        rmtcfg          # Daniel J. Walsh, Gracilis Packeten remote config server\nbvcontrol       1236/udp                        # Daniel J. Walsh\n\nh323hostcallsc  1300/tcp                        # H323 Host Call Secure\nh323hostcallsc  1300/udp                        # H323 Host Call Secure\nms-sql-s        1433/tcp                        # Microsoft-SQL-Server\nms-sql-s        1433/udp                        # Microsoft-SQL-Server\nms-sql-m        1434/tcp                        # Microsoft-SQL-Monitor\nms-sql-m        1434/udp                        # Microsoft-SQL-Monitor\nica          ", 4096) = 4096
22452 14:44:04.236598 read(3, "   1494/tcp                        # Citrix ICA Client\nica             1494/udp                        # Citrix ICA Client\nwins            1512/tcp                        # Microsoft's Windows Internet Name Service\nwins            1512/udp                        # Microsoft's Windows Internet Name Service\ningreslock      1524/tcp\ningreslock      1524/udp\nprospero-np     1525/tcp        orasrv          # Prospero non-privileged/oracle\nprospero-np     1525/udp        orasrv\ndatametrics     1645/tcp        old-radius sightline    # datametrics / old radius entry\ndatametrics     1645/udp        old-radius sightline    # datametrics / old radius entry\nsa-msg-port     1646/tcp        old-radacct     # sa-msg-port / old radacct entry\nsa-msg-port     1646/udp        old-radacct     # sa-msg-port / old radacct entry\nkermit          1649/tcp\nkermit          1649/udp\nl2tp            1701/tcp        l2f\nl2tp            1701/udp        l2f\nh323gatedisc    1718/tcp\nh323gatedisc    1718/udp\nh323gatestat    1719/tcp\nh323gatestat    1719/udp\nh323hostcall    1720/tcp\nh323hostcall    1720/udp\ntftp-mcast      1758/tcp\ntftp-mcast      1758/udp\nmtftp           1759/udp        spss-lm\nhello           1789/tcp\nhello           1789/udp\nradius          1812/tcp                        # Radius\nradius          1812/udp                        # Radius\nradius-acct     1813/tcp        radacct         # Radius Accounting\nradius-acct     1813/udp        radacct         # Radius Accounting\nmtp             1911/tcp                        #\nmtp             1911/udp                        #\nhsrp            1985/tcp                        # Cisco Hot Standby Router Protocol\nhsrp            1985/udp                        # Cisco Hot Standby Router Protocol\nlicensedaemon   1986/tcp\nlicensedaemon   1986/udp\ngdp-port        1997/tcp                        # Cisco Gateway Discovery Protocol\ngdp-port        1997/udp                        # Cisco Gateway Discovery Protocol\nsieve-filter    2000/tcp        cisco-sccp      # Sieve Mail Filter Daemon\nsieve-filter    2000/udp        cisco-sccp      # Sieve Mail Filter Daemon\nnfs             2049/tcp        nfsd shilp      # Network File System\nnfs             2049/udp        nfsd shilp      # Network File System\nnfs             2049/sctp       nfsd shilp      # Network File System\nzephyr-srv      2102/tcp                        # Zephyr server\nzephyr-srv      2102/udp                        # Zephyr server\nzephyr-clt      2103/tcp                        # Zephyr serv-hm connection\nzephyr-clt      2103/udp                        # Zephyr serv-hm connection\nzephyr-hm       2104/tcp                        # Zephyr hostmanager\nzephyr-hm       2104/udp                        # Zephyr hostmanager\ncvspserver      2401/tcp                        # CVS client/server operations\ncvspserver      2401/udp                        # CVS client/server operations\nvenus           2430/tcp                        # codacon port\nvenus           2430/udp                        # Venus callback/wbc interface\nvenus-se        2431/tcp                        # tcp side effects\nvenus-se        2431/udp                        # udp sftp side effect\ncodasrv         2432/tcp                        # not used\ncodasrv         2432/udp                        # server port\ncodasrv-se      2433/tcp                        # tcp side effects\ncodasrv-se      2433/udp                        # udp sftp side effectQ\n\n# Ports numbered 2600 through 2606 are used by the zebra package without\n# being registred.  The primary names are the registered names, and the\n# unregistered names used by zebra are listed as aliases.\nhpstgmgr        2600/tcp        zebrasrv        # HPSTGMGR\nhpstgmgr        2600/udp                        # HPSTGMGR\ndiscp-client    2601/tcp        zebra           # discp client\ndiscp-client    2601/udp                        # discp client\ndiscp-server    2602/tcp        ripd            # discp server\ndiscp-server    2602/udp                        # discp server\nservicemeter    2603/tcp        ripngd          # Service Meter\nservicemeter    2", 4096) = 4096
22452 14:44:04.237517 read(3, "603/udp                        # Service Meter\nnsc-ccs         2604/tcp        ospfd           # NSC CCS\nnsc-ccs         2604/udp                        # NSC CCS\nnsc-posa        2605/tcp        bgpd            # NSC POSA\nnsc-posa        2605/udp                        # NSC POSA\nnetmon          2606/tcp        ospf6d          # Dell Netmon\nnetmon          2606/udp                        # Dell Netmon\ndict            2628/tcp                        # RFC 2229\ndict            2628/udp                        # RFC 2229\ncorbaloc        2809/tcp                        # CORBA naming service locator\nicpv2           3130/tcp                        # Internet Cache Protocol V2 (Squid)\nicpv2           3130/udp                        # Internet Cache Protocol V2 (Squid)\nmysql           3306/tcp                        # MySQL\nmysql           3306/udp                        # MySQL\ntrnsprntproxy   3346/tcp                        # Trnsprnt Proxy\ntrnsprntproxy   3346/udp                        # Trnsprnt Proxy\npxe             4011/udp        altserviceboot  # PXE server\nfud             4201/udp                        # Cyrus IMAP FUD Daemon\nrwhois          4321/tcp                        # Remote Who Is\nrwhois          4321/udp                        # Remote Who Is\nkrb524          4444/tcp        nv-video        # Kerberos 5 to 4 ticket xlator\nkrb524          4444/udp        nv-video        # Kerberos 5 to 4 ticket xlator\nrfe             5002/tcp                        # Radio Free Ethernet\nrfe             5002/udp                        # Actually uses UDP only\ncfengine        5308/tcp                        # CFengine\ncfengine        5308/udp                        # CFengine\ncvsup           5999/tcp        CVSup           # CVSup file transfer/John Polstra/FreeBSD\ncvsup           5999/udp        CVSup           # CVSup file transfer/John Polstra/FreeBSD\nx11             6000/tcp        X               # the X Window System\nafs3-fileserver 7000/tcp                        # file server itself\nafs3-fileserver 7000/udp                        # file server itself\nafs3-callback   7001/tcp                        # callbacks to cache managers\nafs3-callback   7001/udp                        # callbacks to cache managers\nafs3-prserver   7002/tcp                        # users & groups database\nafs3-prserver   7002/udp                        # users & groups database\nafs3-vlserver   7003/tcp                        # volume location database\nafs3-vlserver   7003/udp                        # volume location database\nafs3-kaserver   7004/tcp                        # AFS/Kerberos authentication service\nafs3-kaserver   7004/udp                        # AFS/Kerberos authentication service\nafs3-volser     7005/tcp                        # volume managment server\nafs3-volser     7005/udp                        # volume managment server\nafs3-errors     7006/tcp                        # error interpretation service\nafs3-errors     7006/udp                        # error interpretation service\nafs3-bos        7007/tcp                        # basic overseer process\nafs3-bos        7007/udp                        # basic overseer process\nafs3-update     7008/tcp                        # server-to-server updater\nafs3-update     7008/udp                        # server-to-server updater\nafs3-rmtsys     7009/tcp                        # remote cache manager service\nafs3-rmtsys     7009/udp                        # remote cache manager service\nsd              9876/tcp                        # Session Director\nsd              9876/udp                        # Session Director\namanda          10080/tcp                       # amanda backup services\namanda          10080/udp                       # amanda backup services\npgpkeyserver    11371/tcp       hkp             # PGP/GPG public keyserver\npgpkeyserver    11371/udp       hkp             # PGP/GPG public keyserver\nh323callsigalt  11720/tcp                       # H323 Call Signal Alternate\nh323callsigalt  11720/udp                       # H323 Call Signal Alternate\n\nbprd            13720/tcp              ", 4096) = 4096
22452 14:44:04.238479 close(3)          = 0
22452 14:44:04.238554 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.238667 rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, {SIG_IGN, [PIPE], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, 8) = 0
22452 14:44:04.239395 stat("/etc/cram-md5.pwd", 0x7fff403eb310) = -1 ENOENT (No such file or directory)
22452 14:44:04.239513 uname({sysname="Linux", nodename="gator4053.hostgator.com", release="3.2.54", version="#9 SMP Thu Feb 13 08:17:11 CST 2014", machine="x86_64"}) = 0
22452 14:44:04.239708 alarm(0)          = 0
22452 14:44:04.239832 open("/etc/resolv.conf", O_RDONLY) = 3
22452 14:44:04.239924 fstat(3, {st_dev=makedev(8, 2), st_ino=852325, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=187, st_atime=2014/05/22-18:23:33, st_mtime=2014/02/26-17:23:33, st_ctime=2014/02/26-17:23:33}) = 0
22452 14:44:04.240053 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.240136 read(3, "# Generated by puppet \n\noptions timeout:1\noptions rotate\noptions attempts:1\nnameserver 192.185.0.112\nnameserver 192.185.0.114\nnameserver 192.185.0.118\nnameserver 192.185.0.119\n\n\nsearch .\n", 4096) = 187
22452 14:44:04.240277 read(3, "", 4096) = 0
22452 14:44:04.240349 close(3)          = 0
22452 14:44:04.240414 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.240504 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
22452 14:44:04.240590 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0
22452 14:44:04.240717 sendto(3, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL, NULL, 0) = 18
22452 14:44:04.240818 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])
22452 14:44:04.240909 recvmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"hosts\0", 6}, {"Ch\221\0\0\0\0\0", 8}], msg_controllen=24, {cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {4}}, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 14
22452 14:44:04.241049 mmap(NULL, 9529411, PROT_READ, MAP_SHARED, 4, 0) = 0x7f3588978000
22452 14:44:04.241143 close(4)          = 0
22452 14:44:04.241212 close(3)          = 0
22452 14:44:04.241309 alarm(0)          = 0
22452 14:44:04.241477 futex(0x7f358d362308, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.241590 futex(0x7f358d362290, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.241752 futex(0x7f358f7b52c0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.241904 futex(0x7f358f7b5730, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.242052 time(NULL)        = 1400874244
22452 14:44:04.242132 stat("/etc/krb5.conf", {st_dev=makedev(8, 2), st_ino=853383, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=449, st_atime=2014/05/22-23:27:52, st_mtime=2014/03/27-13:36:52, st_ctime=2014/04/03-23:27:52}) = 0
22452 14:44:04.242289 open("/etc/krb5.conf", O_RDONLY) = 3
22452 14:44:04.242387 fcntl(3, F_SETFD, FD_CLOEXEC) = 0
22452 14:44:04.242485 fstat(3, {st_dev=makedev(8, 2), st_ino=853383, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=449, st_atime=2014/05/22-23:27:52, st_mtime=2014/03/27-13:36:52, st_ctime=2014/04/03-23:27:52}) = 0
22452 14:44:04.242620 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.242701 read(3, "[logging]\n default = FILE:/var/log/krb5libs.log\n kdc = FILE:/var/log/krb5kdc.log\n admin_server = FILE:/var/log/kadmind.log\n\n[libdefaults]\n default_realm = EXAMPLE.COM\n dns_lookup_realm = false\n dns_lookup_kdc = false\n ticket_lifetime = 24h\n renew_lifetime = 7d\n forwardable = true\n\n[realms]\n EXAMPLE.COM = {\n  kdc = kerberos.example.com\n  admin_server = kerberos.example.com\n }\n\n[domain_realm]\n .example.com = EXAMPLE.COM\n example.com = EXAMPLE.COM\n", 4096) = 449
22452 14:44:04.242941 read(3, "", 4096) = 0
22452 14:44:04.243029 close(3)          = 0
22452 14:44:04.243099 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.243198 time(NULL)        = 1400874244
22452 14:44:04.243280 time(NULL)        = 1400874244
22452 14:44:04.243374 open("/dev/urandom", O_RDONLY) = 3
22452 14:44:04.243478 fcntl(3, F_SETFD, FD_CLOEXEC) = 0
22452 14:44:04.243563 fstat(3, {st_dev=makedev(0, 12), st_ino=5152, st_mode=S_IFCHR|0666, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_rdev=makedev(1, 9), st_atime=2014/02/26-16:24:28, st_mtime=2014/02/26-16:24:28, st_ctime=2014/02/26-16:24:28}) = 0
22452 14:44:04.243698 read(3, "z*\27\333\347\362s\264\374\341J\232\346\335\251\354\304b\315\220\273\354\6\201\224L\277\35t\346;\271\224\251\32O\322\215m\fd5\236\26\263\314B\34\232-Xj\231\220\221T\271\373W\346f\257?]", 64) = 64
22452 14:44:04.243849 close(3)          = 0
22452 14:44:04.244029 open("/dev/urandom", O_RDONLY) = 3
22452 14:44:04.244114 fcntl(3, F_SETFD, FD_CLOEXEC) = 0
22452 14:44:04.244184 fstat(3, {st_dev=makedev(0, 12), st_ino=5152, st_mode=S_IFCHR|0666, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_rdev=makedev(1, 9), st_atime=2014/02/26-16:24:28, st_mtime=2014/02/26-16:24:28, st_ctime=2014/02/26-16:24:28}) = 0
22452 14:44:04.244307 read(3, "\371\376\226\237\244'Z \320\337!\2625o\20ZA\32}:\323ei\23|\36\0062\222t:\266G\323\224\2278w\211\376ZD^\31]F\16{L\356\313\356\230\354\364\366k\311h\275\r\353 E", 64) = 64
22452 14:44:04.244424 close(3)          = 0
22452 14:44:04.244529 futex(0x7f358f4ca2c0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.244656 time(NULL)        = 1400874244
22452 14:44:04.244730 time(NULL)        = 1400874244
22452 14:44:04.244802 time(NULL)        = 1400874244
22452 14:44:04.244873 time(NULL)        = 1400874244
22452 14:44:04.244941 time(NULL)        = 1400874244
22452 14:44:04.245007 time(NULL)        = 1400874244
22452 14:44:04.245078 time(NULL)        = 1400874244
22452 14:44:04.245160 time(NULL)        = 1400874244
22452 14:44:04.245245 time(NULL)        = 1400874244
22452 14:44:04.245335 brk(0x1cc9000)    = 0x1cc9000
22452 14:44:04.245468 open("/etc/krb5.keytab", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.245624 brk(0x1cc7000)    = 0x1cc7000
22452 14:44:04.245866 futex(0x7f358f9fb0a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.245988 stat("/dev/urandom", {st_dev=makedev(0, 12), st_ino=5152, st_mode=S_IFCHR|0666, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=0, st_rdev=makedev(1, 9), st_atime=2014/02/26-16:24:28, st_mtime=2014/02/26-16:24:28, st_ctime=2014/02/26-16:24:28}) = 0
22452 14:44:04.246882 brk(0x1ce8000)    = 0x1ce8000
22452 14:44:04.247458 brk(0x1d09000)    = 0x1d09000
22452 14:44:04.248167 brk(0x1d2a000)    = 0x1d2a000
22452 14:44:04.248524 open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 3
22452 14:44:04.248618 fstat(3, {st_dev=makedev(8, 2), st_ino=781862, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16, st_size=6455, st_atime=2014/05/22-23:37:29, st_mtime=2010/01/12-07:28:22, st_ctime=2013/10/02-23:37:29}) = 0
22452 14:44:04.248782 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.248869 read(3, "# /etc/protocols:\n# $Id: protocols,v 1.9 2009/09/29 15:11:55 ovasik Exp $\n#\n# Internet (IP) protocols\n#\n#\tfrom: @(#)protocols\t5.1 (Berkeley) 4/17/89\n#\n# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).\n# Last IANA update included dated 2009-06-18\n#\n# See also http://www.iana.org/assignments/protocol-numbers\n\nip\t0\tIP\t\t# internet protocol, pseudo protocol number\nhopopt\t0\tHOPOPT\t\t# hop-by-hop options for ipv6\nicmp\t1\tICMP\t\t# internet control message protocol\nigmp\t2\tIGMP\t\t# internet group management protocol\nggp\t3\tGGP\t\t# gateway-gateway protocol\nipencap\t4\tIP-ENCAP\t# IP encapsulated in IP (officially ``IP'')\nst\t5\tST\t\t# ST datagram mode\ntcp\t6\tTCP\t\t# transmission control protocol\ncbt\t7\tCBT\t\t# CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>\negp\t8\tEGP\t\t# exterior gateway protocol\nigp\t9\tIGP\t\t# any private interior gateway (Cisco: for IGRP)\nbbn-rcc\t10\tBBN-RCC-MON\t# BBN RCC Monitoring\nnvp\t11\tNVP-II\t\t# Network Voice Protocol\npup\t12\tPUP\t\t# PARC universal packet protocol\nargus\t13\tARGUS\t\t# ARGUS\nemcon\t14\tEMCON\t\t# EMCON\nxnet\t15\tXNET\t\t# Cross Net Debugger\nchaos\t16\tCHAOS\t\t# Chaos\nudp\t17\tUDP\t\t# user datagram protocol\nmux\t18\tMUX\t\t# Multiplexing protocol\ndcn\t19\tDCN-MEAS\t# DCN Measurement Subsystems\nhmp\t20\tHMP\t\t# host monitoring protocol\nprm\t21\tPRM\t\t# packet radio measurement protocol\nxns-idp\t22\tXNS-IDP\t\t# Xerox NS IDP\ntrunk-1\t23\tTRUNK-1\t\t# Trunk-1\ntrunk-2\t24\tTRUNK-2\t\t# Trunk-2\nleaf-1\t25\tLEAF-1\t\t# Leaf-1\nleaf-2\t26\tLEAF-2\t\t# Leaf-2\nrdp\t27\tRDP\t\t# \"reliable datagram\" protocol\nirtp\t28\tIRTP\t\t# Internet Reliable Transaction Protocol\niso-tp4\t29\tISO-TP4\t\t# ISO Transport Protocol Class 4\nnetblt\t30\tNETBLT\t\t# Bulk Data Transfer Protocol\nmfe-nsp\t31\tMFE-NSP\t\t# MFE Network Services Protocol\nmerit-inp\t32\tMERIT-INP\t# MERIT Internodal Protocol\ndccp\t33\tDCCP\t\t# Datagram Congestion Control Protocol\n3pc\t34\t3PC\t\t# Third Party Connect Protocol\nidpr\t35\tIDPR\t\t# Inter-Domain Policy Routing Protocol\nxtp\t36\tXTP\t\t# Xpress Tranfer Protocol\nddp\t37\tDDP\t\t# Datagram Delivery Protocol\nidpr-cmtp\t38\tIDPR-CMTP\t# IDPR Control Message Transport Proto\ntp++\t39\tTP++\t\t# TP++ Transport Protocol\nil\t40\tIL\t\t# IL Transport Protocol\nipv6\t41\tIPv6\t\t# IPv6\nsdrp\t42\tSDRP\t\t# Source Demand Routing Protocol\nipv6-route\t43\tIPv6-Route\t# Routing Header for IPv6\nipv6-frag\t44\tIPv6-Frag\t# Fragment Header for IPv6\nidrp\t45\tIDRP\t\t# Inter-Domain Routing Protocol\nrsvp\t46\tRSVP\t\t# Resource ReSerVation Protocol\ngre\t47\tGRE\t\t# Generic Routing Encapsulation\ndsr\t48\tDSR\t\t# Dynamic Source Routing Protocol\nbna\t49\tBNA\t\t# BNA\nesp\t50\tESP\t\t# Encap Security Payload\nipv6-crypt\t50\tIPv6-Crypt\t# Encryption Header for IPv6 (not in official list)\nah\t51\tAH\t\t# Authentication Header\nipv6-auth\t51\tIPv6-Auth\t# Authentication Header for IPv6 (not in official list)\ni-nlsp\t52\tI-NLSP\t\t# Integrated Net Layer Security TUBA\nswipe\t53\tSWIPE\t\t# IP with Encryption\nnarp\t54\tNARP\t\t# NBMA Address Resolution Protocol\nmobile\t55\tMOBILE\t\t# IP Mobility\ntlsp\t56\tTLSP\t\t# Transport Layer Security Protocol\nskip\t57\tSKIP\t\t# SKIP\nipv6-icmp\t58\tIPv6-ICMP\t# ICMP for IPv6\nipv6-nonxt\t59\tIPv6-NoNxt\t# No Next Header for IPv6\nipv6-opts\t60\tIPv6-Opts\t# Destination Options for IPv6\n#\t61\t\t\t# any host internal protocol\ncftp\t62\tCFTP\t\t# CFTP\n#\t63\t\t\t# any local network\nsat-expak\t64\tSAT-EXPAK\t# SATNET and Backroom EXPAK\nkryptolan\t65\tKRYPTOLAN\t# Kryptolan\nrvd\t66\tRVD\t\t# MIT Remote Virtual Disk Protocol\nippc\t67\tIPPC\t\t# Internet Pluribus Packet Core\n#\t68\t\t\t# any distributed file system\nsat-mon\t69\tSAT-MON\t\t# SATNET Monitoring\nvisa\t70\tVISA\t\t# VISA Protocol\nipcv\t71\tIPCV\t\t# Internet Packet Core Utility\ncpnx\t72\tCPNX\t\t# Computer Protocol Network Executive\ncphb\t73\tCPHB\t\t# Computer Protocol Heart Beat\nwsn\t74\tWSN\t\t# Wang Span Network\npvp\t75\tPVP\t\t# Packet Video Protocol\nbr-sat-mon\t76\tBR-SAT-MON\t# Backroom SATNET Monitoring\nsun-nd\t77\tSUN-ND\t\t# SUN ND PROTOCOL-Temporary\nwb-mon\t78\tWB-MON\t\t# WIDEBAND Monitoring\nwb-expak\t79\tWB-EXPAK\t# WIDEBAND EXPAK\niso-ip\t80\tISO-IP\t\t# ISO Internet Protocol\nvmtp\t81\tVMTP\t\t# Versatile Message Transport\nsecure-vmtp\t82\tSECURE-VMTP\t# SECURE-VMTP\nvines\t83\tVINES\t\t# VINES\nttp\t84\tTTP\t\t# TTP\nnsfnet-igp\t85\tNSFNET-IGP\t# NSFNET-IGP\ndgp\t86\tDGP\t\t# Dissimilar Gateway", 4096) = 4096
22452 14:44:04.249780 close(3)          = 0
22452 14:44:04.249852 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.249946 open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 3
22452 14:44:04.250025 fstat(3, {st_dev=makedev(8, 2), st_ino=781862, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16, st_size=6455, st_atime=2014/05/22-23:37:29, st_mtime=2010/01/12-07:28:22, st_ctime=2013/10/02-23:37:29}) = 0
22452 14:44:04.250150 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.250225 read(3, "# /etc/protocols:\n# $Id: protocols,v 1.9 2009/09/29 15:11:55 ovasik Exp $\n#\n# Internet (IP) protocols\n#\n#\tfrom: @(#)protocols\t5.1 (Berkeley) 4/17/89\n#\n# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).\n# Last IANA update included dated 2009-06-18\n#\n# See also http://www.iana.org/assignments/protocol-numbers\n\nip\t0\tIP\t\t# internet protocol, pseudo protocol number\nhopopt\t0\tHOPOPT\t\t# hop-by-hop options for ipv6\nicmp\t1\tICMP\t\t# internet control message protocol\nigmp\t2\tIGMP\t\t# internet group management protocol\nggp\t3\tGGP\t\t# gateway-gateway protocol\nipencap\t4\tIP-ENCAP\t# IP encapsulated in IP (officially ``IP'')\nst\t5\tST\t\t# ST datagram mode\ntcp\t6\tTCP\t\t# transmission control protocol\ncbt\t7\tCBT\t\t# CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk>\negp\t8\tEGP\t\t# exterior gateway protocol\nigp\t9\tIGP\t\t# any private interior gateway (Cisco: for IGRP)\nbbn-rcc\t10\tBBN-RCC-MON\t# BBN RCC Monitoring\nnvp\t11\tNVP-II\t\t# Network Voice Protocol\npup\t12\tPUP\t\t# PARC universal packet protocol\nargus\t13\tARGUS\t\t# ARGUS\nemcon\t14\tEMCON\t\t# EMCON\nxnet\t15\tXNET\t\t# Cross Net Debugger\nchaos\t16\tCHAOS\t\t# Chaos\nudp\t17\tUDP\t\t# user datagram protocol\nmux\t18\tMUX\t\t# Multiplexing protocol\ndcn\t19\tDCN-MEAS\t# DCN Measurement Subsystems\nhmp\t20\tHMP\t\t# host monitoring protocol\nprm\t21\tPRM\t\t# packet radio measurement protocol\nxns-idp\t22\tXNS-IDP\t\t# Xerox NS IDP\ntrunk-1\t23\tTRUNK-1\t\t# Trunk-1\ntrunk-2\t24\tTRUNK-2\t\t# Trunk-2\nleaf-1\t25\tLEAF-1\t\t# Leaf-1\nleaf-2\t26\tLEAF-2\t\t# Leaf-2\nrdp\t27\tRDP\t\t# \"reliable datagram\" protocol\nirtp\t28\tIRTP\t\t# Internet Reliable Transaction Protocol\niso-tp4\t29\tISO-TP4\t\t# ISO Transport Protocol Class 4\nnetblt\t30\tNETBLT\t\t# Bulk Data Transfer Protocol\nmfe-nsp\t31\tMFE-NSP\t\t# MFE Network Services Protocol\nmerit-inp\t32\tMERIT-INP\t# MERIT Internodal Protocol\ndccp\t33\tDCCP\t\t# Datagram Congestion Control Protocol\n3pc\t34\t3PC\t\t# Third Party Connect Protocol\nidpr\t35\tIDPR\t\t# Inter-Domain Policy Routing Protocol\nxtp\t36\tXTP\t\t# Xpress Tranfer Protocol\nddp\t37\tDDP\t\t# Datagram Delivery Protocol\nidpr-cmtp\t38\tIDPR-CMTP\t# IDPR Control Message Transport Proto\ntp++\t39\tTP++\t\t# TP++ Transport Protocol\nil\t40\tIL\t\t# IL Transport Protocol\nipv6\t41\tIPv6\t\t# IPv6\nsdrp\t42\tSDRP\t\t# Source Demand Routing Protocol\nipv6-route\t43\tIPv6-Route\t# Routing Header for IPv6\nipv6-frag\t44\tIPv6-Frag\t# Fragment Header for IPv6\nidrp\t45\tIDRP\t\t# Inter-Domain Routing Protocol\nrsvp\t46\tRSVP\t\t# Resource ReSerVation Protocol\ngre\t47\tGRE\t\t# Generic Routing Encapsulation\ndsr\t48\tDSR\t\t# Dynamic Source Routing Protocol\nbna\t49\tBNA\t\t# BNA\nesp\t50\tESP\t\t# Encap Security Payload\nipv6-crypt\t50\tIPv6-Crypt\t# Encryption Header for IPv6 (not in official list)\nah\t51\tAH\t\t# Authentication Header\nipv6-auth\t51\tIPv6-Auth\t# Authentication Header for IPv6 (not in official list)\ni-nlsp\t52\tI-NLSP\t\t# Integrated Net Layer Security TUBA\nswipe\t53\tSWIPE\t\t# IP with Encryption\nnarp\t54\tNARP\t\t# NBMA Address Resolution Protocol\nmobile\t55\tMOBILE\t\t# IP Mobility\ntlsp\t56\tTLSP\t\t# Transport Layer Security Protocol\nskip\t57\tSKIP\t\t# SKIP\nipv6-icmp\t58\tIPv6-ICMP\t# ICMP for IPv6\nipv6-nonxt\t59\tIPv6-NoNxt\t# No Next Header for IPv6\nipv6-opts\t60\tIPv6-Opts\t# Destination Options for IPv6\n#\t61\t\t\t# any host internal protocol\ncftp\t62\tCFTP\t\t# CFTP\n#\t63\t\t\t# any local network\nsat-expak\t64\tSAT-EXPAK\t# SATNET and Backroom EXPAK\nkryptolan\t65\tKRYPTOLAN\t# Kryptolan\nrvd\t66\tRVD\t\t# MIT Remote Virtual Disk Protocol\nippc\t67\tIPPC\t\t# Internet Pluribus Packet Core\n#\t68\t\t\t# any distributed file system\nsat-mon\t69\tSAT-MON\t\t# SATNET Monitoring\nvisa\t70\tVISA\t\t# VISA Protocol\nipcv\t71\tIPCV\t\t# Internet Packet Core Utility\ncpnx\t72\tCPNX\t\t# Computer Protocol Network Executive\ncphb\t73\tCPHB\t\t# Computer Protocol Heart Beat\nwsn\t74\tWSN\t\t# Wang Span Network\npvp\t75\tPVP\t\t# Packet Video Protocol\nbr-sat-mon\t76\tBR-SAT-MON\t# Backroom SATNET Monitoring\nsun-nd\t77\tSUN-ND\t\t# SUN ND PROTOCOL-Temporary\nwb-mon\t78\tWB-MON\t\t# WIDEBAND Monitoring\nwb-expak\t79\tWB-EXPAK\t# WIDEBAND EXPAK\niso-ip\t80\tISO-IP\t\t# ISO Internet Protocol\nvmtp\t81\tVMTP\t\t# Versatile Message Transport\nsecure-vmtp\t82\tSECURE-VMTP\t# SECURE-VMTP\nvines\t83\tVINES\t\t# VINES\nttp\t84\tTTP\t\t# TTP\nnsfnet-igp\t85\tNSFNET-IGP\t# NSFNET-IGP\ndgp\t86\tDGP\t\t# Dissimilar Gateway", 4096) = 4096
22452 14:44:04.251119 close(3)          = 0
22452 14:44:04.251193 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.251792 brk(0x1d4b000)    = 0x1d4b000
22452 14:44:04.252019 time(NULL)        = 1400874244
22452 14:44:04.252528 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.252676 readlink("/proc/22452/exe", "/opt/php52/bin/php-cgi", 4096) = 22
22452 14:44:04.252787 stat("/opt/php52/bin/php-cgi", {st_dev=makedev(8, 2), st_ino=523470, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=16456, st_size=8423381, st_atime=2014/05/22-14:55:46, st_mtime=2014/05/07-14:29:06, st_ctime=2014/05/07-14:55:45}) = 0
22452 14:44:04.252919 access("/opt/php52/bin/php-cgi", F_OK) = 0
22452 14:44:04.253098 open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
22452 14:44:04.253182 fstat(3, {st_dev=makedev(0, 3), st_ino=4026532017, st_mode=S_IFREG|0444, st_nlink=1, st_uid=0, st_gid=0, st_blksize=1024, st_blocks=0, st_size=0, st_atime=2014/03/25-17:39:41, st_mtime=2014/03/25-17:39:41, st_ctime=2014/03/25-17:39:41}) = 0
22452 14:44:04.253298 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.253368 read(3, "MemTotal:       66096212 kB\nMemFree:         1139308 kB\nBuffers:         6269784 kB\nCached:         44203016 kB\nSwapCached:       137148 kB\nActive:         39678804 kB\nInactive:       20046516 kB\nActive(anon):    8307556 kB\nInactive(anon):   984796 kB\nActive(file):   31371248 kB\nInactive(file): 19061720 kB\nUnevictable:           0 kB\nMlocked:               0 kB\nSwapTotal:       6143996 kB\nSwapFree:        4512632 kB\nDirty:             16500 kB\nWriteback:             0 kB\nAnonPages:       9175100 kB\nMapped:            83404 kB\nShmem:             39764 kB\nSlab:            4231020 kB\nSReclaimable:    3971356 kB\nSUnreclaim:       259664 kB\nKernelStack:        8616 kB\nPageTables:       131380 kB\nNFS_Unstable:          0 kB\nBounce:                0 kB\nWritebackTmp:          0 kB\nCommitLimit:    39192100 kB\nCommitted_AS:   40930852 kB\nVmallocTotal:   34359738367 kB\nVmallocUsed:      438816 kB\nVmallocChunk:   34308822220 kB\nHugePages_Total:       0\nHugePages_Free:        0\nHugePages_Rsvd:        0\nHugePages_Surp:    ", 1024) = 1024
22452 14:44:04.253731 close(3)          = 0
22452 14:44:04.253795 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.253945 open("/usr/share/ImageMagick-6.7.6/policy.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.254037 open("/usr/lib64/ImageMagick-6.7.6/config/policy.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.254126 open("/etc/ImageMagick/policy.xml", O_RDONLY) = 3
22452 14:44:04.254205 lseek(3, 0, SEEK_END) = 2277
22452 14:44:04.254283 mmap(NULL, 2277, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f35927b8000
22452 14:44:04.254372 munmap(0x7f35927b8000, 2277) = 0
22452 14:44:04.254454 close(3)          = 0
22452 14:44:04.254539 open("/usr/share/doc/ImageMagick-6.7.6/policy.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
22452 14:44:04.254896 getrlimit(RLIMIT_NOFILE, {rlim_cur=96*1024, rlim_max=96*1024}) = 0
22452 14:44:04.255025 time(NULL)        = 1400874244
22452 14:44:04.255810 brk(0x1d6c000)    = 0x1d6c000
22452 14:44:04.256422 brk(0x1d8d000)    = 0x1d8d000
22452 14:44:04.257142 brk(0x1dae000)    = 0x1dae000
22452 14:44:04.257834 time(NULL)        = 1400874244
22452 14:44:04.258060 brk(0x1dcf000)    = 0x1dcf000
22452 14:44:04.258497 brk(0x1df1000)    = 0x1df1000
22452 14:44:04.259008 brk(0x1e12000)    = 0x1e12000
22452 14:44:04.259523 brk(0x1e33000)    = 0x1e33000
22452 14:44:04.259993 brk(0x1e54000)    = 0x1e54000
22452 14:44:04.260449 brk(0x1e7b000)    = 0x1e7b000
22452 14:44:04.260807 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
22452 14:44:04.260910 ioctl(3, SIOCGIFCONF, {2880, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("10.20.0.115")}}, {"eth1", {AF_INET, inet_addr("192.185.4.64")}}, {"eth1:cp1", {AF_INET, inet_addr("192.185.5.9")}}, {"eth1:cp11", {AF_INET, inet_addr("192.185.37.100")}}, {"eth1:cp12", {AF_INET, inet_addr("192.185.37.241")}}, {"eth1:cp13", {AF_INET, inet_addr("192.185.37.87")}}, {"eth1:cp14", {AF_INET, inet_addr("192.185.37.90")}}, {"eth1:cp15", {AF_INET, inet_addr("192.185.38.107")}}, {"eth1:cp16", {AF_INET, inet_addr("192.185.38.129")}}, {"eth1:cp17", {AF_INET, inet_addr("192.185.38.136")}}, {"eth1:cp18", {AF_INET, inet_addr("192.185.38.158")}}, {"eth1:cp19", {AF_INET, inet_addr("192.185.38.175")}}, {"eth1:cp20", {AF_INET, inet_addr("192.185.38.43")}}, {"eth1:cp21", {AF_INET, inet_addr("192.185.38.49")}}, {"eth1:cp22", {AF_INET, inet_addr("192.185.38.53")}}, {"eth1:cp23", {AF_INET, inet_addr("192.185.38.71")}}, {"eth1:cp24", {AF_INET, inet_addr("192.185.38.74")}}, {"eth1:cp25", {AF_INET, inet_addr("192.185.38.79")}}, {"eth1:cp26", {AF_INET, inet_addr("192.185.38.85")}}, {"eth1:cp27", {AF_INET, inet_addr("192.185.39.1")}}, {"eth1:cp28", {AF_INET, inet_addr("192.185.39.120")}}, {"eth1:cp29", {AF_INET, inet_addr("192.185.39.134")}}, {"eth1:cp30", {AF_INET, inet_addr("192.185.39.172")}}, {"eth1:cp31", {AF_INET, inet_addr("192.185.39.18")}}, {"eth1:cp32", {AF_INET, inet_addr("192.185.39.194")}}, {"eth1:cp33", {AF_INET, inet_addr("192.185.39.2")}}, {"eth1:cp34", {AF_INET, inet_addr("192.185.39.207")}}, {"eth1:cp35", {AF_INET, inet_addr("192.185.39.208")}}, {"eth1:cp36", {AF_INET, inet_addr("192.185.39.21")}}, {"eth1:cp37", {AF_INET, inet_addr("192.185.39.210")}}, {"eth1:cp38", {AF_INET, inet_addr("192.185.39.213")}}, {"eth1:cp39", {AF_INET, inet_addr("192.185.39.219")}}, {"eth1:cp40", {AF_INET, inet_addr("192.185.39.221")}}, {"eth1:cp41", {AF_INET, inet_addr("192.185.39.78")}}, {"eth1:cp42", {AF_INET, inet_addr("192.185.39.80")}}, {"eth1:cp43", {AF_INET, inet_addr("192.185.40.101")}}, {"eth1:cp44", {AF_INET, inet_addr("192.185.40.106")}}, {"eth1:cp45", {AF_INET, inet_addr("192.185.40.109")}}, {"eth1:cp46", {AF_INET, inet_addr("192.185.40.155")}}, {"eth1:cp47", {AF_INET, inet_addr("192.185.40.16")}}, {"eth1:cp48", {AF_INET, inet_addr("192.185.40.179")}}, {"eth1:cp49", {AF_INET, inet_addr("192.185.40.41")}}, {"eth1:cp50", {AF_INET, inet_addr("192.185.40.74")}}, {"eth1:cp51", {AF_INET, inet_addr("192.185.40.79")}}, {"eth1:cp52", {AF_INET, inet_addr("192.185.41.105")}}, {"eth1:cp53", {AF_INET, inet_addr("192.185.41.114")}}, {"eth1:cp54", {AF_INET, inet_addr("192.185.41.135")}}, {"eth1:cp55", {AF_INET, inet_addr("192.185.41.166")}}, {"eth1:cp56", {AF_INET, inet_addr("192.185.41.52")}}, {"eth1:cp57", {AF_INET, inet_addr("192.185.41.7")}}, {"eth1:cp58", {AF_INET, inet_addr("192.185.41.8")}}, {"eth1:cp59", {AF_INET, inet_addr("192.185.42.14")}}, {"eth1:cp60", {AF_INET, inet_addr("192.185.42.191")}}, {"eth1:cp61", {AF_INET, inet_addr("192.185.42.21")}}, {"eth1:cp62", {AF_INET, inet_addr("192.185.42.241")}}, {"eth1:cp63", {AF_INET, inet_addr("192.185.46.118")}}, {"eth1:cp64", {AF_INET, inet_addr("192.185.46.200")}}, {"eth1:cp65", {AF_INET, inet_addr("192.185.47.173")}}, {"eth1:cp66", {AF_INET, inet_addr("192.185.47.217")}}, {"eth1:cp67", {AF_INET, inet_addr("192.185.47.99")}}, {"eth1:cp68", {AF_INET, inet_addr("192.185.43.27")}}, {"eth1:cp69", {AF_INET, inet_addr("192.185.45.135")}}, {"eth1:cp2", {AF_INET, inet_addr("192.185.5.82")}}, {"eth1:cp3", {AF_INET, inet_addr("192.185.5.83")}}, {"eth1:cp4", {AF_INET, inet_addr("192.185.5.84")}}, {"eth1:cp5", {AF_INET, inet_addr("192.185.5.85")}}, {"eth1:cp6", {AF_INET, inet_addr("192.185.5.86")}}, {"eth1:cp7", {AF_INET, inet_addr("192.185.5.87")}}, {"eth1:cp8", {AF_INET, inet_addr("192.185.5.88")}}, {"eth1:cp9", {AF_INET, inet_addr("192.185.5.89")}}, {"eth1:cp10", {AF_INET, inet_addr("192.185.5.90")}}}}) = 0
22452 14:44:04.261805 ioctl(3, SIOCGIFHWADDR, {ifr_name="lo", ifr_hwaddr=00:00:00:00:00:00}) = 0
22452 14:44:04.261903 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth0", ifr_hwaddr=00:25:90:ab:22:b6}) = 0
22452 14:44:04.262001 ioctl(3, SIOCGIFADDR, {ifr_name="eth0", ifr_addr={AF_INET, inet_addr("10.20.0.115")}}) = 0
22452 14:44:04.262090 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.262175 ioctl(3, SIOCGIFADDR, {ifr_name="eth1", ifr_addr={AF_INET, inet_addr("192.185.4.64")}}) = 0
22452 14:44:04.262257 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp1", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.262355 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp1", ifr_addr={AF_INET, inet_addr("192.185.5.9")}}) = 0
22452 14:44:04.262446 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp11", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.262533 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp11", ifr_addr={AF_INET, inet_addr("192.185.37.100")}}) = 0
22452 14:44:04.262621 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp12", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.262703 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp12", ifr_addr={AF_INET, inet_addr("192.185.37.241")}}) = 0
22452 14:44:04.262791 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp13", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.262871 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp13", ifr_addr={AF_INET, inet_addr("192.185.37.87")}}) = 0
22452 14:44:04.262954 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp14", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263037 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp14", ifr_addr={AF_INET, inet_addr("192.185.37.90")}}) = 0
22452 14:44:04.263121 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp15", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263204 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp15", ifr_addr={AF_INET, inet_addr("192.185.38.107")}}) = 0
22452 14:44:04.263295 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp16", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263378 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp16", ifr_addr={AF_INET, inet_addr("192.185.38.129")}}) = 0
22452 14:44:04.263463 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp17", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263545 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp17", ifr_addr={AF_INET, inet_addr("192.185.38.136")}}) = 0
22452 14:44:04.263627 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp18", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263705 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp18", ifr_addr={AF_INET, inet_addr("192.185.38.158")}}) = 0
22452 14:44:04.263792 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp19", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.263875 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp19", ifr_addr={AF_INET, inet_addr("192.185.38.175")}}) = 0
22452 14:44:04.263961 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp20", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264045 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp20", ifr_addr={AF_INET, inet_addr("192.185.38.43")}}) = 0
22452 14:44:04.264129 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp21", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264217 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp21", ifr_addr={AF_INET, inet_addr("192.185.38.49")}}) = 0
22452 14:44:04.264305 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp22", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264386 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp22", ifr_addr={AF_INET, inet_addr("192.185.38.53")}}) = 0
22452 14:44:04.264471 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp23", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264553 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp23", ifr_addr={AF_INET, inet_addr("192.185.38.71")}}) = 0
22452 14:44:04.264640 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp24", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264725 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp24", ifr_addr={AF_INET, inet_addr("192.185.38.74")}}) = 0
22452 14:44:04.264811 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp25", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.264893 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp25", ifr_addr={AF_INET, inet_addr("192.185.38.79")}}) = 0
22452 14:44:04.264977 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp26", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265050 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp26", ifr_addr={AF_INET, inet_addr("192.185.38.85")}}) = 0
22452 14:44:04.265132 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp27", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265205 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp27", ifr_addr={AF_INET, inet_addr("192.185.39.1")}}) = 0
22452 14:44:04.265281 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp28", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265375 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp28", ifr_addr={AF_INET, inet_addr("192.185.39.120")}}) = 0
22452 14:44:04.265462 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp29", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265543 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp29", ifr_addr={AF_INET, inet_addr("192.185.39.134")}}) = 0
22452 14:44:04.265629 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp30", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265713 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp30", ifr_addr={AF_INET, inet_addr("192.185.39.172")}}) = 0
22452 14:44:04.265798 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp31", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.265883 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp31", ifr_addr={AF_INET, inet_addr("192.185.39.18")}}) = 0
22452 14:44:04.265974 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp32", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266056 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp32", ifr_addr={AF_INET, inet_addr("192.185.39.194")}}) = 0
22452 14:44:04.266142 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp33", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266227 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp33", ifr_addr={AF_INET, inet_addr("192.185.39.2")}}) = 0
22452 14:44:04.266317 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp34", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266398 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp34", ifr_addr={AF_INET, inet_addr("192.185.39.207")}}) = 0
22452 14:44:04.266480 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp35", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266564 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp35", ifr_addr={AF_INET, inet_addr("192.185.39.208")}}) = 0
22452 14:44:04.266657 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp36", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266732 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp36", ifr_addr={AF_INET, inet_addr("192.185.39.21")}}) = 0
22452 14:44:04.266815 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp37", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.266887 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp37", ifr_addr={AF_INET, inet_addr("192.185.39.210")}}) = 0
22452 14:44:04.266970 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp38", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267058 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp38", ifr_addr={AF_INET, inet_addr("192.185.39.213")}}) = 0
22452 14:44:04.267144 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp39", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267223 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp39", ifr_addr={AF_INET, inet_addr("192.185.39.219")}}) = 0
22452 14:44:04.267308 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp40", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267390 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp40", ifr_addr={AF_INET, inet_addr("192.185.39.221")}}) = 0
22452 14:44:04.267478 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp41", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267557 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp41", ifr_addr={AF_INET, inet_addr("192.185.39.78")}}) = 0
22452 14:44:04.267647 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp42", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267728 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp42", ifr_addr={AF_INET, inet_addr("192.185.39.80")}}) = 0
22452 14:44:04.267812 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp43", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.267896 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp43", ifr_addr={AF_INET, inet_addr("192.185.40.101")}}) = 0
22452 14:44:04.267979 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp44", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268061 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp44", ifr_addr={AF_INET, inet_addr("192.185.40.106")}}) = 0
22452 14:44:04.268143 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp45", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268224 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp45", ifr_addr={AF_INET, inet_addr("192.185.40.109")}}) = 0
22452 14:44:04.268307 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp46", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268393 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp46", ifr_addr={AF_INET, inet_addr("192.185.40.155")}}) = 0
22452 14:44:04.268489 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp47", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268568 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp47", ifr_addr={AF_INET, inet_addr("192.185.40.16")}}) = 0
22452 14:44:04.268653 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp48", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268791 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp48", ifr_addr={AF_INET, inet_addr("192.185.40.179")}}) = 0
22452 14:44:04.268878 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp49", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.268957 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp49", ifr_addr={AF_INET, inet_addr("192.185.40.41")}}) = 0
22452 14:44:04.269039 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp50", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269117 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp50", ifr_addr={AF_INET, inet_addr("192.185.40.74")}}) = 0
22452 14:44:04.269198 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp51", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269273 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp51", ifr_addr={AF_INET, inet_addr("192.185.40.79")}}) = 0
22452 14:44:04.269354 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp52", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269436 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp52", ifr_addr={AF_INET, inet_addr("192.185.41.105")}}) = 0
22452 14:44:04.269523 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp53", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269608 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp53", ifr_addr={AF_INET, inet_addr("192.185.41.114")}}) = 0
22452 14:44:04.269697 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp54", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269782 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp54", ifr_addr={AF_INET, inet_addr("192.185.41.135")}}) = 0
22452 14:44:04.269869 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp55", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.269953 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp55", ifr_addr={AF_INET, inet_addr("192.185.41.166")}}) = 0
22452 14:44:04.270045 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp56", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270127 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp56", ifr_addr={AF_INET, inet_addr("192.185.41.52")}}) = 0
22452 14:44:04.270215 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp57", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270291 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp57", ifr_addr={AF_INET, inet_addr("192.185.41.7")}}) = 0
22452 14:44:04.270381 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp58", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270456 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp58", ifr_addr={AF_INET, inet_addr("192.185.41.8")}}) = 0
22452 14:44:04.270543 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp59", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270626 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp59", ifr_addr={AF_INET, inet_addr("192.185.42.14")}}) = 0
22452 14:44:04.270714 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp60", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270797 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp60", ifr_addr={AF_INET, inet_addr("192.185.42.191")}}) = 0
22452 14:44:04.270885 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp61", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.270964 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp61", ifr_addr={AF_INET, inet_addr("192.185.42.21")}}) = 0
22452 14:44:04.271051 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp62", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271133 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp62", ifr_addr={AF_INET, inet_addr("192.185.42.241")}}) = 0
22452 14:44:04.271219 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp63", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271301 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp63", ifr_addr={AF_INET, inet_addr("192.185.46.118")}}) = 0
22452 14:44:04.271388 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp64", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271472 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp64", ifr_addr={AF_INET, inet_addr("192.185.46.200")}}) = 0
22452 14:44:04.271578 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp65", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271662 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp65", ifr_addr={AF_INET, inet_addr("192.185.47.173")}}) = 0
22452 14:44:04.271749 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp66", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271831 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp66", ifr_addr={AF_INET, inet_addr("192.185.47.217")}}) = 0
22452 14:44:04.271916 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp67", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.271998 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp67", ifr_addr={AF_INET, inet_addr("192.185.47.99")}}) = 0
22452 14:44:04.272080 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp68", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272157 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp68", ifr_addr={AF_INET, inet_addr("192.185.43.27")}}) = 0
22452 14:44:04.272245 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp69", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272326 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp69", ifr_addr={AF_INET, inet_addr("192.185.45.135")}}) = 0
22452 14:44:04.272407 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp2", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272483 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp2", ifr_addr={AF_INET, inet_addr("192.185.5.82")}}) = 0
22452 14:44:04.272565 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp3", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272639 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp3", ifr_addr={AF_INET, inet_addr("192.185.5.83")}}) = 0
22452 14:44:04.272720 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp4", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272797 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp4", ifr_addr={AF_INET, inet_addr("192.185.5.84")}}) = 0
22452 14:44:04.272887 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp5", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.272964 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp5", ifr_addr={AF_INET, inet_addr("192.185.5.85")}}) = 0
22452 14:44:04.273045 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp6", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.273120 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp6", ifr_addr={AF_INET, inet_addr("192.185.5.86")}}) = 0
22452 14:44:04.273201 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp7", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.273276 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp7", ifr_addr={AF_INET, inet_addr("192.185.5.87")}}) = 0
22452 14:44:04.273356 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp8", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.273431 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp8", ifr_addr={AF_INET, inet_addr("192.185.5.88")}}) = 0
22452 14:44:04.273509 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp9", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.273585 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp9", ifr_addr={AF_INET, inet_addr("192.185.5.89")}}) = 0
22452 14:44:04.273664 ioctl(3, SIOCGIFHWADDR, {ifr_name="eth1:cp10", ifr_hwaddr=00:25:90:ab:22:b7}) = 0
22452 14:44:04.273739 ioctl(3, SIOCGIFADDR, {ifr_name="eth1:cp10", ifr_addr={AF_INET, inet_addr("192.185.5.90")}}) = 0
22452 14:44:04.273831 close(3)          = 0
22452 14:44:04.273927 time([1400874244]) = 1400874244
22452 14:44:04.276114 brk(0x1e9c000)    = 0x1e9c000
22452 14:44:04.278665 brk(0x1ebd000)    = 0x1ebd000
22452 14:44:04.281066 brk(0x1ede000)    = 0x1ede000
22452 14:44:04.283566 brk(0x1eff000)    = 0x1eff000
22452 14:44:04.286029 brk(0x1f20000)    = 0x1f20000
22452 14:44:04.288201 brk(0x1f41000)    = 0x1f41000
22452 14:44:04.289518 mmap(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35925ff000
22452 14:44:04.291237 brk(0x1f62000)    = 0x1f62000
22452 14:44:04.294093 brk(0x1f83000)    = 0x1f83000
22452 14:44:04.297011 brk(0x1fa4000)    = 0x1fa4000
22452 14:44:04.299966 brk(0x1fc5000)    = 0x1fc5000
22452 14:44:04.303178 brk(0x1fe6000)    = 0x1fe6000
22452 14:44:04.305693 munmap(0x7f35925ff000, 266240) = 0
22452 14:44:04.305863 munmap(0x7f359275a000, 266240) = 0
22452 14:44:04.306008 brk(0x203f000)    = 0x203f000
22452 14:44:04.306160 time(NULL)        = 1400874244
22452 14:44:04.306227 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.306362 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.306485 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.306611 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.306738 lstat("/home2/fritz218/public_html/forum/index.php", {st_dev=makedev(8, 33), st_ino=91360190, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6072, st_atime=2014/05/23-14:43:55, st_mtime=2014/05/23-14:43:51, st_ctime=2014/05/23-14:43:51}) = 0
22452 14:44:04.306944 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={60, 0}}, NULL) = 0
22452 14:44:04.307024 rt_sigaction(SIGPROF, {0x6e9d40, [PROF], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, {SIG_DFL, [], 0}, 8) = 0
22452 14:44:04.307166 rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
22452 14:44:04.307445 time(NULL)        = 1400874244
22452 14:44:04.307659 time(NULL)        = 1400874244
22452 14:44:04.307763 open("/home2/fritz218/public_html/forum/index.php", O_RDONLY) = 3
22452 14:44:04.307865 fstat(3, {st_dev=makedev(8, 33), st_ino=91360190, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6072, st_atime=2014/05/23-14:43:55, st_mtime=2014/05/23-14:43:51, st_ctime=2014/05/23-14:43:51}) = 0
22452 14:44:04.307985 time(NULL)        = 1400874244
22452 14:44:04.308053 chdir("/home2/fritz218/public_html/forum") = 0
22452 14:44:04.308144 fstat(3, {st_dev=makedev(8, 33), st_ino=91360190, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6072, st_atime=2014/05/23-14:43:55, st_mtime=2014/05/23-14:43:51, st_ctime=2014/05/23-14:43:51}) = 0
22452 14:44:04.308259 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.308335 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: index.php 9614 2009-06-18 11:04:54Z nickvergessen $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n*/\n\n/**\n* @ignore\n*/\ndefine('IN_PHPBB', true);\n$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';\n$phpEx = substr(strrchr(__FILE__, '.'), 1);\ninclude($phpbb_root_path . 'common.' . $phpEx);\ninclude($phpbb_root_path . 'includes/functions_display.' . $phpEx);\n\n// Start session management\n$user->session_begin();\n$auth->acl($user->data);\n$user->setup('viewforum');\n\n/* For the Quick Navigation Links */\n$sql = \"SELECT * FROM quick_navigation WHERE link_is_default = 'YES' \";\n$res = $db->sql_query($sql);\nwhile($row = $db->sql_fetchrow( $res))\n{\n\t$template->assign_block_vars( 'quick_navigation_links', array(\n\t'LINK_ID'  => $row['link_id'], \n\t'LINK_URL' => $row['link_url'], \n\t'LINK_TEXT' => $row['link_text']));\n}\n/* For the Quick Navigation Links */\n\n\n\ndisplay_forums('', $config['load_moderators']);\n\n// Set some stats, get posts count from forums data if we... hum... retrieve all forums data\n$total_posts\t= $config['num_posts'];\n$total_topics\t= $config['num_topics'];\n$total_users\t= $config['num_users'];\n\n$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';\n$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';\n$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';\n\n// Grab group details for legend display\nif ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))\n{\n\t$sql = 'SELECT group_id, group_name, group_colour, group_type\n\t\tFROM ' . GROUPS_TABLE . '\n\t\tWHERE group_legend = 1\n\t\tORDER BY group_name ASC';\n}\nelse\n{\n\t$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type\n\t\tFROM ' . GROUPS_TABLE . ' g\n\t\tLEFT JOIN ' . USER_GROUP_TABLE . ' ug\n\t\t\tON (\n\t\t\t\tg.group_id = ug.group_id\n\t\t\t\tAND ug.user_id = ' . $user->data['user_id'] . '\n\t\t\t\tAND ug.user_pending = 0\n\t\t\t)\n\t\tWHERE g.group_legend = 1\n\t\t\tAND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')\n\t\tORDER BY g.group_name ASC';\n}\n$result = $db->sql_query($sql);\n\n$legend = array();\nwhile ($row = $db->sql_fetchrow($result))\n{\n\t$colour_text = ($row['group_colour']) ? ' style=\"color:#' . $row['group_colour'] . '\"' : '';\n\t$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];\n\n\tif ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))\n\t{\n\t\t$legend[] = '<span' . $colour_text . '>' . $group_name . '</span>';\n\t}\n\telse\n\t{\n\t\t$legend[] = '<a' . $colour_text . ' href=\"' . append_sid(\"{$phpbb_root_path}memberlist.$phpEx\", 'mode=group&amp;g=' . $row['group_id']) . '\">' . $group_name . '</a>';\n\t}\n}\n$db->sql_freeresult($result);\n\n$legend = implode(', ', $legend);\n\n// Generate birthday list if required ...\n$birthday_list = '';\nif ($config['load_birthdays'] && $config['allow_birthdays'])\n{\n\t$now = getdate(time() + $user->timezone + $user->dst - date('Z'));\n\t$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday\n\t\tFROM ' . USERS_TABLE . ' u\n\t\tLEFT JOIN ' . BANLIST_TABLE . \" b ON (u.user_id = b.ban_userid)\n\t\tWHERE (b.ban_id IS NULL\n\t\t\tOR b.ban_exclude = 1)\n\t\t\tAND u.user_birthday LIKE '\" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . \"%'\n\t\t\tAND u.user_type IN (\" . USER_NORMAL . ', ' . USER_FOUNDER . ')';\n\t$result = $db->sql_query($sql);\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);\n\n\t\tif ($age = (int) substr($row['user_birthday'], -4))\n\t\t{\n\t\t\t$birthday_list .= ' (' . ($now['year'] - $age) . ')';\n\t\t}\n\t}\n\t$db->sql_freeresult($result);\n}\n\n// Assign index specific vars\n$template->assign_vars(array(\n\t'TOTAL_POSTS'\t=> sprintf($user->lang[$l_total_post_s], $total_posts),\n\t'TOTAL_TOPICS'\t=> sprintf($user->lang[$l_total_topic_s], $total_topics),\n\t'TOTAL_USER", 4096) = 4096
22452 14:44:04.309249 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.309322 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0
22452 14:44:04.309399 rt_sigaction(SIGPROF, {0x6e9d40, [PROF], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, {0x6e9d40, [PROF], SA_RESTORER|SA_RESTART, 0x7f358e61a9a0}, 8) = 0
22452 14:44:04.309515 rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
22452 14:44:04.309616 open("/home2/fritz218/public_html/forum/index.php", O_RDONLY) = 4
22452 14:44:04.309702 fstat(4, {st_dev=makedev(8, 33), st_ino=91360190, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6072, st_atime=2014/05/23-14:43:55, st_mtime=2014/05/23-14:43:51, st_ctime=2014/05/23-14:43:51}) = 0
22452 14:44:04.309825 mmap(NULL, 6072, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.309923 munmap(0x7f35927b8000, 6072) = 0
22452 14:44:04.310002 close(4)          = 0
22452 14:44:04.310084 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.310163 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: index.php 9614 2009-06-18 11:04:54Z nickvergessen $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n*/\n\n/**\n* @ignore\n*/\ndefine('IN_PHPBB', true);\n$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';\n$phpEx = substr(strrchr(__FILE__, '.'), 1);\ninclude($phpbb_root_path . 'common.' . $phpEx);\ninclude($phpbb_root_path . 'includes/functions_display.' . $phpEx);\n\n// Start session management\n$user->session_begin();\n$auth->acl($user->data);\n$user->setup('viewforum');\n\n/* For the Quick Navigation Links */\n$sql = \"SELECT * FROM quick_navigation WHERE link_is_default = 'YES' \";\n$res = $db->sql_query($sql);\nwhile($row = $db->sql_fetchrow( $res))\n{\n\t$template->assign_block_vars( 'quick_navigation_links', array(\n\t'LINK_ID'  => $row['link_id'], \n\t'LINK_URL' => $row['link_url'], \n\t'LINK_TEXT' => $row['link_text']));\n}\n/* For the Quick Navigation Links */\n\n\n\ndisplay_forums('', $config['load_moderators']);\n\n// Set some stats, get posts count from forums data if we... hum... retrieve all forums data\n$total_posts\t= $config['num_posts'];\n$total_topics\t= $config['num_topics'];\n$total_users\t= $config['num_users'];\n\n$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';\n$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';\n$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';\n\n// Grab group details for legend display\nif ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))\n{\n\t$sql = 'SELECT group_id, group_name, group_colour, group_type\n\t\tFROM ' . GROUPS_TABLE . '\n\t\tWHERE group_legend = 1\n\t\tORDER BY group_name ASC';\n}\nelse\n{\n\t$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type\n\t\tFROM ' . GROUPS_TABLE . ' g\n\t\tLEFT JOIN ' . USER_GROUP_TABLE . ' ug\n\t\t\tON (\n\t\t\t\tg.group_id = ug.group_id\n\t\t\t\tAND ug.user_id = ' . $user->data['user_id'] . '\n\t\t\t\tAND ug.user_pending = 0\n\t\t\t)\n\t\tWHERE g.group_legend = 1\n\t\t\tAND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')\n\t\tORDER BY g.group_name ASC';\n}\n$result = $db->sql_query($sql);\n\n$legend = array();\nwhile ($row = $db->sql_fetchrow($result))\n{\n\t$colour_text = ($row['group_colour']) ? ' style=\"color:#' . $row['group_colour'] . '\"' : '';\n\t$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];\n\n\tif ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))\n\t{\n\t\t$legend[] = '<span' . $colour_text . '>' . $group_name . '</span>';\n\t}\n\telse\n\t{\n\t\t$legend[] = '<a' . $colour_text . ' href=\"' . append_sid(\"{$phpbb_root_path}memberlist.$phpEx\", 'mode=group&amp;g=' . $row['group_id']) . '\">' . $group_name . '</a>';\n\t}\n}\n$db->sql_freeresult($result);\n\n$legend = implode(', ', $legend);\n\n// Generate birthday list if required ...\n$birthday_list = '';\nif ($config['load_birthdays'] && $config['allow_birthdays'])\n{\n\t$now = getdate(time() + $user->timezone + $user->dst - date('Z'));\n\t$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday\n\t\tFROM ' . USERS_TABLE . ' u\n\t\tLEFT JOIN ' . BANLIST_TABLE . \" b ON (u.user_id = b.ban_userid)\n\t\tWHERE (b.ban_id IS NULL\n\t\t\tOR b.ban_exclude = 1)\n\t\t\tAND u.user_birthday LIKE '\" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . \"%'\n\t\t\tAND u.user_type IN (\" . USER_NORMAL . ', ' . USER_FOUNDER . ')';\n\t$result = $db->sql_query($sql);\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);\n\n\t\tif ($age = (int) substr($row['user_birthday'], -4))\n\t\t{\n\t\t\t$birthday_list .= ' (' . ($now['year'] - $age) . ')';\n\t\t}\n\t}\n\t$db->sql_freeresult($result);\n}\n\n// Assign index specific vars\n$template->assign_vars(array(\n\t'TOTAL_POSTS'\t=> sprintf($user->lang[$l_total_post_s], $total_posts),\n\t'TOTAL_TOPICS'\t=> sprintf($user->lang[$l_total_topic_s], $total_topics),\n\t'TOTAL_USER", 4096) = 4096
22452 14:44:04.311045 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.311116 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e8f30) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.311254 read(3, "S'\t=> sprintf($user->lang[$l_total_user_s], $total_users),\n\t'NEWEST_USER'\t=> sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),\n\n\t'LEGEND'\t\t=> $legend,\n\t'BIRTHDAY_LIST'\t=> $birthday_list,\n\n\t'FORUM_IMG'\t\t\t\t=> $user->img('forum_read', 'NO_NEW_POSTS'),\n\t'FORUM_NEW_IMG'\t\t\t=> $user->img('forum_unread', 'NEW_POSTS'),\n\t'FORUM_LOCKED_IMG'\t\t=> $user->img('forum_read_locked', 'NO_NEW_POSTS_LOCKED'),\n\t'FORUM_NEW_LOCKED_IMG'\t=> $user->img('forum_unread_locked', 'NO_NEW_POSTS_LOCKED'),\n\n\t'S_LOGIN_ACTION'\t\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=login'),\n\t'S_DISPLAY_BIRTHDAY_LIST'\t=> ($config['load_birthdays']) ? true : false,\n\n\t'U_MARK_FORUMS'\t\t=> ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid(\"{$phpbb_root_path}index.$phpEx\", 'hash=' . generate_link_hash('global') . '&amp;mark=forums') : '',\n\t'U_MCP'\t\t\t\t=> ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid(\"{$phpbb_root_path}mcp.$phpEx\", 'i=main&amp;mode=front', true, $user->session_id) : '')\n);\n\n// Output page\npage_header($user->lang['INDEX']);\n\n$template->assign_var( 'CUSTOM_TITLE', \"Sports Betting Forum - Sports Talk\");\n$template->assign_var( 'PAGE_KEYWORDS', \"free betting picks, sports betting, handicapping forum, sports forum, sportsbook reviews, sports handicapping, sports picks, sports handicappers, bulletin board, service play forum, online sportsbook, nba, mlb, ncaab, ncaaf, nhl, nfl, free sport picks, betting advice, free betting advice, sports betting advice\");\n$template->assign_var( 'PAGE_DESCRIPTION', \"A revenue sharing sports forum, get paid to talk sports. A forum with released service plays, sports information, sports talk, matchups, sportsbook reviews, and in-game talk. Where all experts' picks are released minutes after the start of a game.\");\n\n$template->set_filenames(array(\n\t'body' => 'index_body.html')\n);\n\npage_footer();\n\n?>\n", 4096) = 1976
22452 14:44:04.311691 read(3, "", 4096) = 0
22452 14:44:04.312811 read(3, "", 8192) = 0
22452 14:44:04.313013 close(3)          = 0
22452 14:44:04.313080 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.313255 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.313348 time(NULL)        = 1400874244
22452 14:44:04.313413 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.313531 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.313654 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.313781 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.313908 lstat("/home2/fritz218/public_html/forum/common.php", {st_dev=makedev(8, 33), st_ino=91379160, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6204, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:40, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.314066 open("/home2/fritz218/public_html/forum/common.php", O_RDONLY) = 3
22452 14:44:04.314149 fstat(3, {st_dev=makedev(8, 33), st_ino=91379160, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6204, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:40, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.314281 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.314359 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.314427 fstat(3, {st_dev=makedev(8, 33), st_ino=91379160, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6204, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:40, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.314546 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.314621 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.314701 open("/home2/fritz218/public_html/forum/common.php", O_RDONLY) = 4
22452 14:44:04.314777 fstat(4, {st_dev=makedev(8, 33), st_ino=91379160, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6204, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:40, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.314895 mmap(NULL, 6204, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.314974 munmap(0x7f35927b8000, 6204) = 0
22452 14:44:04.315045 close(4)          = 0
22452 14:44:04.315111 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.315180 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: common.php 8760 2008-08-15 19:46:51Z aptx $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n* Minimum Requirement: PHP 4.3.3\n*/\n\n/**\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n$starttime = explode(' ', microtime());\n$starttime = $starttime[1] + $starttime[0];\n\n// Report all errors, except notices\nerror_reporting(E_ALL ^ E_NOTICE);\n\n/*\n* Remove variables created by register_globals from the global scope\n* Thanks to Matt Kavanagh\n*/\nfunction deregister_globals()\n{\n\t$not_unset = array(\n\t\t'GLOBALS'\t=> true,\n\t\t'_GET'\t\t=> true,\n\t\t'_POST'\t\t=> true,\n\t\t'_COOKIE'\t=> true,\n\t\t'_REQUEST'\t=> true,\n\t\t'_SERVER'\t=> true,\n\t\t'_SESSION'\t=> true,\n\t\t'_ENV'\t\t=> true,\n\t\t'_FILES'\t=> true,\n\t\t'phpEx'\t\t=> true,\n\t\t'phpbb_root_path'\t=> true\n\t);\n\n\t// Not only will array_merge and array_keys give a warning if\n\t// a parameter is not an array, array_merge will actually fail.\n\t// So we check if _SESSION has been initialised.\n\tif (!isset($_SESSION) || !is_array($_SESSION))\n\t{\n\t\t$_SESSION = array();\n\t}\n\n\t// Merge all into one extremely huge array; unset this later\n\t$input = array_merge(\n\t\tarray_keys($_GET),\n\t\tarray_keys($_POST),\n\t\tarray_keys($_COOKIE),\n\t\tarray_keys($_SERVER),\n\t\tarray_keys($_SESSION),\n\t\tarray_keys($_ENV),\n\t\tarray_keys($_FILES)\n\t);\n\n\tforeach ($input as $varname)\n\t{\n\t\tif (isset($not_unset[$varname]))\n\t\t{\n\t\t\t// Hacking attempt. No point in continuing unless it's a COOKIE\n\t\t\tif ($varname !== 'GLOBALS' || isset($_GET['GLOBALS']) || isset($_POST['GLOBALS']) || isset($_SERVER['GLOBALS']) || isset($_SESSION['GLOBALS']) || isset($_ENV['GLOBALS']) || isset($_FILES['GLOBALS']))\n\t\t\t{\n\t\t\t\texit;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$cookie = &$_COOKIE;\n\t\t\t\twhile (isset($cookie['GLOBALS']))\n\t\t\t\t{\n\t\t\t\t\tforeach ($cookie['GLOBALS'] as $registered_var => $value)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!isset($not_unset[$registered_var]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset($GLOBALS[$registered_var]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t$cookie = &$cookie['GLOBALS'];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tunset($GLOBALS[$varname]);\n\t}\n\n\tunset($input);\n}\n\n// If we are on PHP >= 6.0.0 we do not need some code\nif (version_compare(PHP_VERSION, '6.0.0-dev', '>='))\n{\n\t/**\n\t* @ignore\n\t*/\n\tdefine('STRIP', false);\n}\nelse\n{\n\t@set_magic_quotes_runtime(0);\n\n\t// Be paranoid with passed vars\n\tif (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on' || !function_exists('ini_get'))\n\t{\n\t\tderegister_globals();\n\t}\n\n\tdefine('STRIP', (get_magic_quotes_gpc()) ? true : false);\n}\n\nif (defined('IN_CRON'))\n{\n\t$phpbb_root_path = dirname(__FILE__) . DIRECTORY_SEPARATOR;\n}\n\nif (!file_exists($phpbb_root_path . 'config.' . $phpEx))\n{\n\tdie(\"<p>The config.$phpEx file could not be found.</p><p><a href=\\\"{$phpbb_root_path}install/index.$phpEx\\\">Click here to install phpBB</a></p>\");\n}\n\nrequire($phpbb_root_path . 'config.' . $phpEx);\n\nif (!defined('PHPBB_INSTALLED'))\n{\n\t// Redirect the user to the installer\n\t// We have to generate a full HTTP/1.1 header here since we can't guarantee to have any of the information\n\t// available as used by the redirect function\n\t$server_name = (!empty($_SERVER['HTTP_HOST'])) ? strtolower($_SERVER['HTTP_HOST']) : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));\n\t$server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');\n\t$secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 1 : 0;\n\n\t$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');\n\tif (!$script_name)\n\t{\n\t\t$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');\n\t}\n\n\t// Replace any number of consecutive backslashes and/or slashes with a single slash\n\t// (could happen on some proxy setups and/or Windows servers)\n\t$script_path = trim(dirname($script_name)) . '/install/index.' . $phpEx;\n\t$script_path = preg_replace('#[\\\\\\\\/]{2,}#', '/', $script_path);\n\n\t$url = (($secure) ? 'https://' : 'http://') . $server_name;\n\n\tif ($server_port && (($secure && $server_port <> 443) || (!$secure ", 4096) = 4096
22452 14:44:04.316042 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.316108 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e6470) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.316202 read(3, "&& $server_port <> 80)))\n\t{\n\t\t// HTTP HOST can carry a port number...\n\t\tif (strpos($server_name, ':') === false)\n\t\t{\n\t\t\t$url .= ':' . $server_port;\n\t\t}\n\t}\n\n\t$url .= $script_path;\n\theader('Location: ' . $url);\n\texit;\n}\n\nif (defined('DEBUG_EXTRA'))\n{\n\t$base_memory_usage = 0;\n\tif (function_exists('memory_get_usage'))\n\t{\n\t\t$base_memory_usage = memory_get_usage();\n\t}\n}\n\n// Load Extensions\nif (!empty($load_extensions))\n{\n\t$load_extensions = explode(',', $load_extensions);\n\n\tforeach ($load_extensions as $extension)\n\t{\n\t\t@dl(trim($extension));\n\t}\n}\n\n// Include files\nrequire($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);\nrequire($phpbb_root_path . 'includes/cache.' . $phpEx);\nrequire($phpbb_root_path . 'includes/template.' . $phpEx);\nrequire($phpbb_root_path . 'includes/session.' . $phpEx);\nrequire($phpbb_root_path . 'includes/auth.' . $phpEx);\n\nrequire($phpbb_root_path . 'includes/functions.' . $phpEx);\nrequire($phpbb_root_path . 'includes/functions_content.' . $phpEx);\n\nrequire($phpbb_root_path . 'includes/constants.' . $phpEx);\nrequire($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);\nrequire($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);\n\n// Set PHP error handler to ours\nset_error_handler(defined('PHPBB_MSG_HANDLER') ? PHPBB_MSG_HANDLER : 'msg_handler');\n\n// Instantiate some basic classes\n$user\t\t= new user();\n$auth\t\t= new auth();\n$template\t= new template();\n$cache\t\t= new cache();\n$db\t\t\t= new $sql_db();\n\n// Connect to DB\n$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false);\n\n// We do not need this any longer, unset for safety purposes\nunset($dbpasswd);\n\n// Grab global variables, re-cache if necessary\n$config = $cache->obtain_config();\n\n// Add own hook handler\nrequire($phpbb_root_path . 'includes/hooks/index.' . $phpEx);\n$phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display')));\n\nforeach ($cache->obtain_hooks() as $hook)\n{\n\t@include($phpbb_root_path . 'includes/hooks/' . $hook . '.' . $phpEx);\n}\n\n?>", 4096) = 2108
22452 14:44:04.316671 read(3, "", 4096) = 0
22452 14:44:04.317596 brk(0x2087000)    = 0x2087000
22452 14:44:04.317970 read(3, "", 8192) = 0
22452 14:44:04.318121 close(3)          = 0
22452 14:44:04.318187 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.318674 access("./config.php", F_OK) = 0
22452 14:44:04.318833 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.318953 time(NULL)        = 1400874244
22452 14:44:04.319027 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.319172 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.319315 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.319472 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.319628 lstat("/home2/fritz218/public_html/forum/config.php", {st_dev=makedev(8, 33), st_ino=91379161, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=420, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:41, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.319775 open("/home2/fritz218/public_html/forum/config.php", O_RDONLY) = 3
22452 14:44:04.319869 fstat(3, {st_dev=makedev(8, 33), st_ino=91379161, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=420, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:41, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.320006 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.320075 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.320147 fstat(3, {st_dev=makedev(8, 33), st_ino=91379161, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=420, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:41, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.320276 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.320349 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.320423 open("/home2/fritz218/public_html/forum/config.php", O_RDONLY) = 4
22452 14:44:04.320509 fstat(4, {st_dev=makedev(8, 33), st_ino=91379161, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=420, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:41, st_ctime=2014/04/09-14:44:44}) = 0
22452 14:44:04.320646 mmap(NULL, 420, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.320729 munmap(0x7f35927b8000, 420) = 0
22452 14:44:04.320808 close(4)          = 0
22452 14:44:04.320882 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.320958 read(3, "<?php\r\n// phpBB 3.0.x auto-generated configuration file\r\n// Do not change anything in this file!\r\n$dbms = 'mysqli';\r\n$dbhost = 'localhost';\r\n$dbport = '';\r\n$dbname = 'fritz218_sports';\r\n$dbuser = 'fritz218_spusr';\r\n$dbpasswd = 'SR71blackbird';\r\n$table_prefix = 'forum_';\r\n$acm_type = 'file';\r\n$load_extensions = '';\r\n\r\n@define('PHPBB_INSTALLED', true);\r\n// @define('DEBUG', true);\r\n// @define('DEBUG_EXTRA', true);\r\n?>\r\n", 4096) = 420
22452 14:44:04.321145 lseek(3, 420, SEEK_SET) = 420
22452 14:44:04.321230 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.321331 read(3, "", 4096) = 0
22452 14:44:04.321469 read(3, "", 8192) = 0
22452 14:44:04.321561 close(3)          = 0
22452 14:44:04.321624 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.321741 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.321822 time(NULL)        = 1400874244
22452 14:44:04.321887 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.322022 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.322157 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.322309 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.322448 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.322580 lstat("/home2/fritz218/public_html/forum/includes/acm", {st_dev=makedev(8, 33), st_ino=91759226, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.322731 lstat("/home2/fritz218/public_html/forum/includes/acm/acm_file.php", {st_dev=makedev(8, 33), st_ino=91762253, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=32, st_size=13689, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.322880 open("/home2/fritz218/public_html/forum/includes/acm/acm_file.php", O_RDONLY) = 3
22452 14:44:04.322972 fstat(3, {st_dev=makedev(8, 33), st_ino=91762253, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=32, st_size=13689, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.323100 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.323168 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.323239 fstat(3, {st_dev=makedev(8, 33), st_ino=91762253, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=32, st_size=13689, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.323371 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.323452 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.323528 open("/home2/fritz218/public_html/forum/includes/acm/acm_file.php", O_RDONLY) = 4
22452 14:44:04.323619 fstat(4, {st_dev=makedev(8, 33), st_ino=91762253, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=32, st_size=13689, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.323759 mmap(NULL, 13689, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.323844 munmap(0x7f35927b8000, 13689) = 0
22452 14:44:04.323919 close(4)          = 0
22452 14:44:04.323994 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.324082 read(3, "<?php\n/**\n*\n* @package acm\n* @version $Id: acm_file.php 9543 2009-06-05 14:51:17Z toonarmy $\n* @copyright (c) 2005, 2009 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* ACM File Based Caching\n* @package acm\n*/\nclass acm\n{\n\tvar $vars = array();\n\tvar $var_expires = array();\n\tvar $is_modified = false;\n\n\tvar $sql_rowset = array();\n\tvar $sql_row_pointer = array();\n\tvar $cache_dir = '';\n\n\t/**\n\t* Set cache path\n\t*/\n\tfunction acm()\n\t{\n\t\tglobal $phpbb_root_path;\n\t\t$this->cache_dir = $phpbb_root_path . 'cache/';\n\t}\n\n\t/**\n\t* Load global cache\n\t*/\n\tfunction load()\n\t{\n\t\treturn $this->_read('data_global');\n\t}\n\n\t/**\n\t* Unload cache object\n\t*/\n\tfunction unload()\n\t{\n\t\t$this->save();\n\t\tunset($this->vars);\n\t\tunset($this->var_expires);\n\t\tunset($this->sql_rowset);\n\t\tunset($this->sql_row_pointer);\n\n\t\t$this->vars = array();\n\t\t$this->var_expires = array();\n\t\t$this->sql_rowset = array();\n\t\t$this->sql_row_pointer = array();\n\t}\n\n\t/**\n\t* Save modified objects\n\t*/\n\tfunction save()\n\t{\n\t\tif (!$this->is_modified)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tglobal $phpEx;\n\n\t\tif (!$this->_write('data_global'))\n\t\t{\n\t\t\t// Now, this occurred how often? ... phew, just tell the user then...\n\t\t\tif (!@is_writable($this->cache_dir))\n\t\t\t{\n\t\t\t\t// We need to use die() here, because else we may encounter an infinite loop (the message handler calls $cache->unload())\n\t\t\t\tdie($this->cache_dir . ' is NOT writable.');\n\t\t\t\texit;\n\t\t\t}\n\n\t\t\tdie('Not able to open ' . $this->cache_dir . 'data_global.' . $phpEx);\n\t\t\texit;\n\t\t}\n\n\t\t$this->is_modified = false;\n\t}\n\n\t/**\n\t* Tidy cache\n\t*/\n\tfunction tidy()\n\t{\n\t\tglobal $phpEx;\n\n\t\t$dir = @opendir($this->cache_dir);\n\n\t\tif (!$dir)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t$time = time();\n\n\t\twhile (($entry = readdir($dir)) !== false)\n\t\t{\n\t\t\tif (!preg_match('/^(sql_|data_(?!global))/', $entry))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!($handle = @fopen($this->cache_dir . $entry, 'rb')))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Skip the PHP header\n\t\t\tfgets($handle);\n\n\t\t\t// Skip expiration\n\t\t\t$expires = (int) fgets($handle);\n\n\t\t\tfclose($handle);\n\n\t\t\tif ($time >= $expires)\n\t\t\t{\n\t\t\t\t$this->remove_file($this->cache_dir . $entry);\n\t\t\t}\n\t\t}\n\t\tclosedir($dir);\n\n\t\tif (file_exists($this->cache_dir . 'data_global.' . $phpEx))\n\t\t{\n\t\t\tif (!sizeof($this->vars))\n\t\t\t{\n\t\t\t\t$this->load();\n\t\t\t}\n\n\t\t\tforeach ($this->var_expires as $var_name => $expires)\n\t\t\t{\n\t\t\t\tif ($time >= $expires)\n\t\t\t\t{\n\t\t\t\t\t$this->destroy($var_name);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tset_config('cache_last_gc', time(), true);\n\t}\n\n\t/**\n\t* Get saved cache object\n\t*/\n\tfunction get($var_name)\n\t{\n\t\tif ($var_name[0] == '_')\n\t\t{\n\t\t\tglobal $phpEx;\n\n\t\t\tif (!$this->_exists($var_name))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn $this->_read('data' . $var_name);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn ($this->_exists($var_name)) ? $this->vars[$var_name] : false;\n\t\t}\n\t}\n\n\t/**\n\t* Put data into cache\n\t*/\n\tfunction put($var_name, $var, $ttl = 31536000)\n\t{\n\t\tif ($var_name[0] == '_')\n\t\t{\n\t\t\t$this->_write('data' . $var_name, $var, time() + $ttl);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->vars[$var_name] = $var;\n\t\t\t$this->var_expires[$var_name] = time() + $ttl;\n\t\t\t$this->is_modified = true;\n\t\t}\n\t}\n\n\t/**\n\t* Purge cache data\n\t*/\n\tfunction purge()\n\t{\n\t\t// Purge all phpbb cache files\n\t\t$dir = @opendir($this->cache_dir);\n\n\t\tif (!$dir)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\twhile (($entry = readdir($dir)) !== false)\n\t\t{\n\t\t\tif (strpos($entry, 'sql_') !== 0 && strpos($entry, 'data_') !== 0 && strpos($entry, 'ctpl_') !== 0 && strpos($entry, 'tpl_') !== 0)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$this->remove_file($this->cache_dir . $entry);\n\t\t}\n\t\tclosedir($dir);\n\n\t\tunset($this->vars);\n\t\tunset($this->var_expires);\n\t\tunset($this->sql_rowset);\n\t\tunset($this->sql_row_pointer);\n\n\t\t$this->vars = array();\n\t\t$this->var_expires = array();\n\t\t$this->sql_rowset = array();\n\t\t$this->sql_row_pointer = array();\n\n\t\t$this->is_modified = false;\n\t}\n\n\t/**\n\t* Destroy cache data\n\t*/\n\tfunction destroy($var_name, $table = '')\n\t{\n\t\tglobal $phpEx;\n\n\t\tif ($var_name == 'sql' && !empty($table))\n\t\t{\n\t\t\tif (!is_array($table))\n\t\t\t{\n\t\t\t\t$table = array($table);\n\t\t\t}\n\n\t\t\t$dir = @opendir", 4096) = 4096
22452 14:44:04.325078 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.325156 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.325252 read(3, "($this->cache_dir);\n\n\t\t\tif (!$dir)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twhile (($entry = readdir($dir)) !== false)\n\t\t\t{\n\t\t\t\tif (strpos($entry, 'sql_') !== 0)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!($handle = @fopen($this->cache_dir . $entry, 'rb')))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Skip the PHP header\n\t\t\t\tfgets($handle);\n\n\t\t\t\t// Skip expiration\n\t\t\t\tfgets($handle);\n\n\t\t\t\t// Grab the query, remove the LF\n\t\t\t\t$query = substr(fgets($handle), 0, -1);\n\n\t\t\t\tfclose($handle);\n\n\t\t\t\tforeach ($table as $check_table)\n\t\t\t\t{\n\t\t\t\t\t// Better catch partial table names than no table names. ;)\n\t\t\t\t\tif (strpos($query, $check_table) !== false)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->remove_file($this->cache_dir . $entry);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tclosedir($dir);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!$this->_exists($var_name))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif ($var_name[0] == '_')\n\t\t{\n\t\t\t$this->remove_file($this->cache_dir . 'data' . $var_name . \".$phpEx\", true);\n\t\t}\n\t\telse if (isset($this->vars[$var_name]))\n\t\t{\n\t\t\t$this->is_modified = true;\n\t\t\tunset($this->vars[$var_name]);\n\t\t\tunset($this->var_expires[$var_name]);\n\n\t\t\t// We save here to let the following cache hits succeed\n\t\t\t$this->save();\n\t\t}\n\t}\n\n\t/**\n\t* Check if a given cache entry exist\n\t*/\n\tfunction _exists($var_name)\n\t{\n\t\tif ($var_name[0] == '_')\n\t\t{\n\t\t\tglobal $phpEx;\n\t\t\treturn file_exists($this->cache_dir . 'data' . $var_name . \".$phpEx\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!sizeof($this->vars))\n\t\t\t{\n\t\t\t\t$this->load();\n\t\t\t}\n\n\t\t\tif (!isset($this->var_expires[$var_name]))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (time() > $this->var_expires[$var_name]) ? false : isset($this->vars[$var_name]);\n\t\t}\n\t}\n\n\t/**\n\t* Load cached sql query\n\t*/\n\tfunction sql_load($query)\n\t{\n\t\t// Remove extra spaces and tabs\n\t\t$query = preg_replace('/[\\n\\r\\s\\t]+/', ' ', $query);\n\n\t\tif (($rowset = $this->_read('sql_' . md5($query))) === false)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t$query_id = sizeof($this->sql_rowset);\n\t\t$this->sql_rowset[$query_id] = $rowset;\n\t\t$this->sql_row_pointer[$query_id] = 0;\n\n\t\treturn $query_id;\n\t}\n\n\t/**\n\t* Save sql query\n\t*/\n\tfunction sql_save($query, &$query_result, $ttl)\n\t{\n\t\tglobal $db;\n\n\t\t// Remove extra spaces and tabs\n\t\t$query = preg_replace('/[\\n\\r\\s\\t]+/', ' ', $query);\n\n\t\t$query_id = sizeof($this->sql_rowset);\n\t\t$this->sql_rowset[$query_id] = array();\n\t\t$this->sql_row_pointer[$query_id] = 0;\n\n\t\twhile ($row = $db->sql_fetchrow($query_result))\n\t\t{\n\t\t\t$this->sql_rowset[$query_id][] = $row;\n\t\t}\n\t\t$db->sql_freeresult($query_result);\n\n\t\tif ($this->_write('sql_' . md5($query), $this->sql_rowset[$query_id], $ttl + time(), $query))\n\t\t{\n\t\t\t$query_result = $query_id;\n\t\t}\n\t}\n\n\t/**\n\t* Ceck if a given sql query exist in cache\n\t*/\n\tfunction sql_exists($query_id)\n\t{\n\t\treturn isset($this->sql_rowset[$query_id]);\n\t}\n\n\t/**\n\t* Fetch row from cache (database)\n\t*/\n\tfunction sql_fetchrow($query_id)\n\t{\n\t\tif ($this->sql_row_pointer[$query_id] < sizeof($this->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn $this->sql_rowset[$query_id][$this->sql_row_pointer[$query_id]++];\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Fetch a field from the current row of a cached database result (database)\n\t*/\n\tfunction sql_fetchfield($query_id, $field)\n\t{\n\t\tif ($this->sql_row_pointer[$query_id] < sizeof($this->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn (isset($this->sql_rowset[$query_id][$this->sql_row_pointer[$query_id]][$field])) ? $this->sql_rowset[$query_id][$this->sql_row_pointer[$query_id]][$field] : false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Seek a specific row in an a cached database result (database)\n\t*/\n\tfunction sql_rowseek($rownum, $query_id)\n\t{\n\t\tif ($rownum >= sizeof($this->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t$this->sql_row_pointer[$query_id] = $rownum;\n\t\treturn true;\n\t}\n\n\t/**\n\t* Free memory used for a cached database result (database)\n\t*/\n\tfunction sql_freeresult($query_id)\n\t{\n\t\tif (!isset($this->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tunset($this->sql_rowset[$query_id]);\n\t\tunset($this->sql_row_pointer[$query_id]);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Read cached data from a specified file\n\t*\n\t* @access private\n\t* @param string $filename Filename to write\n\t* @return mixed False if an erro", 4096) = 4096
22452 14:44:04.327885 read(3, "r was encountered, otherwise the data type of the cached data\n\t*/\n\tfunction _read($filename)\n\t{\n\t\tglobal $phpEx;\n\n\t\t$file = \"{$this->cache_dir}$filename.$phpEx\";\n\n\t\t$type = substr($filename, 0, strpos($filename, '_'));\n\n\t\tif (!file_exists($file))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!($handle = @fopen($file, 'rb')))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t// Skip the PHP header\n\t\tfgets($handle);\n\n\t\tif ($filename == 'data_global')\n\t\t{\n\t\t\t$this->vars = $this->var_expires = array();\n\n\t\t\t$time = time();\n\n\t\t\twhile (($expires = (int) fgets($handle)) && !feof($handle))\n\t\t\t{\n\t\t\t\t// Number of bytes of data\n\t\t\t\t$bytes = substr(fgets($handle), 0, -1);\n\n\t\t\t\tif (!is_numeric($bytes) || ($bytes = (int) $bytes) === 0)\n\t\t\t\t{\n\t\t\t\t\t// We cannot process the file without a valid number of bytes\n\t\t\t\t\t// so we discard it\n\t\t\t\t\tfclose($handle);\n\n\t\t\t\t\t$this->vars = $this->var_expires = array();\n\t\t\t\t\t$this->is_modified = false;\n\n\t\t\t\t\t$this->remove_file($file);\n\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ($time >= $expires)\n\t\t\t\t{\n\t\t\t\t\tfseek($handle, $bytes, SEEK_CUR);\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t$var_name = substr(fgets($handle), 0, -1);\n\n\t\t\t\t// Read the length of bytes that consists of data.\n\t\t\t\t$data = fread($handle, $bytes - strlen($var_name));\n\t\t\t\t$data = @unserialize($data);\n\n\t\t\t\t// Don't use the data if it was invalid\n\t\t\t\tif ($data !== false)\n\t\t\t\t{\n\t\t\t\t\t$this->vars[$var_name] = $data;\n\t\t\t\t\t$this->var_expires[$var_name] = $expires;\n\t\t\t\t}\n\n\t\t\t\t// Absorb the LF\n\t\t\t\tfgets($handle);\n\t\t\t}\n\n\t\t\tfclose($handle);\n\n\t\t\t$this->is_modified = false;\n\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$data = false;\n\t\t\t$line = 0;\n\n\t\t\twhile (($buffer = fgets($handle)) && !feof($handle))\n\t\t\t{\n\t\t\t\t$buffer = substr($buffer, 0, -1); // Remove the LF\n\n\t\t\t\t// $buffer is only used to read integers\n\t\t\t\t// if it is non numeric we have an invalid\n\t\t\t\t// cache file, which we will now remove.\n\t\t\t\tif (!is_numeric($buffer))\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ($line == 0)\n\t\t\t\t{\n\t\t\t\t\t$expires = (int) $buffer;\n\n\t\t\t\t\tif (time() >= $expires)\n\t\t\t\t\t{\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($type == 'sql')\n\t\t\t\t\t{\n\t\t\t\t\t\t// Skip the query\n\t\t\t\t\t\tfgets($handle);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if ($line == 1)\n\t\t\t\t{\n\t\t\t\t\t$bytes = (int) $buffer;\n\n\t\t\t\t\t// Never should have 0 bytes\n\t\t\t\t\tif (!$bytes)\n\t\t\t\t\t{\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Grab the serialized data\n\t\t\t\t\t$data = fread($handle, $bytes);\n\n\t\t\t\t\t// Read 1 byte, to trigger EOF\n\t\t\t\t\tfread($handle, 1);\n\n\t\t\t\t\tif (!feof($handle))\n\t\t\t\t\t{\n\t\t\t\t\t\t// Somebody tampered with our data\n\t\t\t\t\t\t$data = false;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// Something went wrong\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t$line++;\n\t\t\t}\n\t\t\tfclose($handle);\n\n\t\t\t// unserialize if we got some data\n\t\t\t$data = ($data !== false) ? @unserialize($data) : $data;\n\n\t\t\tif ($data === false)\n\t\t\t{\n\t\t\t\t$this->remove_file($file);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn $data;\n\t\t}\n\t}\n\n\t/**\n\t* Write cache data to a specified file\n\t*\n\t* 'data_global' is a special case and the generated format is different for this file:\n\t* <code>\n\t* <?php exit; ?>\n\t* (expiration)\n\t* (length of var and serialised data)\n\t* (var)\n\t* (serialised data)\n\t* ... (repeat)\n\t* </code>\n\t*\n\t* The other files have a similar format:\n\t* <code>\n\t* <?php exit; ?>\n\t* (expiration)\n\t* (query) [SQL files only]\n\t* (length of serialised data)\n\t* (serialised data)\n\t* </code>\n\t*\n\t* @access private\n\t* @param string $filename Filename to write\n\t* @param mixed $data Data to store\n\t* @param int $expires Timestamp when the data expires\n\t* @param string $query Query when caching SQL queries\n\t* @return bool True if the file was successfully created, otherwise false\n\t*/\n\tfunction _write($filename, $data = null, $expires = 0, $query = '')\n\t{\n\t\tglobal $phpEx;\n\n\t\t$file = \"{$this->cache_dir}$filename.$phpEx\";\n\n\t\tif ($handle = @fopen($file, 'wb'))\n\t\t{\n\t\t\t@flock($handle, LOCK_EX);\n\n\t\t\t// File header\n\t\t\tfwrite($handle, '<' . '?php exit; ?' . '>');\n\n\t\t\tif ($filename == 'data_global')\n\t\t\t{\n\t\t\t\t// Global data is a different format\n\t\t\t\tforeach ($this->vars as $var => $data)\n\t\t\t\t{\n\t\t\t\t\tif (strpos($var, \"\\r\") !== false || strpos($var, \"\\n\") !== false)\n\t\t\t\t\t{\n\t\t\t\t\t\t// CR/LF would cause fgets() to read the cache file incorrectly\n\t\t\t\t\t\t// do not cache test entries, they probably won't be read back\n\t\t\t\t\t\t// the cache keys should really be alphanumeric with a few symbols.\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t$data = serialize($data);\n\n\t\t\t\t\t// Write out the expiration time\n\t\t\t\t\tfwrite($handle, \"\\n\" . $this->var_expires[$var] . \"\\n\");\n\n\t\t\t\t\t// Length of the remaining data for this var (ignoring two LF's)\n\t\t\t\t\tfwrite($handle, strlen($data . $var) . \"\\n\");\n\t\t\t\t\tfwrite($handle, $var . \"\\n\");\n\t\t\t\t\tfwrite($handle, $data);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfwrite($handle, \"\\n\" . $expires . \"\\n\");\n\n\t\t\t\tif (strpos($filename, 'sql_') === 0)\n\t\t\t\t{\n\t\t\t\t\tfwrite($handle, $query . \"\\n\");\n\t\t\t\t}\n\t\t\t\t$data = serialize($data);\n\n\t\t\t\tfwrite($handle, strlen($data) . \"\\n\");\n\t\t\t\tfwrite($handle, $data);\n\t\t\t}\n\n\t\t\t@flock($handle, LOCK_UN);\n\t\t\tfclose($handle);\n\n\t\t\tif (!function_exists('phpbb_chmod'))\n\t\t\t{\n\t\t\t\tglobal $phpbb_root_path;\n\t\t\t\tinclude($phpbb_root_path . 'includes/functions.' . $phpEx);\n\t\t\t}\n\n\t\t\tphpbb_chmod($file, CHMOD_READ | CHMOD_WRITE);\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Removes/unlinks file\n\t*/\n\tfunction remove_file($filename, $check = false)\n\t{\n\t\tif ($check && !@is_writable($this->cache_dir))\n\t\t{\n\t\t\t// E_USER_ERROR - not using language entry - intended.\n\t\t\ttrigger_error('Unable to remove files within ' . $this->cache_dir . '. Please check directory permissions.', E_USER_ERROR);\n\t\t}\n\n\t\treturn @unlink($filename);\n\t}\n}\n\n?>", 8192) = 5497
22452 14:44:04.329095 read(3, "", 4096) = 0
22452 14:44:04.330207 read(3, "", 8192) = 0
22452 14:44:04.330321 close(3)          = 0
22452 14:44:04.330397 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.330517 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.330613 time(NULL)        = 1400874244
22452 14:44:04.330693 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.330831 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.330967 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.331104 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.331242 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.331376 lstat("/home2/fritz218/public_html/forum/includes/cache.php", {st_dev=makedev(8, 33), st_ino=91762229, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9777, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.331523 open("/home2/fritz218/public_html/forum/includes/cache.php", O_RDONLY) = 3
22452 14:44:04.331618 fstat(3, {st_dev=makedev(8, 33), st_ino=91762229, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9777, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.331753 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.331823 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.331897 fstat(3, {st_dev=makedev(8, 33), st_ino=91762229, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9777, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.332039 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.332126 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.332214 open("/home2/fritz218/public_html/forum/includes/cache.php", O_RDONLY) = 4
22452 14:44:04.332319 fstat(4, {st_dev=makedev(8, 33), st_ino=91762229, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9777, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.332474 mmap(NULL, 9777, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.332570 munmap(0x7f35927b8000, 9777) = 0
22452 14:44:04.332659 close(4)          = 0
22452 14:44:04.332745 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.332834 read(3, "<?php\n/**\n*\n* @package acm\n* @version $Id: cache.php 9726 2009-07-07 12:59:30Z rxu $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Class for grabbing/handling cached entries, extends acm_file or acm_db depending on the setup\n* @package acm\n*/\nclass cache extends acm\n{\n\t/**\n\t* Get config values\n\t*/\n\tfunction obtain_config()\n\t{\n\t\tglobal $db;\n\n\t\tif (($config = $this->get('config')) !== false)\n\t\t{\n\t\t\t$sql = 'SELECT config_name, config_value\n\t\t\t\tFROM ' . CONFIG_TABLE . '\n\t\t\t\tWHERE is_dynamic = 1';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$config[$row['config_name']] = $row['config_value'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$config = $cached_config = array();\n\n\t\t\t$sql = 'SELECT config_name, config_value, is_dynamic\n\t\t\t\tFROM ' . CONFIG_TABLE;\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\tif (!$row['is_dynamic'])\n\t\t\t\t{\n\t\t\t\t\t$cached_config[$row['config_name']] = $row['config_value'];\n\t\t\t\t}\n\n\t\t\t\t$config[$row['config_name']] = $row['config_value'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('config', $cached_config);\n\t\t}\n\n\t\treturn $config;\n\t}\n\n\t/**\n\t* Obtain list of naughty words and build preg style replacement arrays for use by the\n\t* calling script\n\t*/\n\tfunction obtain_word_list()\n\t{\n\t\tglobal $db;\n\n\t\tif (($censors = $this->get('_word_censors')) === false)\n\t\t{\n\t\t\t$sql = 'SELECT word, replacement\n\t\t\t\tFROM ' . WORDS_TABLE;\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$censors = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\tif ((version_compare(PHP_VERSION, '5.1.0', '>=') || (version_compare(PHP_VERSION, '5.0.0-dev', '<=') && version_compare(PHP_VERSION, '4.4.0', '>='))) && @preg_match('/\\p{L}/u', 'a') !== false)\n\t\t\t\t{\n\t\t\t\t\t$censors['match'][] = '#(?<![\\p{Nd}\\p{L}_])(' . str_replace('\\*', '[\\p{Nd}\\p{L}_]*?', preg_quote($row['word'], '#')) . ')(?![\\p{Nd}\\p{L}_])#u';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$censors['match'][] = '#(?<!\\S)(' . str_replace('\\*', '\\S*?', preg_quote($row['word'], '#')) . ')(?!\\S)#iu';\n\t\t\t\t}\n\n\t\t\t\t$censors['replace'][] = $row['replacement'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_word_censors', $censors);\n\t\t}\n\n\t\treturn $censors;\n\t}\n\n\t/**\n\t* Obtain currently listed icons\n\t*/\n\tfunction obtain_icons()\n\t{\n\t\tif (($icons = $this->get('_icons')) === false)\n\t\t{\n\t\t\tglobal $db;\n\n\t\t\t// Topic icons\n\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . ICONS_TABLE . '\n\t\t\t\tORDER BY icons_order';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$icons = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$icons[$row['icons_id']]['img'] = $row['icons_url'];\n\t\t\t\t$icons[$row['icons_id']]['width'] = (int) $row['icons_width'];\n\t\t\t\t$icons[$row['icons_id']]['height'] = (int) $row['icons_height'];\n\t\t\t\t$icons[$row['icons_id']]['display'] = (bool) $row['display_on_posting'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_icons', $icons);\n\t\t}\n\n\t\treturn $icons;\n\t}\n\n\t/**\n\t* Obtain ranks\n\t*/\n\tfunction obtain_ranks()\n\t{\n\t\tif (($ranks = $this->get('_ranks')) === false)\n\t\t{\n\t\t\tglobal $db;\n\n\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . RANKS_TABLE . '\n\t\t\t\tORDER BY rank_min DESC';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$ranks = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\tif ($row['rank_special'])\n\t\t\t\t{\n\t\t\t\t\t$ranks['special'][$row['rank_id']] = array(\n\t\t\t\t\t\t'rank_title'\t=>\t$row['rank_title'],\n\t\t\t\t\t\t'rank_image'\t=>\t$row['rank_image']\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$ranks['normal'][] = array(\n\t\t\t\t\t\t'rank_title'\t=>\t$row['rank_title'],\n\t\t\t\t\t\t'rank_min'\t\t=>\t$row['rank_min'],\n\t\t\t\t\t\t'rank_image'\t=>\t$row['rank_image']\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_ranks', $ranks);\n\t\t}\n\n\t\treturn $ranks;\n\t}\n\n\t/**\n\t* Obtain allowed extensions\n\t*\n\t* @param mixed $forum_id If false then check for private messaging, if int then check for forum id. If true, then only return extension informations.\n\t*\n\t* @return array allowed extensions array.\n\t*/\n\tfunction obtain_attach_ext", 4096) = 4096
22452 14:44:04.333950 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.334032 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.334136 read(3, "ensions($forum_id)\n\t{\n\t\tif (($extensions = $this->get('_extensions')) === false)\n\t\t{\n\t\t\tglobal $db;\n\n\t\t\t$extensions = array(\n\t\t\t\t'_allowed_post'\t=> array(),\n\t\t\t\t'_allowed_pm'\t=> array(),\n\t\t\t);\n\n\t\t\t// The rule is to only allow those extensions defined. ;)\n\t\t\t$sql = 'SELECT e.extension, g.*\n\t\t\t\tFROM ' . EXTENSIONS_TABLE . ' e, ' . EXTENSION_GROUPS_TABLE . ' g\n\t\t\t\tWHERE e.group_id = g.group_id\n\t\t\t\t\tAND (g.allow_group = 1 OR g.allow_in_pm = 1)';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$extension = strtolower(trim($row['extension']));\n\n\t\t\t\t$extensions[$extension] = array(\n\t\t\t\t\t'display_cat'\t=> (int) $row['cat_id'],\n\t\t\t\t\t'download_mode'\t=> (int) $row['download_mode'],\n\t\t\t\t\t'upload_icon'\t=> trim($row['upload_icon']),\n\t\t\t\t\t'max_filesize'\t=> (int) $row['max_filesize'],\n\t\t\t\t\t'allow_group'\t=> $row['allow_group'],\n\t\t\t\t\t'allow_in_pm'\t=> $row['allow_in_pm'],\n\t\t\t\t);\n\n\t\t\t\t$allowed_forums = ($row['allowed_forums']) ? unserialize(trim($row['allowed_forums'])) : array();\n\n\t\t\t\t// Store allowed extensions forum wise\n\t\t\t\tif ($row['allow_group'])\n\t\t\t\t{\n\t\t\t\t\t$extensions['_allowed_post'][$extension] = (!sizeof($allowed_forums)) ? 0 : $allowed_forums;\n\t\t\t\t}\n\n\t\t\t\tif ($row['allow_in_pm'])\n\t\t\t\t{\n\t\t\t\t\t$extensions['_allowed_pm'][$extension] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_extensions', $extensions);\n\t\t}\n\n\t\t// Forum post\n\t\tif ($forum_id === false)\n\t\t{\n\t\t\t// We are checking for private messages, therefore we only need to get the pm extensions...\n\t\t\t$return = array('_allowed_' => array());\n\n\t\t\tforeach ($extensions['_allowed_pm'] as $extension => $check)\n\t\t\t{\n\t\t\t\t$return['_allowed_'][$extension] = 0;\n\t\t\t\t$return[$extension] = $extensions[$extension];\n\t\t\t}\n\n\t\t\t$extensions = $return;\n\t\t}\n\t\telse if ($forum_id === true)\n\t\t{\n\t\t\treturn $extensions;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$forum_id = (int) $forum_id;\n\t\t\t$return = array('_allowed_' => array());\n\n\t\t\tforeach ($extensions['_allowed_post'] as $extension => $check)\n\t\t\t{\n\t\t\t\t// Check for allowed forums\n\t\t\t\tif (is_array($check))\n\t\t\t\t{\n\t\t\t\t\t$allowed = (!in_array($forum_id, $check)) ? false : true;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$allowed = true;\n\t\t\t\t}\n\n\t\t\t\tif ($allowed)\n\t\t\t\t{\n\t\t\t\t\t$return['_allowed_'][$extension] = 0;\n\t\t\t\t\t$return[$extension] = $extensions[$extension];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$extensions = $return;\n\t\t}\n\n\t\tif (!isset($extensions['_allowed_']))\n\t\t{\n\t\t\t$extensions['_allowed_'] = array();\n\t\t}\n\n\t\treturn $extensions;\n\t}\n\n\t/**\n\t* Obtain active bots\n\t*/\n\tfunction obtain_bots()\n\t{\n\t\tif (($bots = $this->get('_bots')) === false)\n\t\t{\n\t\t\tglobal $db;\n\n\t\t\tswitch ($db->sql_layer)\n\t\t\t{\n\t\t\t\tcase 'mssql':\n\t\t\t\tcase 'mssql_odbc':\n\t\t\t\t\t$sql = 'SELECT user_id, bot_agent, bot_ip\n\t\t\t\t\t\tFROM ' . BOTS_TABLE . '\n\t\t\t\t\t\tWHERE bot_active = 1\n\t\t\t\t\tORDER BY LEN(bot_agent) DESC';\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'firebird':\n\t\t\t\t\t$sql = 'SELECT user_id, bot_agent, bot_ip\n\t\t\t\t\t\tFROM ' . BOTS_TABLE . '\n\t\t\t\t\t\tWHERE bot_active = 1\n\t\t\t\t\tORDER BY CHAR_LENGTH(bot_agent) DESC';\n\t\t\t\tbreak;\n\n\t\t\t\t// LENGTH supported by MySQL, IBM DB2 and Oracle for sure...\n\t\t\t\tdefault:\n\t\t\t\t\t$sql = 'SELECT user_id, bot_agent, bot_ip\n\t\t\t\t\t\tFROM ' . BOTS_TABLE . '\n\t\t\t\t\t\tWHERE bot_active = 1\n\t\t\t\t\tORDER BY LENGTH(bot_agent) DESC';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$bots = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$bots[] = $row;\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_bots', $bots);\n\t\t}\n\n\t\treturn $bots;\n\t}\n\n\t/**\n\t* Obtain cfg file data\n\t*/\n\tfunction obtain_cfg_items($theme)\n\t{\n\t\tglobal $config, $phpbb_root_path;\n\n\t\t$parsed_items = array(\n\t\t\t'theme'\t\t=> array(),\n\t\t\t'template'\t=> array(),\n\t\t\t'imageset'\t=> array()\n\t\t);\n\n\t\tforeach ($parsed_items as $key => $parsed_array)\n\t\t{\n\t\t\t$parsed_array = $this->get('_cfg_' . $key . '_' . $theme[$key . '_path']);\n\n\t\t\tif ($parsed_array === false)\n\t\t\t{\n\t\t\t\t$parsed_array = array();\n\t\t\t}\n\n\t\t\t$reparse = false;\n\t\t\t$filename = $phpbb_root_path . 'styles/' . $theme[$key . '_path'] . '/' . $key . '/' . $key . '.cfg';\n\n\t\t\tif (!file_exists($filename))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!isset($parsed_array['filetime']) || (($config['load_tplcom", 4096) = 4096
22452 14:44:04.336383 read(3, "pile'] && @filemtime($filename) > $parsed_array['filetime'])))\n\t\t\t{\n\t\t\t\t$reparse = true;\n\t\t\t}\n\n\t\t\t// Re-parse cfg file\n\t\t\tif ($reparse)\n\t\t\t{\n\t\t\t\t$parsed_array = parse_cfg_file($filename);\n\t\t\t\t$parsed_array['filetime'] = @filemtime($filename);\n\n\t\t\t\t$this->put('_cfg_' . $key . '_' . $theme[$key . '_path'], $parsed_array);\n\t\t\t}\n\t\t\t$parsed_items[$key] = $parsed_array;\n\t\t}\n\n\t\treturn $parsed_items;\n\t}\n\n\t/**\n\t* Obtain disallowed usernames\n\t*/\n\tfunction obtain_disallowed_usernames()\n\t{\n\t\tif (($usernames = $this->get('_disallowed_usernames')) === false)\n\t\t{\n\t\t\tglobal $db;\n\n\t\t\t$sql = 'SELECT disallow_username\n\t\t\t\tFROM ' . DISALLOW_TABLE;\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$usernames = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$usernames[] = str_replace('%', '.*?', preg_quote(utf8_clean_string($row['disallow_username']), '#'));\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$this->put('_disallowed_usernames', $usernames);\n\t\t}\n\n\t\treturn $usernames;\n\t}\n\n\t/**\n\t* Obtain hooks...\n\t*/\n\tfunction obtain_hooks()\n\t{\n\t\tglobal $phpbb_root_path, $phpEx;\n\n\t\tif (($hook_files = $this->get('_hooks')) === false)\n\t\t{\n\t\t\t$hook_files = array();\n\n\t\t\t// Now search for hooks...\n\t\t\t$dh = @opendir($phpbb_root_path . 'includes/hooks/');\n\n\t\t\tif ($dh)\n\t\t\t{\n\t\t\t\twhile (($file = readdir($dh)) !== false)\n\t\t\t\t{\n\t\t\t\t\tif (strpos($file, 'hook_') === 0 && substr($file, -(strlen($phpEx) + 1)) === '.' . $phpEx)\n\t\t\t\t\t{\n\t\t\t\t\t\t$hook_files[] = substr($file, 0, -(strlen($phpEx) + 1));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tclosedir($dh);\n\t\t\t}\n\n\t\t\t$this->put('_hooks', $hook_files);\n\t\t}\n\n\t\treturn $hook_files;\n\t}\n}\n\n?>", 8192) = 1585
22452 14:44:04.336905 read(3, "", 4096) = 0
22452 14:44:04.337019 brk(0x20c7000)    = 0x20c7000
22452 14:44:04.337612 read(3, "", 8192) = 0
22452 14:44:04.337741 close(3)          = 0
22452 14:44:04.337868 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.338016 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.338113 time(NULL)        = 1400874244
22452 14:44:04.338179 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.338321 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.344163 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.344337 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.345212 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.345336 lstat("/home2/fritz218/public_html/forum/includes/template.php", {st_dev=makedev(8, 33), st_ino=91762246, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=18328, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.345472 open("/home2/fritz218/public_html/forum/includes/template.php", O_RDONLY) = 3
22452 14:44:04.349175 fstat(3, {st_dev=makedev(8, 33), st_ino=91762246, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=18328, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.349344 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.349409 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.349480 fstat(3, {st_dev=makedev(8, 33), st_ino=91762246, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=18328, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.349596 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.349673 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.349743 open("/home2/fritz218/public_html/forum/includes/template.php", O_RDONLY) = 4
22452 14:44:04.349832 fstat(4, {st_dev=makedev(8, 33), st_ino=91762246, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=18328, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.349945 mmap(NULL, 18328, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.350028 munmap(0x7f35927b8000, 18328) = 0
22452 14:44:04.350100 close(4)          = 0
22452 14:44:04.350168 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.350237 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: template.php 10217 2009-10-09 11:12:37Z acydburn $\n* @copyright (c) 2005 phpBB Group, sections (c) 2001 ispi of Lincoln Inc\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Base Template class.\n* @package phpBB3\n*/\nclass template\n{\n\t/** variable that holds all the data we'll be substituting into\n\t* the compiled templates. Takes form:\n\t* --> $this->_tpldata[block][iteration#][child][iteration#][child2][iteration#][variablename] == value\n\t* if it's a root-level variable, it'll be like this:\n\t* --> $this->_tpldata[.][0][varname] == value\n\t*/\n\tvar $_tpldata = array('.' => array(0 => array()));\n\tvar $_rootref;\n\n\t// Root dir and hash of filenames for each template handle.\n\tvar $root = '';\n\tvar $cachepath = '';\n\tvar $files = array();\n\tvar $filename = array();\n\tvar $files_inherit = array();\n\tvar $files_template = array();\n\tvar $inherit_root = '';\n\tvar $orig_tpl_storedb;\n\tvar $orig_tpl_inherits_id;\n\n\t// this will hash handle names to the compiled/uncompiled code for that handle.\n\tvar $compiled_code = array();\n\n\t/**\n\t* Set template location\n\t* @access public\n\t*/\n\tfunction set_template()\n\t{\n\t\tglobal $phpbb_root_path, $user;\n\n\t\tif (file_exists($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template'))\n\t\t{\n\t\t\t$this->root = $phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template';\n\t\t\t$this->cachepath = $phpbb_root_path . 'cache/tpl_' . str_replace('_', '-', $user->theme['template_path']) . '_';\n\n\t\t\tif ($this->orig_tpl_storedb === null)\n\t\t\t{\n\t\t\t\t$this->orig_tpl_storedb = $user->theme['template_storedb'];\n\t\t\t}\n\n\t\t\tif ($this->orig_tpl_inherits_id === null)\n\t\t\t{\n\t\t\t\t$this->orig_tpl_inherits_id = $user->theme['template_inherits_id'];\n\t\t\t}\n\n\t\t\t$user->theme['template_storedb'] = $this->orig_tpl_storedb;\n\t\t\t$user->theme['template_inherits_id'] = $this->orig_tpl_inherits_id;\n\n\t\t\tif ($user->theme['template_inherits_id'])\n\t\t\t{\n\t\t\t\t$this->inherit_root = $phpbb_root_path . 'styles/' . $user->theme['template_inherit_path'] . '/template';\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttrigger_error('Template path could not be found: styles/' . $user->theme['template_path'] . '/template', E_USER_ERROR);\n\t\t}\n\n\t\t$this->_rootref = &$this->_tpldata['.'][0];\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Set custom template location (able to use directory outside of phpBB)\n\t* @access public\n\t*/\n\tfunction set_custom_template($template_path, $template_name, $template_mode = 'template')\n\t{\n\t\tglobal $phpbb_root_path, $user;\n\n\t\t// Make sure $template_path has no ending slash\n\t\tif (substr($template_path, -1) == '/')\n\t\t{\n\t\t\t$template_path = substr($template_path, 0, -1);\n\t\t}\n\n\t\t$this->root = $template_path;\n\t\t$this->cachepath = $phpbb_root_path . 'cache/ctpl_' . str_replace('_', '-', $template_name) . '_';\n\n\t\t// As the template-engine is used for more than the template (emails, etc.), we should not set $user->theme in all cases, but only on the real template.\n\t\tif ($template_mode == 'template')\n\t\t{\n\t\t\t$user->theme['template_storedb'] = false;\n\t\t\t$user->theme['template_inherits_id'] = false;\n\t\t}\n\n\t\t$this->_rootref = &$this->_tpldata['.'][0];\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Sets the template filenames for handles. $filename_array\n\t* should be a hash of handle => filename pairs.\n\t* @access public\n\t*/\n\tfunction set_filenames($filename_array)\n\t{\n\t\tif (!is_array($filename_array))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tforeach ($filename_array as $handle => $filename)\n\t\t{\n\t\t\tif (empty($filename))\n\t\t\t{\n\t\t\t\ttrigger_error(\"template->set_filenames: Empty filename specified for $handle\", E_USER_ERROR);\n\t\t\t}\n\n\t\t\t$this->filename[$handle] = $filename;\n\t\t\t$this->files[$handle] = $this->root . '/' . $filename;\n\n\t\t\tif ($this->inherit_root)\n\t\t\t{\n\t\t\t\t$this->files_inherit[$handle] = $this->inherit_root . '/' . $filename;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Destroy template data set\n\t* @access public\n\t*/\n\tfunction destroy()\n\t{\n\t\t$this->_tpldata = array('.' => array(0 => array()));\n\t\t$this->_rootref = &$this->_tpldata['.'][0];\n\t}\n\n\t/**\n\t* Reset/empty complete block\n\t*", 4096) = 4096
22452 14:44:04.351111 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.357178 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.357294 read(3, " @access public\n\t*/\n\tfunction destroy_block_vars($blockname)\n\t{\n\t\tif (strpos($blockname, '.') !== false)\n\t\t{\n\t\t\t// Nested block.\n\t\t\t$blocks = explode('.', $blockname);\n\t\t\t$blockcount = sizeof($blocks) - 1;\n\n\t\t\t$str = &$this->_tpldata;\n\t\t\tfor ($i = 0; $i < $blockcount; $i++)\n\t\t\t{\n\t\t\t\t$str = &$str[$blocks[$i]];\n\t\t\t\t$str = &$str[sizeof($str) - 1];\n\t\t\t}\n\n\t\t\tunset($str[$blocks[$blockcount]]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Top-level block.\n\t\t\tunset($this->_tpldata[$blockname]);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Display handle\n\t* @access public\n\t*/\n\tfunction display($handle, $include_once = true)\n\t{\n\t\tglobal $user, $phpbb_hook;\n\n\t\tif (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $include_once))\n\t\t{\n\t\t\tif ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__)))\n\t\t\t{\n\t\t\t\treturn $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__));\n\t\t\t}\n\t\t}\n\n\t\tif (defined('IN_ERROR_HANDLER'))\n\t\t{\n\t\t\tif ((E_NOTICE & error_reporting()) == E_NOTICE)\n\t\t\t{\n\t\t\t\terror_reporting(error_reporting() ^ E_NOTICE);\n\t\t\t}\n\t\t}\n\n\t\tif ($filename = $this->_tpl_load($handle))\n\t\t{\n\t\t\t($include_once) ? include_once($filename) : include($filename);\n\t\t}\n\t\telse\n\t\t{\n\t\t\teval(' ?>' . $this->compiled_code[$handle] . '<?php ');\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Display the handle and assign the output to a template variable or return the compiled result.\n\t* @access public\n\t*/\n\tfunction assign_display($handle, $template_var = '', $return_content = true, $include_once = false)\n\t{\n\t\tob_start();\n\t\t$this->display($handle, $include_once);\n\t\t$contents = ob_get_clean();\n\n\t\tif ($return_content)\n\t\t{\n\t\t\treturn $contents;\n\t\t}\n\n\t\t$this->assign_var($template_var, $contents);\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Load a compiled template if possible, if not, recompile it\n\t* @access private\n\t*/\n\tfunction _tpl_load(&$handle)\n\t{\n\t\tglobal $user, $phpEx, $config;\n\n\t\tif (!isset($this->filename[$handle]))\n\t\t{\n\t\t\ttrigger_error(\"template->_tpl_load(): No file specified for handle $handle\", E_USER_ERROR);\n\t\t}\n\n\t\t$filename = $this->cachepath . str_replace('/', '.', $this->filename[$handle]) . '.' . $phpEx;\n\t\t$this->files_template[$handle] = (isset($user->theme['template_id'])) ? $user->theme['template_id'] : 0;\n\n\t\t$recompile = false;\n\t\tif (!file_exists($filename) || @filesize($filename) === 0)\n\t\t{\n\t\t\t$recompile = true;\n\t\t}\n\t\telse if ($config['load_tplcompile'])\n\t\t{\n\t\t\t// No way around it: we need to check inheritance here\n\t\t\tif ($user->theme['template_inherits_id'] && !file_exists($this->files[$handle]))\n\t\t\t{\n\t\t\t\t$this->files[$handle] = $this->files_inherit[$handle];\n\t\t\t\t$this->files_template[$handle] = $user->theme['template_inherits_id'];\n\t\t\t}\n\t\t\t$recompile = (@filemtime($filename) < filemtime($this->files[$handle])) ? true : false;\n\t\t}\n\n\t\t// Recompile page if the original template is newer, otherwise load the compiled version\n\t\tif (!$recompile)\n\t\t{\n\t\t\treturn $filename;\n\t\t}\n\n\t\tglobal $db, $phpbb_root_path;\n\n\t\tif (!class_exists('template_compile'))\n\t\t{\n\t\t\tinclude($phpbb_root_path . 'includes/functions_template.' . $phpEx);\n\t\t}\n\n\t\t// Inheritance - we point to another template file for this one. Equality is also used for store_db\n\t\tif (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'] && !file_exists($this->files[$handle]))\n\t\t{\n\t\t\t$this->files[$handle] = $this->files_inherit[$handle];\n\t\t\t$this->files_template[$handle] = $user->theme['template_inherits_id'];\n\t\t}\n\n\t\t$compile = new template_compile($this);\n\n\t\t// If we don't have a file assigned to this handle, die.\n\t\tif (!isset($this->files[$handle]))\n\t\t{\n\t\t\ttrigger_error(\"template->_tpl_load(): No file specified for handle $handle\", E_USER_ERROR);\n\t\t}\n\n\t\t// Just compile if no user object is present (happens within the installer)\n\t\tif (!$user)\n\t\t{\n\t\t\t$compile->_tpl_load_file($handle);\n\t\t\treturn false;\n\t\t}\n\n\t\tif (isset($user->theme['template_storedb']) && $user->theme['template_storedb'])\n\t\t{\n\t\t\t$rows = array();\n\t\t\t$ids = array();\n\t\t\t// Inheritance\n\t\t\tif (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'])\n\t\t\t{\n\t\t\t\t$ids[] = $user->theme['template_inherits_id'];", 4096) = 4096
22452 14:44:04.359829 read(3, "\n\t\t\t}\n\t\t\t$ids[] = $user->theme['template_id'];\n\n\t\t\tforeach ($ids as $id)\n\t\t\t{\n\t\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . STYLES_TEMPLATE_DATA_TABLE . '\n\t\t\t\tWHERE template_id = ' . $id . \"\n\t\t\t\t\tAND (template_filename = '\" . $db->sql_escape($this->filename[$handle]) . \"'\n\t\t\t\t\t\tOR template_included \" . $db->sql_like_expression($db->any_char . $this->filename[$handle] . ':' . $db->any_char) . ')';\n\n\t\t\t\t$result = $db->sql_query($sql);\n\t\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t\t{\n\t\t\t\t\t$rows[$row['template_filename']] = $row;\n\t\t\t\t}\n\t\t\t\t$db->sql_freeresult($result);\n\t\t\t}\n\n\t\t\tif (sizeof($rows))\n\t\t\t{\n\t\t\t\tforeach ($rows as $row)\n\t\t\t\t{\n\t\t\t\t\t$file = $this->root . '/' . $row['template_filename'];\n\t\t\t\t\t$force_reload = false;\n\t\t\t\t\tif ($row['template_id'] != $user->theme['template_id'])\n\t\t\t\t\t{\n\t\t\t\t\t\t// make sure that we are not overlooking a file not in the db yet\n\t\t\t\t\t\tif (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'] && !file_exists($file))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$file = $this->inherit_root . '/' . $row['template_filename'];\n\t\t\t\t\t\t\t$this->files[$row['template_filename']] = $file;\n\t\t\t\t\t\t\t$this->files_inherit[$row['template_filename']] = $file;\n\t\t\t\t\t\t\t$this->files_template[$row['template_filename']] = $user->theme['template_inherits_id'];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// Ok, we have a situation. There is a file in the subtemplate, but nothing in the DB. We have to fix that.\n\t\t\t\t\t\t\t$force_reload = true;\n\t\t\t\t\t\t\t$this->files_template[$row['template_filename']] = $user->theme['template_inherits_id'];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->files_template[$row['template_filename']] = $user->theme['template_id'];\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($force_reload || $row['template_mtime'] < filemtime($file))\n\t\t\t\t\t{\n\t\t\t\t\t\tif ($row['template_filename'] == $this->filename[$handle])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$compile->_tpl_load_file($handle, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this->files[$row['template_filename']] = $file;\n\t\t\t\t\t\t\t$this->filename[$row['template_filename']] = $row['template_filename'];\n\t\t\t\t\t\t\t$compile->_tpl_load_file($row['template_filename'], true);\n\t\t\t\t\t\t\tunset($this->compiled_code[$row['template_filename']]);\n\t\t\t\t\t\t\tunset($this->files[$row['template_filename']]);\n\t\t\t\t\t\t\tunset($this->filename[$row['template_filename']]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($row['template_filename'] == $this->filename[$handle])\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->compiled_code[$handle] = $compile->compile(trim($row['template_data']));\n\t\t\t\t\t\t$compile->compile_write($handle, $this->compiled_code[$handle]);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// Only bother compiling if it doesn't already exist\n\t\t\t\t\t\tif (!file_exists($this->cachepath . str_replace('/', '.', $row['template_filename']) . '.' . $phpEx))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this->filename[$row['template_filename']] = $row['template_filename'];\n\t\t\t\t\t\t\t$compile->compile_write($row['template_filename'], $compile->compile(trim($row['template_data'])));\n\t\t\t\t\t\t\tunset($this->filename[$row['template_filename']]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$file = $this->root . '/' . $row['template_filename'];\n\n\t\t\t\tif (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id'] && !file_exists($file))\n\t\t\t\t{\n\t\t\t\t\t$file = $this->inherit_root . '/' . $row['template_filename'];\n\t\t\t\t\t$this->files[$row['template_filename']] = $file;\n\t\t\t\t\t$this->files_inherit[$row['template_filename']] = $file;\n\t\t\t\t\t$this->files_template[$row['template_filename']] = $user->theme['template_inherits_id'];\n\t\t\t\t}\n\t\t\t\t// Try to load from filesystem and instruct to insert into the styles table...\n\t\t\t\t$compile->_tpl_load_file($handle, true);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\t$compile->_tpl_load_file($handle);\n\t\treturn false;\n\t}\n\n\t/**\n\t* Assign key variable pairs from an array\n\t* @access public\n\t*/\n\tfunction assign_vars($vararray)\n\t{\n\t\tforeach ($vararray as $key => $val)\n\t\t{\n\t\t\t$this->_rootref[$key] = $val;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Assign a single variable to a single key\n\t* @access public\n\t*/\n\tfunction assign_var($varname, $varval)\n\t{\n\t\t$this->_rootref[$varname] = $varval;\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Assign key variable pairs from an array to a specified block\n\t* @access public\n\t*/\n\tfunction assign_block_vars($blockname, $vararray)\n\t{\n\t\tif (strpos($blockname, '.') !== false)\n\t\t{\n\t\t\t// Nested block.\n\t\t\t$blocks = explode('.', $blockname);\n\t\t\t$blockcount = sizeof($blocks) - 1;\n\n\t\t\t$str = &$this->_tpldata;\n\t\t\tfor ($i = 0; $i < $blockcount; $i++)\n\t\t\t{\n\t\t\t\t$str = &$str[$blocks[$i]];\n\t\t\t\t$str = &$str[sizeof($str) - 1];\n\t\t\t}\n\n\t\t\t$s_row_count = isset($str[$blocks[$blockcount]]) ? sizeof($str[$blocks[$blockcount]]) : 0;\n\t\t\t$vararray['S_ROW_COUNT'] = $s_row_count;\n\n\t\t\t// Assign S_FIRST_ROW\n\t\t\tif (!$s_row_count)\n\t\t\t{\n\t\t\t\t$vararray['S_FIRST_ROW'] = true;\n\t\t\t}\n\n\t\t\t// Now the tricky part, we always assign S_LAST_ROW and remove the entry before\n\t\t\t// This is much more clever than going through the complete template data on display (phew)\n\t\t\t$vararray['S_LAST_ROW'] = true;\n\t\t\tif ($s_row_count > 0)\n\t\t\t{\n\t\t\t\tunset($str[$blocks[$blockcount]][($s_row_count - 1)]['S_LAST_ROW']);\n\t\t\t}\n\n\t\t\t// Now we add the block that we're actually assigning to.\n\t\t\t// We're adding a new iteration to this block with the given\n\t\t\t// variable assignments.\n\t\t\t$str[$blocks[$blockcount]][] = $vararray;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Top-level block.\n\t\t\t$s_row_count = (isset($this->_tpldata[$blockname])) ? sizeof($this->_tpldata[$blockname]) : 0;\n\t\t\t$vararray['S_ROW_COUNT'] = $s_row_count;\n\n\t\t\t// Assign S_FIRST_ROW\n\t\t\tif (!$s_row_count)\n\t\t\t{\n\t\t\t\t$vararray['S_FIRST_ROW'] = true;\n\t\t\t}\n\n\t\t\t// We always assign S_LAST_ROW and remove the entry before\n\t\t\t$vararray['S_LAST_ROW'] = true;\n\t\t\tif ($s_row_count > 0)\n\t\t\t{\n\t\t\t\tunset($this->_tpldata[$blockname][($s_row_count - 1)]['S_LAST_ROW']);\n\t\t\t}\n\n\t\t\t// Add a new iteration to this block with the variable assignments we were given.\n\t\t\t$this->_tpldata[$blockname][] = $vararray;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Change already assigned key variable pair (one-dimensional - single loop entry)\n\t*\n\t* An example of how to use this function:\n\t* {@example alter_block_array.php}\n\t*\n\t* @param\tstring\t$blockname\tthe blockname, for example 'loop'\n\t* @param\tarray\t$vararray\tthe var array to insert/add or merge\n\t* @param\tmixed\t$key\t\tKey to search for\n\t*\n\t* array: KEY => VALUE [the key/value pair to search for within the loop to determine the correct position]\n\t*\n\t* int: Position [the position to change or insert at directly given]\n\t*\n\t* If key is false the position is set to 0\n\t* If key is true the position is set to the last entry\n\t*\n\t* @param\tstring\t$mode\t\tMode to execute (valid modes are 'insert' and 'change')\n\t*\n\t*\tIf insert, the vararray is inserted at the given position (position counting from zero).\n\t*\tIf change, the current block gets merged with the vararray (resulting in new key/value pairs be added and existing keys be replaced by the new value).\n\t*\n\t* Since counting begins by zero, inserting at the last position will result in this array: array(vararray, last positioned array)\n\t* and inserting at position 1 will result in this array: array(first positioned array, vararray, following vars)\n\t*\n\t* @return bool false on error, true on success\n\t* @access public\n\t*/\n\tfunction alter_block_array($blockname, $vararray, $key = false, $mode = 'insert')\n\t{\n\t\tif (strpos($blockname, '.') !== false)\n\t\t{\n\t\t\t// Nested blocks are not supported\n\t\t\treturn false;\n\t\t}\n\n\t\t// Change key to zero (change first position) if false and to last position if true\n\t\tif ($key === false || $key === true)\n\t\t{\n\t\t\t$key = ($key === false) ? 0 : sizeof($this->_tpldata[$blockname]);\n\t\t}\n\n\t\t// Get correct position if array given\n\t\tif (is_array($key))\n\t\t{\n\t\t\t// Search array to get correct position\n\t\t\tlist($search_key, $search_value) = @each($key);\n\n\t\t\t$key = NULL;\n\t\t\tforeach ($this->_tpldata[$blockname] as $i => $val_ary)\n\t\t\t{\n\t\t\t\tif ($val_ary[$search_key] === $search_value)\n\t\t\t\t{\n\t\t\t\t\t$key = $i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// key/value pair not found\n\t\t\tif ($key === NULL)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Insert Bloc"..., 8192) = 8192
22452 14:44:04.362567 read(3, "= sizeof($this->_tpldata[$blockname]))\n\t\t\t{\n\t\t\t\t$key = sizeof($this->_tpldata[$blockname]);\n\t\t\t\tunset($this->_tpldata[$blockname][($key - 1)]['S_LAST_ROW']);\n\t\t\t\t$vararray['S_LAST_ROW'] = true;\n\t\t\t}\n\t\t\telse if ($key === 0)\n\t\t\t{\n\t\t\t\tunset($this->_tpldata[$blockname][0]['S_FIRST_ROW']);\n\t\t\t\t$vararray['S_FIRST_ROW'] = true;\n\t\t\t}\n\n\t\t\t// Re-position template blocks\n\t\t\tfor ($i = sizeof($this->_tpldata[$blockname]); $i > $key; $i--)\n\t\t\t{\n\t\t\t\t$this->_tpldata[$blockname][$i] = $this->_tpldata[$blockname][$i-1];\n\t\t\t\t$this->_tpldata[$blockname][$i]['S_ROW_COUNT'] = $i;\n\t\t\t}\n\n\t\t\t// Insert vararray at given position\n\t\t\t$vararray['S_ROW_COUNT'] = $key;\n\t\t\t$this->_tpldata[$blockname][$key] = $vararray;\n\n\t\t\treturn true;\n\t\t}\n\n\t\t// Which block to change?\n\t\tif ($mode == 'change')\n\t\t{\n\t\t\tif ($key == sizeof($this->_tpldata[$blockname]))\n\t\t\t{\n\t\t\t\t$key--;\n\t\t\t}\n\n\t\t\t$this->_tpldata[$blockname][$key] = array_merge($this->_tpldata[$blockname][$key], $vararray);\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Include a separate template\n\t* @access private\n\t*/\n\tfunction _tpl_include($filename, $include = true)\n\t{\n\t\t$handle = $filename;\n\t\t$this->filename[$handle] = $filename;\n\t\t$this->files[$handle] = $this->root . '/' . $filename;\n\t\tif ($this->inherit_root)\n\t\t{\n\t\t\t$this->files_inherit[$handle] = $this->inherit_root . '/' . $filename;\n\t\t}\n\n\t\t$filename = $this->_tpl_load($handle);\n\n\t\tif ($include)\n\t\t{\n\t\t\tglobal $user;\n\n\t\t\tif ($filename)\n\t\t\t{\n\t\t\t\tinclude($filename);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\teval(' ?>' . $this->compiled_code[$handle] . '<?php ');\n\t\t}\n\t}\n\n\t/**\n\t* Include a php-file\n\t* @access private\n\t*/\n\tfunction _php_include($filename)\n\t{\n\t\tglobal $phpbb_root_path;\n\n\t\t$file = $phpbb_root_path . $filename;\n\n\t\tif (!file_exists($file))\n\t\t{\n\t\t\t// trigger_error cannot be used here, as the output already started\n\t\t\techo 'template->_php_include(): File ' . htmlspecialchars($file) . ' does not exist or is empty';\n\t\t\treturn;\n\t\t}\n\t\tinclude($file);\n\t}\n}\n\n?>", 8192) = 1944
22452 14:44:04.363009 read(3, "", 4096) = 0
22452 14:44:04.363480 read(3, "", 8192) = 0
22452 14:44:04.363565 close(3)          = 0
22452 14:44:04.363628 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.363733 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.363812 time(NULL)        = 1400874244
22452 14:44:04.363871 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.363989 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.364102 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.364230 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.364345 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.364464 lstat("/home2/fritz218/public_html/forum/includes/session.php", {st_dev=makedev(8, 33), st_ino=91762244, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=152, st_size=75093, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-13:16:50, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.364591 open("/home2/fritz218/public_html/forum/includes/session.php", O_RDONLY) = 3
22452 14:44:04.364678 fstat(3, {st_dev=makedev(8, 33), st_ino=91762244, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=152, st_size=75093, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-13:16:50, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.364789 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.364852 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.364915 fstat(3, {st_dev=makedev(8, 33), st_ino=91762244, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=152, st_size=75093, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-13:16:50, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.365030 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.365102 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.365173 open("/home2/fritz218/public_html/forum/includes/session.php", O_RDONLY) = 4
22452 14:44:04.365255 fstat(4, {st_dev=makedev(8, 33), st_ino=91762244, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=152, st_size=75093, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-13:16:50, st_ctime=2014/04/09-14:46:14}) = 0
22452 14:44:04.365369 mmap(NULL, 75093, PROT_READ, MAP_SHARED, 4, 0) = 0x7f3592788000
22452 14:44:04.365450 munmap(0x7f3592788000, 75093) = 0
22452 14:44:04.365520 close(4)          = 0
22452 14:44:04.365584 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.365653 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: session.php 10178 2009-09-22 15:09:09Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Session class\n* @package phpBB3\n*/\nclass session\n{\n\tvar $cookie_data = array();\n\tvar $page = array();\n\tvar $data = array();\n\tvar $browser = '';\n\tvar $forwarded_for = '';\n\tvar $host = '';\n\tvar $session_id = '';\n\tvar $ip = '';\n\tvar $load = 0;\n\tvar $time_now = 0;\n\tvar $update_session_page = true;\n\n\t/**\n\t* Extract current session page\n\t*\n\t* @param string $root_path current root path (phpbb_root_path)\n\t*/\n\tfunction extract_current_page($root_path)\n\t{\n\t\t$page_array = array();\n\n\t\t// First of all, get the request uri...\n\t\t$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');\n\t\t$args = (!empty($_SERVER['QUERY_STRING'])) ? explode('&', $_SERVER['QUERY_STRING']) : explode('&', getenv('QUERY_STRING'));\n\n\t\t// If we are unable to get the script name we use REQUEST_URI as a failover and note it within the page array for easier support...\n\t\tif (!$script_name)\n\t\t{\n\t\t\t$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');\n\t\t\t$script_name = (($pos = strpos($script_name, '?')) !== false) ? substr($script_name, 0, $pos) : $script_name;\n\t\t\t$page_array['failover'] = 1;\n\t\t}\n\n\t\t// Replace backslashes and doubled slashes (could happen on some proxy setups)\n\t\t$script_name = str_replace(array('\\\\', '//'), '/', $script_name);\n\n\t\t// Now, remove the sid and let us get a clean query string...\n\t\t$use_args = array();\n\n\t\t// Since some browser do not encode correctly we need to do this with some \"special\" characters...\n\t\t// \" -> %22, ' => %27, < -> %3C, > -> %3E\n\t\t$find = array('\"', \"'\", '<', '>');\n\t\t$replace = array('%22', '%27', '%3C', '%3E');\n\n\t\tforeach ($args as $key => $argument)\n\t\t{\n\t\t\tif (strpos($argument, 'sid=') === 0)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$use_args[] = str_replace($find, $replace, $argument);\n\t\t}\n\t\tunset($args);\n\n\t\t// The following examples given are for an request uri of {path to the phpbb directory}/adm/index.php?i=10&b=2\n\n\t\t// The current query string\n\t\t$query_string = trim(implode('&', $use_args));\n\n\t\t// basenamed page name (for example: index.php)\n\t\t$page_name = basename($script_name);\n\t\t$page_name = urlencode(htmlspecialchars($page_name));\n\n\t\t// current directory within the phpBB root (for example: adm)\n\t\t$root_dirs = explode('/', str_replace('\\\\', '/', phpbb_realpath($root_path)));\n\t\t$page_dirs = explode('/', str_replace('\\\\', '/', phpbb_realpath('./')));\n\t\t$intersection = array_intersect_assoc($root_dirs, $page_dirs);\n\n\t\t$root_dirs = array_diff_assoc($root_dirs, $intersection);\n\t\t$page_dirs = array_diff_assoc($page_dirs, $intersection);\n\n\t\t$page_dir = str_repeat('../', sizeof($root_dirs)) . implode('/', $page_dirs);\n\n\t\tif ($page_dir && substr($page_dir, -1, 1) == '/')\n\t\t{\n\t\t\t$page_dir = substr($page_dir, 0, -1);\n\t\t}\n\n\t\t// Current page from phpBB root (for example: adm/index.php?i=10&b=2)\n\t\t$page = (($page_dir) ? $page_dir . '/' : '') . $page_name . (($query_string) ? \"?$query_string\" : '');\n\n\t\t// The script path from the webroot to the current directory (for example: /phpBB3/adm/) : always prefixed with / and ends in /\n\t\t$script_path = trim(str_replace('\\\\', '/', dirname($script_name)));\n\n\t\t// The script path from the webroot to the phpBB root (for example: /phpBB3/)\n\t\t$script_dirs = explode('/', $script_path);\n\t\tarray_splice($script_dirs, -sizeof($page_dirs));\n\t\t$root_script_path = implode('/', $script_dirs) . (sizeof($root_dirs) ? '/' . implode('/', $root_dirs) : '');\n\n\t\t// We are on the base level (phpBB root == webroot), lets adjust the variables a bit...\n\t\tif (!$root_script_path)\n\t\t{\n\t\t\t$root_script_path = ($page_dir) ? str_replace($page_dir, '', $script_path) : $script_path;\n\t\t}\n\n\t\t$script_path .= (substr($script_path, -1, 1) == '/') ? '' : '/';\n\t\t$root_script_path .= (substr($root_script_path, -1, 1) == '/') ? '' : '/';\n\n\t\t$page_array += array(\n\t\t\t'page_name'\t\t\t=> $page_name,", 4096) = 4096
22452 14:44:04.366541 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.366609 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.366696 read(3, "\n\t\t\t'page_dir'\t\t\t=> $page_dir,\n\n\t\t\t'query_string'\t\t=> $query_string,\n\t\t\t'script_path'\t\t=> str_replace(' ', '%20', htmlspecialchars($script_path)),\n\t\t\t'root_script_path'\t=> str_replace(' ', '%20', htmlspecialchars($root_script_path)),\n\n\t\t\t'page'\t\t\t\t=> $page,\n\t\t\t'forum'\t\t\t\t=> (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0,\n\t\t);\n\n\t\treturn $page_array;\n\t}\n\n\t/**\n\t* Get valid hostname/port. HTTP_HOST is used, SERVER_NAME if HTTP_HOST not present.\n\t*/\n\tfunction extract_current_hostname()\n\t{\n\t\tglobal $config;\n\n\t\t// Get hostname\n\t\t$host = (!empty($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : ((!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME'));\n\n\t\t// Should be a string and lowered\n\t\t$host = (string) strtolower($host);\n\n\t\t// If host is equal the cookie domain or the server name (if config is set), then we assume it is valid\n\t\tif ((isset($config['cookie_domain']) && $host === $config['cookie_domain']) || (isset($config['server_name']) && $host === $config['server_name']))\n\t\t{\n\t\t\treturn $host;\n\t\t}\n\n\t\t// Is the host actually a IP? If so, we use the IP... (IPv4)\n\t\tif (long2ip(ip2long($host)) === $host)\n\t\t{\n\t\t\treturn $host;\n\t\t}\n\n\t\t// Now return the hostname (this also removes any port definition). The http:// is prepended to construct a valid URL, hosts never have a scheme assigned\n\t\t$host = @parse_url('http://' . $host);\n\t\t$host = (!empty($host['host'])) ? $host['host'] : '';\n\n\t\t// Remove any portions not removed by parse_url (#)\n\t\t$host = str_replace('#', '', $host);\n\n\t\t// If, by any means, the host is now empty, we will use a \"best approach\" way to guess one\n\t\tif (empty($host))\n\t\t{\n\t\t\tif (!empty($config['server_name']))\n\t\t\t{\n\t\t\t\t$host = $config['server_name'];\n\t\t\t}\n\t\t\telse if (!empty($config['cookie_domain']))\n\t\t\t{\n\t\t\t\t$host = (strpos($config['cookie_domain'], '.') === 0) ? substr($config['cookie_domain'], 1) : $config['cookie_domain'];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Set to OS hostname or localhost\n\t\t\t\t$host = (function_exists('php_uname')) ? php_uname('n') : 'localhost';\n\t\t\t}\n\t\t}\n\n\t\t// It may be still no valid host, but for sure only a hostname (we may further expand on the cookie domain... if set)\n\t\treturn $host;\n\t}\n\n\t/**\n\t* Start session management\n\t*\n\t* This is where all session activity begins. We gather various pieces of\n\t* information from the client and server. We test to see if a session already\n\t* exists. If it does, fine and dandy. If it doesn't we'll go on to create a\n\t* new one ... pretty logical heh? We also examine the system load (if we're\n\t* running on a system which makes such information readily available) and\n\t* halt if it's above an admin definable limit.\n\t*\n\t* @param bool $update_session_page if true the session page gets updated.\n\t*\t\t\tThis can be set to circumvent certain scripts to update the users last visited page.\n\t*/\n\tfunction session_begin($update_session_page = true)\n\t{\n\t\tglobal $phpEx, $SID, $_SID, $_EXTRA_URL, $db, $config, $phpbb_root_path;\n\n\t\t// Give us some basic information\n\t\t$this->time_now\t\t\t\t= time();\n\t\t$this->cookie_data\t\t\t= array('u' => 0, 'k' => '');\n\t\t$this->update_session_page\t= $update_session_page;\n\t\t$this->browser\t\t\t\t= (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : '';\n\t\t$this->referer\t\t\t\t= (!empty($_SERVER['HTTP_REFERER'])) ? htmlspecialchars((string) $_SERVER['HTTP_REFERER']) : '';\n\t\t$this->forwarded_for\t\t= (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? htmlspecialchars((string) $_SERVER['HTTP_X_FORWARDED_FOR']) : '';\n\n\t\t$this->host\t\t\t\t\t= $this->extract_current_hostname();\n\t\t$this->page\t\t\t\t\t= $this->extract_current_page($phpbb_root_path);\n\n\t\t// if the forwarded for header shall be checked we have to validate its contents\n\t\tif ($config['forwarded_for_check'])\n\t\t{\n\t\t\t$this->forwarded_for = preg_replace('#[ ]{2,}#', ' ', str_replace(array(',', ' '), ' ', $this->forwarded_for));\n\n\t\t\t// split the list of IPs\n\t\t\t$ips = explode(' ', $this->forwarded_for);\n\t\t\tforeach ($ips as $ip)\n\t\t\t{\n\t\t\t\t// check IPv4 first, the IPv6 is hopefully only going to be used very seldomly\n\t\t\t\tif (!empty($ip) &&", 4096) = 4096
22452 14:44:04.368134 brk(0x2107000)    = 0x2107000
22452 14:44:04.368897 read(3, " !preg_match(get_preg_expression('ipv4'), $ip) && !preg_match(get_preg_expression('ipv6'), $ip))\n\t\t\t\t{\n\t\t\t\t\t// contains invalid data, don't use the forwarded for header\n\t\t\t\t\t$this->forwarded_for = '';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->forwarded_for = '';\n\t\t}\n\n\t\tif (isset($_COOKIE[$config['cookie_name'] . '_sid']) || isset($_COOKIE[$config['cookie_name'] . '_u']))\n\t\t{\n\t\t\t$this->cookie_data['u'] = request_var($config['cookie_name'] . '_u', 0, false, true);\n\t\t\t$this->cookie_data['k'] = request_var($config['cookie_name'] . '_k', '', false, true);\n\t\t\t$this->session_id \t\t= request_var($config['cookie_name'] . '_sid', '', false, true);\n\n\t\t\t$SID = (defined('NEED_SID')) ? '?sid=' . $this->session_id : '?sid=';\n\t\t\t$_SID = (defined('NEED_SID')) ? $this->session_id : '';\n\n\t\t\tif (empty($this->session_id))\n\t\t\t{\n\t\t\t\t$this->session_id = $_SID = request_var('sid', '');\n\t\t\t\t$SID = '?sid=' . $this->session_id;\n\t\t\t\t$this->cookie_data = array('u' => 0, 'k' => '');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->session_id = $_SID = request_var('sid', '');\n\t\t\t$SID = '?sid=' . $this->session_id;\n\t\t}\n\n\t\t$_EXTRA_URL = array();\n\n\t\t// Why no forwarded_for et al? Well, too easily spoofed. With the results of my recent requests\n\t\t// it's pretty clear that in the majority of cases you'll at least be left with a proxy/cache ip.\n\t\t//$this->ip = (!empty($_SERVER['REMOTE_ADDR'])) ? htmlspecialchars((string) $_SERVER['REMOTE_ADDR']) : '';\n        $this->ip = (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) ? htmlspecialchars((string) $_SERVER['HTTP_CF_CONNECTING_IP']) : '';\n\t\t$this->ip = preg_replace('#[ ]{2,}#', ' ', str_replace(array(',', ' '), ' ', $this->ip));\n\n\t\t// split the list of IPs\n\t\t$ips = explode(' ', $this->ip);\n\n\t\t// Default IP if REMOTE_ADDR is invalid\n\t\t$this->ip = '127.0.0.1';\n\n\t\tforeach ($ips as $ip)\n\t\t{\n\t\t\t// check IPv4 first, the IPv6 is hopefully only going to be used very seldomly\n\t\t\tif (!empty($ip) && !preg_match(get_preg_expression('ipv4'), $ip) && !preg_match(get_preg_expression('ipv6'), $ip))\n\t\t\t{\n\t\t\t\t// Just break\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Use the last in chain\n\t\t\t$this->ip = $ip;\n\t\t}\n\n\t\t$this->load = false;\n\n\t\t// Load limit check (if applicable)\n\t\tif ($config['limit_load'] || $config['limit_search_load'])\n\t\t{\n\t\t\tif ((function_exists('sys_getloadavg') && $load = sys_getloadavg()) || ($load = explode(' ', @file_get_contents('/proc/loadavg'))))\n\t\t\t{\n\t\t\t\t$this->load = array_slice($load, 0, 1);\n\t\t\t\t$this->load = floatval($this->load[0]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tset_config('limit_load', '0');\n\t\t\t\tset_config('limit_search_load', '0');\n\t\t\t}\n\t\t}\n\n\t\t// Is session_id is set or session_id is set and matches the url param if required\n\t\tif (!empty($this->session_id) && (!defined('NEED_SID') || (isset($_GET['sid']) && $this->session_id === $_GET['sid'])))\n\t\t{\n\t\t\t$sql = 'SELECT u.*, s.*\n\t\t\t\tFROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . \" u\n\t\t\t\tWHERE s.session_id = '\" . $db->sql_escape($this->session_id) . \"'\n\t\t\t\t\tAND u.user_id = s.session_user_id\";\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$this->data = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t// Did the session exist in the DB?\n\t\t\tif (isset($this->data['user_id']))\n\t\t\t{\n\t\t\t\t// Validate IP length according to admin ... enforces an IP\n\t\t\t\t// check on bots if admin requires this\n//\t\t\t\t$quadcheck = ($config['ip_check_bot'] && $this->data['user_type'] & USER_BOT) ? 4 : $config['ip_check'];\n\n\t\t\t\tif (strpos($this->ip, ':') !== false && strpos($this->data['session_ip'], ':') !== false)\n\t\t\t\t{\n\t\t\t\t\t$s_ip = short_ipv6($this->data['session_ip'], $config['ip_check']);\n\t\t\t\t\t$u_ip = short_ipv6($this->ip, $config['ip_check']);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$s_ip = implode('.', array_slice(explode('.', $this->data['session_ip']), 0, $config['ip_check']));\n\t\t\t\t\t$u_ip = implode('.', array_slice(explode('.', $this->ip), 0, $config['ip_check']));\n\t\t\t\t}\n\n\t\t\t\t$s_browser = ($config['browser_check']) ? trim(strtolower(substr($this->data['session_browser'], 0, 149))) : '';\n\t\t\t\t$u_browser = ($config['browser_check']) ? trim(strtolower(substr($this->browser, 0, 149))) : '';\n\n\t\t\t\t$s_forwarded_for = ($config['forwarded_for_check']) ? substr($this->data['session_forwarded_for'], 0, 254) : '';\n\t\t\t\t$u_forwarded_for = ($config['forwarded_for_check']) ? substr($this->forwarded_for, 0, 254) : '';\n\n\t\t\t\t// referer checks\n\t\t\t\t// The @ before $config['referer_validation'] suppresses notices present while running the updater\n\t\t\t\t$check_referer_path = (@$config['referer_validation'] == REFERER_VALIDATE_PATH);\n\t\t\t\t$referer_valid = true;\n\n\t\t\t\t// we assume HEAD and TRACE to be foul play and thus only whitelist GET\n\t\t\t\tif (@$config['referer_validation'] && isset($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) !== 'get')\n\t\t\t\t{\n\t\t\t\t\t$referer_valid = $this->validate_referer($check_referer_path);\n\t\t\t\t}\n\n\t\t\t\tif ($u_ip === $s_ip && $s_browser === $u_browser && $s_forwarded_for === $u_forwarded_for && $referer_valid)\n\t\t\t\t{\n\t\t\t\t\t$session_expired = false;\n\n\t\t\t\t\t// Check whether the session is still valid if we have one\n\t\t\t\t\t$method = basename(trim($config['auth_method']));\n\t\t\t\t\tinclude_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);\n\n\t\t\t\t\t$method = 'validate_session_' . $method;\n\t\t\t\t\tif (function_exists($method))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!$method($this->data))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$session_expired = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!$session_expired)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Check the session length timeframe if autologin is not enabled.\n\t\t\t\t\t\t// Else check the autologin length... and also removing those having autologin enabled but no longer allowed board-wide.\n\t\t\t\t\t\tif (!$this->data['session_autologin'])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif ($this->data['session_time'] < $this->time_now - ($config['session_length'] + 60))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$session_expired = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (!$config['allow_autologin'] || ($config['max_autologin_time'] && $this->data['session_time'] < $this->time_now - (86400 * (int) $config['max_autologin_time']) + 60))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$session_expired = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!$session_expired)\n\t\t\t\t\t{\n\t\t\t\t\t\t// Only update session DB a minute or so after last update or if page changes\n\t\t\t\t\t\tif ($this->time_now - $this->data['session_time'] > 60 || ($this->update_session_page && $this->data['session_page'] != $this->page['page']))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$sql_ary = array('session_time' => $this->time_now);\n\n\t\t\t\t\t\t\tif ($this->update_session_page)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$sql_ary['session_page'] = substr($this->page['page'], 0, 199);\n\t\t\t\t\t\t\t\t$sql_ary['session_forum_id'] = $this->page['forum'];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$db->sql_return_on_error(true);\n\n\t\t\t\t\t\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . \"\n\t\t\t\t\t\t\t\tWHERE session_id = '\" . $db->sql_escape($this->session_id) . \"'\";\n\t\t\t\t\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t\t\t\t\t$db->sql_return_on_error(false);\n\n\t\t\t\t\t\t\t// If the database is not yet updated, there will be an error due to the session_forum_id\n\t\t\t\t\t\t\t// @todo REMOVE for 3.0.2\n\t\t\t\t\t\t\tif ($result === false)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset($sql_ary['session_forum_id']);\n\n\t\t\t\t\t\t\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . \"\n\t\t\t\t\t\t\t\t\tWHERE session_id = '\" . $db->sql_escape($this->session_id) . \"'\";\n\t\t\t\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ($this->data['user_id'] != ANONYMOUS && !empty($config['new_member_post_limit']) && $this->data['user_new'] && $config['new_member_post_limit'] <= $this->data['user_posts'])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$this->leave_newly_registered();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$this->data['is_registered'] = ($this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;\n\t\t\t\t\t\t$this->data['is_bot'] = (!$this->data['is_registered'] && $this->data['user_id'] != ANONYMOUS) ? true : false;\n\t\t\t\t\t\t$this->data['user_lang'] = basename($this->data['user_lang']);\n\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// Added logging temporarly to help debug bugs...\n\t\t\t\t\tif (defined('DEBUG_EXTRA') && $this->data['user_id'] != ANONYMOUS)\n\t\t\t\t\t{\n\t\t\t\t\t\tif ($referer_valid)\n\t\t\t\t\t\t{"..., 8192) = 8192
22452 14:44:04.371889 read(3, "htmlspecialchars($u_forwarded_for), htmlspecialchars($s_forwarded_for));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tadd_log('critical', 'LOG_REFERER_INVALID', $this->referer);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we reach here then no (valid) session exists. So we'll create a new one\n\t\treturn $this->session_create();\n\t}\n\n\t/**\n\t* Create a new session\n\t*\n\t* If upon trying to start a session we discover there is nothing existing we\n\t* jump here. Additionally this method is called directly during login to regenerate\n\t* the session for the specific user. In this method we carry out a number of tasks;\n\t* garbage collection, (search)bot checking, banned user comparison. Basically\n\t* though this method will result in a new session for a specific user.\n\t*/\n\tfunction session_create($user_id = false, $set_admin = false, $persist_login = false, $viewonline = true)\n\t{\n\t\tglobal $SID, $_SID, $db, $config, $cache, $phpbb_root_path, $phpEx;\n\n\t\t$this->data = array();\n\n\t\t/* Garbage collection ... remove old sessions updating user information\n\t\t// if necessary. It means (potentially) 11 queries but only infrequently\n\t\tif ($this->time_now > $config['session_last_gc'] + $config['session_gc'])\n\t\t{\n\t\t\t$this->session_gc();\n\t\t}*/\n\n\t\t// Do we allow autologin on this board? No? Then override anything\n\t\t// that may be requested here\n\t\tif (!$config['allow_autologin'])\n\t\t{\n\t\t\t$this->cookie_data['k'] = $persist_login = false;\n\t\t}\n\n\t\t/**\n\t\t* Here we do a bot check, oh er saucy! No, not that kind of bot\n\t\t* check. We loop through the list of bots defined by the admin and\n\t\t* see if we have any useragent and/or IP matches. If we do, this is a\n\t\t* bot, act accordingly\n\t\t*/\n\t\t$bot = false;\n\t\t$active_bots = $cache->obtain_bots();\n\n\t\tforeach ($active_bots as $row)\n\t\t{\n\t\t\tif ($row['bot_agent'] && preg_match('#' . str_replace('\\*', '.*?', preg_quote($row['bot_agent'], '#')) . '#i', $this->browser))\n\t\t\t{\n\t\t\t\t$bot = $row['user_id'];\n\t\t\t}\n\n\t\t\t// If ip is supplied, we will make sure the ip is matching too...\n\t\t\tif ($row['bot_ip'] && ($bot || !$row['bot_agent']))\n\t\t\t{\n\t\t\t\t// Set bot to false, then we only have to set it to true if it is matching\n\t\t\t\t$bot = false;\n\n\t\t\t\tforeach (explode(',', $row['bot_ip']) as $bot_ip)\n\t\t\t\t{\n\t\t\t\t\t$bot_ip = trim($bot_ip);\n\n\t\t\t\t\tif (!$bot_ip)\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (strpos($this->ip, $bot_ip) === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t$bot = (int) $row['user_id'];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($bot)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t$method = basename(trim($config['auth_method']));\n\t\tinclude_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);\n\n\t\t$method = 'autologin_' . $method;\n\t\tif (function_exists($method))\n\t\t{\n\t\t\t$this->data = $method();\n\n\t\t\tif (sizeof($this->data))\n\t\t\t{\n\t\t\t\t$this->cookie_data['k'] = '';\n\t\t\t\t$this->cookie_data['u'] = $this->data['user_id'];\n\t\t\t}\n\t\t}\n\n\t\t// If we're presented with an autologin key we'll join against it.\n\t\t// Else if we've been passed a user_id we'll grab data based on that\n\t\tif (isset($this->cookie_data['k']) && $this->cookie_data['k'] && $this->cookie_data['u'] && !sizeof($this->data))\n\t\t{\n\t\t\t$sql = 'SELECT u.*\n\t\t\t\tFROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k\n\t\t\t\tWHERE u.user_id = ' . (int) $this->cookie_data['u'] . '\n\t\t\t\t\tAND u.user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . \")\n\t\t\t\t\tAND k.user_id = u.user_id\n\t\t\t\t\tAND k.key_id = '\" . $db->sql_escape(md5($this->cookie_data['k'])) . \"'\";\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$this->data = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t\t$bot = false;\n\t\t}\n\t\telse if ($user_id !== false && !sizeof($this->data))\n\t\t{\n\t\t\t$this->cookie_data['k'] = '';\n\t\t\t$this->cookie_data['u'] = $user_id;\n\n\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . USERS_TABLE . '\n\t\t\t\tWHERE user_id = ' . (int) $this->cookie_data['u'] . '\n\t\t\t\t\tAND user_type IN (' . USER_NORMAL . ', ' . USER_FOUNDER . ')';\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$this->data = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t\t$bot = false;\n\t\t}\n\n\t\t// If no data was returned one or more of the following occurred:\n\t\t// Key didn't match one in the DB\n\t\t// User does not exist\n\t\t// User is inactive\n\t\t// User is bot\n\t\tif (!sizeof($this->data) || !is_array($this->data))\n\t\t{\n\t\t\t$this->cookie_data['k'] = '';\n\t\t\t$this->cookie_data['u'] = ($bot) ? $bot : ANONYMOUS;\n\n\t\t\tif (!$bot)\n\t\t\t{\n\t\t\t\t$sql = 'SELECT *\n\t\t\t\t\tFROM ' . USERS_TABLE . '\n\t\t\t\t\tWHERE user_id = ' . (int) $this->cookie_data['u'];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// We give bots always the same session if it is not yet expired.\n\t\t\t\t$sql = 'SELECT u.*, s.*\n\t\t\t\t\tFROM ' . USERS_TABLE . ' u\n\t\t\t\t\tLEFT JOIN ' . SESSIONS_TABLE . ' s ON (s.session_user_id = u.user_id)\n\t\t\t\t\tWHERE u.user_id = ' . (int) $bot;\n\t\t\t}\n\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$this->data = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\tif ($this->data['user_id'] != ANONYMOUS && !$bot)\n\t\t{\n\t\t\t$this->data['session_last_visit'] = (isset($this->data['session_time']) && $this->data['session_time']) ? $this->data['session_time'] : (($this->data['user_lastvisit']) ? $this->data['user_lastvisit'] : time());\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->data['session_last_visit'] = $this->time_now;\n\t\t}\n\n\t\t// Force user id to be integer...\n\t\t$this->data['user_id'] = (int) $this->data['user_id'];\n\n\t\t// At this stage we should have a filled data array, defined cookie u and k data.\n\t\t// data array should contain recent session info if we're a real user and a recent\n\t\t// session exists in which case session_id will also be set\n\n\t\t// Is user banned? Are they excluded? Won't return on ban, exists within method\n\t\tif ($this->data['user_type'] != USER_FOUNDER)\n\t\t{\n\t\t\tif (!$config['forwarded_for_check'])\n\t\t\t{\n\t\t\t\t$this->check_ban($this->data['user_id'], $this->ip);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$ips = explode(' ', $this->forwarded_for);\n\t\t\t\t$ips[] = $this->ip;\n\t\t\t\t$this->check_ban($this->data['user_id'], $ips);\n\t\t\t}\n\t\t}\n\n\t\t$this->data['is_registered'] = (!$bot && $this->data['user_id'] != ANONYMOUS && ($this->data['user_type'] == USER_NORMAL || $this->data['user_type'] == USER_FOUNDER)) ? true : false;\n\t\t$this->data['is_bot'] = ($bot) ? true : false;\n\n\t\t// If our friend is a bot, we re-assign a previously assigned session\n\t\tif ($this->data['is_bot'] && $bot == $this->data['user_id'] && $this->data['session_id'])\n\t\t{\n\t\t\t// Only assign the current session if the ip, browser and forwarded_for match...\n\t\t\tif (strpos($this->ip, ':') !== false && strpos($this->data['session_ip'], ':') !== false)\n\t\t\t{\n\t\t\t\t$s_ip = short_ipv6($this->data['session_ip'], $config['ip_check']);\n\t\t\t\t$u_ip = short_ipv6($this->ip, $config['ip_check']);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$s_ip = implode('.', array_slice(explode('.', $this->data['session_ip']), 0, $config['ip_check']));\n\t\t\t\t$u_ip = implode('.', array_slice(explode('.', $this->ip), 0, $config['ip_check']));\n\t\t\t}\n\n\t\t\t$s_browser = ($config['browser_check']) ? trim(strtolower(substr($this->data['session_browser'], 0, 149))) : '';\n\t\t\t$u_browser = ($config['browser_check']) ? trim(strtolower(substr($this->browser, 0, 149))) : '';\n\n\t\t\t$s_forwarded_for = ($config['forwarded_for_check']) ? substr($this->data['session_forwarded_for'], 0, 254) : '';\n\t\t\t$u_forwarded_for = ($config['forwarded_for_check']) ? substr($this->forwarded_for, 0, 254) : '';\n\n\t\t\tif ($u_ip === $s_ip && $s_browser === $u_browser && $s_forwarded_for === $u_forwarded_for)\n\t\t\t{\n\t\t\t\t$this->session_id = $this->data['session_id'];\n\n\t\t\t\t// Only update session DB a minute or so after last update or if page changes\n\t\t\t\tif ($this->time_now - $this->data['session_time'] > 60 || ($this->update_session_page && $this->data['session_page'] != $this->page['page']))\n\t\t\t\t{\n\t\t\t\t\t$this->data['session_time'] = $this->data['session_last_visit'] = $this->time_now;\n\n\t\t\t\t\t$sql_ary = array('session_time' => $this->time_now, 'session_last_visit' => $this->time_now, 'session_admin' => 0);\n\n\t\t\t\t\tif ($this->update_session_page)\n\t\t\t\t\t{\n\t\t\t\t\t\t$sql_ary['session_page'] = substr($this->page['page'], 0, 199);\n\t\t\t\t\t\t$sql_ary['session_forum_id'] = $this->page['forum'];\n\t\t\t\t\t}\n\n\t\t\t\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary)"..., 8192) = 8192
22452 14:44:04.381890 read(3, "l);\n\n\t\t\t\t\t// Update the last visit time\n\t\t\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\t\t\tSET user_lastvisit = ' . (int) $this->data['session_time'] . '\n\t\t\t\t\t\tWHERE user_id = ' . (int) $this->data['user_id'];\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t}\n\n\t\t\t\t$SID = '?sid=';\n\t\t\t\t$_SID = '';\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// If the ip and browser does not match make sure we only have one bot assigned to one session\n\t\t\t\t$db->sql_query('DELETE FROM ' . SESSIONS_TABLE . ' WHERE session_user_id = ' . $this->data['user_id']);\n\t\t\t}\n\t\t}\n\n\t\t$session_autologin = (($this->cookie_data['k'] || $persist_login) && $this->data['is_registered']) ? true : false;\n\t\t$set_admin = ($set_admin && $this->data['is_registered']) ? true : false;\n\n\t\t// Create or update the session\n\t\t$sql_ary = array(\n\t\t\t'session_user_id'\t\t=> (int) $this->data['user_id'],\n\t\t\t'session_start'\t\t\t=> (int) $this->time_now,\n\t\t\t'session_last_visit'\t=> (int) $this->data['session_last_visit'],\n\t\t\t'session_time'\t\t\t=> (int) $this->time_now,\n\t\t\t'session_browser'\t\t=> (string) trim(substr($this->browser, 0, 149)),\n\t\t\t'session_forwarded_for'\t=> (string) $this->forwarded_for,\n\t\t\t'session_ip'\t\t\t=> (string) $this->ip,\n\t\t\t'session_autologin'\t\t=> ($session_autologin) ? 1 : 0,\n\t\t\t'session_admin'\t\t\t=> ($set_admin) ? 1 : 0,\n\t\t\t'session_viewonline'\t=> ($viewonline) ? 1 : 0,\n\t\t);\n\n\t\tif ($this->update_session_page)\n\t\t{\n\t\t\t$sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);\n\t\t\t$sql_ary['session_forum_id'] = $this->page['forum'];\n\t\t}\n\n\t\t$db->sql_return_on_error(true);\n\n\t\t$sql = 'DELETE\n\t\t\tFROM ' . SESSIONS_TABLE . '\n\t\t\tWHERE session_id = \\'' . $db->sql_escape($this->session_id) . '\\'\n\t\t\t\tAND session_user_id = ' . ANONYMOUS;\n\n\t\tif (!defined('IN_ERROR_HANDLER') && (!$this->session_id || !$db->sql_query($sql) || !$db->sql_affectedrows()))\n\t\t{\n\t\t\t// Limit new sessions in 1 minute period (if required)\n\t\t\tif (empty($this->data['session_time']) && $config['active_sessions'])\n\t\t\t{\n//\t\t\t\t$db->sql_return_on_error(false);\n\n\t\t\t\t$sql = 'SELECT COUNT(session_id) AS sessions\n\t\t\t\t\tFROM ' . SESSIONS_TABLE . '\n\t\t\t\t\tWHERE session_time >= ' . ($this->time_now - 60);\n\t\t\t\t$result = $db->sql_query($sql);\n\t\t\t\t$row = $db->sql_fetchrow($result);\n\t\t\t\t$db->sql_freeresult($result);\n\n\t\t\t\tif ((int) $row['sessions'] > (int) $config['active_sessions'])\n\t\t\t\t{\n\t\t\t\t\theader('HTTP/1.1 503 Service Unavailable');\n\t\t\t\t\ttrigger_error('BOARD_UNAVAILABLE');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Since we re-create the session id here, the inserted row must be unique. Therefore, we display potential errors.\n\t\t// Commented out because it will not allow forums to update correctly\n//\t\t$db->sql_return_on_error(false);\n\n\t\t// Something quite important: session_page always holds the *last* page visited, except for the *first* visit.\n\t\t// We are not able to simply have an empty session_page btw, therefore we need to tell phpBB how to detect this special case.\n\t\t// If the session id is empty, we have a completely new one and will set an \"identifier\" here. This identifier is able to be checked later.\n\t\tif (empty($this->data['session_id']))\n\t\t{\n\t\t\t// This is a temporary variable, only set for the very first visit\n\t\t\t$this->data['session_created'] = true;\n\t\t}\n\n\t\t$this->session_id = $this->data['session_id'] = md5(unique_id());\n\n\t\t$sql_ary['session_id'] = (string) $this->session_id;\n\t\t$sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);\n\t\t$sql_ary['session_forum_id'] = $this->page['forum'];\n\n\t\t$sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);\n\t\t$db->sql_query($sql);\n\n\t\t$db->sql_return_on_error(false);\n\n\t\t// Regenerate autologin/persistent login key\n\t\tif ($session_autologin)\n\t\t{\n\t\t\t$this->set_login_key();\n\t\t}\n\n\t\t// refresh data\n\t\t$SID = '?sid=' . $this->session_id;\n\t\t$_SID = $this->session_id;\n\t\t$this->data = array_merge($this->data, $sql_ary);\n\n\t\tif (!$bot)\n\t\t{\n\t\t\t$cookie_expire = $this->time_now + (($config['max_autologin_time']) ? 86400 * (int) $config['max_autologin_time'] : 31536000);\n\n\t\t\t$this->set_cookie('u', $this->cookie_data['u'], $cookie_expire);\n\t\t\t$this->set_cookie('k', $this->cookie_data['k'], $cookie_expire);\n\t\t\t$this->set_cookie('sid', $this->session_id, $cookie_expire);\n\n\t\t\tunset($cookie_expire);\n\n\t\t\t$sql = 'SELECT COUNT(session_id) AS sessions\n\t\t\t\t\tFROM ' . SESSIONS_TABLE . '\n\t\t\t\t\tWHERE session_user_id = ' . (int) $this->data['user_id'] . '\n\t\t\t\t\tAND session_time >= ' . (int) ($this->time_now - (max($config['session_length'], $config['form_token_lifetime'])));\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$row = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\tif ((int) $row['sessions'] <= 1 || empty($this->data['user_form_salt']))\n\t\t\t{\n\t\t\t\t$this->data['user_form_salt'] = unique_id();\n\t\t\t\t// Update the form key\n\t\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\t\tSET user_form_salt = \\'' . $db->sql_escape($this->data['user_form_salt']) . '\\'\n\t\t\t\t\tWHERE user_id = ' . (int) $this->data['user_id'];\n\t\t\t\t$db->sql_query($sql);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->data['session_time'] = $this->data['session_last_visit'] = $this->time_now;\n\n\t\t\t// Update the last visit time\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\tSET user_lastvisit = ' . (int) $this->data['session_time'] . '\n\t\t\t\tWHERE user_id = ' . (int) $this->data['user_id'];\n\t\t\t$db->sql_query($sql);\n\n\t\t\t$SID = '?sid=';\n\t\t\t$_SID = '';\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Kills a session\n\t*\n\t* This method does what it says on the tin. It will delete a pre-existing session.\n\t* It resets cookie information (destroying any autologin key within that cookie data)\n\t* and update the users information from the relevant session data. It will then\n\t* grab guest user information.\n\t*/\n\tfunction session_kill($new_session = true)\n\t{\n\t\tglobal $SID, $_SID, $db, $config, $phpbb_root_path, $phpEx;\n\n\t\t$sql = 'DELETE FROM ' . SESSIONS_TABLE . \"\n\t\t\tWHERE session_id = '\" . $db->sql_escape($this->session_id) . \"'\n\t\t\t\tAND session_user_id = \" . (int) $this->data['user_id'];\n\t\t$db->sql_query($sql);\n\n\t\t// Allow connecting logout with external auth method logout\n\t\t$method = basename(trim($config['auth_method']));\n\t\tinclude_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);\n\n\t\t$method = 'logout_' . $method;\n\t\tif (function_exists($method))\n\t\t{\n\t\t\t$method($this->data, $new_session);\n\t\t}\n\n\t\tif ($this->data['user_id'] != ANONYMOUS)\n\t\t{\n\t\t\t// Delete existing session, update last visit info first!\n\t\t\tif (!isset($this->data['session_time']))\n\t\t\t{\n\t\t\t\t$this->data['session_time'] = time();\n\t\t\t}\n\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\tSET user_lastvisit = ' . (int) $this->data['session_time'] . '\n\t\t\t\tWHERE user_id = ' . (int) $this->data['user_id'];\n\t\t\t$db->sql_query($sql);\n\n\t\t\tif ($this->cookie_data['k'])\n\t\t\t{\n\t\t\t\t$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '\n\t\t\t\t\tWHERE user_id = ' . (int) $this->data['user_id'] . \"\n\t\t\t\t\t\tAND key_id = '\" . $db->sql_escape(md5($this->cookie_data['k'])) . \"'\";\n\t\t\t\t$db->sql_query($sql);\n\t\t\t}\n\n\t\t\t// Reset the data array\n\t\t\t$this->data = array();\n\n\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . USERS_TABLE . '\n\t\t\t\tWHERE user_id = ' . ANONYMOUS;\n\t\t\t$result = $db->sql_query($sql);\n\t\t\t$this->data = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\t$cookie_expire = $this->time_now - 31536000;\n\t\t$this->set_cookie('u', '', $cookie_expire);\n\t\t$this->set_cookie('k', '', $cookie_expire);\n\t\t$this->set_cookie('sid', '', $cookie_expire);\n\t\tunset($cookie_expire);\n\n\t\t$SID = '?sid=';\n\t\t$this->session_id = $_SID = '';\n\n\t\t// To make sure a valid session is created we create one for the anonymous user\n\t\tif ($new_session)\n\t\t{\n\t\t\t$this->session_create(ANONYMOUS);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Session garbage collection\n\t*\n\t* This looks a lot more complex than it really is. Effectively we are\n\t* deleting any sessions older than an admin definable limit. Due to the\n\t* way in which we maintain session data we have to ensure we update user\n\t* data before those sessions are destroyed. In addition this method\n\t* removes autologin key information that is older than an admin defined\n\t* limit.\n\t*/\n\tfunction session_gc()\n\t{\n\t\tglobal $db, $config, $phpbb_root_path, $phpEx;\n\n\t\t"..., 8192) = 8192
22452 14:44:04.384695 read(3, "e guest sessions\n\t\t$sql = 'DELETE FROM ' . SESSIONS_TABLE . '\n\t\t\tWHERE session_user_id = ' . ANONYMOUS . '\n\t\t\t\tAND session_time < ' . (int) ($this->time_now - $config['session_length']);\n\t\t$db->sql_query($sql);\n\n\t\t// Get expired sessions, only most recent for each user\n\t\t$sql = 'SELECT session_user_id, session_page, MAX(session_time) AS recent_time\n\t\t\tFROM ' . SESSIONS_TABLE . '\n\t\t\tWHERE session_time < ' . ($this->time_now - $config['session_length']) . '\n\t\t\tGROUP BY session_user_id, session_page';\n\t\t$result = $db->sql_query_limit($sql, $batch_size);\n\n\t\t$del_user_id = array();\n\t\t$del_sessions = 0;\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\tSET user_lastvisit = ' . (int) $row['recent_time'] . \", user_lastpage = '\" . $db->sql_escape($row['session_page']) . \"'\n\t\t\t\tWHERE user_id = \" . (int) $row['session_user_id'];\n\t\t\t$db->sql_query($sql);\n\n\t\t\t$del_user_id[] = (int) $row['session_user_id'];\n\t\t\t$del_sessions++;\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\tif (sizeof($del_user_id))\n\t\t{\n\t\t\t// Delete expired sessions\n\t\t\t$sql = 'DELETE FROM ' . SESSIONS_TABLE . '\n\t\t\t\tWHERE ' . $db->sql_in_set('session_user_id', $del_user_id) . '\n\t\t\t\t\tAND session_time < ' . ($this->time_now - $config['session_length']);\n\t\t\t$db->sql_query($sql);\n\t\t}\n\n\t\tif ($del_sessions < $batch_size)\n\t\t{\n\t\t\t// Less than 10 users, update gc timer ... else we want gc\n\t\t\t// called again to delete other sessions\n\t\t\tset_config('session_last_gc', $this->time_now, true);\n\n\t\t\tif ($config['max_autologin_time'])\n\t\t\t{\n\t\t\t\t$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '\n\t\t\t\t\tWHERE last_login < ' . (time() - (86400 * (int) $config['max_autologin_time']));\n\t\t\t\t$db->sql_query($sql);\n\t\t}\n\n\t\t\t// only called from CRON; should be a safe workaround until the infrastructure gets going\n\t\t\tif (!class_exists('captcha_factory'))\n\t{\n\t\t\t\tinclude($phpbb_root_path . \"includes/captcha/captcha_factory.\" . $phpEx);\n\t\t\t}\n\t\t\tphpbb_captcha_factory::garbage_collect($config['captcha_plugin']);\n\t\t\t}\n\n\t\treturn;\n\t\t\t}\n\n\t/**\n\t* Sets a cookie\n\t*\n\t* Sets a cookie of the given name with the specified data for the given length of time. If no time is specified, a session cookie will be set.\n\t*\n\t* @param string $name\t\tName of the cookie, will be automatically prefixed with the phpBB cookie name. track becomes [cookie_name]_track then.\n\t* @param string $cookiedata\tThe data to hold within the cookie\n\t* @param int $cookietime\tThe expiration time as UNIX timestamp. If 0 is provided, a session cookie is set.\n\t*/\n\tfunction set_cookie($name, $cookiedata, $cookietime)\n\t{\n\t\tglobal $config;\n\n\t\t$name_data = rawurlencode($config['cookie_name'] . '_' . $name) . '=' . rawurlencode($cookiedata);\n\t\t$expire = gmdate('D, d-M-Y H:i:s \\\\G\\\\M\\\\T', $cookietime);\n\t\t$domain = (!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain'];\n\n\t\theader('Set-Cookie: ' . $name_data . (($cookietime) ? '; expires=' . $expire : '') . '; path=' . $config['cookie_path'] . $domain . ((!$config['cookie_secure']) ? '' : '; secure') . '; HttpOnly', false);\n\t}\n\n\t/**\n\t* Check for banned user\n\t*\n\t* Checks whether the supplied user is banned by id, ip or email. If no parameters\n\t* are passed to the method pre-existing session data is used. If $return is false\n\t* this routine does not return on finding a banned user, it outputs a relevant\n\t* message and stops execution.\n\t*\n\t* @param string|array\t$user_ips\tCan contain a string with one IP or an array of multiple IPs\n\t*/\n\tfunction check_ban($user_id = false, $user_ips = false, $user_email = false, $return = false)\n\t{\n\t\tglobal $config, $db;\n\n\t\tif (defined('IN_CHECK_BAN'))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t$banned = false;\n\t\t$cache_ttl = 3600;\n\t\t$where_sql = array();\n\n\t\t$sql = 'SELECT ban_ip, ban_userid, ban_email, ban_exclude, ban_give_reason, ban_end\n\t\t\tFROM ' . BANLIST_TABLE . '\n\t\t\tWHERE ';\n\n\t\t// Determine which entries to check, only return those\n\t\tif ($user_email === false)\n\t\t{\n\t\t\t$where_sql[] = \"ban_email = ''\";\n\t\t}\n\n\t\tif ($user_ips === false)\n\t\t{\n\t\t\t$where_sql[] = \"(ban_ip = '' OR ban_exclude = 1)\";\n\t\t}\n\n\t\tif ($user_id === false)\n\t\t{\n\t\t\t$where_sql[] = '(ban_userid = 0 OR ban_exclude = 1)';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$cache_ttl = ($user_id == ANONYMOUS) ? 3600 : 0;\n\t\t\t$_sql = '(ban_userid = ' . $user_id;\n\n\t\t\tif ($user_email !== false)\n\t\t\t{\n\t\t\t\t$_sql .= \" OR ban_email <> ''\";\n\t\t\t}\n\n\t\t\tif ($user_ips !== false)\n\t\t\t{\n\t\t\t\t$_sql .= \" OR ban_ip <> ''\";\n\t\t\t}\n\n\t\t\t$_sql .= ')';\n\n\t\t\t$where_sql[] = $_sql;\n\t\t}\n\n\t\t$sql .= (sizeof($where_sql)) ? implode(' AND ', $where_sql) : '';\n\t\t$result = $db->sql_query($sql, $cache_ttl);\n\n\t\t$ban_triggered_by = 'user';\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\tif ($row['ban_end'] && $row['ban_end'] < time())\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$ip_banned = false;\n\t\t\tif (!empty($row['ban_ip']))\n\t\t\t{\n\t\t\t\tif (!is_array($user_ips))\n\t\t\t\t{\n\t\t\t\t\t$ip_banned = preg_match('#^' . str_replace('\\*', '.*?', preg_quote($row['ban_ip'], '#')) . '$#i', $user_ips);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tforeach ($user_ips as $user_ip)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (preg_match('#^' . str_replace('\\*', '.*?', preg_quote($row['ban_ip'], '#')) . '$#i', $user_ip))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$ip_banned = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ((!empty($row['ban_userid']) && intval($row['ban_userid']) == $user_id) ||\n\t\t\t\t$ip_banned ||\n\t\t\t\t(!empty($row['ban_email']) && preg_match('#^' . str_replace('\\*', '.*?', preg_quote($row['ban_email'], '#')) . '$#i', $user_email)))\n\t\t\t{\n\t\t\t\tif (!empty($row['ban_exclude']))\n\t\t\t\t{\n\t\t\t\t\t$banned = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$banned = true;\n\t\t\t\t\t$ban_row = $row;\n\n\t\t\t\t\tif (!empty($row['ban_userid']) && intval($row['ban_userid']) == $user_id)\n\t\t\t\t\t{\n\t\t\t\t\t\t$ban_triggered_by = 'user';\n\t\t\t\t\t}\n\t\t\t\t\telse if ($ip_banned)\n\t\t\t\t\t{\n\t\t\t\t\t\t$ban_triggered_by = 'ip';\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$ban_triggered_by = 'email';\n\t\t\t\t\t}\n\n\t\t\t\t\t// Don't break. Check if there is an exclude rule for this user\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\tif ($banned && !$return)\n\t\t{\n\t\t\tglobal $template;\n\n\t\t\t// If the session is empty we need to create a valid one...\n\t\t\tif (empty($this->session_id))\n\t\t\t{\n\t\t\t\t// This seems to be no longer needed? - #14971\n//\t\t\t\t$this->session_create(ANONYMOUS);\n\t\t\t}\n\n\t\t\t// Initiate environment ... since it won't be set at this stage\n\t\t\t$this->setup();\n\n\t\t\t// Logout the user, banned users are unable to use the normal 'logout' link\n\t\t\tif ($this->data['user_id'] != ANONYMOUS)\n\t\t\t{\n\t\t\t\t$this->session_kill();\n\t\t\t}\n\n\t\t\t// We show a login box here to allow founders accessing the board if banned by IP\n\t\t\tif (defined('IN_LOGIN') && $this->data['user_id'] == ANONYMOUS)\n\t\t\t{\n\t\t\t\tglobal $phpEx;\n\n\t\t\t\t$this->setup('ucp');\n\t\t\t\t$this->data['is_registered'] = $this->data['is_bot'] = false;\n\n\t\t\t\t// Set as a precaution to allow login_box() handling this case correctly as well as this function not being executed again.\n\t\t\t\tdefine('IN_CHECK_BAN', 1);\n\n\t\t\t\tlogin_box(\"index.$phpEx\");\n\n\t\t\t\t// The false here is needed, else the user is able to circumvent the ban.\n\t\t\t\t$this->session_kill(false);\n\t\t\t}\n\n\t\t\t// Ok, we catch the case of an empty session id for the anonymous user...\n\t\t\t// This can happen if the user is logging in, banned by username and the login_box() being called \"again\".\n\t\t\tif (empty($this->session_id) && defined('IN_CHECK_BAN'))\n\t\t\t{\n\t\t\t\t$this->session_create(ANONYMOUS);\n\t\t\t}\n\n\n\t\t\t// Determine which message to output\n\t\t\t$till_date = ($ban_row['ban_end']) ? $this->format_date($ban_row['ban_end']) : '';\n\t\t\t$message = ($ban_row['ban_end']) ? 'BOARD_BAN_TIME' : 'BOARD_BAN_PERM';\n\n\t\t\t$message = sprintf($this->lang[$message], $till_date, '<a href=\"mailto:' . $config['board_contact'] . '\">', '</a>');\n\t\t\t$message .= ($ban_row['ban_give_reason']) ? '<br /><br />' . sprintf($this->lang['BOARD_BAN_REASON'], $ban_row['ban_give_reason']) : '';\n\t\t\t$message .= '<br /><br /><em>' . $this->lang['BAN_TRIGGERED_BY_' . strtoupper($ban_triggered_by)] . '</em>';\n\n\t\t\t// To circumvent session_begin returning a valid value and the check_ban() not called on second page view, we kill the session again\n\t\t\t$th"..., 8192) = 8192
22452 14:44:04.386403 brk(0x2147000)    = 0x2147000
22452 14:44:04.387473 read(3, "pposed to print out the ban message... show blank page\n\t\t\tif (defined('IN_CRON'))\n\t\t\t{\n\t\t\t\tgarbage_collection();\n\t\t\t\texit_handler();\n\t\t\t\texit;\n\t\t\t}\n\n\t\t\ttrigger_error($message);\n\t\t}\n\n\t\treturn ($banned && $ban_row['ban_give_reason']) ? $ban_row['ban_give_reason'] : $banned;\n\t}\n\n\t/**\n\t* Check if ip is blacklisted\n\t* This should be called only where absolutly necessary\n\t*\n\t* Only IPv4 (rbldns does not support AAAA records/IPv6 lookups)\n\t*\n\t* @author satmd (from the php manual)\n\t* @param string $mode register/post - spamcop for example is ommitted for posting\n\t* @return false if ip is not blacklisted, else an array([checked server], [lookup])\n\t*/\n/* Advanced Block MOD - feature replaced and moved to ./includes/abm/functions.php\n\tfunction check_dnsbl($mode, $ip = false)\n\t{\n\t\tif ($ip === false)\n\t\t{\n\t\t\t$ip = $this->ip;\n\t\t}\n\n\t\t$dnsbl_check = array(\n\t\t\t'sbl.spamhaus.org'\t=> 'http://www.spamhaus.org/query/bl?ip=',\n\t\t);\n\n\t\tif ($mode == 'register')\n\t\t{\n\t\t\t$dnsbl_check['bl.spamcop.net'] = 'http://spamcop.net/bl.shtml?';\n\t\t}\n\n\t\tif ($ip)\n\t\t{\n\t\t\t$quads = explode('.', $ip);\n\t\t\t$reverse_ip = $quads[3] . '.' . $quads[2] . '.' . $quads[1] . '.' . $quads[0];\n\n\t\t\t// Need to be listed on all servers...\n\t\t\t$listed = true;\n\t\t\t$info = array();\n\n\t\t\tforeach ($dnsbl_check as $dnsbl => $lookup)\n\t\t\t{\n\t\t\t\tif (phpbb_checkdnsrr($reverse_ip . '.' . $dnsbl . '.', 'A') === true)\n\t\t\t\t{\n\t\t\t\t\t$info = array($dnsbl, $lookup . $ip);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$listed = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($listed)\n\t\t\t{\n\t\t\t\treturn $info;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n*/\n\t/**\n\t* Check if URI is blacklisted\n\t* This should be called only where absolutly necessary, for example on the submitted website field\n\t* This function is not in use at the moment and is only included for testing purposes, it may not work at all!\n\t* This means it is untested at the moment and therefore commented out\n\t*\n\t* @param string $uri URI to check\n\t* @return true if uri is on blacklist, else false. Only blacklist is checked (~zero FP), no grey lists\n\tfunction check_uribl($uri)\n\t{\n\t\t// Normally parse_url() is not intended to parse uris\n\t\t// We need to get the top-level domain name anyway... change.\n\t\t$uri = parse_url($uri);\n\n\t\tif ($uri === false || empty($uri['host']))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t$uri = trim($uri['host']);\n\n\t\tif ($uri)\n\t\t{\n\t\t\t// One problem here... the return parameter for the \"windows\" method is different from what\n\t\t\t// we expect... this may render this check useless...\n\t\t\tif (phpbb_checkdnsrr($uri . '.multi.uribl.com.', 'A') === true)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\t*/\n\n\t/**\n\t* Set/Update a persistent login key\n\t*\n\t* This method creates or updates a persistent session key. When a user makes\n\t* use of persistent (formerly auto-) logins a key is generated and stored in the\n\t* DB. When they revisit with the same key it's automatically updated in both the\n\t* DB and cookie. Multiple keys may exist for each user representing different\n\t* browsers or locations. As with _any_ non-secure-socket no passphrase login this\n\t* remains vulnerable to exploit.\n\t*/\n\tfunction set_login_key($user_id = false, $key = false, $user_ip = false)\n\t{\n\t\tglobal $config, $db;\n\n\t\t$user_id = ($user_id === false) ? $this->data['user_id'] : $user_id;\n\t\t$user_ip = ($user_ip === false) ? $this->ip : $user_ip;\n\t\t$key = ($key === false) ? (($this->cookie_data['k']) ? $this->cookie_data['k'] : false) : $key;\n\n\t\t$key_id = unique_id(hexdec(substr($this->session_id, 0, 8)));\n\n\t\t$sql_ary = array(\n\t\t\t'key_id'\t\t=> (string) md5($key_id),\n\t\t\t'last_ip'\t\t=> (string) $this->ip,\n\t\t\t'last_login'\t=> (int) time()\n\t\t);\n\n\t\tif (!$key)\n\t\t{\n\t\t\t$sql_ary += array(\n\t\t\t\t'user_id'\t=> (int) $user_id\n\t\t\t);\n\t\t}\n\n\t\tif ($key)\n\t\t{\n\t\t\t$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . '\n\t\t\t\tSET ' . $db->sql_build_array('UPDATE', $sql_ary) . '\n\t\t\t\tWHERE user_id = ' . (int) $user_id . \"\n\t\t\t\t\tAND key_id = '\" . $db->sql_escape(md5($key)) . \"'\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);\n\t\t}\n\t\t$db->sql_query($sql);\n\n\t\t$this->cookie_data['k'] = $key_id;\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Reset all login keys for the specified user\n\t*\n\t* This method removes all current login keys for a specified (or the current)\n\t* user. It will be called on password change to render old keys unusable\n\t*/\n\tfunction reset_login_keys($user_id = false)\n\t{\n\t\tglobal $config, $db;\n\n\t\t$user_id = ($user_id === false) ? $this->data['user_id'] : $user_id;\n\n\t\t$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '\n\t\t\tWHERE user_id = ' . (int) $user_id;\n\t\t$db->sql_query($sql);\n\n\t\t// Update last visit info first before deleting sessions\n\t\t$sql = 'SELECT session_time, session_page\n\t\t\tFROM ' . SESSIONS_TABLE . '\n\t\t\tWHERE session_user_id = ' . (int) $user_id . '\n\t\t\tORDER BY session_time DESC';\n\t\t$result = $db->sql_query_limit($sql, 1);\n\t\t$row = $db->sql_fetchrow($result);\n\t\t$db->sql_freeresult($result);\n\n\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\tSET user_lastvisit = ' . (int) $row['session_time'] . \", user_lastpage = '\" . $db->sql_escape($row['session_page']) . \"'\n\t\t\tWHERE user_id = \" . (int) $user_id;\n\t\t$db->sql_query($sql);\n\n\t\t// Let's also clear any current sessions for the specified user_id\n\t\t// If it's the current user then we'll leave this session intact\n\t\t$sql_where = 'session_user_id = ' . (int) $user_id;\n\t\t$sql_where .= ($user_id === $this->data['user_id']) ? \" AND session_id <> '\" . $db->sql_escape($this->session_id) . \"'\" : '';\n\n\t\t$sql = 'DELETE FROM ' . SESSIONS_TABLE . \"\n\t\t\tWHERE $sql_where\";\n\t\t$db->sql_query($sql);\n\n\t\t// We're changing the password of the current user and they have a key\n\t\t// Lets regenerate it to be safe\n\t\tif ($user_id === $this->data['user_id'] && $this->cookie_data['k'])\n\t\t{\n\t\t\t$this->set_login_key($user_id);\n\t\t}\n\t}\n\n\n\t/**\n\t* Check if the request originated from the same page.\n\t* @param bool $check_script_path If true, the path will be checked as well\n\t*/\n\tfunction validate_referer($check_script_path = false)\n\t{\n\t\tglobal $config;\n\n\t\t// no referer - nothing to validate, user's fault for turning it off (we only check on POST; so meta can't be the reason)\n\t\tif (empty($this->referer) || empty($this->host))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\t$host = htmlspecialchars($this->host);\n\t\t$ref = substr($this->referer, strpos($this->referer, '://') + 3);\n\n\t\tif (!(stripos($ref, $host) === 0) && (!$config['force_server_vars'] || !(stripos($ref, $config['server_name']) === 0)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse if ($check_script_path && rtrim($this->page['root_script_path'], '/') !== '')\n\t\t{\n\t\t\t$ref = substr($ref, strlen($host));\n\t\t\t$server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');\n\n\t\t\tif ($server_port !== 80 && $server_port !== 443 && stripos($ref, \":$server_port\") === 0)\n\t\t\t{\n\t\t\t\t$ref = substr($ref, strlen(\":$server_port\"));\n\t\t\t}\n\n\t\t\tif (!(stripos(rtrim($ref, '/'), rtrim($this->page['root_script_path'], '/')) === 0))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\n\tfunction unset_admin()\n\t{\n\t\tglobal $db;\n\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . '\n\t\t\tSET session_admin = 0\n\t\t\tWHERE session_id = \\'' . $db->sql_escape($this->session_id) . '\\'';\n\t\t$db->sql_query($sql);\n\t}\n}\n\n\n/**\n* Base user class\n*\n* This is the overarching class which contains (through session extend)\n* all methods utilised for user functionality during a session.\n*\n* @package phpBB3\n*/\nclass user extends session\n{\n\tvar $lang = array();\n\tvar $help = array();\n\tvar $theme = array();\n\tvar $date_format;\n\tvar $timezone;\n\tvar $dst;\n\n\tvar $lang_name = false;\n\tvar $lang_id = false;\n\tvar $lang_path;\n\tvar $img_lang;\n\tvar $img_array = array();\n\n\t// Able to add new options (up to id 31)\n\tvar $keyoptions = array('viewimg' => 0, 'viewflash' => 1, 'viewsmilies' => 2, 'viewsigs' => 3, 'viewavatars' => 4, 'viewcensors' => 5, 'attachsig' => 6, 'bbcode' => 8, 'smilies' => 9, 'popuppm' => 10, 'sig_bbcode' => 15, 'sig_smilies' => 16, 'sig_links' => 17);\n\tvar $keyvalues = array();\n\n\t/**\n\t* Constructor to set the lang path\n\t*/\n\tfunction user()\n\t{\n\t\tglobal $phpbb_root_path;\n\n\t\t$this->lang_path = $phpbb_root_path . 'language/';\n\t}\n\n\t/**\n\t* "..., 8192) = 8192
22452 14:44:04.390089 read(3, "ang_path New language path used.\n\t* @access public\n\t*/\n\tfunction set_custom_lang_path($lang_path)\n\t{\n\t\t$this->lang_path = $lang_path;\n\n\t\tif (substr($this->lang_path, -1) != '/')\n\t\t{\n\t\t\t$this->lang_path .= '/';\n\t\t}\n\t}\n\n\t/**\n\t* Setup basic user-specific items (style, language, ...)\n\t*/\n\tfunction setup($lang_set = false, $style = false)\n\t{\n\t\tglobal $db, $template, $config, $auth, $phpEx, $phpbb_root_path, $cache;\n\n\t\tif ($this->data['user_id'] != ANONYMOUS)\n\t\t{\n\t\t\t$this->lang_name = (file_exists($this->lang_path . $this->data['user_lang'] . \"/common.$phpEx\")) ? $this->data['user_lang'] : basename($config['default_lang']);\n\n\t\t\t$this->date_format = $this->data['user_dateformat'];\n\t\t\t$this->timezone = $this->data['user_timezone'] * 3600;\n\t\t\t$this->dst = $this->data['user_dst'] * 3600;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->lang_name = basename($config['default_lang']);\n\t\t\t$this->date_format = $config['default_dateformat'];\n\t\t\t$this->timezone = $config['board_timezone'] * 3600;\n\t\t\t$this->dst = $config['board_dst'] * 3600;\n\n\t\t\t/**\n\t\t\t* If a guest user is surfing, we try to guess his/her language first by obtaining the browser language\n\t\t\t* If re-enabled we need to make sure only those languages installed are checked\n\t\t\t* Commented out so we do not loose the code.\n\n\t\t\tif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))\n\t\t\t{\n\t\t\t\t$accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);\n\n\t\t\t\tforeach ($accept_lang_ary as $accept_lang)\n\t\t\t\t{\n\t\t\t\t\t// Set correct format ... guess full xx_YY form\n\t\t\t\t\t$accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));\n\t\t\t\t\t$accept_lang = basename($accept_lang);\n\n\t\t\t\t\tif (file_exists($this->lang_path . $accept_lang . \"/common.$phpEx\"))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->lang_name = $config['default_lang'] = $accept_lang;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// No match on xx_YY so try xx\n\t\t\t\t\t\t$accept_lang = substr($accept_lang, 0, 2);\n\t\t\t\t\t\t$accept_lang = basename($accept_lang);\n\n\t\t\t\t\t\tif (file_exists($this->lang_path . $accept_lang . \"/common.$phpEx\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this->lang_name = $config['default_lang'] = $accept_lang;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t*/\n\t\t}\n\n\t\t// We include common language file here to not load it every time a custom language file is included\n\t\t$lang = &$this->lang;\n\n\t\t// Do not suppress error if in DEBUG_EXTRA mode\n\t\t$include_result = (defined('DEBUG_EXTRA')) ? (include $this->lang_path . $this->lang_name . \"/common.$phpEx\") : (@include $this->lang_path . $this->lang_name . \"/common.$phpEx\");\n\n\t\tif ($include_result === false)\n\t\t{\n\t\t\tdie('Language file ' . $this->lang_path . $this->lang_name . \"/common.$phpEx\" . \" couldn't be opened.\");\n\t\t}\n\n\t\t$this->add_lang($lang_set);\n\t\tunset($lang_set);\n\n\t\tif (!empty($_GET['style']) && $auth->acl_get('a_styles') && !defined('ADMIN_START'))\n\t\t{\n\t\t\tglobal $SID, $_EXTRA_URL;\n\n\t\t\t$style = request_var('style', 0);\n\t\t\t$SID .= '&amp;style=' . $style;\n\t\t\t$_EXTRA_URL = array('style=' . $style);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Set up style\n\t\t\t$style = ($style) ? $style : ((!$config['override_user_style']) ? $this->data['user_style'] : $config['default_style']);\n\t\t}\n\n\t\t$sql = 'SELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, t.template_inherits_id, t.template_inherit_path, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name\n\t\t\tFROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . \" i\n\t\t\tWHERE s.style_id = $style\n\t\t\t\tAND t.template_id = s.template_id\n\t\t\t\tAND c.theme_id = s.theme_id\n\t\t\t\tAND i.imageset_id = s.imageset_id\";\n\t\t$result = $db->sql_query($sql, 3600);\n\t\t$this->theme = $db->sql_fetchrow($result);\n\t\t$db->sql_freeresult($result);\n\n\t\t// User has wrong style\n\t\tif (!$this->theme && $style == $this->data['user_style'])\n\t\t{\n\t\t\t$style = $this->data['user_style'] = $config['default_style'];\n\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . \"\n\t\t\t\tSET user_style = $style\n\t\t\t\tWHERE user_id = {$this->data['user_id']}\";\n\t\t\t$db->sql_query($sql);\n\n\t\t\t$sql = 'SELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name\n\t\t\t\tFROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . \" i\n\t\t\t\tWHERE s.style_id = $style\n\t\t\t\t\tAND t.template_id = s.template_id\n\t\t\t\t\tAND c.theme_id = s.theme_id\n\t\t\t\t\tAND i.imageset_id = s.imageset_id\";\n\t\t\t$result = $db->sql_query($sql, 3600);\n\t\t\t$this->theme = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\tif (!$this->theme)\n\t\t{\n\t\t\ttrigger_error('Could not get style data', E_USER_ERROR);\n\t\t}\n\n\t\t// Now parse the cfg file and cache it\n\t\t$parsed_items = $cache->obtain_cfg_items($this->theme);\n\n\t\t// We are only interested in the theme configuration for now\n\t\t$parsed_items = $parsed_items['theme'];\n\n\t\t$check_for = array(\n\t\t\t'parse_css_file'\t=> (int) 0,\n\t\t\t'pagination_sep'\t=> (string) ', '\n\t\t);\n\n\t\tforeach ($check_for as $key => $default_value)\n\t\t{\n\t\t\t$this->theme[$key] = (isset($parsed_items[$key])) ? $parsed_items[$key] : $default_value;\n\t\t\tsettype($this->theme[$key], gettype($default_value));\n\n\t\t\tif (is_string($default_value))\n\t\t\t{\n\t\t\t\t$this->theme[$key] = htmlspecialchars($this->theme[$key]);\n\t\t\t}\n\t\t}\n\n\t\t// If the style author specified the theme needs to be cached\n\t\t// (because of the used paths and variables) than make sure it is the case.\n\t\t// For example, if the theme uses language-specific images it needs to be stored in db.\n\t\tif (!$this->theme['theme_storedb'] && $this->theme['parse_css_file'])\n\t\t{\n\t\t\t$this->theme['theme_storedb'] = 1;\n\n\t\t\t$stylesheet = file_get_contents(\"{$phpbb_root_path}styles/{$this->theme['theme_path']}/theme/stylesheet.css\");\n\t\t\t// Match CSS imports\n\t\t\t$matches = array();\n\t\t\tpreg_match_all('/@import url\\([\"\\'](.*)[\"\\']\\);/i', $stylesheet, $matches);\n\n\t\t\tif (sizeof($matches))\n\t\t\t{\n\t\t\t\t$content = '';\n\t\t\t\tforeach ($matches[0] as $idx => $match)\n\t\t\t\t{\n\t\t\t\t\tif ($content = @file_get_contents(\"{$phpbb_root_path}styles/{$this->theme['theme_path']}/theme/\" . $matches[1][$idx]))\n\t\t\t\t\t{\n\t\t\t\t\t\t$content = trim($content);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$content = '';\n\t\t\t\t\t}\n\t\t\t\t\t$stylesheet = str_replace($match, $content, $stylesheet);\n\t\t\t\t}\n\t\t\t\tunset($content);\n\t\t\t}\n\n\t\t\t$stylesheet = str_replace('./', 'styles/' . $this->theme['theme_path'] . '/theme/', $stylesheet);\n\n\t\t\t$sql_ary = array(\n\t\t\t\t'theme_data'\t=> $stylesheet,\n\t\t\t\t'theme_mtime'\t=> time(),\n\t\t\t\t'theme_storedb'\t=> 1\n\t\t\t);\n\n\t\t\t$sql = 'UPDATE ' . STYLES_THEME_TABLE . '\n\t\t\t\tSET ' . $db->sql_build_array('UPDATE', $sql_ary) . '\n\t\t\t\tWHERE theme_id = ' . $this->theme['theme_id'];\n\t\t\t$db->sql_query($sql);\n\n\t\t\tunset($sql_ary);\n\t\t}\n\n\t\t$template->set_template();\n\n\t\t$this->img_lang = (file_exists($phpbb_root_path . 'styles/' . $this->theme['imageset_path'] . '/imageset/' . $this->lang_name)) ? $this->lang_name : $config['default_lang'];\n\n\t\t// Same query in style.php\n\t\t$sql = 'SELECT *\n\t\t\tFROM ' . STYLES_IMAGESET_DATA_TABLE . '\n\t\t\tWHERE imageset_id = ' . $this->theme['imageset_id'] . \"\n\t\t\tAND image_filename <> ''\n\t\t\tAND image_lang IN ('\" . $db->sql_escape($this->img_lang) . \"', '')\";\n\t\t$result = $db->sql_query($sql, 3600);\n\n\t\t$localised_images = false;\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\tif ($row['image_lang'])\n\t\t\t{\n\t\t\t\t$localised_images = true;\n\t\t\t}\n\n\t\t\t$row['image_filename'] = rawurlencode($row['image_filename']);\n\t\t\t$this->img_array[$row['image_name']] = $row;\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\t// there were no localised images, try to refresh the localised imageset for the user's language\n\t\tif (!$localised_images)\n\t\t{\n\t\t\t// Attention: this code ignores the image definition list from acp_styles and just takes everything\n\t\t\t// that the config file contains\n\t\t\t$sql_ary = array();\n\n\t\t\t$db->sql_transaction('begin');\n\n\t\t\t$sql = 'DELETE FROM ' . STYLES_IMAGESET_DATA_TABLE . '\n\t\t\t\tWHERE imageset_id = ' . $this->theme['imageset_id'] . '\n\t\t\t\t\tAND image_lang = \\'' . $db->sql_escape($this->img_lang) . '\\'';\n\t\t\t$result "..., 8192) = 8192
22452 14:44:04.392677 read(3, "]}/imageset/{$this->img_lang}/imageset.cfg\"))\n\t\t\t{\n\t\t\t\t$cfg_data_imageset_data = parse_cfg_file(\"{$phpbb_root_path}styles/{$this->theme['imageset_path']}/imageset/{$this->img_lang}/imageset.cfg\");\n\t\t\t\tforeach ($cfg_data_imageset_data as $image_name => $value)\n\t\t\t\t{\n\t\t\t\t\tif (strpos($value, '*') !== false)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (substr($value, -1, 1) === '*')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlist($image_filename, $image_height) = explode('*', $value);\n\t\t\t\t\t\t\t$image_width = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlist($image_filename, $image_height, $image_width) = explode('*', $value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$image_filename = $value;\n\t\t\t\t\t\t$image_height = $image_width = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (strpos($image_name, 'img_') === 0 && $image_filename)\n\t\t\t\t\t{\n\t\t\t\t\t\t$image_name = substr($image_name, 4);\n\t\t\t\t\t\t$sql_ary[] = array(\n\t\t\t\t\t\t\t'image_name'\t\t=> (string) $image_name,\n\t\t\t\t\t\t\t'image_filename'\t=> (string) $image_filename,\n\t\t\t\t\t\t\t'image_height'\t\t=> (int) $image_height,\n\t\t\t\t\t\t\t'image_width'\t\t=> (int) $image_width,\n\t\t\t\t\t\t\t'imageset_id'\t\t=> (int) $this->theme['imageset_id'],\n\t\t\t\t\t\t\t'image_lang'\t\t=> (string) $this->img_lang,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (sizeof($sql_ary))\n\t\t\t{\n\t\t\t\t$db->sql_multi_insert(STYLES_IMAGESET_DATA_TABLE, $sql_ary);\n\t\t\t\t$db->sql_transaction('commit');\n\t\t\t\t$cache->destroy('sql', STYLES_IMAGESET_DATA_TABLE);\n\n\t\t\t\tadd_log('admin', 'LOG_IMAGESET_LANG_REFRESHED', $this->theme['imageset_name'], $this->img_lang);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$db->sql_transaction('commit');\n\t\t\t\tadd_log('admin', 'LOG_IMAGESET_LANG_MISSING', $this->theme['imageset_name'], $this->img_lang);\n\t\t\t}\n\t\t}\n\n\t\t// Call phpbb_user_session_handler() in case external application want to \"bend\" some variables or replace classes...\n\t\t// After calling it we continue script execution...\n\t\tphpbb_user_session_handler();\n\n\t\t// If this function got called from the error handler we are finished here.\n\t\tif (defined('IN_ERROR_HANDLER'))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t// Disable board if the install/ directory is still present\n\t\t// For the brave development army we do not care about this, else we need to comment out this everytime we develop locally\n\t\tif (!defined('DEBUG_EXTRA') && !defined('ADMIN_START') && !defined('IN_INSTALL') && !defined('IN_LOGIN') && file_exists($phpbb_root_path . 'install') && !is_file($phpbb_root_path . 'install'))\n\t\t{\n\t\t\t// Adjust the message slightly according to the permissions\n\t\t\tif ($auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))\n\t\t\t{\n\t\t\t\t$message = 'REMOVE_INSTALL';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$message = (!empty($config['board_disable_msg'])) ? $config['board_disable_msg'] : 'BOARD_DISABLE';\n\t\t\t}\n\t\t\ttrigger_error($message);\n\t\t}\n\n\t\t// Is board disabled and user not an admin or moderator?\n\t\tif ($config['board_disable'] && !defined('IN_LOGIN') && !$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))\n\t\t{\n\t\t\tif ($this->data['is_bot'])\n\t\t\t{\n\t\t\t\theader('HTTP/1.1 503 Service Unavailable');\n\t\t\t}\n\n\t\t\t$message = (!empty($config['board_disable_msg'])) ? $config['board_disable_msg'] : 'BOARD_DISABLE';\n\t\t\ttrigger_error($message);\n\t\t}\n\n\t\t// Is load exceeded?\n\t\tif ($config['limit_load'] && $this->load !== false)\n\t\t{\n\t\t\tif ($this->load > floatval($config['limit_load']) && !defined('IN_LOGIN'))\n\t\t\t{\n\t\t\t\t// Set board disabled to true to let the admins/mods get the proper notification\n\t\t\t\t$config['board_disable'] = '1';\n\n\t\t\t\tif (!$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))\n\t\t\t\t{\n\t\t\t\t\tif ($this->data['is_bot'])\n\t\t\t\t\t{\n\t\t\t\t\t\theader('HTTP/1.1 503 Service Unavailable');\n\t\t\t\t\t}\n\t\t\t\t\ttrigger_error('BOARD_UNAVAILABLE');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isset($this->data['session_viewonline']))\n\t\t{\n\t\t\t// Make sure the user is able to hide his session\n\t\t\tif (!$this->data['session_viewonline'])\n\t\t\t{\n\t\t\t\t// Reset online status if not allowed to hide the session...\n\t\t\t\tif (!$auth->acl_get('u_hideonline'))\n\t\t\t\t{\n\t\t\t\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . '\n\t\t\t\t\t\tSET session_viewonline = 1\n\t\t\t\t\t\tWHERE session_user_id = ' . $this->data['user_id'];\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t\t$this->data['session_viewonline'] = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!$this->data['user_allow_viewonline'])\n\t\t\t{\n\t\t\t\t// the user wants to hide and is allowed to  -> cloaking device on.\n\t\t\t\tif ($auth->acl_get('u_hideonline'))\n\t\t\t\t{\n\t\t\t\t\t$sql = 'UPDATE ' . SESSIONS_TABLE . '\n\t\t\t\t\t\tSET session_viewonline = 0\n\t\t\t\t\t\tWHERE session_user_id = ' . $this->data['user_id'];\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t\t$this->data['session_viewonline'] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\t// Does the user need to change their password? If so, redirect to the\n\t\t// ucp profile reg_details page ... of course do not redirect if we're already in the ucp\n\t\tif (!defined('IN_ADMIN') && !defined('ADMIN_START') && $config['chg_passforce'] && !empty($this->data['is_registered']) && $auth->acl_get('u_chgpasswd') && $this->data['user_passchg'] < time() - ($config['chg_passforce'] * 86400))\n\t\t{\n\t\t\tif (strpos($this->page['query_string'], 'mode=reg_details') === false && $this->page['page_name'] != \"ucp.$phpEx\")\n\t\t\t{\n\t\t\t\tredirect(append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'i=profile&amp;mode=reg_details'));\n\t\t\t}\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t* More advanced language substitution\n\t* Function to mimic sprintf() with the possibility of using phpBB's language system to substitute nullar/singular/plural forms.\n\t* Params are the language key and the parameters to be substituted.\n\t* This function/functionality is inspired by SHS` and Ashe.\n\t*\n\t* Example call: <samp>$user->lang('NUM_POSTS_IN_QUEUE', 1);</samp>\n\t*/\n\tfunction lang()\n\t{\n\t\t$args = func_get_args();\n\t\t$key = $args[0];\n\n\t\tif (is_array($key))\n\t\t{\n\t\t\t$lang = &$this->lang[array_shift($key)];\n\n\t\t\tforeach ($key as $_key)\n\t\t\t{\n\t\t\t\t$lang = &$lang[$_key];\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$lang = &$this->lang[$key];\n\t\t}\n\n\t\t// Return if language string does not exist\n\t\tif (!isset($lang) || (!is_string($lang) && !is_array($lang)))\n\t\t{\n\t\t\treturn $key;\n\t\t}\n\n\t\t// If the language entry is a string, we simply mimic sprintf() behaviour\n\t\tif (is_string($lang))\n\t\t{\n\t\t\tif (sizeof($args) == 1)\n\t\t\t{\n\t\t\t\treturn $lang;\n\t\t\t}\n\n\t\t\t// Replace key with language entry and simply pass along...\n\t\t\t$args[0] = $lang;\n\t\t\treturn call_user_func_array('sprintf', $args);\n\t\t}\n\n\t\t// It is an array... now handle different nullar/singular/plural forms\n\t\t$key_found = false;\n\n\t\t// We now get the first number passed and will select the key based upon this number\n\t\tfor ($i = 1, $num_args = sizeof($args); $i < $num_args; $i++)\n\t\t{\n\t\t\tif (is_int($args[$i]))\n\t\t\t{\n\t\t\t\t$numbers = array_keys($lang);\n\n\t\t\t\tforeach ($numbers as $num)\n\t\t\t\t{\n\t\t\t\t\tif ($num > $args[$i])\n\t\t\t\t\t{\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t$key_found = $num;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Ok, let's check if the key was found, else use the last entry (because it is mostly the plural form)\n\t\tif ($key_found === false)\n\t\t{\n\t\t\t$numbers = array_keys($lang);\n\t\t\t$key_found = end($numbers);\n\t\t}\n\n\t\t// Use the language string we determined and pass it to sprintf()\n\t\t$args[0] = $lang[$key_found];\n\t\treturn call_user_func_array('sprintf', $args);\n\t}\n\n\t/**\n\t* Add Language Items - use_db and use_help are assigned where needed (only use them to force inclusion)\n\t*\n\t* @param mixed $lang_set specifies the language entries to include\n\t* @param bool $use_db internal variable for recursion, do not use\n\t* @param bool $use_help internal variable for recursion, do not use\n\t*\n\t* Examples:\n\t* <code>\n\t* $lang_set = array('posting', 'help' => 'faq');\n\t* $lang_set = array('posting', 'viewtopic', 'help' => array('bbcode', 'faq'))\n\t* $lang_set = array(array('posting', 'viewtopic'), 'help' => array('bbcode', 'faq'))\n\t* $lang_set = 'posting'\n\t* $lang_set = array('help' => 'faq', 'db' => array('help:faq', 'posting'))\n\t* </code>\n\t*/\n\tfunction add_lang($lang_set, $use_db = false, $use_help = false)\n\t{\n\t\tglobal $phpEx;\n\n\t\tif (is_array($lang_set))\n\t\t{\n\t\t\tforeach ($lang_set as $key => $lang_file)\n\t\t\t{\n\t\t\t\t// Please do not delete this line.\n\t\t\t\t// We have to force the type here, else [array] language inclusion will not work\n\t\t\t\t$key = (string) $key;\n\n\t\t\t\tif ($key == 'db')\n\t\t\t\t{\n\t\t\t\t\t$this->add_lang($lang_file, true, $use_help);\n\t\t\t\t}\n\t\t\t\telse if ($key == 'help')\n\t\t\t\t{\n\t\t\t\t\t$this"..., 8192) = 8192
22452 14:44:04.394985 brk(0x2187000)    = 0x2187000
22452 14:44:04.397865 read(3, "et_lang($this->lang, $this->help, $lang_file, $use_db, $use_help);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$this->add_lang($lang_file, $use_db, $use_help);\n\t\t\t\t}\n\t\t\t}\n\t\t\tunset($lang_set);\n\t\t}\n\t\telse if ($lang_set)\n\t\t{\n\t\t\t$this->set_lang($this->lang, $this->help, $lang_set, $use_db, $use_help);\n\t\t}\n\t}\n\n\t/**\n\t* Set language entry (called by add_lang)\n\t* @access private\n\t*/\n\tfunction set_lang(&$lang, &$help, $lang_file, $use_db = false, $use_help = false)\n\t{\n\t\tglobal $phpEx;\n\n\t\t// Make sure the language name is set (if the user setup did not happen it is not set)\n\t\tif (!$this->lang_name)\n\t\t{\n\t\t\tglobal $config;\n\t\t\t$this->lang_name = basename($config['default_lang']);\n\t\t}\n\n\t\t// $lang == $this->lang\n\t\t// $help == $this->help\n\t\t// - add appropriate variables here, name them as they are used within the language file...\n\t\tif (!$use_db)\n\t\t{\n\t\t\tif ($use_help && strpos($lang_file, '/') !== false)\n\t\t\t{\n\t\t\t\t$language_filename = $this->lang_path . $this->lang_name . '/' . substr($lang_file, 0, stripos($lang_file, '/') + 1) . 'help_' . substr($lang_file, stripos($lang_file, '/') + 1) . '.' . $phpEx;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$language_filename = $this->lang_path . $this->lang_name . '/' . (($use_help) ? 'help_' : '') . $lang_file . '.' . $phpEx;\n\t\t\t}\n\n\t\t\tif (!file_exists($language_filename))\n\t\t\t{\n\t\t\t\tglobal $config;\n\n\t\t\t\tif ($this->lang_name == 'en')\n\t\t\t\t{\n\t\t\t\t\t// The user's selected language is missing the file, the board default's language is missing the file, and the file doesn't exist in /en.\n\t\t\t\t\t$language_filename = str_replace($this->lang_path . 'en', $this->lang_path . $this->data['user_lang'], $language_filename);\n\t\t\t\t\ttrigger_error('Language file ' . $language_filename . ' couldn\\'t be opened.', E_USER_ERROR);\n\t\t\t\t}\n\t\t\t\telse if ($this->lang_name == basename($config['default_lang']))\n\t\t\t\t{\n\t\t\t\t\t// Fall back to the English Language\n\t\t\t\t\t$this->lang_name = 'en';\n\t\t\t\t\t$this->set_lang($lang, $help, $lang_file, $use_db, $use_help);\n\t\t\t\t}\n\t\t\t\telse if ($this->lang_name == $this->data['user_lang'])\n\t\t\t\t{\n\t\t\t\t\t// Fall back to the board default language\n\t\t\t\t\t$this->lang_name = basename($config['default_lang']);\n\t\t\t\t\t$this->set_lang($lang, $help, $lang_file, $use_db, $use_help);\n\t\t\t\t}\n\n\t\t\t\t// Reset the lang name\n\t\t\t\t$this->lang_name = (file_exists($this->lang_path . $this->data['user_lang'] . \"/common.$phpEx\")) ? $this->data['user_lang'] : basename($config['default_lang']);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Do not suppress error if in DEBUG_EXTRA mode\n\t\t\t$include_result = (defined('DEBUG_EXTRA')) ? (include $language_filename) : (@include $language_filename);\n\n\t\t\tif ($include_result === false)\n\t\t\t{\n\t\t\t\ttrigger_error('Language file ' . $language_filename . ' couldn\\'t be opened.', E_USER_ERROR);\n\t\t\t}\n\t\t}\n\t\telse if ($use_db)\n\t\t{\n\t\t\t// Get Database Language Strings\n\t\t\t// Put them into $lang if nothing is prefixed, put them into $help if help: is prefixed\n\t\t\t// For example: help:faq, posting\n\t\t}\n\t}\n\n\t/**\n\t* Format user date\n\t*\n\t* @param int $gmepoch unix timestamp\n\t* @param string $format date format in date() notation. | used to indicate relative dates, for example |d m Y|, h:i is translated to Today, h:i.\n\t* @param bool $forcedate force non-relative date format.\n\t*\n\t* @return mixed translated date\n\t*/\n\tfunction format_date($gmepoch, $format = false, $forcedate = false)\n\t{\n\t\tstatic $midnight;\n\t\tstatic $date_cache;\n\n\t\t$format = (!$format) ? $this->date_format : $format;\n\t\t$now = time();\n\t\t$delta = $now - $gmepoch;\n\n\t\tif (!isset($date_cache[$format]))\n\t\t{\n\t\t\t// Is the user requesting a friendly date format (i.e. 'Today 12:42')?\n\t\t\t$date_cache[$format] = array(\n\t\t\t\t'is_short'\t\t=> strpos($format, '|'),\n\t\t\t\t'format_short'\t=> substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1),\n\t\t\t\t'format_long'\t=> str_replace('|', '', $format),\n\t\t\t\t'lang'\t\t\t=> $this->lang['datetime'],\n\t\t\t);\n\n\t\t\t// Short representation of month in format? Some languages use different terms for the long and short format of May\n\t\t\tif ((strpos($format, '\\M') === false && strpos($format, 'M') !== false) || (strpos($format, '\\r') === false && strpos($format, 'r') !== false))\n\t\t\t{\n\t\t\t\t$date_cache[$format]['lang']['May'] = $this->lang['datetime']['May_short'];\n\t\t\t}\n\t\t}\n\n\t\t// Zone offset\n\t\t$zone_offset = $this->timezone + $this->dst;\n\n\t\t// Show date <= 1 hour ago as 'xx min ago'\n\t\t// A small tolerence is given for times in the future but in the same minute are displayed as '< than a minute ago'\n\t\tif ($delta <= 3600 && ($delta >= -5 || (($now / 60) % 60) == (($gmepoch / 60) % 60)) && $date_cache[$format]['is_short'] !== false && !$forcedate && isset($this->lang['datetime']['AGO']))\n\t\t{\n\t\t\treturn $this->lang(array('datetime', 'AGO'), max(0, (int) floor($delta / 60)));\n\t\t}\n\n\t\tif (!$midnight)\n\t\t{\n\t\t\tlist($d, $m, $y) = explode(' ', gmdate('j n Y', time() + $zone_offset));\n\t\t\t$midnight = gmmktime(0, 0, 0, $m, $d, $y) - $zone_offset;\n\t\t}\n\n\t\tif ($date_cache[$format]['is_short'] !== false && !$forcedate && !($gmepoch < $midnight - 86400 || $gmepoch > $midnight + 172800))\n\t\t{\n\t\t\t$day = false;\n\n\t\t\tif ($gmepoch > $midnight + 86400)\n\t\t\t{\n\t\t\t\t$day = 'TOMORROW';\n\t\t\t}\n\t\t\telse if ($gmepoch > $midnight)\n\t\t\t{\n\t\t\t\t$day = 'TODAY';\n\t\t\t}\n\t\t\telse if ($gmepoch > $midnight - 86400)\n\t\t\t{\n\t\t\t\t$day = 'YESTERDAY';\n\t\t\t}\n\n\t\t\tif ($day !== false)\n\t\t\t{\n\t\t\t\treturn str_replace('||', $this->lang['datetime'][$day], strtr(@gmdate($date_cache[$format]['format_short'], $gmepoch + $zone_offset), $date_cache[$format]['lang']));\n\t\t\t}\n\t\t}\n\n\t\treturn strtr(@gmdate($date_cache[$format]['format_long'], $gmepoch + $zone_offset), $date_cache[$format]['lang']);\n\t}\n\n\t/**\n\t* Get language id currently used by the user\n\t*/\n\tfunction get_iso_lang_id()\n\t{\n\t\tglobal $config, $db;\n\n\t\tif (!empty($this->lang_id))\n\t\t{\n\t\t\treturn $this->lang_id;\n\t\t}\n\n\t\tif (!$this->lang_name)\n\t\t{\n\t\t\t$this->lang_name = $config['default_lang'];\n\t\t}\n\n\t\t$sql = 'SELECT lang_id\n\t\t\tFROM ' . LANG_TABLE . \"\n\t\t\tWHERE lang_iso = '\" . $db->sql_escape($this->lang_name) . \"'\";\n\t\t$result = $db->sql_query($sql);\n\t\t$this->lang_id = (int) $db->sql_fetchfield('lang_id');\n\t\t$db->sql_freeresult($result);\n\n\t\treturn $this->lang_id;\n\t}\n\n\t/**\n\t* Get users profile fields\n\t*/\n\tfunction get_profile_fields($user_id)\n\t{\n\t\tglobal $db;\n\n\t\tif (isset($this->profile_fields))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t$sql = 'SELECT *\n\t\t\tFROM ' . PROFILE_FIELDS_DATA_TABLE . \"\n\t\t\tWHERE user_id = $user_id\";\n\t\t$result = $db->sql_query_limit($sql, 1);\n\t\t$this->profile_fields = (!($row = $db->sql_fetchrow($result))) ? array() : $row;\n\t\t$db->sql_freeresult($result);\n\t}\n\n\t/**\n\t* Specify/Get image\n\t* $suffix is no longer used - we know it. ;) It is there for backward compatibility.\n\t*/\n\tfunction img($img, $alt = '', $width = false, $suffix = '', $type = 'full_tag')\n\t{\n\t\tstatic $imgs;\n\t\tglobal $phpbb_root_path;\n\n\t\t$img_data = &$imgs[$img];\n\n\t\tif (empty($img_data))\n\t\t{\n\t\t\tif (!isset($this->img_array[$img]))\n\t\t\t{\n\t\t\t\t// Do not fill the image to let designers decide what to do if the image is empty\n\t\t\t\t$img_data = '';\n\t\t\t\treturn $img_data;\n\t\t\t}\n\n\t\t\t// Use URL if told so\n\t\t\t$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path;\n\n\t\t\t$img_data['src'] = $root_path . 'styles/' . rawurlencode($this->theme['imageset_path']) . '/imageset/' . ($this->img_array[$img]['image_lang'] ? $this->img_array[$img]['image_lang'] .'/' : '') . $this->img_array[$img]['image_filename'];\n\t\t\t$img_data['width'] = $this->img_array[$img]['image_width'];\n\t\t\t$img_data['height'] = $this->img_array[$img]['image_height'];\n\t\t}\n\n\t\t$alt = (!empty($this->lang[$alt])) ? $this->lang[$alt] : $alt;\n\n\t\tswitch ($type)\n\t\t{\n\t\t\tcase 'src':\n\t\t\t\treturn $img_data['src'];\n\t\t\tbreak;\n\n\t\t\tcase 'width':\n\t\t\t\treturn ($width === false) ? $img_data['width'] : $width;\n\t\t\tbreak;\n\n\t\t\tcase 'height':\n\t\t\t\treturn $img_data['height'];\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$use_width = ($width === false) ? $img_data['width'] : $width;\n\n\t\t\t\treturn '<img src=\"' . $img_data['src'] . '\"' . (($use_width) ? ' width=\"' . $use_width . '\"' : '') . (($img_data['height']) ? ' height=\"' . $img_data['height'] . '\"' : '') . ' alt=\"' . $alt . '\" title=\"' . $alt . '\" />';\n\t\t\t"..., 8192) = 8192
22452 14:44:04.400995 read(3, "false)\n\t{\n\t\tif (!isset($this->keyvalues[$key]))\n\t\t{\n\t\t\t$var = ($data) ? $data : $this->data['user_options'];\n\t\t\t$this->keyvalues[$key] = ($var & 1 << $this->keyoptions[$key]) ? true : false;\n\t\t}\n\n\t\treturn $this->keyvalues[$key];\n\t}\n\n\t/**\n\t* Set option bit field for user options\n\t*/\n\tfunction optionset($key, $value, $data = false)\n\t{\n\t\t$var = ($data) ? $data : $this->data['user_options'];\n\n\t\tif ($value && !($var & 1 << $this->keyoptions[$key]))\n\t\t{\n\t\t\t$var += 1 << $this->keyoptions[$key];\n\t\t}\n\t\telse if (!$value && ($var & 1 << $this->keyoptions[$key]))\n\t\t{\n\t\t\t$var -= 1 << $this->keyoptions[$key];\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn ($data) ? $var : false;\n\t\t}\n\n\t\tif (!$data)\n\t\t{\n\t\t\t$this->data['user_options'] = $var;\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn $var;\n\t\t}\n\t}\n\n\t/**\n\t* Funtion to make the user leave the NEWLY_REGISTERED system group.\n\t* @access public\n\t*/\n\tfunction leave_newly_registered()\n\t{\n\t\tglobal $db;\n\n\t\tif (empty($this->data['user_new']))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!function_exists('remove_newly_registered'))\n\t\t{\n\t\t\tglobal $phpbb_root_path, $phpEx;\n\n\t\t\tinclude($phpbb_root_path . 'includes/functions_user.' . $phpEx);\n\t\t}\n\t\tif ($group = remove_newly_registered($this->data['user_id'], $this->data))\n\t\t{\n\t\t\t$this->data['group_id'] = $group;\n\n\t\t}\n\t\t$this->data['user_permissions'] = '';\n\t\t$this->data['user_new'] = 0;\n\n\t\treturn true;\n\t}\n}\n\n?>\n", 8192) = 1365
22452 14:44:04.401342 read(3, "", 4096) = 0
22452 14:44:04.401738 read(3, "", 8192) = 0
22452 14:44:04.402771 close(3)          = 0
22452 14:44:04.402835 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.402948 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.403028 time(NULL)        = 1400874244
22452 14:44:04.403088 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.403207 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.403321 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.403441 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.403556 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.403674 lstat("/home2/fritz218/public_html/forum/includes/auth.php", {st_dev=makedev(8, 33), st_ino=91762227, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=64, st_size=29381, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.403798 open("/home2/fritz218/public_html/forum/includes/auth.php", O_RDONLY) = 3
22452 14:44:04.403883 fstat(3, {st_dev=makedev(8, 33), st_ino=91762227, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=64, st_size=29381, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.403991 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.404053 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.404116 fstat(3, {st_dev=makedev(8, 33), st_ino=91762227, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=64, st_size=29381, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.404226 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.404297 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.404364 open("/home2/fritz218/public_html/forum/includes/auth.php", O_RDONLY) = 4
22452 14:44:04.404440 fstat(4, {st_dev=makedev(8, 33), st_ino=91762227, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=64, st_size=29381, st_atime=2014/05/22-16:30:02, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.404548 mmap(NULL, 29381, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b0000
22452 14:44:04.404624 munmap(0x7f35927b0000, 29381) = 0
22452 14:44:04.404686 close(4)          = 0
22452 14:44:04.404748 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.404812 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: auth.php 9894 2009-07-30 14:35:29Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Permission/Auth class\n* @package phpBB3\n*/\nclass auth\n{\n\tvar $acl = array();\n\tvar $cache = array();\n\tvar $acl_options = array();\n\tvar $acl_forum_ids = false;\n\n\t/**\n\t* Init permissions\n\t*/\n\tfunction acl(&$userdata)\n\t{\n\t\tglobal $db, $cache;\n\n\t\t$this->acl = $this->cache = $this->acl_options = array();\n\t\t$this->acl_forum_ids = false;\n\n\t\tif (($this->acl_options = $cache->get('_acl_options')) === false)\n\t\t{\n\t\t\t$sql = 'SELECT auth_option_id, auth_option, is_global, is_local\n\t\t\t\tFROM ' . ACL_OPTIONS_TABLE . '\n\t\t\t\tORDER BY auth_option_id';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$global = $local = 0;\n\t\t\t$this->acl_options = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\tif ($row['is_global'])\n\t\t\t\t{\n\t\t\t\t\t$this->acl_options['global'][$row['auth_option']] = $global++;\n\t\t\t\t}\n\n\t\t\t\tif ($row['is_local'])\n\t\t\t\t{\n\t\t\t\t\t$this->acl_options['local'][$row['auth_option']] = $local++;\n\t\t\t\t}\n\n\t\t\t\t$this->acl_options['id'][$row['auth_option']] = (int) $row['auth_option_id'];\n\t\t\t\t$this->acl_options['option'][(int) $row['auth_option_id']] = $row['auth_option'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$cache->put('_acl_options', $this->acl_options);\n\t\t}\n\n\t\tif (!trim($userdata['user_permissions']))\n\t\t{\n\t\t\t$this->acl_cache($userdata);\n\t\t}\n\n\t\t// Fill ACL array\n\t\t$this->_fill_acl($userdata['user_permissions']);\n\n\t\t// Verify bitstring length with options provided...\n\t\t$renew = false;\n\t\t$global_length = sizeof($this->acl_options['global']);\n\t\t$local_length = sizeof($this->acl_options['local']);\n\n\t\t// Specify comparing length (bitstring is padded to 31 bits)\n\t\t$global_length = ($global_length % 31) ? ($global_length - ($global_length % 31) + 31) : $global_length;\n\t\t$local_length = ($local_length % 31) ? ($local_length - ($local_length % 31) + 31) : $local_length;\n\n\t\t// You thought we are finished now? Noooo... now compare them.\n\t\tforeach ($this->acl as $forum_id => $bitstring)\n\t\t{\n\t\t\tif (($forum_id && strlen($bitstring) != $local_length) || (!$forum_id && strlen($bitstring) != $global_length))\n\t\t\t{\n\t\t\t\t$renew = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// If a bitstring within the list does not match the options, we have a user with incorrect permissions set and need to renew them\n\t\tif ($renew)\n\t\t{\n\t\t\t$this->acl_cache($userdata);\n\t\t\t$this->_fill_acl($userdata['user_permissions']);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t* Fill ACL array with relevant bitstrings from user_permissions column\n\t* @access private\n\t*/\n\tfunction _fill_acl($user_permissions)\n\t{\n\t\t$this->acl = array();\n\t\t$user_permissions = explode(\"\\n\", $user_permissions);\n\n\t\tforeach ($user_permissions as $f => $seq)\n\t\t{\n\t\t\tif ($seq)\n\t\t\t{\n\t\t\t\t$i = 0;\n\n\t\t\t\tif (!isset($this->acl[$f]))\n\t\t\t\t{\n\t\t\t\t\t$this->acl[$f] = '';\n\t\t\t\t}\n\n\t\t\t\twhile ($subseq = substr($seq, $i, 6))\n\t\t\t\t{\n\t\t\t\t\t// We put the original bitstring into the acl array\n\t\t\t\t\t$this->acl[$f] .= str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT);\n\t\t\t\t\t$i += 6;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Look up an option\n\t* if the option is prefixed with !, then the result becomes negated\n\t*\n\t* If a forum id is specified the local option will be combined with a global option if one exist.\n\t* If a forum id is not specified, only the global option will be checked.\n\t*/\n\tfunction acl_get($opt, $f = 0)\n\t{\n\t\t$negate = false;\n\n\t\tif (strpos($opt, '!') === 0)\n\t\t{\n\t\t\t$negate = true;\n\t\t\t$opt = substr($opt, 1);\n\t\t}\n\n\t\tif (!isset($this->cache[$f][$opt]))\n\t\t{\n\t\t\t// We combine the global/local option with an OR because some options are global and local.\n\t\t\t// If the user has the global permission the local one is true too and vice versa\n\t\t\t$this->cache[$f][$opt] = false;\n\n\t\t\t// Is this option a global permission setting?\n\t\t\tif (isset($this->acl_options['global'][$opt]))\n\t\t\t{\n\t\t\t\tif (isset($this->acl[0]))\n\t\t\t\t{\n\t\t\t\t\t$this->cache[$f][$opt] = $this->acl[0][$this->acl_options['global'][$opt]];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Is this opt", 4096) = 4096
22452 14:44:04.405684 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.405749 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.405843 read(3, "ion a local permission setting?\n\t\t\t// But if we check for a global option only, we won't combine the options...\n\t\t\tif ($f != 0 && isset($this->acl_options['local'][$opt]))\n\t\t\t{\n\t\t\t\tif (isset($this->acl[$f]) && isset($this->acl[$f][$this->acl_options['local'][$opt]]))\n\t\t\t\t{\n\t\t\t\t\t$this->cache[$f][$opt] |= $this->acl[$f][$this->acl_options['local'][$opt]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Founder always has all global options set to true...\n\t\treturn ($negate) ? !$this->cache[$f][$opt] : $this->cache[$f][$opt];\n\t}\n\n\t/**\n\t* Get forums with the specified permission setting\n\t* if the option is prefixed with !, then the result becomes nagated\n\t*\n\t* @param bool $clean set to true if only values needs to be returned which are set/unset\n\t*/\n\tfunction acl_getf($opt, $clean = false)\n\t{\n\t\t$acl_f = array();\n\t\t$negate = false;\n\n\t\tif (strpos($opt, '!') === 0)\n\t\t{\n\t\t\t$negate = true;\n\t\t\t$opt = substr($opt, 1);\n\t\t}\n\n\t\t// If we retrieve a list of forums not having permissions in, we need to get every forum_id\n\t\tif ($negate)\n\t\t{\n\t\t\tif ($this->acl_forum_ids === false)\n\t\t\t{\n\t\t\t\tglobal $db;\n\n\t\t\t\t$sql = 'SELECT forum_id\n\t\t\t\t\tFROM ' . FORUMS_TABLE;\n\n\t\t\t\tif (sizeof($this->acl))\n\t\t\t\t{\n\t\t\t\t\t$sql .= ' WHERE ' . $db->sql_in_set('forum_id', array_keys($this->acl), true);\n\t\t\t\t}\n\t\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t\t$this->acl_forum_ids = array();\n\t\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t\t{\n\t\t\t\t\t$this->acl_forum_ids[] = $row['forum_id'];\n\t\t\t\t}\n\t\t\t\t$db->sql_freeresult($result);\n\t\t\t}\n\t\t}\n\n\t\tif (isset($this->acl_options['local'][$opt]))\n\t\t{\n\t\t\tforeach ($this->acl as $f => $bitstring)\n\t\t\t{\n\t\t\t\t// Skip global settings\n\t\t\t\tif (!$f)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t$allowed = (!isset($this->cache[$f][$opt])) ? $this->acl_get($opt, $f) : $this->cache[$f][$opt];\n\n\t\t\t\tif (!$clean)\n\t\t\t\t{\n\t\t\t\t\t$acl_f[$f][$opt] = ($negate) ? !$allowed : $allowed;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (($negate && !$allowed) || (!$negate && $allowed))\n\t\t\t\t\t{\n\t\t\t\t\t\t$acl_f[$f][$opt] = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we get forum_ids not having this permission, we need to fill the remaining parts\n\t\tif ($negate && sizeof($this->acl_forum_ids))\n\t\t{\n\t\t\tforeach ($this->acl_forum_ids as $f)\n\t\t\t{\n\t\t\t\t$acl_f[$f][$opt] = 1;\n\t\t\t}\n\t\t}\n\n\t\treturn $acl_f;\n\t}\n\n\t/**\n\t* Get local permission state for any forum.\n\t*\n\t* Returns true if user has the permission in one or more forums, false if in no forum.\n\t* If global option is checked it returns the global state (same as acl_get($opt))\n\t* Local option has precedence...\n\t*/\n\tfunction acl_getf_global($opt)\n\t{\n\t\tif (is_array($opt))\n\t\t{\n\t\t\t// evaluates to true as soon as acl_getf_global is true for one option\n\t\t\tforeach ($opt as $check_option)\n\t\t\t{\n\t\t\t\tif ($this->acl_getf_global($check_option))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\tif (isset($this->acl_options['local'][$opt]))\n\t\t{\n\t\t\tforeach ($this->acl as $f => $bitstring)\n\t\t\t{\n\t\t\t\t// Skip global settings\n\t\t\t\tif (!$f)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// as soon as the user has any permission we're done so return true\n\t\t\t\tif ((!isset($this->cache[$f][$opt])) ? $this->acl_get($opt, $f) : $this->cache[$f][$opt])\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (isset($this->acl_options['global'][$opt]))\n\t\t{\n\t\t\treturn $this->acl_get($opt);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Get permission settings (more than one)\n\t*/\n\tfunction acl_gets()\n\t{\n\t\t$args = func_get_args();\n\t\t$f = array_pop($args);\n\n\t\tif (!is_numeric($f))\n\t\t{\n\t\t\t$args[] = $f;\n\t\t\t$f = 0;\n\t\t}\n\n\t\t// alternate syntax: acl_gets(array('m_', 'a_'), $forum_id)\n\t\tif (is_array($args[0]))\n\t\t{\n\t\t\t$args = $args[0];\n\t\t}\n\n\t\t$acl = 0;\n\t\tforeach ($args as $opt)\n\t\t{\n\t\t\t$acl |= $this->acl_get($opt, $f);\n\t\t}\n\n\t\treturn $acl;\n\t}\n\n\t/**\n\t* Get permission listing based on user_id/options/forum_ids\n\t*/\n\tfunction acl_get_list($user_id = false, $opts = false, $forum_id = false)\n\t{\n\t\tif ($user_id !== false && !is_array($user_id) && $opts === false && $forum_id === false)\n\t\t{\n\t\t\t$hold_ary = array($user_id => $this->acl_raw_data_single_user($user_id));\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$hold_ary = $this->acl_raw_data($user_id, $opts, $forum_id);\n\t\t}\n\n\t\t$auth_ary = array();\n\t\tforeach ($hold_a", 4096) = 4096
22452 14:44:04.408075 read(3, "ry as $user_id => $forum_ary)\n\t\t{\n\t\t\tforeach ($forum_ary as $forum_id => $auth_option_ary)\n\t\t\t{\n\t\t\t\tforeach ($auth_option_ary as $auth_option => $auth_setting)\n\t\t\t\t{\n\t\t\t\t\tif ($auth_setting)\n\t\t\t\t\t{\n\t\t\t\t\t\t$auth_ary[$forum_id][$auth_option][] = $user_id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $auth_ary;\n\t}\n\n\t/**\n\t* Cache data to user_permissions row\n\t*/\n\tfunction acl_cache(&$userdata)\n\t{\n\t\tglobal $db;\n\n\t\t// Empty user_permissions\n\t\t$userdata['user_permissions'] = '';\n\n\t\t$hold_ary = $this->acl_raw_data_single_user($userdata['user_id']);\n\n\t\t// Key 0 in $hold_ary are global options, all others are forum_ids\n\n\t\t// If this user is founder we're going to force fill the admin options ...\n\t\tif ($userdata['user_type'] == USER_FOUNDER)\n\t\t{\n\t\t\tforeach ($this->acl_options['global'] as $opt => $id)\n\t\t\t{\n\t\t\t\tif (strpos($opt, 'a_') === 0)\n\t\t\t\t{\n\t\t\t\t\t$hold_ary[0][$this->acl_options['id'][$opt]] = ACL_YES;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t$hold_str = $this->build_bitstring($hold_ary);\n\n\t\tif ($hold_str)\n\t\t{\n\t\t\t$userdata['user_permissions'] = $hold_str;\n\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . \"\n\t\t\t\tSET user_permissions = '\" . $db->sql_escape($userdata['user_permissions']) . \"',\n\t\t\t\t\tuser_perm_from = 0\n\t\t\t\tWHERE user_id = \" . $userdata['user_id'];\n\t\t\t$db->sql_query($sql);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t* Build bitstring from permission set\n\t*/\n\tfunction build_bitstring(&$hold_ary)\n\t{\n\t\t$hold_str = '';\n\n\t\tif (sizeof($hold_ary))\n\t\t{\n\t\t\tksort($hold_ary);\n\n\t\t\t$last_f = 0;\n\n\t\t\tforeach ($hold_ary as $f => $auth_ary)\n\t\t\t{\n\t\t\t\t$ary_key = (!$f) ? 'global' : 'local';\n\n\t\t\t\t$bitstring = array();\n\t\t\t\tforeach ($this->acl_options[$ary_key] as $opt => $id)\n\t\t\t\t{\n\t\t\t\t\tif (isset($auth_ary[$this->acl_options['id'][$opt]]))\n\t\t\t\t\t{\n\t\t\t\t\t\t$bitstring[$id] = $auth_ary[$this->acl_options['id'][$opt]];\n\n\t\t\t\t\t\t$option_key = substr($opt, 0, strpos($opt, '_') + 1);\n\n\t\t\t\t\t\t// If one option is allowed, the global permission for this option has to be allowed too\n\t\t\t\t\t\t// example: if the user has the a_ permission this means he has one or more a_* permissions\n\t\t\t\t\t\tif ($auth_ary[$this->acl_options['id'][$opt]] == ACL_YES && (!isset($bitstring[$this->acl_options[$ary_key][$option_key]]) || $bitstring[$this->acl_options[$ary_key][$option_key]] == ACL_NEVER))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$bitstring[$this->acl_options[$ary_key][$option_key]] = ACL_YES;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$bitstring[$id] = ACL_NEVER;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Now this bitstring defines the permission setting for the current forum $f (or global setting)\n\t\t\t\t$bitstring = implode('', $bitstring);\n\n\t\t\t\t// The line number indicates the id, therefore we have to add empty lines for those ids not present\n\t\t\t\t$hold_str .= str_repeat(\"\\n\", $f - $last_f);\n\n\t\t\t\t// Convert bitstring for storage - we do not use binary/bytes because PHP's string functions are not fully binary safe\n\t\t\t\tfor ($i = 0, $bit_length = strlen($bitstring); $i < $bit_length; $i += 31)\n\t\t\t\t{\n\t\t\t\t\t$hold_str .= str_pad(base_convert(str_pad(substr($bitstring, $i, 31), 31, 0, STR_PAD_RIGHT), 2, 36), 6, 0, STR_PAD_LEFT);\n\t\t\t\t}\n\n\t\t\t\t$last_f = $f;\n\t\t\t}\n\t\t\tunset($bitstring);\n\n\t\t\t$hold_str = rtrim($hold_str);\n\t\t}\n\n\t\treturn $hold_str;\n\t}\n\n\t/**\n\t* Clear one or all users cached permission settings\n\t*/\n\tfunction acl_clear_prefetch($user_id = false)\n\t{\n\t\tglobal $db, $cache;\n\n\t\t// Rebuild options cache\n\t\t$cache->destroy('_role_cache');\n\n\t\t$sql = 'SELECT *\n\t\t\tFROM ' . ACL_ROLES_DATA_TABLE . '\n\t\t\tORDER BY role_id ASC';\n\t\t$result = $db->sql_query($sql);\n\n\t\t$this->role_cache = array();\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t$this->role_cache[$row['role_id']][$row['auth_option_id']] = (int) $row['auth_setting'];\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\tforeach ($this->role_cache as $role_id => $role_options)\n\t\t{\n\t\t\t$this->role_cache[$role_id] = serialize($role_options);\n\t\t}\n\n\t\t$cache->put('_role_cache', $this->role_cache);\n\n\t\t// Now empty user permissions\n\t\t$where_sql = '';\n\n\t\tif ($user_id !== false)\n\t\t{\n\t\t\t$user_id = (!is_array($user_id)) ? $user_id = array((int) $user_id) : array_map('intval', $user_id);\n\t\t\t$where_sql = ' WHERE ' . $db->sql_in_set('user_id', $user_id);\n\t\t}\n\n\t\t$sql = 'UPDATE ' . USERS_TABLE . \"\n\t\t\tSET user_permissions = '',\n\t\t\t\tuser_perm_from = 0\n\t\t\t$where_sql\";\n\t\t$db->sql_query($sql);\n\n\t\treturn;\n\t}\n\n\t/**\n\t* Get assigned roles\n\t*/\n\tfunction acl_role_data($user_type, $role_type, $ug_id = false, $forum_id = false)\n\t{\n\t\tglobal $db;\n\n\t\t$roles = array();\n\n\t\t$sql_id = ($user_type == 'user') ? 'user_id' : 'group_id';\n\n\t\t$sql_ug = ($ug_id !== false) ? ((!is_array($ug_id)) ? \"AND a.$sql_id = $ug_id\" : 'AND ' . $db->sql_in_set(\"a.$sql_id\", $ug_id)) : '';\n\t\t$sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? \"AND a.forum_id = $forum_id\" : 'AND ' . $db->sql_in_set('a.forum_id', $forum_id)) : '';\n\n\t\t// Grab assigned roles...\n\t\t$sql = 'SELECT a.auth_role_id, a.' . $sql_id . ', a.forum_id\n\t\t\tFROM ' . (($user_type == 'user') ? ACL_USERS_TABLE : ACL_GROUPS_TABLE) . ' a, ' . ACL_ROLES_TABLE . \" r\n\t\t\tWHERE a.auth_role_id = r.role_id\n\t\t\t\tAND r.role_type = '\" . $db->sql_escape($role_type) . \"'\n\t\t\t\t$sql_ug\n\t\t\t\t$sql_forum\n\t\t\tORDER BY r.role_order ASC\";\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t$roles[$row[$sql_id]][$row['forum_id']] = $row['auth_role_id'];\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\treturn $roles;\n\t}\n\n\t/**\n\t* Get raw acl data based on user/option/forum\n\t*/\n\tfunction acl_raw_data($user_id = false, $opts = false, $forum_id = false)\n\t{\n\t\tglobal $db;\n\n\t\t$sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : '';\n\t\t$sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : '';\n\n\t\t$sql_opts = $sql_opts_select = $sql_opts_from = '';\n\t\t$hold_ary = array();\n\n\t\tif ($opts !== false)\n\t\t{\n\t\t\t$sql_opts_select = ', ao.auth_option';\n\t\t\t$sql_opts_from = ', ' . ACL_OPTIONS_TABLE . ' ao';\n\t\t\t$this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts);\n\t\t}\n\n\t\t$sql_ary = array();\n\n\t\t// Grab non-role settings - user-specific\n\t\t$sql_ary[] = 'SELECT a.user_id, a.forum_id, a.auth_setting, a.auth_option_id' . $sql_opts_select . '\n\t\t\tFROM ' . ACL_USERS_TABLE . ' a' . $sql_opts_from . '\n\t\t\tWHERE a.auth_role_id = 0 ' .\n\t\t\t\t(($sql_opts_from) ? 'AND a.auth_option_id = ao.auth_option_id ' : '') .\n\t\t\t\t(($sql_user) ? 'AND a.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\";\n\n\t\t// Now the role settings - user-specific\n\t\t$sql_ary[] = 'SELECT a.user_id, a.forum_id, r.auth_option_id, r.auth_setting, r.auth_option_id' . $sql_opts_select . '\n\t\t\tFROM ' . ACL_USERS_TABLE . ' a, ' . ACL_ROLES_DATA_TABLE . ' r' . $sql_opts_from . '\n\t\t\tWHERE a.auth_role_id = r.role_id ' .\n\t\t\t\t(($sql_opts_from) ? 'AND r.auth_option_id = ao.auth_option_id ' : '') .\n\t\t\t\t(($sql_user) ? 'AND a.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\";\n\n\t\tforeach ($sql_ary as $sql)\n\t\t{\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$option = ($sql_opts_select) ? $row['auth_option'] : $this->acl_options['option'][$row['auth_option_id']];\n\t\t\t\t$hold_ary[$row['user_id']][$row['forum_id']][$option] = $row['auth_setting'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\t$sql_ary = array();\n\n\t\t// Now grab group settings - non-role specific...\n\t\t$sql_ary[] = 'SELECT ug.user_id, a.forum_id, a.auth_setting, a.auth_option_id' . $sql_opts_select . '\n\t\t\tFROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g' . $sql_opts_from . '\n\t\t\tWHERE a.auth_role_id = 0 ' .\n\t\t\t\t(($sql_opts_from) ? 'AND a.auth_option_id = ao.auth_option_id ' : '') . '\n\t\t\t\tAND a.group_id = ug.group_id\n\t\t\t\tAND g.group_id = ug.group_id\n\t\t\t\tAND ug.user_pending = 0\n\t\t\t\tAND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)\n\t\t\t\t' . (($sql_user) ? 'AND ug.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\";\n\n\t\t// Now grab group settings - role specific...\n\t\t$sql_ary[] = 'SELECT ug.user_id, a.forum_id, r.auth_setting, r.auth_option_id' . $sql_opts_select . '\n\t\t\tFROM ' . ACL_GROU"..., 8192) = 8192
22452 14:44:04.420193 brk(0x21c7000)    = 0x21c7000
22452 14:44:04.420940 read(3, " . $sql_opts_from . '\n\t\t\tWHERE a.auth_role_id = r.role_id ' .\n\t\t\t\t(($sql_opts_from) ? 'AND r.auth_option_id = ao.auth_option_id ' : '') . '\n\t\t\t\tAND a.group_id = ug.group_id\n\t\t\t\tAND g.group_id = ug.group_id\n\t\t\t\tAND ug.user_pending = 0\n\t\t\t\tAND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)\n\t\t\t\t' . (($sql_user) ? 'AND ug.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\";\n\n\t\tforeach ($sql_ary as $sql)\n\t\t{\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$option = ($sql_opts_select) ? $row['auth_option'] : $this->acl_options['option'][$row['auth_option_id']];\n\n\t\t\t\tif (!isset($hold_ary[$row['user_id']][$row['forum_id']][$option]) || (isset($hold_ary[$row['user_id']][$row['forum_id']][$option]) && $hold_ary[$row['user_id']][$row['forum_id']][$option] != ACL_NEVER))\n\t\t\t\t{\n\t\t\t\t\t$hold_ary[$row['user_id']][$row['forum_id']][$option] = $row['auth_setting'];\n\n\t\t\t\t\t// If we detect ACL_NEVER, we will unset the flag option (within building the bitstring it is correctly set again)\n\t\t\t\t\tif ($row['auth_setting'] == ACL_NEVER)\n\t\t\t\t\t{\n\t\t\t\t\t\t$flag = substr($option, 0, strpos($option, '_') + 1);\n\n\t\t\t\t\t\tif (isset($hold_ary[$row['user_id']][$row['forum_id']][$flag]) && $hold_ary[$row['user_id']][$row['forum_id']][$flag] == ACL_YES)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset($hold_ary[$row['user_id']][$row['forum_id']][$flag]);\n\n/*\t\t\t\t\t\t\tif (in_array(ACL_YES, $hold_ary[$row['user_id']][$row['forum_id']]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$hold_ary[$row['user_id']][$row['forum_id']][$flag] = ACL_YES;\n\t\t\t\t\t\t\t}\n*/\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\treturn $hold_ary;\n\t}\n\n\t/**\n\t* Get raw user based permission settings\n\t*/\n\tfunction acl_user_raw_data($user_id = false, $opts = false, $forum_id = false)\n\t{\n\t\tglobal $db;\n\n\t\t$sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : '';\n\t\t$sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : '';\n\n\t\t$sql_opts = '';\n\t\t$hold_ary = $sql_ary = array();\n\n\t\tif ($opts !== false)\n\t\t{\n\t\t\t$this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts);\n\t\t}\n\n\t\t// Grab user settings - non-role specific...\n\t\t$sql_ary[] = 'SELECT a.user_id, a.forum_id, a.auth_setting, a.auth_option_id, ao.auth_option\n\t\t\tFROM ' . ACL_USERS_TABLE . ' a, ' . ACL_OPTIONS_TABLE . ' ao\n\t\t\tWHERE a.auth_role_id = 0\n\t\t\t\tAND a.auth_option_id = ao.auth_option_id ' .\n\t\t\t\t(($sql_user) ? 'AND a.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\n\t\t\tORDER BY a.forum_id, ao.auth_option\";\n\n\t\t// Now the role settings - user-specific\n\t\t$sql_ary[] = 'SELECT a.user_id, a.forum_id, r.auth_option_id, r.auth_setting, r.auth_option_id, ao.auth_option\n\t\t\tFROM ' . ACL_USERS_TABLE . ' a, ' . ACL_ROLES_DATA_TABLE . ' r, ' . ACL_OPTIONS_TABLE . ' ao\n\t\t\tWHERE a.auth_role_id = r.role_id\n\t\t\t\tAND r.auth_option_id = ao.auth_option_id ' .\n\t\t\t\t(($sql_user) ? 'AND a.' . $sql_user : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\n\t\t\tORDER BY a.forum_id, ao.auth_option\";\n\n\t\tforeach ($sql_ary as $sql)\n\t\t{\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']] = $row['auth_setting'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\treturn $hold_ary;\n\t}\n\n\t/**\n\t* Get raw group based permission settings\n\t*/\n\tfunction acl_group_raw_data($group_id = false, $opts = false, $forum_id = false)\n\t{\n\t\tglobal $db;\n\n\t\t$sql_group = ($group_id !== false) ? ((!is_array($group_id)) ? 'group_id = ' . (int) $group_id : $db->sql_in_set('group_id', array_map('intval', $group_id))) : '';\n\t\t$sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : '';\n\n\t\t$sql_opts = '';\n\t\t$hold_ary = $sql_ary = array();\n\n\t\tif ($opts !== false)\n\t\t{\n\t\t\t$this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts);\n\t\t}\n\n\t\t// Grab group settings - non-role specific...\n\t\t$sql_ary[] = 'SELECT a.group_id, a.forum_id, a.auth_setting, a.auth_option_id, ao.auth_option\n\t\t\tFROM ' . ACL_GROUPS_TABLE . ' a, ' . ACL_OPTIONS_TABLE . ' ao\n\t\t\tWHERE a.auth_role_id = 0\n\t\t\t\tAND a.auth_option_id = ao.auth_option_id ' .\n\t\t\t\t(($sql_group) ? 'AND a.' . $sql_group : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\n\t\t\tORDER BY a.forum_id, ao.auth_option\";\n\n\t\t// Now grab group settings - role specific...\n\t\t$sql_ary[] = 'SELECT a.group_id, a.forum_id, r.auth_setting, r.auth_option_id, ao.auth_option\n\t\t\tFROM ' . ACL_GROUPS_TABLE . ' a, ' . ACL_ROLES_DATA_TABLE . ' r, ' . ACL_OPTIONS_TABLE . ' ao\n\t\t\tWHERE a.auth_role_id = r.role_id\n\t\t\t\tAND r.auth_option_id = ao.auth_option_id ' .\n\t\t\t\t(($sql_group) ? 'AND a.' . $sql_group : '') . \"\n\t\t\t\t$sql_forum\n\t\t\t\t$sql_opts\n\t\t\tORDER BY a.forum_id, ao.auth_option\";\n\n\t\tforeach ($sql_ary as $sql)\n\t\t{\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$hold_ary[$row['group_id']][$row['forum_id']][$row['auth_option']] = $row['auth_setting'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\treturn $hold_ary;\n\t}\n\n\t/**\n\t* Get raw acl data based on user for caching user_permissions\n\t* This function returns the same data as acl_raw_data(), but without the user id as the first key within the array.\n\t*/\n\tfunction acl_raw_data_single_user($user_id)\n\t{\n\t\tglobal $db, $cache;\n\n\t\t// Check if the role-cache is there\n\t\tif (($this->role_cache = $cache->get('_role_cache')) === false)\n\t\t{\n\t\t\t$this->role_cache = array();\n\n\t\t\t// We pre-fetch roles\n\t\t\t$sql = 'SELECT *\n\t\t\t\tFROM ' . ACL_ROLES_DATA_TABLE . '\n\t\t\t\tORDER BY role_id ASC';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$this->role_cache[$row['role_id']][$row['auth_option_id']] = (int) $row['auth_setting'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\tforeach ($this->role_cache as $role_id => $role_options)\n\t\t\t{\n\t\t\t\t$this->role_cache[$role_id] = serialize($role_options);\n\t\t\t}\n\n\t\t\t$cache->put('_role_cache', $this->role_cache);\n\t\t}\n\n\t\t$hold_ary = array();\n\n\t\t// Grab user-specific permission settings\n\t\t$sql = 'SELECT forum_id, auth_option_id, auth_role_id, auth_setting\n\t\t\tFROM ' . ACL_USERS_TABLE . '\n\t\t\tWHERE user_id = ' . $user_id;\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t// If a role is assigned, assign all options included within this role. Else, only set this one option.\n\t\t\tif ($row['auth_role_id'])\n\t\t\t{\n\t\t\t\t$hold_ary[$row['forum_id']] = (empty($hold_ary[$row['forum_id']])) ? unserialize($this->role_cache[$row['auth_role_id']]) : $hold_ary[$row['forum_id']] + unserialize($this->role_cache[$row['auth_role_id']]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$hold_ary[$row['forum_id']][$row['auth_option_id']] = $row['auth_setting'];\n\t\t\t}\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\t// Now grab group-specific permission settings\n\t\t$sql = 'SELECT a.forum_id, a.auth_option_id, a.auth_role_id, a.auth_setting\n\t\t\tFROM ' . ACL_GROUPS_TABLE . ' a, ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g\n\t\t\tWHERE a.group_id = ug.group_id\n\t\t\t\tAND g.group_id = ug.group_id\n\t\t\t\tAND ug.user_pending = 0\n\t\t\t\tAND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)\n\t\t\t\tAND ug.user_id = ' . $user_id;\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\tif (!$row['auth_role_id'])\n\t\t\t{\n\t\t\t\t$this->_set_group_hold_ary($hold_ary[$row['forum_id']], $row['auth_option_id'], $row['auth_setting']);\n\t\t\t}\n\t\t\telse if (!empty($this->role_cache[$row['auth_role_id']]))\n\t\t\t{\n\t\t\t\tforeach (unserialize($this->role_cache[$row['auth_role_id']]) as $option_id => $setting)\n\t\t\t\t{\n\t\t\t\t\t$this->_set_group_hold_ary($hold_ary[$row['forum_id']], $option_id, $setting);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\treturn $hold_ary;\n\t}\n\n\t/**\n\t* Private function snippet for setting a specific piece of the hold_ary\n\t*/\n\tfunction _set_group_hold_ary(&$hold_ary, $option_id, $setting)\n\t{\n\t\tif (!isset($hold_ary[$option_id]) || (isset($hold_ary[$option_id]) && $hold_ary[$opti"..., 8192) = 8192
22452 14:44:04.423793 read(3, "l unset the flag option (within building the bitstring it is correctly set again)\n\t\t\tif ($setting == ACL_NEVER)\n\t\t\t{\n\t\t\t\t$flag = substr($this->acl_options['option'][$option_id], 0, strpos($this->acl_options['option'][$option_id], '_') + 1);\n\t\t\t\t$flag = (int) $this->acl_options['id'][$flag];\n\n\t\t\t\tif (isset($hold_ary[$flag]) && $hold_ary[$flag] == ACL_YES)\n\t\t\t\t{\n\t\t\t\t\tunset($hold_ary[$flag]);\n\n/*\t\t\t\t\tThis is uncommented, because i suspect this being slightly wrong due to mixed permission classes being possible\n\t\t\t\t\tif (in_array(ACL_YES, $hold_ary))\n\t\t\t\t\t{\n\t\t\t\t\t\t$hold_ary[$flag] = ACL_YES;\n\t\t\t\t\t}*/\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him.\n\t*/\n\tfunction login($username, $password, $autologin = false, $viewonline = 1, $admin = 0)\n\t{\n\t\tglobal $config, $db, $user, $phpbb_root_path, $phpEx;\n\n\t\t$method = trim(basename($config['auth_method']));\n\t\tinclude_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx);\n\n\t\t$method = 'login_' . $method;\n\t\tif (function_exists($method))\n\t\t{\n\t\t\t$login = $method($username, $password);\n\n\t\t\t// If the auth module wants us to create an empty profile do so and then treat the status as LOGIN_SUCCESS\n\t\t\tif ($login['status'] == LOGIN_SUCCESS_CREATE_PROFILE)\n\t\t\t{\n\t\t\t\t// we are going to use the user_add function so include functions_user.php if it wasn't defined yet\n\t\t\t\tif (!function_exists('user_add'))\n\t\t\t\t{\n\t\t\t\t\tinclude($phpbb_root_path . 'includes/functions_user.' . $phpEx);\n\t\t\t\t}\n\n\t\t\t\tuser_add($login['user_row'], (isset($login['cp_data'])) ? $login['cp_data'] : false);\n\n\t\t\t\t$sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type\n\t\t\t\t\tFROM ' . USERS_TABLE . \"\n\t\t\t\t\tWHERE username_clean = '\" . $db->sql_escape(utf8_clean_string($username)) . \"'\";\n\t\t\t\t$result = $db->sql_query($sql);\n\t\t\t\t$row = $db->sql_fetchrow($result);\n\t\t\t\t$db->sql_freeresult($result);\n\n\t\t\t\tif (!$row)\n\t\t\t\t{\n\t\t\t\t\treturn array(\n\t\t\t\t\t\t'status'\t\t=> LOGIN_ERROR_EXTERNAL_AUTH,\n\t\t\t\t\t\t'error_msg'\t\t=> 'AUTH_NO_PROFILE_CREATED',\n\t\t\t\t\t\t'user_row'\t\t=> array('user_id' => ANONYMOUS),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t$login = array(\n\t\t\t\t\t'status'\t=> LOGIN_SUCCESS,\n\t\t\t\t\t'error_msg'\t=> false,\n\t\t\t\t\t'user_row'\t=> $row,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If login succeeded, we will log the user in... else we pass the login array through...\n\t\t\tif ($login['status'] == LOGIN_SUCCESS)\n\t\t\t{\n\t\t\t\t$old_session_id = $user->session_id;\n\n\t\t\t\tif ($admin)\n\t\t\t\t{\n\t\t\t\t\tglobal $SID, $_SID;\n\n\t\t\t\t\t$cookie_expire = time() - 31536000;\n\t\t\t\t\t$user->set_cookie('u', '', $cookie_expire);\n\t\t\t\t\t$user->set_cookie('sid', '', $cookie_expire);\n\t\t\t\t\tunset($cookie_expire);\n\n\t\t\t\t\t$SID = '?sid=';\n\t\t\t\t\t$user->session_id = $_SID = '';\n\t\t\t\t}\n\n\t\t\t\t$result = $user->session_create($login['user_row']['user_id'], $admin, $autologin, $viewonline);\n\n\t\t\t\t// Successful session creation\n\t\t\t\tif ($result === true)\n\t\t\t\t{\n\t\t\t\t\t// If admin re-authentication we remove the old session entry because a new one has been created...\n\t\t\t\t\tif ($admin)\n\t\t\t\t\t{\n\t\t\t\t\t\t// the login array is used because the user ids do not differ for re-authentication\n\t\t\t\t\t\t$sql = 'DELETE FROM ' . SESSIONS_TABLE . \"\n\t\t\t\t\t\t\tWHERE session_id = '\" . $db->sql_escape($old_session_id) . \"'\n\t\t\t\t\t\t\tAND session_user_id = {$login['user_row']['user_id']}\";\n\t\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn array(\n\t\t\t\t\t\t'status'\t\t=> LOGIN_SUCCESS,\n\t\t\t\t\t\t'error_msg'\t\t=> false,\n\t\t\t\t\t\t'user_row'\t\t=> $login['user_row'],\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn array(\n\t\t\t\t\t'status'\t\t=> LOGIN_BREAK,\n\t\t\t\t\t'error_msg'\t\t=> $result,\n\t\t\t\t\t'user_row'\t\t=> $login['user_row'],\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn $login;\n\t\t}\n\n\t\ttrigger_error('Authentication method not found', E_USER_ERROR);\n\t}\n\n\t/**\n\t* Fill auth_option statement for later querying based on the supplied options\n\t*/\n\tfunction build_auth_option_statement($key, $auth_options, &$sql_opts)\n\t{\n\t\tglobal $db;\n\n\t\tif (!is_array($auth_options))\n\t\t{\n\t\t\tif (strpos($auth_options, '%') !== false)\n\t\t\t{\n\t\t\t\t$sql_opts = \"AND $key \" . $db->sql_like_expression(str_replace('%', $db->any_char, $auth_options));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$sql_opts = \"AND $key = '\" . $db->sql_escape($auth_options) . \"'\";\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$is_like_expression = false;\n\n\t\t\tforeach ($auth_options as $option)\n\t\t\t{\n\t\t\t\tif (strpos($option, '%') !== false)\n\t\t\t\t{\n\t\t\t\t\t$is_like_expression = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!$is_like_expression)\n\t\t\t{\n\t\t\t\t$sql_opts = 'AND ' . $db->sql_in_set($key, $auth_options);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$sql = array();\n\n\t\t\t\tforeach ($auth_options as $option)\n\t\t\t\t{\n\t\t\t\t\tif (strpos($option, '%') !== false)\n\t\t\t\t\t{\n\t\t\t\t\t\t$sql[] = $key . ' ' . $db->sql_like_expression(str_replace('%', $db->any_char, $option));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$sql[] = $key . \" = '\" . $db->sql_escape($option) . \"'\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$sql_opts = 'AND (' . implode(' OR ', $sql) . ')';\n\t\t\t}\n\t\t}\n\t}\n}\n\n?>", 8192) = 4805
22452 14:44:04.424801 read(3, "", 4096) = 0
22452 14:44:04.425718 read(3, "", 8192) = 0
22452 14:44:04.425831 close(3)          = 0
22452 14:44:04.425917 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.426070 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.426165 time(NULL)        = 1400874244
22452 14:44:04.426258 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.426461 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.426652 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.426870 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.427128 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.427323 lstat("/home2/fritz218/public_html/forum/includes/functions.php", {st_dev=makedev(8, 33), st_ino=91757818, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=456, st_size=233149, st_atime=2014/05/22-16:12:55, st_mtime=2014/05/13-16:08:52, st_ctime=2014/05/13-16:08:52}) = 0
22452 14:44:04.427528 open("/home2/fritz218/public_html/forum/includes/functions.php", O_RDONLY) = 3
22452 14:44:04.427677 fstat(3, {st_dev=makedev(8, 33), st_ino=91757818, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=456, st_size=233149, st_atime=2014/05/22-16:12:55, st_mtime=2014/05/13-16:08:52, st_ctime=2014/05/13-16:08:52}) = 0
22452 14:44:04.427847 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.427948 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.428077 fstat(3, {st_dev=makedev(8, 33), st_ino=91757818, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=456, st_size=233149, st_atime=2014/05/22-16:12:55, st_mtime=2014/05/13-16:08:52, st_ctime=2014/05/13-16:08:52}) = 0
22452 14:44:04.428275 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.428381 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.428489 open("/home2/fritz218/public_html/forum/includes/functions.php", O_RDONLY) = 4
22452 14:44:04.428624 fstat(4, {st_dev=makedev(8, 33), st_ino=91757818, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=456, st_size=233149, st_atime=2014/05/22-16:12:55, st_mtime=2014/05/13-16:08:52, st_ctime=2014/05/13-16:08:52}) = 0
22452 14:44:04.428870 mmap(NULL, 233149, PROT_READ, MAP_SHARED, 4, 0) = 0x7f3592760000
22452 14:44:04.428976 munmap(0x7f3592760000, 233149) = 0
22452 14:44:04.429065 close(4)          = 0
22452 14:44:04.429322 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.429409 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: functions.php 9519 2009-05-23 16:11:40Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\n\n\n\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n\n\n\n// Common global functions\n\n/**\n* set_var\n*\n* Set variable, used by {@link request_var the request_var function}\n*\n* @access private\n*/\nfunction set_var(&$result, $var, $type, $multibyte = false)\n{\n\tsettype($var, $type);\n\t$result = $var;\n\n\tif ($type == 'string')\n\t{\n\t\t$result = trim(htmlspecialchars(str_replace(array(\"\\r\\n\", \"\\r\", \"\\0\"), array(\"\\n\", \"\\n\", ''), $result), ENT_COMPAT, 'UTF-8'));\n\n\t\tif (!empty($result))\n\t\t{\n\t\t\t// Make sure multibyte characters are wellformed\n\t\t\tif ($multibyte)\n\t\t\t{\n\t\t\t\tif (!preg_match('/^./u', $result))\n\t\t\t\t{\n\t\t\t\t\t$result = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// no multibyte, allow only ASCII (0-127)\n\t\t\t\t$result = preg_replace('/[\\x80-\\xFF]/', '?', $result);\n\t\t\t}\n\t\t}\n\n\t\t$result = (STRIP) ? stripslashes($result) : $result;\n\t}\n}\n\n/**\n* request_var\n*\n* Used to get passed variable\n*/\nfunction request_var($var_name, $default, $multibyte = false, $cookie = false)\n{\n\tif (!$cookie && isset($_COOKIE[$var_name]))\n\t{\n\t\tif (!isset($_GET[$var_name]) && !isset($_POST[$var_name]))\n\t\t{\n\t\t\treturn (is_array($default)) ? array() : $default;\n\t\t}\n\t\t$_REQUEST[$var_name] = isset($_POST[$var_name]) ? $_POST[$var_name] : $_GET[$var_name];\n\t}\n\n\tif (!isset($_REQUEST[$var_name]) || (is_array($_REQUEST[$var_name]) && !is_array($default)) || (is_array($default) && !is_array($_REQUEST[$var_name])))\n\t{\n\t\treturn (is_array($default)) ? array() : $default;\n\t}\n\n\t$var = $_REQUEST[$var_name];\n\tif (!is_array($default))\n\t{\n\t\t$type = gettype($default);\n\t}\n\telse\n\t{\n\t\tlist($key_type, $type) = each($default);\n\t\t$type = gettype($type);\n\t\t$key_type = gettype($key_type);\n\t\tif ($type == 'array')\n\t\t{\n\t\t\treset($default);\n\t\t\t$default = current($default);\n\t\t\tlist($sub_key_type, $sub_type) = each($default);\n\t\t\t$sub_type = gettype($sub_type);\n\t\t\t$sub_type = ($sub_type == 'array') ? 'NULL' : $sub_type;\n\t\t\t$sub_key_type = gettype($sub_key_type);\n\t\t}\n\t}\n\n\tif (is_array($var))\n\t{\n\t\t$_var = $var;\n\t\t$var = array();\n\n\t\tforeach ($_var as $k => $v)\n\t\t{\n\t\t\tset_var($k, $k, $key_type);\n\t\t\tif ($type == 'array' && is_array($v))\n\t\t\t{\n\t\t\t\tforeach ($v as $_k => $_v)\n\t\t\t\t{\n\t\t\t\t\tif (is_array($_v))\n\t\t\t\t\t{\n\t\t\t\t\t\t$_v = null;\n\t\t\t\t\t}\n\t\t\t\t\tset_var($_k, $_k, $sub_key_type);\n\t\t\t\t\tset_var($var[$k][$_k], $_v, $sub_type, $multibyte);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif ($type == 'array' || is_array($v))\n\t\t\t\t{\n\t\t\t\t\t$v = null;\n\t\t\t\t}\n\t\t\t\tset_var($var[$k], $v, $type, $multibyte);\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tset_var($var, $var, $type, $multibyte);\n\t}\n\n\treturn $var;\n}\n\n/**\n* Set config value. Creates missing config entry.\n*/\nfunction set_config($config_name, $config_value, $is_dynamic = false)\n{\n\tglobal $db, $cache, $config;\n\n\t$sql = 'UPDATE ' . CONFIG_TABLE . \"\n\t\tSET config_value = '\" . $db->sql_escape($config_value) . \"'\n\t\tWHERE config_name = '\" . $db->sql_escape($config_name) . \"'\";\n\t$db->sql_query($sql);\n\n\tif (!$db->sql_affectedrows() && !isset($config[$config_name]))\n\t{\n\t\t$sql = 'INSERT INTO ' . CONFIG_TABLE . ' ' . $db->sql_build_array('INSERT', array(\n\t\t\t'config_name'\t=> $config_name,\n\t\t\t'config_value'\t=> $config_value,\n\t\t\t'is_dynamic'\t=> ($is_dynamic) ? 1 : 0));\n\t\t$db->sql_query($sql);\n\t}\n\n\t$config[$config_name] = $config_value;\n\n\tif (!$is_dynamic)\n\t{\n\t\t$cache->destroy('config');\n\t}\n}\n\n/**\n* Set dynamic config value with arithmetic operation.\n*/\nfunction set_config_count($config_name, $increment, $is_dynamic = false)\n{\n\tglobal $db, $cache;\n\n\tswitch ($db->sql_layer)\n\t{\n\t\tcase 'firebird':\n\t\t\t$sql_update = 'CAST(CAST(config_value as integer) + ' . (int) $increment . ' as CHAR)';\n\t\tbreak;\n\n\t\tcase 'postgres':\n\t\t\t$sql_update = 'int4(config_value) + ' . (int) $increment;\n\t\tbreak;\n\n\t\t// MySQL, SQlite, mssql, mssql_odbc, oracle\n\t\tdefault:\n\t\t\t$sql_update = 'config_value + ' . (int) $increment;\n\t\tbreak;\n\t}\n\n\t$db->sql_query('UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $sql_update . \" WHERE config_name = '\" . $db->sql_escap", 4096) = 4096
22452 14:44:04.430582 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.430665 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.430776 read(3, "e($config_name) . \"'\");\n\n\tif (!$is_dynamic)\n\t{\n\t\t$cache->destroy('config');\n\t}\n}\n\n/**\n* Generates an alphanumeric random string of given length\n*/\nfunction gen_rand_string($num_chars = 8)\n{\n\t$rand_str = unique_id();\n\t$rand_str = str_replace('0', 'Z', strtoupper(base_convert($rand_str, 16, 35)));\n\n\treturn substr($rand_str, 0, $num_chars);\n}\n\n/**\n* Return unique id\n* @param string $extra additional entropy\n*/\nfunction unique_id($extra = 'c')\n{\n\tstatic $dss_seeded = false;\n\tglobal $config;\n\n\t$val = $config['rand_seed'] . microtime();\n\t$val = md5($val);\n\t$config['rand_seed'] = md5($config['rand_seed'] . $val . $extra);\n\n\tif ($dss_seeded !== true && ($config['rand_seed_last_update'] < time() - rand(1,10)))\n\t{\n\t\tset_config('rand_seed', $config['rand_seed'], true);\n\t\tset_config('rand_seed_last_update', time(), true);\n\t\t$dss_seeded = true;\n\t}\n\n\treturn substr($val, 4, 16);\n}\n\n/**\n* Return formatted string for filesizes\n*/\nfunction get_formatted_filesize($bytes, $add_size_lang = true)\n{\n\tglobal $user;\n\n\tif ($bytes >= pow(2, 30))\n\t{\n\t\treturn ($add_size_lang) ? round($bytes / 1024 / 1024 / 1024, 2) . ' ' . $user->lang['GIB'] : round($bytes / 1024 / 1024 / 1024, 2);\n\t}\n\n\tif ($bytes >= pow(2, 20))\n\t{\n\t\treturn ($add_size_lang) ? round($bytes / 1024 / 1024, 2) . ' ' . $user->lang['MIB'] : round($bytes / 1024 / 1024, 2);\n\t}\n\n\tif ($bytes >= pow(2, 10))\n\t{\n\t\treturn ($add_size_lang) ? round($bytes / 1024, 2) . ' ' . $user->lang['KIB'] : round($bytes / 1024, 2);\n\t}\n\n\treturn ($add_size_lang) ? ($bytes) . ' ' . $user->lang['BYTES'] : ($bytes);\n}\n\n/**\n* Determine whether we are approaching the maximum execution time. Should be called once\n* at the beginning of the script in which it's used.\n* @return\tbool\tEither true if the maximum execution time is nearly reached, or false\n*\t\t\t\t\tif some time is still left.\n*/\nfunction still_on_time($extra_time = 15)\n{\n\tstatic $max_execution_time, $start_time;\n\n\t$time = explode(' ', microtime());\n\t$current_time = $time[0] + $time[1];\n\n\tif (empty($max_execution_time))\n\t{\n\t\t$max_execution_time = (function_exists('ini_get')) ? (int) @ini_get('max_execution_time') : (int) @get_cfg_var('max_execution_time');\n\n\t\t// If zero, then set to something higher to not let the user catch the ten seconds barrier.\n\t\tif ($max_execution_time === 0)\n\t\t{\n\t\t\t$max_execution_time = 50 + $extra_time;\n\t\t}\n\n\t\t$max_execution_time = min(max(10, ($max_execution_time - $extra_time)), 50);\n\n\t\t// For debugging purposes\n\t\t// $max_execution_time = 10;\n\n\t\tglobal $starttime;\n\t\t$start_time = (empty($starttime)) ? $current_time : $starttime;\n\t}\n\n\treturn (ceil($current_time - $start_time) < $max_execution_time) ? true : false;\n}\n\n/**\n*\n* @version Version 0.1 / slightly modified for phpBB 3.0.x (using $H$ as hash type identifier)\n*\n* Portable PHP password hashing framework.\n*\n* Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in\n* the public domain.\n*\n* There's absolutely no warranty.\n*\n* The homepage URL for this framework is:\n*\n*\thttp://www.openwall.com/phpass/\n*\n* Please be sure to update the Version line if you edit this file in any way.\n* It is suggested that you leave the main version number intact, but indicate\n* your project name (after the slash) and add your own revision information.\n*\n* Please do not change the \"private\" password hashing method implemented in\n* here, thereby making your hashes incompatible.  However, if you must, please\n* change the hash type identifier (the \"$P$\") to something different.\n*\n* Obviously, since this code is in the public domain, the above are not\n* requirements (there can be none), but merely suggestions.\n*\n*\n* Hash the password\n*/\nfunction phpbb_hash($password)\n{\n\t$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n\n\t$random_state = unique_id();\n\t$random = '';\n\t$count = 6;\n\n\tif (($fh = @fopen('/dev/urandom', 'rb')))\n\t{\n\t\t$random = fread($fh, $count);\n\t\tfclose($fh);\n\t}\n\n\tif (strlen($random) < $count)\n\t{\n\t\t$random = '';\n\n\t\tfor ($i = 0; $i < $count; $i += 16)\n\t\t{\n\t\t\t$random_state = md5(unique_id() . $random_state);\n\t\t\t$random .= pack('H*', md5($random_state));\n\t", 4096) = 4096
22452 14:44:04.433136 brk(0x2207000)    = 0x2207000
22452 14:44:04.433820 read(3, "\t}\n\t\t$random = substr($random, 0, $count);\n\t}\n\n\t$hash = _hash_crypt_private($password, _hash_gensalt_private($random, $itoa64), $itoa64);\n\n\tif (strlen($hash) == 34)\n\t{\n\t\treturn $hash;\n\t}\n\n\treturn md5($password);\n}\n\n/**\n* Check for correct password\n*\n* @param string $password The password in plain text\n* @param string $hash The stored password hash\n*\n* @return bool Returns true if the password is correct, false if not.\n*/\nfunction phpbb_check_hash($password, $hash)\n{\n\t$itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n\tif (strlen($hash) == 34)\n\t{\n\t\treturn (_hash_crypt_private($password, $hash, $itoa64) === $hash) ? true : false;\n\t}\n\n\treturn (md5($password) === $hash) ? true : false;\n}\n\n/**\n* Generate salt for hash generation\n*/\nfunction _hash_gensalt_private($input, &$itoa64, $iteration_count_log2 = 6)\n{\n\tif ($iteration_count_log2 < 4 || $iteration_count_log2 > 31)\n\t{\n\t\t$iteration_count_log2 = 8;\n\t}\n\n\t$output = '$H$';\n\t$output .= $itoa64[min($iteration_count_log2 + ((PHP_VERSION >= 5) ? 5 : 3), 30)];\n\t$output .= _hash_encode64($input, 6, $itoa64);\n\n\treturn $output;\n}\n\n/**\n* Encode hash\n*/\nfunction _hash_encode64($input, $count, &$itoa64)\n{\n\t$output = '';\n\t$i = 0;\n\n\tdo\n\t{\n\t\t$value = ord($input[$i++]);\n\t\t$output .= $itoa64[$value & 0x3f];\n\n\t\tif ($i < $count)\n\t\t{\n\t\t\t$value |= ord($input[$i]) << 8;\n\t\t}\n\n\t\t$output .= $itoa64[($value >> 6) & 0x3f];\n\n\t\tif ($i++ >= $count)\n\t\t{\n\t\t\tbreak;\n\t\t}\n\n\t\tif ($i < $count)\n\t\t{\n\t\t\t$value |= ord($input[$i]) << 16;\n\t\t}\n\n\t\t$output .= $itoa64[($value >> 12) & 0x3f];\n\n\t\tif ($i++ >= $count)\n\t\t{\n\t\t\tbreak;\n\t\t}\n\n\t\t$output .= $itoa64[($value >> 18) & 0x3f];\n\t}\n\twhile ($i < $count);\n\n\treturn $output;\n}\n\n/**\n* The crypt function/replacement\n*/\nfunction _hash_crypt_private($password, $setting, &$itoa64)\n{\n\t$output = '*';\n\n\t// Check for correct hash\n\tif (substr($setting, 0, 3) != '$H$')\n\t{\n\t\treturn $output;\n\t}\n\n\t$count_log2 = strpos($itoa64, $setting[3]);\n\n\tif ($count_log2 < 7 || $count_log2 > 30)\n\t{\n\t\treturn $output;\n\t}\n\n\t$count = 1 << $count_log2;\n\t$salt = substr($setting, 4, 8);\n\n\tif (strlen($salt) != 8)\n\t{\n\t\treturn $output;\n\t}\n\n\t/**\n\t* We're kind of forced to use MD5 here since it's the only\n\t* cryptographic primitive available in all versions of PHP\n\t* currently in use.  To implement our own low-level crypto\n\t* in PHP would result in much worse performance and\n\t* consequently in lower iteration counts and hashes that are\n\t* quicker to crack (by non-PHP code).\n\t*/\n\tif (PHP_VERSION >= 5)\n\t{\n\t\t$hash = md5($salt . $password, true);\n\t\tdo\n\t\t{\n\t\t\t$hash = md5($hash . $password, true);\n\t\t}\n\t\twhile (--$count);\n\t}\n\telse\n\t{\n\t\t$hash = pack('H*', md5($salt . $password));\n\t\tdo\n\t\t{\n\t\t\t$hash = pack('H*', md5($hash . $password));\n\t\t}\n\t\twhile (--$count);\n\t}\n\n\t$output = substr($setting, 0, 12);\n\t$output .= _hash_encode64($hash, 16, $itoa64);\n\n\treturn $output;\n}\n\n/**\n* Global function for chmodding directories and files for internal use\n*\n* This function determines owner and group whom the file belongs to and user and group of PHP and then set safest possible file permissions.\n* The function determines owner and group from common.php file and sets the same to the provided file.\n* The function uses bit fields to build the permissions.\n* The function sets the appropiate execute bit on directories.\n*\n* Supported constants representing bit fields are:\n*\n* CHMOD_ALL - all permissions (7)\n* CHMOD_READ - read permission (4)\n* CHMOD_WRITE - write permission (2)\n* CHMOD_EXECUTE - execute permission (1)\n*\n* NOTE: The function uses POSIX extension and fileowner()/filegroup() functions. If any of them is disabled, this function tries to build proper permissions, by calling is_readable() and is_writable() functions.\n*\n* @param string\t$filename\tThe file/directory to be chmodded\n* @param int\t$perms\t\tPermissions to set\n*\n* @return bool\ttrue on success, otherwise false\n* @author faw, phpBB Group\n*/\nfunction phpbb_chmod($filename, $perms = CHMOD_READ)\n{\n\tstatic $_chmod_info;\n\n\t// Return if the file no longer exists.\n\tif (!file_exists($filename))\n\t{\n\t\treturn false;\n\t}\n\n\t// Determine some common vars\n\tif (empty($_chmod_info))\n\t{\n\t\tif (!function_exists('fileowner') || !function_exists('filegroup'))\n\t\t{\n\t\t\t// No need to further determine owner/group - it is unknown\n\t\t\t$_chmod_info['process'] = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tglobal $phpbb_root_path, $phpEx;\n\n\t\t\t// Determine owner/group of common.php file and the filename we want to change here\n\t\t\t$common_php_owner = @fileowner($phpbb_root_path . 'common.' . $phpEx);\n\t\t\t$common_php_group = @filegroup($phpbb_root_path . 'common.' . $phpEx);\n\n\t\t\t// And the owner and the groups PHP is running under.\n\t\t\t$php_uid = (function_exists('posix_getuid')) ? @posix_getuid() : false;\n\t\t\t$php_gids = (function_exists('posix_getgroups')) ? @posix_getgroups() : false;\n\n\t\t\t// If we are unable to get owner/group, then do not try to set them by guessing\n\t\t\tif (!$php_uid || empty($php_gids) || !$common_php_owner || !$common_php_group)\n\t\t\t{\n\t\t\t\t$_chmod_info['process'] = false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$_chmod_info = array(\n\t\t\t\t\t'process'\t\t=> true,\n\t\t\t\t\t'common_owner'\t=> $common_php_owner,\n\t\t\t\t\t'common_group'\t=> $common_php_group,\n\t\t\t\t\t'php_uid'\t\t=> $php_uid,\n\t\t\t\t\t'php_gids'\t\t=> $php_gids,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ($_chmod_info['process'])\n\t{\n\t\t$file_uid = @fileowner($filename);\n\t\t$file_gid = @filegroup($filename);\n\n\t\t// Change owner\n\t\tif (@chown($filename, $_chmod_info['common_owner']))\n\t\t{\n\t\t\tclearstatcache();\n\t\t\t$file_uid = @fileowner($filename);\n\t\t}\n\n\t\t// Change group\n\t\tif (@chgrp($filename, $_chmod_info['common_group']))\n\t\t{\n\t\t\tclearstatcache();\n\t\t\t$file_gid = @filegroup($filename);\n\t\t}\n\n\t\t// If the file_uid/gid now match the one from common.php we can process further, else we are not able to change something\n\t\tif ($file_uid != $_chmod_info['common_owner'] || $file_gid != $_chmod_info['common_group'])\n\t\t{\n\t\t\t$_chmod_info['process'] = false;\n\t\t}\n\t}\n\n\t// Still able to process?\n\tif ($_chmod_info['process'])\n\t{\n\t\tif ($file_uid == $_chmod_info['php_uid'])\n\t\t{\n\t\t\t$php = 'owner';\n\t\t}\n\t\telse if (in_array($file_gid, $_chmod_info['php_gids']))\n\t\t{\n\t\t\t$php = 'group';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Since we are setting the everyone bit anyway, no need to do expensive operations\n\t\t\t$_chmod_info['process'] = false;\n\t\t}\n\t}\n\n\t// We are not able to determine or change something\n\tif (!$_chmod_info['process'])\n\t{\n\t\t$php = 'other';\n\t}\n\n\t// Owner always has read/write permission\n\t$owner = CHMOD_READ | CHMOD_WRITE;\n\tif (is_dir($filename))\n\t{\n\t\t$owner |= CHMOD_EXECUTE;\n\n\t\t// Only add execute bit to the permission if the dir needs to be readable\n\t\tif ($perms & CHMOD_READ)\n\t\t{\n\t\t\t$perms |= CHMOD_EXECUTE;\n\t\t}\n\t}\n\n\tswitch ($php)\n\t{\n\t\tcase 'owner':\n\t\t\t$result = @chmod($filename, ($owner << 6) + (0 << 3) + (0 << 0));\n\n\t\t\tclearstatcache();\n\n\t\t\tif (is_readable($filename) && is_writable($filename))\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\tcase 'group':\n\t\t\t$result = @chmod($filename, ($owner << 6) + ($perms << 3) + (0 << 0));\n\n\t\t\tclearstatcache();\n\n\t\t\tif ((!($perms & CHMOD_READ) || is_readable($filename)) && (!($perms & CHMOD_WRITE) || is_writable($filename)))\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\tcase 'other':\n\t\t\t$result = @chmod($filename, ($owner << 6) + ($perms << 3) + ($perms << 0));\n\n\t\t\tclearstatcache();\n\n\t\t\tif ((!($perms & CHMOD_READ) || is_readable($filename)) && (!($perms & CHMOD_WRITE) || is_writable($filename)))\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\tdefault:\n\t\t\treturn false;\n\t\tbreak;\n\t}\n\n\treturn $result;\n}\n\n// Compatibility functions\n\nif (!function_exists('array_combine'))\n{\n\t/**\n\t* A wrapper for the PHP5 function array_combine()\n\t* @param array $keys contains keys for the resulting array\n\t* @param array $values contains values for the resulting array\n\t*\n\t* @return Returns an array by using the values from the keys array as keys and the\n\t* \tvalues from the values array as the corresponding values. Returns false if the\n\t* \tnumber of elements for each array isn't equal or if the arrays are empty.\n\t*/\n\tfunction array_combine($keys, $values)\n\t{\n\t\t$keys = array_values($keys);\n\t\t$values = array_values($values);\n\n\t\t$n = sizeof($keys);\n\t\t$m = sizeof($values);\n\t\tif (!$n || !$m || ($n != $m))\n\t\t{\n\t\t\tr"..., 8192) = 8192
22452 14:44:04.437287 read(3, " $values[$i];\n\t\t}\n\t\treturn $combined;\n\t}\n}\n\nif (!function_exists('str_split'))\n{\n\t/**\n\t* A wrapper for the PHP5 function str_split()\n\t* @param array $string contains the string to be converted\n\t* @param array $split_length contains the length of each chunk\n\t*\n\t* @return  Converts a string to an array. If the optional split_length parameter is specified,\n\t*  \tthe returned array will be broken down into chunks with each being split_length in length,\n\t*  \totherwise each chunk will be one character in length. FALSE is returned if split_length is\n\t*  \tless than 1. If the split_length length exceeds the length of string, the entire string is\n\t*  \treturned as the first (and only) array element.\n\t*/\n\tfunction str_split($string, $split_length = 1)\n\t{\n\t\tif ($split_length < 1)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\telse if ($split_length >= strlen($string))\n\t\t{\n\t\t\treturn array($string);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpreg_match_all('#.{1,' . $split_length . '}#s', $string, $matches);\n\t\t\treturn $matches[0];\n\t\t}\n\t}\n}\n\nif (!function_exists('stripos'))\n{\n\t/**\n\t* A wrapper for the PHP5 function stripos\n\t* Find position of first occurrence of a case-insensitive string\n\t*\n\t* @param string $haystack is the string to search in\n\t* @param string $needle is the string to search for\n\t*\n\t* @return mixed Returns the numeric position of the first occurrence of needle in the haystack string. Unlike strpos(), stripos() is case-insensitive.\n\t* Note that the needle may be a string of one or more characters.\n\t* If needle is not found, stripos() will return boolean FALSE.\n\t*/\n\tfunction stripos($haystack, $needle)\n\t{\n\t\tif (preg_match('#' . preg_quote($needle, '#') . '#i', $haystack, $m))\n\t\t{\n\t\t\treturn strpos($haystack, $m[0]);\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n/**\n* Checks if a path ($path) is absolute or relative\n*\n* @param string $path Path to check absoluteness of\n* @return boolean\n*/\nfunction is_absolute($path)\n{\n\treturn ($path[0] == '/' || (DIRECTORY_SEPARATOR == '\\\\' && preg_match('#^[a-z]:[/\\\\\\]#i', $path))) ? true : false;\n}\n\n/**\n* @author Chris Smith <chris@project-minerva.org>\n* @copyright 2006 Project Minerva Team\n* @param string $path The path which we should attempt to resolve.\n* @return mixed\n*/\nfunction phpbb_own_realpath($path)\n{\n\t// Now to perform funky shizzle\n\n\t// Switch to use UNIX slashes\n\t$path = str_replace(DIRECTORY_SEPARATOR, '/', $path);\n\t$path_prefix = '';\n\n\t// Determine what sort of path we have\n\tif (is_absolute($path))\n\t{\n\t\t$absolute = true;\n\n\t\tif ($path[0] == '/')\n\t\t{\n\t\t\t// Absolute path, *NIX style\n\t\t\t$path_prefix = '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Absolute path, Windows style\n\t\t\t// Remove the drive letter and colon\n\t\t\t$path_prefix = $path[0] . ':';\n\t\t\t$path = substr($path, 2);\n\t\t}\n\t}\n\telse\n\t{\n\t\t// Relative Path\n\t\t// Prepend the current working directory\n\t\tif (function_exists('getcwd'))\n\t\t{\n\t\t\t// This is the best method, hopefully it is enabled!\n\t\t\t$path = str_replace(DIRECTORY_SEPARATOR, '/', getcwd()) . '/' . $path;\n\t\t\t$absolute = true;\n\t\t\tif (preg_match('#^[a-z]:#i', $path))\n\t\t\t{\n\t\t\t\t$path_prefix = $path[0] . ':';\n\t\t\t\t$path = substr($path, 2);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$path_prefix = '';\n\t\t\t}\n\t\t}\n\t\telse if (isset($_SERVER['SCRIPT_FILENAME']) && !empty($_SERVER['SCRIPT_FILENAME']))\n\t\t{\n\t\t\t// Warning: If chdir() has been used this will lie!\n\t\t\t// Warning: This has some problems sometime (CLI can create them easily)\n\t\t\t$path = str_replace(DIRECTORY_SEPARATOR, '/', dirname($_SERVER['SCRIPT_FILENAME'])) . '/' . $path;\n\t\t\t$absolute = true;\n\t\t\t$path_prefix = '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// We have no way of getting the absolute path, just run on using relative ones.\n\t\t\t$absolute = false;\n\t\t\t$path_prefix = '.';\n\t\t}\n\t}\n\n\t// Remove any repeated slashes\n\t$path = preg_replace('#/{2,}#', '/', $path);\n\n\t// Remove the slashes from the start and end of the path\n\t$path = trim($path, '/');\n\n\t// Break the string into little bits for us to nibble on\n\t$bits = explode('/', $path);\n\n\t// Remove any . in the path, renumber array for the loop below\n\t$bits = array_values(array_diff($bits, array('.')));\n\n\t// Lets get looping, run over and resolve any .. (up directory)\n\tfor ($i = 0, $max = sizeof($bits); $i < $max; $i++)\n\t{\n\t\t// @todo Optimise\n\t\tif ($bits[$i] == '..' )\n\t\t{\n\t\t\tif (isset($bits[$i - 1]))\n\t\t\t{\n\t\t\t\tif ($bits[$i - 1] != '..')\n\t\t\t\t{\n\t\t\t\t\t// We found a .. and we are able to traverse upwards, lets do it!\n\t\t\t\t\tunset($bits[$i]);\n\t\t\t\t\tunset($bits[$i - 1]);\n\t\t\t\t\t$i -= 2;\n\t\t\t\t\t$max -= 2;\n\t\t\t\t\t$bits = array_values($bits);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if ($absolute) // ie. !isset($bits[$i - 1]) && $absolute\n\t\t\t{\n\t\t\t\t// We have an absolute path trying to descend above the root of the filesystem\n\t\t\t\t// ... Error!\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Prepend the path prefix\n\tarray_unshift($bits, $path_prefix);\n\n\t$resolved = '';\n\n\t$max = sizeof($bits) - 1;\n\n\t// Check if we are able to resolve symlinks, Windows cannot.\n\t$symlink_resolve = (function_exists('readlink')) ? true : false;\n\n\tforeach ($bits as $i => $bit)\n\t{\n\t\tif (@is_dir(\"$resolved/$bit\") || ($i == $max && @is_file(\"$resolved/$bit\")))\n\t\t{\n\t\t\t// Path Exists\n\t\t\tif ($symlink_resolve && is_link(\"$resolved/$bit\") && ($link = readlink(\"$resolved/$bit\")))\n\t\t\t{\n\t\t\t\t// Resolved a symlink.\n\t\t\t\t$resolved = $link . (($i == $max) ? '' : '/');\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Something doesn't exist here!\n\t\t\t// This is correct realpath() behaviour but sadly open_basedir and safe_mode make this problematic\n\t\t\t// return false;\n\t\t}\n\t\t$resolved .= $bit . (($i == $max) ? '' : '/');\n\t}\n\n\t// @todo If the file exists fine and open_basedir only has one path we should be able to prepend it\n\t// because we must be inside that basedir, the question is where...\n\t// @internal The slash in is_dir() gets around an open_basedir restriction\n\tif (!@file_exists($resolved) || (!is_dir($resolved . '/') && !is_file($resolved)))\n\t{\n\t\treturn false;\n\t}\n\n\t// Put the slashes back to the native operating systems slashes\n\t$resolved = str_replace('/', DIRECTORY_SEPARATOR, $resolved);\n\n\t// Check for DIRECTORY_SEPARATOR at the end (and remove it!)\n\tif (substr($resolved, -1) == DIRECTORY_SEPARATOR)\n\t{\n\t\treturn substr($resolved, 0, -1);\n\t}\n\n\treturn $resolved; // We got here, in the end!\n}\n\nif (!function_exists('realpath'))\n{\n\t/**\n\t* A wrapper for realpath\n\t* @ignore\n\t*/\n\tfunction phpbb_realpath($path)\n\t{\n\t\treturn phpbb_own_realpath($path);\n\t}\n}\nelse\n{\n\t/**\n\t* A wrapper for realpath\n\t*/\n\tfunction phpbb_realpath($path)\n\t{\n\t\t$realpath = realpath($path);\n\n\t\t// Strangely there are provider not disabling realpath but returning strange values. :o\n\t\t// We at least try to cope with them.\n\t\tif ($realpath === $path || $realpath === false)\n\t\t{\n\t\t\treturn phpbb_own_realpath($path);\n\t\t}\n\n\t\t// Check for DIRECTORY_SEPARATOR at the end (and remove it!)\n\t\tif (substr($realpath, -1) == DIRECTORY_SEPARATOR)\n\t\t{\n\t\t\t$realpath = substr($realpath, 0, -1);\n\t\t}\n\n\t\treturn $realpath;\n\t}\n}\n\nif (!function_exists('htmlspecialchars_decode'))\n{\n\t/**\n\t* A wrapper for htmlspecialchars_decode\n\t* @ignore\n\t*/\n\tfunction htmlspecialchars_decode($string, $quote_style = ENT_COMPAT)\n\t{\n\t\treturn strtr($string, array_flip(get_html_translation_table(HTML_SPECIALCHARS, $quote_style)));\n\t}\n}\n\n// functions used for building option fields\n\n/**\n* Pick a language, any language ...\n*/\nfunction language_select($default = '')\n{\n\tglobal $db;\n\n\t$sql = 'SELECT lang_iso, lang_local_name\n\t\tFROM ' . LANG_TABLE . '\n\t\tORDER BY lang_english_name';\n\t$result = $db->sql_query($sql);\n\n\t$lang_options = '';\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$selected = ($row['lang_iso'] == $default) ? ' selected=\"selected\"' : '';\n\t\t$lang_options .= '<option value=\"' . $row['lang_iso'] . '\"' . $selected . '>' . $row['lang_local_name'] . '</option>';\n\t}\n\t$db->sql_freeresult($result);\n\n\treturn $lang_options;\n}\n\n/**\n* Pick a template/theme combo,\n*/\nfunction style_select($default = '', $all = false)\n{\n\tglobal $db;\n\n\t$sql_where = (!$all) ? 'WHERE style_active = 1 ' : '';\n\t$sql = 'SELECT style_id, style_name\n\t\tFROM ' . STYLES_TABLE . \"\n\t\t$sql_where\n\t\tORDER BY style_name\";\n\t$result = $db->sql_query($sql);\n\n\t$style_options = '';\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$selected = ($row['"..., 8192) = 8192
22452 14:44:04.440646 read(3, "'style_id'] . '\"' . $selected . '>' . $row['style_name'] . '</option>';\n\t}\n\t$db->sql_freeresult($result);\n\n\treturn $style_options;\n}\n\n/**\n* Pick a timezone\n*/\nfunction tz_select($default = '', $truncate = false)\n{\n\tglobal $user;\n\n\t$tz_select = '';\n\tforeach ($user->lang['tz_zones'] as $offset => $zone)\n\t{\n\t\tif ($truncate)\n\t\t{\n\t\t\t$zone_trunc = truncate_string($zone, 50, 255, false, '...');\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$zone_trunc = $zone;\n\t\t}\n\n\t\tif (is_numeric($offset))\n\t\t{\n\t\t\t$selected = ($offset == $default) ? ' selected=\"selected\"' : '';\n\t\t\t$tz_select .= '<option title=\"'.$zone.'\" value=\"' . $offset . '\"' . $selected . '>' . $zone_trunc . '</option>';\n\t\t}\n\t}\n\n\treturn $tz_select;\n}\n\n// Functions handling topic/post tracking/marking\n\n/**\n* Marks a topic/forum as read\n* Marks a topic as posted to\n*\n* @param int $user_id can only be used with $mode == 'post'\n*/\nfunction markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $user_id = 0)\n{\n\tglobal $db, $user, $config;\n\n\tif ($mode == 'all')\n\t{\n\t\tif ($forum_id === false || !sizeof($forum_id))\n\t\t{\n\t\t\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t\t\t{\n\t\t\t\t// Mark all forums read (index page)\n\t\t\t\t$db->sql_query('DELETE FROM ' . TOPICS_TRACK_TABLE . \" WHERE user_id = {$user->data['user_id']}\");\n\t\t\t\t$db->sql_query('DELETE FROM ' . FORUMS_TRACK_TABLE . \" WHERE user_id = {$user->data['user_id']}\");\n\t\t\t\t$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_lastmark = ' . time() . \" WHERE user_id = {$user->data['user_id']}\");\n\t\t\t}\n\t\t\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t\t\t{\n\t\t\t\t$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t\t\t$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();\n\n\t\t\t\tunset($tracking_topics['tf']);\n\t\t\t\tunset($tracking_topics['t']);\n\t\t\t\tunset($tracking_topics['f']);\n\t\t\t\t$tracking_topics['l'] = base_convert(time() - $config['board_startdate'], 10, 36);\n\n\t\t\t\t$user->set_cookie('track', tracking_serialize($tracking_topics), time() + 31536000);\n\t\t\t\t$_COOKIE[$config['cookie_name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking_topics)) : tracking_serialize($tracking_topics);\n\n\t\t\t\tunset($tracking_topics);\n\n\t\t\t\tif ($user->data['is_registered'])\n\t\t\t\t{\n\t\t\t\t\t$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_lastmark = ' . time() . \" WHERE user_id = {$user->data['user_id']}\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn;\n\t}\n\telse if ($mode == 'topics')\n\t{\n\t\t// Mark all topics in forums read\n\t\tif (!is_array($forum_id))\n\t\t{\n\t\t\t$forum_id = array($forum_id);\n\t\t}\n\n\t\t// Add 0 to forums array to mark global announcements correctly\n\t\t$forum_id[] = 0;\n\n\t\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t\t{\n\t\t\t$sql = 'DELETE FROM ' . TOPICS_TRACK_TABLE . \"\n\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\tAND \" . $db->sql_in_set('forum_id', $forum_id);\n\t\t\t$db->sql_query($sql);\n\n\t\t\t$sql = 'SELECT forum_id\n\t\t\t\tFROM ' . FORUMS_TRACK_TABLE . \"\n\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\tAND \" . $db->sql_in_set('forum_id', $forum_id);\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$sql_update = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$sql_update[] = (int) $row['forum_id'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\tif (sizeof($sql_update))\n\t\t\t{\n\t\t\t\t$sql = 'UPDATE ' . FORUMS_TRACK_TABLE . '\n\t\t\t\t\tSET mark_time = ' . time() . \"\n\t\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\t\tAND \" . $db->sql_in_set('forum_id', $sql_update);\n\t\t\t\t$db->sql_query($sql);\n\t\t\t}\n\n\t\t\tif ($sql_insert = array_diff($forum_id, $sql_update))\n\t\t\t{\n\t\t\t\t$sql_ary = array();\n\t\t\t\tforeach ($sql_insert as $f_id)\n\t\t\t\t{\n\t\t\t\t\t$sql_ary[] = array(\n\t\t\t\t\t\t'user_id'\t=> (int) $user->data['user_id'],\n\t\t\t\t\t\t'forum_id'\t=> (int) $f_id,\n\t\t\t\t\t\t'mark_time'\t=> time()\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t$db->sql_multi_insert(FORUMS_TRACK_TABLE, $sql_ary);\n\t\t\t}\n\t\t}\n\t\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t\t{\n\t\t\t$tracking = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t\t$tracking = ($tracking) ? tracking_unserialize($tracking) : array();\n\n\t\t\tforeach ($forum_id as $f_id)\n\t\t\t{\n\t\t\t\t$topic_ids36 = (isset($tracking['tf'][$f_id])) ? $tracking['tf'][$f_id] : array();\n\n\t\t\t\tif (isset($tracking['tf'][$f_id]))\n\t\t\t\t{\n\t\t\t\t\tunset($tracking['tf'][$f_id]);\n\t\t\t\t}\n\n\t\t\t\tforeach ($topic_ids36 as $topic_id36)\n\t\t\t\t{\n\t\t\t\t\tunset($tracking['t'][$topic_id36]);\n\t\t\t\t}\n\n\t\t\t\tif (isset($tracking['f'][$f_id]))\n\t\t\t\t{\n\t\t\t\t\tunset($tracking['f'][$f_id]);\n\t\t\t\t}\n\n\t\t\t\t$tracking['f'][$f_id] = base_convert(time() - $config['board_startdate'], 10, 36);\n\t\t\t}\n\n\t\t\tif (isset($tracking['tf']) && empty($tracking['tf']))\n\t\t\t{\n\t\t\t\tunset($tracking['tf']);\n\t\t\t}\n\n\t\t\t$user->set_cookie('track', tracking_serialize($tracking), time() + 31536000);\n\t\t\t$_COOKIE[$config['cookie_name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking)) : tracking_serialize($tracking);\n\n\t\t\tunset($tracking);\n\t\t}\n\n\t\treturn;\n\t}\n\telse if ($mode == 'topic')\n\t{\n\t\tif ($topic_id === false || $forum_id === false)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t\t{\n\t\t\t$sql = 'UPDATE ' . TOPICS_TRACK_TABLE . '\n\t\t\t\tSET mark_time = ' . (($post_time) ? $post_time : time()) . \"\n\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\tAND topic_id = $topic_id\";\n\t\t\t$db->sql_query($sql);\n\n\t\t\t// insert row\n\t\t\tif (!$db->sql_affectedrows())\n\t\t\t{\n\t\t\t\t$db->sql_return_on_error(true);\n\n\t\t\t\t$sql_ary = array(\n\t\t\t\t\t'user_id'\t\t=> (int) $user->data['user_id'],\n\t\t\t\t\t'topic_id'\t\t=> (int) $topic_id,\n\t\t\t\t\t'forum_id'\t\t=> (int) $forum_id,\n\t\t\t\t\t'mark_time'\t\t=> ($post_time) ? (int) $post_time : time(),\n\t\t\t\t);\n\n\t\t\t\t$db->sql_query('INSERT INTO ' . TOPICS_TRACK_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));\n\n\t\t\t\t$db->sql_return_on_error(false);\n\t\t\t}\n\t\t}\n\t\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t\t{\n\t\t\t$tracking = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t\t$tracking = ($tracking) ? tracking_unserialize($tracking) : array();\n\n\t\t\t$topic_id36 = base_convert($topic_id, 10, 36);\n\n\t\t\tif (!isset($tracking['t'][$topic_id36]))\n\t\t\t{\n\t\t\t\t$tracking['tf'][$forum_id][$topic_id36] = true;\n\t\t\t}\n\n\t\t\t$post_time = ($post_time) ? $post_time : time();\n\t\t\t$tracking['t'][$topic_id36] = base_convert($post_time - $config['board_startdate'], 10, 36);\n\n\t\t\t// If the cookie grows larger than 10000 characters we will remove the smallest value\n\t\t\t// This can result in old topics being unread - but most of the time it should be accurate...\n\t\t\tif (isset($_COOKIE[$config['cookie_name'] . '_track']) && strlen($_COOKIE[$config['cookie_name'] . '_track']) > 10000)\n\t\t\t{\n\t\t\t\t//echo 'Cookie grown too large' . print_r($tracking, true);\n\n\t\t\t\t// We get the ten most minimum stored time offsets and its associated topic ids\n\t\t\t\t$time_keys = array();\n\t\t\t\tfor ($i = 0; $i < 10 && sizeof($tracking['t']); $i++)\n\t\t\t\t{\n\t\t\t\t\t$min_value = min($tracking['t']);\n\t\t\t\t\t$m_tkey = array_search($min_value, $tracking['t']);\n\t\t\t\t\tunset($tracking['t'][$m_tkey]);\n\n\t\t\t\t\t$time_keys[$m_tkey] = $min_value;\n\t\t\t\t}\n\n\t\t\t\t// Now remove the topic ids from the array...\n\t\t\t\tforeach ($tracking['tf'] as $f_id => $topic_id_ary)\n\t\t\t\t{\n\t\t\t\t\tforeach ($time_keys as $m_tkey => $min_value)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (isset($topic_id_ary[$m_tkey]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$tracking['f'][$f_id] = $min_value;\n\t\t\t\t\t\t\tunset($tracking['tf'][$f_id][$m_tkey]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ($user->data['is_registered'])\n\t\t\t\t{\n\t\t\t\t\t$user->data['user_lastmark'] = intval(base_convert(max($time_keys) + $config['board_startdate'], 36, 10));\n\t\t\t\t\t$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_lastmark = ' . $user->data['user_lastmark'] . \" WHERE user_id = {$user->data['user_id']}\");\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$tracking['l'] = max($time_keys);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$user-"..., 8192) = 8192
22452 14:44:04.444640 brk(0x2247000)    = 0x2247000
22452 14:44:04.446073 read(3, "name'] . '_track'] = (STRIP) ? addslashes(tracking_serialize($tracking)) : tracking_serialize($tracking);\n\t\t}\n\n\t\treturn;\n\t}\n\telse if ($mode == 'post')\n\t{\n\t\tif ($topic_id === false)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\t$use_user_id = (!$user_id) ? $user->data['user_id'] : $user_id;\n\n\t\tif ($config['load_db_track'] && $use_user_id != ANONYMOUS)\n\t\t{\n\t\t\t$db->sql_return_on_error(true);\n\n\t\t\t$sql_ary = array(\n\t\t\t\t'user_id'\t\t=> (int) $use_user_id,\n\t\t\t\t'topic_id'\t\t=> (int) $topic_id,\n\t\t\t\t'topic_posted'\t=> 1\n\t\t\t);\n\n\t\t\t$db->sql_query('INSERT INTO ' . TOPICS_POSTED_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));\n\n\t\t\t$db->sql_return_on_error(false);\n\t\t}\n\n\t\treturn;\n\t}\n}\n\n/**\n* Get topic tracking info by using already fetched info\n*/\nfunction get_topic_tracking($forum_id, $topic_ids, &$rowset, $forum_mark_time, $global_announce_list = false)\n{\n\tglobal $config, $user;\n\n\t$last_read = array();\n\n\tif (!is_array($topic_ids))\n\t{\n\t\t$topic_ids = array($topic_ids);\n\t}\n\n\tforeach ($topic_ids as $topic_id)\n\t{\n\t\tif (!empty($rowset[$topic_id]['mark_time']))\n\t\t{\n\t\t\t$last_read[$topic_id] = $rowset[$topic_id]['mark_time'];\n\t\t}\n\t}\n\n\t$topic_ids = array_diff($topic_ids, array_keys($last_read));\n\n\tif (sizeof($topic_ids))\n\t{\n\t\t$mark_time = array();\n\n\t\t// Get global announcement info\n\t\tif ($global_announce_list && sizeof($global_announce_list))\n\t\t{\n\t\t\tif (!isset($forum_mark_time[0]))\n\t\t\t{\n\t\t\t\tglobal $db;\n\n\t\t\t\t$sql = 'SELECT mark_time\n\t\t\t\t\tFROM ' . FORUMS_TRACK_TABLE . \"\n\t\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\t\tAND forum_id = 0\";\n\t\t\t\t$result = $db->sql_query($sql);\n\t\t\t\t$row = $db->sql_fetchrow($result);\n\t\t\t\t$db->sql_freeresult($result);\n\n\t\t\t\tif ($row)\n\t\t\t\t{\n\t\t\t\t\t$mark_time[0] = $row['mark_time'];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif ($forum_mark_time[0] !== false)\n\t\t\t\t{\n\t\t\t\t\t$mark_time[0] = $forum_mark_time[0];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!empty($forum_mark_time[$forum_id]) && $forum_mark_time[$forum_id] !== false)\n\t\t{\n\t\t\t$mark_time[$forum_id] = $forum_mark_time[$forum_id];\n\t\t}\n\n\t\t$user_lastmark = (isset($mark_time[$forum_id])) ? $mark_time[$forum_id] : $user->data['user_lastmark'];\n\n\t\tforeach ($topic_ids as $topic_id)\n\t\t{\n\t\t\tif ($global_announce_list && isset($global_announce_list[$topic_id]))\n\t\t\t{\n\t\t\t\t$last_read[$topic_id] = (isset($mark_time[0])) ? $mark_time[0] : $user_lastmark;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$last_read[$topic_id] = $user_lastmark;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn $last_read;\n}\n\n/**\n* Get topic tracking info from db (for cookie based tracking only this function is used)\n*/\nfunction get_complete_topic_tracking($forum_id, $topic_ids, $global_announce_list = false)\n{\n\tglobal $config, $user;\n\n\t$last_read = array();\n\n\tif (!is_array($topic_ids))\n\t{\n\t\t$topic_ids = array($topic_ids);\n\t}\n\n\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t{\n\t\tglobal $db;\n\n\t\t$sql = 'SELECT topic_id, mark_time\n\t\t\tFROM ' . TOPICS_TRACK_TABLE . \"\n\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\tAND \" . $db->sql_in_set('topic_id', $topic_ids);\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t$last_read[$row['topic_id']] = $row['mark_time'];\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\t$topic_ids = array_diff($topic_ids, array_keys($last_read));\n\n\t\tif (sizeof($topic_ids))\n\t\t{\n\t\t\t$sql = 'SELECT forum_id, mark_time\n\t\t\t\tFROM ' . FORUMS_TRACK_TABLE . \"\n\t\t\t\tWHERE user_id = {$user->data['user_id']}\n\t\t\t\t\tAND forum_id \" .\n\t\t\t\t\t(($global_announce_list && sizeof($global_announce_list)) ? \"IN (0, $forum_id)\" : \"= $forum_id\");\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$mark_time = array();\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$mark_time[$row['forum_id']] = $row['mark_time'];\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$user_lastmark = (isset($mark_time[$forum_id])) ? $mark_time[$forum_id] : $user->data['user_lastmark'];\n\n\t\t\tforeach ($topic_ids as $topic_id)\n\t\t\t{\n\t\t\t\tif ($global_announce_list && isset($global_announce_list[$topic_id]))\n\t\t\t\t{\n\t\t\t\t\t$last_read[$topic_id] = (isset($mark_time[0])) ? $mark_time[0] : $user_lastmark;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$last_read[$topic_id] = $user_lastmark;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t{\n\t\tglobal $tracking_topics;\n\n\t\tif (!isset($tracking_topics) || !sizeof($tracking_topics))\n\t\t{\n\t\t\t$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t\t$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();\n\t\t}\n\n\t\tif (!$user->data['is_registered'])\n\t\t{\n\t\t\t$user_lastmark = (isset($tracking_topics['l'])) ? base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate'] : 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$user_lastmark = $user->data['user_lastmark'];\n\t\t}\n\n\t\tforeach ($topic_ids as $topic_id)\n\t\t{\n\t\t\t$topic_id36 = base_convert($topic_id, 10, 36);\n\n\t\t\tif (isset($tracking_topics['t'][$topic_id36]))\n\t\t\t{\n\t\t\t\t$last_read[$topic_id] = base_convert($tracking_topics['t'][$topic_id36], 36, 10) + $config['board_startdate'];\n\t\t\t}\n\t\t}\n\n\t\t$topic_ids = array_diff($topic_ids, array_keys($last_read));\n\n\t\tif (sizeof($topic_ids))\n\t\t{\n\t\t\t$mark_time = array();\n\t\t\tif ($global_announce_list && sizeof($global_announce_list))\n\t\t\t{\n\t\t\t\tif (isset($tracking_topics['f'][0]))\n\t\t\t\t{\n\t\t\t\t\t$mark_time[0] = base_convert($tracking_topics['f'][0], 36, 10) + $config['board_startdate'];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isset($tracking_topics['f'][$forum_id]))\n\t\t\t{\n\t\t\t\t$mark_time[$forum_id] = base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate'];\n\t\t\t}\n\n\t\t\t$user_lastmark = (isset($mark_time[$forum_id])) ? $mark_time[$forum_id] : $user_lastmark;\n\n\t\t\tforeach ($topic_ids as $topic_id)\n\t\t\t{\n\t\t\t\tif ($global_announce_list && isset($global_announce_list[$topic_id]))\n\t\t\t\t{\n\t\t\t\t\t$last_read[$topic_id] = (isset($mark_time[0])) ? $mark_time[0] : $user_lastmark;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$last_read[$topic_id] = $user_lastmark;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn $last_read;\n}\n\n/**\n* Check for read forums and update topic tracking info accordingly\n*\n* @param int $forum_id the forum id to check\n* @param int $forum_last_post_time the forums last post time\n* @param int $f_mark_time the forums last mark time if user is registered and load_db_lastread enabled\n* @param int $mark_time_forum false if the mark time needs to be obtained, else the last users forum mark time\n*\n* @return true if complete forum got marked read, else false.\n*/\nfunction update_forum_tracking_info($forum_id, $forum_last_post_time, $f_mark_time = false, $mark_time_forum = false)\n{\n\tglobal $db, $tracking_topics, $user, $config;\n\n\t// Determine the users last forum mark time if not given.\n\tif ($mark_time_forum === false)\n\t{\n\t\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t\t{\n\t\t\t$mark_time_forum = (!empty($f_mark_time)) ? $f_mark_time : $user->data['user_lastmark'];\n\t\t}\n\t\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t\t{\n\t\t\t$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t\t$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();\n\n\t\t\tif (!$user->data['is_registered'])\n\t\t\t{\n\t\t\t\t$user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;\n\t\t\t}\n\n\t\t\t$mark_time_forum = (isset($tracking_topics['f'][$forum_id])) ? (int) (base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']) : $user->data['user_lastmark'];\n\t\t}\n\t}\n\n\t// Check the forum for any left unread topics.\n\t// If there are none, we mark the forum as read.\n\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t{\n\t\tif ($mark_time_forum >= $forum_last_post_time)\n\t\t{\n\t\t\t// We do not need to mark read, this happened before. Therefore setting this to true\n\t\t\t$row = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$sql = 'SELECT t.forum_id FROM ' . TOPICS_TABLE . ' t\n\t\t\t\tLEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (tt.topic_id = t.topic_id AND tt."..., 8192) = 8192
22452 14:44:04.451098 read(3, "last_post_time > ' . $mark_time_forum . '\n\t\t\t\t\tAND t.topic_moved_id = 0\n\t\t\t\t\tAND (tt.topic_id IS NULL OR tt.mark_time < t.topic_last_post_time)\n\t\t\t\tGROUP BY t.forum_id';\n\t\t\t$result = $db->sql_query_limit($sql, 1);\n\t\t\t$row = $db->sql_fetchrow($result);\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\t}\n\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t{\n\t\t// Get information from cookie\n\t\t$row = false;\n\n\t\tif (!isset($tracking_topics['tf'][$forum_id]))\n\t\t{\n\t\t\t// We do not need to mark read, this happened before. Therefore setting this to true\n\t\t\t$row = true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$sql = 'SELECT topic_id\n\t\t\t\tFROM ' . TOPICS_TABLE . '\n\t\t\t\tWHERE forum_id = ' . $forum_id . '\n\t\t\t\t\tAND topic_last_post_time > ' . $mark_time_forum . '\n\t\t\t\t\tAND topic_moved_id = 0';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$check_forum = $tracking_topics['tf'][$forum_id];\n\t\t\t$unread = false;\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\tif (!isset($check_forum[base_convert($row['topic_id'], 10, 36)]))\n\t\t\t\t{\n\t\t\t\t\t$unread = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$row = $unread;\n\t\t}\n\t}\n\telse\n\t{\n\t\t$row = true;\n\t}\n\n\tif (!$row)\n\t{\n\t\tmarkread('topics', $forum_id);\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\n/**\n* Transform an array into a serialized format\n*/\nfunction tracking_serialize($input)\n{\n\t$out = '';\n\tforeach ($input as $key => $value)\n\t{\n\t\tif (is_array($value))\n\t\t{\n\t\t\t$out .= $key . ':(' . tracking_serialize($value) . ');';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$out .= $key . ':' . $value . ';';\n\t\t}\n\t}\n\treturn $out;\n}\n\n/**\n* Transform a serialized array into an actual array\n*/\nfunction tracking_unserialize($string, $max_depth = 3)\n{\n\t$n = strlen($string);\n\tif ($n > 10010)\n\t{\n\t\tdie('Invalid data supplied');\n\t}\n\t$data = $stack = array();\n\t$key = '';\n\t$mode = 0;\n\t$level = &$data;\n\tfor ($i = 0; $i < $n; ++$i)\n\t{\n\t\tswitch ($mode)\n\t\t{\n\t\t\tcase 0:\n\t\t\t\tswitch ($string[$i])\n\t\t\t\t{\n\t\t\t\t\tcase ':':\n\t\t\t\t\t\t$level[$key] = 0;\n\t\t\t\t\t\t$mode = 1;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase ')':\n\t\t\t\t\t\tunset($level);\n\t\t\t\t\t\t$level = array_pop($stack);\n\t\t\t\t\t\t$mode = 3;\n\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$key .= $string[$i];\n\t\t\t\t}\n\t\t\tbreak;\n\n\t\t\tcase 1:\n\t\t\t\tswitch ($string[$i])\n\t\t\t\t{\n\t\t\t\t\tcase '(':\n\t\t\t\t\t\tif (sizeof($stack) >= $max_depth)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdie('Invalid data supplied');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$stack[] = &$level;\n\t\t\t\t\t\t$level[$key] = array();\n\t\t\t\t\t\t$level = &$level[$key];\n\t\t\t\t\t\t$key = '';\n\t\t\t\t\t\t$mode = 0;\n\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$level[$key] = $string[$i];\n\t\t\t\t\t\t$mode = 2;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tbreak;\n\n\t\t\tcase 2:\n\t\t\t\tswitch ($string[$i])\n\t\t\t\t{\n\t\t\t\t\tcase ')':\n\t\t\t\t\t\tunset($level);\n\t\t\t\t\t\t$level = array_pop($stack);\n\t\t\t\t\t\t$mode = 3;\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase ';':\n\t\t\t\t\t\t$key = '';\n\t\t\t\t\t\t$mode = 0;\n\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t$level[$key] .= $string[$i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tbreak;\n\n\t\t\tcase 3:\n\t\t\t\tswitch ($string[$i])\n\t\t\t\t{\n\t\t\t\t\tcase ')':\n\t\t\t\t\t\tunset($level);\n\t\t\t\t\t\t$level = array_pop($stack);\n\t\t\t\t\tbreak;\n\t\t\t\t\tcase ';':\n\t\t\t\t\t\t$key = '';\n\t\t\t\t\t\t$mode = 0;\n\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tdie('Invalid data supplied');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (sizeof($stack) != 0 || ($mode != 0 && $mode != 3))\n\t{\n\t\tdie('Invalid data supplied');\n\t}\n\n\treturn $level;\n}\n\n// Pagination functions\n\n/**\n* Pagination routine, generates page number sequence\n* tpl_prefix is for using different pagination blocks at one page\n*/\nfunction generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = false, $tpl_prefix = '')\n{\n\tglobal $template, $user;\n\n\t// Make sure $per_page is a valid value\n\t$per_page = ($per_page <= 0) ? 1 : $per_page;\n\n\t$seperator = '<span class=\"page-sep\">' . $user->lang['COMMA_SEPARATOR'] . '</span>';\n\t$total_pages = ceil($num_items / $per_page);\n\n\tif ($total_pages == 1 || !$num_items)\n\t{\n\t\treturn false;\n\t}\n\n\t$on_page = floor($start_item / $per_page) + 1;\n\t$url_delim = (strpos($base_url, '?') === false) ? '?' : '&amp;';\n\n\t$page_string = ($on_page == 1) ? '<strong>1</strong>' : '<a href=\"' . $base_url . '\">1</a>';\n\n\tif ($total_pages > 5)\n\t{\n\t\t$start_cnt = min(max(1, $on_page - 4), $total_pages - 5);\n\t\t$end_cnt = max(min($total_pages, $on_page + 4), 6);\n\n\t\t$page_string .= ($start_cnt > 1) ? ' ... ' : $seperator;\n\n\t\tfor ($i = $start_cnt + 1; $i < $end_cnt; $i++)\n\t\t{\n\t\t\t$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href=\"' . $base_url . \"{$url_delim}start=\" . (($i - 1) * $per_page) . '\">' . $i . '</a>';\n\t\t\tif ($i < $end_cnt - 1)\n\t\t\t{\n\t\t\t\t$page_string .= $seperator;\n\t\t\t}\n\t\t}\n\n\t\t$page_string .= ($end_cnt < $total_pages) ? ' ... ' : $seperator;\n\t}\n\telse\n\t{\n\t\t$page_string .= $seperator;\n\n\t\tfor ($i = 2; $i < $total_pages; $i++)\n\t\t{\n\t\t\t$page_string .= ($i == $on_page) ? '<strong>' . $i . '</strong>' : '<a href=\"' . $base_url . \"{$url_delim}start=\" . (($i - 1) * $per_page) . '\">' . $i . '</a>';\n\t\t\tif ($i < $total_pages)\n\t\t\t{\n\t\t\t\t$page_string .= $seperator;\n\t\t\t}\n\t\t}\n\t}\n\n\t$page_string .= ($on_page == $total_pages) ? '<strong>' . $total_pages . '</strong>' : '<a href=\"' . $base_url . \"{$url_delim}start=\" . (($total_pages - 1) * $per_page) . '\">' . $total_pages . '</a>';\n\n\tif ($add_prevnext_text)\n\t{\n\t\tif ($on_page != 1)\n\t\t{\n\t\t\t$page_string = '<a href=\"' . $base_url . \"{$url_delim}start=\" . (($on_page - 2) * $per_page) . '\">' . $user->lang['PREVIOUS'] . '</a>&nbsp;&nbsp;' . $page_string;\n\t\t}\n\n\t\tif ($on_page != $total_pages)\n\t\t{\n\t\t\t$page_string .= '&nbsp;&nbsp;<a href=\"' . $base_url . \"{$url_delim}start=\" . ($on_page * $per_page) . '\">' . $user->lang['NEXT'] . '</a>';\n\t\t}\n\t}\n\n\t$template->assign_vars(array(\n\t\t$tpl_prefix . 'BASE_URL'\t\t=> $base_url,\n\t\t'A_' . $tpl_prefix . 'BASE_URL'\t=> addslashes($base_url),\n\t\t$tpl_prefix . 'PER_PAGE'\t\t=> $per_page,\n\n\t\t$tpl_prefix . 'PREVIOUS_PAGE'\t=> ($on_page == 1) ? '' : $base_url . \"{$url_delim}start=\" . (($on_page - 2) * $per_page),\n\t\t$tpl_prefix . 'NEXT_PAGE'\t\t=> ($on_page == $total_pages) ? '' : $base_url . \"{$url_delim}start=\" . ($on_page * $per_page),\n\t\t$tpl_prefix . 'TOTAL_PAGES'\t\t=> $total_pages,\n\t));\n\n\treturn $page_string;\n}\n\n/**\n* Return current page (pagination)\n*/\nfunction on_page($num_items, $per_page, $start)\n{\n\tglobal $template, $user;\n\n\t// Make sure $per_page is a valid value\n\t$per_page = ($per_page <= 0) ? 1 : $per_page;\n\n\t$on_page = floor($start / $per_page) + 1;\n\n\t$template->assign_vars(array(\n\t\t'ON_PAGE'\t\t=> $on_page)\n\t);\n\n\treturn sprintf($user->lang['PAGE_OF'], $on_page, max(ceil($num_items / $per_page), 1));\n}\n\n// Server functions (building urls, redirecting...)\n\n/**\n* Append session id to url.\n* This function supports hooks.\n*\n* @param string $url The url the session id needs to be appended to (can have params)\n* @param mixed $params String or array of additional url parameters\n* @param bool $is_amp Is url using &amp; (true) or & (false)\n* @param string $session_id Possibility to use a custom session id instead of the global one\n*\n* Examples:\n* <code>\n* append_sid(\"{$phpbb_root_path}viewtopic.$phpEx?t=1&amp;f=2\");\n* append_sid(\"{$phpbb_root_path}viewtopic.$phpEx\", 't=1&amp;f=2');\n* append_sid(\"{$phpbb_root_path}viewtopic.$phpEx\", 't=1&f=2', false);\n* append_sid(\"{$phpbb_root_path}viewtopic.$phpEx\", array('t' => 1, 'f' => 2));\n* </code>\n*\n*/\nfunction append_sid($url, $params = false, $is_amp = true, $session_id = false)\n{\n\tglobal $_SID, $_EXTRA_URL, $phpbb_hook;\n\n\t// Developers using the hook function need to globalise the $_SID and $_EXTRA_URL on their own and also handle it appropiatly.\n\t// They could mimick most of what is within this function\n\tif (!empty($phpbb_hook) && $phpbb_hook->call_hook(__FUNCTION__, $url, $params, $is_amp, $session_id))\n\t{\n\t\tif ($phpbb_hook->hook_return(__FUNCTION__))\n\t\t{\n\t\t\treturn $phpbb_hook->hook_return_result(__FUNCTION__);\n\t\t}\n\t}\n\n\t$params_is_array = is_array($params);\n\n\t// Get anchor\n\t$anchor = '';\n\tif (strpos($url, '#') !== false)\n\t{\n\t\tlist($url, $anchor) = explode('#', $url, 2);\n\t\t$anchor = '#' . $anchor;\n\t}\n\telse if (!$params_is_array && strpos($params, '#') !== false)\n\t{\n\t\tlist($params, $anchor) = explode('#', $params, 2);\n\t\t$anchor = '#' . $anchor;\n\t}\n\n\t// Handle really simple cases quickly\n\tif ($_SID == '' && $session_id === false && empty($_EXTRA_URL) && !$params_is_ar"..., 8192) = 8192
22452 14:44:04.454990 read(3, "?') === false) ? '?' : (($is_amp) ? '&amp;' : '&');\n\t\treturn $url . ($params !== false ? $url_delim. $params : '');\n\t}\n\n\t// Assign sid if session id is not specified\n\tif ($session_id === false)\n\t{\n\t\t$session_id = $_SID;\n\t}\n\n\t$amp_delim = ($is_amp) ? '&amp;' : '&';\n\t$url_delim = (strpos($url, '?') === false) ? '?' : $amp_delim;\n\n\t// Appending custom url parameter?\n\t$append_url = (!empty($_EXTRA_URL)) ? implode($amp_delim, $_EXTRA_URL) : '';\n\n\t// Use the short variant if possible ;)\n\tif ($params === false)\n\t{\n\t\t// Append session id\n\t\tif (!$session_id)\n\t\t{\n\t\t\treturn $url . (($append_url) ? $url_delim . $append_url : '') . $anchor;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn $url . (($append_url) ? $url_delim . $append_url . $amp_delim : $url_delim) . 'sid=' . $session_id . $anchor;\n\t\t}\n\t}\n\n\t// Build string if parameters are specified as array\n\tif (is_array($params))\n\t{\n\t\t$output = array();\n\n\t\tforeach ($params as $key => $item)\n\t\t{\n\t\t\tif ($item === NULL)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ($key == '#')\n\t\t\t{\n\t\t\t\t$anchor = '#' . $item;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$output[] = $key . '=' . $item;\n\t\t}\n\n\t\t$params = implode($amp_delim, $output);\n\t}\n\n\t// Append session id and parameters (even if they are empty)\n\t// If parameters are empty, the developer can still append his/her parameters without caring about the delimiter\n\treturn $url . (($append_url) ? $url_delim . $append_url . $amp_delim : $url_delim) . $params . ((!$session_id) ? '' : $amp_delim . 'sid=' . $session_id) . $anchor;\n}\n\n/**\n* Generate board url (example: http://www.example.com/phpBB)\n* @param bool $without_script_path if set to true the script path gets not appended (example: http://www.example.com)\n*/\nfunction generate_board_url($without_script_path = false)\n{\n\tglobal $config, $user;\n\n\t$server_name = $user->host;\n\t$server_port = (!empty($_SERVER['SERVER_PORT'])) ? (int) $_SERVER['SERVER_PORT'] : (int) getenv('SERVER_PORT');\n\n\t// Forcing server vars is the only way to specify/override the protocol\n\tif ($config['force_server_vars'] || !$server_name)\n\t{\n\t\t$server_protocol = ($config['server_protocol']) ? $config['server_protocol'] : (($config['cookie_secure']) ? 'https://' : 'http://');\n\t\t$server_name = $config['server_name'];\n\t\t$server_port = (int) $config['server_port'];\n\t\t$script_path = $config['script_path'];\n\n\t\t$url = $server_protocol . $server_name;\n\t\t$cookie_secure = $config['cookie_secure'];\n\t}\n\telse\n\t{\n\t\t// Do not rely on cookie_secure, users seem to think that it means a secured cookie instead of an encrypted connection\n\t\t$cookie_secure = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 1 : 0;\n\t\t$url = (($cookie_secure) ? 'https://' : 'http://') . $server_name;\n\n\t\t$script_path = $user->page['root_script_path'];\n\t}\n\n\tif ($server_port && (($cookie_secure && $server_port <> 443) || (!$cookie_secure && $server_port <> 80)))\n\t{\n\t\t// HTTP HOST can carry a port number (we fetch $user->host, but for old versions this may be true)\n\t\tif (strpos($server_name, ':') === false)\n\t\t{\n\t\t\t$url .= ':' . $server_port;\n\t\t}\n\t}\n\n\tif (!$without_script_path)\n\t{\n\t\t$url .= $script_path;\n\t}\n\n\t// Strip / from the end\n\tif (substr($url, -1, 1) == '/')\n\t{\n\t\t$url = substr($url, 0, -1);\n\t}\n\n\treturn $url;\n}\n\n/**\n* Redirects the user to another page then exits the script nicely\n* This function is intended for urls within the board. It's not meant to redirect to cross-domains.\n*\n* @param string $url The url to redirect to\n* @param bool $return If true, do not redirect but return the sanitized URL. Default is no return.\n* @param bool $disable_cd_check If true, redirect() will redirect to an external domain. If false, the redirect point to the boards url if it does not match the current domain. Default is false.\n*/\nfunction redirect($url, $return = false, $disable_cd_check = false)\n{\n\tglobal $db, $cache, $config, $user, $phpbb_root_path;\n\n\tif (empty($user->lang))\n\t{\n\t\t$user->add_lang('common');\n\t}\n\n\tif (!$return)\n\t{\n\t\tgarbage_collection();\n\t}\n\n\t// Make sure no &amp;'s are in, this will break the redirect\n\t$url = str_replace('&amp;', '&', $url);\n\n\t// Determine which type of redirect we need to handle...\n\t$url_parts = parse_url($url);\n\n\tif ($url_parts === false)\n\t{\n\t\t// Malformed url, redirect to current page...\n\t\t$url = generate_board_url() . '/' . $user->page['page'];\n\t}\n\telse if (!empty($url_parts['scheme']) && !empty($url_parts['host']))\n\t{\n\t\t// Attention: only able to redirect within the same domain if $disable_cd_check is false (yourdomain.com -> www.yourdomain.com will not work)\n\t\tif (!$disable_cd_check && $url_parts['host'] !== $user->host)\n\t\t{\n\t\t\t$url = generate_board_url();\n\t\t}\n\t}\n\telse if ($url[0] == '/')\n\t{\n\t\t// Absolute uri, prepend direct url...\n\t\t$url = generate_board_url(true) . $url;\n\t}\n\telse\n\t{\n\t\t// Relative uri\n\t\t$pathinfo = pathinfo($url);\n\n\t\t// Is the uri pointing to the current directory?\n\t\tif ($pathinfo['dirname'] == '.')\n\t\t{\n\t\t\t$url = str_replace('./', '', $url);\n\n\t\t\t// Strip / from the beginning\n\t\t\tif ($url && substr($url, 0, 1) == '/')\n\t\t\t{\n\t\t\t\t$url = substr($url, 1);\n\t\t\t}\n\n\t\t\tif ($user->page['page_dir'])\n\t\t\t{\n\t\t\t\t$url = generate_board_url() . '/' . $user->page['page_dir'] . '/' . $url;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$url = generate_board_url() . '/' . $url;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Used ./ before, but $phpbb_root_path is working better with urls within another root path\n\t\t\t$root_dirs = explode('/', str_replace('\\\\', '/', phpbb_realpath($phpbb_root_path)));\n\t\t\t$page_dirs = explode('/', str_replace('\\\\', '/', phpbb_realpath($pathinfo['dirname'])));\n\t\t\t$intersection = array_intersect_assoc($root_dirs, $page_dirs);\n\n\t\t\t$root_dirs = array_diff_assoc($root_dirs, $intersection);\n\t\t\t$page_dirs = array_diff_assoc($page_dirs, $intersection);\n\n\t\t\t$dir = str_repeat('../', sizeof($root_dirs)) . implode('/', $page_dirs);\n\n\t\t\t// Strip / from the end\n\t\t\tif ($dir && substr($dir, -1, 1) == '/')\n\t\t\t{\n\t\t\t\t$dir = substr($dir, 0, -1);\n\t\t\t}\n\n\t\t\t// Strip / from the beginning\n\t\t\tif ($dir && substr($dir, 0, 1) == '/')\n\t\t\t{\n\t\t\t\t$dir = substr($dir, 1);\n\t\t\t}\n\n\t\t\t$url = str_replace($pathinfo['dirname'] . '/', '', $url);\n\n\t\t\t// Strip / from the beginning\n\t\t\tif (substr($url, 0, 1) == '/')\n\t\t\t{\n\t\t\t\t$url = substr($url, 1);\n\t\t\t}\n\n\t\t\t$url = (!empty($dir) ? $dir . '/' : '') . $url;\n\t\t\t$url = generate_board_url() . '/' . $url;\n\t\t}\n\t}\n\n\t// Make sure no linebreaks are there... to prevent http response splitting for PHP < 4.4.2\n\tif (strpos(urldecode($url), \"\\n\") !== false || strpos(urldecode($url), \"\\r\") !== false || strpos($url, ';') !== false)\n\t{\n\t\ttrigger_error('Tried to redirect to potentially insecure url.', E_USER_ERROR);\n\t}\n\n\t// Now, also check the protocol and for a valid url the last time...\n\t$allowed_protocols = array('http', 'https', 'ftp', 'ftps');\n\t$url_parts = parse_url($url);\n\n\tif ($url_parts === false || empty($url_parts['scheme']) || !in_array($url_parts['scheme'], $allowed_protocols))\n\t{\n\t\ttrigger_error('Tried to redirect to potentially insecure url.', E_USER_ERROR);\n\t}\n\n\tif ($return)\n\t{\n\t\treturn $url;\n\t}\n\n\t// Redirect via an HTML form for PITA webservers\n\tif (@preg_match('#Microsoft|WebSTAR|Xitami#', getenv('SERVER_SOFTWARE')))\n\t{\n\t\theader('Refresh: 0; URL=' . $url);\n\n\t\techo '<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">';\n\t\techo '<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"' . $user->lang['DIRECTION'] . '\" lang=\"' . $user->lang['USER_LANG'] . '\" xml:lang=\"' . $user->lang['USER_LANG'] . '\">';\n\t\techo '<head>';\n\t\techo '<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />';\n\t\techo '<meta http-equiv=\"refresh\" content=\"0; url=' . str_replace('&', '&amp;', $url) . '\" />';\n\t\techo '<title>' . $user->lang['REDIRECT'] . '</title>';\n\t\techo '</head>';\n\t\techo '<body>';\n\t\techo '<div style=\"text-align: center;\">' . sprintf($user->lang['URL_REDIRECT'], '<a href=\"' . str_replace('&', '&amp;', $url) . '\">', '</a>') . '</div>';\n\t\techo '</body>';\n\t\techo '</html>';\n\n\t\texit;\n\t}\n\n\t// Behave as per HTTP/1.1 spec for others\n\theader('Location: ' . $url);\n\texit;\n}\n\n/**\n* Re-Apply session id after page reloads\n*/\nfunction reapply_sid($url)\n{\n\tglobal $phpEx, $phpbb_root_path;\n\n\tif "..., 8192) = 8192
22452 14:44:04.457479 brk(0x2287000)    = 0x2287000
22452 14:44:04.458243 read(3, "t_path}index.$phpEx\")\n\t{\n\t\treturn append_sid(\"{$phpbb_root_path}index.$phpEx\");\n\t}\n\n\t// Remove previously added sid\n\tif (strpos($url, '?sid=') !== false)\n\t{\n\t\t$url = preg_replace('/(\\?)sid=[a-z0-9]+(&amp;|&)?/', '\\1', $url);\n\t}\n\telse if (strpos($url, '&sid=') !== false)\n\t{\n\t\t$url = preg_replace('/&sid=[a-z0-9]+(&)?/', '\\1', $url);\n\t}\n\telse if (strpos($url, '&amp;sid=') !== false)\n\t{\n\t\t$url = preg_replace('/&amp;sid=[a-z0-9]+(&amp;)?/', '\\1', $url);\n\t}\n\n\treturn append_sid($url);\n}\n\n/**\n* Returns url from the session/current page with an re-appended SID with optionally stripping vars from the url\n*/\nfunction build_url($strip_vars = false)\n{\n\tglobal $user, $phpbb_root_path;\n\n\t// Append SID\n\t$redirect = append_sid($user->page['page'], false, false);\n\n\t// Add delimiter if not there...\n\tif (strpos($redirect, '?') === false)\n\t{\n\t\t$redirect .= '?';\n\t}\n\n\t// Strip vars...\n\tif ($strip_vars !== false && strpos($redirect, '?') !== false)\n\t{\n\t\tif (!is_array($strip_vars))\n\t\t{\n\t\t\t$strip_vars = array($strip_vars);\n\t\t}\n\n\t\t$query = $_query = array();\n\n\t\t$args = substr($redirect, strpos($redirect, '?') + 1);\n\t\t$args = ($args) ? explode('&', $args) : array();\n\t\t$redirect = substr($redirect, 0, strpos($redirect, '?'));\n\n\t\tforeach ($args as $argument)\n\t\t{\n\t\t\t$arguments = explode('=', $argument);\n\t\t\t$key = $arguments[0];\n\t\t\tunset($arguments[0]);\n\n\t\t\t$query[$key] = implode('=', $arguments);\n\t\t}\n\n\t\t// Strip the vars off\n\t\tforeach ($strip_vars as $strip)\n\t\t{\n\t\t\tif (isset($query[$strip]))\n\t\t\t{\n\t\t\t\tunset($query[$strip]);\n\t\t\t}\n\t\t}\n\n\t\t// Glue the remaining parts together... already urlencoded\n\t\tforeach ($query as $key => $value)\n\t\t{\n\t\t\t$_query[] = $key . '=' . $value;\n\t\t}\n\t\t$query = implode('&', $_query);\n\n\t\t$redirect .= ($query) ? '?' . $query : '';\n\t}\n\n\treturn $phpbb_root_path . str_replace('&', '&amp;', $redirect);\n}\n\n/**\n* Meta refresh assignment\n* Adds META template variable with meta http tag.\n*\n* @param int $time Time in seconds for meta refresh tag\n* @param string $url URL to redirect to. The url will go through redirect() first before the template variable is assigned\n* @param bool $disable_cd_check If true, meta_refresh() will redirect to an external domain. If false, the redirect point to the boards url if it does not match the current domain. Default is false.\n*/\nfunction meta_refresh($time, $url, $disable_cd_check = false)\n{\n\tglobal $template;\n\n\t$url = redirect($url, true, $disable_cd_check);\n\t$url = str_replace('&', '&amp;', $url);\n\n\t// For XHTML compatibility we change back & to &amp;\n\t$template->assign_vars(array(\n\t\t'META' => '<meta http-equiv=\"refresh\" content=\"' . $time . ';url=' . $url . '\" />')\n\t);\n\n\treturn $url;\n}\n\n//Form validation\n\n\n/**\n* Add a secret hash   for use in links/GET requests\n* @param string  $link_name The name of the link; has to match the name used in check_link_hash, otherwise no restrictions apply\n* @return string the hash\n\n*/\nfunction generate_link_hash($link_name)\n{\n\tglobal $user;\n\n\tif (!isset($user->data[\"hash_$link_name\"]))\n\t{\n\t\t$user->data[\"hash_$link_name\"] = substr(sha1($user->data['user_form_salt'] . $link_name), 0, 8);\n\t}\n\n\treturn $user->data[\"hash_$link_name\"];\n}\n\n\n/**\n* checks a link hash - for GET requests\n* @param string $token the submitted token\n* @param string $link_name The name of the link\n* @return boolean true if all is fine\n*/\nfunction check_link_hash($token, $link_name)\n{\n\treturn $token === generate_link_hash($link_name);\n}\n\n/**\n* Add a secret token to the form (requires the S_FORM_TOKEN template variable)\n* @param string  $form_name The name of the form; has to match the name used in check_form_key, otherwise no restrictions apply\n*/\nfunction add_form_key($form_name)\n{\n\tglobal $config, $template, $user;\n\n\t$now = time();\n\t$token_sid = ($user->data['user_id'] == ANONYMOUS && !empty($config['form_token_sid_guests'])) ? $user->session_id : '';\n\t$token = sha1($now . $user->data['user_form_salt'] . $form_name . $token_sid);\n\n\t$s_fields = build_hidden_fields(array(\n\t\t'creation_time' => $now,\n\t\t'form_token'\t=> $token,\n\t));\n\n\t$template->assign_vars(array(\n\t\t'S_FORM_TOKEN'\t=> $s_fields,\n\t));\n}\n\n/**\n* Check the form key. Required for all altering actions not secured by confirm_box\n* @param string  $form_name The name of the form; has to match the name used in add_form_key, otherwise no restrictions apply\n* @param int $timespan The maximum acceptable age for a submitted form in seconds. Defaults to the config setting.\n* @param string $return_page The address for the return link\n* @param bool $trigger If true, the function will triger an error when encountering an invalid form\n*/\nfunction check_form_key($form_name, $timespan = false, $return_page = '', $trigger = false)\n{\n\tglobal $config, $user;\n\n\tif ($timespan === false)\n\t{\n\t\t// we enforce a minimum value of half a minute here.\n\t\t$timespan = ($config['form_token_lifetime'] == -1) ? -1 : max(30, $config['form_token_lifetime']);\n\t}\n\n\tif (isset($_POST['creation_time']) && isset($_POST['form_token']))\n\t{\n\t\t$creation_time\t= abs(request_var('creation_time', 0));\n\t\t$token = request_var('form_token', '');\n\n\t\t$diff = time() - $creation_time;\n\n\t\t// If creation_time and the time() now is zero we can assume it was not a human doing this (the check for if ($diff)...\n\t\tif ($diff && ($diff <= $timespan || $timespan === -1))\n\t\t{\n\t\t\t$token_sid = ($user->data['user_id'] == ANONYMOUS && !empty($config['form_token_sid_guests'])) ? $user->session_id : '';\n\t\t\t$key = sha1($creation_time . $user->data['user_form_salt'] . $form_name . $token_sid);\n\n\t\t\tif ($key === $token)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ($trigger)\n\t{\n\t\ttrigger_error($user->lang['FORM_INVALID'] . $return_page);\n\t}\n\n\treturn false;\n}\n\n// Message/Login boxes\n\n/**\n* Build Confirm box\n* @param boolean $check True for checking if confirmed (without any additional parameters) and false for displaying the confirm box\n* @param string $title Title/Message used for confirm box.\n*\t\tmessage text is _CONFIRM appended to title.\n*\t\tIf title cannot be found in user->lang a default one is displayed\n*\t\tIf title_CONFIRM cannot be found in user->lang the text given is used.\n* @param string $hidden Hidden variables\n* @param string $html_body Template used for confirm box\n* @param string $u_action Custom form action\n*/\nfunction confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')\n{\n\tglobal $user, $template, $db;\n\tglobal $phpEx, $phpbb_root_path;\n\n\tif (isset($_POST['cancel']))\n\t{\n\t\treturn false;\n\t}\n\n\t$confirm = false;\n\tif (isset($_POST['confirm']))\n\t{\n\t\t// language frontier\n\t\tif ($_POST['confirm'] === $user->lang['YES'])\n\t\t{\n\t\t\t$confirm = true;\n\t\t}\n\t}\n\n\tif ($check && $confirm)\n\t{\n\t\t$user_id = request_var('user_id', 0);\n\t\t$session_id = request_var('sess', '');\n\t\t$confirm_key = request_var('confirm_key', '');\n\n\t\tif ($user_id != $user->data['user_id'] || $session_id != $user->session_id || !$confirm_key || !$user->data['user_last_confirm_key'] || $confirm_key != $user->data['user_last_confirm_key'])\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t// Reset user_last_confirm_key\n\t\t$sql = 'UPDATE ' . USERS_TABLE . \" SET user_last_confirm_key = ''\n\t\t\tWHERE user_id = \" . $user->data['user_id'];\n\t\t$db->sql_query($sql);\n\n\t\treturn true;\n\t}\n\telse if ($check)\n\t{\n\t\treturn false;\n\t}\n\n\t$s_hidden_fields = build_hidden_fields(array(\n\t\t'user_id'\t=> $user->data['user_id'],\n\t\t'sess'\t\t=> $user->session_id,\n\t\t'sid'\t\t=> $user->session_id)\n\t);\n\n\t// generate activation key\n\t$confirm_key = gen_rand_string(10);\n\n\tif (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])\n\t{\n\t\tadm_page_header((!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title]);\n\t}\n\telse\n\t{\n\t\tpage_header((!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title]);\n\t}\n\n\t$template->set_filenames(array(\n\t\t'body' => $html_body)\n\t);\n\n\t// If activation key already exist, we better do not re-use the key (something very strange is going on...)\n\tif (request_var('confirm_key', ''))\n\t{\n\t\t// This should not occur, therefore we cancel the operation to safe the user\n\t\treturn false;\n\t}\n\n\t// re-add sid / transform & to "..., 8192) = 8192
22452 14:44:04.461039 read(3, "_action : $phpbb_root_path . str_replace('&', '&amp;', $user->page['page']);\n\t$u_action = reapply_sid($use_page);\n\t$u_action .= ((strpos($u_action, '?') === false) ? '?' : '&amp;') . 'confirm_key=' . $confirm_key;\n\n\t$template->assign_vars(array(\n\t\t'MESSAGE_TITLE'\t\t=> (!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title],\n\t\t'MESSAGE_TEXT'\t\t=> (!isset($user->lang[$title . '_CONFIRM'])) ? $title : $user->lang[$title . '_CONFIRM'],\n\n\t\t'YES_VALUE'\t\t\t=> $user->lang['YES'],\n\t\t'S_CONFIRM_ACTION'\t=> $u_action,\n\t\t'S_HIDDEN_FIELDS'\t=> $hidden . $s_hidden_fields)\n\t);\n\n\t$sql = 'UPDATE ' . USERS_TABLE . \" SET user_last_confirm_key = '\" . $db->sql_escape($confirm_key) . \"'\n\t\tWHERE user_id = \" . $user->data['user_id'];\n\t$db->sql_query($sql);\n\n\tif (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])\n\t{\n\t\tadm_page_footer();\n\t}\n\telse\n\t{\n\t\tpage_footer();\n\t}\n}\n\n/**\n* Generate login box or verify password\n*/\nfunction login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true)\n{\n\tglobal $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config;\n\n\t$err = '';\n\n\t// Make sure user->setup() has been called\n\tif (empty($user->lang))\n\t{\n\t\t$user->setup();\n\t}\n\n\t// Print out error if user tries to authenticate as an administrator without having the privileges...\n\tif ($admin && !$auth->acl_get('a_'))\n\t{\n\t\t// Not authd\n\t\t// anonymous/inactive users are never able to go to the ACP even if they have the relevant permissions\n\t\tif ($user->data['is_registered'])\n\t\t{\n\t\t\tadd_log('admin', 'LOG_ADMIN_AUTH_FAIL');\n\t\t}\n\t\ttrigger_error('NO_AUTH_ADMIN');\n\t}\n\n\tif (isset($_POST['login']))\n\t{\n\t\t// Get credential\n\t\tif ($admin)\n\t\t{\n\t\t\t$credential = request_var('credential', '');\n\n\t\t\tif (strspn($credential, 'abcdef0123456789') !== strlen($credential) || strlen($credential) != 32)\n\t\t\t{\n\t\t\t\tif ($user->data['is_registered'])\n\t\t\t\t{\n\t\t\t\t\tadd_log('admin', 'LOG_ADMIN_AUTH_FAIL');\n\t\t\t\t}\n\t\t\t\ttrigger_error('NO_AUTH_ADMIN');\n\t\t\t}\n\n\t\t\t$password\t= request_var('password_' . $credential, '', true);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$password\t= request_var('password', '', true);\n\t\t}\n\n\t\t$username\t= request_var('username', '', true);\n\t\t$autologin\t= (!empty($_POST['autologin'])) ? true : false;\n\t\t$viewonline = (!empty($_POST['viewonline'])) ? 0 : 1;\n\t\t$admin \t\t= ($admin) ? 1 : 0;\n\t\t$viewonline = ($admin) ? $user->data['session_viewonline'] : $viewonline;\n\n\t\t// Check if the supplied username is equal to the one stored within the database if re-authenticating\n\t\tif ($admin && utf8_clean_string($username) != utf8_clean_string($user->data['username']))\n\t\t{\n\t\t\t// We log the attempt to use a different username...\n\t\t\tadd_log('admin', 'LOG_ADMIN_AUTH_FAIL');\n\t\t\ttrigger_error('NO_AUTH_ADMIN_USER_DIFFER');\n\t\t}\n\n\t\t// If authentication is successful we redirect user to previous page\n\t\t$result = $auth->login($username, $password, $autologin, $viewonline, $admin);\n\n\t\t// If admin authentication and login, we will log if it was a success or not...\n\t\t// We also break the operation on the first non-success login - it could be argued that the user already knows\n\t\tif ($admin)\n\t\t{\n\t\t\tif ($result['status'] == LOGIN_SUCCESS)\n\t\t\t{\n\t\t\t\tadd_log('admin', 'LOG_ADMIN_AUTH_SUCCESS');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Only log the failed attempt if a real user tried to.\n\t\t\t\t// anonymous/inactive users are never able to go to the ACP even if they have the relevant permissions\n\t\t\t\tif ($user->data['is_registered'])\n\t\t\t\t{\n\t\t\t\t\tadd_log('admin', 'LOG_ADMIN_AUTH_FAIL');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// The result parameter is always an array, holding the relevant information...\n\t\tif ($result['status'] == LOGIN_SUCCESS)\n\t\t{\n\t\t\t$redirect = request_var('redirect', \"{$phpbb_root_path}index.$phpEx\");\n\t\t\t$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];\n\t\t\t$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === \"{$phpbb_root_path}index.$phpEx\" || $redirect === \"index.$phpEx\") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);\n\n\t\t\t// append/replace SID (may change during the session for AOL users)\n\t\t\t$redirect = reapply_sid($redirect);\n\n\t\t\t// Special case... the user is effectively banned, but we allow founders to login\n\t\t\tif (defined('IN_CHECK_BAN') && $result['user_row']['user_type'] != USER_FOUNDER)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$redirect = meta_refresh(3, $redirect);\n\t\t\ttrigger_error($message . '<br /><br />' . sprintf($l_redirect, '<a href=\"' . $redirect . '\">', '</a>'));\n\t\t}\n\n\t\t// Something failed, determine what...\n\t\tif ($result['status'] == LOGIN_BREAK)\n\t\t{\n\t\t\ttrigger_error($result['error_msg']);\n\t\t}\n\n\t\t// Special cases... determine\n\t\tswitch ($result['status'])\n\t\t{\n\t\t\tcase LOGIN_ERROR_ATTEMPTS:\n\n\t\t\t\t// Show confirm image\n\t\t\t\t$sql = 'DELETE FROM ' . CONFIRM_TABLE . \"\n\t\t\t\t\tWHERE session_id = '\" . $db->sql_escape($user->session_id) . \"'\n\t\t\t\t\t\tAND confirm_type = \" . CONFIRM_LOGIN;\n\t\t\t\t$db->sql_query($sql);\n\n\t\t\t\t// Generate code\n\t\t\t\t$code = gen_rand_string(mt_rand(CAPTCHA_MIN_CHARS, CAPTCHA_MAX_CHARS));\n\t\t\t\t$confirm_id = md5(unique_id($user->ip));\n\t\t\t\t$seed = hexdec(substr(unique_id(), 4, 10));\n\n\t\t\t\t// compute $seed % 0x7fffffff\n\t\t\t\t$seed -= 0x7fffffff * floor($seed / 0x7fffffff);\n\n\t\t\t\t$sql = 'INSERT INTO ' . CONFIRM_TABLE . ' ' . $db->sql_build_array('INSERT', array(\n\t\t\t\t\t'confirm_id'\t=> (string) $confirm_id,\n\t\t\t\t\t'session_id'\t=> (string) $user->session_id,\n\t\t\t\t\t'confirm_type'\t=> (int) CONFIRM_LOGIN,\n\t\t\t\t\t'code'\t\t\t=> (string) $code,\n\t\t\t\t\t'seed'\t\t\t=> (int) $seed)\n\t\t\t\t);\n\t\t\t\t$db->sql_query($sql);\n\n\t\t\t\t$template->assign_vars(array(\n\t\t\t\t\t'S_CONFIRM_CODE'\t\t\t=> true,\n\t\t\t\t\t'CONFIRM_ID'\t\t\t\t=> $confirm_id,\n\t\t\t\t\t'CONFIRM_IMAGE'\t\t\t\t=> '<img src=\"' . append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=confirm&amp;id=' . $confirm_id . '&amp;type=' . CONFIRM_LOGIN) . '\" alt=\"\" title=\"\" />',\n\t\t\t\t\t'L_LOGIN_CONFIRM_EXPLAIN'\t=> sprintf($user->lang['LOGIN_CONFIRM_EXPLAIN'], '<a href=\"mailto:' . htmlspecialchars($config['board_contact']) . '\">', '</a>'),\n\t\t\t\t));\n\n\t\t\t\t$err = $user->lang[$result['error_msg']];\n\n\t\t\tbreak;\n\n\t\t\tcase LOGIN_ERROR_PASSWORD_CONVERT:\n\t\t\t\t$err = sprintf(\n\t\t\t\t\t$user->lang[$result['error_msg']],\n\t\t\t\t\t($config['email_enable']) ? '<a href=\"' . append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=sendpassword') . '\">' : '',\n\t\t\t\t\t($config['email_enable']) ? '</a>' : '',\n\t\t\t\t\t($config['board_contact']) ? '<a href=\"mailto:' . htmlspecialchars($config['board_contact']) . '\">' : '',\n\t\t\t\t\t($config['board_contact']) ? '</a>' : ''\n\t\t\t\t);\n\t\t\tbreak;\n\n\t\t\t// Username, password, etc...\n\t\t\tdefault:\n\t\t\t\t$err = $user->lang[$result['error_msg']];\n\n\t\t\t\t// Assign admin contact to some error messages\n\t\t\t\tif ($result['error_msg'] == 'LOGIN_ERROR_USERNAME' || $result['error_msg'] == 'LOGIN_ERROR_PASSWORD')\n\t\t\t\t{\n\t\t\t\t\t$err = (!$config['board_contact']) ? sprintf($user->lang[$result['error_msg']], '', '') : sprintf($user->lang[$result['error_msg']], '<a href=\"mailto:' . htmlspecialchars($config['board_contact']) . '\">', '</a>');\n\t\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (!$redirect)\n\t{\n\t\t// We just use what the session code determined...\n\t\t// If we are not within the admin directory we use the page dir...\n\t\t$redirect = '';\n\n\t\tif (!$admin)\n\t\t{\n\t\t\t$redirect .= ($user->page['page_dir']) ? $user->page['page_dir'] . '/' : '';\n\t\t}\n\n\t\t$redirect .= $user->page['page_name'] . (($user->page['query_string']) ? '?' . htmlspecialchars($user->page['query_string']) : '');\n\t}\n\n\t// Assign credential for username/password pair\n\t$credential = ($admin) ? md5(unique_id()) : false;\n\n\t$s_hidden_fields = array(\n\t\t'redirect'\t=> $redirect,\n\t\t'sid'\t\t=> $user->session_id,\n\t);\n\n\tif ($admin)\n\t{\n\t\t$s_hidden_fields['credential'] = $credential;\n\t}\n\n\t$s_hidden_fields = build_hidden_fields($s_hidden_fields);\n\n\t$template->assign_vars(array(\n\t\t'LOGIN_ERROR'\t\t=> $err,\n\t\t'LOGIN_EXPLAIN'\t\t=> $l_explain,\n\n\t\t'U_SEND_PASSWORD' \t\t=> ($config['email_enable']) ? append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=sendpassword') : '',\n\t\t'U_RESEND_ACTIVATION'\t=> ($config['require_activation'] != USER_ACTIVATION_NONE && $config['email_enable']) ? append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=resend_act') : '',\n\t\t'U_TERMS_USE'\t\t\t=> append"..., 8192) = 8192
22452 14:44:04.463720 read(3, "h}ucp.$phpEx\", 'mode=privacy'),\n\n\t\t'S_DISPLAY_FULL_LOGIN'\t=> ($s_display) ? true : false,\n\t\t'S_LOGIN_ACTION'\t\t=> (!$admin) ? append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=login') : append_sid(\"index.$phpEx\", false, true, $user->session_id), // Needs to stay index.$phpEx because we are within the admin directory\n\t\t'S_HIDDEN_FIELDS' \t\t=> $s_hidden_fields,\n\n\t\t'S_ADMIN_AUTH'\t\t\t=> $admin,\n\t\t'USERNAME'\t\t\t\t=> ($admin) ? $user->data['username'] : '',\n\n\t\t'USERNAME_CREDENTIAL'\t=> 'username',\n\t\t'PASSWORD_CREDENTIAL'\t=> ($admin) ? 'password_' . $credential : 'password',\n\t));\n\n\tpage_header($user->lang['LOGIN'], false);\n\n\t$template->set_filenames(array(\n\t\t'body' => 'login_body.html')\n\t);\n\tmake_jumpbox(append_sid(\"{$phpbb_root_path}viewforum.$phpEx\"));\n\n\tpage_footer();\n}\n\n/**\n* Generate forum login box\n*/\nfunction login_forum_box($forum_data)\n{\n\tglobal $db, $config, $user, $template, $phpEx;\n\n\t$password = request_var('password', '', true);\n\n\t$sql = 'SELECT forum_id\n\t\tFROM ' . FORUMS_ACCESS_TABLE . '\n\t\tWHERE forum_id = ' . $forum_data['forum_id'] . '\n\t\t\tAND user_id = ' . $user->data['user_id'] . \"\n\t\t\tAND session_id = '\" . $db->sql_escape($user->session_id) . \"'\";\n\t$result = $db->sql_query($sql);\n\t$row = $db->sql_fetchrow($result);\n\t$db->sql_freeresult($result);\n\n\tif ($row)\n\t{\n\t\treturn true;\n\t}\n\n\tif ($password)\n\t{\n\t\t// Remove expired authorised sessions\n\t\t$sql = 'SELECT f.session_id\n\t\t\tFROM ' . FORUMS_ACCESS_TABLE . ' f\n\t\t\tLEFT JOIN ' . SESSIONS_TABLE . ' s ON (f.session_id = s.session_id)\n\t\t\tWHERE s.session_id IS NULL';\n\t\t$result = $db->sql_query($sql);\n\n\t\tif ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t$sql_in = array();\n\t\t\tdo\n\t\t\t{\n\t\t\t\t$sql_in[] = (string) $row['session_id'];\n\t\t\t}\n\t\t\twhile ($row = $db->sql_fetchrow($result));\n\n\t\t\t// Remove expired sessions\n\t\t\t$sql = 'DELETE FROM ' . FORUMS_ACCESS_TABLE . '\n\t\t\t\tWHERE ' . $db->sql_in_set('session_id', $sql_in);\n\t\t\t$db->sql_query($sql);\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\tif (phpbb_check_hash($password, $forum_data['forum_password']))\n\t\t{\n\t\t\t$sql_ary = array(\n\t\t\t\t'forum_id'\t\t=> (int) $forum_data['forum_id'],\n\t\t\t\t'user_id'\t\t=> (int) $user->data['user_id'],\n\t\t\t\t'session_id'\t=> (string) $user->session_id,\n\t\t\t);\n\n\t\t\t$db->sql_query('INSERT INTO ' . FORUMS_ACCESS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));\n\n\t\t\treturn true;\n\t\t}\n\n\t\t$template->assign_var('LOGIN_ERROR', $user->lang['WRONG_PASSWORD']);\n\t}\n\n\tpage_header($user->lang['LOGIN']);\n\n\t$template->assign_vars(array(\n\t\t'S_HIDDEN_FIELDS'\t\t=> build_hidden_fields(array('f' => $forum_data['forum_id'])))\n\t);\n\n\t$template->set_filenames(array(\n\t\t'body' => 'login_forum.html')\n\t);\n\n\tpage_footer();\n}\n\n// Little helpers\n\n/**\n* Little helper for the build_hidden_fields function\n*/\nfunction _build_hidden_fields($key, $value, $specialchar, $stripslashes)\n{\n\t$hidden_fields = '';\n\n\tif (!is_array($value))\n\t{\n\t\t$value = ($stripslashes) ? stripslashes($value) : $value;\n\t\t$value = ($specialchar) ? htmlspecialchars($value, ENT_COMPAT, 'UTF-8') : $value;\n\n\t\t$hidden_fields .= '<input type=\"hidden\" name=\"' . $key . '\" value=\"' . $value . '\" />' . \"\\n\";\n\t}\n\telse\n\t{\n\t\tforeach ($value as $_key => $_value)\n\t\t{\n\t\t\t$_key = ($stripslashes) ? stripslashes($_key) : $_key;\n\t\t\t$_key = ($specialchar) ? htmlspecialchars($_key, ENT_COMPAT, 'UTF-8') : $_key;\n\n\t\t\t$hidden_fields .= _build_hidden_fields($key . '[' . $_key . ']', $_value, $specialchar, $stripslashes);\n\t\t}\n\t}\n\n\treturn $hidden_fields;\n}\n\n/**\n* Build simple hidden fields from array\n*\n* @param array $field_ary an array of values to build the hidden field from\n* @param bool $specialchar if true, keys and values get specialchared\n* @param bool $stripslashes if true, keys and values get stripslashed\n*\n* @return string the hidden fields\n*/\nfunction build_hidden_fields($field_ary, $specialchar = false, $stripslashes = false)\n{\n\t$s_hidden_fields = '';\n\n\tforeach ($field_ary as $name => $vars)\n\t{\n\t\t$name = ($stripslashes) ? stripslashes($name) : $name;\n\t\t$name = ($specialchar) ? htmlspecialchars($name, ENT_COMPAT, 'UTF-8') : $name;\n\n\t\t$s_hidden_fields .= _build_hidden_fields($name, $vars, $specialchar, $stripslashes);\n\t}\n\n\treturn $s_hidden_fields;\n}\n\n/**\n* Parse cfg file\n*/\nfunction parse_cfg_file($filename, $lines = false)\n{\n\t$parsed_items = array();\n\n\tif ($lines === false)\n\t{\n\t\t$lines = file($filename);\n\t}\n\n\tforeach ($lines as $line)\n\t{\n\t\t$line = trim($line);\n\n\t\tif (!$line || $line[0] == '#' || ($delim_pos = strpos($line, '=')) === false)\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Determine first occurrence, since in values the equal sign is allowed\n\t\t$key = strtolower(trim(substr($line, 0, $delim_pos)));\n\t\t$value = trim(substr($line, $delim_pos + 1));\n\n\t\tif (in_array($value, array('off', 'false', '0')))\n\t\t{\n\t\t\t$value = false;\n\t\t}\n\t\telse if (in_array($value, array('on', 'true', '1')))\n\t\t{\n\t\t\t$value = true;\n\t\t}\n\t\telse if (!trim($value))\n\t\t{\n\t\t\t$value = '';\n\t\t}\n\t\telse if (($value[0] == \"'\" && $value[sizeof($value) - 1] == \"'\") || ($value[0] == '\"' && $value[sizeof($value) - 1] == '\"'))\n\t\t{\n\t\t\t$value = substr($value, 1, sizeof($value)-2);\n\t\t}\n\n\t\t$parsed_items[$key] = $value;\n\t}\n\n\treturn $parsed_items;\n}\n\n/**\n* Add log event\n*/\nfunction add_log()\n{\n\tglobal $db, $user;\n\n\t$args = func_get_args();\n\n\t$mode\t\t\t= array_shift($args);\n\t$reportee_id\t= ($mode == 'user') ? intval(array_shift($args)) : '';\n\t$forum_id\t\t= ($mode == 'mod') ? intval(array_shift($args)) : '';\n\t$topic_id\t\t= ($mode == 'mod') ? intval(array_shift($args)) : '';\n\t$action\t\t\t= array_shift($args);\n\t$data\t\t\t= (!sizeof($args)) ? '' : serialize($args);\n\n\t$sql_ary = array(\n\t\t'user_id'\t\t=> (empty($user->data)) ? ANONYMOUS : $user->data['user_id'],\n\t\t'log_ip'\t\t=> $user->ip,\n\t\t'log_time'\t\t=> time(),\n\t\t'log_operation'\t=> $action,\n\t\t'log_data'\t\t=> $data,\n\t);\n\n\tswitch ($mode)\n\t{\n\t\tcase 'admin':\n\t\t\t$sql_ary['log_type'] = LOG_ADMIN;\n\t\tbreak;\n\n\t\tcase 'mod':\n\t\t\t$sql_ary += array(\n\t\t\t\t'log_type'\t=> LOG_MOD,\n\t\t\t\t'forum_id'\t=> $forum_id,\n\t\t\t\t'topic_id'\t=> $topic_id\n\t\t\t);\n\t\tbreak;\n\n\t\tcase 'user':\n\t\t\t$sql_ary += array(\n\t\t\t\t'log_type'\t\t=> LOG_USERS,\n\t\t\t\t'reportee_id'\t=> $reportee_id\n\t\t\t);\n\t\tbreak;\n\n\t\tcase 'critical':\n\t\t\t$sql_ary['log_type'] = LOG_CRITICAL;\n\t\tbreak;\n\n\t\tdefault:\n\t\t\treturn false;\n\t}\n\n\t$db->sql_query('INSERT INTO ' . LOG_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));\n\n\treturn $db->sql_nextid();\n}\n\n/**\n* Return a nicely formatted backtrace (parts from the php manual by diz at ysagoon dot com)\n*/\nfunction get_backtrace()\n{\n\tglobal $phpbb_root_path;\n\n\t$output = '<div style=\"font-family: monospace;\">';\n\t$backtrace = debug_backtrace();\n\t$path = phpbb_realpath($phpbb_root_path);\n\n\tforeach ($backtrace as $number => $trace)\n\t{\n\t\t// We skip the first one, because it only shows this file/function\n\t\tif ($number == 0)\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Strip the current directory from path\n\t\tif (empty($trace['file']))\n\t\t{\n\t\t\t$trace['file'] = '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$trace['file'] = str_replace(array($path, '\\\\'), array('', '/'), $trace['file']);\n\t\t\t$trace['file'] = substr($trace['file'], 1);\n\t\t}\n\t\t$args = array();\n\n\t\t// If include/require/include_once is not called, do not show arguments - they may contain sensible information\n\t\tif (!in_array($trace['function'], array('include', 'require', 'include_once')))\n\t\t{\n\t\t\tunset($trace['args']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// Path...\n\t\t\tif (!empty($trace['args'][0]))\n\t\t\t{\n\t\t\t\t$argument = htmlspecialchars($trace['args'][0]);\n\t\t\t\t$argument = str_replace(array($path, '\\\\'), array('', '/'), $argument);\n\t\t\t\t$argument = substr($argument, 1);\n\t\t\t\t$args[] = \"'{$argument}'\";\n\t\t\t}\n\t\t}\n\n\t\t$trace['class'] = (!isset($trace['class'])) ? '' : $trace['class'];\n\t\t$trace['type'] = (!isset($trace['type'])) ? '' : $trace['type'];\n\n\t\t$output .= '<br />';\n\t\t$output .= '<b>FILE:</b> ' . htmlspecialchars($trace['file']) . '<br />';\n\t\t$output .= '<b>LINE:</b> ' . ((!empty($trace['line'])) ? $trace['line'] : '') . '<br />';\n\n\t\t$output .= '<b>CALL:</b> ' . htmlspecialchars($trace['class'] . $trace['type'] . $trace['function']) . '(' . ((sizeof($args)) ? implode(', ', $args) : '') . ')<br />';\n\t}\n\t$output .= '</div>';\n\treturn $output;\n}\n\n/**\n* This function returns a regular expression pattern for commonly"..., 8192) = 8192
22452 14:44:04.466088 brk(0x22c8000)    = 0x22c8000
22452 14:44:04.466904 read(3, "bbcode_htm|url|url_inline|www_url|www_url_inline|relative_url|relative_url_inline|ipv4|ipv6\n*/\nfunction get_preg_expression($mode)\n{\n\tswitch ($mode)\n\t{\n\t\tcase 'email':\n\t\t\treturn '(?:[a-z0-9\\'\\.\\-_\\+\\|]++|&amp;)+@[a-z0-9\\-]+\\.(?:[a-z0-9\\-]+\\.)*[a-z]+';\n\t\tbreak;\n\n\t\tcase 'bbcode_htm':\n\t\t\treturn array(\n\t\t\t\t'#<!\\-\\- e \\-\\-><a href=\"mailto:(.*?)\">.*?</a><!\\-\\- e \\-\\->#',\n\t\t\t\t'#<!\\-\\- l \\-\\-><a (?:class=\"[\\w-]+\" )?href=\"(.*?)(?:(&amp;|\\?)sid=[0-9a-f]{32})?\">.*?</a><!\\-\\- l \\-\\->#',\n\t\t\t\t'#<!\\-\\- ([mw]) \\-\\-><a (?:class=\"[\\w-]+\" )?href=\"(.*?)\">.*?</a><!\\-\\- \\1 \\-\\->#',\n\t\t\t\t'#<!\\-\\- s(.*?) \\-\\-><img src=\"\\{SMILIES_PATH\\}\\/.*? \\/><!\\-\\- s\\1 \\-\\->#',\n\t\t\t\t'#<!\\-\\- .*? \\-\\->#s',\n\t\t\t\t'#<.*?>#s',\n\t\t\t);\n\t\tbreak;\n\n\t\t// Whoa these look impressive!\n\t\t// The code to generate the following two regular expressions which match valid IPv4/IPv6 addresses\n\t\t// can be found in the develop directory\n\t\tcase 'ipv4':\n\t\t\treturn '#^(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$#';\n\t\tbreak;\n\n\t\tcase 'ipv6':\n\t\t\treturn '#^(?:(?:(?:[\\dA-F]{1,4}:){6}(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:::(?:[\\dA-F]{1,4}:){5}(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:):(?:[\\dA-F]{1,4}:){4}(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:){1,2}:(?:[\\dA-F]{1,4}:){3}(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:){1,3}:(?:[\\dA-F]{1,4}:){2}(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:){1,4}:(?:[\\dA-F]{1,4}:)(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:){1,5}:(?:[\\dA-F]{1,4}:[\\dA-F]{1,4}|(?:(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])))|(?:(?:[\\dA-F]{1,4}:){1,6}:[\\dA-F]{1,4})|(?:(?:[\\dA-F]{1,4}:){1,7}:))$#i';\n\t\tbreak;\n\n\t\tcase 'url':\n\t\tcase 'url_inline':\n\t\t\t$inline = ($mode == 'url') ? ')' : '';\n\t\t\t$scheme = ($mode == 'url') ? '[a-z\\d+\\-.]' : '[a-z\\d+]'; // avoid automatic parsing of \"word\" in \"last word.http://...\"\n\t\t\t// generated with regex generation file in the develop folder\n\t\t\treturn \"[a-z]$scheme*:/{2}(?:(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})+|[0-9.]+|\\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\\])(?::\\d*)?(?:/(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:\\#(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?\";\n\t\tbreak;\n\n\t\tcase 'www_url':\n\t\tcase 'www_url_inline':\n\t\t\t$inline = ($mode == 'www_url') ? ')' : '';\n\t\t\treturn \"www\\.(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})+(?::\\d*)?(?:/(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:\\#(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?\";\n\t\tbreak;\n\n\t\tcase 'relative_url':\n\t\tcase 'relative_url_inline':\n\t\t\t$inline = ($mode == 'relative_url') ? ')' : '';\n\t\t\treturn \"(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})*(?:/(?:[a-z0-9\\-._~!$&'($inline*+,;=:@|]+|%[\\dA-F]{2})*)*(?:\\?(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?(?:\\#(?:[a-z0-9\\-._~!$&'($inline*+,;=:@/?|]+|%[\\dA-F]{2})*)?\";\n\t\tbreak;\n\t}\n\n\treturn '';\n}\n\n/**\n* Returns the first block of the specified IPv6 address and as many additional\n* ones as specified in the length paramater.\n* If length is zero, then an empty string is returned.\n* If length is greater than 3 the complete IP will be returned\n*/\nfunction short_ipv6($ip, $length)\n{\n\tif ($length < 1)\n\t{\n\t\treturn '';\n\t}\n\n\t// extend IPv6 addresses\n\t$blocks = substr_count($ip, ':') + 1;\n\tif ($blocks < 9)\n\t{\n\t\t$ip = str_replace('::', ':' . str_repeat('0000:', 9 - $blocks), $ip);\n\t}\n\tif ($ip[0] == ':')\n\t{\n\t\t$ip = '0000' . $ip;\n\t}\n\tif ($length < 4)\n\t{\n\t\t$ip = implode(':', array_slice(explode(':', $ip), 0, 1 + $length));\n\t}\n\n\treturn $ip;\n}\n\n/**\n* Wrapper for php's checkdnsrr function.\n*\n* The windows failover is from the php manual\n* Please make sure to check the return value for === true and === false, since NULL could\n* be returned too.\n*\n* @return true if entry found, false if not, NULL if this function is not supported by this environment\n*/\nfunction phpbb_checkdnsrr($host, $type = '')\n{\n\t$type = (!$type) ? 'MX' : $type;\n\n\tif (DIRECTORY_SEPARATOR == '\\\\')\n\t{\n\t\tif (!function_exists('exec'))\n\t\t{\n\t\t\treturn NULL;\n\t\t}\n\n\t\t// @exec('nslookup -retry=1 -timout=1 -type=' . escapeshellarg($type) . ' ' . escapeshellarg($host), $output);\n\t\t@exec('nslookup -type=' . escapeshellarg($type) . ' ' . escapeshellarg($host) . '.', $output);\n\n\t\t// If output is empty, the nslookup failed\n\t\tif (empty($output))\n\t\t{\n\t\t\treturn NULL;\n\t\t}\n\n\t\tforeach ($output as $line)\n\t\t{\n\t\t\tif (!trim($line))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Valid records begin with host name:\n\t\t\tif (strpos($line, $host) === 0)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\telse if (function_exists('checkdnsrr'))\n\t{\n\t\t// The dot indicates to search the DNS root (helps those having DNS prefixes on the same domain)\n\t\treturn (checkdnsrr($host . '.', $type)) ? true : false;\n\t}\n\n\treturn NULL;\n}\n\n// Handler, header and footer\n\n/**\n* Error and message handler, call with trigger_error if reqd\n*/\nfunction msg_handler($errno, $msg_text, $errfile, $errline)\n{\n\tglobal $cache, $db, $auth, $template, $config, $user;\n\tglobal $phpEx, $phpbb_root_path, $msg_title, $msg_long_text;\n\n\t// Do not display notices if we suppress them via @\n\tif (error_reporting() == 0)\n\t{\n\t\treturn;\n\t}\n\n\t// Message handler is stripping text. In case we need it, we are possible to define long text...\n\tif (isset($msg_long_text) && $msg_long_text && !$msg_text)\n\t{\n\t\t$msg_text = $msg_long_text;\n\t}\n\n\tswitch ($errno)\n\t{\n\t\tcase E_NOTICE:\n\t\tcase E_WARNING:\n\n\t\t\t// Check the error reporting level and return if the error level does not match\n\t\t\t// If DEBUG is defined the default level is E_ALL\n\t\t\tif (($errno & ((defined('DEBUG')) ? E_ALL : error_reporting())) == 0)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (strpos($errfile, 'cache') === false && strpos($errfile, 'template.') === false)\n\t\t\t{\n\t\t\t\t// flush the content, else we get a white page if output buffering is on\n\t\t\t\tif ((int) @ini_get('output_buffering') === 1 || strtolower(@ini_get('output_buffering')) === 'on')\n\t\t\t\t{\n\t\t\t\t\t@ob_flush();\n\t\t\t\t}\n\n\t\t\t\t// Another quick fix for those having gzip compression enabled, but do not flush if the coder wants to catch \"something\". ;)\n\t\t\t\tif (!empty($config['gzip_compress']))\n\t\t\t\t{\n\t\t\t\t\tif (@extension_loaded('zlib') && !headers_sent() && !ob_get_level())\n\t\t\t\t\t{\n\t\t\t\t\t\t@ob_flush();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// remove complete path to installation, with the risk of changing backslashes meant to be there\n\t\t\t\t$errfile = str_replace(array(phpbb_realpath($phpbb_root_path), '\\\\'), array('', '/'), $errfile);\n\t\t\t\t$msg_text = str_replace(array(phpbb_realpath($phpbb_root_path), '\\\\'), array('', '/'), $msg_text);\n\n\t\t\t\techo '<b>[phpBB Debug] PHP Notice</b>: in file <b>' . $errfile . '</b> on line <b>' . $errline . '</b>: <b>' . $msg_text . '</b><br />' . \"\\n\";\n\t\t\t\t// echo '<br /><br />BACKTRACE<br />' . get_backtrace() . '<br />' . \"\\n\";\n\t\t\t}\n\n\t\t\treturn;\n\n\t\tbreak;\n\n\t\tcase E_USER_ERROR:\n\n\t\t\tif (!empty($user) && !empty($user->lang))\n\t\t\t{\n\t\t\t\t$msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text;\n\t\t\t\t$msg_title = (!isset($msg_title)) ? $user->lang['GENERAL_ERROR'] : ((!empty($user->lang[$msg_title])) ? $user->lang[$msg_title] : $msg_title);\n\n\t\t\t\t$l_return_index = sprintf($user->lang['RETURN_INDEX'], '<a href=\"' . $phpbb_root_path . '\">', '</a>');\n\t\t\t\t$l_notify = '';\n\n\t\t\t\tif (!empty($config['board_contact']))\n\t\t\t\t{\n\t\t\t\t\t$l_notify = '<p>' . sprintf($user->lang['NOTIFY_ADMIN_EMAIL'], $config['board_contact']) . '</p>';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$msg_title = 'General Error';\n\t\t\t\t$l_return_index = '<a href=\"' . $phpbb_root_path . '\">Return to index page</a>';\n\t\t\t\t$l_notify = '';\n\n\t\t\t\tif ("..., 8192) = 8192
22452 14:44:04.469305 read(3, "r webmaster: <a href=\"mailto:' . $config['board_contact'] . '\">' . $config['board_contact'] . '</a></p>';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgarbage_collection();\n\n\t\t\t// Try to not call the adm page data...\n\n\t\t\techo '<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">';\n\t\t\techo '<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\">';\n\t\t\techo '<head>';\n\t\t\techo '<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />';\n\t\t\techo '<title>' . $msg_title . '</title>';\n\t\t\techo '<style type=\"text/css\">' . \"\\n\" . '/* <![CDATA[ */' . \"\\n\";\n\t\t\techo '* { margin: 0; padding: 0; } html { font-size: 100%; height: 100%; margin-bottom: 1px; background-color: #E4EDF0; } body { font-family: \"Lucida Grande\", Verdana, Helvetica, Arial, sans-serif; color: #536482; background: #E4EDF0; font-size: 62.5%; margin: 0; } ';\n\t\t\techo 'a:link, a:active, a:visited { color: #006699; text-decoration: none; } a:hover { color: #DD6900; text-decoration: underline; } ';\n\t\t\techo '#wrap { padding: 0 20px 15px 20px; min-width: 615px; } #page-header { text-align: right; height: 40px; } #page-footer { clear: both; font-size: 1em; text-align: center; } ';\n\t\t\techo '.panel { margin: 4px 0; background-color: #FFFFFF; border: solid 1px  #A9B8C2; } ';\n\t\t\techo '#errorpage #page-header a { font-weight: bold; line-height: 6em; } #errorpage #content { padding: 10px; } #errorpage #content h1 { line-height: 1.2em; margin-bottom: 0; color: #DF075C; } ';\n\t\t\techo '#errorpage #content div { margin-top: 20px; margin-bottom: 5px; border-bottom: 1px solid #CCCCCC; padding-bottom: 5px; color: #333333; font: bold 1.2em \"Lucida Grande\", Arial, Helvetica, sans-serif; text-decoration: none; line-height: 120%; text-align: left; } ';\n\t\t\techo \"\\n\" . '/* ]]> */' . \"\\n\";\n\t\t\techo '</style>';\n\t\t\techo '</head>';\n\t\t\techo '<body id=\"errorpage\">';\n\t\t\techo '<div id=\"wrap\">';\n\t\t\techo '\t<div id=\"page-header\">';\n\t\t\techo '\t\t' . $l_return_index;\n\t\t\techo '\t</div>';\n\t\t\techo '\t<div id=\"acp\">';\n\t\t\techo '\t<div class=\"panel\">';\n\t\t\techo '\t\t<div id=\"content\">';\n\t\t\techo '\t\t\t<h1>' . $msg_title . '</h1>';\n\n\t\t\techo '\t\t\t<div>' . $msg_text . '</div>';\n\n\t\t\techo $l_notify;\n\n\t\t\techo '\t\t</div>';\n\t\t\techo '\t</div>';\n\t\t\techo '\t</div>';\n\t\t\techo '\t<div id=\"page-footer\">';\n\t\t\techo '\t\tPowered by phpBB &copy; 2000, 2002, 2005, 2007 <a href=\"http://www.phpbb.com/\">phpBB Group</a>';\n\t\t\techo '\t</div>';\n\t\t\techo '</div>';\n\t\t\techo '</body>';\n\t\t\techo '</html>';\n\n\t\t\texit_handler();\n\n\t\t\t// On a fatal error (and E_USER_ERROR *is* fatal) we never want other scripts to continue and force an exit here.\n\t\t\texit;\n\t\tbreak;\n\n\t\tcase E_USER_WARNING:\n\t\tcase E_USER_NOTICE:\n\n\t\t\tdefine('IN_ERROR_HANDLER', true);\n\n\t\t\tif (empty($user->data))\n\t\t\t{\n\t\t\t\t$user->session_begin();\n\t\t\t}\n\n\t\t\t// We re-init the auth array to get correct results on login/logout\n\t\t\t$auth->acl($user->data);\n\n\t\t\tif (empty($user->lang))\n\t\t\t{\n\t\t\t\t$user->setup();\n\t\t\t}\n\n\t\t\t$msg_text = (!empty($user->lang[$msg_text])) ? $user->lang[$msg_text] : $msg_text;\n\t\t\t$msg_title = (!isset($msg_title)) ? $user->lang['INFORMATION'] : ((!empty($user->lang[$msg_title])) ? $user->lang[$msg_title] : $msg_title);\n\n\t\t\tif (!defined('HEADER_INC'))\n\t\t\t{\n\t\t\t\tif (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])\n\t\t\t\t{\n\t\t\t\t\tadm_page_header($msg_title);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpage_header($msg_title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$template->set_filenames(array(\n\t\t\t\t'body' => 'message_body.html')\n\t\t\t);\n\n\t\t\t$template->assign_vars(array(\n\t\t\t\t'MESSAGE_TITLE'\t\t=> $msg_title,\n\t\t\t\t'MESSAGE_TEXT'\t\t=> $msg_text,\n\t\t\t\t'S_USER_WARNING'\t=> ($errno == E_USER_WARNING) ? true : false,\n\t\t\t\t'S_USER_NOTICE'\t\t=> ($errno == E_USER_NOTICE) ? true : false)\n\t\t\t);\n\n\t\t\t// We do not want the cron script to be called on error messages\n\t\t\tdefine('IN_CRON', true);\n\n\t\t\tif (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])\n\t\t\t{\n\t\t\t\tadm_page_footer();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpage_footer();\n\t\t\t}\n\n\t\t\texit_handler();\n\t\tbreak;\n\t}\n\n\t// If we notice an error not handled here we pass this back to PHP by returning false\n\t// This may not work for all php versions\n\treturn false;\n}\n\n/**\n* Queries the session table to get information about online guests\n* @param int $forum_id Limits the search to the forum with this id\n* @return int The number of active distinct guest sessions\n*/\nfunction obtain_guest_count($forum_id = 0)\n{\n\tglobal $db, $config;\n\n\tif ($forum_id)\n\t{\n\t\t$reading_sql = ' AND s.session_forum_id = ' . (int) $forum_id;\n\t}\n\telse\n\t{\n\t\t$reading_sql = '';\n\t}\n\t$time = (time() - (intval($config['load_online_time']) * 60));\n\n\t// Get number of online guests\n\n\tif ($db->sql_layer === 'sqlite')\n\t{\n\t\t$sql = 'SELECT COUNT(session_ip) as num_guests\n\t\t\tFROM (\n\t\t\t\tSELECT DISTINCT s.session_ip\n\t\t\t\tFROM ' . SESSIONS_TABLE . ' s\n\t\t\t\tWHERE s.session_user_id = ' . ANONYMOUS . '\n\t\t\t\t\tAND s.session_time >= ' . ($time - ((int) ($time % 60))) .\n\t\t\t\t$reading_sql .\n\t\t\t')';\n\t}\n\telse\n\t{\n\t\t$sql = 'SELECT COUNT(DISTINCT s.session_ip) as num_guests\n\t\t\tFROM ' . SESSIONS_TABLE . ' s\n\t\t\tWHERE s.session_user_id = ' . ANONYMOUS . '\n\t\t\t\tAND s.session_time >= ' . ($time - ((int) ($time % 60))) .\n\t\t\t$reading_sql;\n\t}\n\t$result = $db->sql_query($sql);\n\t$guests_online = (int) $db->sql_fetchfield('num_guests');\n\t$db->sql_freeresult($result);\n\n\treturn $guests_online;\n}\n\n/**\n* Queries the session table to get information about online users\n* @param int $forum_id Limits the search to the forum with this id\n* @return array An array containing the ids of online, hidden and visible users, as well as statistical info\n*/\nfunction obtain_users_online($forum_id = 0)\n{\n\tglobal $db, $config, $user;\n\n\t$reading_sql = '';\n\tif ($forum_id !== 0)\n\t{\n\t\t$reading_sql = ' AND s.session_forum_id = ' . (int) $forum_id;\n\t}\n\n\t$online_users = array(\n\t\t'online_users'\t\t\t=> array(),\n\t\t'hidden_users'\t\t\t=> array(),\n\t\t'total_online'\t\t\t=> 0,\n\t\t'visible_online'\t\t=> 0,\n\t\t'hidden_online'\t\t\t=> 0,\n\t\t'guests_online'\t\t\t=> 0,\n\t);\n\n\tif ($config['load_online_guests'])\n\t{\n\t\t$online_users['guests_online'] = obtain_guest_count($forum_id);\n\t}\n\n\t// a little discrete magic to cache this for 30 seconds\n\t$time = (time() - (intval($config['load_online_time']) * 60));\n\n\t$sql = 'SELECT s.session_user_id, s.session_ip, s.session_viewonline\n\t\tFROM ' . SESSIONS_TABLE . ' s\n\t\tWHERE s.session_time >= ' . ($time - ((int) ($time % 30))) .\n\t\t\t$reading_sql .\n\t\t' AND s.session_user_id <> ' . ANONYMOUS;\n\t$result = $db->sql_query($sql);\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t// Skip multiple sessions for one user\n\t\tif (!isset($online_users['online_users'][$row['session_user_id']]))\n\t\t{\n\t\t\t$online_users['online_users'][$row['session_user_id']] = (int) $row['session_user_id'];\n\t\t\tif ($row['session_viewonline'])\n\t\t\t{\n\t\t\t\t$online_users['visible_online']++;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$online_users['hidden_users'][$row['session_user_id']] = (int) $row['session_user_id'];\n\t\t\t\t$online_users['hidden_online']++;\n\t\t\t}\n\t\t}\n\t}\n\t$online_users['total_online'] = $online_users['guests_online'] + $online_users['visible_online'] + $online_users['hidden_online'];\n\t$db->sql_freeresult($result);\n\n\treturn $online_users;\n}\n\n/**\n* Uses the result of obtain_users_online to generate a localized, readable representation.\n* @param mixed $online_users result of obtain_users_online - array with user_id lists for total, hidden and visible users, and statistics\n* @param int $forum_id Indicate that the data is limited to one forum and not global.\n* @return array An array containing the string for output to the template\n*/\nfunction obtain_users_online_string($online_users, $forum_id = 0)\n{\n\tglobal $config, $db, $user, $auth;\n\n\t$user_online_link = $online_userlist = '';\n\n\tif (sizeof($online_users['online_users']))\n\t{\n\t\t$sql = 'SELECT username, username_clean, user_id, user_type, user_allow_viewonline, user_colour\n\t\t\t\tFROM ' . USERS_TABLE . '\n\t\t\t\tWHERE ' . $db->sql_in_set('user_id', $online_users['online_users']) . '\n\t\t\t\tORDER BY username_clean ASC';\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\t// User is logged in and therefore not a guest\n\t\t\tif ("..., 8192) = 8192
22452 14:44:04.471769 read(3, "\t\t{\n\t\t\t\t\t$row['username'] = '<em>' . $row['username'] . '</em>';\n\t\t\t\t}\n\n\t\t\t\tif (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline'))\n\t\t\t\t{\n\t\t\t\t\t$user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);\n\t\t\t\t\t$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$db->sql_freeresult($result);\n\t}\n\n\tif (!$online_userlist)\n\t{\n\t\t$online_userlist = $user->lang['NO_ONLINE_USERS'];\n\t}\n\n\tif ($forum_id === 0)\n\t{\n\t\t$online_userlist = $user->lang['REGISTERED_USERS'] . ' ' . $online_userlist;\n\t}\n\telse if ($config['load_online_guests'])\n\t{\n\t\t$l_online = ($online_users['guests_online'] === 1) ? $user->lang['BROWSING_FORUM_GUEST'] : $user->lang['BROWSING_FORUM_GUESTS'];\n\t\t$online_userlist = sprintf($l_online, $online_userlist, $online_users['guests_online']);\n\t}\n\telse\n\t{\n\t\t$online_userlist = sprintf($user->lang['BROWSING_FORUM'], $online_userlist);\n\t}\n\t// Build online listing\n\t$vars_online = array(\n\t\t'ONLINE'\t=> array('total_online', 'l_t_user_s', 0),\n\t\t'REG'\t\t=> array('visible_online', 'l_r_user_s', !$config['load_online_guests']),\n\t\t'HIDDEN'\t=> array('hidden_online', 'l_h_user_s', $config['load_online_guests']),\n\t\t'GUEST'\t\t=> array('guests_online', 'l_g_user_s', 0)\n\t);\n\n\tforeach ($vars_online as $l_prefix => $var_ary)\n\t{\n\t\tif ($var_ary[2])\n\t\t{\n\t\t\t$l_suffix = '_AND';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$l_suffix = '';\n\t\t}\n\t\tswitch ($online_users[$var_ary[0]])\n\t\t{\n\t\t\tcase 0:\n\t\t\t\t${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_ZERO_TOTAL' . $l_suffix];\n\t\t\tbreak;\n\n\t\t\tcase 1:\n\t\t\t\t${$var_ary[1]} = $user->lang[$l_prefix . '_USER_TOTAL' . $l_suffix];\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_TOTAL' . $l_suffix];\n\t\t\tbreak;\n\t\t}\n\t}\n\tunset($vars_online);\n\n\t$l_online_users = sprintf($l_t_user_s, $online_users['total_online']);\n\t$l_online_users .= sprintf($l_r_user_s, $online_users['visible_online']);\n\t$l_online_users .= sprintf($l_h_user_s, $online_users['hidden_online']);\n\n\tif ($config['load_online_guests'])\n\t{\n\t\t$l_online_users .= sprintf($l_g_user_s, $online_users['guests_online']);\n\t}\n\n\n\n\treturn array(\n\t\t'online_userlist'\t=> $online_userlist,\n\t\t'l_online_users'\t=> $l_online_users,\n\t);\n}\n\n\n/**\n* Generate page header\n*/\nfunction page_header($page_title = '', $display_online_list = true, $post_text = '') // true, post_text added by Advanced Meta Tags MOD\n{\n\tglobal $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;\n\n\tif (defined('HEADER_INC'))\n\t{\n\t\treturn;\n\t}\n\n\tdefine('HEADER_INC', true);\n\n\t// gzip_compression\n\tif ($config['gzip_compress'])\n\t{\n\t\tif (@extension_loaded('zlib') && !headers_sent())\n\t\t{\n\t\t\tob_start('ob_gzhandler');\n\t\t}\n\t}\n\n\t// Generate logged in/logged out status\n\tif ($user->data['user_id'] != ANONYMOUS)\n\t{\n\t\t$u_login_logout = append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=logout', true, $user->session_id);\n\t\t$l_login_logout = sprintf($user->lang['LOGOUT_USER'], $user->data['username']);\n\t}\n\telse\n\t{\n\t\t$u_login_logout = append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=login');\n\t\t$l_login_logout = $user->lang['LOGIN'];\n\t}\n\n\t// Last visit date/time\n\t$s_last_visit = ($user->data['user_id'] != ANONYMOUS) ? $user->format_date($user->data['session_last_visit']) : '';\n\n\t// Get users online list ... if required\n\t$l_online_users = $online_userlist = $l_online_record = '';\n\n\tif ($config['load_online'] && $config['load_online_time'] && $display_online_list)\n\t{\n\t\t$f = request_var('f', 0);\n\t\t$f = max($f, 0);\n\t\t$online_users = obtain_users_online($f);\n\t\t$user_online_strings = obtain_users_online_string($online_users, $f);\n\n\t\t$l_online_users = $user_online_strings['l_online_users'];\n\t\t$online_userlist = $user_online_strings['online_userlist'];\n\t\t$total_online_users = $online_users['total_online'];\n\n\t\tif ($total_online_users > $config['record_online_users'])\n\t\t{\n\t\t\tset_config('record_online_users', $total_online_users, true);\n\t\t\tset_config('record_online_date', time(), true);\n\t\t}\n\n\t\t$l_online_record = sprintf($user->lang['RECORD_ONLINE_USERS'], $config['record_online_users'], $user->format_date($config['record_online_date']));\n\n\t\t$l_online_time = ($config['load_online_time'] == 1) ? 'VIEW_ONLINE_TIME' : 'VIEW_ONLINE_TIMES';\n\t\t$l_online_time = sprintf($user->lang[$l_online_time], $config['load_online_time']);\n\t}\n\telse\n\t{\n\t\t$l_online_time = '';\n\t}\n\n\t$l_privmsgs_text = $l_privmsgs_text_unread = '';\n\t$s_privmsg_new = false;\n\n\t// Obtain number of new private messages if user is logged in\n\tif (!empty($user->data['is_registered']))\n\t{\n\t\tif ($user->data['user_new_privmsg'])\n\t\t{\n\t\t\t$l_message_new = ($user->data['user_new_privmsg'] == 1) ? $user->lang['NEW_PM'] : $user->lang['NEW_PMS'];\n\t\t\t$l_privmsgs_text = sprintf($l_message_new, $user->data['user_new_privmsg']);\n\n\t\t\tif (!$user->data['user_last_privmsg'] || $user->data['user_last_privmsg'] > $user->data['session_last_visit'])\n\t\t\t{\n\t\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\t\tSET user_last_privmsg = ' . $user->data['session_last_visit'] . '\n\t\t\t\t\tWHERE user_id = ' . $user->data['user_id'];\n\t\t\t\t$db->sql_query($sql);\n\n\t\t\t\t$s_privmsg_new = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$s_privmsg_new = false;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$l_privmsgs_text = $user->lang['NO_NEW_PM'];\n\t\t\t$s_privmsg_new = false;\n\t\t}\n\n\t\t$l_privmsgs_text_unread = '';\n\n\t\tif ($user->data['user_unread_privmsg'] && $user->data['user_unread_privmsg'] != $user->data['user_new_privmsg'])\n\t\t{\n\t\t\t$l_message_unread = ($user->data['user_unread_privmsg'] == 1) ? $user->lang['UNREAD_PM'] : $user->lang['UNREAD_PMS'];\n\t\t\t$l_privmsgs_text_unread = sprintf($l_message_unread, $user->data['user_unread_privmsg']);\n\t\t}\n\t}\n\n\t// Which timezone?\n\t$tz = ($user->data['user_id'] != ANONYMOUS) ? strval(doubleval($user->data['user_timezone'])) : strval(doubleval($config['board_timezone']));\n\n  // Advertisement Management\n\trequire($phpbb_root_path . 'ads/functions.' . $phpEx);\n\tsetup_ads();\n\n  date_default_timezone_set( \"America/New_York\");\n\n\t// Send a proper content-language to the output\n\t$user_lang = $user->lang['USER_LANG'];\n\tif (strpos($user_lang, '-x-') !== false)\n\t{\n\t\t$user_lang = substr($user_lang, 0, strpos($user_lang, '-x-'));\n\t}\n\n\t$sql = 'SELECT u.*, e.* FROM experts e LEFT JOIN forum_users u on u.user_id = e.user_id';\n\t$result = $db->sql_query( $sql); $experts = array();\n\twhile( $row = $db->sql_fetchrow($result))\n\t{\n\t $experts[ $row['user_id'] ] = $row;\n\t}\n\t$db->sql_freeresult( $result);\n\n\t$sql = 'SELECT * FROM sports';\n\t$result = $db->sql_query( $sql); $sports = array();\n\twhile( $row = $db->sql_fetchrow($result))\n\t{\n\t $sports[ $row['id'] ] = $row;\n\t}\n\t$db->sql_freeresult( $result);\n\n\t//Generate Customer Tools Menu\n $valid_tools = array(\n  'Promos' => \"/promos.php\",\n  'Live_Lines' => \"/live_lines.php\",\n  'Sports_News' => \"/news/index.php\",\n  // 'Sportsbook_Reviews' => \"/sportsbook_reviews/index.php\",\n  'SBC_Tip\\'s' => \"/tips/index.php\",\n  'SBC_101\\'s'  => \"/101/index.php\",\n  'SBC_FAQ' => \"/faq.php\",\n  // 'Forgot_Password' => append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=sendpassword'),\n  'Contact_Us' => \"/contact.php\",\n  'Resources' => \"/resources.php\",\n  'Craps How To' => \"http://www.craps-how-to.com\",\n  '5 Star Sports Picks' => \"http://www.5star-sports.com/freepicks.html\",\n  // 'Soccer_Scores' => \"http://www.megascores.com/\"\n );\n\n  $preg_replaced_uri = preg_replace('/sid=[^&]*/si', '', $_SERVER['REQUEST_URI']);\n  $preg_replaced_uri = ( substr($preg_replaced_uri, -5) == '.php?') ? substr( $preg_replaced_uri, 0, -1) : $preg_replaced_uri;\n\n\t// BEGIN REDESIGN GENERATION\n\n\n\t$sql_topnav = 'SELECT * FROM navigation_top';\n\t$result_topnav = $db->sql_query( $sql_topnav);\n\twhile($row_topnav = $db->sql_fetchrow($result_topnav)){\n\t\t$hasSub = $row_topnav['topurl'] == '#' ? 1 : 0;\n\t\t$template->assign_block_vars( 'topnav_row', array(\n\t\t\t'ID' => $row_topnav['topname'],\n\t\t\t'NAME' => $row_topnav['topname'],\n\t\t\t'URL' => $row_topnav['topurl'],\n\t\t\t'HASSUB' => $hasSub\n\t\t));\n\t\n\t\tif($row_topnav['topurl'] == '#') {\n\t\t\t$sql_colnav = 'SELECT * FROM navigation_col where col_top_id = '.$row_"..., 8192) = 8192
22452 14:44:04.474200 brk(0x2309000)    = 0x2309000
22452 14:44:04.474679 read(3, " $db->sql_fetchrow($result_colnav)){\n\t\t\t\t$colnav = array(\n\t\t\t\t\t'ID' => $row_colnav['col_id'],\n\t\t\t\t\t'NAME' => $row_colnav['col_name'],\n\t\t\t\t\t'URL' => $row_colnav['col_url'],\n\t\t\t\t\t'CNT' => $cnt\n\t\t\t\t);\n\t\t\t\t$cnt++;\n\t\t\t\t$template->assign_block_vars('topnav_row.colnav_row', $colnav);\n\t\t\t\tif($row_colnav['col_url'] == '#') {\n\t\t\t\t\t$sql_lnknav = 'SELECT * FROM navigation_collinks where collinks_col_id = '.$row_colnav['col_id'];\n\t\t\t\t\t$result_lnknav = $db->sql_query( $sql_lnknav);\n\t\t\t\t\twhile($row_lnknav = $db->sql_fetchrow($result_lnknav)){\n\t\t\t\t\t\t$lnknav = array(\n\t\t\t\t\t\t\t'ID' => $row_lnknav['collinks_id'],\n\t\t\t\t\t\t\t'NAME' => $row_lnknav['collinks_name'],\n\t\t\t\t\t\t\t'URL' => $row_lnknav['collinks_url']\n\t\t\t\t\t\t);\n\t\t\t\t\t\t$template->assign_block_vars('topnav_row.colnav_row.lnknav_row', $lnknav);\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n\t// Generate the new navigation\n\tforeach( $experts as $expert_id => $expert)\n\t{\n\t\t$template->assign_block_vars( 'navigation_handicappers_row', array(\n\t\t\t'NAME' => $expert['username'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/experts/picks.php?expert=' . $expert_id\n\t\t));\n\t\t$template->assign_block_vars( 'navigation_guaranteed_picks_row', array(\n\t\t\t'NAME' => $expert['username'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/experts/picks.php?type=2&amp;expert=' . $expert_id\n\t\t));\n\t\t$template->assign_block_vars( 'navigation_discount_packages_row', array(\n\t\t\t'NAME' => $expert['username'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/experts/access_plans.php?expert=' . $expert_id\n\t\t));\n\t\t$template->assign_block_vars( 'navigation_records_row', array(\n\t\t\t'NAME' => $expert['username'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/records/index.php?expert=' . $expert_id\n\t\t));\n\t}\n\n\tforeach( $sports as $sport_id => $row)\n\t{\n\t\t$template->assign_block_vars( 'navigation_free_picks_row', array(\n\t\t\t'NAME' => $row['name'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/experts/picks.php?sport=' . $sport_id\n\t\t));\n\t}\n\n\tforeach( $valid_tools as $name => $url)\n\t{\n\t\t$name = str_replace( '_', ' ', $name);\n\t\t$template->assign_block_vars( 'navigation_tools_row', array(\n\t\t\t'NAME' => $name,\n\t\t\t'URL' => $url\n\t\t));\n\t}\n\n\t$sql = 'SELECT title, id FROM reviews ORDER BY rating DESC, title ASC';\n\t$result = $db->sql_query( $sql);\n\twhile( $row = $db->sql_fetchrow( $result))\n\t{\n\t\t$template->assign_block_vars( 'navigation_sportsbooks_row', array(\n\t\t\t'NAME' => $row['title'],\n\t\t\t'URL' => 'http://www.sportsbetcapping.com/sportsbook_reviews/view_review.php?review=' . $row['id']\n\t\t));\n\t}\n\n\tif( !function_exists( 'generate_text_for_display'))\n\t{\n\t\tinclude_once( $phpbb_root_path . '/includes/functions_content.php');\n\t}\n\n\t// Yesterday's Best Capper\n\t$sql = 'SELECT * FROM static_pages WHERE page_name = \"yesterdays_best_handicapper\"';\n\t$result = $db->sql_query( $sql);\n\t$row = $db->sql_fetchrow( $result);\n\t$row['bbcode_options'] = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +\n     (($row['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) +\n     (($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);\n $best_capper_text = generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']);\n\t$template->assign_vars( array(\n\t\t'SBC_BEST_CAPPER_IMAGE_URL' => $experts[ $row['capper_id'] ]['mugshot_url'],\n\t\t'SBC_BEST_CAPPER_IMAGE_ALT' => $experts[ $row['capper_id'] ]['username'],\n\t\t'SBC_BEST_CAPPER_TEXT' => $best_capper_text,\n\t\t'SBC_BEST_CAPPER_PICKS_URL' => 'http://www.sportsbetcapping.com/experts/picks.php?expert=' . $row['capper_id'],\n\t\t'SBC_BEST_CAPPER_PACKAGES_URL' => 'http://www.sportsbetcapping.com/experts/access_plans.php?expert=' . $row['capper_id'],\n\t));\n\n\n\t// SBC Best Bet\n\t$sql = 'SELECT s.*, p.title FROM static_pages s LEFT JOIN picks p ON p.id = s.pick_id WHERE s.page_name = \"sbc_best_bet\"';\n\t$result = $db->sql_query( $sql);\n\t$row = $db->sql_fetchrow( $result);\n\t$row['bbcode_options'] = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +\n     (($row['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) +\n     (($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);\n $best_bet_text = generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']);\n\t$template->assign_vars( array(\n\t\t'SBC_BEST_BET_IMAGE_URL' => $experts[ $row['capper_id'] ]['mugshot_url'],\n\t\t'SBC_BEST_BET_IMAGE_ALT' => $experts[ $row['capper_id'] ]['username'],\n\t\t'SBC_BEST_BET_TITLE' => $row['title'],\n\t\t'SBC_BEST_BET_TEXT' => $best_bet_text,\n\t\t'SBC_BEST_BET_PURCHASE_URL' => 'http://www.sportsbetcapping.com/experts/picks.php?expert=' . $row['capper_id'].'#'.$row['pick_id'],\n\t));\n\n\t// Today's Top Picks\n\t$sql = 'SELECT p.title, p.id, p.date, p.time, u.username, u.user_id FROM picks p LEFT JOIN forum_users u ON u.user_id = p.user_id WHERE p.post_to_homepage = 1 AND DATEDIFF( p.date, NOW()) >= 0 ORDER BY p.id DESC';\n\t$result = $db->sql_query( $sql); $i = 0; $picks_to_clear_from_homepage = array(); $now = time();\n\twhile( $row = $db->sql_fetchrow( $result))\n\t{\n\t\t$date_pieces = explode( '-', $row['date']);\n                                    $time_pieces = explode( ':', $row['time']);\n\n                                    $month = $date_pieces[1];\n                                    $day   = $date_pieces[2];\n                                    $year  = $date_pieces[0];\n                                    $hour  = $time_pieces[0];\n                                    $minute_pieces = explode( '&nbsp;', $time_pieces[1]);\n                                    $minute = intval( $minute_pieces[0]);\n                                    $ampm = $minute_pieces[1];\n                                    $string = $day . '-' . $month . '-' . $year . ' ' . $hour . ':' . sprintf( '%02d', $minute) . ' ' . $ampm;\n                                    $time = strtotime( $string);\n                                    if( ($now - $time) > 0)\n                                    {\n                                        // Whoops, this pick is old.\n                                        $picks_to_clear_from_homepage[] = $row['id'];\n                                        continue;\n                                    }\n\t\t$template->assign_block_vars( 'todays_top_sports_picks_row', array(\n\t\t  'URL' => 'http://www.sportsbetcapping.com/experts/picks.php?expert=' . $row['user_id']  . '#' . $row['id'],\n\t\t\t'PICK' => strlen( $row['title']) > 87 ? substr( $row['title'], 0, 84) . '...' : $row['title'],\n\t\t\t'EXPERT' => $row['username']\n\t\t));\n\t\t$i++;\n\t}\n        \n\t$template->assign_var( 'NUM_TODAYS_TOP_SPORTS_PICKS', $i);\n\t$template->assign_var( 'TODAYS_TOP_SPORTS_PICKS_HEADER', date('n/j/y') . ' Top Sports Picks');\n\tif( !empty( $picks_to_clear_from_homepage))\n\t{\n\t\t$where_sql = ' id = ' . implode( ' OR id = ', $picks_to_clear_from_homepage);\n\t\t$sql = 'UPDATE picks SET post_to_homepage = 0 WHERE ' . $where_sql;\n\t\t$db->sql_query( $sql);\n\t}\n\n\t// Generate Quick Navigation for this page\n\t$current_script_name = $_SERVER['SCRIPT_NAME'];\n\t$current_request_uri = $preg_replaced_uri;\n\n\t// Try and get Quick Links for this exact page\n\t$sql = 'SELECT * FROM quick_navigation WHERE link_for_basepage = \"NO\" AND link_request_uri = \"' . $db->sql_escape( $current_request_uri) . '\" ORDER BY link_text ASC';\n\t$result = $db->sql_query( $sql);\n\tif( $db->sql_affectedrows( $result) == 0)\n\t{\n\t\t// Okay, try and get Quick Links for the base page\n\t\t$sql = 'SELECT * FROM quick_navigation WHERE link_for_basepage = \"YES\" AND link_script_name = \"' . $db->sql_escape( $current_script_name) . '\" ORDER BY link_text ASC';\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) == 0)\n\t\t{\n\t\t\t// No good, have to pull the default\n\t\t\t$sql = 'SELECT * FROM quick_navigation WHERE link_is_default = \"YES\" ORDER BY link_text ASC';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t\t{\n\t\t\t\t$template->assign_block_vars( 'sbc_quick_nav_row', array(\n\t\t\t\t\t'URL' => $row['link_url'],\n\t\t\t\t\t'TEXT' => $row['link_text']\n\t\t\t\t));\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t\t{\n\t\t\t\t$template->assign_block_vars( 'sbc_quick_nav_row', array(\n\t\t\t\t\t'URL' => $row['link_url'],\n\t\t\t\t\t'TEX"..., 8192) = 8192
22452 14:44:04.476963 read(3, "{\n\t\t\t$template->assign_block_vars( 'sbc_quick_nav_row', array(\n\t\t\t\t'URL' => $row['link_url'],\n\t\t\t\t'TEXT' => $row['link_text']\n\t\t\t));\n\t\t}\n\t}\n\n\t// Pull the ads we need\n\tdefine( 'NUM_LEFT_PANEL_ADS', 2);\n\tdefine( 'NUM_RIGHT_PANEL_ADS', 2);\n\tdefine( 'MAX_SPORTSBOOK_ADS', 9);\n\tdefine( 'MAX_TOP_PARTNER_ADS', 12);\n\t$ads_viewed = array();\n\n\t// Header Ad\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"HEADER\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT 1';\n\t$result = $db->sql_query( $sql); $header_ad = array();\n\tif( $db->sql_affectedrows( $result) == 1)\n\t{\n\t\t$row = $db->sql_fetchrow( $result);\n\t\t$header_ad = $row;\n\t}\n\telse\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"HEADER\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$header_ad = $row;\n\t\t}\n\t}\n\tif( !empty( $header_ad))\n\t{\n\t\t$template->assign_vars( array(\n\t\t\t'SBC_ADS_HEADER_AD_TYPE' => $header_ad['ad_type'],\n\t\t\t'SBC_ADS_HEADER_IMAGE_URL' => ( !empty( $header_ad['ad_image_url'])) ? $header_ad['ad_image_url'] : '',\n\t\t\t'SBC_ADS_HEADER_LINK_URL' => ( !empty( $header_ad['ad_link'])) ? $header_ad['ad_link'] : '',\n\t\t\t'SBC_ADS_HEADER_DISPLAY_TEXT' => ( !empty( $header_ad['ad_display_text'])) ? $header_ad['ad_display_text'] : '',\n\t\t\t'SBC_ADS_HEADER_CODE' => ( !empty( $header_ad['ad_code'])) ? html_entity_decode( $header_ad['ad_code']) : '',\n\t\t\t'SBC_ADS_HEADER_DESCRIPTION' => ( !empty( $header_ad['ad_description'])) ? $header_ad['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $header_ad['ad_id'];\n\t}\n\tunset( $header_ad);\n\n\t// Left Panel Ad\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"LEFT_PANEL\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT ' . NUM_LEFT_PANEL_ADS;\n\t$result = $db->sql_query( $sql); $left_panel_ads = array();\n\tif( $db->sql_affectedrows( $result) > 0)\n\t{\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\tif( count( $left_panel_ads) < NUM_LEFT_PANEL_ADS)\n\t\t\t{\n\t\t\t\t$left_panel_ads[ $row['ad_id'] ] = $row;\n\t\t\t}\n\t\t}\n\t}\n\tif( count( $left_panel_ads) < NUM_LEFT_PANEL_ADS)\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"LEFT_PANEL\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT ' . NUM_LEFT_PANEL_ADS;\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t\t{\n\t\t\t\tif( count( $left_panel_ads) < NUM_LEFT_PANEL_ADS)\n\t\t\t\t{\n\t\t\t\t\t$left_panel_ads[ $row['ad_id'] ] = $row;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif( !empty( $left_panel_ads))\n\t{\n\t\t$i = 1;\n\t\tforeach( $left_panel_ads as $ad_id => $row)\n\t\t{\n\t\t\t$base_template_var = 'SBC_ADS_LEFT_PANEL_' . $i . '_';\n\t\t\t$template->assign_vars( array(\n\t\t\t\t$base_template_var . 'AD_TYPE' => $row['ad_type'],\n\t\t\t\t$base_template_var . 'IMAGE_URL' => ( !empty( $row['ad_image_url'])) ? $row['ad_image_url'] : '',\n\t\t\t\t$base_template_var . 'LINK_URL' => ( !empty( $row['ad_link'])) ? $row['ad_link'] : '',\n\t\t\t\t$base_template_var . 'DISPLAY_TEXT' => ( !empty( $row['ad_display_text'])) ? $row['ad_display_text'] : '',\n\t\t\t\t$base_template_var . 'CODE' => ( !empty( $row['ad_code'])) ? html_entity_decode( $row['ad_code']) : '',\n\t\t\t\t$base_template_var . 'DESCRIPTION' => ( !empty( $row['ad_description'])) ? $row['ad_description'] : '',\n\t\t\t));\n\t\t\t$i++;\n\t\t\t$ads_viewed[] = $row['ad_id'];\n\t\t\tif( $i > NUM_LEFT_PANEL_ADS)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tunset( $left_panel_ads);\n\n\t// Right Panel Ad\n\n\n\t// Under ROI Ad\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"UNDER_ROI\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT 1';\n\t$result = $db->sql_query( $sql); $under_roi_ad = array();\n\tif( $db->sql_affectedrows( $result) == 1)\n\t{\n\t\t$row = $db->sql_fetchrow( $result);\n\t\t$under_roi_ad = $row;\n\t}\n\telse\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"UNDER_ROI\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$under_roi_ad = $row;\n\t\t}\n\t}\n\tif( !empty( $under_roi_ad))\n\t{\n\t\t$template->assign_vars( array(\n\t\t\t'SBC_ADS_UNDER_ROI_AD_TYPE' => $under_roi_ad['ad_type'],\n\t\t\t'SBC_ADS_UNDER_ROI_IMAGE_URL' => ( !empty( $under_roi_ad['ad_image_url'])) ? $under_roi_ad['ad_image_url'] : '',\n\t\t\t'SBC_ADS_UNDER_ROI_LINK_URL' => ( !empty( $under_roi_ad['ad_link'])) ? $under_roi_ad['ad_link'] : '',\n\t\t\t'SBC_ADS_UNDER_ROI_DISPLAY_TEXT' => ( !empty( $under_roi_ad['ad_display_text'])) ? $under_roi_ad['ad_display_text'] : '',\n\t\t\t'SBC_ADS_UNDER_ROI_CODE' => ( !empty( $under_roi_ad['ad_code'])) ? html_entity_decode( $under_roi_ad['ad_code']) : '',\n\t\t\t'SBC_ADS_UNDER_ROI_DESCRIPTION' => ( !empty( $under_roi_ad['ad_description'])) ? $under_roi_ad['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $under_roi_ad['ad_id'];\n\t}\n\tunset( $under_roi_ad);\n\n\t// Sportsbooks Ads\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOKS\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT ' . MAX_SPORTSBOOK_ADS;\n\t$result = $db->sql_query( $sql); $sportsbook_ads = array();\n\tif( $db->sql_affectedrows( $result) > 0)\n\t{\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\tif( count( $sportsbook_ads) < MAX_SPORTSBOOK_ADS)\n\t\t\t{\n\t\t\t\t$sportsbook_ads[ $row['ad_id'] ] = $row;\n\t\t\t}\n\t\t}\n\t}\n\tif( count( $sportsbook_ads) < MAX_SPORTSBOOK_ADS)\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOKS\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT ' . MAX_SPORTSBOOK_ADS;\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t\t{\n\t\t\t\tif( count( $sportsbook_ads) < MAX_SPORTSBOOK_ADS)\n\t\t\t\t{\n\t\t\t\t\t$sportsbook_ads[ $row['ad_id'] ] = $row;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif( !empty( $sportsbook_ads))\n\t{\n\t\tforeach( $sportsbook_ads as $ad_id => $row)\n\t\t{\n\t\t\t$template->assign_block_vars( 'sportsbook_ad_row', array(\n\t\t\t\t'AD_TYPE' => $row['ad_type'],\n\t\t\t\t'IMAGE_URL' => ( !empty( $row['ad_image_url'])) ? $row['ad_image_url'] : '',\n\t\t\t\t'LINK_URL' => ( !empty( $row['ad_link'])) ? $row['ad_link'] : '',\n\t\t\t\t'DISPLAY_TEXT' => ( !empty( $row['ad_display_text'])) ? $row['ad_display_text'] : '',\n\t\t\t\t'CODE' => ( !empty( $row['ad_code'])) ? html_entity_decode( $row['ad_code']) : '',\n\t\t\t\t'DESCRIPTION' => ( !empty( $row['ad_description'])) ? $row['ad_description'] : '',\n\t\t\t));\n\t\t\t$ads_viewed[] = $row['ad_id'];\n\t\t}\n\t}\n\tunset( $sportsbook_ads);\n\n\t// Top Partners Ads\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"TOP_PARTNERS\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT ' . MAX_TOP_PARTNER_ADS;\n\t$result = $db->sql_query( $sql); $top_partner_ads = array();\n\tif( $db->sql_affectedrows( $result) > 0)\n\t{\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\tif( count( $top_partner_ads) < MAX_TOP_PARTNER_ADS)\n\t\t\t{\n\t\t\t\t$top_partner_ads[ $row['ad_id'] ] = $row;\n\t\t\t}\n\t\t}\n\t}\n\tif( count( $top_partner_ads) < MAX_TOP_PARTNER_ADS)\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"TOP_PARTNERS\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT ' . MAX_TOP_PARTNER_ADS;\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t\t{\n\t\t\t\tif( count( $top_partner_ads) < MAX_TOP_PARTNER_ADS)\n\t\t\t\t{\n\t\t\t\t\t$top_partner_ads[ $row['ad_id'] ] = $row;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif( !empty( $top_partner_ads))\n\t{\n\t\tforeach( $top_partner_ads as $ad_id => $row)\n\t\t{\n\t\t\t$template->assign_block_vars( 'top_partners_ad_row', array(\n\t\t\t\t'AD_TYPE' => $row['ad_type'],\n\t\t\t\t'IMAGE_URL' => ( !empty( $row['ad_image_url'])) ? $row['ad_image_url'] : '',\n\t\t\t\t'LINK_URL' => ( !empty( $row['ad_link'])) ? $row['ad_link'] : '',\n\t\t\t\t'DISPLAY_TEXT' => ( !empty( $row['ad_display_text'])) ? $row['ad_display_text'] : '',\n\t\t\t\t'CODE' => ( !empty( $row['ad_code'])) ? html_entity_decode( $row['ad_code']) : '',\n\t\t\t\t'DESCRIPTION' => ( !empty( $row['ad_description'])) ? $row['ad_description'] : '',\n\t\t\t));\n\t\t\t$ads_viewed[] = $row['ad_id'];\n\t\t}\n\t}\n\tunset( $top_partner_ads);\n\n\t// Best Capper Ad\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"TOP_BEST_CAPPER\" AND ad_style = \"PERMANEN"..., 8192) = 8192
22452 14:44:04.478608 mmap(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35888f7000
22452 14:44:04.479909 read(3, "ffectedrows( $result) == 1)\n\t{\n\t\t$row = $db->sql_fetchrow( $result);\n\t\t$ad = $row;\n\t}\n\telse\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"TOP_BEST_CAPPER\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$ad = $row;\n\t\t}\n\t}\n\tif( !empty( $ad))\n\t{\n\t\t$template->assign_vars( array(\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_AD_TYPE' => $ad['ad_type'],\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_IMAGE_URL' => ( !empty( $ad['ad_image_url'])) ? $ad['ad_image_url'] : '',\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_LINK_URL' => ( !empty( $ad['ad_link'])) ? $ad['ad_link'] : '',\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_DISPLAY_TEXT' => ( !empty( $ad['ad_display_text'])) ? $ad['ad_display_text'] : '',\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_CODE' => ( !empty( $ad['ad_code'])) ? html_entity_decode( $ad['ad_code'])  : '',\n\t\t\t'SBC_ADS_NEW_BEST_HANDICAPPER_DESCRIPTION' => ( !empty( $ad['ad_description'])) ? $ad['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $ad['ad_id'];\n\t}\n\tunset( $ad);\n\n\t// Footer Ad\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"FOOTER\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT 1';\n\t$result = $db->sql_query( $sql); $footer_ad = array();\n\tif( $db->sql_affectedrows( $result) == 1)\n\t{\n\t\t$row = $db->sql_fetchrow( $result);\n\t\t$footer_ad = $row;\n\t}\n\telse\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"FOOTER\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql);\n\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$footer_ad = $row;\n\t\t}\n\t}\n\tif( !empty( $footer_ad))\n\t{\n\t\t$template->assign_vars( array(\n\t\t\t'SBC_ADS_FOOTER_AD_TYPE' => $footer_ad['ad_type'],\n\t\t\t'SBC_ADS_FOOTER_IMAGE_URL' => ( !empty( $footer_ad['ad_image_url'])) ? $footer_ad['ad_image_url'] : '',\n\t\t\t'SBC_ADS_FOOTER_LINK_URL' => ( !empty( $footer_ad['ad_link'])) ? $footer_ad['ad_link'] : '',\n\t\t\t'SBC_ADS_FOOTER_DISPLAY_TEXT' => ( !empty( $footer_ad['ad_display_text'])) ? $footer_ad['ad_display_text'] : '',\n\t\t\t'SBC_ADS_FOOTER_CODE' => ( !empty( $footer_ad['ad_code'])) ? html_entity_decode( $footer_ad['ad_code'])  : '',\n\t\t\t'SBC_ADS_FOOTER_DESCRIPTION' => ( !empty( $footer_ad['ad_description'])) ? $footer_ad['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $footer_ad['ad_id'];\n\t}\n\tunset( $footer_ad);\n\n\t// Todays Promotion\n\t$sql = 'SELECT * FROM static_pages WHERE page_name = \"todays_promotion\"';\n\t$result = $db->sql_query( $sql);\n\tif( $db->sql_affectedrows( $result) == 1)\n\t{\n\t\t$row = $db->sql_fetchrow( $result);\n\t\t$row['bbcode_options'] = (($row['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +\n\t\t(($row['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);\n\n\t\t$text = generate_text_for_display($row['text'], $row['bbcode_uid'], $row['bbcode_bitfield'], $row['bbcode_options']);\n\n\t\tdecode_message($row['text'], $row['bbcode_uid']);\n\n\t\t$template->assign_vars( array(\n\t\t\t'S_DISPLAY_TODAYS_PROMOTION' => true,\n\t\t\t'SBC_TODAYS_PROMOTION' => $text,\n\t\t));\n\t}\n\n\t$in_sportsbook_reviews = ( substr( $_SERVER['SCRIPT_NAME'], 0, 19) == '/sportsbook_reviews') ? true : false;\n\tif( $in_sportsbook_reviews)\n\t{\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOK_PANEL_A\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql); $sportsbook_ad = array();\n\t\tif( $db->sql_affectedrows( $result) == 1)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$sportsbook_ad = $row;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOK_PANEL_A\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t\t{\n\t\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t\t$sportsbook_ad = $row;\n\t\t\t}\n\t\t}\n\t\tif( !empty( $sportsbook_ad))\n\t\t{\n\t\t\t$template->assign_vars( array(\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_AD_TYPE' => $sportsbook_ad['ad_type'],\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_IMAGE_URL' => ( !empty( $sportsbook_ad['ad_image_url'])) ? $sportsbook_ad['ad_image_url'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_LINK_URL' => ( !empty( $sportsbook_ad['ad_link'])) ? $sportsbook_ad['ad_link'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_DISPLAY_TEXT' => ( !empty( $sportsbook_ad['ad_display_text'])) ? $sportsbook_ad['ad_display_text'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_CODE' => ( !empty( $sportsbook_ad['ad_code'])) ? html_entity_decode( $sportsbook_ad['ad_code'])  : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_A_DESCRIPTION' => ( !empty( $sportsbook_ad['ad_description'])) ? $sportsbook_ad['ad_description'] : '',\n\t\t\t));\n\t\t\t$ads_viewed[] = $sportsbook_ad['ad_id'];\n\t\t}\n\t\tunset( $sportsbook_ad);\n\n\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOK_PANEL_B\" AND ad_style = \"PERMANENT\" ORDER BY RAND() LIMIT 1';\n\t\t$result = $db->sql_query( $sql); $sportsbook_ad = array();\n\t\tif( $db->sql_affectedrows( $result) == 1)\n\t\t{\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$sportsbook_ad = $row;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"SPORTSBOOK_PANEL_B\" AND ad_style = \"ROTATING\" ORDER BY RAND() LIMIT 1';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\tif( $db->sql_affectedrows( $result) > 0)\n\t\t\t{\n\t\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t\t$sportsbook_ad = $row;\n\t\t\t}\n\t\t}\n\t\tif( !empty( $sportsbook_ad))\n\t\t{\n\t\t\t$template->assign_vars( array(\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_AD_TYPE' => $sportsbook_ad['ad_type'],\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_IMAGE_URL' => ( !empty( $sportsbook_ad['ad_image_url'])) ? $sportsbook_ad['ad_image_url'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_LINK_URL' => ( !empty( $sportsbook_ad['ad_link'])) ? $sportsbook_ad['ad_link'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_DISPLAY_TEXT' => ( !empty( $sportsbook_ad['ad_display_text'])) ? $sportsbook_ad['ad_display_text'] : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_CODE' => ( !empty( $sportsbook_ad['ad_code'])) ? html_entity_decode( $sportsbook_ad['ad_code'])  : '',\n\t\t\t\t'SBC_SPORTSBOOK_PANEL_B_DESCRIPTION' => ( !empty( $sportsbook_ad['ad_description'])) ? $sportsbook_ad['ad_description'] : '',\n\t\t\t));\n\t\t\t$ads_viewed[] = $sportsbook_ad['ad_id'];\n\t\t}\n\t\tunset( $sportsbook_ad);\n\t}\n\n\t$s_in_forum = ( substr( $_SERVER['SCRIPT_NAME'], 0, 6) == $config['script_path']) ? true : false;\n\tif( !empty( $ads_viewed) && !(strripos( $_SERVER['SCRIPT_NAME'], 'admin') > 0) && !$s_in_forum)\n\t{\n\t\t$sql = 'UPDATE advertisements SET ad_views = ad_views + 1 WHERE ad_id = ' . implode( ' OR ad_id = ', $ads_viewed);\n\t\t$db->sql_query( $sql);\n\t}\n\n\t// END REDESIGN GENERATION\n\n\t// Generate the front navigation\n\t$sql = 'SELECT * FROM pick_type';\n\t$result = $db->sql_query($sql); $pick_types = array(); $displayed_guaranteed_policy = false;\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t $template->assign_block_vars( 'pick_type_row', array( 'TYPE' => $row['type']));\n\t if( $row['id'] == 1)\n\t {\n\t  // Free Picks\n\t  foreach( $sports as $sport)\n\t  {\n\t   $template->assign_block_vars('pick_type_row.top_experts', array(\n\t    'DISPLAY_FREE_LINK' => ( $sport['id'] == 1) ? true : false,\n\t    'URL' => '/experts/picks.php?sport='.$sport['id'],\n\t    'NAME' => $sport['name']\n\t   ));\n\t  }\n\t }\n\t else\n\t {\n  \tforeach( $experts as $expert)\n  \t{\n  \t  if( $row['id'] == 4)\n  \t  {\n  \t   // Access Plans\n  \t   $template->assign_block_vars('pick_type_row.top_experts', array(\n  \t    'URL' => '/experts/access_plans.php?expert='.$expert['user_id'],\n  \t    'NAME' => $expert['username']\n  \t   ));\n  \t  }\n  \t  else\n  \t  {\n  \t   $template->assign_block_vars('pick_type_row.top_experts', array(\n  \t    'DISPLAY_GUARANTEE_POLICY' => ( $row['id'] == 2 && $expert['user_id'] == 59) ? true : false,\n  \t    'URL' => '/experts/picks.php?expert='.$expert['user_id'].'&amp;type='.$row['id'],\n  \t    'NAME' => $expert['username']\n  \t   ));\n  \t  }\n    }\n \t }\n\t}\n\n\t$experts_id = array();\n\tforeach( $experts as $expert)\n\t{\n\t $template->assign_block_vars('top_records', array(\n\t   'URL' => '/records/index.php?expert='.$expert['user_id'],\n\t   'NAME' => $expert['username']\n\t ));\n\t $template->assign_block_vars('left_expert_links', array(\n\t   'URL' => '/experts/picks.php?expert='.$expert['user_id'].'',\n\t   'NAME' ="..., 8192) = 8192
22452 14:44:04.482268 read(3, "ed said to get rid of this\n\t/*\n\t$sql = \"select a.*, u.username as EXPERT_NAME from articles a LEFT JOIN forum_users u ON a.user_id = u.user_id order by a.id desc limit 0,1\" ;\n $result = $db->sql_query($sql);\n $row = $db->sql_fetchrow($result);\n\t$template->assign_vars( array(\n\t 'LATEST_ARTICLE_URL' => \t'/blog/index.php', //'?expert='.$row['user_id'],\n\t 'LATEST_ARTICLE_TITLE' => $row['title'],\n\t 'LATEST_ARTICLE_NAME' =>  $row['EXPERT_NAME']\n\t)); */\n\n\t// Pull latest picks\n\t$sql=\"select p.*, p.id as pick_id, e.name as EXPERT_NAME from picks p LEFT JOIN experts e ON p.user_id = e.user_id order by p.id desc limit 0,8\";\n\t$result = $db->sql_query($sql); $i = 0;\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t if (date_diffs($row['date']) <= 0)\n\t {\n\t  $date_pieces = explode( '-', $row['date']);\n   $time_pieces = explode( ':', $row['time']);\n\n   $month = $date_pieces[1];\n   $day   = $date_pieces[2];\n   $year  = $date_pieces[0];\n   $hour  = $time_pieces[0];\n   $minute_pieces = explode( '&nbsp;', $time_pieces[1]);\n   $minute = intval( $minute_pieces[0]);\n   $ampm = $minute_pieces[1];\n   $string = $day . '-' . $month . '-' . $year . ' ' . $hour . ':' . sprintf( '%02d', $minute) . ' ' . $ampm;\n   $time = strtotime( $string);\n\n   if( time() > $time)\n   {\n    continue;\n   }\n\t \t$template->assign_block_vars( 'latest_picks', array(\n\t \t 'URL' => '/experts/picks.php?expert='.$row['user_id'].'&amp;type='. $row['pick_type'].'#'.$row['pick_id'],\n\t \t 'TITLE' => $row['title'].' '.$row['time'].' ET',\n\t \t 'NAME' => $row['EXPERT_NAME'],\n\t \t));\n\t \t$i++;\n\t }\n\t}\n\t$template->assign_var( 'NUM_RECENT_PICKS', $i);\n\t$template->assign_var( 'CURRENT_DATE', date('m/d/Y'));\n\n\t/* Pull ads for right column\n $sql = \" select * from adbanner where pos = 'vert'\";\n $result = $db->sql_query($sql);\n while( $row = $db->sql_fetchrow($result))\n {\n  $template->assign_block_vars('right_ad_banners', array( 'CONTENT' => str_replace( '&', '&amp;', html_entity_decode( $row['matter']))));\n } */\n\n $sql = \"select * from addbanner where pos = 'R1' order by rand() limit 3\";\n $result = $db->sql_query($sql);\n while ( $row = $db->sql_fetchrow($result))\n {\n  $template->assign_block_vars('right_ad_banners_1', array( 'CONTENT' => str_replace( '&', '&amp;', html_entity_decode( $row['matter']))));\n }\n\n  $footer_text = \"select * from footer_text order by id desc\";\n  $ftext = $db->sql_query($footer_text);\n  $footer_data = $db->sql_fetchrow($ftext);\n\n  $template->assign_var('FOOTER_TEXT',html_entity_decode( $footer_data['matter']));\n\n\n  $footer_text_right = \"select * from footer_text_right order by id desc\";\n  $ftext_right = $db->sql_query($footer_text_right);\n  $footer_data_right = $db->sql_fetchrow($ftext_right);\n\n  $template->assign_var('FOOTER_TEXT_RIGHT',html_entity_decode( $footer_data_right['matter']));\n\n $sql_advertise = \"select * from advertisements where ad_position = 'BLOG_ADV_1'\";\n $result_advertise = $db->sql_query($sql_advertise);\n\n while($row_advertise = $db->sql_fetchrow($result_advertise))\n {\n\t $template->assign_block_vars('right_advertise', array(\n\t  'CONTENT' => $row_advertise['ad_description'],\n\t  'AD_LINK' => $row_advertise['ad_link'],\n\t  'DISPLAY_TEXT' => $row_advertise['ad_display_text'],\n\t  'CODE' => str_replace( '&', '&amp;', html_entity_decode( $row_advertise['ad_code'])),\n\t  'IMAGE_URL' => $row_advertise['ad_image_url']\n\t  ));\n }\n\n $sql_advertise_three = \"select * from advertisements where ad_position = 'BLOG_ADV_3'\";\n $result_advertise_three = $db->sql_query($sql_advertise_three);\n\n while($row_advertise_three = $db->sql_fetchrow($result_advertise_three))\n {\n\t $template->assign_block_vars('right_advertise_three', array(\n\t  'CONTENT' => $row_advertise_three['ad_description'],\n\t  'AD_LINK' => $row_advertise_three['ad_link'],\n\t  'DISPLAY_TEXT' => $row_advertise_three['ad_display_text'],\n\t  'CODE' => str_replace( '&', '&amp;', html_entity_decode( $row_advertise_three['ad_code'])),\n\t  'IMAGE_URL' => $row_advertise_three['ad_image_url']\n\t  ));\n }\n\n $blog_image = \"select * from advertisements where ad_position = 'BLOG_BACKGROUND'\";\n $db_blog_image = $db->sql_query($blog_image);\n\n $row_blog_image = $db->sql_fetchrow($db_blog_image);\n  $template->assign_var('BLOG_BACK',html_entity_decode( $row_blog_image['ad_image_url']));\n    $template->assign_var('BLOG_BACK_LINK',html_entity_decode( $row_blog_image['ad_link']));\n\n $sql_advertise_div2 = \"select * from advertisements where ad_position = 'BLOG_ADV_2'\";\n $result_advertise_div2 = $db->sql_query($sql_advertise_div2);\n\n while($row_advertise_div2 = $db->sql_fetchrow($result_advertise_div2))\n {\n\t $template->assign_block_vars('right_advertise_div', array(\n\t  'CONTENT' => $row_advertise_div2['ad_description'],\n\t  'AD_LINK' => $row_advertise_div2['ad_link'],\n\t  'DISPLAY_TEXT' => $row_advertise_div2['ad_display_text'],\n\t  'CODE' => str_replace( '&', '&amp;', html_entity_decode( $row_advertise_div2['ad_code'])),\n\t  'IMAGE_URL' => $row_advertise_div2['ad_image_url']\n\t  ));\n }\n $sql = \"select * from addbanner where pos = 'R2' order by rand()\";\n $result = $db->sql_query($sql);\n while ( $row = $db->sql_fetchrow($result))\n {\n  $template->assign_block_vars('right_ad_banners_2', array( 'CONTENT' => str_replace( '&', '&amp;', html_entity_decode( $row['matter']))));\n }\n\n if( !$s_in_forum)\n {\n  /* Call the Stats and Generate functions here\n  generate_stats();\n  generate_roi();\n  */\n  $day_stats = intval( request_var( 'stats_day', 0));\n  generate_stats( false, 1, $day_stats);\n  $day_roi = intval( request_var( 'roi_day', 0));\n  generate_roi( false, 1, $day_roi);\n\n }\n\n // Pull the appropriate ad banners\n $sql = \"SELECT matter FROM addbanner where pos = 'L1' order by rand() limit 1\";\n $result = $db->sql_query($sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n\t$template->assign_var( 'BANNER_LEFT_1', str_replace( '&', '&amp;', html_entity_decode( $row['matter'])));\n }\n\n $sql = \"SELECT matter FROM addbanner where pos = 'L2' order by rand() limit 1\";\n $result = $db->sql_query($sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n\t$template->assign_var( 'BANNER_LEFT_2', str_replace( '&', '&amp;', html_entity_decode( $row['matter'])));\n }\n\n $sql = \"SELECT matter FROM addbanner where pos = 'L3' order by rand() limit 3\";\n $result = $db->sql_query($sql); $i = 3;\n while( $row = $db->sql_fetchrow( $result))\n {\n\t$template->assign_var( 'BANNER_LEFT_'.$i, str_replace( '&', '&amp;', html_entity_decode( $row['matter']))); $i++;\n }\n\n\t$sql = \"SELECT matter from adbanner where pos = 'hor' order by rand() limit 1\";\n $result = $db->sql_query($sql);\n $row = $db->sql_fetchrow( $result);\n $template->assign_var( 'HORIZONTAL_BANNER', str_replace( '&', '&amp;', html_entity_decode( $row['matter'])));\n\n $sql = \"SELECT matter from addbanner where pos = 'B' order by rand() limit 1\";\n $result = $db->sql_query($sql);\n $row = $db->sql_fetchrow( $result);\n $template->assign_var( 'BOTTOM_BANNER', str_replace( '&', '&amp;', html_entity_decode( $row['matter'])));\n\n $sql = \"SELECT matter from addbanner where pos = 'R3' order by rand() limit 1\";\n $result = $db->sql_query($sql);\n $row = $db->sql_fetchrow( $result);\n $template->assign_var( 'RIGHT_BANNER_1', str_replace( '&', '&amp;', html_entity_decode( $row['matter'])));\n\n foreach( $valid_tools as $name => $url)\n {\n  $name = str_replace( '_', ' ', $name);\n  $template->assign_block_vars( 'customer_tools_row', array(\n   'NAME' => $name,\n   'URL' => $url\n  ));\n }\n\n // Generate Footer Links\n define('FOOTER_LINKS_INDIVIDUAL_LINK_HEIGHT', 15);\n $sql = 'SELECT * FROM footer_links_config';\n $result = $db->sql_query( $sql);\n $footer_links_containers = array();\n while( $row = $db->sql_fetchrow( $result))\n {\n \t$footer_links_containers[ $row['container_id'] ] = $row;\n }\n\n foreach( $footer_links_containers as $container_id => $data)\n {\n \t$template->assign_block_vars( 'footer_links_containers', array(\n \t\t'NAME' => htmlentities( $data['container_name']),\n \t\t'MIN_HEIGHT' => (($data['max_entries'] * FOOTER_LINKS_INDIVIDUAL_LINK_HEIGHT) - 1),\n \t\t'MAX_HEIGHT' => (($data['max_entries'] * FOOTER_LINKS_INDIVIDUAL_LINK_HEIGHT) + 1)\n \t));\n \t$order_sql = ( $data['sort_type'] == 'Al"..., 8192) = 8192
22452 14:44:04.484680 read(3, "T * FROM footer_links WHERE container_id = ' . intval( $container_id ) . ' ' . $order_sql;\n \t$result = $db->sql_query( $sql); $i=0;\n \twhile( $row = $db->sql_fetchrow( $result))\n \t{\n \t\t$i++;\n \t\tif( $i > $data['max_entries'])\n \t\t{\n \t\t\tcontinue;\n \t\t}\n \t\t$template->assign_block_vars( 'footer_links_containers.footer_links_row', array(\n \t\t\t'S_LINK' => ( strlen($row['link_link']) > 0) ? true : false,\n \t\t\t'S_CODE' => ( strlen($row['link_code']) > 0) ? true : false,\n \t\t\t'URL' => $row['link_link'],\n \t\t\t'NAME' => $row['link_name'],\n \t\t\t'CODE' => ( strlen($row['link_code']) > 0) ? html_entity_decode( $row['link_code']) : ''\n \t\t));\n \t}\n }\n\n\n // Advanced Meta Tags MOD\n\t$page_keywords = $config['global_keywords'];\n\t$page_description = $config['site_desc'];\n\n\tif (!empty($post_text))\n\t{\n\t\t$post_text = strtolower(strip_tags($post_text));\n\t\t$post_text = str_word_count($post_text, 1);\n\t\tif ($config['use_dynamic_keywords'])\n\t\t{\n\t\t\t$count = 0;\n\t\t\t$page_keywords = array();\n\t\t\tforeach ($post_text as $word)\n\t\t\t{\n\t\t\t\t$word = str_replace(\"'\", '', $word);\n\n\t\t\t\tif (strlen($word) > 2)\n\t\t\t\t{\n\t\t\t\t\tif (!empty($page_keywords) && in_array($word, $page_keywords))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\t$page_keywords[] = $word;\n\t\t\t\t\t$count++;\n\t\t\t\t}\n\n\t\t\t\tif ($count == $config['keyword_word_count'])\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$config_keywords = ($config['append_global_keywords']) ? $config['global_keywords'] : '';\n\t\t\t$page_keywords = ($config['append_keywords_first']) ? $config_keywords . ', ' . implode(', ', $page_keywords) : implode(', ', $page_keywords) . ', ' . $config_keywords;\n\t\t}\n\n\t\tif ($config['use_dynamic_description'])\n\t\t{\n\t\t\t$count = 0;\n\t\t\t$page_description = '';\n\t\t\tforeach ($post_text as $word)\n\t\t\t{\n\t\t\t\t$page_description .= $word . ' ';\n\t\t\t\t$count++;\n\n\t\t\t\tif ($count == $config['description_word_count'])\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t$blog_url = explode(\"?\",$_SERVER['REQUEST_URI']);\nif($blog_url[0] == \"/blog/view_article.php\")\n{\n\t$data = 0;\n}\nelse\n{\n\t$data = 1;\n}\n\t// The following assigns all _common_ variables that may be used at any point in a template.\n\t$template->assign_vars(array(\n\t // Advanced Meta Tags MOD\n\t 'PAGE_KEYWORDS'                                 => $page_keywords,\n\t 'PAGE_DESCRIPTION'                              => $page_description,\n\t\t'SITENAME'\t\t\t\t\t\t=> $config['sitename'],\n\t\t'SITE_DESCRIPTION'\t\t\t\t=> $config['site_desc'],\n\t\t'PAGE_TITLE'\t\t\t\t\t=> $page_title,\n\t\t'SCRIPT_NAME'\t\t\t\t\t=> str_replace('.' . $phpEx, '', $user->page['page_name']),\n\t\t'LAST_VISIT_DATE'\t\t\t\t=> sprintf($user->lang['YOU_LAST_VISIT'], $s_last_visit),\n\t\t'LAST_VISIT_YOU'\t\t\t\t=> $s_last_visit,\n\t\t'CURRENT_TIME'\t\t\t\t\t=> sprintf($user->lang['CURRENT_TIME'], $user->format_date(time(), false, true)),\n\t\t'TOTAL_USERS_ONLINE'\t\t\t=> $l_online_users,\n\t\t'LOGGED_IN_USER_LIST'\t\t\t=> $online_userlist,\n\t\t'RECORD_USERS'\t\t\t\t\t=> $l_online_record,\n\t\t'BLOGURL'\t\t\t\t\t\t=> $data,\n\t\t'PRIVATE_MESSAGE_INFO'\t\t\t=> $l_privmsgs_text,\n\t\t'PRIVATE_MESSAGE_INFO_UNREAD'\t=> $l_privmsgs_text_unread,\n\n\t\t'S_USER_NEW_PRIVMSG'\t\t\t=> $user->data['user_new_privmsg'],\n\t\t'S_USER_UNREAD_PRIVMSG'\t\t\t=> $user->data['user_unread_privmsg'],\n\n\t\t'SID'\t\t\t\t=> $SID,\n\t\t'_SID'\t\t\t\t=> $_SID,\n\t\t'SESSION_ID'\t\t=> $user->session_id,\n\t\t'ROOT_PATH'\t\t\t=> $phpbb_root_path,\n\t\t'REQUEST_URI' => str_replace( '&', '&amp;', $_SERVER['REQUEST_URI']),\n\t\t//'PHP_SELF'    => $_SERVER['PHP_SELF'],\n\t\t//'QUERY_STRING'=> ( empty($_SERVER['QUERY_STRING'])) ? '' : '?' . str_replace( '&', '&amp;', $_SERVER['QUERY_STRING']),\n\t\t// {PHP_SELF}{QUERY_STRING} will give you the page you're on\n\t\t'CURRENT_PAGE_SCRIPT_NAME' => base64_encode( $_SERVER['SCRIPT_NAME'] ),\n\t\t'CURRENT_PAGE_REQUEST_URI' => base64_encode( $preg_replaced_uri ),\n\n\t\t'L_LOGIN_LOGOUT'\t=> $l_login_logout,\n\t\t'L_INDEX'\t\t\t=> $user->lang['FORUM_INDEX'],\n\t\t'L_ONLINE_EXPLAIN'\t=> $l_online_time,\n\n\t\t'U_PRIVATEMSGS'\t\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'i=pm&amp;folder=inbox'),\n\t\t'U_RETURN_INBOX'\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'i=pm&amp;folder=inbox'),\n\t\t'U_POPUP_PM'\t\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'i=pm&amp;mode=popup'),\n\t\t'UA_POPUP_PM'\t\t\t=> addslashes(append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'i=pm&amp;mode=popup')),\n\t\t'U_MEMBERLIST'\t\t\t=> append_sid(\"{$phpbb_root_path}memberlist.$phpEx\"),\n\t\t'U_VIEWONLINE'\t\t\t=> ($auth->acl_gets('u_viewprofile', 'a_user', 'a_useradd', 'a_userdel')) ? append_sid(\"{$phpbb_root_path}viewonline.$phpEx\") : '',\n\t\t'U_LOGIN_LOGOUT'\t\t=> $u_login_logout,\n\t\t'U_INDEX'\t\t\t\t=> append_sid(\"{$phpbb_root_path}index.$phpEx\"),\n\t\t'U_SEARCH'\t\t\t\t=> append_sid(\"{$phpbb_root_path}search.$phpEx\"),\n\t\t'U_REGISTER'\t\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=register'),\n\t\t'U_FORGOT_PASS' => append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=sendpassword'),\n\t\t'U_PROFILE'\t\t\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\"),\n\t\t'U_MODCP'\t\t\t\t=> append_sid(\"{$phpbb_root_path}mcp.$phpEx\", false, true, $user->session_id),\n\t\t'U_FAQ'\t\t\t\t\t=> append_sid(\"{$phpbb_root_path}faq.$phpEx\"),\n\t\t'U_SEARCH_SELF'\t\t\t=> append_sid(\"{$phpbb_root_path}search.$phpEx\", 'search_id=egosearch'),\n\t\t'U_SEARCH_NEW'\t\t\t=> append_sid(\"{$phpbb_root_path}search.$phpEx\", 'search_id=newposts'),\n\t\t'U_SEARCH_UNANSWERED'\t=> append_sid(\"{$phpbb_root_path}search.$phpEx\", 'search_id=unanswered'),\n\t\t'U_SEARCH_ACTIVE_TOPICS'=> append_sid(\"{$phpbb_root_path}search.$phpEx\", 'search_id=active_topics'),\n\t\t'U_DELETE_COOKIES'\t\t=> append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=delete_cookies'),\n\t\t'U_TEAM'\t\t\t\t=> ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) ? '' : append_sid(\"{$phpbb_root_path}memberlist.$phpEx\", 'mode=leaders'),\n\t\t'U_RESTORE_PERMISSIONS'\t=> ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm')) ? append_sid(\"{$phpbb_root_path}ucp.$phpEx\", 'mode=restore_perm') : '',\n\n\t\t'S_IN_FORUM'        => $s_in_forum, //( $user->page['script_path'] == '/forum/')\n\t\t'S_IN_NEW_ADMIN_PANEL' => ( strripos( $_SERVER['SCRIPT_NAME'], 'admin') > 0) ? true : false,\n\t\t'S_USER_CAN_SEE_MAIN_ADMIN' => ( in_array( $user->data['user_id'], $experts_id) || $user->data['user_id'] == 2 || $user->data['group_id'] == 8) ? true : false,\n\t\t'S_IS_NICK' => ( $user->data['user_id'] == 2 ) ? true : false,\n\t\t'U_NEW_ADMIN_PANEL' => append_sid(\"/admin/index.php\"),\n\n\t\t'S_USER_LOGGED_IN'\t\t=> ($user->data['user_id'] != ANONYMOUS) ? true : false,\n\t\t'S_AUTOLOGIN_ENABLED'\t=> ($config['allow_autologin']) ? true : false,\n\t\t'S_BOARD_DISABLED'\t\t=> ($config['board_disable']) ? true : false,\n\t\t'S_REGISTERED_USER'\t\t=> (!empty($user->data['is_registered'])) ? true : false,\n\t\t'S_IS_BOT'\t\t\t\t=> (!empty($user->data['is_bot'])) ? true : false,\n\t\t'S_USER_PM_POPUP'\t\t=> $user->optionget('popuppm'),\n\t\t'S_USER_LANG'\t\t\t=> $user_lang,\n\t\t'S_USER_BROWSER'\t\t=> (isset($user->data['session_browser'])) ? $user->data['session_browser'] : $user->lang['UNKNOWN_BROWSER'],\n\t\t'S_USERNAME'\t\t\t=> $user->data['username'],\n\t\t'S_USER_ID'       => $user->data['user_id'],\n\t\t'S_CURRENT_USER_COLOR' => $user->data['user_colour'],\n\t\t'S_CONTENT_DIRECTION'\t=> $user->lang['DIRECTION'],\n\t\t'S_CONTENT_FLOW_BEGIN'\t=> ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',\n\t\t'S_CONTENT_FLOW_END'\t=> ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',\n\t\t'S_CONTENT_ENCODING'\t=> 'UTF-8',\n\t\t'S_TIMEZONE'\t\t\t=> ($user->data['user_dst'] || ($user->data['user_id'] == ANONYMOUS && $config['board_dst'])) ? sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], $user->lang['tz']['dst']) : sprintf($user->lang['ALL_TIMES'], $user->lang['tz'][$tz], ''),\n\t\t'S_DISPLAY_ONLINE_LIST'\t=> ($l_online_time) ? 1 : 0,\n\t\t'S_DISPLAY_SEARCH'\t\t=> (!$config['load_search']) ? 0 : (isset($auth) ? ($auth->acl_get('u_search') && $auth->acl_getf_global('f_search')) : 1),\n\t\t'S_DISPLAY_PM'\t\t\t=> ($config['allow_privmsg'] && !empty($user->data['is_registered']) && ($auth->acl_get('u_readpm') || $auth->acl_get('u_sendpm'))) ? true : false,\n\t\t'S_DISPLAY_MEMBERLIST'\t=> (isset($auth)) ? $auth->acl_get('u_viewprofile') : 0,\n\t\t'S_NEW_PM'\t\t\t\t=> ($s_privmsg_new) ? 1 : 0,\n\t\t'S_REGISTER_ENABLED'\t=> ($config['require_activation'] != USER_ACTIVATION_DISABLE) ? true : false,\n\n\t\t'T_THEME_PATH'\t\t\t=> \"{$phpbb_root_"..., 8192) = 8192
22452 14:44:04.487220 read(3, "yles/\" . $user->theme['template_path'] . '/template',\n\t\t'T_SUPER_TEMPLATE_PATH'\t=> (isset($user->theme['template_inherit_path']) && $user->theme['template_inherit_path']) ? \"{$phpbb_root_path}styles/\" . $user->theme['template_inherit_path'] . '/template' : \"{$phpbb_root_path}styles/\" . $user->theme['template_path'] . '/template',\n\t\t'T_IMAGESET_PATH'\t\t=> \"{$phpbb_root_path}styles/\" . $user->theme['imageset_path'] . '/imageset',\n\t\t'T_IMAGESET_LANG_PATH'\t=> \"{$phpbb_root_path}styles/\" . $user->theme['imageset_path'] . '/imageset/' . $user->data['user_lang'],\n\t\t'T_IMAGES_PATH'\t\t\t=> \"{$phpbb_root_path}images/\",\n\t\t'T_SMILIES_PATH'\t\t=> \"{$phpbb_root_path}{$config['smilies_path']}/\",\n\t\t'T_AVATAR_PATH'\t\t\t=> \"{$phpbb_root_path}{$config['avatar_path']}/\",\n\t\t'T_AVATAR_GALLERY_PATH'\t=> \"{$phpbb_root_path}{$config['avatar_gallery_path']}/\",\n\t\t'T_ICONS_PATH'\t\t\t=> \"{$phpbb_root_path}{$config['icons_path']}/\",\n\t\t'T_RANKS_PATH'\t\t\t=> \"{$phpbb_root_path}{$config['ranks_path']}/\",\n\t\t'T_UPLOAD_PATH'\t\t\t=> \"{$phpbb_root_path}{$config['upload_path']}/\",\n\t\t'T_STYLESHEET_LINK'\t\t=> (!$user->theme['theme_storedb']) ? \"{$phpbb_root_path}styles/\" . $user->theme['theme_path'] . '/theme/stylesheet.css' : \"{$phpbb_root_path}style.$phpEx?sid=$user->session_id&amp;id=\" . $user->theme['style_id'] . '&amp;lang=' . $user->data['user_lang'],\n\t\t'T_STYLESHEET_NAME'\t\t=> $user->theme['theme_name'],\n\n\t\t'SITE_LOGO_IMG'\t\t\t=> $user->img('site_logo'),\n\n\t\t'A_COOKIE_SETTINGS'\t\t=> addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),\n\t));\n\n\t// application/xhtml+xml not used because of IE\n\theader('Content-type: text/html; charset=UTF-8');\n\n\theader('Cache-Control: private, no-cache=\"set-cookie\"');\n\theader('Expires: 0');\n\theader('Pragma: no-cache');\n\n\treturn;\n}\n\n/**\n* Generate page footer\n*/\nfunction page_footer($run_cron = true)\n{\n\tglobal $db, $config, $template, $user, $auth, $cache, $starttime, $phpbb_root_path, $phpEx;\n\n\t// Output page creation time\n\tif (defined('DEBUG'))\n\t{\n\t\t$mtime = explode(' ', microtime());\n\t\t$totaltime = $mtime[0] + $mtime[1] - $starttime;\n\n\t\tif (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))\n\t\t{\n\t\t\t$db->sql_report('display');\n\t\t}\n\n\t\t$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);\n\n\t\tif ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))\n\t\t{\n\t\t\tif (function_exists('memory_get_usage'))\n\t\t\t{\n\t\t\t\tif ($memory_usage = memory_get_usage())\n\t\t\t\t{\n\t\t\t\t\tglobal $base_memory_usage;\n\t\t\t\t\t$memory_usage -= $base_memory_usage;\n\t\t\t\t\t$memory_usage = get_formatted_filesize($memory_usage);\n\n\t\t\t\t\t$debug_output .= ' | Memory Usage: ' . $memory_usage;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$debug_output .= ' | <a href=\"' . build_url() . '&amp;explain=1\">Explain</a>';\n\t\t}\n\t}\n\n\t$template->assign_vars(array(\n\t\t'DEBUG_OUTPUT'\t\t\t=> (defined('DEBUG')) ? $debug_output : '',\n\t\t'TRANSLATION_INFO'\t\t=> (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',\n\n\t\t'U_ACP' => ($auth->acl_get('a_') && !empty($user->data['is_registered'])) ? append_sid(\"{$phpbb_root_path}adm/index.$phpEx\", false, true, $user->session_id) : '')\n\t);\n\n\t// Call cron-type script\n\tif (!defined('IN_CRON') && $run_cron && !$config['board_disable'])\n\t{\n\t\t$cron_type = '';\n\n\t\tif (time() - $config['queue_interval'] > $config['last_queue_run'] && !defined('IN_ADMIN') && file_exists($phpbb_root_path . 'cache/queue.' . $phpEx))\n\t\t{\n\t\t\t// Process email queue\n\t\t\t$cron_type = 'queue';\n\t\t}\n\t\telse if (time() - $config['custom_cron_interval'] > $config['custom_cron_last_run'])\n\t\t{\n\t\t $cron_type = 'custom_cron';\n\t\t}\n\t\telse if (method_exists($cache, 'tidy') && time() - $config['cache_gc'] > $config['cache_last_gc'])\n\t\t{\n\t\t\t// Tidy the cache\n\t\t\t$cron_type = 'tidy_cache';\n\t\t}\n\t\telse if (time() - $config['warnings_gc'] > $config['warnings_last_gc'])\n\t\t{\n\t\t\t$cron_type = 'tidy_warnings';\n\t\t}\n\t\telse if (time() - $config['database_gc'] > $config['database_last_gc'])\n\t\t{\n\t\t\t// Tidy the database\n\t\t\t$cron_type = 'tidy_database';\n\t\t}\n\t\telse if (time() - $config['search_gc'] > $config['search_last_gc'])\n\t\t{\n\t\t\t// Tidy the search\n\t\t\t$cron_type = 'tidy_search';\n\t\t}\n\t\telse if (time() - $config['session_gc'] > $config['session_last_gc'])\n\t\t{\n\t\t\t$cron_type = 'tidy_sessions';\n\t\t}\n\n\t\tif ($cron_type)\n\t\t{\n\t\t\t$template->assign_var('RUN_CRON_TASK', '<img src=\"' . append_sid($phpbb_root_path . 'cron.' . $phpEx, 'cron_type=' . $cron_type) . '\" width=\"1\" height=\"1\" alt=\"cron\" />');\n\t\t}\n\t}\n\n\t$template->display('body');\n\n\tgarbage_collection();\n\texit_handler();\n}\n\n/**\n* Closing the cache object and the database\n* Cool function name, eh? We might want to add operations to it later\n*/\nfunction garbage_collection()\n{\n\tglobal $cache, $db;\n\n\t// Unload cache, must be done before the DB connection if closed\n\tif (!empty($cache))\n\t{\n\t\t$cache->unload();\n\t}\n\n\t// Close our DB connection.\n\tif (!empty($db))\n\t{\n\t\t$db->sql_close();\n\t}\n}\n\n/**\n* Handler for exit calls in phpBB.\n* This function supports hooks.\n*\n* Note: This function is called after the template has been outputted.\n*/\nfunction exit_handler()\n{\n\tglobal $phpbb_hook, $config;\n\n\tif (!empty($phpbb_hook) && $phpbb_hook->call_hook(__FUNCTION__))\n\t{\n\t\tif ($phpbb_hook->hook_return(__FUNCTION__))\n\t\t{\n\t\t\treturn $phpbb_hook->hook_return_result(__FUNCTION__);\n\t\t}\n\t}\n\n\t// As a pre-caution... some setups display a blank page if the flush() is not there.\n\t(empty($config['gzip_compress'])) ? @flush() : @ob_flush();\n\n\texit;\n}\n\n/**\n* Handler for init calls in phpBB. This function is called in user::setup();\n* This function supports hooks.\n*/\nfunction phpbb_user_session_handler()\n{\n\tglobal $phpbb_hook;\n\n\tif (!empty($phpbb_hook) && $phpbb_hook->call_hook(__FUNCTION__))\n\t{\n\t\tif ($phpbb_hook->hook_return(__FUNCTION__))\n\t\t{\n\t\t\treturn $phpbb_hook->hook_return_result(__FUNCTION__);\n\t\t}\n\t}\n\n\treturn;\n}\n\n/* CUSTOM */\n\nfunction date_diffs($str)\n{\n\t$date = strtotime( $str);\n\treturn ( (strtotime( date('Y-m-d'))) - $date) / 86400;\n}\n\nfunction generate_stats( $expert_id = false, $type = 0, $day_max = 7)\n{\n global $db, $template;\n\n $stats_heading_3 = '';\n\n if( $type == 0)\n {\n \t// Generate the old stats screen ( individual intervals )\n \tif( empty( $expert_id))\n \t{\n \t\t// return false;\n \t}\n  $day_values = array( 3, 7, 10, 15, 30, 60); $totals = array();\n  date_default_timezone_set('America/New_York');\n  foreach( $day_values as $day)\n  {\n   $where_sql  = ( $day == 1) ? ' AND DATEDIFF( NOW(), r.date ) = 1 ' : ' AND DATEDIFF( NOW() , r.date ) > 0 ';\n   $where_sql .= ( !empty( $expert_id)) ? ' AND r.user_id = ' . $expert_id : '';\n   $sql='SELECT SUM( win_loss2) as won_amount, COUNT(*) as total_won\n            FROM record2 r\n            WHERE\n              DATEDIFF( NOW(), r.date ) <= ' . $day  .\n              $where_sql  . '\n              AND win_loss = \"Win\"';\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $won_amount = (float) $row['won_amount'];\n   $total_won = (int) $row['total_won'];\n   $db->sql_freeresult($result);\n\n   $sql='SELECT SUM( win_loss2) as loss_amount, COUNT(*) as total_loss\n            FROM record2 r\n            WHERE\n              DATEDIFF( NOW() , r.date ) <= ' . $day  .\n              $where_sql . '\n              AND win_loss = \"Loss\"';\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $loss_amount = (float) $row['loss_amount'];\n   $total_loss = (int) $row['total_loss'];\n   $db->sql_freeresult($result);\n\n   $totals[$day]['won_amount'] = $won_amount;\n   $totals[$day]['total_won'] = $total_won;\n   $totals[$day]['loss_amount'] = $loss_amount;\n   $totals[$day]['total_loss'] = $total_loss;\n  }\n\n  //if( $user->data['user_id'] != 2){ var_dump( $totals); exit; }\n\n  if( !empty( $expert_id))\n  {\n   $sql = 'SELECT u.username FROM experts e LEFT JOIN forum_users u ON u.user_id = "..., 8192) = 8192
22452 14:44:04.491443 read(3, "ctedrows( $result) != 1)\n   {\n    trigger_error( 'Could not retrieve expert for stats generation');\n   }\n   $row = $db->sql_fetchrow( $result);\n   $db->sql_freeresult( $result);\n   $expert_username = $row['username'];\n  }\n  $expert_username = ( strlen( $expert_username) > 19) ? substr( $expert_username, 0, 19) . '...' : $expert_username;\n  $stats_title = ( empty( $expert_id)) ? 'SBC Expert\\'s Combined Record' : $expert_username . '\\'s Record';\n\n  $num_stats = 0;\n  foreach( $day_values as $day)\n  {\n  \tif( ($totals[ $day ]['won_amount'] - $totals[ $day ]['loss_amount']) > 0)\n  \t{\n\t\t  $template->assign_block_vars( 'stats_row', array(\n\t\t    'HEADING' => 'Last ' . $day . ' Days',\n\t\t    'WIN' => $totals[ $day ]['total_won'],\n\t\t    'LOSS' => $totals[ $day ]['total_loss'],\n\t\t    'PERCENT' => sprintf( '%01.0f', (( $totals[ $day ]['total_won'] + $totals[ $day ]['total_loss']) > 0) ? (( $totals[ $day ]['total_won'] / ( $totals[ $day ]['total_won'] + $totals[ $day ]['total_loss']) )*100) : 0),\n\t\t    'UNITS' => sprintf( '%01.1f', ($totals[ $day ]['won_amount'] - $totals[ $day ]['loss_amount']) / 100),\n\t\t  ));\n\t\t  $num_stats++;\n\t\t}\n\t}\n\t$template->assign_var( 'S_STATS_ROW', $num_stats > 0 ? true : false);\n }\n if( $type == 1)\n {\n  // Generate the new stats screen\n  if( empty( $day_max))\n  {\n   $day_max = 7;\n  }\n\n  // Find the hottest capper over the period from 1 - day_max days\n  $sql = 'SELECT u.user_id, u.username FROM experts e LEFT JOIN forum_users u ON u.user_id = e.user_id';\n  $result = $db->sql_query( $sql); $experts = array();\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   $experts[ $row['user_id'] ] = $row['username'];\n  }\n  $db->sql_freeresult( $result);\n\n  $totals = array();\n  foreach( $experts as $user_id => $username)\n  {\n   $where_sql  = ' AND DATEDIFF( NOW() , r.date ) > 0 ';\n   $where_sql .= ' AND r.user_id = ' . $user_id;\n   $sql='SELECT SUM( win_loss2) as won_amount, COUNT(*) as total_won\n            FROM record2 r\n            WHERE\n              DATEDIFF( NOW(), r.date ) <= ' . $day_max  .\n              $where_sql  . '\n              AND win_loss = \"Win\"';\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $won_amount = (float) $row['won_amount'];\n   $total_won = (int) $row['total_won'];\n   $db->sql_freeresult($result);\n\n   $sql='SELECT SUM( win_loss2) as loss_amount, COUNT(*) as total_loss\n            FROM record2 r\n            WHERE\n              DATEDIFF( NOW() , r.date ) <= ' . $day_max  .\n              $where_sql . '\n              AND win_loss = \"Loss\"';\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $loss_amount = (float) $row['loss_amount'];\n   $total_loss = (int) $row['total_loss'];\n   $db->sql_freeresult($result);\n\n   $totals[$user_id]['won_amount'] = $won_amount;\n   $totals[$user_id]['total_won'] = $total_won;\n   $totals[$user_id]['loss_amount'] = $loss_amount;\n   $totals[$user_id]['total_loss'] = $total_loss;\n   $totals[$user_id]['net'] = $won_amount - $loss_amount;\n  }\n  $highest_capper = array(); $last_net = -50000;\n  foreach( $experts as $user_id => $username)\n  {\n   if( $totals[ $user_id ]['net'] > $last_net && $totals[ $user_id ]['net'] != 0)\n   {\n    $highest_capper['user_id'] = $user_id;\n    $highest_capper['username'] = $username;\n    $last_net = $totals[ $user_id ]['net'];\n   }\n  }\n\n  $valid_days = range( 1, 30); $day_selection = array( '<select name=\"stats_day\" onchange=\"javascript:do_submit();\">');\n  foreach( $valid_days as $day)\n  {\n   $selected = ( $day_max == $day) ? ' selected=\"selected\"' : '';\n   $day_selection[] = '<option value=\"' . $day . '\" ' . $selected . '>' . $day . '</option>';\n  }\n  $day_selection[] = '</select>';\n\n  $s = ( $day_max == 1) ? '' : 's';\n  $stats_title = 'SBC Hot Handicapper';\n  $stats_heading_1 = (strlen($highest_capper['username']) > 13) ? substr( $highest_capper['username'], 0, 11) . '..' : $highest_capper['username'];\n  $stats_heading_2 = '1 - ' . $day_max . ' day'.$s;\n  //$stats_heading_1 = 'Highest Capper: ' . $highest_capper['username'];\n  //$stats_heading_2 = 'Day Range: 1 - ' . $day_max . ' day'.$s;\n\n  $perc_1 = (( $totals[ $highest_capper['user_id'] ]['total_won'] + $totals[ $highest_capper['user_id'] ]['total_loss']) > 0) ? (( $totals[ $highest_capper['user_id'] ]['total_won'] / ( $totals[ $highest_capper['user_id'] ]['total_won'] + $totals[ $highest_capper['user_id'] ]['total_loss']) )*100) : 0;\n   $template->assign_vars( array(\n    'S_NO_STATS_EXPERT_FOUND' => ( $totals[ $highest_capper['user_id'] ]['net'] == -50000 || $totals[ $highest_capper['user_id'] ]['net'] == 0) ? true : false,\n    'STATS_DAY_SELECTION' => implode( '', $day_selection),\n    'WIN_1' => $totals[ $highest_capper['user_id'] ]['total_won'],\n    'LOSS_1' => $totals[ $highest_capper['user_id'] ]['total_loss'],\n    'PERC_1' => sprintf( '%01.0f', $perc_1),\n    'WIN_SUM_1' => sprintf( '%01.1f', ($totals[ $highest_capper['user_id'] ]['won_amount'] - $totals[ $highest_capper['user_id'] ]['loss_amount']) / 100),\n   ));\n }\n\n $template->assign_vars( array(\n  'STATS_TYPE' => $type,\n  'STATS_TITLE' => $stats_title,\n  'STATS_HEADING_1' => ( !empty( $stats_heading_1)) ? $stats_heading_1 : '',\n  'STATS_HEADING_2' => ( !empty( $stats_heading_2)) ? $stats_heading_2 : '',\n  'STATS_HEADING_3' => ( !empty( $stats_heading_3)) ? $stats_heading_3 : '',\n  'STATS_ACTION' => str_replace( '&', '&amp;', $_SERVER['REQUEST_URI']),\n ));\n}\n\nfunction generate_roi( $expert_id = false, $type = 0, $day_max = 30)\n{\n global $db, $template;\n\n $expert_username = '';\n if( $type == 0)\n {\n  $roi_values = array( 30, 60, 90, 180);\n  $totals = array();\n  $where_sql = ( empty( $expert_id)) ? '' : ' AND user_id = ' . $expert_id;\n\n  for( $i = 0; $i < count( $roi_values); $i++)\n  {\n   if( $roi_values[$i] == 0)\n   {\n    continue;\n   }\n   $sql = 'SELECT id\n              FROM record2\n              WHERE DATEDIFF( NOW(), date ) >= ' . $roi_values[$i] . ' ' . $where_sql;\n   $result = $db->sql_query($sql);\n   $flag = (int) $db->sql_affectedrows( $result);\n   $totals[$roi_values[$i]]['flag'] = ( $flag == 0) ? false : true;\n   $db->sql_freeresult($result);\n\n   $sql = 'SELECT SUM( win_loss2) AS total_won, SUM( unit) * 100 AS total_units\n              FROM record2\n              WHERE win_loss = \"Win\"\n                 AND DATEDIFF( NOW(), date ) >= 0\n                 AND DATEDIFF( NOW(), date ) < ' . $roi_values[$i] . ' ' . $where_sql;\n   $result = $db->sql_query($sql);\n   $row = $db->sql_fetchrow( $result);\n   $total_won = (float) $row['total_won'];\n   $total_won_units = (float) $row['total_units'];\n   $db->sql_freeresult($result);\n\n   $totals[$roi_values[$i]]['won'] = $total_won;\n   $totals[$roi_values[$i]]['won_units'] = $total_won_units;\n\n   $sql = 'SELECT SUM( win_loss2) AS total_lost, SUM( unit) * 100 AS total_units\n              FROM record2\n              WHERE win_loss = \"Loss\"\n                 AND DATEDIFF( NOW(), date ) >= 0\n                 AND DATEDIFF( NOW(), date ) < ' . $roi_values[$i] . ' ' . $where_sql;\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $total_lost = (float) $row['total_lost'];\n   $total_lost_units = (float) $row['total_units'];\n   $db->sql_freeresult($result);\n\n   $totals[$roi_values[$i]]['lost'] = $total_lost;\n   $totals[$roi_values[$i]]['lost_units'] = $total_lost_units;\n  }\n\n  if( !empty( $expert_id))\n  {\n   $sql = 'SELECT username FROM forum_users WHERE user_id = ' . $expert_id;\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $expert_username = $row['username'];\n  }\n\n  $num_stats = 0;\n  foreach( $roi_values as $day)\n  {\n  \t$roi  = ( $totals[$day]['flag'] == false) ? 0 : ( $totals[$day]['won'] - $totals[$day]['lost']) / ($totals[$day]['won_units'] + $totals[$day]['lost_units']);\n  \tif( $roi > 0)\n  \t{\n\t\t  $template->assign_block_vars( 'roi_row', array(\n\t\t   'HEADING' => $day . ' Days',\n\t\t   'ROI' => sprintf( '%.2f%%', $roi*100),\n\t\t  ));\n\t\t  $num_stats++;\n\t\t}\n\t}\n\t$template->assign_var( 'S_ROI_ROW', $num_stats > 0 ? true : false);\n }\n if( $type == 1)\n {\n  if( empty( $day_max))\n  {\n   $day_max = 30;\n  }\n  // Find the"..., 8192) = 8192
22452 14:44:04.494276 read(3, "M experts e LEFT JOIN forum_users u ON u.user_id = e.user_id';\n  $result = $db->sql_query( $sql); $experts = array();\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   $experts[ $row['user_id'] ] = $row['username'];\n  }\n  $db->sql_freeresult( $result);\n\n  $totals = array();\n  foreach( $experts as $user_id => $username)\n  {\n   $where_sql = ' AND user_id = ' . $user_id;\n   $sql = 'SELECT id\n              FROM record2\n              WHERE DATEDIFF( NOW(), date ) >= ' . $day_max\n              . $where_sql;\n   $result = $db->sql_query($sql);\n   $flag = (int) $db->sql_affectedrows( $result);\n   $totals[$user_id]['flag'] = ( $flag == 0) ? false : true;\n   $db->sql_freeresult($result);\n\n   $sql = 'SELECT SUM( win_loss2) AS total_won, SUM( unit) * 100 AS total_units\n              FROM record2\n              WHERE win_loss = \"Win\"\n                 AND DATEDIFF( NOW(), date ) >= 0\n                 AND DATEDIFF( NOW(), date ) < ' . $day_max\n                 . $where_sql;\n   $result = $db->sql_query($sql);\n   $row = $db->sql_fetchrow( $result);\n   $total_won = (float) $row['total_won'];\n   $total_won_units = (float) $row['total_units'];\n   $db->sql_freeresult($result);\n\n   $totals[$user_id]['won'] = $total_won;\n   $totals[$user_id]['won_units'] = $total_won_units;\n\n   $sql = 'SELECT SUM( win_loss2) AS total_lost, SUM( unit) * 100 AS total_units\n              FROM record2\n              WHERE win_loss = \"Loss\"\n                 AND DATEDIFF( NOW(), date ) >= 0\n                 AND DATEDIFF( NOW(), date ) < ' . $day_max\n                 . $where_sql;\n   $result = $db->sql_query( $sql);\n   $row = $db->sql_fetchrow( $result);\n   $total_lost = (float) $row['total_lost'];\n   $total_lost_units = (float) $row['total_units'];\n   $db->sql_freeresult($result);\n\n   $totals[$user_id]['lost'] = $total_lost;\n   $totals[$user_id]['lost_units'] = $total_lost_units;\n  }\n  //var_dump( $totals); //exit();\n\n  $highest_capper = array(); $last_roi = false;\n  foreach( $experts as $user_id => $username)\n  {\n   if( $totals[ $user_id ]['flag'] === false)\n   {\n    // User does not have any stats up to this max day range\n    continue;\n   }\n   $current_roi = ( $totals[ $user_id ]['flag'] === false || ($totals[ $user_id ]['won_units'] + $totals[ $user_id ]['lost_units']) == 0) ? 0 : ( $totals[ $user_id ]['won'] - $totals[ $user_id ]['lost']) / ($totals[ $user_id ]['won_units'] + $totals[ $user_id ]['lost_units']);\n   if( $current_roi > $last_roi || ($last_roi == 0))\n   {\n    $highest_capper['user_id'] = $user_id;\n    $highest_capper['username'] = $username;\n    $last_roi = $current_roi;\n   }\n  }\n\n  $roi_range = range( 5, 180, 5); $roi_selection = array( '<select name=\"roi_day\" onchange=\"javascript:do_submit_roi();\">');\n  foreach( $roi_range as $day)\n  {\n   $selected = ( $day_max == $day) ? ' selected=\"selected\"' : '';\n   $roi_selection[] = '<option value=\"' . $day . '\"' . $selected . '>' . $day . '</option>';\n  }\n  $roi_selection[] = '</select>';\n\n  $s = ( $day_max == 1 ) ? '' : 's';\n  $roi_heading_1 = $highest_capper['username'];\n  $roi_heading_2 = '1 - ' . $day_max . ' day' . $s;\n  //$roi_heading_1 = 'Highest Capper: ' . $highest_capper['username'];\n  //$roi_heading_2 = 'Day Range: 1 - ' . $day_max . ' day' . $s;\n\n  $template->assign_vars( array(\n   'S_NO_ROI_EXPERT_FOUND' => ( $last_roi == 0) ? true : false,\n   'ROI_DAY_SELECTION' => implode( '', $roi_selection),\n   'ROI_HEADING_1' => $roi_heading_1,\n   'ROI_HEADING_2' => $roi_heading_2,\n   'BEST_ROI' => sprintf( '%.2f%%', $last_roi*100)\n  ));\n }\n\n $expert_username = ( strlen( $expert_username) > 19) ? substr( $expert_username, 0, 19) . '...' : $expert_username;\n $template->assign_vars(array(\n  'ROI_TYPE' => $type,\n  'ROI_HEADING' => ( empty( $expert_id)) ? 'Return on Investment' : $expert_username . '\\'s ROI',\n  'ROI_ACTION' => str_replace( '&', '&amp;', $_SERVER['REQUEST_URI']),\n ));\n}\n\nfunction can_this_user_see_this_pick( $pick_id, $expert_id, $sport_id, &$sports)\n{\n global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;\n define( 'CUSTOM_SPORTS_THRESHOLD', 10000);\n\n if( empty( $pick_id))\n {\n  return false;\n }\n\n if( !function_exists( 'group_memberships'))\n {\n  include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);\n }\n // If you're an expert, you can automatically view any pick\n if( group_memberships( 7, $user->data['user_id'], true))\n {\n  return true;\n }\n // First, check if the user purchased this pick specifically\n $item_number = 'P' . $pick_id;\n $sql = 'SELECT *\n            FROM paypal_cart_info pc\n            LEFT JOIN paypal_payment_info pi\n            ON pi.txnid = pc.txnid\n         WHERE pc.itemnumber = \"' . $item_number . '\" AND pc.custom = \"' . $user->data['user_id'] . '\"';\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) > 0)\n {\n  // Before we let them see this pick, make sure they didn't get a refund\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   if( ($row['payment_status'] == \"Refunded\") || ($row['reason_code'] == \"refund\"))\n   {\n    return false;\n   }\n  }\n  return true;\n }\n\n // Now, check if the user purchased an access plan that gives them access\n $sql = 'SELECT * FROM paypal_cart_info pc WHERE SUBSTRING( pc.itemnumber, 1, 2) = \"AP\" AND pc.custom = \"' . $user->data['user_id'] . '\"';\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  // User has not purchased any access plans\n  // return false; can't return here or else it'll never check for sports plans\n }\n\n if( $db->sql_affectedrows( $result) > 0)\n {\n  if( $expert_id == 0)\n  {\n   trigger_error( 'Could not determine pick expert - Viewing picks is unavailable at this time');\n  }\n  // Now the tricky part - Finding if this user has an access plan that allows them access\n\n  // Before we do anything, lets get any payments where they got a refund\n  $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE ( pi.paymentstatus = \"Refunded\" OR pi.reasoncode = \"refund\" )\n                AND SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n                AND pc.custom = ' . $user->data['user_id'];\n  $result = $db->sql_query( $sql); $bad_access_plans = array();\n  if( $db->sql_affectedrows( $result) > 0)\n  {\n   while( $row = $db->sql_fetchrow( $result))\n   {\n    $bad_access_plans[] = $row['actual_item_number'];\n   }\n  }\n  // Fetch all the users access plans\n  $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate, pc.os0\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n                AND pc.custom = ' . $user->data['user_id'];\n  $result = $db->sql_query( $sql);\n  if( $db->sql_affectedrows( $result) == 0)\n  {\n   return false;\n  }\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   // If this access plan was flagged as refunded, continue on\n   if( in_array( $row['actual_item_number'], $bad_access_plans))\n   {\n    continue;\n   }\n   $access_plan_number = $row['actual_item_number'];\n   $access_plan_id     = substr( $access_plan_number, 2);\n   $date_purchased     = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n   $sql2 = 'SELECT * FROM acplans WHERE id = ' . $access_plan_id . ' AND user_id = ' . $expert_id;\n   $result2 = $db->sql_query( $sql2);\n   if( $db->sql_affectedrows( $result2) > 0)\n   {\n    // If we get here, we know they bought an access plan that is still valid\n    $row2 = $db->sql_fetchrow( $result2);\n    $validity = $row2['validity']; $valid_until = $row2['valid_until'];\n    if( ($valid_until - time()) > 0)\n    {\n     return true;\n    }\n    if( (strtotime( \"+ $validity days\", $date_purchased) - time()) > 0)\n    {\n     return true;\n    }\n   }\n  }\n }\n\n // Now, check if the user purchased a sports access plan that gives them access\n $sql = 'SELECT * FROM "..., 8192) = 8192
22452 14:44:04.496695 read(3, "user_id'] . '\"';\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  // User has not purchased any sports access plans\n  // return false;\n }\n\n if( $db->sql_affectedrows( $result) > 0)\n {\n  if( empty( $sport_id))\n  {\n   trigger_error( 'Could not determine pick sport - Viewing picks is unavailable at this time');\n  }\n  // Now the tricky part - Finding if this user has an access plan that allows them access\n\n  // Before we do anything, lets get any payments where they got a refund\n  $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE ( pi.paymentstatus = \"Refunded\" OR pi.reasoncode = \"refund\" )\n                AND SUBSTRING( pc.itemnumber, 1, 3) = \"SAP\"\n                AND pc.custom = ' . $user->data['user_id'];\n  $result = $db->sql_query( $sql); $bad_access_plans = array();\n  if( $db->sql_affectedrows( $result) > 0)\n  {\n   while( $row = $db->sql_fetchrow( $result))\n   {\n    $bad_access_plans[] = $row['actual_item_number'];\n   }\n  }\n  // Fetch all the users sports access plans\n  $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate, pc.os0\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE SUBSTRING( pc.itemnumber, 1, 3) = \"SAP\"\n                AND pc.custom = ' . $user->data['user_id'];\n  $result = $db->sql_query( $sql);\n  if( $db->sql_affectedrows( $result) == 0)\n  {\n   return false;\n  }\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   // If this access plan was flagged as refunded, continue on\n   if( in_array( $row['actual_item_number'], $bad_access_plans))\n   {\n    continue;\n   }\n   $access_plan_number = $row['actual_item_number'];\n   $access_plan_id     = substr( $access_plan_number, 3);\n   $date_purchased     = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n   $sql2 = 'SELECT * FROM sports_plans WHERE plan_id = ' . $access_plan_id . ' AND user_id = ' . $expert_id;\n   $result2 = $db->sql_query( $sql2);\n   if( $db->sql_affectedrows( $result2) > 0)\n   {\n    // If we get here, we know they bought an access plan that is still valid\n    $row2 = $db->sql_fetchrow( $result2);\n    $validity = $row2['plan_validity']; $valid_until = $row2['plan_valid_until'];\n    if( ($valid_until - time()) > 0)\n    {\n     if( $row2['sport_id'] == $sport_id)\n     {\n     \t// SAP is the same as this pick's sport\n     \treturn true;\n     }\n     if( $row2['sport_id'] >= CUSTOM_SPORTS_THRESHOLD)\n     {\n     \t$sports_it_could_be = $sports[ $row2['sport_id'] ]['applies_to'];\n     \tif( in_array( $sport_id, $sports_it_could_be) && !empty( $sports_it_could_be))\n     \t{\n     \t\treturn true;\n     \t}\n     }\n     continue;\n    }\n    if( (strtotime( \"+ $validity days\", $date_purchased) - time()) > 0)\n    {\n     if( $row2['sport_id'] == $sport_id)\n     {\n     \t// SAP is the same as this pick's sport\n     \treturn true;\n     }\n     if( $row2['sport_id'] >= CUSTOM_SPORTS_THRESHOLD)\n     {\n     \t$sports_it_could_be = $sports[ $row2['sport_id'] ]['applies_to'];\n     \tif( in_array( $sport_id, $sports_it_could_be) && !empty( $sports_it_could_be))\n     \t{\n     \t\treturn true;\n     \t}\n     }\n     continue;\n    }\n   }\n  }\n }\n\n // If we get here, we weren't able to show this user deserves to see this pick\n return false;\n}\n\n// For some reason I had this function use the opposite logic it should - Oh well\nfunction can_user_buy_this_plan( $access_plan_id, $expert_id = 0)\n{\n global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;\n\n if( empty( $access_plan_id) || empty( $expert_id))\n {\n  return false;\n }\n // First lets check if the user bought an access plan\n $sql = 'SELECT * FROM paypal_cart_info p WHERE SUBSTRING( p.itemnumber, 1, 2) = \"AP\" AND custom = \"' . $user->data['user_id'] . '\"';\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  return false;\n }\n // Next lets check if this user bought this access plan\n $sql2 = 'SELECT * FROM paypal_cart_info pc\n            LEFT JOIN paypal_payment_info pi\n            ON pi.txnid = pc.txnid\n              LEFT JOIN acplans ap\n              ON CONCAT( \"AP\", ap.id) = pc.itemnumber\n          WHERE pc.itemnumber = \"AP' . $access_plan_id . '\" AND pc.custom = ' . $user->data['user_id'];\n $result2 = $db->sql_query( $sql2);\n if( $db->sql_affectedrows( $result2) > 0)\n {\n  // Before we let them not buy this plan, make sure they didn't get a refund\n  while( $row = $db->sql_fetchrow( $result2))\n  {\n   if( ($row['payment_status'] == \"Refunded\") || ($row['reason_code'] == \"refund\"))\n   {\n    continue;\n   }\n   // If they bought this plan, and it's valid, return true\n   $validity = $row['validity'];\n   $valid_until = $row['valid_until'];\n   $date_purchased = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n   if( ($valid_until - time()) > 0)\n   {\n    return true;\n   }\n   if( ((strtotime( \"+ $validity days\", $date_purchased) - time()) > 0) && $validity > 0)\n   {\n    return true;\n   }\n  }\n  return false;\n }\n // Now we have to see if this user bought an access plan that gives them access\n if( $expert_id == 0)\n {\n  trigger_error( 'Could not determine pick expert - Viewing picks is unavailable at this time');\n }\n\n // Before we do anything, lets get any payments where they got a refund\n $sql3 = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE ( pi.paymentstatus = \"Refunded\" OR pi.reasoncode = \"refund\" )\n                AND SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n                AND pc.custom = ' . $user->data['user_id'];\n $result3 = $db->sql_query( $sql3); $bad_access_plans = array();\n if( $db->sql_affectedrows( $result3) > 0)\n {\n  while( $row3 = $db->sql_fetchrow( $result3))\n  {\n   $bad_access_plans[] = $row3['actual_item_number'];\n  }\n }\n\n // Fetch all the users access plans\n $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate, pc.os0\n            FROM paypal_cart_info pc\n               LEFT JOIN paypal_payment_info pi\n               ON pi.txnid = pc.txnid\n            WHERE SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n               AND pc.custom = ' . $user->data['user_id'];\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  return false;\n }\n while( $row = $db->sql_fetchrow( $result))\n {\n  // If this access plan was flagged as refunded, continue on\n  if( in_array( $row['actual_item_number'], $bad_access_plans))\n  {\n   continue;\n  }\n  $access_plan_number = $row['actual_item_number'];\n  $access_plan_id     = substr( $access_plan_number, 2);\n  $date_purchased     = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n  $sql2 = 'SELECT * FROM acplans WHERE id = ' . $access_plan_id . ' AND user_id = ' . $expert_id;\n  $result2 = $db->sql_query( $sql2);\n  if( $db->sql_affectedrows( $result2) > 0)\n  {\n   // If we get here, we know they bought an access plan that is still valid\n   $row2 = $db->sql_fetchrow( $result2);\n   $validity = $row2['validity']; $valid_until = $row2['valid_until'];\n   if( ($valid_until - time()) > 0)\n   {\n    return true;\n   }\n   if( (strtotime( \"+ $validity days\", $date_purchased) - time()) > 0)\n   {\n    return true;\n   }\n  }\n }\n return false;\n}\n\n// For some reason I had this function use the opposite logic it should - Oh well\nfunction can_user_buy_this_sports_plan( $access_plan_id, $expert_id = 0, $sport_id, &$sports)\n{\n global $db, $config, $template, $SID, $_SID, $user, $auth, $phpEx, $phpbb_root_path;\n define('CUSTOM_SPORTS_THRESHOLD', 10000);\n\n if( empty( $access_plan_id) || e"..., 8192) = 8192
22452 14:44:04.499391 read(3, "o all of their picks. So, lets check that now\n // Before we do anything, lets get any payments where they got a refund\n $sql3 = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE ( pi.paymentstatus = \"Refunded\" OR pi.reasoncode = \"refund\" )\n                AND SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n                AND pc.custom = ' . $user->data['user_id'];\n $result3 = $db->sql_query( $sql3); $bad_access_plans = array();\n if( $db->sql_affectedrows( $result3) > 0)\n {\n  while( $row3 = $db->sql_fetchrow( $result3))\n  {\n   $bad_access_plans[] = $row3['actual_item_number'];\n  }\n }\n\n // Fetch all the users access plans\n $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate, pc.os0\n            FROM paypal_cart_info pc\n               LEFT JOIN paypal_payment_info pi\n               ON pi.txnid = pc.txnid\n            WHERE SUBSTRING( pc.itemnumber, 1, 2) = \"AP\"\n               AND pc.custom = ' . $user->data['user_id'];\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  //return false;\n }\n else\n {\n   while( $row = $db->sql_fetchrow( $result))\n   {\n    // If this access plan was flagged as refunded, continue on\n    if( in_array( $row['actual_item_number'], $bad_access_plans))\n    {\n     continue;\n    }\n    $access_plan_number = $row['actual_item_number'];\n    $access_plan_id     = substr( $access_plan_number, 2);\n    $date_purchased     = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n    $sql2 = 'SELECT * FROM acplans WHERE id = ' . $access_plan_id . ' AND user_id = ' . $expert_id;\n    $result2 = $db->sql_query( $sql2);\n    if( $db->sql_affectedrows( $result2) > 0)\n    {\n     // If we get here, we know they bought an access plan that is still valid\n     $row2 = $db->sql_fetchrow( $result2);\n     $validity = $row2['validity']; $valid_until = $row2['valid_until'];\n     if( ($valid_until - time()) > 0)\n     {\n      return true;\n     }\n     if( (strtotime( \"+ $validity days\", $date_purchased) - time()) > 0)\n     {\n      return true;\n     }\n    }\n   }\n }\n\n\n // Now lets check if the user bought a sports access plan\n $sql = 'SELECT * FROM paypal_cart_info p WHERE SUBSTRING( p.itemnumber, 1, 3) = \"SAP\" AND custom = \"' . $user->data['user_id'] . '\"';\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  return false;\n }\n // Next lets check if this user bought this access plan\n $sql2 = 'SELECT * FROM paypal_cart_info pc\n            LEFT JOIN paypal_payment_info pi\n            ON pi.txnid = pc.txnid\n              LEFT JOIN sports_plans ap\n              ON CONCAT( \"SAP\", ap.plan_id) = pc.itemnumber\n          WHERE pc.itemnumber = \"SAP' . $access_plan_id . '\" AND pc.custom = ' . $user->data['user_id'];\n $result2 = $db->sql_query( $sql2);\n if( $db->sql_affectedrows( $result2) > 0)\n {\n  // Before we let them not buy this plan, make sure they didn't get a refund\n  while( $row = $db->sql_fetchrow( $result2))\n  {\n   if( ($row['payment_status'] == \"Refunded\") || ($row['reason_code'] == \"refund\"))\n   {\n    continue;\n   }\n   // If they bought this plan, and it's valid, return true\n   $validity = $row['plan_validity'];\n   $valid_until = $row['plan_valid_until'];\n   $date_purchased = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n   if( ($valid_until - time()) > 0)\n   {\n    return true;\n   }\n   if( ((strtotime( \"+ $validity days\", $date_purchased) - time()) > 0) && $validity > 0)\n   {\n    return true;\n   }\n  }\n  return false;\n }\n // Now we have to see if this user bought an sports access plan that gives them access\n if( $expert_id == 0 || $sport_id == 0)\n {\n  trigger_error( 'Could not determine access plan sport - Viewing picks is unavailable at this time');\n }\n\n // Before we do anything, lets get any payments where they got a refund\n $sql3 = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate\n             FROM paypal_cart_info pc\n                LEFT JOIN paypal_payment_info pi\n                ON pi.txnid = pc.txnid\n             WHERE ( pi.paymentstatus = \"Refunded\" OR pi.reasoncode = \"refund\" )\n                AND SUBSTRING( pc.itemnumber, 1, 3) = \"SAP\"\n                AND pc.custom = ' . $user->data['user_id'];\n $result3 = $db->sql_query( $sql3); $bad_access_plans = array();\n if( $db->sql_affectedrows( $result3) > 0)\n {\n  while( $row3 = $db->sql_fetchrow( $result3))\n  {\n   $bad_access_plans[] = $row3['actual_item_number'];\n  }\n }\n\n // Fetch all the users access plans\n $sql = 'SELECT pc.itemnumber as actual_item_number, pc.custom as actual_custom, pi.paymentdate, pc.os0\n            FROM paypal_cart_info pc\n               LEFT JOIN paypal_payment_info pi\n               ON pi.txnid = pc.txnid\n            WHERE SUBSTRING( pc.itemnumber, 1, 3) = \"SAP\"\n               AND pc.custom = ' . $user->data['user_id'];\n $result = $db->sql_query( $sql);\n if( $db->sql_affectedrows( $result) == 0)\n {\n  return false;\n }\n while( $row = $db->sql_fetchrow( $result))\n {\n  // If this access plan was flagged as refunded, continue on\n  if( in_array( $row['actual_item_number'], $bad_access_plans))\n  {\n   continue;\n  }\n  $access_plan_number = $row['actual_item_number'];\n  $access_plan_id     = substr( $access_plan_number, 3);\n  $date_purchased     = ( $row['os0'] > 0) ? strtotime( date( 'F d, Y', $row['os0'])) : strtotime( date( 'F d, Y', strtotime( $row['paymentdate'])));\n  $sql2 = 'SELECT * FROM sports_plans WHERE plan_id = ' . $access_plan_id . ' AND user_id = ' . $expert_id;\n  $result2 = $db->sql_query( $sql2);\n  if( $db->sql_affectedrows( $result2) > 0)\n  {\n   // If we get here, we know they bought a sports access plan that is still valid\n   $row2 = $db->sql_fetchrow( $result2);\n   $validity = $row2['plan_validity']; $valid_until = $row2['plan_valid_until'];\n   if( ($valid_until - time()) > 0)\n   {\n    if( $row2['sport_id'] == $sport_id)\n    {\n     \t// SAP is the same as this pick's sport\n     \treturn true;\n    }\n    if( $row2['sport_id'] >= CUSTOM_SPORTS_THRESHOLD)\n    {\n     \t$sports_it_could_be = $sports[ $row2['sport_id'] ]['applies_to'];\n      if( in_array( $row2['sport_id'], $sports_it_could_be) && !empty( $sports_it_could_be))\n     \t{\n     \t\treturn true;\n     \t}\n    }\n   }\n   if( (strtotime( \"+ $validity days\", $date_purchased) - time()) > 0)\n   {\n    if( $row2['sport_id'] == $sport_id)\n    {\n     \t// SAP is the same as this plan's sport\n     \treturn true;\n    }\n    if( $row2['sport_id'] >= CUSTOM_SPORTS_THRESHOLD)\n    {\n     \t$sports_it_could_be = $sports[ $row2['sport_id'] ]['applies_to'];\n      if( in_array( $row2['sport_id'], $sports_it_could_be) && !empty( $sports_it_could_be))\n     \t{\n     \t\treturn true;\n     \t}\n    }\n   }\n  }\n }\n return false;\n}\n\nfunction generate_blog_navigation( $expert_id = 0)\n{\n global $db, $template;\n define( 'NUM_RECENT_POSTS', 5);\n define( 'NUM_POPULAR_POSTS', 5);\n define( 'ARCHIVE_START_MONTH', 1);\n define( 'ARCHIVE_START_YEAR', 2009);\n $template->assign_var( 'S_IN_SBC_BLOG', true);\n if( $expert_id == 1)\n {\n  $template->assign_var( 'S_SUBMIT_ARTICLE', true);\n }\n\n // Left\n $sql = 'SELECT a.id, a.title, u.username, u.user_id FROM articles a LEFT JOIN forum_users u ON u.user_id = a.user_id ORDER BY a.num_views DESC LIMIT 0, ' . NUM_POPULAR_POSTS;\n $result = $db->sql_query( $sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n  $template->assign_block_vars( 'popular_posts', array(\n   'URL'   => 'http://www.sportsbetcapping.com/blog/view_article.php?article='.$row['id'],\n   'TITLE' => $row['title'],\n   'NAME' => ( $row['user_id'] == 1 ) ? 'Guest' : $row['username']\n  ));\n }\n $db->sql_freeresult( $result);\n\n $sql = 'SELECT a.id, a.title, u.username, u.user_id FROM articles a LEFT JOIN forum_users u ON u.user_id = a.user_id ORDER BY a.time DESC LIMIT 0, ' . NUM_RECENT_POSTS;\n $result = $db->s"..., 8192) = 8192
22452 14:44:04.501338 brk(0x234a000)    = 0x234a000
22452 14:44:04.502288 read(3, "ent_posts', array(\n   'URL'   => 'http://www.sportsbetcapping.com/blog/view_article.php?article='.$row['id'],\n   'TITLE' => $row['title'],\n   'NAME' => ( $row['user_id'] == 1 ) ? 'Guest' : $row['username']\n  ));\n }\n $db->sql_freeresult( $result);\n\n $sql = 'SELECT * FROM categories c ORDER BY c.title ASC';\n $result = $db->sql_query( $sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n  $template->assign_block_vars( 'view_by_cat', array(\n   'URL'   => 'http://www.sportsbetcapping.com/blog/index.php?cat='.$row['id'],\n   'TITLE' => $row['title'],\n   'ID' => $row['id'],\n  ));\n }\n $db->sql_freeresult( $result);\n\n\nfor($t=1;$t<=12;$t++)\n{\n $template->assign_block_vars( 'monthblog', array(\n   'MONTH' => $t,\n  ));\n}\n$Y = date('Y');\nfor($y=2009;$y<=$Y;$y++)\n{\n $template->assign_block_vars( 'yearblog', array(\n   'YEAR' => $y,\n  ));\n}\n\n $sql = 'SELECT * FROM sports s ORDER BY s.name ASC';\n $result = $db->sql_query( $sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n  $template->assign_block_vars( 'view_by_sport', array(\n   'URL'   => 'http://www.sportsbetcapping.com/blog/index.php?sport='.$row['id'],\n   'TITLE' => $row['name'],\n  ));\n }\n $db->sql_freeresult( $result);\n\n // Right\n $sql = 'SELECT u.username, u.user_id FROM experts e LEFT JOIN forum_users u ON e.user_id = u.user_id';\n $result = $db->sql_query( $sql); $blogger_selection = array( '<select name=\"expert\" onchange=\"this.form.submit();\">');\n while( $row = $db->sql_fetchrow( $result))\n {\n  $selected = ( $expert_id == $row['user_id']) ? ' selected=\"selected\" ' : '';\n  $blogger_selection[] = '<option value=\"' . $row['user_id'] . '\" ' . $selected . '>' . $row['username'] . '</option>';\n }\n $selected = ( $expert_id == 1) ? ' selected=\"selected\"' : '';\n $blogger_selection[] = '<option value=\"1\" ' . $selected . '>Guest</option>';\n $blogger_selection[] = '</select>';\n $template->assign_var( 'SPECIFIC_BLOGGER_SELECTION', implode( '', $blogger_selection));\n\n // Archive generation\n $archive_url = '/blog/archive/index.php';\n $current_month = date('n'); $current_year = date('Y');\n $i = ARCHIVE_START_MONTH; $j = ARCHIVE_START_YEAR;\n while( $j <= $current_year)\n {\n  if( $i == 13)\n  {\n   $i = 1; $j++;\n  }\n  if( $j == $current_year && ( $i == $current_month+1 || ( $i == 12 && $current_month == 1)))\n  {\n   break;\n  }\n  $upper_month = ( $i == 12 ) ? 1 : $i + 1 ;\n  $upper_year  = ( $i == 12 ) ? $j + 1 : $j;\n  $lower = mktime( 0, 0, 0, $i, 1, $j); $upper = mktime( 0, 0, 0, $upper_month, -1, $upper_year);\n  $sql = 'SELECT COUNT(*) as total FROM articles WHERE time < ' . $upper. ' AND time > ' . $lower;\n  $result = $db->sql_query( $sql);\n  $total = $db->sql_fetchfield( 'total');\n  $db->sql_freeresult( $result);\n\n  $template->assign_block_vars( 'archives_row', array(\n   'URL' => $archive_url . '?m=' . $i . '&amp;y=' . $j,\n   'TITLE' => date( 'F Y', mktime( 0, 0, 0, $i, 1, $j )),\n   'TOTAL' => $total\n  ));\n  $i++;\n }\n\n // General\n $template->assign_vars( array(\n  'SEARCH_BLOG_ACTION' => '/blog/search.php',\n  'SPECIFIC_BLOGGER_ACTION' => '/blog/index.php'\n ));\n}\n\nfunction generate_review_navigation( $review_id = 0)\n{\n global $db, $template;\n $sql = 'SELECT * FROM reviews r ORDER BY r.title ASC';\n $result = $db->sql_query( $sql);\n while( $row = $db->sql_fetchrow( $result))\n {\n  $template->assign_block_vars( 'review_links_row', array(\n   'URL' => '/sportsbook_reviews/view_review.php?review='.$row['id'],\n   'TITLE' => $row['title']\n  ));\n }\n}\n\nfunction post_new_topics_for_released_picks()\n{\n global $config, $db, $phpbb_root_path, $phpEx, $user;\n\n define( 'PICK_BOT_ID', 240);\n\n if( !function_exists( 'generate_text_for_storage') || !function_exists('truncate_string'))\n {\n  include($phpbb_root_path . 'includes/functions_content.' . $phpEx);\n }\n\n // Get a list of experts\n $sql = 'SELECT e.user_id, e.pick_subforum_id, u.username, u.user_colour\n            FROM experts e\n            LEFT JOIN forum_users u\n            ON u.user_id = e.user_id';\n $result = $db->sql_query( $sql); $experts = array();\n while( $row = $db->sql_fetchrow( $result))\n {\n  $experts[] = array( 'user_id' => $row['user_id'], 'user_colour' => $row['user_colour'], 'username' => $row['username'], 'subforum_id' => $row['pick_subforum_id']);\n }\n $db->sql_freeresult( $result);\n\n // Get a bunch of info about pick bot\n $sql = 'SELECT * FROM forum_users WHERE user_id = ' . PICK_BOT_ID;\n $result = $db->sql_query( $sql);\n $pick_bot = $db->sql_fetchrow( $result);\n $db->sql_freeresult( $result);\n\n // Loop through the experts, find any picks they have that have been released, and post some new topics\n $picks_posted = array();\n foreach( $experts as $expert)\n {\n  if( empty( $expert['subforum_id']))\n  {\n   //echo 'EMPTY SUBFORUM: ' . $expert['user_id'] . '<br /><br />';\n   continue;\n  }\n  $sql = 'SELECT *\n             FROM picks\n                WHERE DATEDIFF( NOW(), date) = 0\n                AND topic_posted = 0\n                AND user_id = ' . $expert['user_id'];\n  $result = $db->sql_query( $sql);\n  if( $db->sql_affectedrows( $result) == 0)\n  {\n   //echo 'NO PICKS: ' . $expert['user_id'] . '<br /><br />';\n   continue;\n  }\n  $picks_posted = array();\n  while( $row = $db->sql_fetchrow( $result))\n  {\n   // Here we get to hack in a way to get the time\n   // Since the last idiot didn't know how to properly store a date in the db\n   $date_pieces = explode( '-', $row['date']);\n   $time_pieces = explode( ':', $row['time']);\n\n   $month = $date_pieces[1];\n   $day   = $date_pieces[2];\n   $year  = $date_pieces[0];\n   $hour  = $time_pieces[0];\n   $minute_pieces = explode( '&nbsp;', $time_pieces[1]);\n   $minute = intval( $minute_pieces[0]);\n   $ampm = $minute_pieces[1];\n   $string = $day . '-' . $month . '-' . $year . ' ' . $hour . ':' . sprintf( '%02d', $minute) . ' ' . $ampm;\n   //$pick_actual_time = strtotime( $string) + ( 300); // The pick will be released after 5 minutes\n   $pick_actual_time = strtotime( $string) + ( 120); // The pick will be released after 2 minutes\n\n   if( ((time() + 3600) - ( $pick_actual_time  )) > 0)\n   {\n    //echo 'I POSTED THIS PICK: '.$row['id'] . '<br /><br />'; continue;\n    // Time to post a topic ;)\n\n    // $row['comment'] = preg_replace('~&#x0*([0-9a-f]+);~ei', 'chr(hexdec(\"\\\\1\"))', $row['comment']);\n\n    decode_message( $row['comment'], $row['bbcode_uid']);\n    $row['comment'] = preg_replace('~&#0*([0-9]+);~e', 'chr(\\\\1)', $row['comment']);\n    $row['comment'] = htmlspecialchars_decode($row['comment']);\n\n    $subject = truncate_string($row['title']);\n    $row['pick'] = str_replace( array( '<span style=\"font-weight: bold;\">', '</span>'), array( '[b]', '[/b]'), $row['pick']);\n    $message = \"[size=150][color=#FF0000][b]\" . $expert['username'] . \"'s Comments[/b][/color][/size]\\n\" . $row['comment'] . \"\\n[size=150][color=#FF0000][b]\" . $expert['username'] . \"'s Pick[/b][/color][/size]\\n\" . $row['pick'] . \"\\n\";\n\n    $poll = $uid = $bitfield = $options = '';\n\n    // echo $message; echo '<br /><br /><br />';\n\n    generate_text_for_storage($subject, $uid, $bitfield, $options, false, false, false);\n    generate_text_for_storage($message, $uid, $bitfield, $options, true, true, true);\n\n    // echo $message; echo '<br /><br /><br />'; continue;\n\n    // Start the transaction here\n\t  $db->sql_transaction('begin');\n\n    $topic_sql_ary = array(\n     'forum_id'\t\t=> $expert['subforum_id'],\n     'icon_id'\t\t=> 0,\n     'topic_title'\t\t=> $subject,\n     'topic_poster' => $pick_bot['user_id'],\n     'topic_time' => $pick_actual_time - 3600,\n     'topic_first_poster_name' => $pick_bot['username'],\n     'topic_first_poster_colour' => $pick_bot['user_colour'],\n     'topic_first_post_id' => 0,\n\n     'topic_last_post_id' => 0,\n     'topic_last_poster_id' => $pick_bot['user_id'],\n     'topic_last_poster_name' => $pick_bot['username'],\n     'topic_last_poster_colour' => $pick_bot['user_colour'],\n     'topic_last_post_subject' => $subject,\n     'topic_last_post_time' => $pick_actual_time,\n     'topic_type' => POST_NORMAL,\n    );\n\n\n    $sql = 'INSERT INTO ' . TOPICS_TABLE . ' ' .\t$db->sql_build_array('INSERT', $topic_sql_ary);\n\t\t$db->sql_query($sql);\n\t\t$topic_id = $db->sql_nextid"..., 8192) = 8192
22452 14:44:04.505355 read(3, "> $topic_id,\n\t\t\t \t'poster_id'\t\t\t=> $pick_bot['user_id'],\n\t\t\t \t'icon_id'\t\t\t  => 0,\n\t\t\t \t'poster_ip'\t\t\t=> $user->ip,\n\t\t\t \t'post_time'\t\t\t=> $pick_actual_time - 3600,\n\t\t\t \t'post_approved'\t\t=> 1,\n\t\t\t \t'enable_bbcode'\t\t=> 1,\n\t\t\t \t'enable_smilies'\t=> 1,\n\t\t\t \t'enable_magic_url'\t=> 1,\n\t\t\t \t'enable_sig'\t\t    => 1,\n\t\t\t \t'post_username'\t   \t=> $pick_bot['username'],\n\t\t\t \t'post_subject'\t   \t=> $subject,\n\t\t\t \t'post_text'\t\t\t    => $message,\n\t\t\t \t'post_checksum'\t  \t=> md5( $message),\n\t\t\t \t'post_attachment'\t  => 0,\n\t\t\t \t'bbcode_bitfield' \t=> $bitfield,\n\t\t\t \t'bbcode_uid'\t    \t=> $uid,\n\t\t\t \t'post_postcount'  \t=> 0,\n\t\t\t \t'post_edit_locked'\t=> 1\n\t  \t\t);\n\n\t  $sql = 'INSERT INTO ' . POSTS_TABLE . ' ' .\t$db->sql_build_array('INSERT', $posts_sql_ary);\n\t\t$db->sql_query($sql);\n\t  $post_id = $db->sql_nextid();\n\n  \t$new_topic_ary = array(\n\t\t  \t'topic_first_post_id'\t\t=> $post_id,\n\t\t  \t'topic_last_post_id'\t\t=> $post_id,\n\t\t  \t'topic_last_post_time'\t\t=> $pick_actual_time - 3600,\n\t\t\t  'topic_last_poster_id'\t\t=> (int) $pick_bot['user_id'],\n\t\t\t  'topic_last_poster_name'\t=> $pick_bot['username'],\n\t\t\t  'topic_last_poster_colour'\t=> $pick_bot['user_colour'],\n\t\t\t  'topic_last_post_subject'\t=> (string) $subject,\n\t\t\t );\n\n\t\t$sql = 'UPDATE ' . TOPICS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $new_topic_ary) . ' WHERE topic_id = ' . $topic_id;\n\t\t$db->sql_query($sql);\n\n\t\t$picks_posted[] = $row['id'];\n\n\t\t// Get info about the subforum\n\t\t$sql = 'SELECT parent_id, forum_last_post_time FROM ' . FORUMS_TABLE . ' WHERE forum_id = ' . $expert['subforum_id'];\n\t\t$result2 = $db->sql_query( $sql);\n\t\t$forum_info = $db->sql_fetchrow( $result2);\n\t\t$db->sql_freeresult( $result2);\n\n\t\t$main_forum = $forum_info['parent_id'];\n\n\t\t// Update the appropriate stuff in the subforum\n\t\t$forum_sql  =  'forum_topics_real = forum_topics_real + 1, ';\n\t\t$forum_sql .=  'forum_posts = forum_posts + 1, ';\n\t\t$forum_sql .=  'forum_topics = forum_topics + 1';\n\t\tif( $forum_info['forum_last_post_time'] < ( $pick_actual_time- 3600))\n\t\t{\n\t\t $forum_sql .=  ', forum_last_post_id = ' . $post_id . ', ';\n\t\t $forum_sql .=  'forum_last_post_subject = \"' . $db->sql_escape( $subject) . '\", ';\n\t\t $forum_sql .=  'forum_last_post_time = ' . ($pick_actual_time - 3600) . ', ';\n\t\t $forum_sql .=  'forum_last_poster_id = ' . $pick_bot['user_id'] . ', ';\n\t\t $forum_sql .=  'forum_last_poster_name = \"' . $db->sql_escape( $pick_bot['username']) . '\", ';\n\t\t $forum_sql .=  'forum_last_poster_colour = \"' . $db->sql_escape( $pick_bot['user_colour']) . '\" ';\n    }\n\n\t\t$sql = 'UPDATE ' . FORUMS_TABLE . ' SET ' . $forum_sql . ' WHERE forum_id = ' . $expert['subforum_id'];\n\t\t$db->sql_query($sql);\n\n\t\tunset( $forum_sql);\n\n\t\t/* Get info about the main forum - DON'T NEED THIS\n\t\t$sql = 'SELECT forum_last_post_time FROM ' . FORUMS_TABLE . ' WHERE forum_id = ' . $main_forum;\n\t\t$result2 = $db->sql_query( $sql);\n\t\t$forum_info = $db->sql_fetchrow( $result2);\n\t\t$db->sql_freeresult( $result2);\n\n\t\t$forum_sql  =  'forum_topics_real = forum_topics_real + 1, ';\n\t\t$forum_sql .=  'forum_posts = forum_posts + 1, ';\n\t\t$forum_sql .=  'forum_topics = forum_topics + 1';\n\t\tif( $forum_info['forum_last_post_time'] < $pick_actual_time)\n\t\t{\n\t\t $forum_sql .=  ', forum_last_post_id = ' . $post_id . ', ';\n\t\t $forum_sql .=  'forum_last_post_subject = \"' . $db->sql_escape( $subject) . '\", ';\n\t\t $forum_sql .=  'forum_last_post_time = ' . $pick_actual_time . ', ';\n\t\t $forum_sql .=  'forum_last_poster_id = ' . $pick_bot['user_id'] . ', ';\n\t\t $forum_sql .=  'forum_last_poster_name = \"' . $db->sql_escape( $pick_bot['username']) . '\", ';\n\t\t $forum_sql .=  'forum_last_poster_colour = \"' . $db->sql_escape( $pick_bot['user_colour']) . '\" ';\n    }\n    $sql = 'UPDATE ' . FORUMS_TABLE . ' SET ' . $forum_sql . ' WHERE forum_id = ' . $main_forum;\n\t\t//$db->sql_query($sql); */\n\n\t\t// Committing the transaction before updating search index\n\t  $db->sql_transaction('commit');\n\n\t\t// Select the search method and do some additional checks to ensure it can actually be utilised\n\t\t$search_type = basename($config['search_type']);\n\n\t\tif (!file_exists($phpbb_root_path . 'includes/search/' . $search_type . '.' . $phpEx))\n\t\t{\n\t\t\ttrigger_error('NO_SUCH_SEARCH_MODULE');\n\t\t}\n\n\t\tif (!class_exists($search_type))\n\t\t{\n\t\t\tinclude(\"{$phpbb_root_path}includes/search/$search_type.$phpEx\");\n\t\t}\n\n\t\t$error = false;\n\t\t$search = new $search_type($error);\n\n\t\tif ($error)\n\t\t{\n\t\t\ttrigger_error($error);\n\t\t}\n\n\t\t$search->index('post', $post_id, $message, $subject, $pick_bot['user_id'], $expert['subforum_id']);\n   }\n  }\n  $db->sql_freeresult( $result);\n\n  if( !empty( $picks_posted))\n  {\n   $where_sql = '';\n   foreach( $picks_posted as $id)\n   {\n    $where_sql .= ( ($where_sql != '') ? ' OR id = ' : '' ) . $id;\n   }\n   $sql = 'UPDATE picks SET topic_posted = 1 WHERE id = ' . $where_sql;\n   $result = $db->sql_query( $sql);\n\n   $num_new_posts = count( $picks_posted);\n\n   $sql = 'UPDATE forum_users SET user_posts = user_posts + ' . $num_new_posts . ' WHERE user_id = ' . $pick_bot['user_id'];\n   $db->sql_query( $sql);\n\n   set_config('num_topics', $config['num_topics'] + $num_new_posts, true);\n\t set_config('num_posts', $config['num_posts'] + $num_new_posts, true);\n  }\n }\n}\n\nfunction run_custom_cron()\n{\n  $fp = fopen('includes/data.txt', 'a+'); fwrite($fp, date('Y-m-d H:i:s').\" Started running cron.\\n\"); fclose($fp);\n global $config, $db, $phpbb_root_path, $phpEx, $user;\n //set_config( 'custom_cron_interval', 300); // 5 Minutes\n set_config( 'custom_cron_interval', 120); // 2 Minutes\n $temp = (time() - $config['custom_cron_last_run']);\n set_config( 'custom_cron_update_interval', sprintf( '%01.2f',($temp / 60)) . ' minutes ( ' . $temp . ' seconds )', true);\n set_config( 'custom_cron_last_run', time(), true);\n\n // Delete expired access plans?\n\n include( $phpbb_root_path . '/includes/nicks_awesome_messaging_system.php');\n if( $config['custom_cron_count'] == 1)\n {\n  $fp = fopen('includes/data.txt', 'a+'); fwrite($fp, date('Y-m-d H:i:s').\" Building message queue to be send.\\n\"); fclose($fp);\n  set_config( 'custom_cron_count', 2, true);\n  set_config( 'custom_cron_last_run_1', time(), true);\n  // Build the message queue\n  build_message_queue();\n }\n elseif( $config['custom_cron_count'] == 2)\n {\n  set_config( 'custom_cron_count', 0, true);\n  set_config( 'cron_lock', 0, true);\n  set_config( 'custom_cron_last_run_2', time(), true);\n  // Handle the message queue\n  $fp = fopen('includes/data.txt', 'a+'); fwrite($fp, date('Y-m-d H:i:s').\" Processing messages and send them.\\n\"); fclose($fp);\n  process_message_queue();\n\n  // Handle new topics for released picks\n  post_new_topics_for_released_picks();\n  $fp = fopen('includes/data.txt', 'a+'); fwrite($fp, date('Y-m-d H:i:s').\" End of Processing messages and send them.\\n\"); fclose($fp);\n }\n\n if( $config['custom_cron_count'] != 1 && $config['custom_cron_count'] != 2)\n {\n  $fp = fopen('includes/data.txt', 'a+'); fwrite($fp, date('Y-m-d H:i:s').\" Reset cron values.\\n\"); fclose($fp);\n  set_config( 'custom_cron_count', 1, true);\n }\n}\n\n/**\n* Generate Advertisements for Google AdSense Revenue Sharing MOD\n* Returns an array of the Publisher and Channel IDs for outputting to the template\n*/\nfunction generate_ad( $page_name, $topic_id = 0, $post_id = 0, $user_id = 0)\n{\n global $user, $db, $template, $config;\n\n // Set our variables to determine if we should display the user's ad or the default ad\n $return_type = ''; $return_array = array();\n $default_return = array( 'publisher_id' => $config['ars_default_publisher_id'], 'channel_id' => $config['ars_default_channel_id']);\n\n // Before we do any work, is the system enabled?\n if( !$config['ars_enable'])\n {\n  $return_type = 'default';\n }\n\n // Is the percentage set to 100?\n if( $config['ars_sharing_percentage'] == 100)\n {\n  $return_type = 'default';\n }\n\n // Did we get a user ID? - Used to check against topic poster\n $user_id = ( !empty( $user_id)) ? (int) $user_id : (int) $user->data['user_id'];\n\n switch( $page_name)\n {\n  case 'viewtopic':\n   if( !empty( $return_type))\n   {\n    break;\n   }\n\n   if( empty( $topic_id) && empty( $post_id))\n   {\n    $return_type = 'default';\n    br"..., 8192) = 8192
22452 14:44:04.508420 read(3, "or the requested post\n    $sql = 'SELECT topic_id\n\t\t\t         FROM ' . POSTS_TABLE . \"\n\t\t\t         WHERE post_id = $post_id\";\n\t\t$result = $db->sql_query($sql);\n\t\t$topic_id = (int) $db->sql_fetchfield('topic_id');\n\t\t$db->sql_freeresult($result);\n   }\n\n   // If we don't have a topic ID by here, show the default ad\n   if( empty($topic_id))\n   {\n    $return_type = 'default';\n    break;\n   }\n\n   // Get all the information we need about this topic\n   $sql = 'SELECT topic_poster\n              FROM ' . TOPICS_TABLE . \"\n              WHERE topic_id = $topic_id\";\n   $result = $db->sql_query($sql);\n   $topic_poster = (int) $db->sql_fetchfield('topic_poster');\n\t $db->sql_freeresult($result);\n\n\t // Couldn't get the topic poster?\n\t if( !$topic_poster)\n\t {\n\t  $return_type = 'default';\n    break;\n\t }\n\n\t // User is viewing their own topic? Decide what to do based on configuration\n\t if( ($user_id == $topic_poster) && $config['ars_hide_users_ad'])\n\t {\n\t\t$return_type = 'default';\n    break;\n\t }\n\n\t /*\n\t // Make sure this poster has an entry in the AdSense table\n\t $sql = 'SELECT user_id\n\t           FROM ' . ADSENSE_TABLE . '\n\t           WHERE user_id = ' . (int) $topic_poster;\n\t $result = $db->sql_query( $sql);\n\t if( $db->sql_affectedrows( $result) == 0)\n   {\n    $sql = 'INSERT INTO ' . ADSENSE_TABLE . ' ( user_id ) VALUES ( ' . (int) $topic_poster . ' )';\n    $result = $db->sql_query( $sql);\n   }\n   $db->sql_freeresult( $result); */\n\n\t // Decide whether to show the topic poster's ad or the default\n\t $sql = 'SELECT a.*, u.user_publisher_id, u.user_channel_id, u.user_posts\n\t            FROM ' . USERS_TABLE . ' u ' . '\n\t               LEFT JOIN ' . ADSENSE_TABLE . ' a\n\t               ON a.user_id = u.user_id\n\t         WHERE u.user_id = ' . $topic_poster;\n\t $result = $db->sql_query( $sql);\n\t if( $db->sql_affectedrows( $result) != 1)\n\t {\n\t  $return_type = 'default';\n    break;\n\t }\n\t $row = $db->sql_fetchrow( $result);\n\t $db->sql_freeresult( $result);\n\n\t // If the poster doesn't have a Publisher ID in the system, go to default\n\t if( empty( $row['user_publisher_id']))\n\t {\n\t  $return_type = 'default';\n\t  break;\n\t }\n\n\t // If the poster has too few post counts, go to default\n\t if( ((int)$row['user_posts'] < (int)$config['ars_required_posts']) && ( (int)$config['ars_required_posts'] > 0))\n\t {\n\t  $return_type = 'default';\n\t  break;\n\t }\n\n\t // By default, if this is the first time this user has the opportunity to display their ad, display their ad\n\t if( intval( $row['total_ad_views']) == 0)\n\t {\n\t  $return_type = 'user';\n\t  $return_array = array( 'publisher_id' => $row['user_publisher_id'], 'channel_id' => $row['user_channel_id']);\n\t  break;\n\t }\n\n\t $row['users_ad_views'] = intval( $row['users_ad_views']);\n\t $row['admin_ad_views'] = intval( $row['admin_ad_views']);\n\t $row['total_ad_views'] = intval( $row['total_ad_views']);\n\t $percent_user_views    = (float) ($row['users_ad_views'] / $row['total_ad_views']);\n\t $percent_admin_views   = (float) ($row['admin_ad_views'] / $row['total_ad_views']);\n\n\t // Now check the ad displays against the current configuration\n\t if( $percent_admin_views <  (float) ( ((int) $config['ars_sharing_percentage']) / 100) )\n\t {\n\t  $return_type = 'default';\n\t  break;\n\t }\n\t else\n\t {\n\t  $return_type = 'user';\n\t  $return_array = array( 'publisher_id' => $row['user_publisher_id'], 'channel_id' => $row['user_channel_id']);\n\t  break;\n\t }\n\n\t // Well, if we get here, lets fall back on the default\n\t $return_type = 'default';\n  break;\n  default:\n   $return_type = 'default';\n    break;\n  break;\n }\n\n switch( $return_type)\n {\n  case 'user':\n   if( !empty( $topic_poster))\n   {\n    $sql = 'UPDATE ' . ADSENSE_TABLE . ' SET users_ad_views = users_ad_views + 1, total_ad_views = total_ad_views + 1 WHERE user_id = ' . $topic_poster;\n    $result = $db->sql_query( $sql);\n   }\n  break;\n  case 'default':\n  default:\n   $return_array = $default_return;\n   if( !empty( $topic_poster))\n   {\n    $sql = 'UPDATE ' . ADSENSE_TABLE . ' SET admin_ad_views = admin_ad_views + 1, total_ad_views = total_ad_views + 1 WHERE user_id = ' . $topic_poster;\n    $result = $db->sql_query( $sql);\n   }\n  break;\n }\n return ( empty( $return_array)) ? $default_return : $return_array;\n}\n\nfunction generate_records_ads( $expert_id = 0)\n{\n\tglobal $db, $template;\n\tif( empty( $expert_id))\n\t{\n\t\treturn false;\n\t}\n\t$ads_viewed = array();\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"AWARD\" AND ad_expert_id = ' . intval( $expert_id);\n\t$result = $db->sql_query( $sql);\n\t$num_award_ads = $db->sql_affectedrows( $result);\n\twhile( $row = $db->sql_fetchrow( $result))\n\t{\n\t\t$template->assign_block_vars( 'award_ads_row', array(\n\t\t\t'AD_TYPE' => $row['ad_type'],\n\t\t\t'IMAGE_URL' => ( !empty( $row['ad_image_url'])) ? $row['ad_image_url'] : '',\n\t\t\t'LINK_URL' => ( !empty( $row['ad_link'])) ? $row['ad_link'] : '',\n\t\t\t'DISPLAY_TEXT' => ( !empty( $row['ad_display_text'])) ? $row['ad_display_text'] : '',\n\t\t\t'CODE' => ( !empty( $row['ad_code'])) ? html_entity_decode( $row['ad_code']) : '',\n\t\t\t'DESCRIPTION' => ( !empty( $row['ad_description'])) ? $row['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $row['ad_id'];\n\t}\n\n\t$sql = 'SELECT * FROM advertisements WHERE ad_position = \"DOCUMENTED\" AND ad_expert_id = ' . intval( $expert_id);\n\t$result = $db->sql_query( $sql);\n\t$num_documented_ads = $db->sql_affectedrows( $result);\n\twhile( $row = $db->sql_fetchrow( $result))\n\t{\n\t\t$template->assign_block_vars( 'documented_by_ads_row', array(\n\t\t\t'AD_TYPE' => $row['ad_type'],\n\t\t\t'IMAGE_URL' => ( !empty( $row['ad_image_url'])) ? $row['ad_image_url'] : '',\n\t\t\t'LINK_URL' => ( !empty( $row['ad_link'])) ? $row['ad_link'] : '',\n\t\t\t'DISPLAY_TEXT' => ( !empty( $row['ad_display_text'])) ? $row['ad_display_text'] : '',\n\t\t\t'CODE' => ( !empty( $row['ad_code'])) ? html_entity_decode( $row['ad_code']) : '',\n\t\t\t'DESCRIPTION' => ( !empty( $row['ad_description'])) ? $row['ad_description'] : '',\n\t\t));\n\t\t$ads_viewed[] = $row['ad_id'];\n\t}\n\t$template->assign_vars( array(\n\t\t'NUM_AWARD_ADS' => $num_award_ads,\n\t\t'NUM_DOCUMENTED_ADS' => $num_documented_ads\n\t));\n\tif( !empty( $ads_viewed))\n\t{\n\t\t$sql = 'UPDATE advertisements SET ad_views = ad_views + 1 WHERE ad_id = ' . implode( ' OR ad_id = ', $ads_viewed);\n\t\t$db->sql_query( $sql);\n\t}\n}\n\nfunction generate_small_blue_boxes( $experts = null, $sports = null)\n{\n\tglobal $user, $db, $template, $phpbb_root_path, $config;\n\n\tif( !defined( 'MAX_SMALL_BLUE_BOX_ENTRIES'))\n\t{\n\t\tdefine( 'MAX_SMALL_BLUE_BOX_ENTRIES', 3);\n\t}\n\t$day_values = explode( ';', $config['blue_boxes_days']);\n\t$sport_values = explode( ';', $config['blue_boxes_sports']);\n\n\tif( $experts == null)\n\t{\n\t\t$sql = 'SELECT * FROM experts e LEFT JOIN forum_users u ON u.user_id = e.user_id';\n\t\t$result = $db->sql_query( $sql); $experts = array();\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\t$experts[ $row['user_id'] ] = $row;\n\t\t}\n\t\t$db->sql_freeresult( $result);\n\t}\n\n\tif( $sports == null)\n\t{\n\t\t$sql = 'SELECT s.id, s.name FROM sports s';\n\t\t$result = $db->sql_query( $sql); $sports = array();\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\t$sports[ $row['id'] ] = $row['name'];\n\t\t}\n\t\t$db->sql_freeresult( $result);\n\t\tforeach( $ADDITIONAL_CUSTOM_SPORTS as $row)\n\t\t{\n\t\t\t$sports[ $row['id'] ] = $row;\n\t\t}\n\t}\n\n\t// Generate the small blue boxes\n\tforeach( $day_values as $day)\n\t{\n\t\t$totals = array(); $percents = array();\n\t\t$where_sql = ( $day > 0) ? ' AND DATEDIFF( NOW(), r.date ) <= ' . $day . ' ' : '';\n\t\tforeach( $experts as $user_id => $username)\n\t\t{\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as won_amount, COUNT(*) as total_won\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Win\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql . '\n\t\t\t\t\t\t\t\tGROUP BY r.user_id';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$won_amount = (float) $row['won_amount'];\n\t\t\t$total_won = (int) $row['total_won'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as loss_amount, CO"..., 8192) = 8192
22452 14:44:04.510560 brk(0x238a000)    = 0x238a000
22452 14:44:04.511436 read(3, " r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Loss\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql . '\n\t\t\t\t\t\t\t\tGROUP BY r.user_id';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$loss_amount = (float) $row['loss_amount'];\n\t\t\t$total_lost = (int) $row['total_lost'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$totals[$user_id] = $won_amount - $loss_amount;\n\t\t\t$percents[$user_id][$day] = sprintf( '%2.1f', (( $total_won + $total_lost) > 0) ? (( $total_won / ( $total_won + $total_lost) )*100) : 0);\n\t\t}\n\t\tarsort( $totals);\n\t\t$content = array(); $i = 0;\n\t\tforeach( $totals as $user_id => $total)\n\t\t{\n\t\t\tif( $total > 0)\n\t\t\t{\n\t\t\t\t$content[] = array(\n\t\t\t\t\t'left' => (strlen( $experts[ $user_id ]['username']) > 16 ) ? substr( $experts[ $user_id ]['username'], 0, 16) : $experts[ $user_id ]['username'],\n\t\t\t\t\t'right' => '$' . number_format( sprintf( '%01.2f', $total)) // . ' (' . $percents[$user_id][$day] . ')'  // <-- Dollars. Units --> '+' . sprintf( '%01.1f', $total / 100)\n\t\t\t\t);\n\t\t\t\t$i++;\n\t\t\t\tif( $i >= MAX_SMALL_BLUE_BOX_ENTRIES)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$s = $day == 1 ? '' : 's';\n\t\t$small_blue_boxes[] = array(\n\t\t\t'title' => ($day == 0) ? 'Overall Leaders' : 'Last ' . $day . ' Day' . $s,\n\t\t\t'heading_left' => 'Expert',\n\t\t\t'heading_right' => '$ Profit',\n\t\t\t'content' => $content,\n\t\t\t'num_entries' => $i\n\t\t);\n\t\t// if( $user->data['user_id'] == 2){ var_dump( $totals); die; }\n\t}\n\n\t$reset_sql = ' AND DATEDIFF( r.date, \"%s\") >= 0 ';\n\t$sports_titles = @unserialize( $config['blue_boxes_sports_titles']);\n\t$sports_dates = @unserialize( $config['blue_boxes_sports_dates']);\n\tforeach( $sport_values as $sport_temp)\n\t{\n\t\t$totals = array(); $percents = array();\n\t\tlist( $sport_day_value, $sport) = explode( '|', $sport_temp);\n\t\t$where_sql = ( $sport_day_value > 0) ? ' AND DATEDIFF( NOW(), r.date ) <= ' . $sport_day_value . ' ' : '';\n\t\tif( isset( $sports_dates[ $sport ]) && $sport_day_value == 0)\n\t\t{\n\t\t\t$where_sql .= sprintf( $reset_sql, $sports_dates[ $sport ]);\n\t\t}\n\t\t$where_sql .= ' AND r.sport_id = ' . $sport . ' ';\n\t\tforeach( $experts as $user_id => $username)\n\t\t{\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as won_amount, COUNT(*) as total_won\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Win\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql;\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$won_amount = (float) $row['won_amount'];\n\t\t\t$total_won = (int) $row['total_won'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as loss_amount, COUNT(*) as total_lost\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Loss\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql;\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$loss_amount = (float) $row['loss_amount'];\n\t\t\t$total_lost = (int) $row['total_lost'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$totals[$user_id] = $won_amount - $loss_amount;\n\t\t\t$percents[$user_id][$sport] = sprintf( '%2.1f', (( $total_won + $total_lost) > 0) ? (( $total_won / ( $total_won + $total_lost) )*100) : 0);\n\t\t}\n\t\tarsort( $totals);\n\t\t// var_dump( $totals, $percents); die;\n\t\t$content = array(); $i = 0;\n\t\tforeach( $totals as $user_id => $total)\n\t\t{\n\t\t\tif( $total > 0)\n\t\t\t{\n\t\t\t\t$content[] = array(\n\t\t\t\t\t'left' => (strlen( $experts[ $user_id ]['username']) > 16 ) ? substr( $experts[ $user_id ]['username'], 0, 16) : $experts[ $user_id ]['username'],\n\t\t\t\t\t'right' => '$' . number_format( sprintf( '%01.2f', $total)) // . ' (' . $percents[$user_id][$sport] . ')' // <-- Dollars. Units -->  '+' . sprintf( '%01.1f', $total / 100)\n\t\t\t\t);\n\t\t\t\t$i++;\n\t\t\t\tif( $i >= MAX_SMALL_BLUE_BOX_ENTRIES)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$title = ( isset( $sports_titles[ $sport ][ $sport_day_value])) ? $sports_titles[ $sport ][ $sport_day_value] : $sports[ $sport ] . ' Leaders';\n\t\t$small_blue_boxes[] = array(\n\t\t\t'title' => $title ,\n\t\t\t'heading_left' => 'Expert',\n\t\t\t'heading_right' => '$ Profit',\n\t\t\t'content' => $content,\n\t\t\t'num_entries' => $i\n\t\t);\n\t}\n\n\tforeach( $small_blue_boxes as $box)\n\t{\n\t\t$template->assign_block_vars( 'small_blue_box_row', array(\n\t\t\t'TITLE' => $box['title'],\n\t\t\t'HEADING_LEFT' => $box['heading_left'],\n\t\t\t'HEADING_RIGHT' => $box['heading_right'],\n\t\t\t'NUM_ENTRIES' => $box['num_entries']\n\t\t));\n\t\tforeach( $box['content'] as $row)\n\t\t{\n\t\t\t$template->assign_block_vars( 'small_blue_box_row.content_row', array(\n\t\t\t\t'LEFT' => $row['left'],\n\t\t\t\t'RIGHT' => $row['right']\n\t\t\t));\n\t\t}\n\t}\n}\nfunction generate_small_blue_boxes_blog( $experts = null, $sports = null)\n{\n\tglobal $user, $db, $template, $phpbb_root_path, $config, $ADDITIONAL_CUSTOM_SPORTS;\n\n\tif( !defined( 'MAX_SMALL_BLUE_BOX_ENTRIES'))\n\t{\n\t\tdefine( 'MAX_SMALL_BLUE_BOX_ENTRIES', 3);\n\t}\n\t$day_values = explode( ';', $config['blue_boxes_days']);\n\t$sport_values = explode( ';', $config['blue_boxes_sports']);\n\n\tif( $experts == null)\n\t{\n\t\t$sql = 'SELECT * FROM experts e LEFT JOIN forum_users u ON u.user_id = e.user_id';\n\t\t$result = $db->sql_query( $sql); $experts = array();\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\t$experts[ $row['user_id'] ] = $row;\n\t\t}\n\t\t$db->sql_freeresult( $result);\n\t}\n\n\tif( $sports == null)\n\t{\n\t\t$sql = 'SELECT s.id, s.name FROM sports s';\n\t\t$result = $db->sql_query( $sql); $sports = array();\n\t\twhile( $row = $db->sql_fetchrow( $result))\n\t\t{\n\t\t\t$sports[ $row['id'] ] = $row['name'];\n\t\t}\n\t\t$db->sql_freeresult( $result);\n\t\tforeach( $ADDITIONAL_CUSTOM_SPORTS as $row)\n\t\t{\n\t\t\t$sports[ $row['id'] ] = $row;\n\t\t}\n\t}\n\n\t// Generate the small blue boxes\n\tforeach( $day_values as $day)\n\t{\n\t\t$totals = array(); $percents = array();\n\t\t$where_sql = ( $day > 0) ? ' AND DATEDIFF( NOW(), r.date ) <= ' . $day . ' ' : '';\n\t\tforeach( $experts as $user_id => $username)\n\t\t{\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as won_amount, COUNT(*) as total_won\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Win\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql . '\n\t\t\t\t\t\t\t\tGROUP BY r.user_id';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$won_amount = (float) $row['won_amount'];\n\t\t\t$total_won = (int) $row['total_won'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as loss_amount, COUNT(*) as total_lost\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Loss\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql . '\n\t\t\t\t\t\t\t\tGROUP BY r.user_id';\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$loss_amount = (float) $row['loss_amount'];\n\t\t\t$total_lost = (int) $row['total_lost'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$totals[$user_id] = $won_amount - $loss_amount;\n\t\t\t$percents[$user_id][$day] = sprintf( '%2.1f', (( $total_won + $total_lost) > 0) ? (( $total_won / ( $total_won + $total_lost) )*100) : 0);\n\t\t}\n\t\tarsort( $totals);\n\t\t$content = array(); $i = 0;\n\t\tforeach( $totals as $user_id => $total)\n\t\t{\n\t\t\tif( $total > 0)\n\t\t\t{\n\t\t\t\t$content[] = array(\n\t\t\t\t\t'left' => (strlen( $experts[ $user_id ]['username']) > 16 ) ? substr( $experts[ $user_id ]['username'], 0, 16) : $experts[ $user_id ]['username'],\n\t\t\t\t\t'right' => '$' . number_format( sprintf( '%01.2f', $total)) // . ' (' . $percents[$user_id][$day] . ')'  // <-- Dollars. Units --> '+' . sprintf( '%01.1f', $total / 100)\n\t\t\t\t);\n\t\t\t\t$i++;\n\t\t\t\tif( $i >= MAX_SMALL_BLUE_BOX_ENTRIES)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$s = $day == 1 ? '' : 's';\n\t\t$small_blue_boxes[] = array(\n\t\t\t'title' "..., 8192) = 8192
22452 14:44:04.514513 read(3, "\t'heading_right' => '$ Profit',\n\t\t\t'content' => $content,\n\t\t\t'num_entries' => $i\n\t\t);\n\t\t// if( $user->data['user_id'] == 2){ var_dump( $totals); die; }\n\t}\n\n\t$reset_sql = ' AND DATEDIFF( r.date, \"%s\") >= 0 ';\n\t$sports_titles = @unserialize( $config['blue_boxes_sports_titles']);\n\t$sports_dates = @unserialize( $config['blue_boxes_sports_dates']);\n\tforeach( $sport_values as $sport_temp)\n\t{\n\t\t$totals = array(); $percents = array();\n\t\tlist( $sport_day_value, $sport) = explode( '|', $sport_temp);\n\t\t$where_sql = ( $sport_day_value > 0) ? ' AND DATEDIFF( NOW(), r.date ) <= ' . $sport_day_value . ' ' : '';\n\t\tif( isset( $sports_dates[ $sport ]) && $sport_day_value == 0)\n\t\t{\n\t\t\t$where_sql .= sprintf( $reset_sql, $sports_dates[ $sport ]);\n\t\t}\n\t\t$where_sql .= ' AND r.sport_id = ' . $sport . ' ';\n\t\tforeach( $experts as $user_id => $username)\n\t\t{\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as won_amount, COUNT(*) as total_won\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Win\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql;\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$won_amount = (float) $row['won_amount'];\n\t\t\t$total_won = (int) $row['total_won'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$sql = 'SELECT u.username, SUM( r.win_loss2) as loss_amount, COUNT(*) as total_lost\n\t\t\t\t\t\t\t\tFROM record2 r\n\t\t\t\t\t\t\t\t\tLEFT JOIN forum_users u\n\t\t\t\t\t\t\t\t\tON u.user_id = r.user_id\n\t\t\t\t\t\t\t\t\t\tWHERE u.group_id = 7\n\t\t\t\t\t\t\t\t\t\t\tAND win_loss = \"Loss\"\n\t\t\t\t\t\t\t\t\t\t\tAND DATEDIFF( NOW() , r.date ) > 0\n\t\t\t\t\t\t\t\t\t\t\tAND r.user_id = ' . $user_id . ' ' . $where_sql;\n\t\t\t$result = $db->sql_query( $sql);\n\t\t\t$row = $db->sql_fetchrow( $result);\n\t\t\t$loss_amount = (float) $row['loss_amount'];\n\t\t\t$total_lost = (int) $row['total_lost'];\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$totals[$user_id] = $won_amount - $loss_amount;\n\t\t\t$percents[$user_id][$sport] = sprintf( '%2.1f', (( $total_won + $total_lost) > 0) ? (( $total_won / ( $total_won + $total_lost) )*100) : 0);\n\t\t}\n\t\tarsort( $totals);\n\t\t// var_dump( $totals, $percents); die;\n\t\t$content = array(); $i = 0;\n\t\tforeach( $totals as $user_id => $total)\n\t\t{\n\t\t\tif( $total > 0)\n\t\t\t{\n\t\t\t\t$content[] = array(\n\t\t\t\t\t'left' => (strlen( $experts[ $user_id ]['username']) > 16 ) ? substr( $experts[ $user_id ]['username'], 0, 16) : $experts[ $user_id ]['username'],\n\t\t\t\t\t'right' => '$' . number_format( sprintf( '%01.2f', $total)) // . ' (' . $percents[$user_id][$sport] . ')' // <-- Dollars. Units -->  '+' . sprintf( '%01.1f', $total / 100)\n\t\t\t\t);\n\t\t\t\t$i++;\n\t\t\t\tif( $i >= MAX_SMALL_BLUE_BOX_ENTRIES)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$title = ( isset( $sports_titles[ $sport ][ $sport_day_value])) ? $sports_titles[ $sport ][ $sport_day_value] : $sports[ $sport ] . ' Leaders';\n\t\t$small_blue_boxes[] = array(\n\t\t\t'title' => $title ,\n\t\t\t'heading_left' => 'Expert',\n\t\t\t'heading_right' => '$ Profit',\n\t\t\t'content' => $content,\n\t\t\t'num_entries' => $i\n\t\t);\n\t}\n\n\tforeach( $small_blue_boxes as $box)\n\t{\n\t\t$template->assign_block_vars( 'small_blue_box_row_blog', array(\n\t\t\t'TITLE' => $box['title'],\n\t\t\t'HEADING_LEFT' => $box['heading_left'],\n\t\t\t'HEADING_RIGHT' => $box['heading_right'],\n\t\t\t'NUM_ENTRIES' => $box['num_entries']\n\t\t));\n\t\tforeach( $box['content'] as $row)\n\t\t{\n\t\t\t$template->assign_block_vars( 'small_blue_box_row_blog.content_row_blog', array(\n\t\t\t\t'LEFT' => $row['left'],\n\t\t\t\t'RIGHT' => $row['right']\n\t\t\t));\n\t\t}\n\t}\n}\nfunction generate_blog_recent_comments()\n{\n\t\tglobal $db, $template, $phpbb_root_path, $config;\n\t\t$recent_comment = \"select distinct(article_id) from blog_comments order by comment_id desc LIMIT 5 \";\n\n$result_comment = $db->sql_query($recent_comment);\n\nwhile ($row = $db->sql_fetchrow($result_comment))\n{\n\n\t$article = \"select * from articles where id = '\".$row['article_id'].\"'\";\n\n\t$article_data = $db->sql_query($article);\n\t$article_name = $db->sql_fetchrow($article_data);\n\t$template->assign_block_vars( 'r_comment', array(\n\t\t\t'ARTICLENAME' => $article_name['title'],\n\t\t\t'USERID' =>  $row['user_id'],\n \t\t\t'ARTICLEID' => $row['article_id'],\n\t\t));\n}\n\n}\n\n\n\nfunction generate_home_page_hot_streaks()\n{\n\tglobal $db, $template, $phpbb_root_path, $config;\n\n\t// Generate the large blue box\n\t// No expert can have more than 2 trends\n\t// No trend under 55%\n\t// #1 Top unit trend for All sports, meaning their highest +/- unit trend with the most units\n\t// #2 Top trend sorted by overall units for an individual sport, only if win % > 57 and units are more than #3\n\t// #3 Top trend by overall win % show trend for capper for their highest win %\n\n\tinclude_once( $phpbb_root_path . 'includes/functions_hot_streaks.php');\n\t$all_sports_streaks = array(); $individual_sports_streaks = array();\n\t$hot_streaks = new hot_streaks();\n\tforeach( $hot_streaks->experts as $expert_id => $expert)\n\t{\n\t\t$all_sports_streaks = array_merge( $all_sports_streaks, $hot_streaks->generate_streaks( $expert_id, 0, 0, 0, 1));\n\t}\n\t$valid_sports = explode( ';', $config['top_trends_sports']);\n\tforeach( $hot_streaks->sports as $sport_id => $sport)\n\t{\n\t\tif( !in_array( $sport_id, $valid_sports))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\t\tforeach( $hot_streaks->experts as $expert_id => $expert)\n\t\t{\n\t\t\t$individual_sports_streaks = array_merge( $individual_sports_streaks, $hot_streaks->generate_streaks( $expert_id, 0, 0, $sport_id, 0));\n\t\t}\n\t}\n\n\t$all_hot_streaks = array();\n\tforeach( $all_sports_streaks as $streak)\n\t{\n\t\t$streak['pick_type'] = 0;\n\t\tif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][1]) || $all_hot_streaks[ $streak['expert_id'] ][1]['units'] < $streak['units']) && $streak['why'] == 'units' && $streak['percent'] >= 55)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][1] = $streak;\n\t\t}\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][2]) ||  $all_hot_streaks[ $streak['expert_id'] ][2]['percent'] < $streak['percent']) && $streak['why'] == 'percent' && $streak['percent'] >= 55)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}\n\t}\n\tforeach( $individual_sports_streaks as $streak)\n\t{\n\t\t$streak['pick_type'] = 0;\n\t\tif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][1])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][1] = $streak;\n\t\t}\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][2])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}\n\t\t/*elseif( (isset( $all_hot_streaks[ $streak['expert_id'] ][2]) && $all_hot_streaks[ $streak['expert_id'] ][2]['units'] < $streak['units'] ) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t//$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}*/\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][3]) || ( isset( $all_hot_streaks[ $streak['expert_id'] ][3]) && $streak['units'] > $all_hot_streaks[ $streak['expert_id'] ][3]['units'] )) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][3] = $streak;\n\t\t}\n\t}\n\tunset( $all_sports_streaks); unset( $individual_sports_streaks);\n\n\t$actual_hot_streaks = array();\n\tforeach( $all_hot_streaks as $expert_id => $streak)\n\t{\n\t\tforeach( $streak as $row)\n\t\t{\n\t\t\t$actual_hot_streaks[] = $row;\n\t\t}\n\t}\n\tunset( $all_hot_streaks);\n\n\t$hot_streaks_table_config = array(\n\t\t'heading' => true,\n\t\t'heading_left' => 'Expert',\n\t\t'heading_right' => 'Trend',\n\t\t'color' => 'BLUE'\n\t);\n\t$hot_streaks_table = $hot_streaks->generate_table( $actual_hot_streaks, count( $actual_hot_streaks), 'Top Trends', '', $hot_streaks_table_config,'');\n\t$template->assign_var( 'HOT_STREAKS_TABLE', $hot_streaks_table);\n}\n\n\n\n\n\n\n\n\nfunction generate_home_page_hot_streaks_blog()\n{\n\tglobal $db, $template, $phpbb_root_path, $config;\n\n\t// Generate the large blue box\n\t// No expert can have more than 2 trends\n\t// No trend under 55%\n\t// #1 Top unit trend for All sports, meaning their highest +/- unit trend with the most units\n\t// #2 Top trend sorted by overall units for an individual sport, only if win % > 57 and units are more than #3\n\t// #3 Top trend by overall win % show trend for capper for their highest win %\n\n\ti"..., 8192) = 8192
22452 14:44:04.517086 read(3, "); $individual_sports_streaks = array();\n\t$hot_streaks = new hot_streaks();\n\t\t$all_sports_streaks = array_merge( $all_sports_streaks, $hot_streaks->generate_streaks( 59, 0, 0, 0, 1));\n\t$valid_sports = explode( ';', $config['top_trends_sports']);\n\tforeach( $hot_streaks->sports as $sport_id => $sport)\n\t{\n\t\tif( !in_array( $sport_id, $valid_sports))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\t\t\t$individual_sports_streaks = array_merge( $individual_sports_streaks, $hot_streaks->generate_streaks( 59, 0, 0, $sport_id, 0));\n\t}\n\n\t$all_hot_streaks = array();\n\tforeach( $all_sports_streaks as $streak)\n\t{\n\t\t$streak['pick_type'] = 0;\n\t\tif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][1]) || $all_hot_streaks[ $streak['expert_id'] ][1]['units'] < $streak['units']) && $streak['why'] == 'units' && $streak['percent'] >= 55)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][1] = $streak;\n\t\t}\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][2]) ||  $all_hot_streaks[ $streak['expert_id'] ][2]['percent'] < $streak['percent']) && $streak['why'] == 'percent' && $streak['percent'] >= 55)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}\n\t}\n\tforeach( $individual_sports_streaks as $streak)\n\t{\n\t\t$streak['pick_type'] = 0;\n\t\tif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][1])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][1] = $streak;\n\t\t}\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][2])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}\n\t\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][3])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][3] = $streak;\n\t\t}\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][4])) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][4] = $streak;\n\t\t}\n\t\t/*elseif( (isset( $all_hot_streaks[ $streak['expert_id'] ][2]) && $all_hot_streaks[ $streak['expert_id'] ][2]['units'] < $streak['units'] ) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t//$all_hot_streaks[ $streak['expert_id'] ][2] = $streak;\n\t\t}*/\n\t\telseif( (!isset( $all_hot_streaks[ $streak['expert_id'] ][5]) || ( isset( $all_hot_streaks[ $streak['expert_id'] ][5]) && $streak['units'] > $all_hot_streaks[ $streak['expert_id'] ][5]['units'] )) && $streak['percent'] >= 57)\n\t\t{\n\t\t\t$all_hot_streaks[ $streak['expert_id'] ][5] = $streak;\n\t\t}\n\t}\n\tunset( $all_sports_streaks); unset( $individual_sports_streaks);\n\n\t$actual_hot_streaks = array();\n\t$expert_id = 59;\n\tforeach( $all_hot_streaks as $expert_id => $streak)\n\t{\n\t\tforeach( $streak as $row)\n\t\t{\n\t\t\t$actual_hot_streaks[] = $row;\n\t\t}\n\t}\n\tunset( $all_hot_streaks);\n\n\t$hot_streaks_table_config = array(\n\t\t'heading' => false,\n\t\t'heading_left' => '',\n\t\t'heading_right' => '',\n\t\t'color' => 'BLUE'\n\t);\n\t$hot_streaks_table = $hot_streaks->generate_table( $actual_hot_streaks, count( $actual_hot_streaks), '', '', $hot_streaks_table_config,'blog');\n\t$template->assign_var( 'HOT_STREAKS_TABLE', $hot_streaks_table);\n}\nfunction get_string_between($string, $start, $end){\n\t$string = \" \".$string;\n\t$ini = strpos($string,$start);\n\tif ($ini == 0) return \"\";\n\t$ini += strlen($start);\n\t$len = strpos($string,$end,$ini) - $ini;\n\treturn substr($string,$ini,$len);\n}\nfunction getValidDateRange($day_of_week_arr = array(1,2,3,4,5,6,7))\n{\n\n\t$day = date('d');\n\t$month = date('m');\n\t$year = date('Y');\n\t$start_date_stamp = mktime(0, 0, 0, $month, $day, $year);\n\t$end_date_stamp = mktime(23, 59, 59, $month, $day, $year);\n\t$tmp_day_of_week = date('N',$start_date_stamp);\n\tif(in_array($tmp_day_of_week,$day_of_week_arr))\n\t{\n\t\treturn array('start' =>$start_date_stamp, 'end' => $end_date_stamp);\n\t}\n\telse\n\t{\n\t\treturn array('start' =>$start_date_stamp, 'end' => $start_date_stamp);\n\t}\n\n\n}\n\n\n\n\n\n?>\n", 8192) = 3773
22452 14:44:04.517868 read(3, "", 4096) = 0
22452 14:44:04.518631 read(3, "", 8192) = 0
22452 14:44:04.518822 close(3)          = 0
22452 14:44:04.518908 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.519086 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.519208 time(NULL)        = 1400874244
22452 14:44:04.519283 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.519490 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.519610 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.519733 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.519856 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.520078 lstat("/home2/fritz218/public_html/forum/includes/functions_content.php", {st_dev=makedev(8, 33), st_ino=91757823, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=80, st_size=38582, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.520216 open("/home2/fritz218/public_html/forum/includes/functions_content.php", O_RDONLY) = 3
22452 14:44:04.520313 fstat(3, {st_dev=makedev(8, 33), st_ino=91757823, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=80, st_size=38582, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.520430 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.520503 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.520577 fstat(3, {st_dev=makedev(8, 33), st_ino=91757823, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=80, st_size=38582, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.520692 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.520785 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.520863 open("/home2/fritz218/public_html/forum/includes/functions_content.php", O_RDONLY) = 4
22452 14:44:04.520953 fstat(4, {st_dev=makedev(8, 33), st_ino=91757823, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=80, st_size=38582, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.521071 mmap(NULL, 38582, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b0000
22452 14:44:04.521159 munmap(0x7f35927b0000, 38582) = 0
22452 14:44:04.521235 close(4)          = 0
22452 14:44:04.521317 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.521392 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: functions_content.php 10039 2009-08-21 09:44:55Z bantu $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* gen_sort_selects()\n* make_jumpbox()\n* bump_topic_allowed()\n* get_context()\n* decode_message()\n* strip_bbcode()\n* generate_text_for_display()\n* generate_text_for_storage()\n* generate_text_for_edit()\n* make_clickable_callback()\n* make_clickable()\n* censor_text()\n* bbcode_nl2br()\n* smiley_text()\n* parse_attachments()\n* extension_allowed()\n* truncate_string()\n* get_username_string()\n* class bitfield\n*/\n\n/**\n* Generate sort selection fields\n*/\nfunction gen_sort_selects(&$limit_days, &$sort_by_text, &$sort_days, &$sort_key, &$sort_dir, &$s_limit_days, &$s_sort_key, &$s_sort_dir, &$u_sort_param, $def_st = false, $def_sk = false, $def_sd = false)\n{\n\tglobal $user;\n\n\t$sort_dir_text = array('a' => $user->lang['ASCENDING'], 'd' => $user->lang['DESCENDING']);\n\n\t$sorts = array(\n\t\t'st'\t=> array(\n\t\t\t'key'\t\t=> 'sort_days',\n\t\t\t'default'\t=> $def_st,\n\t\t\t'options'\t=> $limit_days,\n\t\t\t'output'\t=> &$s_limit_days,\n\t\t),\n\n\t\t'sk'\t=> array(\n\t\t\t'key'\t\t=> 'sort_key',\n\t\t\t'default'\t=> $def_sk,\n\t\t\t'options'\t=> $sort_by_text,\n\t\t\t'output'\t=> &$s_sort_key,\n\t\t),\n\n\t\t'sd'\t=> array(\n\t\t\t'key'\t\t=> 'sort_dir',\n\t\t\t'default'\t=> $def_sd,\n\t\t\t'options'\t=> $sort_dir_text,\n\t\t\t'output'\t=> &$s_sort_dir,\n\t\t),\n\t);\n\t$u_sort_param  = '';\n\n\tforeach ($sorts as $name => $sort_ary)\n\t{\n\t\t$key = $sort_ary['key'];\n\t\t$selected = $$sort_ary['key'];\n\n\t\t// Check if the key is selectable. If not, we reset to the default or first key found.\n\t\t// This ensures the values are always valid. We also set $sort_dir/sort_key/etc. to the\n\t\t// correct value, else the protection is void. ;)\n\t\tif (!isset($sort_ary['options'][$selected]))\n\t\t{\n\t\t\tif ($sort_ary['default'] !== false)\n\t\t\t{\n\t\t\t\t$selected = $$key = $sort_ary['default'];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t@reset($sort_ary['options']);\n\t\t\t\t$selected = $$key = key($sort_ary['options']);\n\t\t\t}\n\t\t}\n\n\t\t$sort_ary['output'] = '<select name=\"' . $name . '\" id=\"' . $name . '\">';\n\t\tforeach ($sort_ary['options'] as $option => $text)\n\t\t{\n\t\t\t$sort_ary['output'] .= '<option value=\"' . $option . '\"' . (($selected == $option) ? ' selected=\"selected\"' : '') . '>' . $text . '</option>';\n\t\t}\n\t\t$sort_ary['output'] .= '</select>';\n\n\t\t$u_sort_param .= ($selected !== $sort_ary['default']) ? ((strlen($u_sort_param)) ? '&amp;' : '') . \"{$name}={$selected}\" : '';\n\t}\n\n\treturn;\n}\n\n/**\n* Generate Jumpbox\n*/\nfunction make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list = false, $force_display = false)\n{\n\tglobal $config, $auth, $template, $user, $db;\n\n\t// We only return if the jumpbox is not forced to be displayed (in case it is needed for functionality)\n\tif (!$config['load_jumpbox'] && $force_display === false)\n\t{\n\t\treturn;\n\t}\n\n\t$sql = 'SELECT forum_id, forum_name, parent_id, forum_type, left_id, right_id\n\t\tFROM ' . FORUMS_TABLE . '\n\t\tORDER BY left_id ASC';\n\t$result = $db->sql_query($sql, 600);\n\n\t$right = $padding = 0;\n\t$padding_store = array('0' => 0);\n\t$display_jumpbox = false;\n\t$iteration = 0;\n\n\t// Sometimes it could happen that forums will be displayed here not be displayed within the index page\n\t// This is the result of forums not displayed at index, having list permissions and a parent of a forum with no permissions.\n\t// If this happens, the padding could be \"broken\"\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\tif ($row['left_id'] < $right)\n\t\t{\n\t\t\t$padding++;\n\t\t\t$padding_store[$row['parent_id']] = $padding;\n\t\t}\n\t\telse if ($row['left_id'] > $right + 1)\n\t\t{\n\t\t\t// Ok, if the $padding_store for this parent is empty there is something wrong. For now we will skip over it.\n\t\t\t// @todo digging deep to find out \"how\" this can happen.\n\t\t\t$padding = (isset($padding_store[$row['parent_id']])) ? $padding_store[$row['parent_id']] : $padding;\n\t\t}\n\n\t\t$right = $row['right_id'];\n\n\t\tif ($row['forum_type'] == FORUM_CAT && ($row['left_id'] + 1 == $row['right_id']))\n\t\t{\n\t\t\t// Non-postable forum with no ", 4096) = 4096
22452 14:44:04.522211 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.522292 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.522402 read(3, "subforums, don't display\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!$auth->acl_get('f_list', $row['forum_id']))\n\t\t{\n\t\t\t// if the user does not have permissions to list this forum skip\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ($acl_list && !$auth->acl_gets($acl_list, $row['forum_id']))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!$display_jumpbox)\n\t\t{\n\t\t\t$template->assign_block_vars('jumpbox_forums', array(\n\t\t\t\t'FORUM_ID'\t\t=> ($select_all) ? 0 : -1,\n\t\t\t\t'FORUM_NAME'\t=> ($select_all) ? $user->lang['ALL_FORUMS'] : $user->lang['SELECT_FORUM'],\n\t\t\t\t'S_FORUM_COUNT'\t=> $iteration)\n\t\t\t);\n\n\t\t\t$iteration++;\n\t\t\t$display_jumpbox = true;\n\t\t}\n\n\t\t$template->assign_block_vars('jumpbox_forums', array(\n\t\t\t'FORUM_ID'\t\t=> $row['forum_id'],\n\t\t\t'FORUM_NAME'\t=> $row['forum_name'],\n\t\t\t'SELECTED'\t\t=> ($row['forum_id'] == $forum_id) ? ' selected=\"selected\"' : '',\n\t\t\t'S_FORUM_COUNT'\t=> $iteration,\n\t\t\t'S_IS_CAT'\t\t=> ($row['forum_type'] == FORUM_CAT) ? true : false,\n\t\t\t'S_IS_LINK'\t\t=> ($row['forum_type'] == FORUM_LINK) ? true : false,\n\t\t\t'S_IS_POST'\t\t=> ($row['forum_type'] == FORUM_POST) ? true : false)\n\t\t);\n\n\t\tfor ($i = 0; $i < $padding; $i++)\n\t\t{\n\t\t\t$template->assign_block_vars('jumpbox_forums.level', array());\n\t\t}\n\t\t$iteration++;\n\t}\n\t$db->sql_freeresult($result);\n\tunset($padding_store);\n\n\t$template->assign_vars(array(\n\t\t'S_DISPLAY_JUMPBOX'\t=> $display_jumpbox,\n\t\t'S_JUMPBOX_ACTION'\t=> $action)\n\t);\n\n\treturn;\n}\n\n/**\n* Bump Topic Check - used by posting and viewtopic\n*/\nfunction bump_topic_allowed($forum_id, $topic_bumped, $last_post_time, $topic_poster, $last_topic_poster)\n{\n\tglobal $config, $auth, $user;\n\n\t// Check permission and make sure the last post was not already bumped\n\tif (!$auth->acl_get('f_bump', $forum_id) || $topic_bumped)\n\t{\n\t\treturn false;\n\t}\n\n\t// Check bump time range, is the user really allowed to bump the topic at this time?\n\t$bump_time = ($config['bump_type'] == 'm') ? $config['bump_interval'] * 60 : (($config['bump_type'] == 'h') ? $config['bump_interval'] * 3600 : $config['bump_interval'] * 86400);\n\n\t// Check bump time\n\tif ($last_post_time + $bump_time > time())\n\t{\n\t\treturn false;\n\t}\n\n\t// Check bumper, only topic poster and last poster are allowed to bump\n\tif ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'])\n\t{\n\t\treturn false;\n\t}\n\n\t// A bump time of 0 will completely disable the bump feature... not intended but might be useful.\n\treturn $bump_time;\n}\n\n/**\n* Generates a text with approx. the specified length which contains the specified words and their context\n*\n* @param\tstring\t$text\tThe full text from which context shall be extracted\n* @param\tstring\t$words\tAn array of words which should be contained in the result, has to be a valid part of a PCRE pattern (escape with preg_quote!)\n* @param\tint\t\t$length\tThe desired length of the resulting text, however the result might be shorter or longer than this value\n*\n* @return\tstring\t\t\tContext of the specified words separated by \"...\"\n*/\nfunction get_context($text, $words, $length = 400)\n{\n\t// first replace all whitespaces with single spaces\n\t$text = preg_replace('/ +/', ' ', strtr($text, \"\\t\\n\\r\\x0C \", '     '));\n\n\t// we need to turn the entities back into their original form, to not cut the message in between them\n\t$entities = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;', '&#058;');\n\t$characters = array('<', '>', '[', ']', '.', ':', ':');\n\t$text = str_replace($entities, $characters, $text);\n\n\t$word_indizes = array();\n\tif (sizeof($words))\n\t{\n\t\t$match = '';\n\t\t// find the starting indizes of all words\n\t\tforeach ($words as $word)\n\t\t{\n\t\t\tif ($word)\n\t\t\t{\n\t\t\t\tif (preg_match('#(?:[^\\w]|^)(' . $word . ')(?:[^\\w]|$)#i', $text, $match))\n\t\t\t\t{\n\t\t\t\t\tif (empty($match[1]))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\t$pos = utf8_strpos($text, $match[1]);\n\t\t\t\t\tif ($pos !== false)\n\t\t\t\t\t{\n\t\t\t\t\t\t$word_indizes[] = $pos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tunset($match);\n\n\t\tif (sizeof($word_indizes))\n\t\t{\n\t\t\t$word_indizes = array_unique($word_indizes);\n\t\t\tsort($word_indizes);\n\n\t\t\t$wordnum = sizeof($word_indizes);\n\t\t\t// number of characters on the right and left side of each word\n\t\t\t$sequence_length = (int) ($length / (2 * $wordnum)", 4096) = 4096
22452 14:44:04.524230 read(3, ") - 2;\n\t\t\t$final_text = '';\n\t\t\t$word = $j = 0;\n\t\t\t$final_text_index = -1;\n\n\t\t\t// cycle through every character in the original text\n\t\t\tfor ($i = $word_indizes[$word], $n = utf8_strlen($text); $i < $n; $i++)\n\t\t\t{\n\t\t\t\t// if the current position is the start of one of the words then append $sequence_length characters to the final text\n\t\t\t\tif (isset($word_indizes[$word]) && ($i == $word_indizes[$word]))\n\t\t\t\t{\n\t\t\t\t\tif ($final_text_index < $i - $sequence_length - 1)\n\t\t\t\t\t{\n\t\t\t\t\t\t$final_text .= '... ' . preg_replace('#^([^ ]*)#', '', utf8_substr($text, $i - $sequence_length, $sequence_length));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t// if the final text is already nearer to the current word than $sequence_length we only append the text\n\t\t\t\t\t\t// from its current index on and distribute the unused length to all other sequenes\n\t\t\t\t\t\t$sequence_length += (int) (($final_text_index - $i + $sequence_length + 1) / (2 * $wordnum));\n\t\t\t\t\t\t$final_text .= utf8_substr($text, $final_text_index + 1, $i - $final_text_index - 1);\n\t\t\t\t\t}\n\t\t\t\t\t$final_text_index = $i - 1;\n\n\t\t\t\t\t// add the following characters to the final text (see below)\n\t\t\t\t\t$word++;\n\t\t\t\t\t$j = 1;\n\t\t\t\t}\n\n\t\t\t\tif ($j > 0)\n\t\t\t\t{\n\t\t\t\t\t// add the character to the final text and increment the sequence counter\n\t\t\t\t\t$final_text .= utf8_substr($text, $i, 1);\n\t\t\t\t\t$final_text_index++;\n\t\t\t\t\t$j++;\n\n\t\t\t\t\t// if this is a whitespace then check whether we are done with this sequence\n\t\t\t\t\tif (utf8_substr($text, $i, 1) == ' ')\n\t\t\t\t\t{\n\t\t\t\t\t\t// only check whether we have to exit the context generation completely if we haven't already reached the end anyway\n\t\t\t\t\t\tif ($i + 4 < $n)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (($j > $sequence_length && $word >= $wordnum) || utf8_strlen($final_text) > $length)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$final_text .= ' ...';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// make sure the text really reaches the end\n\t\t\t\t\t\t\t$j -= 4;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// stop context generation and wait for the next word\n\t\t\t\t\t\tif ($j > $sequence_length)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$j = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn str_replace($characters, $entities, $final_text);\n\t\t}\n\t}\n\n\tif (!sizeof($words) || !sizeof($word_indizes))\n\t{\n\t\treturn str_replace($characters, $entities, ((utf8_strlen($text) >= $length + 3) ? utf8_substr($text, 0, $length) . '...' : $text));\n\t}\n}\n\n/**\n* Decode text whereby text is coming from the db and expected to be pre-parsed content\n* We are placing this outside of the message parser because we are often in need of it...\n*/\nfunction decode_message(&$message, $bbcode_uid = '')\n{\n\tglobal $config;\n\n\tif ($bbcode_uid)\n\t{\n\t\t$match = array('<br />', \"[/*:m:$bbcode_uid]\", \":u:$bbcode_uid\", \":o:$bbcode_uid\", \":$bbcode_uid\");\n\t\t$replace = array(\"\\n\", '', '', '', '');\n\t}\n\telse\n\t{\n\t\t$match = array('<br />');\n\t\t$replace = array(\"\\n\");\n\t}\n\n\t$message = str_replace($match, $replace, $message);\n\n\t$match = get_preg_expression('bbcode_htm');\n\t$replace = array('\\1', '\\1', '\\2', '\\1', '', '');\n\n\t$message = preg_replace($match, $replace, $message);\n}\n\n/**\n* Strips all bbcode from a text and returns the plain content\n*/\nfunction strip_bbcode(&$text, $uid = '')\n{\n\tif (!$uid)\n\t{\n\t\t$uid = '[0-9a-z]{5,}';\n\t}\n\n\t$text = preg_replace(\"#\\[\\/?[a-z0-9\\*\\+\\-]+(?:=(?:&quot;.*&quot;|[^\\]]*))?(?::[a-z])?(\\:$uid)\\]#\", ' ', $text);\n\n\t$match = get_preg_expression('bbcode_htm');\n\t$replace = array('\\1', '\\1', '\\2', '\\1', '', '');\n\n\t$text = preg_replace($match, $replace, $text);\n}\n\n/**\n* For display of custom parsed text on user-facing pages\n* Expects $text to be the value directly from the database (stored value)\n*/\nfunction generate_text_for_display($text, $uid, $bitfield, $flags)\n{\n\tstatic $bbcode;\n\n\tif (!$text)\n\t{\n\t\treturn '';\n\t}\n\n\t$text = censor_text($text);\n\n\t// Parse bbcode if bbcode uid stored and bbcode enabled\n\tif ($uid && ($flags & OPTION_FLAG_BBCODE))\n\t{\n\t\tif (!class_exists('bbcode'))\n\t\t{\n\t\t\tglobal $phpbb_root_path, $phpEx;\n\t\t\tinclude($phpbb_root_path . 'includes/bbcode.' . $phpEx);\n\t\t}\n\n\t\tif (empty($bbcode))\n\t\t{\n\t\t\t$bbcode = new bbcode($bitfield);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$bbcode->bbcode($bitfield);\n\t\t}\n\n\t\t$bbcode->bbcode_second_pass($text, $uid);\n\t}\n\n\t$text = bbcode_nl2br($text);\n\t$text = smiley_text($text, !($flags & OPTION_FLAG_SMILIES));\n\n\treturn $text;\n}\n\n/**\n* For parsing custom parsed text to be stored within the database.\n* This function additionally returns the uid and bitfield that needs to be stored.\n* Expects $text to be the value directly from request_var() and in it's non-parsed form\n*/\nfunction generate_text_for_storage(&$text, &$uid, &$bitfield, &$flags, $allow_bbcode = false, $allow_urls = false, $allow_smilies = false)\n{\n\tglobal $phpbb_root_path, $phpEx;\n\n\t$uid = $bitfield = '';\n\t$flags = (($allow_bbcode) ? OPTION_FLAG_BBCODE : 0) + (($allow_smilies) ? OPTION_FLAG_SMILIES : 0) + (($allow_urls) ? OPTION_FLAG_LINKS : 0);\n\n\tif (!$text)\n\t{\n\t\treturn;\n\t}\n\n\tif (!class_exists('parse_message'))\n\t{\n\t\tinclude($phpbb_root_path . 'includes/message_parser.' . $phpEx);\n\t}\n\n\t$message_parser = new parse_message($text);\n\t$message_parser->parse($allow_bbcode, $allow_urls, $allow_smilies);\n\n\t$text = $message_parser->message;\n\t$uid = $message_parser->bbcode_uid;\n\n\t// If the bbcode_bitfield is empty, there is no need for the uid to be stored.\n\tif (!$message_parser->bbcode_bitfield)\n\t{\n\t\t$uid = '';\n\t}\n\n\t$bitfield = $message_parser->bbcode_bitfield;\n\n\treturn;\n}\n\n/**\n* For decoding custom parsed text for edits as well as extracting the flags\n* Expects $text to be the value directly from the database (pre-parsed content)\n*/\nfunction generate_text_for_edit($text, $uid, $flags)\n{\n\tglobal $phpbb_root_path, $phpEx;\n\n\tdecode_message($text, $uid);\n\n\treturn array(\n\t\t'allow_bbcode'\t=> ($flags & OPTION_FLAG_BBCODE) ? 1 : 0,\n\t\t'allow_smilies'\t=> ($flags & OPTION_FLAG_SMILIES) ? 1 : 0,\n\t\t'allow_urls'\t=> ($flags & OPTION_FLAG_LINKS) ? 1 : 0,\n\t\t'text'\t\t\t=> $text\n\t);\n}\n\n/**\n* A subroutine of make_clickable used with preg_replace\n* It places correct HTML around an url, shortens the displayed text\n* and makes sure no entities are inside URLs\n*/\nfunction make_clickable_callback($type, $whitespace, $url, $relative_url, $class)\n{\n\t$orig_url\t\t= $url;\n\t$orig_relative\t= $relative_url;\n\t$append\t\t\t= '';\n\t$url\t\t\t= htmlspecialchars_decode($url);\n\t$relative_url\t= htmlspecialchars_decode($relative_url);\n\n\t// make sure no HTML entities were matched\n\t$chars = array('<', '>', '\"');\n\t$split = false;\n\n\tforeach ($chars as $char)\n\t{\n\t\t$next_split = strpos($url, $char);\n\t\tif ($next_split !== false)\n\t\t{\n\t\t\t$split = ($split !== false) ? min($split, $next_split) : $next_split;\n\t\t}\n\t}\n\n\tif ($split !== false)\n\t{\n\t\t// an HTML entity was found, so the URL has to end before it\n\t\t$append\t\t\t= substr($url, $split) . $relative_url;\n\t\t$url\t\t\t= substr($url, 0, $split);\n\t\t$relative_url\t= '';\n\t}\n\telse if ($relative_url)\n\t{\n\t\t// same for $relative_url\n\t\t$split = false;\n\t\tforeach ($chars as $char)\n\t\t{\n\t\t\t$next_split = strpos($relative_url, $char);\n\t\t\tif ($next_split !== false)\n\t\t\t{\n\t\t\t\t$split = ($split !== false) ? min($split, $next_split) : $next_split;\n\t\t\t}\n\t\t}\n\n\t\tif ($split !== false)\n\t\t{\n\t\t\t$append\t\t\t= substr($relative_url, $split);\n\t\t\t$relative_url\t= substr($relative_url, 0, $split);\n\t\t}\n\t}\n\n\t// if the last character of the url is a punctuation mark, exclude it from the url\n\t$last_char = ($relative_url) ? $relative_url[strlen($relative_url) - 1] : $url[strlen($url) - 1];\n\n\tswitch ($last_char)\n\t{\n\t\tcase '.':\n\t\tcase '?':\n\t\tcase '!':\n\t\tcase ':':\n\t\tcase ',':\n\t\t\t$append = $last_char;\n\t\t\tif ($relative_url)\n\t\t\t{\n\t\t\t\t$relative_url = substr($relative_url, 0, -1);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$url = substr($url, 0, -1);\n\t\t\t}\n\t\tbreak;\n\n\t\t// set last_char to empty here, so the variable can be used later to\n\t\t// check whether a character was removed\n\t\tdefault:\n\t\t\t$last_char = '';\n\t\tbreak;\n\t}\n\n\t$short_url = (strlen($url) > 55) ? substr($url, 0, 39) . ' ... ' . substr($url, -10) : $url;\n\n\tswitch ($type)\n\t{\n\t\tcase MAGIC_URL_LOCAL:\n\t\t\t$tag\t\t\t= 'l';\n\t\t\t$relative_url\t= preg_replace('/[&?]sid=[0-9a-f]{32}$/', '', preg_replace('/([&?])sid=[0-9a-f]{32}&/', '$1', $relative_url));\n\t\t\t$url\t\t\t= $url . '/' . $relative_url;\n\t\t\t$text\t\t\t= $relative_url;\n\n\t\t\t// "..., 8192) = 8192
22452 14:44:04.526935 read(3, "ed as local so\n\t\t\t// don't touch it and let MAGIC_URL_FULL take care of it.\n\t\t\tif (!$relative_url)\n\t\t\t{\n\t\t\t\treturn $whitespace . $orig_url . '/' . $orig_relative; // slash is taken away by relative url pattern\n\t\t\t}\n\t\tbreak;\n\n\t\tcase MAGIC_URL_FULL:\n\t\t\t$tag\t= 'm';\n\t\t\t$text\t= $short_url;\n\t\tbreak;\n\n\t\tcase MAGIC_URL_WWW:\n\t\t\t$tag\t= 'w';\n\t\t\t$url\t= 'http://' . $url;\n\t\t\t$text\t= $short_url;\n\t\tbreak;\n\n\t\tcase MAGIC_URL_EMAIL:\n\t\t\t$tag\t= 'e';\n\t\t\t$text\t= $short_url;\n\t\t\t$url\t= 'mailto:' . $url;\n\t\tbreak;\n\t}\n\n\t$url\t= htmlspecialchars($url);\n\t$text\t= htmlspecialchars($text);\n\t$append\t= htmlspecialchars($append);\n\n\t$html\t= \"$whitespace<!-- $tag --><a$class href=\\\"$url\\\">$text</a><!-- $tag -->$append\";\n\n\treturn $html;\n}\n\n/**\n* make_clickable function\n*\n* Replace magic urls of form http://xxx.xxx., www.xxx. and xxx@xxx.xxx.\n* Cuts down displayed size of link if over 50 chars, turns absolute links\n* into relative versions when the server/script path matches the link\n*/\nfunction make_clickable($text, $server_url = false, $class = 'postlink')\n{\n\tif ($server_url === false)\n\t{\n\t\t$server_url = generate_board_url();\n\t}\n\n\tstatic $magic_url_match;\n\tstatic $magic_url_replace;\n\tstatic $static_class;\n\n\tif (!is_array($magic_url_match) || $static_class != $class)\n\t{\n\t\t$static_class = $class;\n\t\t$class = ($static_class) ? ' class=\"' . $static_class . '\"' : '';\n\t\t$local_class = ($static_class) ? ' class=\"' . $static_class . '-local\"' : '';\n\n\t\t$magic_url_match = $magic_url_replace = array();\n\t\t// Be sure to not let the matches cross over. ;)\n\n\t\t// relative urls for this board\n\t\t$magic_url_match[] = '#(^|[\\n\\t (>.])(' . preg_quote($server_url, '#') . ')/(' . get_preg_expression('relative_url_inline') . ')#ie';\n\t\t$magic_url_replace[] = \"make_clickable_callback(MAGIC_URL_LOCAL, '\\$1', '\\$2', '\\$3', '$local_class')\";\n\n\t\t// matches a xxxx://aaaaa.bbb.cccc. ...\n\t\t$magic_url_match[] = '#(^|[\\n\\t (>.])(' . get_preg_expression('url_inline') . ')#ie';\n\t\t$magic_url_replace[] = \"make_clickable_callback(MAGIC_URL_FULL, '\\$1', '\\$2', '', '$class')\";\n\n\t\t// matches a \"www.xxxx.yyyy[/zzzz]\" kinda lazy URL thing\n\t\t$magic_url_match[] = '#(^|[\\n\\t (>])(' . get_preg_expression('www_url_inline') . ')#ie';\n\t\t$magic_url_replace[] = \"make_clickable_callback(MAGIC_URL_WWW, '\\$1', '\\$2', '', '$class')\";\n\n\t\t// matches an email@domain type address at the start of a line, or after a space or after what might be a BBCode.\n\t\t$magic_url_match[] = '/(^|[\\n\\t (>])(' . get_preg_expression('email') . ')/ie';\n\t\t$magic_url_replace[] = \"make_clickable_callback(MAGIC_URL_EMAIL, '\\$1', '\\$2', '', '')\";\n\t}\n\n\treturn preg_replace($magic_url_match, $magic_url_replace, $text);\n}\n\n/**\n* Censoring\n*/\nfunction censor_text($text)\n{\n\tstatic $censors;\n\n\t// Nothing to do?\n\tif ($text === '')\n\t{\n\t\treturn '';\n\t}\n\n\t// We moved the word censor checks in here because we call this function quite often - and then only need to do the check once\n\tif (!isset($censors) || !is_array($censors))\n\t{\n\t\tglobal $config, $user, $auth, $cache;\n\n\t\t// We check here if the user is having viewing censors disabled (and also allowed to do so).\n\t\tif (!$user->optionget('viewcensors') && $config['allow_nocensors'] && $auth->acl_get('u_chgcensors'))\n\t\t{\n\t\t\t$censors = array();\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$censors = $cache->obtain_word_list();\n\t\t}\n\t}\n\n\tif (sizeof($censors))\n\t{\n\t\treturn preg_replace($censors['match'], $censors['replace'], $text);\n\t}\n\n\treturn $text;\n}\n\n/**\n* custom version of nl2br which takes custom BBCodes into account\n*/\nfunction bbcode_nl2br($text)\n{\n\t// custom BBCodes might contain carriage returns so they\n\t// are not converted into <br /> so now revert that\n\t$text = str_replace(array(\"\\n\", \"\\r\"), array('<br />', \"\\n\"), $text);\n\treturn $text;\n}\n\n/**\n* Smiley processing\n*/\nfunction smiley_text($text, $force_option = false)\n{\n\tglobal $config, $user, $phpbb_root_path;\n\n\tif ($force_option || !$config['allow_smilies'] || !$user->optionget('viewsmilies'))\n\t{\n\t\treturn preg_replace('#<!\\-\\- s(.*?) \\-\\-><img src=\"\\{SMILIES_PATH\\}\\/.*? \\/><!\\-\\- s\\1 \\-\\->#', '\\1', $text);\n\t}\n\telse\n\t{\n\t\t$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path;\n\t\treturn preg_replace('#<!\\-\\- s(.*?) \\-\\-><img src=\"\\{SMILIES_PATH\\}\\/(.*?) \\/><!\\-\\- s\\1 \\-\\->#', '<img src=\"' . $root_path . $config['smilies_path'] . '/\\2 />', $text);\n\t}\n}\n\n/**\n* General attachment parsing\n*\n* @param mixed $forum_id The forum id the attachments are displayed in (false if in private message)\n* @param string &$message The post/private message\n* @param array &$attachments The attachments to parse for (inline) display. The attachments array will hold templated data after parsing.\n* @param array &$update_count The attachment counts to be updated - will be filled\n* @param bool $preview If set to true the attachments are parsed for preview. Within preview mode the comments are fetched from the given $attachments array and not fetched from the database.\n*/\nfunction parse_attachments($forum_id, &$message, &$attachments, &$update_count, $preview = false)\n{\n\tif (!sizeof($attachments))\n\t{\n\t\treturn;\n\t}\n\n\tglobal $template, $cache, $user;\n\tglobal $extensions, $config, $phpbb_root_path, $phpEx;\n\n\t//\n\t$compiled_attachments = array();\n\n\tif (!isset($template->filename['attachment_tpl']))\n\t{\n\t\t$template->set_filenames(array(\n\t\t\t'attachment_tpl'\t=> 'attachment.html')\n\t\t);\n\t}\n\n\tif (empty($extensions) || !is_array($extensions))\n\t{\n\t\t$extensions = $cache->obtain_attach_extensions($forum_id);\n\t}\n\n\t// Look for missing attachment information...\n\t$attach_ids = array();\n\tforeach ($attachments as $pos => $attachment)\n\t{\n\t\t// If is_orphan is set, we need to retrieve the attachments again...\n\t\tif (!isset($attachment['extension']) && !isset($attachment['physical_filename']))\n\t\t{\n\t\t\t$attach_ids[(int) $attachment['attach_id']] = $pos;\n\t\t}\n\t}\n\n\t// Grab attachments (security precaution)\n\tif (sizeof($attach_ids))\n\t{\n\t\tglobal $db;\n\n\t\t$new_attachment_data = array();\n\n\t\t$sql = 'SELECT *\n\t\t\tFROM ' . ATTACHMENTS_TABLE . '\n\t\t\tWHERE ' . $db->sql_in_set('attach_id', array_keys($attach_ids));\n\t\t$result = $db->sql_query($sql);\n\n\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t{\n\t\t\tif (!isset($attach_ids[$row['attach_id']]))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If we preview attachments we will set some retrieved values here\n\t\t\tif ($preview)\n\t\t\t{\n\t\t\t\t$row['attach_comment'] = $attachments[$attach_ids[$row['attach_id']]]['attach_comment'];\n\t\t\t}\n\n\t\t\t$new_attachment_data[$attach_ids[$row['attach_id']]] = $row;\n\t\t}\n\t\t$db->sql_freeresult($result);\n\n\t\t$attachments = $new_attachment_data;\n\t\tunset($new_attachment_data);\n\t}\n\n\t// Sort correctly\n\tif ($config['display_order'])\n\t{\n\t\t// Ascending sort\n\t\tkrsort($attachments);\n\t}\n\telse\n\t{\n\t\t// Descending sort\n\t\tksort($attachments);\n\t}\n\n\tforeach ($attachments as $attachment)\n\t{\n\t\tif (!sizeof($attachment))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\t// We need to reset/empty the _file block var, because this function might be called more than once\n\t\t$template->destroy_block_vars('_file');\n\n\t\t$block_array = array();\n\n\t\t// Some basics...\n\t\t$attachment['extension'] = strtolower(trim($attachment['extension']));\n\t\t$filename = $phpbb_root_path . $config['upload_path'] . '/' . utf8_basename($attachment['physical_filename']);\n\t\t$thumbnail_filename = $phpbb_root_path . $config['upload_path'] . '/thumb_' . utf8_basename($attachment['physical_filename']);\n\n\t\t$upload_icon = '';\n\n\t\tif (isset($extensions[$attachment['extension']]))\n\t\t{\n\t\t\tif ($user->img('icon_topic_attach', '') && !$extensions[$attachment['extension']]['upload_icon'])\n\t\t\t{\n\t\t\t\t$upload_icon = $user->img('icon_topic_attach', '');\n\t\t\t}\n\t\t\telse if ($extensions[$attachment['extension']]['upload_icon'])\n\t\t\t{\n\t\t\t\t$upload_icon = '<img src=\"' . $phpbb_root_path . $config['upload_icons_path'] . '/' . trim($extensions[$attachment['extension']]['upload_icon']) . '\" alt=\"\" />';\n\t\t\t}\n\t\t}\n\n\t\t$filesize = get_formatted_filesize($attachment['filesize'], false);\n\n\t\t$comment = bbcode_nl2br(censor_text($attachment['attach_comment']));\n\n\t\t$block_array += array(\n\t\t\t'UPLOAD_ICON'\t\t=> $upload_icon,\n\t\t\t'FILESIZE'\t\t\t=> $filesize['value'],\n\t\t\t'SIZE_LANG'"..., 8192) = 8192
22452 14:44:04.529213 brk(0x23cf000)    = 0x23cf000
22452 14:44:04.529811 read(3, "MENT'\t\t\t=> $comment,\n\t\t);\n\n\t\t$denied = false;\n\n\t\tif (!extension_allowed($forum_id, $attachment['extension'], $extensions))\n\t\t{\n\t\t\t$denied = true;\n\n\t\t\t$block_array += array(\n\t\t\t\t'S_DENIED'\t\t\t=> true,\n\t\t\t\t'DENIED_MESSAGE'\t=> sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension'])\n\t\t\t);\n\t\t}\n\n\t\tif (!$denied)\n\t\t{\n\t\t\t$l_downloaded_viewed = $download_link = '';\n\t\t\t$display_cat = $extensions[$attachment['extension']]['display_cat'];\n\n\t\t\tif ($display_cat == ATTACHMENT_CATEGORY_IMAGE)\n\t\t\t{\n\t\t\t\tif ($attachment['thumbnail'])\n\t\t\t\t{\n\t\t\t\t\t$display_cat = ATTACHMENT_CATEGORY_THUMB;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif ($config['img_display_inlined'])\n\t\t\t\t\t{\n\t\t\t\t\t\tif ($config['img_link_width'] || $config['img_link_height'])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$dimension = @getimagesize($filename);\n\n\t\t\t\t\t\t\t// If the dimensions could not be determined or the image being 0x0 we display it as a link for safety purposes\n\t\t\t\t\t\t\tif ($dimension === false || empty($dimension[0]) || empty($dimension[1]))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$display_cat = ATTACHMENT_CATEGORY_NONE;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$display_cat = ($dimension[0] <= $config['img_link_width'] && $dimension[1] <= $config['img_link_height']) ? ATTACHMENT_CATEGORY_IMAGE : ATTACHMENT_CATEGORY_NONE;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$display_cat = ATTACHMENT_CATEGORY_NONE;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Make some descisions based on user options being set.\n\t\t\tif (($display_cat == ATTACHMENT_CATEGORY_IMAGE || $display_cat == ATTACHMENT_CATEGORY_THUMB) && !$user->optionget('viewimg'))\n\t\t\t{\n\t\t\t\t$display_cat = ATTACHMENT_CATEGORY_NONE;\n\t\t\t}\n\n\t\t\tif ($display_cat == ATTACHMENT_CATEGORY_FLASH && !$user->optionget('viewflash'))\n\t\t\t{\n\t\t\t\t$display_cat = ATTACHMENT_CATEGORY_NONE;\n\t\t\t}\n\n\t\t\t$download_link = append_sid(\"{$phpbb_root_path}download/file.$phpEx\", 'id=' . $attachment['attach_id']);\n\n\t\t\tswitch ($display_cat)\n\t\t\t{\n\t\t\t\t// Images\n\t\t\t\tcase ATTACHMENT_CATEGORY_IMAGE:\n\t\t\t\t\t$l_downloaded_viewed = 'VIEWED_COUNT';\n\t\t\t\t\t$inline_link = append_sid(\"{$phpbb_root_path}download/file.$phpEx\", 'id=' . $attachment['attach_id']);\n\t\t\t\t\t$download_link .= '&amp;mode=view';\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'S_IMAGE'\t\t=> true,\n\t\t\t\t\t\t'U_INLINE_LINK'\t\t=> $inline_link,\n\t\t\t\t\t);\n\n\t\t\t\t\t$update_count[] = $attachment['attach_id'];\n\t\t\t\tbreak;\n\n\t\t\t\t// Images, but display Thumbnail\n\t\t\t\tcase ATTACHMENT_CATEGORY_THUMB:\n\t\t\t\t\t$l_downloaded_viewed = 'VIEWED_COUNT';\n\t\t\t\t\t$thumbnail_link = append_sid(\"{$phpbb_root_path}download/file.$phpEx\", 'id=' . $attachment['attach_id'] . '&amp;t=1');\n\t\t\t\t\t$download_link .= '&amp;mode=view';\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'S_THUMBNAIL'\t\t=> true,\n\t\t\t\t\t\t'THUMB_IMAGE'\t\t=> $thumbnail_link,\n\t\t\t\t\t);\n\n\t\t\t\t\t$update_count[] = $attachment['attach_id'];\n\t\t\t\tbreak;\n\n\t\t\t\t// Windows Media Streams\n\t\t\t\tcase ATTACHMENT_CATEGORY_WM:\n\t\t\t\t\t$l_downloaded_viewed = 'VIEWED_COUNT';\n\n\t\t\t\t\t// Giving the filename directly because within the wm object all variables are in local context making it impossible\n\t\t\t\t\t// to validate against a valid session (all params can differ)\n\t\t\t\t\t// $download_link = $filename;\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'U_FORUM'\t\t=> generate_board_url(),\n\t\t\t\t\t\t'ATTACH_ID'\t\t=> $attachment['attach_id'],\n\t\t\t\t\t\t'S_WM_FILE'\t\t=> true,\n\t\t\t\t\t);\n\n\t\t\t\t\t// Viewed/Heared File ... update the download count\n\t\t\t\t\t$update_count[] = $attachment['attach_id'];\n\t\t\t\tbreak;\n\n\t\t\t\t// Real Media Streams\n\t\t\t\tcase ATTACHMENT_CATEGORY_RM:\n\t\t\t\tcase ATTACHMENT_CATEGORY_QUICKTIME:\n\t\t\t\t\t$l_downloaded_viewed = 'VIEWED_COUNT';\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'S_RM_FILE'\t\t\t=> ($display_cat == ATTACHMENT_CATEGORY_RM) ? true : false,\n\t\t\t\t\t\t'S_QUICKTIME_FILE'\t=> ($display_cat == ATTACHMENT_CATEGORY_QUICKTIME) ? true : false,\n\t\t\t\t\t\t'U_FORUM'\t\t\t=> generate_board_url(),\n\t\t\t\t\t\t'ATTACH_ID'\t\t\t=> $attachment['attach_id'],\n\t\t\t\t\t);\n\n\t\t\t\t\t// Viewed/Heared File ... update the download count\n\t\t\t\t\t$update_count[] = $attachment['attach_id'];\n\t\t\t\tbreak;\n\n\t\t\t\t// Macromedia Flash Files\n\t\t\t\tcase ATTACHMENT_CATEGORY_FLASH:\n\t\t\t\t\tlist($width, $height) = @getimagesize($filename);\n\n\t\t\t\t\t$l_downloaded_viewed = 'VIEWED_COUNT';\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'S_FLASH_FILE'\t=> true,\n\t\t\t\t\t\t'WIDTH'\t\t\t=> $width,\n\t\t\t\t\t\t'HEIGHT'\t\t=> $height,\n\t\t\t\t\t\t'U_VIEW_LINK'\t=> $download_link . '&amp;view=1',\n\t\t\t\t\t);\n\n\t\t\t\t\t// Viewed/Heared File ... update the download count\n\t\t\t\t\t$update_count[] = $attachment['attach_id'];\n\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\t$l_downloaded_viewed = 'DOWNLOAD_COUNT';\n\n\t\t\t\t\t$block_array += array(\n\t\t\t\t\t\t'S_FILE'\t\t=> true,\n\t\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t$l_download_count = (!isset($attachment['download_count']) || $attachment['download_count'] == 0) ? $user->lang[$l_downloaded_viewed . '_NONE'] : (($attachment['download_count'] == 1) ? sprintf($user->lang[$l_downloaded_viewed], $attachment['download_count']) : sprintf($user->lang[$l_downloaded_viewed . 'S'], $attachment['download_count']));\n\n\t\t\t$block_array += array(\n\t\t\t\t'U_DOWNLOAD_LINK'\t\t=> $download_link,\n\t\t\t\t'L_DOWNLOAD_COUNT'\t\t=> $l_download_count\n\t\t\t);\n\t\t}\n\n\t\t$template->assign_block_vars('_file', $block_array);\n\n\t\t$compiled_attachments[] = $template->assign_display('attachment_tpl');\n\t}\n\n\t$attachments = $compiled_attachments;\n\tunset($compiled_attachments);\n\n\t$tpl_size = sizeof($attachments);\n\n\t$unset_tpl = array();\n\n\tpreg_match_all('#<!\\-\\- ia([0-9]+) \\-\\->(.*?)<!\\-\\- ia\\1 \\-\\->#', $message, $matches, PREG_PATTERN_ORDER);\n\n\t$replace = array();\n\tforeach ($matches[0] as $num => $capture)\n\t{\n\t\t// Flip index if we are displaying the reverse way\n\t\t$index = ($config['display_order']) ? ($tpl_size-($matches[1][$num] + 1)) : $matches[1][$num];\n\n\t\t$replace['from'][] = $matches[0][$num];\n\t\t$replace['to'][] = (isset($attachments[$index])) ? $attachments[$index] : sprintf($user->lang['MISSING_INLINE_ATTACHMENT'], $matches[2][array_search($index, $matches[1])]);\n\n\t\t$unset_tpl[] = $index;\n\t}\n\n\tif (isset($replace['from']))\n\t{\n\t\t$message = str_replace($replace['from'], $replace['to'], $message);\n\t}\n\n\t$unset_tpl = array_unique($unset_tpl);\n\n\t// Needed to let not display the inlined attachments at the end of the post again\n\tforeach ($unset_tpl as $index)\n\t{\n\t\tunset($attachments[$index]);\n\t}\n}\n\n/**\n* Check if extension is allowed to be posted.\n*\n* @param mixed $forum_id The forum id to check or false if private message\n* @param string $extension The extension to check, for example zip.\n* @param array &$extensions The extension array holding the information from the cache (will be obtained if empty)\n*\n* @return bool False if the extension is not allowed to be posted, else true.\n*/\nfunction extension_allowed($forum_id, $extension, &$extensions)\n{\n\tif (empty($extensions))\n\t{\n\t\tglobal $cache;\n\t\t$extensions = $cache->obtain_attach_extensions($forum_id);\n\t}\n\n\treturn (!isset($extensions['_allowed_'][$extension])) ? false : true;\n}\n\n/**\n* Truncates string while retaining special characters if going over the max length\n* The default max length is 60 at the moment\n* The maximum storage length is there to fit the string within the given length. The string may be further truncated due to html entities.\n* For example: string given is 'a \"quote\"' (length: 9), would be a stored as 'a &quot;quote&quot;' (length: 19)\n*\n* @param string $string The text to truncate to the given length. String is specialchared.\n* @param int $max_length Maximum length of string (multibyte character count as 1 char / Html entity count as 1 char)\n* @param int $max_store_length Maximum character length of string (multibyte character count as 1 char / Html entity count as entity chars).\n* @param bool $allow_reply Allow Re: in front of string\n* @param string $append String to be appended\n*/\nfunction truncate_string($string, $max_length = 60, $max_store_length = 255, $allow_reply = true, $append = '')\n{\n\t$chars = array();\n\n\t$strip_reply = false;\n\t$stripped = false;\n\tif ($allow_reply && strpos($string, 'Re: ') === 0)\n\t{\n\t\t$strip_reply = true;\n\t\t$string = substr($string, 4);\n\t}\n\n\t$_chars = utf8_str_split(htmlspecialchars_decode($string));\n\t$chars = array_map('utf8_htmlspecialchars', $_chars);\n\n\t// Now check the length ;)\n\tif (sizeof($chars) > $max_length)\n\t{\n\t\t// Cut off"..., 8192) = 8192
22452 14:44:04.532292 read(3, "strlen($append)));\n\t\t$stripped = true;\n\t}\n\n\t// Due to specialchars, we may not be able to store the string...\n\tif (utf8_strlen($string) > $max_store_length)\n\t{\n\t\t// let's split again, we do not want half-baked strings where entities are split\n\t\t$_chars = utf8_str_split(htmlspecialchars_decode($string));\n\t\t$chars = array_map('utf8_htmlspecialchars', $_chars);\n\n\t\tdo\n\t\t{\n\t\t\tarray_pop($chars);\n\t\t\t$string = implode('', $chars);\n\t\t}\n\t\twhile (!empty($chars) && utf8_strlen($string) > $max_store_length);\n\t}\n\n\tif ($strip_reply)\n\t{\n\t\t$string = 'Re: ' . $string;\n\t}\n\n\tif ($append != '' && $stripped)\n\t{\n\t\t$string = $string . $append;\n\t}\n\n\treturn $string;\n}\n\n/**\n* Get username details for placing into templates.\n* This function caches all modes on first call, except for no_profile and anonymous user - determined by $user_id.\n*\n* @param string $mode Can be profile (for getting an url to the profile), username (for obtaining the username), colour (for obtaining the user colour), full (for obtaining a html string representing a coloured link to the users profile) or no_profile (the same as full but forcing no profile link)\n* @param int $user_id The users id\n* @param string $username The users name\n* @param string $username_colour The users colour\n* @param string $guest_username optional parameter to specify the guest username. It will be used in favor of the GUEST language variable then.\n* @param string $custom_profile_url optional parameter to specify a profile url. The user id get appended to this url as &amp;u={user_id}\n*\n* @return string A string consisting of what is wanted based on $mode.\n* @author BartVB, Acyd Burn\n*/\nfunction get_username_string($mode, $user_id, $username, $username_colour = '', $guest_username = false, $custom_profile_url = false)\n{\n\tstatic $_profile_cache;\n\n\t// We cache some common variables we need within this function\n\tif (empty($_profile_cache))\n\t{\n\t\tglobal $phpbb_root_path, $phpEx;\n\n\t\t$_profile_cache['base_url'] = append_sid(\"{$phpbb_root_path}memberlist.$phpEx\", 'mode=viewprofile&amp;u={USER_ID}');\n\t\t$_profile_cache['tpl_noprofile'] = '{USERNAME}';\n\t\t$_profile_cache['tpl_noprofile_colour'] = '<span style=\"color: {USERNAME_COLOUR};\" class=\"username-coloured\">{USERNAME}</span>';\n\t\t$_profile_cache['tpl_profile'] = '<a href=\"{PROFILE_URL}\">{USERNAME}</a>';\n\t\t$_profile_cache['tpl_profile_colour'] = '<a href=\"{PROFILE_URL}\" style=\"color: {USERNAME_COLOUR};\" class=\"username-coloured\">{USERNAME}</a>';\n\t}\n\n\tglobal $user, $auth;\n\n\t// This switch makes sure we only run code required for the mode\n\tswitch ($mode)\n\t{\n\t\tcase 'full':\n\t\tcase 'no_profile':\n\t\tcase 'colour':\n\n\t\t\t// Build correct username colour\n\t\t\t$username_colour = ($username_colour) ? '#' . $username_colour : '';\n\n\t\t\t// Return colour\n\t\t\tif ($mode == 'colour')\n\t\t\t{\n\t\t\t\treturn $username_colour;\n\t\t\t}\n\n\t\t// no break;\n\n\t\tcase 'username':\n\n\t\t\t// Build correct username\n\t\t\tif ($guest_username === false)\n\t\t\t{\n\t\t\t\t$username = ($username) ? $username : $user->lang['GUEST'];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$username = ($user_id && $user_id != ANONYMOUS) ? $username : ((!empty($guest_username)) ? $guest_username : $user->lang['GUEST']);\n\t\t\t}\n\n\t\t\t// Return username\n\t\t\tif ($mode == 'username')\n\t\t\t{\n\t\t\t\treturn $username;\n\t\t\t}\n\n\t\t// no break;\n\n\t\tcase 'profile':\n\n\t\t\t// Build correct profile url - only show if not anonymous and permission to view profile if registered user\n\t\t\t// For anonymous the link leads to a login page.\n\t\t\tif ($user_id && $user_id != ANONYMOUS && ($user->data['user_id'] == ANONYMOUS || $auth->acl_get('u_viewprofile')))\n\t\t\t{\n\t\t\t\t$profile_url = ($custom_profile_url !== false) ? $custom_profile_url . '&amp;u=' . (int) $user_id : str_replace(array('={USER_ID}', '=%7BUSER_ID%7D'), '=' . (int) $user_id, $_profile_cache['base_url']);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$profile_url = '';\n\t\t\t}\n\n\t\t\t// Return profile\n\t\t\tif ($mode == 'profile')\n\t\t\t{\n\t\t\t\treturn $profile_url;\n\t\t\t}\n\n\t\t// no break;\n\t}\n\n\tif (($mode == 'full' && !$profile_url) || $mode == 'no_profile')\n\t{\n\t\treturn str_replace(array('{USERNAME_COLOUR}', '{USERNAME}'), array($username_colour, $username), (!$username_colour) ? $_profile_cache['tpl_noprofile'] : $_profile_cache['tpl_noprofile_colour']);\n\t}\n\n\treturn str_replace(array('{PROFILE_URL}', '{USERNAME_COLOUR}', '{USERNAME}'), array($profile_url, $username_colour, $username), (!$username_colour) ? $_profile_cache['tpl_profile'] : $_profile_cache['tpl_profile_colour']);\n}\n\n/**\n* @package phpBB3\n*/\nclass bitfield\n{\n\tvar $data;\n\n\tfunction bitfield($bitfield = '')\n\t{\n\t\t$this->data = base64_decode($bitfield);\n\t}\n\n\t/**\n\t*/\n\tfunction get($n)\n\t{\n\t\t// Get the ($n / 8)th char\n\t\t$byte = $n >> 3;\n\n\t\tif (strlen($this->data) >= $byte + 1)\n\t\t{\n\t\t\t$c = $this->data[$byte];\n\n\t\t\t// Lookup the ($n % 8)th bit of the byte\n\t\t\t$bit = 7 - ($n & 7);\n\t\t\treturn (bool) (ord($c) & (1 << $bit));\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction set($n)\n\t{\n\t\t$byte = $n >> 3;\n\t\t$bit = 7 - ($n & 7);\n\n\t\tif (strlen($this->data) >= $byte + 1)\n\t\t{\n\t\t\t$this->data[$byte] = $this->data[$byte] | chr(1 << $bit);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$this->data .= str_repeat(\"\\0\", $byte - strlen($this->data));\n\t\t\t$this->data .= chr(1 << $bit);\n\t\t}\n\t}\n\n\tfunction clear($n)\n\t{\n\t\t$byte = $n >> 3;\n\n\t\tif (strlen($this->data) >= $byte + 1)\n\t\t{\n\t\t\t$bit = 7 - ($n & 7);\n\t\t\t$this->data[$byte] = $this->data[$byte] &~ chr(1 << $bit);\n\t\t}\n\t}\n\n\tfunction get_blob()\n\t{\n\t\treturn $this->data;\n\t}\n\n\tfunction get_base64()\n\t{\n\t\treturn base64_encode($this->data);\n\t}\n\n\tfunction get_bin()\n\t{\n\t\t$bin = '';\n\t\t$len = strlen($this->data);\n\n\t\tfor ($i = 0; $i < $len; ++$i)\n\t\t{\n\t\t\t$bin .= str_pad(decbin(ord($this->data[$i])), 8, '0', STR_PAD_LEFT);\n\t\t}\n\n\t\treturn $bin;\n\t}\n\n\tfunction get_all_set()\n\t{\n\t\treturn array_keys(array_filter(str_split($this->get_bin())));\n\t}\n\n\tfunction merge($bitfield)\n\t{\n\t\t$this->data = $this->data | $bitfield->get_blob();\n\t}\n}\n\n?>", 8192) = 5814
22452 14:44:04.533385 read(3, "", 4096) = 0
22452 14:44:04.534485 read(3, "", 8192) = 0
22452 14:44:04.534663 close(3)          = 0
22452 14:44:04.534781 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.534974 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.535064 time(NULL)        = 1400874244
22452 14:44:04.535137 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.535261 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.535378 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.535501 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.535626 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.535760 lstat("/home2/fritz218/public_html/forum/includes/constants.php", {st_dev=makedev(8, 33), st_ino=91762232, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9739, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.535897 open("/home2/fritz218/public_html/forum/includes/constants.php", O_RDONLY) = 3
22452 14:44:04.535996 fstat(3, {st_dev=makedev(8, 33), st_ino=91762232, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9739, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.536113 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.536185 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.536261 fstat(3, {st_dev=makedev(8, 33), st_ino=91762232, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9739, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.536377 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.536459 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.536537 open("/home2/fritz218/public_html/forum/includes/constants.php", O_RDONLY) = 4
22452 14:44:04.536623 fstat(4, {st_dev=makedev(8, 33), st_ino=91762232, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=9739, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:45:31}) = 0
22452 14:44:04.536741 mmap(NULL, 9739, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.536832 munmap(0x7f35927b8000, 9739) = 0
22452 14:44:04.536909 close(4)          = 0
22452 14:44:04.536986 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.537064 read(3, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: constants.php 10268 2009-11-14 20:15:50Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* valid external constants:\n* PHPBB_MSG_HANDLER\n* PHPBB_DB_NEW_LINK\n* PHPBB_ROOT_PATH\n* PHPBB_ADMIN_PATH\n*/\n\n// phpBB Version\ndefine('PHPBB_VERSION', '3.0.6');\n\n// QA-related\n// define('PHPBB_QA', 1);\n\n// User related\ndefine('ANONYMOUS', 1);\n\ndefine('USER_ACTIVATION_NONE', 0);\ndefine('USER_ACTIVATION_SELF', 1);\ndefine('USER_ACTIVATION_ADMIN', 2);\ndefine('USER_ACTIVATION_DISABLE', 3);\n\ndefine('AVATAR_UPLOAD', 1);\ndefine('AVATAR_REMOTE', 2);\ndefine('AVATAR_GALLERY', 3);\n\ndefine('USER_NORMAL', 0);\ndefine('USER_INACTIVE', 1);\ndefine('USER_IGNORE', 2);\ndefine('USER_FOUNDER', 3);\n\ndefine('INACTIVE_REGISTER', 1);\ndefine('INACTIVE_PROFILE', 2);\ndefine('INACTIVE_MANUAL', 3);\ndefine('INACTIVE_REMIND', 4);\n\n// ACL\ndefine('ACL_NEVER', 0);\ndefine('ACL_YES', 1);\ndefine('ACL_NO', -1);\n\n// Login error codes\ndefine('LOGIN_CONTINUE', 1);\ndefine('LOGIN_BREAK', 2);\ndefine('LOGIN_SUCCESS', 3);\ndefine('LOGIN_SUCCESS_CREATE_PROFILE', 20);\ndefine('LOGIN_ERROR_USERNAME', 10);\ndefine('LOGIN_ERROR_PASSWORD', 11);\ndefine('LOGIN_ERROR_ACTIVE', 12);\ndefine('LOGIN_ERROR_ATTEMPTS', 13);\ndefine('LOGIN_ERROR_EXTERNAL_AUTH', 14);\ndefine('LOGIN_ERROR_PASSWORD_CONVERT', 15);\n\n// Group settings\ndefine('GROUP_OPEN', 0);\ndefine('GROUP_CLOSED', 1);\ndefine('GROUP_HIDDEN', 2);\ndefine('GROUP_SPECIAL', 3);\ndefine('GROUP_FREE', 4);\n\n// Forum/Topic states\ndefine('FORUM_CAT', 0);\ndefine('FORUM_POST', 1);\ndefine('FORUM_LINK', 2);\ndefine('ITEM_UNLOCKED', 0);\ndefine('ITEM_LOCKED', 1);\ndefine('ITEM_MOVED', 2);\n\n// Forum Flags\ndefine('FORUM_FLAG_LINK_TRACK', 1);\ndefine('FORUM_FLAG_PRUNE_POLL', 2);\ndefine('FORUM_FLAG_PRUNE_ANNOUNCE', 4);\ndefine('FORUM_FLAG_PRUNE_STICKY', 8);\ndefine('FORUM_FLAG_ACTIVE_TOPICS', 16);\ndefine('FORUM_FLAG_POST_REVIEW', 32);\ndefine('FORUM_FLAG_QUICK_REPLY', 64);\n\n// Forum Options... sequential order. Modifications should begin at number 10 (number 29 is maximum)\ndefine('FORUM_OPTION_FEED_NEWS', 1);\ndefine('FORUM_OPTION_FEED_EXCLUDE', 2);\n\n// Optional text flags\ndefine('OPTION_FLAG_BBCODE', 1);\ndefine('OPTION_FLAG_SMILIES', 2);\ndefine('OPTION_FLAG_LINKS', 4);\n\n// Topic types\ndefine('POST_NORMAL', 0);\ndefine('POST_STICKY', 1);\ndefine('POST_ANNOUNCE', 2);\ndefine('POST_GLOBAL', 3);\n\n// Lastread types\ndefine('TRACK_NORMAL', 0);\ndefine('TRACK_POSTED', 1);\n\n// Notify methods\ndefine('NOTIFY_EMAIL', 0);\ndefine('NOTIFY_IM', 1);\ndefine('NOTIFY_BOTH', 2);\n\n// Email Priority Settings\ndefine('MAIL_LOW_PRIORITY', 4);\ndefine('MAIL_NORMAL_PRIORITY', 3);\ndefine('MAIL_HIGH_PRIORITY', 2);\n\n// Log types\ndefine('LOG_ADMIN', 0);\ndefine('LOG_MOD', 1);\ndefine('LOG_CRITICAL', 2);\ndefine('LOG_USERS', 3);\n\n// Private messaging - Do NOT change these values\ndefine('PRIVMSGS_HOLD_BOX', -4);\ndefine('PRIVMSGS_NO_BOX', -3);\ndefine('PRIVMSGS_OUTBOX', -2);\ndefine('PRIVMSGS_SENTBOX', -1);\ndefine('PRIVMSGS_INBOX', 0);\n\n// Full Folder Actions\ndefine('FULL_FOLDER_NONE', -3);\ndefine('FULL_FOLDER_DELETE', -2);\ndefine('FULL_FOLDER_HOLD', -1);\n\n// Download Modes - Attachments\ndefine('INLINE_LINK', 1);\n// This mode is only used internally to allow modders extending the attachment functionality\ndefine('PHYSICAL_LINK', 2);\n\n// Confirm types\ndefine('CONFIRM_REG', 1);\ndefine('CONFIRM_LOGIN', 2);\ndefine('CONFIRM_POST', 3);\n\n// Categories - Attachments\ndefine('ATTACHMENT_CATEGORY_NONE', 0);\ndefine('ATTACHMENT_CATEGORY_IMAGE', 1); // Inline Images\ndefine('ATTACHMENT_CATEGORY_WM', 2); // Windows Media Files - Streaming\ndefine('ATTACHMENT_CATEGORY_RM', 3); // Real Media Files - Streaming\ndefine('ATTACHMENT_CATEGORY_THUMB', 4); // Not used within the database, only while displaying posts\ndefine('ATTACHMENT_CATEGORY_FLASH', 5); // Flash/SWF files\ndefine('ATTACHMENT_CATEGORY_QUICKTIME', 6); // Quicktime/Mov files\n\n// BBCode UID length\ndefine('BBCODE_UID_LEN', 8);\n\n// Number of core BBCodes\ndefine('NUM_CORE_BBCODES', 12);\n\n// Smiley ha", 4096) = 4096
22452 14:44:04.537801 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.537877 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.537973 read(3, "rd limit\ndefine('SMILEY_LIMIT', 1000);\n\n// Magic url types\ndefine('MAGIC_URL_EMAIL', 1);\ndefine('MAGIC_URL_FULL', 2);\ndefine('MAGIC_URL_LOCAL', 3);\ndefine('MAGIC_URL_WWW', 4);\n\n// Profile Field Types\ndefine('FIELD_INT', 1);\ndefine('FIELD_STRING', 2);\ndefine('FIELD_TEXT', 3);\ndefine('FIELD_BOOL', 4);\ndefine('FIELD_DROPDOWN', 5);\ndefine('FIELD_DATE', 6);\n\n// referer validation\ndefine('REFERER_VALIDATE_NONE', 0);\ndefine('REFERER_VALIDATE_HOST', 1);\ndefine('REFERER_VALIDATE_PATH', 2);\n\n// phpbb_chmod() permissions\n@define('CHMOD_ALL', 7);\n@define('CHMOD_READ', 4);\n@define('CHMOD_WRITE', 2);\n@define('CHMOD_EXECUTE', 1);\n\n// Captcha code length\ndefine('CAPTCHA_MIN_CHARS', 4);\ndefine('CAPTCHA_MAX_CHARS', 7);\n\n// Additional constants\ndefine('SPAM_CHECK_NONE', 0);\ndefine('SPAM_CHECK_GUESTS', 1);\ndefine('SPAM_CHECK_ALL', 2);\ndefine('LOG_BLOCK', 4);\ndefine('WEIGHT_ZERO', 0);\ndefine('WEIGHT_ONE', 1);\ndefine('WEIGHT_TWO', 2);\ndefine('WEIGHT_THREE', 3);\ndefine('WEIGHT_FOUR', 4);\ndefine('WEIGHT_FIVE', 5);\ndefine('VOTE_CONVERTED', 127);\n\n// Table names\ndefine('ACL_GROUPS_TABLE',\t\t\t$table_prefix . 'acl_groups');\ndefine('ACL_OPTIONS_TABLE',\t\t\t$table_prefix . 'acl_options');\ndefine('ACL_ROLES_DATA_TABLE',\t\t$table_prefix . 'acl_roles_data');\ndefine('ACL_ROLES_TABLE',\t\t\t$table_prefix . 'acl_roles');\ndefine('ACL_USERS_TABLE',\t\t\t$table_prefix . 'acl_users');\ndefine('ATTACHMENTS_TABLE',\t\t\t$table_prefix . 'attachments');\ndefine('BANLIST_TABLE',\t\t\t\t$table_prefix . 'banlist');\ndefine('BBCODES_TABLE',\t\t\t\t$table_prefix . 'bbcodes');\ndefine('BOOKMARKS_TABLE',\t\t\t$table_prefix . 'bookmarks');\ndefine('BOTS_TABLE',\t\t\t\t$table_prefix . 'bots');\ndefine('CONFIG_TABLE',\t\t\t\t$table_prefix . 'config');\ndefine('CONFIRM_TABLE',\t\t\t\t$table_prefix . 'confirm');\ndefine('DISALLOW_TABLE',\t\t\t$table_prefix . 'disallow');\ndefine('DRAFTS_TABLE',\t\t\t\t$table_prefix . 'drafts');\ndefine('EXTENSIONS_TABLE',\t\t\t$table_prefix . 'extensions');\ndefine('EXTENSION_GROUPS_TABLE',\t$table_prefix . 'extension_groups');\ndefine('FORUMS_TABLE',\t\t\t\t$table_prefix . 'forums');\ndefine('FORUMS_ACCESS_TABLE',\t\t$table_prefix . 'forums_access');\ndefine('FORUMS_TRACK_TABLE',\t\t$table_prefix . 'forums_track');\ndefine('FORUMS_WATCH_TABLE',\t\t$table_prefix . 'forums_watch');\ndefine('GROUPS_TABLE',\t\t\t\t$table_prefix . 'groups');\ndefine('ICONS_TABLE',\t\t\t\t$table_prefix . 'icons');\ndefine('LANG_TABLE',\t\t\t\t$table_prefix . 'lang');\ndefine('LOG_TABLE',\t\t\t\t\t$table_prefix . 'log');\ndefine('MODERATOR_CACHE_TABLE',\t\t$table_prefix . 'moderator_cache');\ndefine('MODULES_TABLE',\t\t\t\t$table_prefix . 'modules');\ndefine('POLL_OPTIONS_TABLE',\t\t$table_prefix . 'poll_options');\ndefine('POLL_VOTES_TABLE',\t\t\t$table_prefix . 'poll_votes');\ndefine('POSTS_TABLE',\t\t\t\t$table_prefix . 'posts');\ndefine('PRIVMSGS_TABLE',\t\t\t$table_prefix . 'privmsgs');\ndefine('PRIVMSGS_FOLDER_TABLE',\t\t$table_prefix . 'privmsgs_folder');\ndefine('PRIVMSGS_RULES_TABLE',\t\t$table_prefix . 'privmsgs_rules');\ndefine('PRIVMSGS_TO_TABLE',\t\t\t$table_prefix . 'privmsgs_to');\ndefine('PROFILE_FIELDS_TABLE',\t\t$table_prefix . 'profile_fields');\ndefine('PROFILE_FIELDS_DATA_TABLE',\t$table_prefix . 'profile_fields_data');\ndefine('PROFILE_FIELDS_LANG_TABLE',\t$table_prefix . 'profile_fields_lang');\ndefine('PROFILE_LANG_TABLE',\t\t$table_prefix . 'profile_lang');\ndefine('RANKS_TABLE',\t\t\t\t$table_prefix . 'ranks');\ndefine('REPORTS_TABLE',\t\t\t\t$table_prefix . 'reports');\ndefine('REPORTS_REASONS_TABLE',\t\t$table_prefix . 'reports_reasons');\ndefine('SEARCH_RESULTS_TABLE',\t\t$table_prefix . 'search_results');\ndefine('SEARCH_WORDLIST_TABLE',\t\t$table_prefix . 'search_wordlist');\ndefine('SEARCH_WORDMATCH_TABLE',\t$table_prefix . 'search_wordmatch');\ndefine('SESSIONS_TABLE',\t\t\t$table_prefix . 'sessions');\ndefine('SESSIONS_KEYS_TABLE',\t\t$table_prefix . 'sessions_keys');\ndefine('SITELIST_TABLE',\t\t\t$table_prefix . 'sitelist');\ndefine('SMILIES_TABLE',\t\t\t\t$table_prefix . 'smilies');\ndefine('STYLES_TABLE',\t\t\t\t$table_prefix . 'styles');\ndefine('STYLES_TEMPLATE_TABLE',\t\t$table_prefix . 'styles_template');\ndefine('STYLES_TEMPLATE_DATA_TABLE',$table_prefix . 'styles_template_data');\ndefine('STYLES_THEME_", 4096) = 4096
22452 14:44:04.540005 brk(0x240f000)    = 0x240f000
22452 14:44:04.542137 read(3, "TABLE',\t\t$table_prefix . 'styles_theme');\ndefine('STYLES_IMAGESET_TABLE',\t\t$table_prefix . 'styles_imageset');\ndefine('STYLES_IMAGESET_DATA_TABLE',$table_prefix . 'styles_imageset_data');\ndefine('TOPICS_TABLE',\t\t\t\t$table_prefix . 'topics');\ndefine('TOPICS_POSTED_TABLE',\t\t$table_prefix . 'topics_posted');\ndefine('TOPICS_TRACK_TABLE',\t\t$table_prefix . 'topics_track');\ndefine('TOPICS_WATCH_TABLE',\t\t$table_prefix . 'topics_watch');\ndefine('USER_GROUP_TABLE',\t\t\t$table_prefix . 'user_group');\ndefine('USERS_TABLE',\t\t\t\t$table_prefix . 'users');\ndefine('WARNINGS_TABLE',\t\t\t$table_prefix . 'warnings');\ndefine('WORDS_TABLE',\t\t\t\t$table_prefix . 'words');\ndefine('ZEBRA_TABLE',\t\t\t\t$table_prefix . 'zebra');\n\n// Additional tables\ndefine('DOMAINRBL_TABLE',\t\t\t$table_prefix . 'domainrbl');\ndefine('HTTPBL_TABLE',\t\t\t\t$table_prefix . 'httpbl');\ndefine('IPRBL_TABLE',\t\t\t\t$table_prefix . 'iprbl');\n\n// OneAll Social Login\ndefine('OASL_LOGIN_TOKEN_TABLE',    $table_prefix . 'oasl_login_token');\ndefine('OASL_IDENTITY_TABLE',       $table_prefix . 'oasl_identity');\ndefine('OASL_USER_TABLE',           $table_prefix . 'oasl_user');\n\ndefine('ADSENSE_TABLE',\t\t\t\t$table_prefix . 'adsense_ads');\n\n// Additional Sports for Sports Access Plans\n$ADDITIONAL_CUSTOM_SPORTS = array( \n\t10000 => array(\n\t\t'id' => 10000,\n\t\t'name' => 'NFL + NCAAF',\n\t\t'sport_image_url' => '',\n\t\t'applies_to' => array( 1, 3)), // Which sport IDs NFL and NCAAF are\n\t10001 => array(\n\t  'id' => 10001,\n\t\t'name' => 'NBA + NCAAB',\n\t\t'sport_image_url' => '',\n\t\t'applies_to' => array( 2, 4)),\n);\n\n?>\n", 8192) = 1547
22452 14:44:04.542903 read(3, "", 4096) = 0
22452 14:44:04.543146 read(3, "", 8192) = 0
22452 14:44:04.543291 close(3)          = 0
22452 14:44:04.543364 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.543829 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.543915 time(NULL)        = 1400874244
22452 14:44:04.543986 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.544106 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.544223 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.544341 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.544461 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.544587 lstat("/home2/fritz218/public_html/forum/includes/db", {st_dev=makedev(8, 33), st_ino=91759230, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.544712 lstat("/home2/fritz218/public_html/forum/includes/db/mysqli.php", {st_dev=makedev(8, 33), st_ino=91762368, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10337, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.544843 open("/home2/fritz218/public_html/forum/includes/db/mysqli.php", O_RDONLY) = 3
22452 14:44:04.544932 fstat(3, {st_dev=makedev(8, 33), st_ino=91762368, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10337, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.545047 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.545119 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.545193 fstat(3, {st_dev=makedev(8, 33), st_ino=91762368, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10337, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.545305 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.545385 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.545461 open("/home2/fritz218/public_html/forum/includes/db/mysqli.php", O_RDONLY) = 4
22452 14:44:04.545549 fstat(4, {st_dev=makedev(8, 33), st_ino=91762368, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10337, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.545674 mmap(NULL, 10337, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.545757 munmap(0x7f35927b8000, 10337) = 0
22452 14:44:04.545835 close(4)          = 0
22452 14:44:04.545908 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.545984 read(3, "<?php\n/**\n*\n* @package dbal\n* @version $Id: mysqli.php 8814 2008-09-04 12:01:47Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\ninclude_once($phpbb_root_path . 'includes/db/dbal.' . $phpEx);\n\n/**\n* MySQLi Database Abstraction Layer\n* mysqli-extension has to be compiled with:\n* MySQL 4.1+ or MySQL 5.0+\n* @package dbal\n*/\nclass dbal_mysqli extends dbal\n{\n\tvar $multi_insert = true;\n\n\t/**\n\t* Connect to server\n\t*/\n\tfunction sql_connect($sqlserver, $sqluser, $sqlpassword, $database, $port = false, $persistency = false , $new_link = false)\n\t{\n\t\t$this->persistency = $persistency;\n\t\t$this->user = $sqluser;\n\t\t$this->server = $sqlserver;\n\t\t$this->dbname = $database;\n\t\t$port = (!$port) ? NULL : $port;\n\n\t\t// Persistant connections not supported by the mysqli extension?\n\t\t$this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port);\n\n\t\tif ($this->db_connect_id && $this->dbname != '')\n\t\t{\n\t\t\t@mysqli_query($this->db_connect_id, \"SET NAMES 'utf8'\");\n\n\t\t\t// enforce strict mode on databases that support it\n\t\t\tif (version_compare($this->sql_server_info(true), '5.0.2', '>='))\n\t\t\t{\n\t\t\t\t$result = @mysqli_query($this->db_connect_id, 'SELECT @@session.sql_mode AS sql_mode');\n\t\t\t\t$row = @mysqli_fetch_assoc($result);\n\t\t\t\t@mysqli_free_result($result);\n\n\t\t\t\t$modes = array_map('trim', explode(',', $row['sql_mode']));\n\n\t\t\t\t// TRADITIONAL includes STRICT_ALL_TABLES and STRICT_TRANS_TABLES\n\t\t\t\tif (!in_array('TRADITIONAL', $modes))\n\t\t\t\t{\n\t\t\t\t\tif (!in_array('STRICT_ALL_TABLES', $modes))\n\t\t\t\t\t{\n\t\t\t\t\t\t$modes[] = 'STRICT_ALL_TABLES';\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!in_array('STRICT_TRANS_TABLES', $modes))\n\t\t\t\t\t{\n\t\t\t\t\t\t$modes[] = 'STRICT_TRANS_TABLES';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$mode = implode(',', $modes);\n\t\t\t\t@mysqli_query($this->db_connect_id, \"SET SESSION sql_mode='{$mode}'\");\n\t\t\t}\n\t\t\treturn $this->db_connect_id;\n\t\t}\n\n\t\treturn $this->sql_error('');\n\t}\n\n\t/**\n\t* Version information about used database\n\t* @param bool $raw if true, only return the fetched sql_server_version\n\t* @return string sql server version\n\t*/\n\tfunction sql_server_info($raw = false)\n\t{\n\t\tglobal $cache;\n\n\t\tif (empty($cache) || ($this->sql_server_version = $cache->get('mysqli_version')) === false)\n\t\t{\n\t\t\t$result = @mysqli_query($this->db_connect_id, 'SELECT VERSION() AS version');\n\t\t\t$row = @mysqli_fetch_assoc($result);\n\t\t\t@mysqli_free_result($result);\n\n\t\t\t$this->sql_server_version = $row['version'];\n\n\t\t\tif (!empty($cache))\n\t\t\t{\n\t\t\t\t$cache->put('mysqli_version', $this->sql_server_version);\n\t\t\t}\n\t\t}\n\n\t\treturn ($raw) ? $this->sql_server_version : 'MySQL(i) ' . $this->sql_server_version;\n\t}\n\n\t/**\n\t* SQL Transaction\n\t* @access private\n\t*/\n\tfunction _sql_transaction($status = 'begin')\n\t{\n\t\tswitch ($status)\n\t\t{\n\t\t\tcase 'begin':\n\t\t\t\treturn @mysqli_autocommit($this->db_connect_id, false);\n\t\t\tbreak;\n\n\t\t\tcase 'commit':\n\t\t\t\t$result = @mysqli_commit($this->db_connect_id);\n\t\t\t\t@mysqli_autocommit($this->db_connect_id, true);\n\t\t\t\treturn $result;\n\t\t\tbreak;\n\n\t\t\tcase 'rollback':\n\t\t\t\t$result = @mysqli_rollback($this->db_connect_id);\n\t\t\t\t@mysqli_autocommit($this->db_connect_id, true);\n\t\t\t\treturn $result;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Base query method\n\t*\n\t* @param\tstring\t$query\t\tContains the SQL query which shall be executed\n\t* @param\tint\t\t$cache_ttl\tEither 0 to avoid caching or the time in seconds which the result shall be kept in cache\n\t* @return\tmixed\t\t\t\tWhen casted to bool the returned value returns true on success and false on failure\n\t*\n\t* @access\tpublic\n\t*/\n\tfunction sql_query($query = '', $cache_ttl = 0)\n\t{\n\t\tif ($query != '')\n\t\t{\n\t\t\tglobal $cache;\n\n\t\t\t// EXPLAIN only in extra debug mode\n\t\t\tif (defined('DEBUG_EXTRA'))\n\t\t\t{\n\t\t\t\t$this->sql_report('start', $query);\n\t\t\t}\n\n\t\t\t$this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false;\n\t\t\t$this->sql_add_num_queries($this->query_result);\n\n\t\t\tif ($this->query_result === false)\n\t\t\t{\n\t\t\t\tif (($this->query_result = @mysqli_query($this->db_connect_id, ", 4096) = 4096
22452 14:44:04.546740 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.546814 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.546899 read(3, "$query)) === false)\n\t\t\t\t{\n\t\t\t\t\t$this->sql_error($query);\n\t\t\t\t}\n\n\t\t\t\tif (defined('DEBUG_EXTRA'))\n\t\t\t\t{\n\t\t\t\t\t$this->sql_report('stop', $query);\n\t\t\t\t}\n\n\t\t\t\tif ($cache_ttl && method_exists($cache, 'sql_save'))\n\t\t\t\t{\n\t\t\t\t\t$cache->sql_save($query, $this->query_result, $cache_ttl);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (defined('DEBUG_EXTRA'))\n\t\t\t{\n\t\t\t\t$this->sql_report('fromcache', $query);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $this->query_result;\n\t}\n\n\t/**\n\t* Build LIMIT query\n\t*/\n\tfunction _sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0)\n\t{\n\t\t$this->query_result = false;\n\n\t\t// if $total is set to 0 we do not want to limit the number of rows\n\t\tif ($total == 0)\n\t\t{\n\t\t\t// MySQL 4.1+ no longer supports -1 in limit queries\n\t\t\t$total = '18446744073709551615';\n\t\t}\n\n\t\t$query .= \"\\n LIMIT \" . ((!empty($offset)) ? $offset . ', ' . $total : $total);\n\n\t\treturn $this->sql_query($query, $cache_ttl);\n\t}\n\n\t/**\n\t* Return number of affected rows\n\t*/\n\tfunction sql_affectedrows()\n\t{\n\t\treturn ($this->db_connect_id) ? @mysqli_affected_rows($this->db_connect_id) : false;\n\t}\n\n\t/**\n\t* Fetch current row\n\t*/\n\tfunction sql_fetchrow($query_id = false)\n\t{\n\t\tglobal $cache;\n\n\t\tif ($query_id === false)\n\t\t{\n\t\t\t$query_id = $this->query_result;\n\t\t}\n\n\t\tif (!is_object($query_id) && isset($cache->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn $cache->sql_fetchrow($query_id);\n\t\t}\n\n\t\treturn ($query_id !== false) ? @mysqli_fetch_assoc($query_id) : false;\n\t}\n\n\t/**\n\t* Seek to given row number\n\t* rownum is zero-based\n\t*/\n\tfunction sql_rowseek($rownum, &$query_id)\n\t{\n\t\tglobal $cache;\n\n\t\tif ($query_id === false)\n\t\t{\n\t\t\t$query_id = $this->query_result;\n\t\t}\n\n\t\tif (!is_object($query_id) && isset($cache->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn $cache->sql_rowseek($rownum, $query_id);\n\t\t}\n\n\t\treturn ($query_id !== false) ? @mysqli_data_seek($query_id, $rownum) : false;\n\t}\n\n\t/**\n\t* Get last inserted id after insert statement\n\t*/\n\tfunction sql_nextid()\n\t{\n\t\treturn ($this->db_connect_id) ? @mysqli_insert_id($this->db_connect_id) : false;\n\t}\n\n\t/**\n\t* Free sql result\n\t*/\n\tfunction sql_freeresult($query_id = false)\n\t{\n\t\tglobal $cache;\n\n\t\tif ($query_id === false)\n\t\t{\n\t\t\t$query_id = $this->query_result;\n\t\t}\n\n\t\tif (!is_object($query_id) && isset($cache->sql_rowset[$query_id]))\n\t\t{\n\t\t\treturn $cache->sql_freeresult($query_id);\n\t\t}\n\n\t\treturn @mysqli_free_result($query_id);\n\t}\n\n\t/**\n\t* Escape string used in sql query\n\t*/\n\tfunction sql_escape($msg)\n\t{\n\t\treturn @mysqli_real_escape_string($this->db_connect_id, $msg);\n\t}\n\n\t/**\n\t* Build LIKE expression\n\t* @access private\n\t*/\n\tfunction _sql_like_expression($expression)\n\t{\n\t\treturn $expression;\n\t}\n\n\t/**\n\t* Build db-specific query data\n\t* @access private\n\t*/\n\tfunction _sql_custom_build($stage, $data)\n\t{\n\t\tswitch ($stage)\n\t\t{\n\t\t\tcase 'FROM':\n\t\t\t\t$data = '(' . $data . ')';\n\t\t\tbreak;\n\t\t}\n\n\t\treturn $data;\n\t}\n\n\t/**\n\t* return sql error array\n\t* @access private\n\t*/\n\tfunction _sql_error()\n\t{\n\t\tif (!$this->db_connect_id)\n\t\t{\n\t\t\treturn array(\n\t\t\t\t'message'\t=> @mysqli_connect_error(),\n\t\t\t\t'code'\t\t=> @mysqli_connect_errno()\n\t\t\t);\n\t\t}\n\n\t\treturn array(\n\t\t\t'message'\t=> @mysqli_error($this->db_connect_id),\n\t\t\t'code'\t\t=> @mysqli_errno($this->db_connect_id)\n\t\t);\n\t}\n\n\t/**\n\t* Close sql connection\n\t* @access private\n\t*/\n\tfunction _sql_close()\n\t{\n\t\treturn @mysqli_close($this->db_connect_id);\n\t}\n\n\t/**\n\t* Build db-specific report\n\t* @access private\n\t*/\n\tfunction _sql_report($mode, $query = '')\n\t{\n\t\tstatic $test_prof;\n\n\t\t// current detection method, might just switch to see the existance of INFORMATION_SCHEMA.PROFILING\n\t\tif ($test_prof === null)\n\t\t{\n\t\t\t$test_prof = false;\n\t\t\tif (strpos(mysqli_get_server_info($this->db_connect_id), 'community') !== false)\n\t\t\t{\n\t\t\t\t$ver = mysqli_get_server_version($this->db_connect_id);\n\t\t\t\tif ($ver >= 50037 && $ver < 50100)\n\t\t\t\t{\n\t\t\t\t\t$test_prof = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tswitch ($mode)\n\t\t{\n\t\t\tcase 'start':\n\n\t\t\t\t$explain_query = $query;\n\t\t\t\tif (preg_match('/UPDATE ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m))\n\t\t\t\t{\n\t\t\t\t\t$explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2];\n\t\t\t\t}\n\t\t\t\telse if (preg_match('/DELETE FROM ([a-z0-9_]+).*?WHERE", 4096) = 4096
22452 14:44:04.549034 read(3, "(.*)/s', $query, $m))\n\t\t\t\t{\n\t\t\t\t\t$explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2];\n\t\t\t\t}\n\n\t\t\t\tif (preg_match('/^SELECT/', $explain_query))\n\t\t\t\t{\n\t\t\t\t\t$html_table = false;\n\n\t\t\t\t\t// begin profiling\n\t\t\t\t\tif ($test_prof)\n\t\t\t\t\t{\n\t\t\t\t\t\t@mysqli_query($this->db_connect_id, 'SET profiling = 1;');\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($result = @mysqli_query($this->db_connect_id, \"EXPLAIN $explain_query\"))\n\t\t\t\t\t{\n\t\t\t\t\t\twhile ($row = @mysqli_fetch_assoc($result))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$html_table = $this->sql_report('add_select_row', $query, $html_table, $row);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t@mysqli_free_result($result);\n\n\t\t\t\t\tif ($html_table)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->html_hold .= '</table>';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($test_prof)\n\t\t\t\t\t{\n\t\t\t\t\t\t$html_table = false;\n\n\t\t\t\t\t\t// get the last profile\n\t\t\t\t\t\tif ($result = @mysqli_query($this->db_connect_id, 'SHOW PROFILE ALL;'))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this->html_hold .= '<br />';\n\t\t\t\t\t\t\twhile ($row = @mysqli_fetch_assoc($result))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// make <unknown> HTML safe\n\t\t\t\t\t\t\t\tif (!empty($row['Source_function']))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$row['Source_function'] = str_replace(array('<', '>'), array('&lt;', '&gt;'), $row['Source_function']);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// remove unsupported features\n\t\t\t\t\t\t\t\tforeach ($row as $key => $val)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif ($val === null)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tunset($row[$key]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$html_table = $this->sql_report('add_select_row', $query, $html_table, $row);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t@mysqli_free_result($result);\n\n\t\t\t\t\t\tif ($html_table)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$this->html_hold .= '</table>';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@mysqli_query($this->db_connect_id, 'SET profiling = 0;');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\tbreak;\n\n\t\t\tcase 'fromcache':\n\t\t\t\t$endtime = explode(' ', microtime());\n\t\t\t\t$endtime = $endtime[0] + $endtime[1];\n\n\t\t\t\t$result = @mysqli_query($this->db_connect_id, $query);\n\t\t\t\twhile ($void = @mysqli_fetch_assoc($result))\n\t\t\t\t{\n\t\t\t\t\t// Take the time spent on parsing rows into account\n\t\t\t\t}\n\t\t\t\t@mysqli_free_result($result);\n\n\t\t\t\t$splittime = explode(' ', microtime());\n\t\t\t\t$splittime = $splittime[0] + $splittime[1];\n\n\t\t\t\t$this->sql_report('record_fromcache', $query, $endtime, $splittime);\n\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\n?>", 8192) = 2145
22452 14:44:04.549571 read(3, "", 4096) = 0
22452 14:44:04.549732 brk(0x2451000)    = 0x2451000
22452 14:44:04.550180 read(3, "", 8192) = 0
22452 14:44:04.550319 close(3)          = 0
22452 14:44:04.550393 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.550484 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.550589 time(NULL)        = 1400874244
22452 14:44:04.550659 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.550778 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.550898 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.551025 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.551147 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.551272 lstat("/home2/fritz218/public_html/forum/includes/db", {st_dev=makedev(8, 33), st_ino=91759230, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.551395 lstat("/home2/fritz218/public_html/forum/includes/db/dbal.php", {st_dev=makedev(8, 33), st_ino=91762361, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=48, st_size=22876, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.551522 open("/home2/fritz218/public_html/forum/includes/db/dbal.php", O_RDONLY) = 3
22452 14:44:04.551613 fstat(3, {st_dev=makedev(8, 33), st_ino=91762361, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=48, st_size=22876, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.551729 open("/home2/fritz218/public_html/forum/includes/db/dbal.php", O_RDONLY) = 4
22452 14:44:04.551821 fstat(4, {st_dev=makedev(8, 33), st_ino=91762361, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=48, st_size=22876, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.551934 mmap(NULL, 22876, PROT_READ, MAP_SHARED, 4, 0) = 0x7f35927b8000
22452 14:44:04.552019 munmap(0x7f35927b8000, 22876) = 0
22452 14:44:04.552092 close(4)          = 0
22452 14:44:04.552166 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.552242 fstat(3, {st_dev=makedev(8, 33), st_ino=91762361, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=48, st_size=22876, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.552358 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.552448 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.552519 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.552595 read(3, "<?php\n/**\n*\n* @package dbal\n* @version $Id: dbal.php 10041 2009-08-21 21:47:19Z terrafrost $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Database Abstraction Layer\n* @package dbal\n*/\nclass dbal\n{\n\tvar $db_connect_id;\n\tvar $query_result;\n\tvar $return_on_error = false;\n\tvar $transaction = false;\n\tvar $sql_time = 0;\n\tvar $num_queries = array();\n\tvar $open_queries = array();\n\n\tvar $curtime = 0;\n\tvar $query_hold = '';\n\tvar $html_hold = '';\n\tvar $sql_report = '';\n\n\tvar $persistency = false;\n\tvar $user = '';\n\tvar $server = '';\n\tvar $dbname = '';\n\n\t// Set to true if error triggered\n\tvar $sql_error_triggered = false;\n\n\t// Holding the last sql query on sql error\n\tvar $sql_error_sql = '';\n\t// Holding the error information - only populated if sql_error_triggered is set\n\tvar $sql_error_returned = array();\n\n\t// Holding transaction count\n\tvar $transactions = 0;\n\n\t// Supports multi inserts?\n\tvar $multi_insert = false;\n\n\t/**\n\t* Current sql layer\n\t*/\n\tvar $sql_layer = '';\n\n\t/**\n\t* Wildcards for matching any (%) or exactly one (_) character within LIKE expressions\n\t*/\n\tvar $any_char;\n\tvar $one_char;\n\n\t/**\n\t* Exact version of the DBAL, directly queried\n\t*/\n\tvar $sql_server_version = false;\n\n\t/**\n\t* Constructor\n\t*/\n\tfunction dbal()\n\t{\n\t\t$this->num_queries = array(\n\t\t\t'cached'\t\t=> 0,\n\t\t\t'normal'\t\t=> 0,\n\t\t\t'total'\t\t\t=> 0,\n\t\t);\n\n\t\t// Fill default sql layer based on the class being called.\n\t\t// This can be changed by the specified layer itself later if needed.\n\t\t$this->sql_layer = substr(get_class($this), 5);\n\n\t\t// Do not change this please! This variable is used to easy the use of it - and is hardcoded.\n\t\t$this->any_char = chr(0) . '%';\n\t\t$this->one_char = chr(0) . '_';\n\t}\n\n\t/**\n\t* return on error or display error message\n\t*/\n\tfunction sql_return_on_error($fail = false)\n\t{\n\t\t$this->sql_error_triggered = false;\n\t\t$this->sql_error_sql = '';\n\n\t\t$this->return_on_error = $fail;\n\t}\n\n\t/**\n\t* Return number of sql queries and cached sql queries used\n\t*/\n\tfunction sql_num_queries($cached = false)\n\t{\n\t\treturn ($cached) ? $this->num_queries['cached'] : $this->num_queries['normal'];\n\t}\n\n\t/**\n\t* Add to query count\n\t*/\n\tfunction sql_add_num_queries($cached = false)\n\t{\n\t\t$this->num_queries['cached'] += ($cached !== false) ? 1 : 0;\n\t\t$this->num_queries['normal'] += ($cached !== false) ? 0 : 1;\n\t\t$this->num_queries['total'] += 1;\n\t}\n\n\t/**\n\t* DBAL garbage collection, close sql connection\n\t*/\n\tfunction sql_close()\n\t{\n\t\tif (!$this->db_connect_id)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif ($this->transaction)\n\t\t{\n\t\t\tdo\n\t\t\t{\n\t\t\t\t$this->sql_transaction('commit');\n\t\t\t}\n\t\t\twhile ($this->transaction);\n\t\t}\n\n\t\tforeach ($this->open_queries as $query_id)\n\t\t{\n\t\t\t$this->sql_freeresult($query_id);\n\t\t}\n\n\t\t// Connection closed correctly. Set db_connect_id to false to prevent errors\n\t\tif ($result = $this->_sql_close())\n\t\t{\n\t\t\t$this->db_connect_id = false;\n\t\t}\n\n\t\treturn $result;\n\t}\n\n\t/**\n\t* Build LIMIT query\n\t* Doing some validation here.\n\t*/\n\tfunction sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0)\n\t{\n\t\tif (empty($query))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t// Never use a negative total or offset\n\t\t$total = ($total < 0) ? 0 : $total;\n\t\t$offset = ($offset < 0) ? 0 : $offset;\n\n\t\treturn $this->_sql_query_limit($query, $total, $offset, $cache_ttl);\n\t}\n\n\t/**\n\t* Fetch all rows\n\t*/\n\tfunction sql_fetchrowset($query_id = false)\n\t{\n\t\tif ($query_id === false)\n\t\t{\n\t\t\t$query_id = $this->query_result;\n\t\t}\n\n\t\tif ($query_id !== false)\n\t\t{\n\t\t\t$result = array();\n\t\t\twhile ($row = $this->sql_fetchrow($query_id))\n\t\t\t{\n\t\t\t\t$result[] = $row;\n\t\t\t}\n\n\t\t\treturn $result;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Fetch field\n\t* if rownum is false, the current row is used, else it is pointing to the row (zero-based)\n\t*/\n\tfunction sql_fetchfield($field, $rownum = false, $query_id = false)\n\t{\n\t\tglobal $cache;\n\n\t\tif ($query_id === false)\n\t\t{\n\t\t\t$query_id = $this->query_result;\n\t\t}\n\n\t\tif ($query_id !== false)\n\t\t{\n\t\t\tif ($rownum !== false)\n\t\t\t{\n\t\t\t\t$this->sql_rowseek($rownum, $query_id);\n\t\t\t}\n\n\t\t\ti", 4096) = 4096
22452 14:44:04.553461 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.553556 read(3, "f (!is_object($query_id) && isset($cache->sql_rowset[$query_id]))\n\t\t\t{\n\t\t\t\treturn $cache->sql_fetchfield($query_id, $field);\n\t\t\t}\n\n\t\t\t$row = $this->sql_fetchrow($query_id);\n\t\t\treturn (isset($row[$field])) ? $row[$field] : false;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Correctly adjust LIKE expression for special characters\n\t* Some DBMS are handling them in a different way\n\t*\n\t* @param string $expression The expression to use. Every wildcard is escaped, except $this->any_char and $this->one_char\n\t* @return string LIKE expression including the keyword!\n\t*/\n\tfunction sql_like_expression($expression)\n\t{\n\t\t$expression = utf8_str_replace(array('_', '%'), array(\"\\_\", \"\\%\"), $expression);\n\t\t$expression = utf8_str_replace(array(chr(0) . \"\\_\", chr(0) . \"\\%\"), array('_', '%'), $expression);\n\n\t\treturn $this->_sql_like_expression('LIKE \\'' . $this->sql_escape($expression) . '\\'');\n\t}\n\n\t/**\n\t* SQL Transaction\n\t* @access private\n\t*/\n\tfunction sql_transaction($status = 'begin')\n\t{\n\t\tswitch ($status)\n\t\t{\n\t\t\tcase 'begin':\n\t\t\t\t// If we are within a transaction we will not open another one, but enclose the current one to not loose data (prevening auto commit)\n\t\t\t\tif ($this->transaction)\n\t\t\t\t{\n\t\t\t\t\t$this->transactions++;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t$result = $this->_sql_transaction('begin');\n\n\t\t\t\tif (!$result)\n\t\t\t\t{\n\t\t\t\t\t$this->sql_error();\n\t\t\t\t}\n\n\t\t\t\t$this->transaction = true;\n\t\t\tbreak;\n\n\t\t\tcase 'commit':\n\t\t\t\t// If there was a previously opened transaction we do not commit yet... but count back the number of inner transactions\n\t\t\t\tif ($this->transaction && $this->transactions)\n\t\t\t\t{\n\t\t\t\t\t$this->transactions--;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\t// Check if there is a transaction (no transaction can happen if there was an error, with a combined rollback and error returning enabled)\n\t\t\t\t// This implies we have transaction always set for autocommit db's\n\t\t\t\tif (!$this->transaction)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t$result = $this->_sql_transaction('commit');\n\n\t\t\t\tif (!$result)\n\t\t\t\t{\n\t\t\t\t\t$this->sql_error();\n\t\t\t\t}\n\n\t\t\t\t$this->transaction = false;\n\t\t\t\t$this->transactions = 0;\n\t\t\tbreak;\n\n\t\t\tcase 'rollback':\n\t\t\t\t$result = $this->_sql_transaction('rollback');\n\t\t\t\t$this->transaction = false;\n\t\t\t\t$this->transactions = 0;\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$result = $this->_sql_transaction($status);\n\t\t\tbreak;\n\t\t}\n\n\t\treturn $result;\n\t}\n\n\t/**\n\t* Build sql statement from array for insert/update/select statements\n\t*\n\t* Idea for this from Ikonboard\n\t* Possible query values: INSERT, INSERT_SELECT, UPDATE, SELECT\n\t*\n\t*/\n\tfunction sql_build_array($query, $assoc_ary = false)\n\t{\n\t\tif (!is_array($assoc_ary))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t$fields = $values = array();\n\n\t\tif ($query == 'INSERT' || $query == 'INSERT_SELECT')\n\t\t{\n\t\t\tforeach ($assoc_ary as $key => $var)\n\t\t\t{\n\t\t\t\t$fields[] = $key;\n\n\t\t\t\tif (is_array($var) && is_string($var[0]))\n\t\t\t\t{\n\t\t\t\t\t// This is used for INSERT_SELECT(s)\n\t\t\t\t\t$values[] = $var[0];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$values[] = $this->_sql_validate_value($var);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$query = ($query == 'INSERT') ? ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')' : ' (' . implode(', ', $fields) . ') SELECT ' . implode(', ', $values) . ' ';\n\t\t}\n\t\telse if ($query == 'MULTI_INSERT')\n\t\t{\n\t\t\ttrigger_error('The MULTI_INSERT query value is no longer supported. Please use sql_multi_insert() instead.', E_USER_ERROR);\n\t\t}\n\t\telse if ($query == 'UPDATE' || $query == 'SELECT')\n\t\t{\n\t\t\t$values = array();\n\t\t\tforeach ($assoc_ary as $key => $var)\n\t\t\t{\n\t\t\t\t$values[] = \"$key = \" . $this->_sql_validate_value($var);\n\t\t\t}\n\t\t\t$query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values);\n\t\t}\n\n\t\treturn $query;\n\t}\n\n\t/**\n\t* Build IN or NOT IN sql comparison string, uses <> or = on single element\n\t* arrays to improve comparison speed\n\t*\n\t* @access public\n\t* @param\tstring\t$field\t\t\t\tname of the sql column that shall be compared\n\t* @param\tarray\t$array\t\t\t\tarray of values that are allowed (IN) or not allowed (NOT IN)\n\t* @param\tbool\t$negate\t\t\t\ttrue for NOT IN (), false for IN () (default)\n\t* @param\tbool\t$allow_empty_set\tIf true, allow $array to be empty, this function will ", 4096) = 4096
22452 14:44:04.555442 read(3, "return 1=1 or 1=0 then. Default to false.\n\t*/\n\tfunction sql_in_set($field, $array, $negate = false, $allow_empty_set = false)\n\t{\n\t\tif (!sizeof($array))\n\t\t{\n\t\t\tif (!$allow_empty_set)\n\t\t\t{\n\t\t\t\t// Print the backtrace to help identifying the location of the problematic code\n\t\t\t\t$this->sql_error('No values specified for SQL IN comparison');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// NOT IN () actually means everything so use a tautology\n\t\t\t\tif ($negate)\n\t\t\t\t{\n\t\t\t\t\treturn '1=1';\n\t\t\t\t}\n\t\t\t\t// IN () actually means nothing so use a contradiction\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn '1=0';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!is_array($array))\n\t\t{\n\t\t\t$array = array($array);\n\t\t}\n\n\t\tif (sizeof($array) == 1)\n\t\t{\n\t\t\t@reset($array);\n\t\t\t$var = current($array);\n\n\t\t\treturn $field . ($negate ? ' <> ' : ' = ') . $this->_sql_validate_value($var);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn $field . ($negate ? ' NOT IN ' : ' IN ') . '(' . implode(', ', array_map(array($this, '_sql_validate_value'), $array)) . ')';\n\t\t}\n\t}\n\n\t/**\n\t* Run binary AND operator on DB column.\n\t* Results in sql statement: \"{$column_name} & (1 << {$bit}) {$compare}\"\n\t*\n\t* @param string $column_name The column name to use\n\t* @param int $bit The value to use for the AND operator, will be converted to (1 << $bit). Is used by options, using the number schema... 0, 1, 2...29\n\t* @param string $compare Any custom SQL code after the check (for example \"= 0\")\n\t*/\n\tfunction sql_bit_and($column_name, $bit, $compare = '')\n\t{\n\t\tif (method_exists($this, '_sql_bit_and'))\n\t\t{\n\t\t\treturn $this->_sql_bit_and($column_name, $bit, $compare);\n\t\t}\n\n\t\treturn $column_name . ' & ' . (1 << $bit) . (($compare) ? ' ' . $compare : '');\n\t}\n\n\t/**\n\t* Run more than one insert statement.\n\t*\n\t* @param string $table table name to run the statements on\n\t* @param array &$sql_ary multi-dimensional array holding the statement data.\n\t*\n\t* @return bool false if no statements were executed.\n\t* @access public\n\t*/\n\tfunction sql_multi_insert($table, &$sql_ary)\n\t{\n\t\tif (!sizeof($sql_ary))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif ($this->multi_insert)\n\t\t{\n\t\t\t$ary = array();\n\t\t\tforeach ($sql_ary as $id => $_sql_ary)\n\t\t\t{\n\t\t\t\t// If by accident the sql array is only one-dimensional we build a normal insert statement\n\t\t\t\tif (!is_array($_sql_ary))\n\t\t\t\t{\n\t\t\t\t\treturn $this->sql_query('INSERT INTO ' . $table . ' ' . $this->sql_build_array('INSERT', $sql_ary));\n\t\t\t\t}\n\n\t\t\t\t$values = array();\n\t\t\t\tforeach ($_sql_ary as $key => $var)\n\t\t\t\t{\n\t\t\t\t\t$values[] = $this->_sql_validate_value($var);\n\t\t\t\t}\n\t\t\t\t$ary[] = '(' . implode(', ', $values) . ')';\n\t\t\t}\n\n\t\t\treturn $this->sql_query('INSERT INTO ' . $table . ' ' . ' (' . implode(', ', array_keys($sql_ary[0])) . ') VALUES ' . implode(', ', $ary));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tforeach ($sql_ary as $ary)\n\t\t\t{\n\t\t\t\tif (!is_array($ary))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t$result = $this->sql_query('INSERT INTO ' . $table . ' ' . $this->sql_build_array('INSERT', $ary));\n\n\t\t\t\tif (!$result)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t* Function for validating values\n\t* @access private\n\t*/\n\tfunction _sql_validate_value($var)\n\t{\n\t\tif (is_null($var))\n\t\t{\n\t\t\treturn 'NULL';\n\t\t}\n\t\telse if (is_string($var))\n\t\t{\n\t\t\treturn \"'\" . $this->sql_escape($var) . \"'\";\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn (is_bool($var)) ? intval($var) : $var;\n\t\t}\n\t}\n\n\t/**\n\t* Build sql statement from array for select and select distinct statements\n\t*\n\t* Possible query values: SELECT, SELECT_DISTINCT\n\t*/\n\tfunction sql_build_query($query, $array)\n\t{\n\t\t$sql = '';\n\t\tswitch ($query)\n\t\t{\n\t\t\tcase 'SELECT':\n\t\t\tcase 'SELECT_DISTINCT';\n\n\t\t\t\t$sql = str_replace('_', ' ', $query) . ' ' . $array['SELECT'] . ' FROM ';\n\n\t\t\t\t// Build table array. We also build an alias array for later checks.\n\t\t\t\t$table_array = $aliases = array();\n\t\t\t\t$used_multi_alias = false;\n\n\t\t\t\tforeach ($array['FROM'] as $table_name => $alias)\n\t\t\t\t{\n\t\t\t\t\tif (is_array($alias))\n\t\t\t\t\t{\n\t\t\t\t\t\t$used_multi_alias = true;\n\n\t\t\t\t\t\tforeach ($alias as $multi_alias)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$table_array[] = $table_name . ' ' . $multi_alias;\n\t\t\t\t\t\t\t$aliases[] = $multi_alias;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$table_array[] = $table_name . ' ' . $alias;\n\t\t\t\t\t\t$aliases[] = $alias;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// We run the following code to determine if we need to re-order the table array. ;)\n\t\t\t\t// The reason for this is that for multi-aliased tables (two equal tables) in the FROM statement the last table need to match the first comparison.\n\t\t\t\t// DBMS who rely on this: Oracle, PostgreSQL and MSSQL. For all other DBMS it makes absolutely no difference in which order the table is.\n\t\t\t\tif (!empty($array['LEFT_JOIN']) && sizeof($array['FROM']) > 1 && $used_multi_alias !== false)\n\t\t\t\t{\n\t\t\t\t\t// Take first LEFT JOIN\n\t\t\t\t\t$join = current($array['LEFT_JOIN']);\n\n\t\t\t\t\t// Determine the table used there (even if there are more than one used, we only want to have one\n\t\t\t\t\tpreg_match('/(' . implode('|', $aliases) . ')\\.[^\\s]+/U', str_replace(array('(', ')', 'AND', 'OR', ' '), '', $join['ON']), $matches);\n\n\t\t\t\t\t// If there is a first join match, we need to make sure the table order is correct\n\t\t\t\t\tif (!empty($matches[1]))\n\t\t\t\t\t{\n\t\t\t\t\t\t$first_join_match = trim($matches[1]);\n\t\t\t\t\t\t$table_array = $last = array();\n\n\t\t\t\t\t\tforeach ($array['FROM'] as $table_name => $alias)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (is_array($alias))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tforeach ($alias as $multi_alias)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t($multi_alias === $first_join_match) ? $last[] = $table_name . ' ' . $multi_alias : $table_array[] = $table_name . ' ' . $multi_alias;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t($alias === $first_join_match) ? $last[] = $table_name . ' ' . $alias : $table_array[] = $table_name . ' ' . $alias;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$table_array = array_merge($table_array, $last);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$sql .= $this->_sql_custom_build('FROM', implode(', ', $table_array));\n\n\t\t\t\tif (!empty($array['LEFT_JOIN']))\n\t\t\t\t{\n\t\t\t\t\tforeach ($array['LEFT_JOIN'] as $join)\n\t\t\t\t\t{\n\t\t\t\t\t\t$sql .= ' LEFT JOIN ' . key($join['FROM']) . ' ' . current($join['FROM']) . ' ON (' . $join['ON'] . ')';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!empty($array['WHERE']))\n\t\t\t\t{\n\t\t\t\t\t$sql .= ' WHERE ' . $this->_sql_custom_build('WHERE', $array['WHERE']);\n\t\t\t\t}\n\n\t\t\t\tif (!empty($array['GROUP_BY']))\n\t\t\t\t{\n\t\t\t\t\t$sql .= ' GROUP BY ' . $array['GROUP_BY'];\n\t\t\t\t}\n\n\t\t\t\tif (!empty($array['ORDER_BY']))\n\t\t\t\t{\n\t\t\t\t\t$sql .= ' ORDER BY ' . $array['ORDER_BY'];\n\t\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\treturn $sql;\n\t}\n\n\t/**\n\t* display sql error page\n\t*/\n\tfunction sql_error($sql = '')\n\t{\n\t\tglobal $auth, $user, $config;\n\n\t\t// Set var to retrieve errored status\n\t\t$this->sql_error_triggered = true;\n\t\t$this->sql_error_sql = $sql;\n\n\t\t$this->sql_error_returned = $this->_sql_error();\n\n\t\tif (!$this->return_on_error)\n\t\t{\n\t\t\t$message = 'SQL ERROR [ ' . $this->sql_layer . ' ]<br /><br />' . $this->sql_error_returned['message'] . ' [' . $this->sql_error_returned['code'] . ']';\n\n\t\t\t// Show complete SQL error and path to administrators only\n\t\t\t// Additionally show complete error on installation or if extended debug mode is enabled\n\t\t\t// The DEBUG_EXTRA constant is for development only!\n\t\t\tif ((isset($auth) && $auth->acl_get('a_')) || defined('IN_INSTALL') || defined('DEBUG_EXTRA'))\n\t\t\t{\n\t\t\t\t// Print out a nice backtrace...\n\t\t\t\t$backtrace = get_backtrace();\n\n\t\t\t\t$message .= ($sql) ? '<br /><br />SQL<br /><br />' . htmlspecialchars($sql) : '';\n\t\t\t\t$message .= ($backtrace) ? '<br /><br />BACKTRACE<br />' . $backtrace : '';\n\t\t\t\t$message .= '<br />';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// If error occurs in initiating the session we need to use a pre-defined language string\n\t\t\t\t// This could happen if the connection could not be established for example (then we are not able to grab the default language)\n\t\t\t\tif (!isset($user->lang['SQL_ERROR_OCCURRED']))\n\t\t\t\t{\n\t\t\t\t\t$message .= '<br /><br />An sql error occurred while fetching this page. Please contact an administrator if this problem persists.';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (!empty($config['board_contact']))\n\t\t\t\t\t{\n\t\t\t\t\t\t$message .= '<br /><br />' . sprintf($user->lang['SQL_ERROR_OCCURRED'], '<a href=\"mailto:' . htmlspecialchars($config['board_contact']) . '\">', '</a>');\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t$message .= '<br /><br />' . sp"..., 8192) = 8192
22452 14:44:04.558568 read(3, "\n\t\t\t\t$this->sql_transaction('rollback');\n\t\t\t}\n\n\t\t\tif (strlen($message) > 1024)\n\t\t\t{\n\t\t\t\t// We need to define $msg_long_text here to circumvent text stripping.\n\t\t\t\tglobal $msg_long_text;\n\t\t\t\t$msg_long_text = $message;\n\n\t\t\t\ttrigger_error(false, E_USER_ERROR);\n\t\t\t}\n\n\t\t\ttrigger_error($message, E_USER_ERROR);\n\t\t}\n\n\t\tif ($this->transaction)\n\t\t{\n\t\t\t$this->sql_transaction('rollback');\n\t\t}\n\n\t\treturn $this->sql_error_returned;\n\t}\n\n\t/**\n\t* Explain queries\n\t*/\n\tfunction sql_report($mode, $query = '')\n\t{\n\t\tglobal $cache, $starttime, $phpbb_root_path, $user;\n\n\t\tif (empty($_REQUEST['explain']))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!$query && $this->query_hold != '')\n\t\t{\n\t\t\t$query = $this->query_hold;\n\t\t}\n\n\t\tswitch ($mode)\n\t\t{\n\t\t\tcase 'display':\n\t\t\t\tif (!empty($cache))\n\t\t\t\t{\n\t\t\t\t\t$cache->unload();\n\t\t\t\t}\n\t\t\t\t$this->sql_close();\n\n\t\t\t\t$mtime = explode(' ', microtime());\n\t\t\t\t$totaltime = $mtime[0] + $mtime[1] - $starttime;\n\n\t\t\t\techo '<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\t\t\t\t\t<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\">\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\n\t\t\t\t\t\t<meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n\t\t\t\t\t\t<meta http-equiv=\"imagetoolbar\" content=\"no\" />\n\t\t\t\t\t\t<title>SQL Report</title>\n\t\t\t\t\t\t<link href=\"' . $phpbb_root_path . 'adm/style/admin.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\n\t\t\t\t\t<div id=\"wrap\">\n\t\t\t\t\t\t<div id=\"page-header\">\n\t\t\t\t\t\t\t<a href=\"' . build_url('explain') . '\">Return to previous page</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div id=\"page-body\">\n\t\t\t\t\t\t\t<div id=\"acp\">\n\t\t\t\t\t\t\t<div class=\"panel\">\n\t\t\t\t\t\t\t\t<span class=\"corners-top\"><span></span></span>\n\t\t\t\t\t\t\t\t<div id=\"content\">\n\t\t\t\t\t\t\t\t\t<h1>SQL Report</h1>\n\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t<p><b>Page generated in ' . round($totaltime, 4) . \" seconds with {$this->num_queries['normal']} queries\" . (($this->num_queries['cached']) ? \" + {$this->num_queries['cached']} \" . (($this->num_queries['cached'] == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '</b></p>\n\n\t\t\t\t\t\t\t\t\t<p>Time spent on ' . $this->sql_layer . ' queries: <b>' . round($this->sql_time, 5) . 's</b> | Time spent on PHP: <b>' . round($totaltime - $this->sql_time, 5) . 's</b></p>\n\n\t\t\t\t\t\t\t\t\t<br /><br />\n\t\t\t\t\t\t\t\t\t' . $this->sql_report . '\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<span class=\"corners-bottom\"><span></span></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div id=\"page-footer\">\n\t\t\t\t\t\t\tPowered by phpBB &copy; 2000, 2002, 2005, 2007 <a href=\"http://www.phpbb.com/\">phpBB Group</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\n\n\t\t\t\t\t</body>\n\t\t\t\t\t</html>';\n\n\t\t\t\texit_handler();\n\n\t\t\tbreak;\n\n\t\t\tcase 'stop':\n\t\t\t\t$endtime = explode(' ', microtime());\n\t\t\t\t$endtime = $endtime[0] + $endtime[1];\n\n\t\t\t\t$this->sql_report .= '\n\n\t\t\t\t\t<table cellspacing=\"1\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Query #' . $this->num_queries['total'] . '</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"row3\"><textarea style=\"font-family:\\'Courier New\\',monospace;width:99%\" rows=\"5\" cols=\"10\">' . preg_replace('/\\t(AND|OR)(\\W)/', \"\\$1\\$2\", htmlspecialchars(preg_replace('/[\\s]*[\\n\\r\\t]+[\\n\\r\\s\\t]*/', \"\\n\", $query))) . '</textarea></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\n\t\t\t\t\t' . $this->html_hold . '\n\n\t\t\t\t\t<p style=\"text-align: center;\">\n\t\t\t\t';\n\n\t\t\t\tif ($this->query_result)\n\t\t\t\t{\n\t\t\t\t\tif (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->sql_report .= 'Affected rows: <b>' . $this->sql_affectedrows($this->query_result) . '</b> | ';\n\t\t\t\t\t}\n\t\t\t\t\t$this->sql_report .= 'Before: ' . sprintf('%.5f', $this->curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: <b>' . sprintf('%.5f', $endtime - $this->curtime) . 's</b>';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$error = $this->sql_error();\n\t\t\t\t\t$this->sql_report .= '<b style=\"color: red\">FAILED</b> - ' . $this->sql_layer . ' Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']);\n\t\t\t\t}\n\n\t\t\t\t$this->sql_report .= '</p><br /><br />';\n\n\t\t\t\t$this->sql_time += $endtime - $this->curtime;\n\t\t\tbreak;\n\n\t\t\tcase 'start':\n\t\t\t\t$this->query_hold = $query;\n\t\t\t\t$this->html_hold = '';\n\n\t\t\t\t$this->_sql_report($mode, $query);\n\n\t\t\t\t$this->curtime = explode(' ', microtime());\n\t\t\t\t$this->curtime = $this->curtime[0] + $this->curtime[1];\n\n\t\t\tbreak;\n\n\t\t\tcase 'add_select_row':\n\n\t\t\t\t$html_table = func_get_arg(2);\n\t\t\t\t$row = func_get_arg(3);\n\n\t\t\t\tif (!$html_table && sizeof($row))\n\t\t\t\t{\n\t\t\t\t\t$html_table = true;\n\t\t\t\t\t$this->html_hold .= '<table cellspacing=\"1\"><tr>';\n\n\t\t\t\t\tforeach (array_keys($row) as $val)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->html_hold .= '<th>' . (($val) ? ucwords(str_replace('_', ' ', $val)) : '&nbsp;') . '</th>';\n\t\t\t\t\t}\n\t\t\t\t\t$this->html_hold .= '</tr>';\n\t\t\t\t}\n\t\t\t\t$this->html_hold .= '<tr>';\n\n\t\t\t\t$class = 'row1';\n\t\t\t\tforeach (array_values($row) as $val)\n\t\t\t\t{\n\t\t\t\t\t$class = ($class == 'row1') ? 'row2' : 'row1';\n\t\t\t\t\t$this->html_hold .= '<td class=\"' . $class . '\">' . (($val) ? $val : '&nbsp;') . '</td>';\n\t\t\t\t}\n\t\t\t\t$this->html_hold .= '</tr>';\n\n\t\t\t\treturn $html_table;\n\n\t\t\tbreak;\n\n\t\t\tcase 'fromcache':\n\n\t\t\t\t$this->_sql_report($mode, $query);\n\n\t\t\tbreak;\n\n\t\t\tcase 'record_fromcache':\n\n\t\t\t\t$endtime = func_get_arg(2);\n\t\t\t\t$splittime = func_get_arg(3);\n\n\t\t\t\t$time_cache = $endtime - $this->curtime;\n\t\t\t\t$time_db = $splittime - $endtime;\n\t\t\t\t$color = ($time_db > $time_cache) ? 'green' : 'red';\n\n\t\t\t\t$this->sql_report .= '<table cellspacing=\"1\"><thead><tr><th>Query results obtained from the cache</th></tr></thead><tbody><tr>';\n\t\t\t\t$this->sql_report .= '<td class=\"row3\"><textarea style=\"font-family:\\'Courier New\\',monospace;width:99%\" rows=\"5\" cols=\"10\">' . preg_replace('/\\t(AND|OR)(\\W)/', \"\\$1\\$2\", htmlspecialchars(preg_replace('/[\\s]*[\\n\\r\\t]+[\\n\\r\\s\\t]*/', \"\\n\", $query))) . '</textarea></td></tr></tbody></table>';\n\t\t\t\t$this->sql_report .= '<p style=\"text-align: center;\">';\n\t\t\t\t$this->sql_report .= 'Before: ' . sprintf('%.5f', $this->curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: <b style=\"color: ' . $color . '\">' . sprintf('%.5f', ($time_cache)) . 's</b> | Elapsed [db]: <b>' . sprintf('%.5f', $time_db) . 's</b></p><br /><br />';\n\n\t\t\t\t// Pad the start time to not interfere with page timing\n\t\t\t\t$starttime += $time_db;\n\n\t\t\tbreak;\n\n\t\t\tdefault:\n\n\t\t\t\t$this->_sql_report($mode, $query);\n\n\t\t\tbreak;\n\t\t}\n\n\t\treturn true;\n\t}\n}\n\n/**\n* This variable holds the class name to use later\n*/\n$sql_db = (!empty($dbms)) ? 'dbal_' . basename($dbms) : 'dbal';\n\n?>", 8192) = 6492
22452 14:44:04.560076 read(3, "", 4096) = 0
22452 14:44:04.560151 read(3, "", 8192) = 0
22452 14:44:04.560936 brk(0x2491000)    = 0x2491000
22452 14:44:04.561462 read(3, "", 8192) = 0
22452 14:44:04.561554 close(3)          = 0
22452 14:44:04.561621 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.561841 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.561927 time(NULL)        = 1400874244
22452 14:44:04.561990 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.562113 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.562231 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.562352 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.562474 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.562597 lstat("/home2/fritz218/public_html/forum/includes/utf", {st_dev=makedev(8, 33), st_ino=91759238, st_mode=S_IFDIR|0755, st_nlink=3, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:54, st_ctime=2014/04/09-14:46:22}) = 0
22452 14:44:04.562731 lstat("/home2/fritz218/public_html/forum/includes/utf/utf_tools.php", {st_dev=makedev(8, 33), st_ino=91762538, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=120, st_size=60668, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:54, st_ctime=2014/04/09-14:46:22}) = 0
22452 14:44:04.562868 open("/home2/fritz218/public_html/forum/includes/utf/utf_tools.php", O_RDONLY) = 3
22452 14:44:04.562960 fstat(3, {st_dev=makedev(8, 33), st_ino=91762538, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=120, st_size=60668, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:54, st_ctime=2014/04/09-14:46:22}) = 0
22452 14:44:04.563097 lseek(3, 0, SEEK_SET) = 0
22452 14:44:04.563177 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.563246 fstat(3, {st_dev=makedev(8, 33), st_ino=91762538, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=120, st_size=60668, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:54, st_ctime=2014/04/09-14:46:22}) = 0
22452 14:44:04.563380 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.563459 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.563533 open("/home2/fritz218/public_html/forum/includes/utf/utf_tools.php", O_RDONLY) = 4
22452 14:44:04.563626 fstat(4, {st_dev=makedev(8, 33), st_ino=91762538, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=120, st_size=60668, st_atime=2014/05/22-16:06:20, st_mtime=2013/10/10-11:52:54, st_ctime=2014/04/09-14:46:22}) = 0
22452 14:44:04.563746 mmap(NULL, 60668, PROT_READ, MAP_SHARED, 4, 0) = 0x7f3592788000
22452 14:44:04.563830 munmap(0x7f3592788000, 60668) = 0
22452 14:44:04.563902 close(4)          = 0
22452 14:44:04.563969 lseek(3, 0, SEEK_CUR) = 0
22452 14:44:04.564039 read(3, "<?php\n/**\n*\n* @package utf\n* @version $Id: utf_tools.php 10041 2009-08-21 21:47:19Z terrafrost $\n* @copyright (c) 2006 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n// Enforce ASCII only string handling\nsetlocale(LC_CTYPE, 'C');\n\n/**\n* UTF-8 tools\n*\n* Whenever possible, these functions will try to use PHP's built-in functions or\n* extensions, otherwise they will default to custom routines.\n*\n* @package utf\n*/\n\nif (!extension_loaded('xml'))\n{\n\t/**\n\t* Implementation of PHP's native utf8_encode for people without XML support\n\t* This function exploits some nice things that ISO-8859-1 and UTF-8 have in common\n\t*\n\t* @param string $str ISO-8859-1 encoded data\n\t* @return string UTF-8 encoded data\n\t*/\n\tfunction utf8_encode($str)\n\t{\n\t\t$out = '';\n\t\tfor ($i = 0, $len = strlen($str); $i < $len; $i++)\n\t\t{\n\t\t\t$letter = $str[$i];\n\t\t\t$num = ord($letter);\n\t\t\tif ($num < 0x80)\n\t\t\t{\n\t\t\t\t$out .= $letter;\n\t\t\t}\n\t\t\telse if ($num < 0xC0)\n\t\t\t{\n\t\t\t\t$out .= \"\\xC2\" . $letter;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$out .= \"\\xC3\" . chr($num - 64);\n\t\t\t}\n\t\t}\n\t\treturn $out;\n\t}\n\n\t/**\n\t* Implementation of PHP's native utf8_decode for people without XML support\n\t*\n\t* @param string $str UTF-8 encoded data\n\t* @return string ISO-8859-1 encoded data\n\t*/\n\tfunction utf8_decode($str)\n\t{\n\t\t$pos = 0;\n\t\t$len = strlen($str);\n\t\t$ret = '';\n\n\t\twhile ($pos < $len)\n\t\t{\n\t\t\t$ord = ord($str[$pos]) & 0xF0;\n\t\t\tif ($ord === 0xC0 || $ord === 0xD0)\n\t\t\t{\n\t\t\t\t$charval = ((ord($str[$pos]) & 0x1F) << 6) | (ord($str[$pos + 1]) & 0x3F);\n\t\t\t\t$pos += 2;\n\t\t\t\t$ret .= (($charval < 256) ? chr($charval) : '?');\n\t\t\t}\n\t\t\telse if ($ord === 0xE0)\n\t\t\t{\n\t\t\t\t$ret .= '?';\n\t\t\t\t$pos += 3;\n\t\t\t}\n\t\t\telse if ($ord === 0xF0)\n\t\t\t{\n\t\t\t\t$ret .= '?';\n\t\t\t\t$pos += 4;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$ret .= $str[$pos];\n\t\t\t\t++$pos;\n\t\t\t}\n\t\t}\n\t\treturn $ret;\n\t}\n}\n\n// mbstring is old and has it's functions around for older versions of PHP.\n// if mbstring is not loaded, we go into native mode.\nif (extension_loaded('mbstring'))\n{\n\tmb_internal_encoding('UTF-8');\n\n\t/**\n\t* UTF-8 aware alternative to strrpos\n\t* Find position of last occurrence of a char in a string\n\t*\n\t* Notes:\n\t* - offset for mb_strrpos was added in 5.2.0, we emulate if it is lower\n\t*/\n\tif (version_compare(PHP_VERSION, '5.2.0', '>='))\n\t{\n\t\t/**\n\t\t* UTF-8 aware alternative to strrpos\n\t\t* @ignore\n\t\t*/\n\t\tfunction utf8_strrpos($str,\t$needle, $offset = null)\n\t\t{\n\t\t\t// Emulate behaviour of strrpos rather than raising warning\n\t\t\tif (empty($str))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (is_null($offset))\n\t\t\t{\n\t\t\t\treturn mb_strrpos($str, $needle);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn mb_strrpos($str, $needle, $offset);\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\t/**\n\t\t* UTF-8 aware alternative to strrpos\n\t\t* @ignore\n\t\t*/\n\t\tfunction utf8_strrpos($str,\t$needle, $offset = null)\n\t\t{\n\t\t\t// offset for mb_strrpos was added in 5.2.0\n\t\t\tif (is_null($offset))\n\t\t\t{\n\t\t\t\t// Emulate behaviour of strrpos rather than raising warning\n\t\t\t\tif (empty($str))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn mb_strrpos($str, $needle);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (!is_int($offset))\n\t\t\t\t{\n\t\t\t\t\ttrigger_error('utf8_strrpos expects parameter 3 to be long', E_USER_ERROR);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t$str = mb_substr($str, $offset);\n\n\t\t\t\tif (false !== ($pos = mb_strrpos($str, $needle)))\n\t\t\t\t{\n\t\t\t\t\treturn $pos + $offset;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strpos\n\t* @ignore\n\t*/\n\tfunction utf8_strpos($str, $needle, $offset = null)\n\t{\n\t\tif (is_null($offset))\n\t\t{\n\t\t\treturn mb_strpos($str, $needle);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn mb_strpos($str, $needle, $offset);\n\t\t}\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strtolower\n\t* @ignore\n\t*/\n\tfunction utf8_strtolower($str)\n\t{\n\t\treturn mb_strtolower($str);\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strtoupper\n\t* @ignore\n\t*/\n\tfunction utf8_strtoupper($str)\n\t{\n\t\treturn mb_strtoupper($str);\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to substr\n\t* @ignore\n\t*/\n\tfunction utf8_substr($str, $offset, $length = null)\n\t{\n\t\tif (is_null($length))\n\t\t{\n\t\t\treturn mb_substr($str, $offset);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn mb_substr($str, $offs", 4096) = 4096
22452 14:44:04.564936 lseek(3, 4096, SEEK_SET) = 4096
22452 14:44:04.565016 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.565116 read(3, "et, $length);\n\t\t}\n\t}\n\n\t/**\n\t* Return the length (in characters) of a UTF-8 string\n\t* @ignore\n\t*/\n\tfunction utf8_strlen($text)\n\t{\n\t\treturn mb_strlen($text, 'utf-8');\n\t}\n}\nelse\n{\n\t/**\n\t* UTF-8 aware alternative to strrpos\n\t* Find position of last occurrence of a char in a string\n\t*\n\t* @author Harry Fuecks\n\t* @param string $str haystack\n\t* @param string $needle needle\n\t* @param integer $offset (optional) offset (from left)\n\t* @return mixed integer position or FALSE on failure\n\t*/\n\tfunction utf8_strrpos($str,\t$needle, $offset = null)\n\t{\n\t\tif (is_null($offset))\n\t\t{\n\t\t\t$ar\t= explode($needle, $str);\n\n\t\t\tif (sizeof($ar) > 1)\n\t\t\t{\n\t\t\t\t// Pop off the end of the string where the last\tmatch was made\n\t\t\t\tarray_pop($ar);\n\t\t\t\t$str = join($needle, $ar);\n\n\t\t\t\treturn utf8_strlen($str);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!is_int($offset))\n\t\t\t{\n\t\t\t\ttrigger_error('utf8_strrpos\texpects\tparameter 3\tto be long', E_USER_ERROR);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t$str = utf8_substr($str, $offset);\n\n\t\t\tif (false !== ($pos = utf8_strrpos($str, $needle)))\n\t\t\t{\n\t\t\t\treturn $pos\t+ $offset;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strpos\n\t* Find position of first occurrence of a string\n\t*\n\t* @author Harry Fuecks\n\t* @param string $str haystack\n\t* @param string $needle needle\n\t* @param integer $offset offset in characters (from left)\n\t* @return mixed integer position or FALSE on failure\n\t*/\n\tfunction utf8_strpos($str, $needle, $offset = null)\n\t{\n\t\tif (is_null($offset))\n\t\t{\n\t\t\t$ar = explode($needle, $str);\n\t\t\tif (sizeof($ar) > 1)\n\t\t\t{\n\t\t\t\treturn utf8_strlen($ar[0]);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!is_int($offset))\n\t\t\t{\n\t\t\t\ttrigger_error('utf8_strpos:  Offset must  be an integer', E_USER_ERROR);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t$str = utf8_substr($str, $offset);\n\n\t\t\tif (false !== ($pos = utf8_strpos($str, $needle)))\n\t\t\t{\n\t\t\t\treturn $pos + $offset;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strtolower\n\t* Make a string lowercase\n\t* Note: The concept of a characters \"case\" only exists is some alphabets\n\t* such as Latin, Greek, Cyrillic, Armenian and archaic Georgian - it does\n\t* not exist in the Chinese alphabet, for example. See Unicode Standard\n\t* Annex #21: Case Mappings\n\t*\n\t* @param string\n\t* @return string string in lowercase\n\t*/\n\tfunction utf8_strtolower($string)\n\t{\n\t\tstatic $utf8_upper_to_lower = array(\n\t\t\t\"\\xC3\\x80\" => \"\\xC3\\xA0\", \"\\xC3\\x81\" => \"\\xC3\\xA1\",\n\t\t\t\"\\xC3\\x82\" => \"\\xC3\\xA2\", \"\\xC3\\x83\" => \"\\xC3\\xA3\", \"\\xC3\\x84\" => \"\\xC3\\xA4\", \"\\xC3\\x85\" => \"\\xC3\\xA5\",\n\t\t\t\"\\xC3\\x86\" => \"\\xC3\\xA6\", \"\\xC3\\x87\" => \"\\xC3\\xA7\", \"\\xC3\\x88\" => \"\\xC3\\xA8\", \"\\xC3\\x89\" => \"\\xC3\\xA9\",\n\t\t\t\"\\xC3\\x8A\" => \"\\xC3\\xAA\", \"\\xC3\\x8B\" => \"\\xC3\\xAB\", \"\\xC3\\x8C\" => \"\\xC3\\xAC\", \"\\xC3\\x8D\" => \"\\xC3\\xAD\",\n\t\t\t\"\\xC3\\x8E\" => \"\\xC3\\xAE\", \"\\xC3\\x8F\" => \"\\xC3\\xAF\", \"\\xC3\\x90\" => \"\\xC3\\xB0\", \"\\xC3\\x91\" => \"\\xC3\\xB1\",\n\t\t\t\"\\xC3\\x92\" => \"\\xC3\\xB2\", \"\\xC3\\x93\" => \"\\xC3\\xB3\", \"\\xC3\\x94\" => \"\\xC3\\xB4\", \"\\xC3\\x95\" => \"\\xC3\\xB5\",\n\t\t\t\"\\xC3\\x96\" => \"\\xC3\\xB6\", \"\\xC3\\x98\" => \"\\xC3\\xB8\", \"\\xC3\\x99\" => \"\\xC3\\xB9\", \"\\xC3\\x9A\" => \"\\xC3\\xBA\",\n\t\t\t\"\\xC3\\x9B\" => \"\\xC3\\xBB\", \"\\xC3\\x9C\" => \"\\xC3\\xBC\", \"\\xC3\\x9D\" => \"\\xC3\\xBD\", \"\\xC3\\x9E\" => \"\\xC3\\xBE\",\n\t\t\t\"\\xC4\\x80\" => \"\\xC4\\x81\", \"\\xC4\\x82\" => \"\\xC4\\x83\", \"\\xC4\\x84\" => \"\\xC4\\x85\", \"\\xC4\\x86\" => \"\\xC4\\x87\",\n\t\t\t\"\\xC4\\x88\" => \"\\xC4\\x89\", \"\\xC4\\x8A\" => \"\\xC4\\x8B\", \"\\xC4\\x8C\" => \"\\xC4\\x8D\", \"\\xC4\\x8E\" => \"\\xC4\\x8F\",\n\t\t\t\"\\xC4\\x90\" => \"\\xC4\\x91\", \"\\xC4\\x92\" => \"\\xC4\\x93\", \"\\xC4\\x96\" => \"\\xC4\\x97\", \"\\xC4\\x98\" => \"\\xC4\\x99\",\n\t\t\t\"\\xC4\\x9A\" => \"\\xC4\\x9B\", \"\\xC4\\x9C\" => \"\\xC4\\x9D\", \"\\xC4\\x9E\" => \"\\xC4\\x9F\", \"\\xC4\\xA0\" => \"\\xC4\\xA1\",\n\t\t\t\"\\xC4\\xA2\" => \"\\xC4\\xA3\", \"\\xC4\\xA4\" => \"\\xC4\\xA5\", \"\\xC4\\xA6\" => \"\\xC4\\xA7\", \"\\xC4\\xA8\" => \"\\xC4\\xA9\",\n\t\t\t\"\\xC4\\xAA\" => \"\\xC4\\xAB\", \"\\xC4\\xAE\" => \"\\xC4\\xAF\", \"\\xC4\\xB4\" => \"\\xC4\\xB5\", \"\\xC4\\xB6\" => \"\\xC4\\xB7\",\n\t\t\t\"\\xC4\\xB9\" => \"\\xC4\\xBA\", \"\\xC4\\xBB\" => \"\\xC4\\xBC\", \"\\xC4\\xBD\" => \"\\xC4\\xBE\", \"\\xC5\\x81\" => \"\\xC5\\x82\",\n\t\t\t\"\\xC5\\x83\" => \"\\xC5\\x84\", \"\\xC5\\x85\" => \"\\xC5\\x86\", \"\\xC5\\x87\" => \"\\xC5\\x88\", \"\\xC5\\x8A\" => \"\\xC5\\x8B\",\n\t\t\t\"\\xC5\\x8C\" => \"\\xC5\\x8D\", \"\\xC5\\x90\" => \"\\xC5\\x91\", \"\\xC5\\x94\" =>", 4096) = 4096
22452 14:44:04.567144 read(3, " \"\\xC5\\x95\", \"\\xC5\\x96\" => \"\\xC5\\x97\",\n\t\t\t\"\\xC5\\x98\" => \"\\xC5\\x99\", \"\\xC5\\x9A\" => \"\\xC5\\x9B\", \"\\xC5\\x9C\" => \"\\xC5\\x9D\", \"\\xC5\\x9E\" => \"\\xC5\\x9F\",\n\t\t\t\"\\xC5\\xA0\" => \"\\xC5\\xA1\", \"\\xC5\\xA2\" => \"\\xC5\\xA3\", \"\\xC5\\xA4\" => \"\\xC5\\xA5\", \"\\xC5\\xA6\" => \"\\xC5\\xA7\",\n\t\t\t\"\\xC5\\xA8\" => \"\\xC5\\xA9\", \"\\xC5\\xAA\" => \"\\xC5\\xAB\", \"\\xC5\\xAC\" => \"\\xC5\\xAD\", \"\\xC5\\xAE\" => \"\\xC5\\xAF\",\n\t\t\t\"\\xC5\\xB0\" => \"\\xC5\\xB1\", \"\\xC5\\xB2\" => \"\\xC5\\xB3\", \"\\xC5\\xB4\" => \"\\xC5\\xB5\", \"\\xC5\\xB6\" => \"\\xC5\\xB7\",\n\t\t\t\"\\xC5\\xB8\" => \"\\xC3\\xBF\", \"\\xC5\\xB9\" => \"\\xC5\\xBA\", \"\\xC5\\xBB\" => \"\\xC5\\xBC\", \"\\xC5\\xBD\" => \"\\xC5\\xBE\",\n\t\t\t\"\\xC6\\xA0\" => \"\\xC6\\xA1\", \"\\xC6\\xAF\" => \"\\xC6\\xB0\", \"\\xC8\\x98\" => \"\\xC8\\x99\", \"\\xC8\\x9A\" => \"\\xC8\\x9B\",\n\t\t\t\"\\xCE\\x86\" => \"\\xCE\\xAC\", \"\\xCE\\x88\" => \"\\xCE\\xAD\", \"\\xCE\\x89\" => \"\\xCE\\xAE\", \"\\xCE\\x8A\" => \"\\xCE\\xAF\",\n\t\t\t\"\\xCE\\x8C\" => \"\\xCF\\x8C\", \"\\xCE\\x8E\" => \"\\xCF\\x8D\", \"\\xCE\\x8F\" => \"\\xCF\\x8E\", \"\\xCE\\x91\" => \"\\xCE\\xB1\",\n\t\t\t\"\\xCE\\x92\" => \"\\xCE\\xB2\", \"\\xCE\\x93\" => \"\\xCE\\xB3\", \"\\xCE\\x94\" => \"\\xCE\\xB4\", \"\\xCE\\x95\" => \"\\xCE\\xB5\",\n\t\t\t\"\\xCE\\x96\" => \"\\xCE\\xB6\", \"\\xCE\\x97\" => \"\\xCE\\xB7\", \"\\xCE\\x98\" => \"\\xCE\\xB8\", \"\\xCE\\x99\" => \"\\xCE\\xB9\",\n\t\t\t\"\\xCE\\x9A\" => \"\\xCE\\xBA\", \"\\xCE\\x9B\" => \"\\xCE\\xBB\", \"\\xCE\\x9C\" => \"\\xCE\\xBC\", \"\\xCE\\x9D\" => \"\\xCE\\xBD\",\n\t\t\t\"\\xCE\\x9E\" => \"\\xCE\\xBE\", \"\\xCE\\x9F\" => \"\\xCE\\xBF\", \"\\xCE\\xA0\" => \"\\xCF\\x80\", \"\\xCE\\xA1\" => \"\\xCF\\x81\",\n\t\t\t\"\\xCE\\xA3\" => \"\\xCF\\x83\", \"\\xCE\\xA4\" => \"\\xCF\\x84\", \"\\xCE\\xA5\" => \"\\xCF\\x85\", \"\\xCE\\xA6\" => \"\\xCF\\x86\",\n\t\t\t\"\\xCE\\xA7\" => \"\\xCF\\x87\", \"\\xCE\\xA8\" => \"\\xCF\\x88\", \"\\xCE\\xA9\" => \"\\xCF\\x89\", \"\\xCE\\xAA\" => \"\\xCF\\x8A\",\n\t\t\t\"\\xCE\\xAB\" => \"\\xCF\\x8B\", \"\\xD0\\x81\" => \"\\xD1\\x91\", \"\\xD0\\x82\" => \"\\xD1\\x92\", \"\\xD0\\x83\" => \"\\xD1\\x93\",\n\t\t\t\"\\xD0\\x84\" => \"\\xD1\\x94\", \"\\xD0\\x85\" => \"\\xD1\\x95\", \"\\xD0\\x86\" => \"\\xD1\\x96\", \"\\xD0\\x87\" => \"\\xD1\\x97\",\n\t\t\t\"\\xD0\\x88\" => \"\\xD1\\x98\", \"\\xD0\\x89\" => \"\\xD1\\x99\", \"\\xD0\\x8A\" => \"\\xD1\\x9A\", \"\\xD0\\x8B\" => \"\\xD1\\x9B\",\n\t\t\t\"\\xD0\\x8C\" => \"\\xD1\\x9C\", \"\\xD0\\x8E\" => \"\\xD1\\x9E\", \"\\xD0\\x8F\" => \"\\xD1\\x9F\", \"\\xD0\\x90\" => \"\\xD0\\xB0\",\n\t\t\t\"\\xD0\\x91\" => \"\\xD0\\xB1\", \"\\xD0\\x92\" => \"\\xD0\\xB2\", \"\\xD0\\x93\" => \"\\xD0\\xB3\", \"\\xD0\\x94\" => \"\\xD0\\xB4\",\n\t\t\t\"\\xD0\\x95\" => \"\\xD0\\xB5\", \"\\xD0\\x96\" => \"\\xD0\\xB6\", \"\\xD0\\x97\" => \"\\xD0\\xB7\", \"\\xD0\\x98\" => \"\\xD0\\xB8\",\n\t\t\t\"\\xD0\\x99\" => \"\\xD0\\xB9\", \"\\xD0\\x9A\" => \"\\xD0\\xBA\", \"\\xD0\\x9B\" => \"\\xD0\\xBB\", \"\\xD0\\x9C\" => \"\\xD0\\xBC\",\n\t\t\t\"\\xD0\\x9D\" => \"\\xD0\\xBD\", \"\\xD0\\x9E\" => \"\\xD0\\xBE\", \"\\xD0\\x9F\" => \"\\xD0\\xBF\", \"\\xD0\\xA0\" => \"\\xD1\\x80\",\n\t\t\t\"\\xD0\\xA1\" => \"\\xD1\\x81\", \"\\xD0\\xA2\" => \"\\xD1\\x82\", \"\\xD0\\xA3\" => \"\\xD1\\x83\", \"\\xD0\\xA4\" => \"\\xD1\\x84\",\n\t\t\t\"\\xD0\\xA5\" => \"\\xD1\\x85\", \"\\xD0\\xA6\" => \"\\xD1\\x86\", \"\\xD0\\xA7\" => \"\\xD1\\x87\", \"\\xD0\\xA8\" => \"\\xD1\\x88\",\n\t\t\t\"\\xD0\\xA9\" => \"\\xD1\\x89\", \"\\xD0\\xAA\" => \"\\xD1\\x8A\", \"\\xD0\\xAB\" => \"\\xD1\\x8B\", \"\\xD0\\xAC\" => \"\\xD1\\x8C\",\n\t\t\t\"\\xD0\\xAD\" => \"\\xD1\\x8D\", \"\\xD0\\xAE\" => \"\\xD1\\x8E\", \"\\xD0\\xAF\" => \"\\xD1\\x8F\", \"\\xD2\\x90\" => \"\\xD2\\x91\",\n\t\t\t\"\\xE1\\xB8\\x82\" => \"\\xE1\\xB8\\x83\", \"\\xE1\\xB8\\x8A\" => \"\\xE1\\xB8\\x8B\", \"\\xE1\\xB8\\x9E\" => \"\\xE1\\xB8\\x9F\", \"\\xE1\\xB9\\x80\" => \"\\xE1\\xB9\\x81\",\n\t\t\t\"\\xE1\\xB9\\x96\" => \"\\xE1\\xB9\\x97\", \"\\xE1\\xB9\\xA0\" => \"\\xE1\\xB9\\xA1\", \"\\xE1\\xB9\\xAA\" => \"\\xE1\\xB9\\xAB\", \"\\xE1\\xBA\\x80\" => \"\\xE1\\xBA\\x81\",\n\t\t\t\"\\xE1\\xBA\\x82\" => \"\\xE1\\xBA\\x83\", \"\\xE1\\xBA\\x84\" => \"\\xE1\\xBA\\x85\", \"\\xE1\\xBB\\xB2\" => \"\\xE1\\xBB\\xB3\"\n\t\t);\n\n\t\treturn strtr(strtolower($string), $utf8_upper_to_lower);\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to strtoupper\n\t* Make a string uppercase\n\t* Note: The concept of a characters \"case\" only exists is some alphabets\n\t* such as Latin, Greek, Cyrillic, Armenian and archaic Georgian - it does\n\t* not exist in the Chinese alphabet, for example. See Unicode Standard\n\t* Annex #21: Case Mappings\n\t*\n\t* @param string\n\t* @return string string in uppercase\n\t*/\n\tfunction utf8_strtoupper($string)\n\t{\n\t\tstatic $utf8_lower_to_upper = array(\n\t\t\t\"\\xC3\\xA0\" => \"\\xC3\\x80\", \"\\xC3\\xA1\" => \"\\xC3\\x81\",\n\t\t\t\"\\xC3\\xA2\" => \"\\xC3\\x82\", \"\\xC3\\xA3\" => \"\\xC3\\x83\", \"\\xC3\\xA4\" => \"\\xC3\\x84\", \"\\xC3\\xA5\" => \"\\xC3\\x85\",\n\t\t\t\"\\xC3\\xA6\" => \"\\xC3\\x86\", \"\\xC3\\xA7\" => \"\\xC3\\x87\", \"\\xC3\\xA8\" => \"\\xC3\\x88\", \"\\xC3\\xA9\" => \"\\xC3\\x89\",\n\t\t\t\"\\xC3\\xAA\" => \"\\xC3\\x8A\", \"\\xC3\\xAB\" => \"\\xC3\\x8B\", \"\\xC3\\xAC\" => \"\\xC3\\x8C\", \"\\xC3\\xAD\" => \"\\xC3\\x8D\",\n\t\t\t\"\\xC3\\xAE\" => \"\\xC3\\x8E\", \"\\xC3\\xAF\" => \"\\xC3\\x8F\", \"\\xC3\\xB0\" => \"\\xC3\\x90\", \"\\xC3\\xB1\" => \"\\xC3\\x91\",\n\t\t\t\"\\xC3\\xB2\" => \"\\xC3\\x92\", \"\\xC3\\xB3\" => \"\\xC3\\x93\", \"\\xC3\\xB4\" => \"\\xC3\\x94\", \"\\xC3\\xB5\" => \"\\xC3\\x95\",\n\t\t\t\"\\xC3\\xB6\" => \"\\xC3\\x96\", \"\\xC3\\xB8\" => \"\\xC3\\x98\", \"\\xC3\\xB9\" => \"\\xC3\\x99\", \"\\xC3\\xBA\" => \"\\xC3\\x9A\",\n\t\t\t\"\\xC3\\xBB\" => \"\\xC3\\x9B\", \"\\xC3\\xBC\" => \"\\xC3\\x9C\", \"\\xC3\\xBD\" => \"\\xC3\\x9D\", \"\\xC3\\xBE\" => \"\\xC3\\x9E\",\n\t\t\t\"\\xC3\\xBF\" => \"\\xC5\\xB8\", \"\\xC4\\x81\" => \"\\xC4\\x80\", \"\\xC4\\x83\" => \"\\xC4\\x82\", \"\\xC4\\x85\" => \"\\xC4\\x84\",\n\t\t\t\"\\xC4\\x87\" => \"\\xC4\\x86\", \"\\xC4\\x89\" => \"\\xC4\\x88\", \"\\xC4\\x8B\" => \"\\xC4\\x8A\", \"\\xC4\\x8D\" => \"\\xC4\\x8C\",\n\t\t\t\"\\xC4\\x8F\" => \"\\xC4\\x8E\", \"\\xC4\\x91\" => \"\\xC4\\x90\", \"\\xC4\\x93\" => \"\\xC4\\x92\", \"\\xC4\\x97\" => \"\\xC4\\x96\",\n\t\t\t\"\\xC4\\x99\" => \"\\xC4\\x98\", \"\\xC4\\x9B\" => \"\\xC4\\x9A\", \"\\xC4\\x9D\" => \"\\xC4\\x9C\", \"\\xC4\\x9F\" => \"\\xC4\\x9E\",\n\t\t\t\"\\xC4\\xA1\" => \"\\xC4\\xA0\", \"\\xC4\\xA3\" => \"\\xC4\\xA2\", \"\\xC4\\xA5\" => \"\\xC4\\xA4\", \"\\xC4\\xA7\" => \"\\xC4\\xA6\",\n\t\t\t\"\\xC4\\xA9\" => \"\\xC4\\xA8\", \"\\xC4\\xAB\" => \"\\xC4\\xAA\", \"\\xC4\\xAF\" => \"\\xC4\\xAE\", \"\\xC4\\xB5\" => \"\\xC4\\xB4\",\n\t\t\t\"\\xC4\\xB7\" => \"\\xC4\\xB6\", \"\\xC4\\xBA\" => \"\\xC4\\xB9\", \"\\xC4\\xBC\" => \"\\xC4\\xBB\", \"\\xC4\\xBE\" => \"\\xC4\\xBD\",\n\t\t\t\"\\xC5\\x82\" => \"\\xC5\\x81\", \"\\xC5\\x84\" => \"\\xC5\\x83\", \"\\xC5\\x86\" => \"\\xC5\\x85\", \"\\xC5\\x88\" => \"\\xC5\\x87\",\n\t\t\t\"\\xC5\\x8B\" => \"\\xC5\\x8A\", \"\\xC5\\x8D\" => \"\\xC5\\x8C\", \"\\xC5\\x91\" => \"\\xC5\\x90\", \"\\xC5\\x95\" => \"\\xC5\\x94\",\n\t\t\t\"\\xC5\\x97\" => \"\\xC5\\x96\", \"\\xC5\\x99\" => \"\\xC5\\x98\", \"\\xC5\\x9B\" => \"\\xC5\\x9A\", \"\\xC5\\x9D\" => \"\\xC5\\x9C\",\n\t\t\t\"\\xC5\\x9F\" => \"\\xC5\\x9E\", \"\\xC5\\xA1\" => \"\\xC5\\xA0\", \"\\xC5\\xA3\" => \"\\xC5\\xA2\", \"\\xC5\\xA5\" => \"\\xC5\\xA4\",\n\t\t\t\"\\xC5\\xA7\" => \"\\xC5\\xA6\", \"\\xC5\\xA9\" => \"\\xC5\\xA8\", \"\\xC5\\xAB\" => \"\\xC5\\xAA\", \"\\xC5\\xAD\" => \"\\xC5\\xAC\",\n\t\t\t\"\\xC5\\xAF\" => \"\\xC5\\xAE\", \"\\xC5\\xB1\" => \"\\xC5\\xB0\", \"\\xC5\\xB3\" => \"\\xC5\\xB2\", \"\\xC5\\xB5\" => \"\\xC5\\xB4\",\n\t\t\t\"\\xC5\\xB7\" => \"\\xC5\\xB6\", \"\\xC5\\xBA\" => \"\\xC5\\xB9\", \"\\xC5\\xBC\" => \"\\xC5\\xBB\", \"\\xC5\\xBE\" => \"\\xC5\\xBD\",\n\t\t\t\"\\xC6\\xA1\" => \"\\xC6\\xA0\", \"\\xC6\\xB0\" => \"\\xC6\\xAF\", \"\\xC8\\x99\" => \"\\xC8\\x98\", \"\\xC8\\x9B\" => \"\\xC8\\x9A\",\n\t\t\t\"\\xCE\\xAC\" => \"\\xCE\\x86\", \"\\xCE\\xAD\" => \"\\xCE\\x88\", \"\\xCE\\xAE\" => \"\\xCE\\x89\", \"\\xCE\\xAF\" => \"\\xCE\\x8A\",\n\t\t\t\"\\xCE\\xB1\" => \"\\xCE\\x91\", \"\\xCE\\xB2\" => \"\\xCE\\x92\", \"\\xCE\\xB3\" => \"\\xCE\\x93\", \"\\xCE\\xB4\" => \"\\xCE\\x94\",\n\t\t\t\"\\xCE\\xB5\" => \"\\xCE\\x95\", \"\\xCE\\xB6\" => \"\\xCE\\x96\", \"\\xCE\\xB7\" => \"\\xCE\\x97\", \"\\xCE\\xB8\" => \"\\xCE\\x98\",\n\t\t\t\"\\xCE\\xB9\" => \"\\xCE\\x99\", \"\\xCE\\xBA\" => \"\\xCE\\x9A\", \"\\xCE\\xBB\" => \"\\xCE\\x9B\", \"\\xCE\\xBC\" => \"\\xCE\\x9C\",\n\t\t\t\"\\xCE\\xBD\" => \"\\xCE\\x9D\", \"\\xCE\\xBE\" => \"\\xCE\\x9E\", \"\\xCE\\xBF\" => \"\\xCE\\x9F\", \"\\xCF\\x80\" => \"\\xCE\\xA0\",\n\t\t\t\"\\xCF\\x81\" => \"\\xCE\\xA1\", \"\\xCF\\x83\" => \"\\xCE\\xA3\", \"\\xCF\\x84\" => \"\\xCE\\xA4\", \"\\xCF\\x85\" => \"\\xCE\\xA5\",\n\t\t\t\"\\xCF\\x86\" => \"\\xCE\\xA6\", \"\\xCF\\x87\" => \"\\xCE\\xA7\", \"\\xCF\\x88\" => \"\\xCE\\xA8\", \"\\xCF\\x89\" => \"\\xCE\\xA9\",\n\t\t\t\"\\xCF\\x8A\" => \"\\xCE\\xAA\", \"\\xCF\\x8B\" => \"\\xCE\\xAB\", \"\\xCF\\x8C\" => \"\\xCE\\x8C\", \"\\xCF\\x8D\" => \"\\xCE\\x8E\",\n\t\t\t\"\\xCF\\x8E\" => \"\\xCE\\x8F\", \"\\xD0\\xB0\" => \"\\xD0\\x90\", \"\\xD0\\xB1\" => \"\\xD0\\x91\", \"\\xD0\\xB2\" => \"\\xD0\\x92\",\n\t\t\t\"\\xD0\\xB3\" => \"\\xD0\\x93\", \"\\xD0\\xB4\" => \"\\xD0\\x94\", \"\\xD0\\xB5\" => \"\\xD0\\x95\", \"\\xD0\\xB6\" => \"\\xD0\\x96\",\n\t\t\t\"\\xD0\\xB7\" => \"\\xD0\\x97\", \"\\xD0\\xB8\" => \"\\xD0\\x98\", \"\\xD0\\xB9\" => \"\\xD0\\x99\", \"\\xD0\\xBA\" => \"\\xD0\\x9A\",\n\t\t\t\"\\xD0\\xBB\" => \"\\xD0\\x9B\", \"\\xD0\\xBC\" => \"\\xD0\\x9C\", \"\\xD0\\xBD\" => \"\\xD0\\x9D\", \"\\xD0\\xBE\" => \"\\xD0\\x9E\",\n\t\t\t\"\\xD0\\xBF\" => \"\\xD0\\x9F\", \"\\xD1\\x80\" => \"\\xD0\\xA0\", \"\\xD1\\x81\" => \"\\xD0\\xA1\", \"\\xD1\\x82\" => \"\\xD0\\xA2\",\n\t\t\t\"\\xD1\\x83\" => \"\\xD0\\xA3\", \"\\xD1\\x84\" => \"\\xD0\\xA4\", \"\\xD1\\x85\" => \"\\xD0\\xA5\", \"\\xD1\\x86\" => \"\\xD0\\xA6\",\n\t\t\t\"\\xD1\\x87\" => \"\\xD0\\xA7\", \"\\xD1\\x88\" => \"\\xD0\\xA8\", \"\\xD1\\x89\" => \"\\xD0\\xA9\", \"\\xD1\\x8A\" => \"\\xD0\\xAA\",\n\t\t\t\"\\xD1\\x8B\" => \"\\xD0\\xAB\", \"\\xD1\\x8C\" => \"\\xD0\\xAC\", \"\\xD1\\x8D\" => \"\\xD0\\xAD\", \"\\xD1\\x8E\" => \"\\xD0\\xAE\",\n\t\t\t\"\\xD1\\x8F\" => \"\\xD0\\xAF\", \"\\xD1\\x91\" => \"\\xD0\\x81\", \"\\xD1\\x92\" => \"\\xD0\\x82\", \"\\xD1\\x93\" => \"\\xD0\\x83\",\n\t\t\t\"\\xD1\\x94\" => \"\\xD0\\x84\", \"\\xD1\\x95\" => \"\\xD0\\x85\", \"\\xD1\\x96\" => \"\\xD0\\x86\", \"\\xD1\\x97\" => \"\\xD0\\x87\",\n\t\t\t\"\\xD1\\x98\" => \"\\xD0\\x"..., 8192) = 8192
22452 14:44:04.569354 read(3, "\"\\xD0\\x8C\", \"\\xD1\\x9E\" => \"\\xD0\\x8E\", \"\\xD1\\x9F\" => \"\\xD0\\x8F\", \"\\xD2\\x91\" => \"\\xD2\\x90\",\n\t\t\t\"\\xE1\\xB8\\x83\" => \"\\xE1\\xB8\\x82\", \"\\xE1\\xB8\\x8B\" => \"\\xE1\\xB8\\x8A\", \"\\xE1\\xB8\\x9F\" => \"\\xE1\\xB8\\x9E\", \"\\xE1\\xB9\\x81\" => \"\\xE1\\xB9\\x80\",\n\t\t\t\"\\xE1\\xB9\\x97\" => \"\\xE1\\xB9\\x96\", \"\\xE1\\xB9\\xA1\" => \"\\xE1\\xB9\\xA0\", \"\\xE1\\xB9\\xAB\" => \"\\xE1\\xB9\\xAA\", \"\\xE1\\xBA\\x81\" => \"\\xE1\\xBA\\x80\",\n\t\t\t\"\\xE1\\xBA\\x83\" => \"\\xE1\\xBA\\x82\", \"\\xE1\\xBA\\x85\" => \"\\xE1\\xBA\\x84\", \"\\xE1\\xBB\\xB3\" => \"\\xE1\\xBB\\xB2\"\n\t\t);\n\n\t\treturn strtr(strtoupper($string), $utf8_lower_to_upper);\n\t}\n\n\t/**\n\t* UTF-8 aware alternative to substr\n\t* Return part of a string given character offset (and optionally length)\n\t*\n\t* Note arguments: comparied to substr - if offset or length are\n\t* not integers, this version will not complain but rather massages them\n\t* into an integer.\n\t*\n\t* Note on returned values: substr documentation states false can be\n\t* returned in some cases (e.g. offset > string length)\n\t* mb_substr never returns false, it will return an empty string instead.\n\t* This adopts the mb_substr approach\n\t*\n\t* Note on implementation: PCRE only supports repetitions of less than\n\t* 65536, in order to accept up to MAXINT values for offset and length,\n\t* we'll repeat a group of 65535 characters when needed.\n\t*\n\t* Note on implementation: calculating the number of characters in the\n\t* string is a relatively expensive operation, so we only carry it out when\n\t* necessary. It isn't necessary for +ve offsets and no specified length\n\t*\n\t* @author Chris Smith<chris@jalakai.co.uk>\n\t* @param string $str\n\t* @param integer $offset number of UTF-8 characters offset (from left)\n\t* @param integer $length (optional) length in UTF-8 characters from offset\n\t* @return mixed string or FALSE if failure\n\t*/\n\tfunction utf8_substr($str, $offset, $length = NULL)\n\t{\n\t\t// generates E_NOTICE\n\t\t// for PHP4 objects, but not PHP5 objects\n\t\t$str = (string) $str;\n\t\t$offset = (int) $offset;\n\t\tif (!is_null($length))\n\t\t{\n\t\t\t$length = (int) $length;\n\t\t}\n\n\t\t// handle trivial cases\n\t\tif ($length === 0 || ($offset < 0 && $length < 0 && $length < $offset))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\t// normalise negative offsets (we could use a tail\n\t\t// anchored pattern, but they are horribly slow!)\n\t\tif ($offset < 0)\n\t\t{\n\t\t\t// see notes\n\t\t\t$strlen = utf8_strlen($str);\n\t\t\t$offset = $strlen + $offset;\n\t\t\tif ($offset < 0)\n\t\t\t{\n\t\t\t\t$offset = 0;\n\t\t\t}\n\t\t}\n\n\t\t$op = '';\n\t\t$lp = '';\n\n\t\t// establish a pattern for offset, a\n\t\t// non-captured group equal in length to offset\n\t\tif ($offset > 0)\n\t\t{\n\t\t\t$ox = (int) ($offset / 65535);\n\t\t\t$oy = $offset % 65535;\n\n\t\t\tif ($ox)\n\t\t\t{\n\t\t\t\t$op = '(?:.{65535}){' . $ox . '}';\n\t\t\t}\n\n\t\t\t$op = '^(?:' . $op . '.{' . $oy . '})';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// offset == 0; just anchor the pattern\n\t\t\t$op = '^';\n\t\t}\n\n\t\t// establish a pattern for length\n\t\tif (is_null($length))\n\t\t{\n\t\t\t// the rest of the string\n\t\t\t$lp = '(.*)$';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (!isset($strlen))\n\t\t\t{\n\t\t\t\t// see notes\n\t\t\t\t$strlen = utf8_strlen($str);\n\t\t\t}\n\n\t\t\t// another trivial case\n\t\t\tif ($offset > $strlen)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif ($length > 0)\n\t\t\t{\n\t\t\t\t// reduce any length that would\n\t\t\t\t// go passed the end of the string\n\t\t\t\t$length = min($strlen - $offset, $length);\n\n\t\t\t\t$lx = (int) ($length / 65535);\n\t\t\t\t$ly = $length % 65535;\n\n\t\t\t\t// negative length requires a captured group\n\t\t\t\t// of length characters\n\t\t\t\tif ($lx)\n\t\t\t\t{\n\t\t\t\t\t$lp = '(?:.{65535}){' . $lx . '}';\n\t\t\t\t}\n\t\t\t\t$lp = '(' . $lp . '.{'. $ly . '})';\n\t\t\t}\n\t\t\telse if ($length < 0)\n\t\t\t{\n\t\t\t\tif ($length < ($offset - $strlen))\n\t\t\t\t{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\t$lx = (int)((-$length) / 65535);\n\t\t\t\t$ly = (-$length) % 65535;\n\n\t\t\t\t// negative length requires ... capture everything\n\t\t\t\t// except a group of  -length characters\n\t\t\t\t// anchored at the tail-end of the string\n\t\t\t\tif ($lx)\n\t\t\t\t{\n\t\t\t\t\t$lp = '(?:.{65535}){' . $lx . '}';\n\t\t\t\t}\n\t\t\t\t$lp = '(.*)(?:' . $lp . '.{' . $ly . '})$';\n\t\t\t}\n\t\t}\n\n\t\tif (!preg_match('#' . $op . $lp . '#us', $str, $match))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\treturn $match[1];\n\t}\n\n\t/**\n\t* Return the length (in characters) of a UTF-8 string\n\t*\n\t* @param\tstring\t$text\t\tUTF-8 string\n\t* @return\tinteger\t\t\t\tLength (in chars) of given string\n\t*/\n\tfunction utf8_strlen($text)\n\t{\n\t\t// Since utf8_decode is replacing multibyte characters to ? strlen works fine\n\t\treturn strlen(utf8_decode($text));\n\t}\n}\n\n/**\n* UTF-8 aware alternative to str_split\n* Convert a string to an array\n*\n* @author Harry Fuecks\n* @param string $str UTF-8 encoded\n* @param int $split_len number to characters to split string by\n* @return array characters in string reverses\n*/\nfunction utf8_str_split($str, $split_len = 1)\n{\n\tif (!is_int($split_len) || $split_len < 1)\n\t{\n\t\treturn false;\n\t}\n\n\t$len = utf8_strlen($str);\n\tif ($len <= $split_len)\n\t{\n\t\treturn array($str);\n\t}\n\n\tpreg_match_all('/.{' . $split_len . '}|[^\\x00]{1,' . $split_len . '}$/us', $str, $ar);\n\treturn $ar[0];\n}\n\n/**\n* UTF-8 aware alternative to strspn\n* Find length of initial segment matching the mask\n*\n* @author Harry Fuecks\n*/\nfunction utf8_strspn($str, $mask, $start = null, $length = null)\n{\n\tif ($start !== null || $length !== null)\n\t{\n\t\t$str = utf8_substr($str, $start, $length);\n\t}\n\n\tpreg_match('/^[' . $mask . ']+/u', $str, $matches);\n\n\tif (isset($matches[0]))\n\t{\n\t\treturn utf8_strlen($matches[0]);\n\t}\n\n\treturn 0;\n}\n\n/**\n* UTF-8 aware alternative to ucfirst\n* Make a string's first character uppercase\n*\n* @author Harry Fuecks\n* @param string\n* @return string with first character as upper case (if applicable)\n*/\nfunction utf8_ucfirst($str)\n{\n\tswitch (utf8_strlen($str))\n\t{\n\t\tcase 0:\n\t\t\treturn '';\n\t\tbreak;\n\n\t\tcase 1:\n\t\t\treturn utf8_strtoupper($str);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\tpreg_match('/^(.{1})(.*)$/us', $str, $matches);\n\t\t\treturn utf8_strtoupper($matches[1]) . $matches[2];\n\t\tbreak;\n\t}\n}\n\n/**\n* Recode a string to UTF-8\n*\n* If the encoding is not supported, the string is returned as-is\n*\n* @param\tstring\t$string\t\tOriginal string\n* @param\tstring\t$encoding\tOriginal encoding (lowered)\n* @return\tstring\t\t\t\tThe string, encoded in UTF-8\n*/\nfunction utf8_recode($string, $encoding)\n{\n\t$encoding = strtolower($encoding);\n\n\tif ($encoding == 'utf-8' || !is_string($string) || empty($string))\n\t{\n\t\treturn $string;\n\t}\n\n\t// we force iso-8859-1 to be cp1252\n\tif ($encoding == 'iso-8859-1')\n\t{\n\t\t$encoding = 'cp1252';\n\t}\n\t// convert iso-8859-8-i to iso-8859-8\n\telse if ($encoding == 'iso-8859-8-i')\n\t{\n\t\t$encoding = 'iso-8859-8';\n\t\t$string = hebrev($string);\n\t}\n\n\t// First, try iconv()\n\tif (function_exists('iconv'))\n\t{\n\t\t$ret = @iconv($encoding, 'utf-8', $string);\n\n\t\tif (!empty($ret))\n\t\t{\n\t\t\treturn $ret;\n\t\t}\n\t}\n\n\t// Try the mb_string extension\n\tif (function_exists('mb_convert_encoding'))\n\t{\n\t\t// mbstring is nasty on PHP4, we must make *sure* that we send a good encoding\n\t\tswitch ($encoding)\n\t\t{\n\t\t\tcase 'iso-8859-1':\n\t\t\tcase 'iso-8859-2':\n\t\t\tcase 'iso-8859-4':\n\t\t\tcase 'iso-8859-7':\n\t\t\tcase 'iso-8859-9':\n\t\t\tcase 'iso-8859-15':\n\t\t\tcase 'windows-1251':\n\t\t\tcase 'windows-1252':\n\t\t\tcase 'cp1252':\n\t\t\tcase 'shift_jis':\n\t\t\tcase 'euc-kr':\n\t\t\tcase 'big5':\n\t\t\tcase 'gb2312':\n\t\t\t\t$ret = @mb_convert_encoding($string, 'utf-8', $encoding);\n\n\t\t\t\tif (!empty($ret))\n\t\t\t\t{\n\t\t\t\t\treturn $ret;\n\t\t\t\t}\n\t\t}\n\t}\n\n\t// Try the recode extension\n\tif (function_exists('recode_string'))\n\t{\n\t\t$ret = @recode_string($encoding . '..utf-8', $string);\n\n\t\tif (!empty($ret))\n\t\t{\n\t\t\treturn $ret;\n\t\t}\n\t}\n\n\t// If nothing works, check if we have a custom transcoder available\n\tif (!preg_match('#^[a-z0-9_ \\\\-]+$#', $encoding))\n\t{\n\t\t// Make sure the encoding name is alphanumeric, we don't want it to be abused into loading arbitrary files\n\t\ttrigger_error('Unknown encoding: ' . $encoding, E_USER_ERROR);\n\t}\n\n\tglobal $phpbb_root_path, $phpEx;\n\n\t// iso-8859-* character encoding\n\tif (preg_match('/iso[_ -]?8859[_ -]?(\\\\d+)/', $encoding, $array))\n\t{\n\t\tswitch ($array[1])\n\t\t{\n\t\t\tcase '1':\n\t\t\tcase '2':\n\t\t\tcase '4':\n\t\t\tcase '7':\n\t\t\tcase '8':\n\t\t\tcase '9':\n\t\t\tcase '15':\n\t\t\t\tif (!function_exists('iso_8859_' . $array[1]))\n\t\t\t\t{\n\t\t\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx))\n\t\t\t\t\t{\n\t\t\t\t\t\ttrigger_error('Basic reencoder file is missing', E_USER_ERROR);\n\t\t\t\t\t}\n\t\t\t\t"..., 8192) = 8192
22452 14:44:04.571773 read(3, "func('iso_8859_' . $array[1], $string);\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\ttrigger_error('Unknown encoding: ' . $encoding, E_USER_ERROR);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// CP/WIN character encoding\n\tif (preg_match('/(?:cp|windows)[_\\- ]?(\\\\d+)/', $encoding, $array))\n\t{\n\t\tswitch ($array[1])\n\t\t{\n\t\t\tcase '932':\n\t\t\tbreak;\n\t\t\tcase '1250':\n\t\t\tcase '1251':\n\t\t\tcase '1252':\n\t\t\tcase '1254':\n\t\t\tcase '1255':\n\t\t\tcase '1256':\n\t\t\tcase '1257':\n\t\t\tcase '874':\n\t\t\t\tif (!function_exists('cp' . $array[1]))\n\t\t\t\t{\n\t\t\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx))\n\t\t\t\t\t{\n\t\t\t\t\t\ttrigger_error('Basic reencoder file is missing', E_USER_ERROR);\n\t\t\t\t\t}\n\t\t\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx);\n\t\t\t\t}\n\t\t\t\treturn call_user_func('cp' . $array[1], $string);\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\ttrigger_error('Unknown encoding: ' . $encoding, E_USER_ERROR);\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// TIS-620\n\tif (preg_match('/tis[_ -]?620/', $encoding))\n\t{\n\t\tif (!function_exists('tis_620'))\n\t\t{\n\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx))\n\t\t\t{\n\t\t\t\ttrigger_error('Basic reencoder file is missing', E_USER_ERROR);\n\t\t\t}\n\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx);\n\t\t}\n\t\treturn tis_620($string);\n\t}\n\n\t// SJIS\n\tif (preg_match('/sjis(?:[_ -]?win)?|(?:cp|ibm)[_ -]?932|shift[_ -]?jis/', $encoding))\n\t{\n\t\tif (!function_exists('sjis'))\n\t\t{\n\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx))\n\t\t\t{\n\t\t\t\ttrigger_error('CJK reencoder file is missing', E_USER_ERROR);\n\t\t\t}\n\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx);\n\t\t}\n\t\treturn sjis($string);\n\t}\n\n\t// EUC_KR\n\tif (preg_match('/euc[_ -]?kr/', $encoding))\n\t{\n\t\tif (!function_exists('euc_kr'))\n\t\t{\n\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx))\n\t\t\t{\n\t\t\t\ttrigger_error('CJK reencoder file is missing', E_USER_ERROR);\n\t\t\t}\n\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx);\n\t\t}\n\t\treturn euc_kr($string);\n\t}\n\n\t// BIG-5\n\tif (preg_match('/big[_ -]?5/', $encoding))\n\t{\n\t\tif (!function_exists('big5'))\n\t\t{\n\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx))\n\t\t\t{\n\t\t\t\ttrigger_error('CJK reencoder file is missing', E_USER_ERROR);\n\t\t\t}\n\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx);\n\t\t}\n\t\treturn big5($string);\n\t}\n\n\t// GB2312\n\tif (preg_match('/gb[_ -]?2312/', $encoding))\n\t{\n\t\tif (!function_exists('gb2312'))\n\t\t{\n\t\t\tif (!file_exists($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx))\n\t\t\t{\n\t\t\t\ttrigger_error('CJK reencoder file is missing', E_USER_ERROR);\n\t\t\t}\n\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_cjk.' . $phpEx);\n\t\t}\n\t\treturn gb2312($string);\n\t}\n\n\t// Trigger an error?! Fow now just give bad data :-(\n\ttrigger_error('Unknown encoding: ' . $encoding, E_USER_ERROR);\n\t//return $string; // use utf_normalizer::cleanup() ?\n}\n\n/**\n* Replace all UTF-8 chars that are not in ASCII with their NCR\n*\n* @param\tstring\t$text\t\tUTF-8 string in NFC\n* @return\tstring\t\t\t\tASCII string using NCRs for non-ASCII chars\n*/\nfunction utf8_encode_ncr($text)\n{\n\treturn preg_replace_callback('#[\\\\xC2-\\\\xF4][\\\\x80-\\\\xBF]{1,3}#', 'utf8_encode_ncr_callback', $text);\n}\n\n/**\n* Callback used in encode_ncr()\n*\n* Takes a UTF-8 char and replaces it with its NCR. Attention, $m is an array\n*\n* @param\tarray\t$m\t\t\t0-based numerically indexed array passed by preg_replace_callback()\n* @return\tstring\t\t\t\tA HTML NCR if the character is valid, or the original string otherwise\n*/\nfunction utf8_encode_ncr_callback($m)\n{\n\treturn '&#' . utf8_ord($m[0]) . ';';\n}\n\n/**\n* Converts a UTF-8 char to an NCR\n*\n* @param string $chr UTF-8 char\n* @return integer UNICODE code point\n*/\nfunction utf8_ord($chr)\n{\n\tswitch (strlen($chr))\n\t{\n\t\tcase 1:\n\t\t\treturn ord($chr);\n\t\tbreak;\n\n\t\tcase 2:\n\t\t\treturn ((ord($chr[0]) & 0x1F) << 6) | (ord($chr[1]) & 0x3F);\n\t\tbreak;\n\n\t\tcase 3:\n\t\t\treturn ((ord($chr[0]) & 0x0F) << 12) | ((ord($chr[1]) & 0x3F) << 6) | (ord($chr[2]) & 0x3F);\n\t\tbreak;\n\n\t\tcase 4:\n\t\t\treturn ((ord($chr[0]) & 0x07) << 18) | ((ord($chr[1]) & 0x3F) << 12) | ((ord($chr[2]) & 0x3F) << 6) | (ord($chr[3]) & 0x3F);\n\t\tbreak;\n\n\t\tdefault:\n\t\t\treturn $chr;\n\t}\n}\n\n/**\n* Converts an NCR to a UTF-8 char\n*\n* @param\tint\t\t$cp\tUNICODE code point\n* @return\tstring\t\tUTF-8 char\n*/\nfunction utf8_chr($cp)\n{\n\tif ($cp > 0xFFFF)\n\t{\n\t\treturn chr(0xF0 | ($cp >> 18)) . chr(0x80 | (($cp >> 12) & 0x3F)) . chr(0x80 | (($cp >> 6) & 0x3F)) . chr(0x80 | ($cp & 0x3F));\n\t}\n\telse if ($cp > 0x7FF)\n\t{\n\t\treturn chr(0xE0 | ($cp >> 12)) . chr(0x80 | (($cp >> 6) & 0x3F)) . chr(0x80 | ($cp & 0x3F));\n\t}\n\telse if ($cp > 0x7F)\n\t{\n\t\treturn chr(0xC0 | ($cp >> 6)) . chr(0x80 | ($cp & 0x3F));\n\t}\n\telse\n\t{\n\t\treturn chr($cp);\n\t}\n}\n\n/**\n* Convert Numeric Character References to UTF-8 chars\n*\n* Notes:\n*\t- we do not convert NCRs recursively, if you pass &#38;#38; it will return &#38;\n*\t- we DO NOT check for the existence of the Unicode characters, therefore an entity may be converted to an inexistent codepoint\n*\n* @param\tstring\t$text\t\tString to convert, encoded in UTF-8 (no normal form required)\n* @return\tstring\t\t\t\tUTF-8 string where NCRs have been replaced with the actual chars\n*/\nfunction utf8_decode_ncr($text)\n{\n\treturn preg_replace_callback('/&#([0-9]{1,6}|x[0-9A-F]{1,5});/i', 'utf8_decode_ncr_callback', $text);\n}\n\n/**\n* Callback used in decode_ncr()\n*\n* Takes a NCR (in decimal or hexadecimal) and returns a UTF-8 char. Attention, $m is an array.\n* It will ignore most of invalid NCRs, but not all!\n*\n* @param\tarray\t$m\t\t\t0-based numerically indexed array passed by preg_replace_callback()\n* @return\tstring\t\t\t\tUTF-8 char\n*/\nfunction utf8_decode_ncr_callback($m)\n{\n\t$cp = (strncasecmp($m[1], 'x', 1)) ? $m[1] : hexdec(substr($m[1], 1));\n\n\treturn utf8_chr($cp);\n}\n\n/**\n* Case folds a unicode string as per Unicode 5.0, section 3.13\n*\n* @param\tstring\t$text\ttext to be case folded\n* @param\tstring\t$option\tdetermines how we will fold the cases\n* @return\tstring\t\t\tcase folded text\n*/\nfunction utf8_case_fold($text, $option = 'full')\n{\n\tstatic $uniarray = array();\n\tglobal $phpbb_root_path, $phpEx;\n\n\t// common is always set\n\tif (!isset($uniarray['c']))\n\t{\n\t\t$uniarray['c'] = include($phpbb_root_path . 'includes/utf/data/case_fold_c.' . $phpEx);\n\t}\n\n\t// only set full if we need to\n\tif ($option === 'full' && !isset($uniarray['f']))\n\t{\n\t\t$uniarray['f'] = include($phpbb_root_path . 'includes/utf/data/case_fold_f.' . $phpEx);\n\t}\n\n\t// only set simple if we need to\n\tif ($option !== 'full' && !isset($uniarray['s']))\n\t{\n\t\t$uniarray['s'] = include($phpbb_root_path . 'includes/utf/data/case_fold_s.' . $phpEx);\n\t}\n\n\t// common is always replaced\n\t$text = strtr($text, $uniarray['c']);\n\n\tif ($option === 'full')\n\t{\n\t\t// full replaces a character with multiple characters\n\t\t$text = strtr($text, $uniarray['f']);\n\t}\n\telse\n\t{\n\t\t// simple replaces a character with another character\n\t\t$text = strtr($text, $uniarray['s']);\n\t}\n\n\treturn $text;\n}\n\n/**\n* Takes the input and does a \"special\" case fold. It does minor normalization\n* and returns NFKC compatable text\n*\n* @param\tstring\t$text\ttext to be case folded\n* @param\tstring\t$option\tdetermines how we will fold the cases\n* @return\tstring\t\t\tcase folded text\n*/\nfunction utf8_case_fold_nfkc($text, $option = 'full')\n{\n\tstatic $fc_nfkc_closure = array(\n\t\t\"\\xCD\\xBA\"\t=> \"\\x20\\xCE\\xB9\",\n\t\t\"\\xCF\\x92\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xCF\\x93\"\t=> \"\\xCF\\x8D\",\n\t\t\"\\xCF\\x94\"\t=> \"\\xCF\\x8B\",\n\t\t\"\\xCF\\xB2\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xCF\\xB9\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xE1\\xB4\\xAC\"\t=> \"\\x61\",\n\t\t\"\\xE1\\xB4\\xAD\"\t=> \"\\xC3\\xA6\",\n\t\t\"\\xE1\\xB4\\xAE\"\t=> \"\\x62\",\n\t\t\"\\xE1\\xB4\\xB0\"\t=> \"\\x64\",\n\t\t\"\\xE1\\xB4\\xB1\"\t=> \"\\x65\",\n\t\t\"\\xE1\\xB4\\xB2\"\t=> \"\\xC7\\x9D\",\n\t\t\"\\xE1\\xB4\\xB3\"\t=> \"\\x67\",\n\t\t\"\\xE1\\xB4\\xB4\"\t=> \"\\x68\",\n\t\t\"\\xE1\\xB4\\xB5\"\t=> \"\\x69\",\n\t\t\"\\xE1\\xB4\\xB6\"\t=> \"\\x6A\",\n\t\t\"\\xE1\\xB4\\xB7\"\t=> \"\\x6B\",\n\t\t\"\\xE1\\xB4\\xB8\"\t=> \"\\x6C\",\n\t\t\"\\xE1\\xB4\\xB9\"\t=> \"\\x6D\",\n\t\t\"\\xE1\\xB4\\xBA\"\t=> \"\\x6E\",\n\t\t\"\\xE1\\xB4\\xBC\"\t=> \"\\x6F\",\n\t\t\"\\xE1\\xB4\\xBD\"\t=> \"\\xC8\\xA3\",\n\t\t\"\\xE1\\xB4\\xBE\"\t=> \"\\x70\",\n\t\t\"\\xE1\\xB4\\xBF\"\t=> \"\\x72\",\n\t\t\"\\xE1\\xB5\\x80\"\t=> \"\\x74\",\n\t\t\"\\xE1\\xB5\\x81\"\t=> \"\\x75\",\n\t\t\"\\xE1\\xB5\\x82\"\t=> \"\\x77\",\n\t\t\"\\xE2\\x82\\xA8\""..., 8192) = 8192
22452 14:44:04.573551 brk(0x24d1000)    = 0x24d1000
22452 14:44:04.574822 read(3, "\"\\xC9\\x9B\",\n\t\t\"\\xE2\\x84\\x89\"\t=> \"\\xC2\\xB0\\x66\",\n\t\t\"\\xE2\\x84\\x8B\"\t=> \"\\x68\",\n\t\t\"\\xE2\\x84\\x8C\"\t=> \"\\x68\",\n\t\t\"\\xE2\\x84\\x8D\"\t=> \"\\x68\",\n\t\t\"\\xE2\\x84\\x90\"\t=> \"\\x69\",\n\t\t\"\\xE2\\x84\\x91\"\t=> \"\\x69\",\n\t\t\"\\xE2\\x84\\x92\"\t=> \"\\x6C\",\n\t\t\"\\xE2\\x84\\x95\"\t=> \"\\x6E\",\n\t\t\"\\xE2\\x84\\x96\"\t=> \"\\x6E\\x6F\",\n\t\t\"\\xE2\\x84\\x99\"\t=> \"\\x70\",\n\t\t\"\\xE2\\x84\\x9A\"\t=> \"\\x71\",\n\t\t\"\\xE2\\x84\\x9B\"\t=> \"\\x72\",\n\t\t\"\\xE2\\x84\\x9C\"\t=> \"\\x72\",\n\t\t\"\\xE2\\x84\\x9D\"\t=> \"\\x72\",\n\t\t\"\\xE2\\x84\\xA0\"\t=> \"\\x73\\x6D\",\n\t\t\"\\xE2\\x84\\xA1\"\t=> \"\\x74\\x65\\x6C\",\n\t\t\"\\xE2\\x84\\xA2\"\t=> \"\\x74\\x6D\",\n\t\t\"\\xE2\\x84\\xA4\"\t=> \"\\x7A\",\n\t\t\"\\xE2\\x84\\xA8\"\t=> \"\\x7A\",\n\t\t\"\\xE2\\x84\\xAC\"\t=> \"\\x62\",\n\t\t\"\\xE2\\x84\\xAD\"\t=> \"\\x63\",\n\t\t\"\\xE2\\x84\\xB0\"\t=> \"\\x65\",\n\t\t\"\\xE2\\x84\\xB1\"\t=> \"\\x66\",\n\t\t\"\\xE2\\x84\\xB3\"\t=> \"\\x6D\",\n\t\t\"\\xE2\\x84\\xBB\"\t=> \"\\x66\\x61\\x78\",\n\t\t\"\\xE2\\x84\\xBE\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xE2\\x84\\xBF\"\t=> \"\\xCF\\x80\",\n\t\t\"\\xE2\\x85\\x85\"\t=> \"\\x64\",\n\t\t\"\\xE3\\x89\\x90\"\t=> \"\\x70\\x74\\x65\",\n\t\t\"\\xE3\\x8B\\x8C\"\t=> \"\\x68\\x67\",\n\t\t\"\\xE3\\x8B\\x8E\"\t=> \"\\x65\\x76\",\n\t\t\"\\xE3\\x8B\\x8F\"\t=> \"\\x6C\\x74\\x64\",\n\t\t\"\\xE3\\x8D\\xB1\"\t=> \"\\x68\\x70\\x61\",\n\t\t\"\\xE3\\x8D\\xB3\"\t=> \"\\x61\\x75\",\n\t\t\"\\xE3\\x8D\\xB5\"\t=> \"\\x6F\\x76\",\n\t\t\"\\xE3\\x8D\\xBA\"\t=> \"\\x69\\x75\",\n\t\t\"\\xE3\\x8E\\x80\"\t=> \"\\x70\\x61\",\n\t\t\"\\xE3\\x8E\\x81\"\t=> \"\\x6E\\x61\",\n\t\t\"\\xE3\\x8E\\x82\"\t=> \"\\xCE\\xBC\\x61\",\n\t\t\"\\xE3\\x8E\\x83\"\t=> \"\\x6D\\x61\",\n\t\t\"\\xE3\\x8E\\x84\"\t=> \"\\x6B\\x61\",\n\t\t\"\\xE3\\x8E\\x85\"\t=> \"\\x6B\\x62\",\n\t\t\"\\xE3\\x8E\\x86\"\t=> \"\\x6D\\x62\",\n\t\t\"\\xE3\\x8E\\x87\"\t=> \"\\x67\\x62\",\n\t\t\"\\xE3\\x8E\\x8A\"\t=> \"\\x70\\x66\",\n\t\t\"\\xE3\\x8E\\x8B\"\t=> \"\\x6E\\x66\",\n\t\t\"\\xE3\\x8E\\x8C\"\t=> \"\\xCE\\xBC\\x66\",\n\t\t\"\\xE3\\x8E\\x90\"\t=> \"\\x68\\x7A\",\n\t\t\"\\xE3\\x8E\\x91\"\t=> \"\\x6B\\x68\\x7A\",\n\t\t\"\\xE3\\x8E\\x92\"\t=> \"\\x6D\\x68\\x7A\",\n\t\t\"\\xE3\\x8E\\x93\"\t=> \"\\x67\\x68\\x7A\",\n\t\t\"\\xE3\\x8E\\x94\"\t=> \"\\x74\\x68\\x7A\",\n\t\t\"\\xE3\\x8E\\xA9\"\t=> \"\\x70\\x61\",\n\t\t\"\\xE3\\x8E\\xAA\"\t=> \"\\x6B\\x70\\x61\",\n\t\t\"\\xE3\\x8E\\xAB\"\t=> \"\\x6D\\x70\\x61\",\n\t\t\"\\xE3\\x8E\\xAC\"\t=> \"\\x67\\x70\\x61\",\n\t\t\"\\xE3\\x8E\\xB4\"\t=> \"\\x70\\x76\",\n\t\t\"\\xE3\\x8E\\xB5\"\t=> \"\\x6E\\x76\",\n\t\t\"\\xE3\\x8E\\xB6\"\t=> \"\\xCE\\xBC\\x76\",\n\t\t\"\\xE3\\x8E\\xB7\"\t=> \"\\x6D\\x76\",\n\t\t\"\\xE3\\x8E\\xB8\"\t=> \"\\x6B\\x76\",\n\t\t\"\\xE3\\x8E\\xB9\"\t=> \"\\x6D\\x76\",\n\t\t\"\\xE3\\x8E\\xBA\"\t=> \"\\x70\\x77\",\n\t\t\"\\xE3\\x8E\\xBB\"\t=> \"\\x6E\\x77\",\n\t\t\"\\xE3\\x8E\\xBC\"\t=> \"\\xCE\\xBC\\x77\",\n\t\t\"\\xE3\\x8E\\xBD\"\t=> \"\\x6D\\x77\",\n\t\t\"\\xE3\\x8E\\xBE\"\t=> \"\\x6B\\x77\",\n\t\t\"\\xE3\\x8E\\xBF\"\t=> \"\\x6D\\x77\",\n\t\t\"\\xE3\\x8F\\x80\"\t=> \"\\x6B\\xCF\\x89\",\n\t\t\"\\xE3\\x8F\\x81\"\t=> \"\\x6D\\xCF\\x89\",\n\t\t\"\\xE3\\x8F\\x83\"\t=> \"\\x62\\x71\",\n\t\t\"\\xE3\\x8F\\x86\"\t=> \"\\x63\\xE2\\x88\\x95\\x6B\\x67\",\n\t\t\"\\xE3\\x8F\\x87\"\t=> \"\\x63\\x6F\\x2E\",\n\t\t\"\\xE3\\x8F\\x88\"\t=> \"\\x64\\x62\",\n\t\t\"\\xE3\\x8F\\x89\"\t=> \"\\x67\\x79\",\n\t\t\"\\xE3\\x8F\\x8B\"\t=> \"\\x68\\x70\",\n\t\t\"\\xE3\\x8F\\x8D\"\t=> \"\\x6B\\x6B\",\n\t\t\"\\xE3\\x8F\\x8E\"\t=> \"\\x6B\\x6D\",\n\t\t\"\\xE3\\x8F\\x97\"\t=> \"\\x70\\x68\",\n\t\t\"\\xE3\\x8F\\x99\"\t=> \"\\x70\\x70\\x6D\",\n\t\t\"\\xE3\\x8F\\x9A\"\t=> \"\\x70\\x72\",\n\t\t\"\\xE3\\x8F\\x9C\"\t=> \"\\x73\\x76\",\n\t\t\"\\xE3\\x8F\\x9D\"\t=> \"\\x77\\x62\",\n\t\t\"\\xE3\\x8F\\x9E\"\t=> \"\\x76\\xE2\\x88\\x95\\x6D\",\n\t\t\"\\xE3\\x8F\\x9F\"\t=> \"\\x61\\xE2\\x88\\x95\\x6D\",\n\t\t\"\\xF0\\x9D\\x90\\x80\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x90\\x81\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x90\\x82\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x90\\x83\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x90\\x84\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x90\\x85\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x90\\x86\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x90\\x87\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x90\\x88\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x90\\x89\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x90\\x8A\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x90\\x8B\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x90\\x8C\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x90\\x8D\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x90\\x8E\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x90\\x8F\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x90\\x90\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x90\\x91\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x90\\x92\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x90\\x93\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x90\\x94\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x90\\x95\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x90\\x96\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x90\\x97\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x90\\x98\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x90\\x99\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x90\\xB4\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x90\\xB5\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x90\\xB6\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x90\\xB7\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x90\\xB8\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x90\\xB9\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x90\\xBA\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x90\\xBB\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x90\\xBC\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x90\\xBD\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x90\\xBE\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x90\\xBF\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x91\\x80\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x91\\x81\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x91\\x82\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x91\\x83\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x91\\x84\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x91\\x85\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x91\\x86\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x91\\x87\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x91\\x88\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x91\\x89\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x91\\x8A\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x91\\x8B\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x91\\x8C\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x91\\x8D\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x91\\xA8\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x91\\xA9\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x91\\xAA\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x91\\xAB\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x91\\xAC\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x91\\xAD\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x91\\xAE\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x91\\xAF\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x91\\xB0\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x91\\xB1\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x91\\xB2\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x91\\xB3\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x91\\xB4\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x91\\xB5\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x91\\xB6\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x91\\xB7\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x91\\xB8\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x91\\xB9\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x91\\xBA\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x91\\xBB\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x91\\xBC\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x91\\xBD\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x91\\xBE\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x91\\xBF\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x92\\x80\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x92\\x81\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x92\\x9C\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x92\\x9E\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x92\\x9F\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x92\\xA2\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x92\\xA5\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x92\\xA6\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x92\\xA9\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x92\\xAA\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x92\\xAB\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x92\\xAC\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x92\\xAE\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x92\\xAF\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x92\\xB0\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x92\\xB1\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x92\\xB2\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x92\\xB3\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x92\\xB4\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x92\\xB5\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x93\\x90\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x93\\x91\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x93\\x92\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x93\\x93\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x93\\x94\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x93\\x95\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x93\\x96\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x93\\x97\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x93\\x98\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x93\\x99\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x93\\x9A\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x93\\x9B\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x93\\x9C\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x93\\x9D\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x93\\x9E\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x93\\x9F\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x93\\xA0\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x93\\xA1\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x93\\xA2\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x93\\xA3\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x93\\xA4\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x93\\xA5\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x93\\xA6\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x93\\xA7\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x93\\xA8\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x93\\xA9\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x94\\x84\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x94\\x85\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x94\\x87\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x94\\x88\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x94\\x89\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x94\\x8A\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x94\\x8D\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x94\\x8E\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x94\\x8F\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x94\\x90\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x94\\x91\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x94\\x92\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x94\\x93\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x94\\x94\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x94\\x96\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x94\\x97\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x94\\x98\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x94\\x99\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x94\\x9A\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x94\\x9B\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x94\\x9C\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x94\\xB8\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x94\\xB9\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x94\\xBB\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x94\\xBC\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x94\\xBD\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x94\\xBE\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x95\\x80\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x95\\x81\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x95\\x82\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x95\\x83\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x95\\x84\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x95\\x86\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x95\\x8A\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x95\\x8B\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x95\\x8C\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x95\\x8D\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x95\\x8E\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x95\\x8F\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x95\\x90\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x95\\xAC\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x95\\xAD\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x95\\xAE\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x95\\xAF\"\t=> \"\\x64\",\n\t\t\"\\"..., 8192) = 8192
22452 14:44:04.577072 read(3, "x9D\\x95\\xB3\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x95\\xB4\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x95\\xB5\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x95\\xB6\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x95\\xB7\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x95\\xB8\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x95\\xB9\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x95\\xBA\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x95\\xBB\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x95\\xBC\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x95\\xBD\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x95\\xBE\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x95\\xBF\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x96\\x80\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x96\\x81\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x96\\x82\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x96\\x83\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x96\\x84\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x96\\x85\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x96\\xA0\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x96\\xA1\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x96\\xA2\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x96\\xA3\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x96\\xA4\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x96\\xA5\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x96\\xA6\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x96\\xA7\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x96\\xA8\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x96\\xA9\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x96\\xAA\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x96\\xAB\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x96\\xAC\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x96\\xAD\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x96\\xAE\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x96\\xAF\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x96\\xB0\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x96\\xB1\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x96\\xB2\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x96\\xB3\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x96\\xB4\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x96\\xB5\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x96\\xB6\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x96\\xB7\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x96\\xB8\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x96\\xB9\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x97\\x94\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x97\\x95\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x97\\x96\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x97\\x97\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x97\\x98\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x97\\x99\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x97\\x9A\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x97\\x9B\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x97\\x9C\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x97\\x9D\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x97\\x9E\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x97\\x9F\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x97\\xA0\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x97\\xA1\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x97\\xA2\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x97\\xA3\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x97\\xA4\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x97\\xA5\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x97\\xA6\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x97\\xA7\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x97\\xA8\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x97\\xA9\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x97\\xAA\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x97\\xAB\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x97\\xAC\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x97\\xAD\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x98\\x88\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x98\\x89\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x98\\x8A\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x98\\x8B\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x98\\x8C\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x98\\x8D\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x98\\x8E\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x98\\x8F\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x98\\x90\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x98\\x91\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x98\\x92\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x98\\x93\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x98\\x94\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x98\\x95\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x98\\x96\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x98\\x97\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x98\\x98\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x98\\x99\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x98\\x9A\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x98\\x9B\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x98\\x9C\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x98\\x9D\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x98\\x9E\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x98\\x9F\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x98\\xA0\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x98\\xA1\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x98\\xBC\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x98\\xBD\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x98\\xBE\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x98\\xBF\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x99\\x80\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x99\\x81\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x99\\x82\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x99\\x83\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x99\\x84\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x99\\x85\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x99\\x86\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x99\\x87\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x99\\x88\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x99\\x89\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x99\\x8A\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x99\\x8B\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x99\\x8C\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x99\\x8D\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x99\\x8E\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x99\\x8F\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x99\\x90\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x99\\x91\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x99\\x92\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x99\\x93\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x99\\x94\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x99\\x95\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x99\\xB0\"\t=> \"\\x61\",\n\t\t\"\\xF0\\x9D\\x99\\xB1\"\t=> \"\\x62\",\n\t\t\"\\xF0\\x9D\\x99\\xB2\"\t=> \"\\x63\",\n\t\t\"\\xF0\\x9D\\x99\\xB3\"\t=> \"\\x64\",\n\t\t\"\\xF0\\x9D\\x99\\xB4\"\t=> \"\\x65\",\n\t\t\"\\xF0\\x9D\\x99\\xB5\"\t=> \"\\x66\",\n\t\t\"\\xF0\\x9D\\x99\\xB6\"\t=> \"\\x67\",\n\t\t\"\\xF0\\x9D\\x99\\xB7\"\t=> \"\\x68\",\n\t\t\"\\xF0\\x9D\\x99\\xB8\"\t=> \"\\x69\",\n\t\t\"\\xF0\\x9D\\x99\\xB9\"\t=> \"\\x6A\",\n\t\t\"\\xF0\\x9D\\x99\\xBA\"\t=> \"\\x6B\",\n\t\t\"\\xF0\\x9D\\x99\\xBB\"\t=> \"\\x6C\",\n\t\t\"\\xF0\\x9D\\x99\\xBC\"\t=> \"\\x6D\",\n\t\t\"\\xF0\\x9D\\x99\\xBD\"\t=> \"\\x6E\",\n\t\t\"\\xF0\\x9D\\x99\\xBE\"\t=> \"\\x6F\",\n\t\t\"\\xF0\\x9D\\x99\\xBF\"\t=> \"\\x70\",\n\t\t\"\\xF0\\x9D\\x9A\\x80\"\t=> \"\\x71\",\n\t\t\"\\xF0\\x9D\\x9A\\x81\"\t=> \"\\x72\",\n\t\t\"\\xF0\\x9D\\x9A\\x82\"\t=> \"\\x73\",\n\t\t\"\\xF0\\x9D\\x9A\\x83\"\t=> \"\\x74\",\n\t\t\"\\xF0\\x9D\\x9A\\x84\"\t=> \"\\x75\",\n\t\t\"\\xF0\\x9D\\x9A\\x85\"\t=> \"\\x76\",\n\t\t\"\\xF0\\x9D\\x9A\\x86\"\t=> \"\\x77\",\n\t\t\"\\xF0\\x9D\\x9A\\x87\"\t=> \"\\x78\",\n\t\t\"\\xF0\\x9D\\x9A\\x88\"\t=> \"\\x79\",\n\t\t\"\\xF0\\x9D\\x9A\\x89\"\t=> \"\\x7A\",\n\t\t\"\\xF0\\x9D\\x9A\\xA8\"\t=> \"\\xCE\\xB1\",\n\t\t\"\\xF0\\x9D\\x9A\\xA9\"\t=> \"\\xCE\\xB2\",\n\t\t\"\\xF0\\x9D\\x9A\\xAA\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xF0\\x9D\\x9A\\xAB\"\t=> \"\\xCE\\xB4\",\n\t\t\"\\xF0\\x9D\\x9A\\xAC\"\t=> \"\\xCE\\xB5\",\n\t\t\"\\xF0\\x9D\\x9A\\xAD\"\t=> \"\\xCE\\xB6\",\n\t\t\"\\xF0\\x9D\\x9A\\xAE\"\t=> \"\\xCE\\xB7\",\n\t\t\"\\xF0\\x9D\\x9A\\xAF\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9A\\xB0\"\t=> \"\\xCE\\xB9\",\n\t\t\"\\xF0\\x9D\\x9A\\xB1\"\t=> \"\\xCE\\xBA\",\n\t\t\"\\xF0\\x9D\\x9A\\xB2\"\t=> \"\\xCE\\xBB\",\n\t\t\"\\xF0\\x9D\\x9A\\xB3\"\t=> \"\\xCE\\xBC\",\n\t\t\"\\xF0\\x9D\\x9A\\xB4\"\t=> \"\\xCE\\xBD\",\n\t\t\"\\xF0\\x9D\\x9A\\xB5\"\t=> \"\\xCE\\xBE\",\n\t\t\"\\xF0\\x9D\\x9A\\xB6\"\t=> \"\\xCE\\xBF\",\n\t\t\"\\xF0\\x9D\\x9A\\xB7\"\t=> \"\\xCF\\x80\",\n\t\t\"\\xF0\\x9D\\x9A\\xB8\"\t=> \"\\xCF\\x81\",\n\t\t\"\\xF0\\x9D\\x9A\\xB9\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9A\\xBA\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9A\\xBB\"\t=> \"\\xCF\\x84\",\n\t\t\"\\xF0\\x9D\\x9A\\xBC\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xF0\\x9D\\x9A\\xBD\"\t=> \"\\xCF\\x86\",\n\t\t\"\\xF0\\x9D\\x9A\\xBE\"\t=> \"\\xCF\\x87\",\n\t\t\"\\xF0\\x9D\\x9A\\xBF\"\t=> \"\\xCF\\x88\",\n\t\t\"\\xF0\\x9D\\x9B\\x80\"\t=> \"\\xCF\\x89\",\n\t\t\"\\xF0\\x9D\\x9B\\x93\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9B\\xA2\"\t=> \"\\xCE\\xB1\",\n\t\t\"\\xF0\\x9D\\x9B\\xA3\"\t=> \"\\xCE\\xB2\",\n\t\t\"\\xF0\\x9D\\x9B\\xA4\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xF0\\x9D\\x9B\\xA5\"\t=> \"\\xCE\\xB4\",\n\t\t\"\\xF0\\x9D\\x9B\\xA6\"\t=> \"\\xCE\\xB5\",\n\t\t\"\\xF0\\x9D\\x9B\\xA7\"\t=> \"\\xCE\\xB6\",\n\t\t\"\\xF0\\x9D\\x9B\\xA8\"\t=> \"\\xCE\\xB7\",\n\t\t\"\\xF0\\x9D\\x9B\\xA9\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9B\\xAA\"\t=> \"\\xCE\\xB9\",\n\t\t\"\\xF0\\x9D\\x9B\\xAB\"\t=> \"\\xCE\\xBA\",\n\t\t\"\\xF0\\x9D\\x9B\\xAC\"\t=> \"\\xCE\\xBB\",\n\t\t\"\\xF0\\x9D\\x9B\\xAD\"\t=> \"\\xCE\\xBC\",\n\t\t\"\\xF0\\x9D\\x9B\\xAE\"\t=> \"\\xCE\\xBD\",\n\t\t\"\\xF0\\x9D\\x9B\\xAF\"\t=> \"\\xCE\\xBE\",\n\t\t\"\\xF0\\x9D\\x9B\\xB0\"\t=> \"\\xCE\\xBF\",\n\t\t\"\\xF0\\x9D\\x9B\\xB1\"\t=> \"\\xCF\\x80\",\n\t\t\"\\xF0\\x9D\\x9B\\xB2\"\t=> \"\\xCF\\x81\",\n\t\t\"\\xF0\\x9D\\x9B\\xB3\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9B\\xB4\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9B\\xB5\"\t=> \"\\xCF\\x84\",\n\t\t\"\\xF0\\x9D\\x9B\\xB6\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xF0\\x9D\\x9B\\xB7\"\t=> \"\\xCF\\x86\",\n\t\t\"\\xF0\\x9D\\x9B\\xB8\"\t=> \"\\xCF\\x87\",\n\t\t\"\\xF0\\x9D\\x9B\\xB9\"\t=> \"\\xCF\\x88\",\n\t\t\"\\xF0\\x9D\\x9B\\xBA\"\t=> \"\\xCF\\x89\",\n\t\t\"\\xF0\\x9D\\x9C\\x8D\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9C\\x9C\"\t=> \"\\xCE\\xB1\",\n\t\t\"\\xF0\\x9D\\x9C\\x9D\"\t=> \"\\xCE\\xB2\",\n\t\t\"\\xF0\\x9D\\x9C\\x9E\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xF0\\x9D\\x9C\\x9F\"\t=> \"\\xCE\\xB4\",\n\t\t\"\\xF0\\x9D\\x9C\\xA0\"\t=> \"\\xCE\\xB5\",\n\t\t\"\\xF0\\x9D\\x9C\\xA1\"\t=> \"\\xCE\\xB6\",\n\t\t\"\\xF0\\x9D\\x9C\\xA2\"\t=> \"\\xCE\\xB7\",\n\t\t\"\\xF0\\x9D\\x9C\\xA3\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9C\\xA4\"\t=> \"\\xCE\\xB9\",\n\t\t\"\\xF0\\x9D\\x9C\\xA5\"\t=> \"\\xCE\\xBA\",\n\t\t\"\\xF0\\x9D\\x9C\\xA6\"\t=> \"\\xCE\\xBB\",\n\t\t\"\\xF0\\x9D\\x9C\\xA7\"\t=> \"\\xCE\\xBC\",\n\t\t\"\\xF0\\x9D\\x9C\\xA8\"\t=> \"\\xCE\\xBD\",\n\t\t\"\\xF0\\x9D\\x9C\\xA9\"\t=> \"\\xCE\\xBE\",\n\t\t\"\\xF0\\x9D\\x9C\\xAA\"\t=> \"\\xCE\\xBF\",\n\t\t\"\\xF0\\x9D\\x9C\\xAB\"\t=> \"\\xCF\\x80\",\n\t\t\"\\xF0\\x9D\\x9C\\xAC\"\t=> \"\\xCF\\x81\",\n\t\t\"\\xF0\\x9D\\x9C\\xAD\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9C\\xAE\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9C\\xAF\"\t=> \"\\xCF\\x84\",\n\t\t\"\\xF0\\x9D\\x9C\\xB0\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xF0\\x9D\\x9C\\xB1\"\t=> \"\\xCF\\x86\",\n\t\t\"\\xF0\\x9D\\x9C\\xB2\"\t=> \"\\xCF\\x87\",\n\t\t\"\\xF0\\x9D\\x9C\\xB3\"\t=> \"\\xCF\\x88\",\n\t\t\"\\xF0\\x9D\\x9C\\xB4\"\t=> \"\\xCF\\x89\",\n\t\t\"\\xF0\\x9D\\x9D\\x87\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9D\\x96\"\t=> \"\\xCE\\xB1\",\n\t\t\"\\xF0\\x9D\\x9D\\x97\"\t=> \"\\xCE\\xB2\",\n\t\t\"\\xF0\\x9D\\x9D\\x98\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xF0\\x9D\\x9D\\x99\"\t=> \"\\xCE\\xB4\",\n\t\t\"\\xF0\\x9D\\x9D\\x9A\"\t=> \"\\xCE\\xB5\",\n\t\t\"\\xF0\\x9D\\x9D\\x9B\"\t=> \"\\xCE\\xB6\",\n\t\t\"\\xF0\\x9D\\x9D\\x9C\"\t=> \"\\xCE\\xB7\",\n\t\t\"\\xF0\\x9D\\x9D\\x9D\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9D\\x9E\"\t=> \"\\xCE\\xB9\",\n\t\t\"\\xF0\\x9D\\x9D\\x9F\"\t=> \"\\xCE\\xBA\",\n\t\t\"\\xF0\\x9D\\x9D\\xA0\"\t=> \"\\xCE\\xBB\",\n\t\t\"\\xF0\\x9D\\x9D\\xA1\"\t=> \"\\xCE\\xBC\",\n\t\t\"\\xF0\\x9D\\x9D\\xA2\"\t=> \"\\xCE\\xBD\",\n\t\t\"\\xF0\\x9D\\x9D\\xA3\"\t=> \"\\xCE\\xBE\",\n\t\t\"\\xF0\\x9D\\x9D\\xA4\""..., 8192) = 8192
22452 14:44:04.579140 read(3, "x9D\\xA7\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9D\\xA8\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9D\\xA9\"\t=> \"\\xCF\\x84\",\n\t\t\"\\xF0\\x9D\\x9D\\xAA\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xF0\\x9D\\x9D\\xAB\"\t=> \"\\xCF\\x86\",\n\t\t\"\\xF0\\x9D\\x9D\\xAC\"\t=> \"\\xCF\\x87\",\n\t\t\"\\xF0\\x9D\\x9D\\xAD\"\t=> \"\\xCF\\x88\",\n\t\t\"\\xF0\\x9D\\x9D\\xAE\"\t=> \"\\xCF\\x89\",\n\t\t\"\\xF0\\x9D\\x9E\\x81\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9E\\x90\"\t=> \"\\xCE\\xB1\",\n\t\t\"\\xF0\\x9D\\x9E\\x91\"\t=> \"\\xCE\\xB2\",\n\t\t\"\\xF0\\x9D\\x9E\\x92\"\t=> \"\\xCE\\xB3\",\n\t\t\"\\xF0\\x9D\\x9E\\x93\"\t=> \"\\xCE\\xB4\",\n\t\t\"\\xF0\\x9D\\x9E\\x94\"\t=> \"\\xCE\\xB5\",\n\t\t\"\\xF0\\x9D\\x9E\\x95\"\t=> \"\\xCE\\xB6\",\n\t\t\"\\xF0\\x9D\\x9E\\x96\"\t=> \"\\xCE\\xB7\",\n\t\t\"\\xF0\\x9D\\x9E\\x97\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9E\\x98\"\t=> \"\\xCE\\xB9\",\n\t\t\"\\xF0\\x9D\\x9E\\x99\"\t=> \"\\xCE\\xBA\",\n\t\t\"\\xF0\\x9D\\x9E\\x9A\"\t=> \"\\xCE\\xBB\",\n\t\t\"\\xF0\\x9D\\x9E\\x9B\"\t=> \"\\xCE\\xBC\",\n\t\t\"\\xF0\\x9D\\x9E\\x9C\"\t=> \"\\xCE\\xBD\",\n\t\t\"\\xF0\\x9D\\x9E\\x9D\"\t=> \"\\xCE\\xBE\",\n\t\t\"\\xF0\\x9D\\x9E\\x9E\"\t=> \"\\xCE\\xBF\",\n\t\t\"\\xF0\\x9D\\x9E\\x9F\"\t=> \"\\xCF\\x80\",\n\t\t\"\\xF0\\x9D\\x9E\\xA0\"\t=> \"\\xCF\\x81\",\n\t\t\"\\xF0\\x9D\\x9E\\xA1\"\t=> \"\\xCE\\xB8\",\n\t\t\"\\xF0\\x9D\\x9E\\xA2\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9E\\xA3\"\t=> \"\\xCF\\x84\",\n\t\t\"\\xF0\\x9D\\x9E\\xA4\"\t=> \"\\xCF\\x85\",\n\t\t\"\\xF0\\x9D\\x9E\\xA5\"\t=> \"\\xCF\\x86\",\n\t\t\"\\xF0\\x9D\\x9E\\xA6\"\t=> \"\\xCF\\x87\",\n\t\t\"\\xF0\\x9D\\x9E\\xA7\"\t=> \"\\xCF\\x88\",\n\t\t\"\\xF0\\x9D\\x9E\\xA8\"\t=> \"\\xCF\\x89\",\n\t\t\"\\xF0\\x9D\\x9E\\xBB\"\t=> \"\\xCF\\x83\",\n\t\t\"\\xF0\\x9D\\x9F\\x8A\"\t=> \"\\xCF\\x9D\",\n\t);\n\tglobal $phpbb_root_path, $phpEx;\n\n\t// do the case fold\n\t$text = utf8_case_fold($text, $option);\n\n\tif (!class_exists('utf_normalizer'))\n\t{\n\t\tglobal $phpbb_root_path, $phpEx;\n\t\tinclude($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);\n\t}\n\n\t// convert to NFKC\n\tutf_normalizer::nfkc($text);\n\n\t// FC_NFKC_Closure, http://www.unicode.org/Public/5.0.0/ucd/DerivedNormalizationProps.txt\n\t$text = strtr($text, $fc_nfkc_closure);\n\n\treturn $text;\n}\n\n/**\n* Assume the input is NFC:\n* Takes the input and does a \"special\" case fold. It does minor normalization as well.\n*\n* @param\tstring\t$text\ttext to be case folded\n* @param\tstring\t$option\tdetermines how we will fold the cases\n* @return\tstring\t\t\tcase folded text\n*/\nfunction utf8_case_fold_nfc($text, $option = 'full')\n{\n\tstatic $uniarray = array();\n\tstatic $ypogegrammeni = array(\n\t\t\"\\xCD\\xBA\"\t\t=> \"\\x20\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x80\"\t=> \"\\xE1\\xBC\\x80\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x81\"\t=> \"\\xE1\\xBC\\x81\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x82\"\t=> \"\\xE1\\xBC\\x82\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x83\"\t=> \"\\xE1\\xBC\\x83\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x84\"\t=> \"\\xE1\\xBC\\x84\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x85\"\t=> \"\\xE1\\xBC\\x85\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x86\"\t=> \"\\xE1\\xBC\\x86\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x87\"\t=> \"\\xE1\\xBC\\x87\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x88\"\t=> \"\\xE1\\xBC\\x88\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x89\"\t=> \"\\xE1\\xBC\\x89\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8A\"\t=> \"\\xE1\\xBC\\x8A\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8B\"\t=> \"\\xE1\\xBC\\x8B\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8C\"\t=> \"\\xE1\\xBC\\x8C\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8D\"\t=> \"\\xE1\\xBC\\x8D\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8E\"\t=> \"\\xE1\\xBC\\x8E\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x8F\"\t=> \"\\xE1\\xBC\\x8F\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x90\"\t=> \"\\xE1\\xBC\\xA0\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x91\"\t=> \"\\xE1\\xBC\\xA1\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x92\"\t=> \"\\xE1\\xBC\\xA2\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x93\"\t=> \"\\xE1\\xBC\\xA3\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x94\"\t=> \"\\xE1\\xBC\\xA4\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x95\"\t=> \"\\xE1\\xBC\\xA5\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x96\"\t=> \"\\xE1\\xBC\\xA6\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x97\"\t=> \"\\xE1\\xBC\\xA7\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x98\"\t=> \"\\xE1\\xBC\\xA8\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x99\"\t=> \"\\xE1\\xBC\\xA9\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9A\"\t=> \"\\xE1\\xBC\\xAA\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9B\"\t=> \"\\xE1\\xBC\\xAB\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9C\"\t=> \"\\xE1\\xBC\\xAC\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9D\"\t=> \"\\xE1\\xBC\\xAD\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9E\"\t=> \"\\xE1\\xBC\\xAE\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\x9F\"\t=> \"\\xE1\\xBC\\xAF\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA0\"\t=> \"\\xE1\\xBD\\xA0\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA1\"\t=> \"\\xE1\\xBD\\xA1\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA2\"\t=> \"\\xE1\\xBD\\xA2\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA3\"\t=> \"\\xE1\\xBD\\xA3\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA4\"\t=> \"\\xE1\\xBD\\xA4\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA5\"\t=> \"\\xE1\\xBD\\xA5\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA6\"\t=> \"\\xE1\\xBD\\xA6\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA7\"\t=> \"\\xE1\\xBD\\xA7\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA8\"\t=> \"\\xE1\\xBD\\xA8\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xA9\"\t=> \"\\xE1\\xBD\\xA9\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAA\"\t=> \"\\xE1\\xBD\\xAA\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAB\"\t=> \"\\xE1\\xBD\\xAB\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAC\"\t=> \"\\xE1\\xBD\\xAC\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAD\"\t=> \"\\xE1\\xBD\\xAD\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAE\"\t=> \"\\xE1\\xBD\\xAE\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xAF\"\t=> \"\\xE1\\xBD\\xAF\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xB2\"\t=> \"\\xE1\\xBD\\xB0\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xB3\"\t=> \"\\xCE\\xB1\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xB4\"\t=> \"\\xCE\\xAC\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xB7\"\t=> \"\\xE1\\xBE\\xB6\\xCD\\x85\",\n\t\t\"\\xE1\\xBE\\xBC\"\t=> \"\\xCE\\x91\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\x82\"\t=> \"\\xE1\\xBD\\xB4\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\x83\"\t=> \"\\xCE\\xB7\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\x84\"\t=> \"\\xCE\\xAE\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\x87\"\t=> \"\\xE1\\xBF\\x86\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\x8C\"\t=> \"\\xCE\\x97\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\xB2\"\t=> \"\\xE1\\xBD\\xBC\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\xB3\"\t=> \"\\xCF\\x89\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\xB4\"\t=> \"\\xCF\\x8E\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\xB7\"\t=> \"\\xE1\\xBF\\xB6\\xCD\\x85\",\n\t\t\"\\xE1\\xBF\\xBC\"\t=> \"\\xCE\\xA9\\xCD\\x85\",\n\t);\n\tglobal $phpbb_root_path, $phpEx;\n\n\t// perform a small trick, avoid further normalization on composed points that contain U+0345 in their decomposition\n\t$text = strtr($text, $ypogegrammeni);\n\n\t// do the case fold\n\t$text = utf8_case_fold($text, $option);\n\n\treturn $text;\n}\n\n/**\n* A wrapper function for the normalizer which takes care of including the class if required and modifies the passed strings\n* to be in NFC (Normalization Form Composition).\n*\n* @param\tmixed\t$strings\ta string or an array of strings to normalize\n* @return\tmixed\t\t\t\tthe normalized content, preserving array keys if array given.\n*/\nfunction utf8_normalize_nfc($strings)\n{\n\tif (empty($strings))\n\t{\n\t\treturn $strings;\n\t}\n\n\tif (!class_exists('utf_normalizer'))\n\t{\n\t\tglobal $phpbb_root_path, $phpEx;\n\t\tinclude($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);\n\t}\n\n\tif (!is_array($strings))\n\t{\n\t\tutf_normalizer::nfc($strings);\n\t}\n\telse if (is_array($strings))\n\t{\n\t\tforeach ($strings as $key => $string)\n\t\t{\n\t\t\tif (is_array($string))\n\t\t\t{\n\t\t\t\tforeach ($string as $_key => $_string)\n\t\t\t\t{\n\t\t\t\t\tutf_normalizer::nfc($strings[$key][$_key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tutf_normalizer::nfc($strings[$key]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn $strings;\n}\n\n/**\n* This function is used to generate a \"clean\" version of a string.\n* Clean means that it is a case insensitive form (case folding) and that it is normalized (NFC).\n* Additionally a homographs of one character are transformed into one specific character (preferably ASCII\n* if it is an ASCII character).\n*\n* Please be aware that if you change something within this function or within\n* functions used here you need to rebuild/update the username_clean column in the users table. And all other\n* columns that store a clean string otherwise you will break this functionality.\n*\n* @param\tstring\t$text\tAn unclean string, mabye user input (has to be valid UTF-8!)\n* @return\tstring\t\t\tCleaned up version of the input string\n*/\nfunction utf8_clean_string($text)\n{\n\tglobal $phpbb_root_path, $phpEx;\n\n\tstatic $homographs = array();\n\tif (empty($homographs))\n\t{\n\t\t$homographs = include($phpbb_root_path . 'includes/utf/data/confusables.' . $phpEx);\n\t}\n\n\t$text = utf8_case_fold_nfkc($text);\n\t$text = strtr($text, $homographs);\n\t// Other control characters\n\t$text = preg_replace('#(?:[\\x00-\\x1F\\x7F]+|(?:\\xC2[\\x80-\\x9F])+)#', '', $text);\n\n\t// we need to reduce multiple spaces to a single one\n\t$text = preg_replace('# {2,}#', ' ', $text);\n\n\t// we can use trim here as all the other space characters should have been turned\n\t// into normal ASCII spaces by now\n\treturn trim($text);\n}\n\n/**\n* A wrapper for htmlspecialchars($value, ENT_COMPAT, 'UTF-8')\n*/\nfunction utf8_htmlspecialchars($value)\n{\n\treturn htmlspecialchars($value, ENT_COMPAT, 'UTF-8');\n}\n\n/**\n* Trying to convert returned system message to utf8\n*\n* PHP assumes such messages are ISO-8859-1 so we'll do that too\n* and if it breaks messages we'll blame it on them ;-)\n*/\nfunction utf8_convert_message($message)\n{\n\t// First of all check if conversion is neded at all, as there is no point\n\t// in converting ASCII messages from ISO-8859-1 to UTF-8\n\tif (!preg_match('/[\\x80-\\xFF]/', $message))\n\t{\n\t\treturn utf8_htmlspecialchars($message);"..., 8192) = 8192
22452 14:44:04.581390 read(3, "$message, 'ISO-8859-1'));\n}\n\n/**\n* UTF8-compatible wordwrap replacement\n*\n* @param\tstring\t$string\tThe input string\n* @param\tint\t\t$width\tThe column width. Defaults to 75.\n* @param\tstring\t$break\tThe line is broken using the optional break parameter. Defaults to '\\n'.\n* @param\tbool\t$cut\tIf the cut is set to TRUE, the string is always wrapped at the specified width. So if you have a word that is larger than the given width, it is broken apart.\n*\n* @return\tstring\t\t\tthe given string wrapped at the specified column.\n*\n*/\nfunction utf8_wordwrap($string, $width = 75, $break = \"\\n\", $cut = false)\n{\n\t// We first need to explode on $break, not destroying existing (intended) breaks\n\t$lines = explode($break, $string);\n\t$new_lines = array(0 => '');\n\t$index = 0;\n\n\tforeach ($lines as $line)\n\t{\n\t\t$words = explode(' ', $line);\n\n\t\tfor ($i = 0, $size = sizeof($words); $i < $size; $i++)\n\t\t{\n\t\t\t$word = $words[$i];\n\n\t\t\t// If cut is true we need to cut the word if it is > width chars\n\t\t\tif ($cut && utf8_strlen($word) > $width)\n\t\t\t{\n\t\t\t\t$words[$i] = utf8_substr($word, $width);\n\t\t\t\t$word = utf8_substr($word, 0, $width);\n\t\t\t\t$i--;\n\t\t\t}\n\n\t\t\tif (utf8_strlen($new_lines[$index] . $word) > $width)\n\t\t\t{\n\t\t\t\t$new_lines[$index] = substr($new_lines[$index], 0, -1);\n\t\t\t\t$index++;\n\t\t\t\t$new_lines[$index] = '';\n\t\t\t}\n\n\t\t\t$new_lines[$index] .= $word . ' ';\n\t\t}\n\n\t\t$new_lines[$index] = substr($new_lines[$index], 0, -1);\n\t\t$index++;\n\t\t$new_lines[$index] = '';\n\t}\n\n\tunset($new_lines[$index]);\n\treturn implode($break, $new_lines);\n}\n\n/**\n* UTF8-safe basename() function\n*\n* basename() has some limitations and is dependent on the locale setting\n* according to the PHP manual. Therefore we provide our own locale independant\n* basename function.\n*\n* @param string $filename The filename basename() should be applied to\n* @return string The basenamed filename\n*/\nfunction utf8_basename($filename)\n{\n\t// We always check for forward slash AND backward slash\n\t// because they could be mixed or \"sneaked\" in. ;)\n\t// You know, never trust user input...\n\tif (strpos($filename, '/') !== false)\n\t{\n\t\t$filename = utf8_substr($filename, utf8_strrpos($filename, '/') + 1);\n\t}\n\n\tif (strpos($filename, '\\\\') !== false)\n\t{\n\t\t$filename = utf8_substr($filename, utf8_strrpos($filename, '\\\\') + 1);\n\t}\n\n\treturn $filename;\n}\n\n/**\n* UTF8-safe str_replace() function\n*\n* @param string $search The value to search for\n* @param string $replace The replacement string\n* @param string $subject The target string\n* @return string The resultant string\n*/\nfunction utf8_str_replace($search, $replace, $subject)\n{\n\tif (!is_array($search))\n\t{\n\t\t$search = array($search);\n\t\tif (is_array($replace))\n\t\t{\n\t\t\t$replace = (string) $replace;\n\t\t\ttrigger_error('Array to string conversion', E_USER_NOTICE);\n\t\t}\n\t}\n\n\t$length = sizeof($search);\n\n\tif (!is_array($replace))\n\t{\n\t\t$replace = array_fill(0, $length, $replace);\n\t}\n\telse\n\t{\n\t\t$replace = array_pad($replace, $length, '');\n\t}\n\n\tfor ($i = 0; $i < $length; $i++)\n\t{\n\t\t$search_length = utf8_strlen($search[$i]);\n\t\t$replace_length = utf8_strlen($replace[$i]);\n\n\t\t$offset = 0;\n\t\twhile (($start = utf8_strpos($subject, $search[$i], $offset)) !== false)\n\t\t{\n\t\t\t$subject = utf8_substr($subject, 0, $start) . $replace[$i] . utf8_substr($subject, $start + $search_length);\n\t\t\t$offset = $start + $replace_length;\n\t\t}\n\t}\n\n\treturn $subject;\n}\n\n?>", 8192) = 3324
22452 14:44:04.582046 read(3, "", 4096) = 0
22452 14:44:04.582681 read(3, "", 8192) = 0
22452 14:44:04.582800 close(3)          = 0
22452 14:44:04.582875 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.583239 socket(PF_FILE, SOCK_STREAM, 0) = 3
22452 14:44:04.583352 fcntl(3, F_SETFL, O_RDONLY) = 0
22452 14:44:04.583438 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
22452 14:44:04.583523 connect(3, {sa_family=AF_FILE, path="/var/lib/mysql/mysql.sock"}, 110) = 0
22452 14:44:04.583672 setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
22452 14:44:04.583772 setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\2003\341\1\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
22452 14:44:04.583855 setsockopt(3, SOL_IP, IP_TOS, [8], 4) = -1 EOPNOTSUPP (Operation not supported)
22452 14:44:04.583938 setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
22452 14:44:04.584039 read(3, "O\0\0\0\n5.5.33-31.1\0\220X;\1RMhE^*RB\0\377\377\300\2\0\17\300\25\0\0\0\0\0\0\0\0\0\0005}=TpU;cdI$s\0mysql_native_password\0", 16384) = 83
22452 14:44:04.584864 stat("/usr/share/mysql/charsets/Index.xml", {st_dev=makedev(8, 1), st_ino=398039, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=18317, st_atime=2014/05/23-03:44:53, st_mtime=2013/08/27-09:58:56, st_ctime=2013/10/11-03:44:29}) = 0
22452 14:44:04.585015 open("/usr/share/mysql/charsets/Index.xml", O_RDONLY) = 4
22452 14:44:04.585106 read(4, "<?xml version='1.0' encoding=\"utf-8\"?>\n\n<charsets max-id=\"99\">\n\n<copyright>\n  Copyright (c) 2003, 2012,  Oracle and/or its affiliates. All rights reserved.\n\n  This program is free software; you can redistribute it and/or modify\n  it under the terms of the GNU General Public License as published by\n  the Free Software Foundation; version 2 of the License.\n\n  This program is distributed in the hope that it will be useful,\n  but WITHOUT ANY WARRANTY; without even the implied warranty of\n  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  GNU General Public License for more details.\n\n  You should have received a copy of the GNU General Public License\n  along with this program; if not, write to the Free Software\n  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\n</copyright>\n\n<description>\nThis file lists all of the available character sets.\nTo make maintaining easier please:\n - keep records sorted by collation number.\n - change charsets.max-id when adding a new collation.\n</description>\n\n<charset name=\"big5\">\n  <family>Traditional Chinese</family>\n  <description>Big5 Traditional Chinese</description>\n  <alias>big-5</alias>\n  <alias>bigfive</alias>\n  <alias>big-five</alias>\n  <alias>cn-big5</alias>\n  <alias>csbig5</alias>\n  <collation name=\"big5_chinese_ci\"\tid=\"1\"\torder=\"Chinese\">\n    <flag>primary</flag>\n    <flag>compiled</flag>\n  </collation>\n  <collation name=\"big5_bin\"\tid=\"84\"\torder=\"Binary\">\n    <flag>binary</flag>\n    <flag>compiled</flag>\n  </collation>\n</charset>\n\n<charset name=\"latin2\">\n  <family>Central European</family>\n  <description>ISO 8859-2 Central European</description>\n  <alias>csisolatin2</alias>\n  <alias>iso-8859-2</alias>\n  <alias>iso-ir-101</alias>\n  <alias>iso_8859-2</alias>\n  <alias>iso_8859-2:1987</alias>\n  <alias>l2</alias>\n  <collation name=\"latin2_czech_cs\" \tid=\"2\"\torder=\"Czech\" flag=\"compiled\"/>\n  <collation name=\"latin2_general_ci\"\tid=\"9\"\tflag=\"primary\">\n    <order>Hungarian</order>\n    <order>Polish</order>\n    <order>Romanian</order>\n    <order>Croatian</order>\n    <order>Slovak</order>\n    <order>Slovenian</order>\n    <order>Sorbian</order>\n  </collation>\n  <collation name=\"latin2_hungarian_ci\"\t\tid=\"21\"\torder=\"Hungarian\"/>\n  <collation name=\"latin2_croatian_ci\"\t\tid=\"27\"\torder=\"Croatian\"/>\n  <collation name=\"latin2_bin\"\tid=\"77\"\torder=\"Binary\"\tflag=\"binary\"/>\n</charset>\n\n<charset name=\"dec8\">\n  <family>Western</family>\n  <description>DEC West European</description>\n  <collation name=\"dec8_bin\"\t\tid=\"69\"\torder=\"Binary\"\tflag=\"binary\"/>\n  <collation name=\"dec8_swedish_ci\"\tid=\"3\"\tflag=\"primary\">\n    <order>Dutch</order>\n    <order>English</order>\n    <order>French</order>\n    <order>German Duden</order>\n    <order>Italian</order>\n    <order>Latin</order>\n    <order>Portuguese</order>\n    <order>Spanish</order>\n  </collation>\n</charset>\n\n<charset name=\"cp850\">\n  <family>Western</family>\n  <description>DOS West European</description>\n  <alias>850</alias>\n  <alias>cspc850multilingual</alias>\n  <alias>ibm850</alias>\n  <collation name=\"cp850_general_ci\"\tid=\"4\"\tflag=\"primary\">\n    <order>Dutch</order>\n    <order>English</order>\n    <order>French</order>\n    <order>German Duden</order>\n    <order>Italian</order>\n    <order>Latin</order>\n    <order>Portuguese</order>\n    <order>Spanish</order>\n  </collation>\n  <collation name=\"cp850_bin\"\tid=\"80\"\torder=\"Binary\"\tflag=\"binary\"/>\n</charset>\n\n<charset name=\"latin1\">\n  <family>Western</family>\n  <description>cp1252 West European</description>\n  <alias>csisolatin1</alias>\n  <alias>iso-8859-1</alias>\n  <alias>iso-ir-100</alias>\n  <alias>iso_8859-1</alias>\n  <alias>iso_8859-1:1987</alias>\n  <alias>l1</alias>\n  <alias>latin1</alias>\n  <collation name=\"latin1_german1_ci\"\tid=\"5\"\torder=\"German Duden\"/>\n  <collation name=\"latin1_swedish_ci\"\tid=\"8\"\torder=\"Finnish, Swedish\">\n    <flag>primary</flag>\n    <flag>compiled</flag>\n  </collation>\n  <collation name=\"latin1_danish_ci\"\tid=\"15\"\torder=\"Danish\"/>\n  <collation name=\"latin1_german2_ci\"\tid=\"31\"\torder=\"German Phonebook\"\tflag=\"compiled\"/>\n  <collation name=\"latin1_spanish_ci\"\tid=\"94\"\torder=\"Spanish\"/>\n  <collation name=\"latin1_bin\"\t\tid=\"47\"\torder=\"Binary\">\n    <flag>binary</flag>\n    <flag>compiled</flag>\n  </collation>\n  <collation name=\"latin1_general_ci\"\tid=\"48\">\n    <order>Dutch</order>\n    <order>English</order>\n    <order>French</order>\n    <order>German Duden</order>\n    <order>Italian</order>\n    <order>Latin</order>\n    <order>Portuguese</order>\n    <order>Spanish</order>\n  </collation>\n  <collation name=\"latin1_general_cs\"\tid=\"49\">\n    <order>Dutch</order>\n    <order>English</order>\n    <order>French</order>\n    <order>German Duden</order>\n    <order>Italian</order>\n    <order>Latin</order>\n    <order>Portuguese</order>\n    <order>Spanish</order>\n  </collation>\n</charset>\n\n<charset name=\"hp8\">\n  <family>Western</family>\n  <description>HP West European</description>\n  <alias>hproman8</alias>\n  <collation name=\"hp8_bin\"\t\tid=\"72\"\torder=\"Binary\"\tflag=\"binary\"/>\n  <collation name=\"hp8_english_ci\"\tid=\"6\"\tflag=\"primary\">\n    <order>Dutch</order>\n    <order>English</order>\n    <order>French</order>\n    <order>German Duden</order>\n    <order>Italian</order>\n    <order>Latin</order>\n    <order>Portuguese</order>\n    <order>Spanish</order>\n  </collation>\n</charset>\n\n<charset name=\"koi8r\">\n  <family>Cyrillic</family>\n  <description>KOI8-R Relcom Russian</description>\n  <alias>koi8-r</alias>\n  <alias>cskoi8r</alias>\n  <collation name=\"koi8r_general_ci\"\tid=\"7\"\torder=\"Russian\"\tflag=\"primary\"/>\n  <collation name=\"koi8r_bin\"\t\tid=\"74\"\torder=\"Binary\"\tflag=\"binary\"/>\n</charset>\n\n<charset name=\"swe7\">\n  <family>Western</family>\n  <description>7bit Swedish</description>\n  <alias>iso-646-se</alias>\n  <collation name=\"swe7_swedish_ci\"\tid=\"10\"\torder=\"Swedish\"\tflag=\"primary\"/>\n  <collation name=\"swe7_bin\"\t\tid=\"82\"\torder=\"Binary\"\tflag=\"binary\"/>\n</charset>\n\n<charset name=\"ascii\">\n  <family>Western</family>\n  <description>US ASCII</description>\n  <alias>us</alias>\n  <alias>us-ascii</alias>\n  <alias>csascii</alias>\n  <alias>iso-ir-6</alias>\n  <alias>iso646-us</alias>\n  <collation name=\"ascii_general_ci\"\tid=\"11\"\torder=\"English\"\tflag=\"primary\"/>\n  <collation name=\"ascii_bin\"\t\tid=\"65\"\torder=\"Binary\"\tflag=\"binary\"/>\n</charset>\n\n<charset name=\"ujis\">\n  <family>Japanese</family>\n  <description>EUC-JP Japanese</description>\n  <alias>euc-jp</alias>\n  <collation name=\"ujis_japanese_ci\"\tid=\"12\"\torder=\"Japanese\">\n    <flag>primary</flag>\n    <flag>compiled</flag>\n  </collation>\n  <collation name=\"ujis_bin\"\tid=\"91\"\torder=\"Japanese\">\n    <flag>binary</flag>\n    <flag>compiled</flag>\n  </collation>\n</charset>\n\n<charset name=\"sjis\">\n  <family>Japanese</family>\n  <description>Shift-JIS Japanese</description>\n  <alias>s-jis</alias>\n  <alias>shift-jis</alias>\n  <alias>x-sjis</alias>\n  <collation name=\"sjis_japanese_ci\" \tid=\"13\"\torder=\"Japanese\">\n    <flag>primary</flag>\n    <flag>compiled</flag>\n  </collation>\n  <collation name=\"sjis_bin\" \tid=\"88\"\torder=\"Binary\">\n    <flag>binary</flag>\n    <flag>compiled</flag>\n  </collation>\n</charset>\n\n<charset name=\"cp1251\">\n  <family>Cyrillic</family>\n  <description>Windows Cyrillic</description>\n  <alias>windows-1251</alias>\n  <alias>ms-cyr</alias>\n  <alias>ms-cyrillic</alias>\n  <collation name=\"cp1251_bulgarian_ci\"\tid=\"14\">\n    <order>Belarusian</order>\n    <order>Bulgarian</order>\n    <order>Macedonian</order>\n    <order>Russian</order>\n    <order>Serbian</order>\n    <order>Mongolian</order>\n    <order>Ukrainian</order>\n  </collation>\n  <collation name=\"cp1251_ukrainian_ci\"\tid=\"23\"\torder=\"Ukrainian\"/>\n  <collation name=\"cp1251_bin\"\t\tid=\"50\"\torder=\"Binary\"\tflag=\"binary\"/>\n  <collation name=\"cp1251_general_ci\"\tid=\"51\" flag=\"primary\">\n    <order>Belarusian</order>\n    <order>Bulgarian</order>\n    <order>Macedonian</order>\n    <order>Russian</order>\n    <order>Serbian</order>\n    <order>Mongolian</order>\n    <order>Ukrainian</order>\n  </collation>\n  <collation name=\"cp1251_general_cs\"\tid=\"52\">\n    <order>Belarusian</order>\n    <order>Bulgarian</order>\n    <order>Macedonian</order>\n    <order>Russi"..., 18317) = 18317
22452 14:44:04.586528 close(4)          = 0
22452 14:44:04.590089 futex(0x7f3591e3e5c0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
22452 14:44:04.590314 write(3, "j\0\0\1\215\242\16\0\0\0\0@\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0fritz218_spusr\0\24\24\305\21\372\206\332\0\204^I/\254\233\303kL\262\353U\300fritz218_sports\0mysql_native_password\0", 110) = 110
22452 14:44:04.591139 read(3, ")\0\0\2\376mysql_old_password\0RMhE^*RB5}=TpU;cdI$s\0", 16384) = 45
22452 14:44:04.591300 write(3, "\t\0\0\3INCLJ[\\Q\0", 13) = 13
22452 14:44:04.591494 read(3, "\7\0\0\4\0\0\0\2\0\0\0", 16384) = 11
22452 14:44:04.591659 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.591741 write(3, "\21\0\0\0\3SET NAMES 'utf8'", 21) = 21
22452 14:44:04.591830 read(3, "\7\0\0\1\0\0\0\2\0\0\0", 16384) = 11
22452 14:44:04.592022 access("./cache/data_global.php", F_OK) = 0
22452 14:44:04.592153 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.592245 time(NULL)        = 1400874244
22452 14:44:04.592318 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.592439 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.592557 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.592675 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.592796 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.592927 lstat("/home2/fritz218/public_html/forum/cache/data_global.php", {st_dev=makedev(8, 33), st_ino=91759031, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=11964, st_atime=2014/05/23-14:31:37, st_mtime=2014/05/23-14:31:34, st_ctime=2014/05/23-14:31:34}) = 0
22452 14:44:04.593057 open("/home2/fritz218/public_html/forum/cache/data_global.php", O_RDONLY) = 4
22452 14:44:04.593149 fstat(4, {st_dev=makedev(8, 33), st_ino=91759031, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=11964, st_atime=2014/05/23-14:31:37, st_mtime=2014/05/23-14:31:34, st_ctime=2014/05/23-14:31:34}) = 0
22452 14:44:04.593259 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.593359 read(4, "<?php exit; ?>\n1430481193\n33\nmysqli_version\ns:11:\"5.5.33-31.1\";\n1432409493\n11882\nconfig\na:325:{s:13:\"2013.03.22.01\";s:10:\"2012.08.26\";s:11:\"abm_version\";s:5:\"1.1.4\";s:15:\"active_sessions\";s:1:\"0\";s:16:\"add_user_version\";s:5:\"1.0.1\";s:18:\"ads_accurate_views\";s:1:\"1\";s:16:\"ads_count_clicks\";s:1:\"0\";s:15:\"ads_count_views\";s:1:\"1\";s:10:\"ads_enable\";s:1:\"1\";s:16:\"ads_rules_forums\";s:1:\"0\";s:16:\"ads_rules_groups\";s:1:\"1\";s:11:\"ads_version\";s:5:\"1.0.8\";s:17:\"allow_attachments\";s:1:\"1\";s:15:\"allow_autologin\";s:1:\"1\";s:12:\"allow_avatar\";s:1:\"1\";s:18:\"allow_avatar_local\";s:1:\"1\";s:19:\"allow_avatar_remote\";s:1:\"1\";s:26:\"allow_avatar_remote_upload\";s:1:\"1\";s:19:\"allow_avatar_upload\";s:1:\"1\";s:12:\"allow_bbcode\";s:1:\"1\";s:15:\"allow_birthdays\";s:1:\"1\";s:15:\"allow_bookmarks\";s:1:\"1\";s:16:\"allow_emailreuse\";s:1:\"0\";s:18:\"allow_forum_notify\";s:1:\"1\";s:13:\"allow_mass_pm\";s:1:\"1\";s:16:\"allow_name_chars\";s:18:\"USERNAME_CHARS_ANY\";s:16:\"allow_namechange\";s:1:\"0\";s:15:\"allow_nocensors\";s:1:\"0\";s:15:\"allow_pm_attach\";s:1:\"0\";s:15:\"allow_pm_report\";s:1:\"1\";s:16:\"allow_post_flash\";s:1:\"1\";s:16:\"allow_post_links\";s:1:\"1\";s:13:\"allow_privmsg\";s:1:\"1\";s:17:\"allow_quick_reply\";s:1:\"1\";s:9:\"allow_sig\";s:1:\"1\";s:16:\"allow_sig_bbcode\";s:1:\"1\";s:15:\"allow_sig_flash\";s:1:\"0\";s:13:\"allow_sig_img\";s:1:\"1\";s:15:\"allow_sig_links\";s:1:\"1\";s:12:\"allow_sig_pm\";s:1:\"1\";s:17:\"allow_sig_smilies\";s:1:\"1\";s:13:\"allow_smilies\";s:1:\"1\";s:18:\"allow_topic_notify\";s:1:\"1\";s:12:\"am_dir_perms\";s:4:\"0755\";s:13:\"am_file_perms\";s:4:\"0644\";s:22:\"append_global_keywords\";s:1:\"1\";s:21:\"append_keywords_first\";s:1:\"0\";s:22:\"ars_default_channel_id\";s:10:\"8470905209\";s:24:\"ars_default_publisher_id\";s:20:\"pub-0218903215201891\";s:10:\"ars_enable\";s:1:\"1\";s:17:\"ars_hide_users_ad\";s:1:\"1\";s:18:\"ars_required_posts\";s:2:\"15\";s:22:\"ars_sharing_percentage\";s:2:\"35\";s:16:\"attachment_quota\";s:8:\"52428800\";s:14:\"auth_bbcode_pm\";s:1:\"1\";s:13:\"auth_flash_pm\";s:1:\"0\";s:11:\"auth_img_pm\";s:1:\"1\";s:11:\"auth_method\";s:2:\"db\";s:15:\"auth_smilies_pm\";s:1:\"1\";s:15:\"automod_version\";s:5:\"1.0.2\";s:15:\"avatar_filesize\";s:8:\"10000000\";s:19:\"avatar_gallery_path\";s:22:\"images/avatars/gallery\";s:17:\"avatar_max_height\";s:3:\"125\";s:16:\"avatar_max_width\";s:3:\"125\";s:17:\"avatar_min_height\";s:2:\"20\";s:16:\"avatar_min_width\";s:2:\"20\";s:11:\"avatar_path\";s:21:\"images/avatars/upload\";s:11:\"avatar_salt\";s:32:\"b6e6c8c145ef4a969ebc615e630cad0d\";s:15:\"blue_boxes_days\";s:7:\"7;30;60\";s:17:\"blue_boxes_sports\";s:12:\"0|2;0|4;-1|5\";s:23:\"blue_boxes_sports_dates\";s:50:\"a:2:{i:2;s:10:\"2013-10-01\";i:4;s:10:\"2013-10-28\";}\";s:24:\"blue_boxes_sports_suffix\";s:6:\"Career\";s:24:\"blue_boxes_sports_titles\";s:105:\"a:3:{i:2;a:1:{i:0;s:11:\"NCAAB 13-14\";}i:4;a:1:{i:0;s:11:\"NBA 2013-14\";}i:5;a:1:{i:-1;s:10:\"MLB Career\";}}\";s:13:\"board_contact\";s:26:\"admin@sportsbetcapping.com\";s:13:\"board_disable\";s:1:\"0\";s:17:\"board_disable_msg\";s:104:\"We are currently upgrading our site and will be back online shortly. We apologize for the inconvenience.\";s:9:\"board_dst\";s:1:\"1\";s:11:\"board_email\";s:26:\"admin@sportsbetcapping.com\";s:16:\"board_email_form\";s:1:\"0\";s:15:\"board_email_sig\";s:22:\"Thanks, The Management\";s:17:\"board_hide_emails\";s:1:\"1\";s:15:\"board_startdate\";s:10:\"1231937823\";s:14:\"board_timezone\";s:2:\"-5\";s:18:\"break_after_httpbl\";s:1:\"0\";s:17:\"break_after_iprbl\";s:1:\"1\";s:13:\"browser_check\";s:1:\"1\";s:13:\"bump_interval\";s:2:\"10\";s:9:\"bump_type\";s:1:\"d\";s:8:\"cache_gc\";s:4:\"7200\";s:10:\"captcha_gd\";s:1:\"0\";s:19:\"captcha_gd_3d_noise\";s:1:\"1\";s:16:\"captcha_gd_fonts\";s:1:\"1\";s:27:\"captcha_gd_foreground_noise\";s:1:\"1\";s:15:\"captcha_gd_wave\";s:1:\"1\";s:17:\"captcha_gd_x_grid\";s:2:\"25\";s:17:\"captcha_gd_y_grid\";s:2:\"25\";s:14:\"captcha_plugin\";s:16:\"phpbb_captcha_qa\";s:24:\"check_attachment_content\";s:1:\"1\";s:21:\"check_domainrbl_email\";s:1:\"0\";s:20:\"check_domainrbl_post\";s:1:\"0\";s:23:\"check_domainrbl_profile\";s:1:\"1\";s:25:\"check_domainrbl_signature\";s:1:\"1\";s:23:\"check_domainrbl_website\";s:1:\"1\";s:17:\"check_httpbl_post\";s:1:\"0\";s:20:\"check_httpbl_profile\";s:1:\"0\";s:21:\"check_httpbl_register\";s:1:\"0\";s:16:\"check_iprbl_post\";s:1:\"0\";s:20:\"check_iprbl_register\";s:1:\"1\";s:8:\"check_tz\";s:1:\"1\";s:13:\"chg_passforce\";s:1:\"0\";s:15:\"compress_method\";s:4:\".zip\";s:15:\"confirm_refresh\";s:1:\"1\";s:13:\"cookie_domain\";s:20:\"sportsbetcapping.com\";s:11:\"cookie_name\";s:12:\"phpbb3_hvpi1\";s:11:\"cookie_path\";s:1:\"/\";s:13:\"cookie_secure\";s:1:\"0\";s:12:\"coppa_enable\";s:1:\"0\";s:9:\"coppa_fax\";s:0:\"\";s:10:\"coppa_mail\";s:0:\"\";s:20:\"custom_cron_interval\";s:3:\"120\";s:11:\"database_gc\";s:6:\"604800\";s:12:\"dbms_version\";s:20:\"5.0.96-community-log\";s:18:\"default_dateformat\";s:14:\"D M d, Y g:i a\";s:12:\"default_lang\";s:2:\"en\";s:13:\"default_style\";s:1:\"1\";s:11:\"delete_time\";s:1:\"0\";s:22:\"description_word_count\";s:3:\"150\";s:19:\"display_last_edited\";s:1:\"1\";s:13:\"display_order\";s:1:\"0\";s:9:\"edit_time\";s:1:\"0\";s:14:\"email_check_mx\";s:1:\"1\";s:12:\"email_enable\";s:1:\"1\";s:19:\"email_function_name\";s:4:\"mail\";s:20:\"email_max_chunk_size\";s:2:\"50\";s:18:\"email_package_size\";s:2:\"20\";s:14:\"enable_confirm\";s:1:\"0\";s:15:\"enable_pm_icons\";s:1:\"1\";s:19:\"enable_post_confirm\";s:1:\"0\";s:23:\"featured_blog_image_url\";s:1:\".\";s:23:\"featured_blog_num_words\";s:4:\"1000\";s:11:\"feed_enable\";s:1:\"0\";s:10:\"feed_forum\";s:1:\"1\";s:14:\"feed_http_auth\";s:1:\"0\";s:20:\"feed_item_statistics\";s:1:\"1\";s:10:\"feed_limit\";s:2:\"10\";s:15:\"feed_limit_post\";s:2:\"10\";s:16:\"feed_limit_topic\";s:2:\"15\";s:12:\"feed_overall\";s:1:\"1\";s:19:\"feed_overall_forums\";s:1:\"1\";s:25:\"feed_overall_forums_limit\";s:2:\"15\";s:19:\"feed_overall_topics\";s:1:\"0\";s:25:\"feed_overall_topics_limit\";s:2:\"15\";s:10:\"feed_topic\";s:1:\"1\";s:18:\"feed_topics_active\";s:1:\"0\";s:15:\"feed_topics_new\";s:1:\"0\";s:14:\"flood_interval\";s:2:\"15\";s:17:\"force_server_vars\";s:1:\"0\";s:19:\"form_token_lifetime\";s:2:\"-1\";s:18:\"form_token_mintime\";s:1:\"0\";s:21:\"form_token_sid_guests\";s:1:\"0\";s:10:\"forward_pm\";s:1:\"1\";s:19:\"forwarded_for_check\";s:1:\"0\";s:8:\"ftp_host\";s:0:\"\";s:10:\"ftp_method\";s:1:\"0\";s:8:\"ftp_port\";s:2:\"21\";s:13:\"ftp_root_path\";s:0:\"\";s:11:\"ftp_timeout\";s:2:\"60\";s:12:\"ftp_username\";s:0:\"\";s:18:\"full_folder_action\";s:1:\"2\";s:27:\"fulltext_mysql_max_word_len\";s:3:\"254\";s:27:\"fulltext_mysql_min_word_len\";s:1:\"4\";s:28:\"fulltext_native_common_thres\";s:1:\"5\";s:24:\"fulltext_native_load_upd\";s:1:\"1\";s:25:\"fulltext_native_max_chars\";s:2:\"14\";s:25:\"fulltext_native_min_chars\";s:1:\"3\";s:15:\"global_keywords\";s:206:\"free sports picks, free nba picks, free mlb picks, free nfl picks, free basketball picks, free football picks, free baseball picks, free college football picks, free college basketball picks, free ncaa bask\";s:13:\"gzip_compress\";s:1:\"0\";s:13:\"hot_threshold\";s:2:\"25\";s:10:\"icons_path\";s:12:\"images/icons\";s:20:\"img_create_thumbnail\";s:1:\"0\";s:19:\"img_display_inlined\";s:1:\"1\";s:11:\"img_imagick\";s:0:\"\";s:15:\"img_link_height\";s:1:\"0\";s:14:\"img_link_width\";s:1:\"0\";s:14:\"img_max_height\";s:1:\"0\";s:19:\"img_max_thumb_width\";s:3:\"400\";s:13:\"img_max_width\";s:1:\"0\";s:22:\"img_min_thumb_filesize\";s:5:\"12000\";s:8:\"ip_check\";s:1:\"2\";s:18:\"ip_login_limit_max\";s:2:\"50\";s:19:\"ip_login_limit_time\";s:5:\"21600\";s:28:\"ip_login_limit_use_forwarded\";s:1:\"0\";s:10:\"jab_enable\";s:1:\"0\";s:8:\"jab_host\";s:0:\"\";s:16:\"jab_package_size\";s:2:\"20\";s:12:\"jab_password\";s:0:\"\";s:8:\"jab_port\";s:4:\"5222\";s:11:\"jab_use_ssl\";s:1:\"0\";s:12:\"jab_username\";s:0:\"\";s:18:\"keyword_word_count\";s:2:\"50\";s:12:\"ldap_base_dn\";s:0:\"\";s:10:\"ldap_email\";s:0:\"\";s:13:\"ldap_password\";s:0:\"\";s:9:\"ldap_port\";s:0:\"\";s:11:\"ldap_server\";s:0:\"\";s:8:\"ldap_uid\";s:0:\"\";s:9:\"ldap_user\";s:0:\"\";s:16:\"ldap_user_filter\";s:0:\"\";s:10:\"limit_load\";s:1:\"0\";s:17:\"limit_search_load\";s:1:\"0\";s:18:\"load_anon_lastread\";s:1:\"0\";s:14:\"load_birthdays\";s:1:\"1\";s:19:\"load_cpf_memberlist\";s:1:\"0\";s:20:\"load_cpf_viewprofile\";s:1:\"0\";s:18:\"load_cpf_viewtopic\";s:1:\"0\";s:16:\"load_db_lastread\";s:1:\"1\";s:13:\"load_db_track\";s:1:\"1\";s:12:\"load_jumpbox\";s:1:\"1\";s:15:\"load_moderators\";s:1:\"1\";s:11:\"load_online\";s:1:\"1\";s:18:\"load_online_guests\";s:1:\"1\";s:16:\"load_online_time\";s:1:\"5\";s:16:\"load_onlinetrack\";s:1:\"1\";s:11:\"load_search\";s:1:\"1\";s:15:\"load_tplcompile\";s:1:\"1\";s:19:\"load_unreads_search\";s:1:\"1\";s:18:\"load"..., 8192) = 8192
22452 14:44:04.594778 time(NULL)        = 1400874244
22452 14:44:04.594995 read(4, "_check_iprbl\";s:1:\"1\";s:12:\"log_check_tz\";s:1:\"1\";s:18:\"log_email_check_mx\";s:1:\"1\";s:15:\"max_attachments\";s:1:\"3\";s:18:\"max_attachments_pm\";s:1:\"1\";s:18:\"max_autologin_time\";s:1:\"1\";s:12:\"max_filesize\";s:6:\"262144\";s:15:\"max_filesize_pm\";s:6:\"262144\";s:18:\"max_login_attempts\";s:1:\"3\";s:14:\"max_name_chars\";s:2:\"25\";s:23:\"max_num_search_keywords\";s:2:\"10\";s:14:\"max_pass_chars\";s:2:\"30\";s:16:\"max_poll_options\";s:2:\"10\";s:14:\"max_post_chars\";s:5:\"60000\";s:18:\"max_post_font_size\";s:3:\"200\";s:19:\"max_post_img_height\";s:1:\"0\";s:18:\"max_post_img_width\";s:1:\"0\";s:16:\"max_post_smilies\";s:1:\"0\";s:13:\"max_post_urls\";s:1:\"0\";s:15:\"max_quote_depth\";s:1:\"3\";s:16:\"max_reg_attempts\";s:1:\"2\";s:13:\"max_sig_chars\";s:3:\"255\";s:17:\"max_sig_font_size\";s:3:\"200\";s:18:\"max_sig_img_height\";s:1:\"0\";s:17:\"max_sig_img_width\";s:1:\"0\";s:15:\"max_sig_smilies\";s:1:\"0\";s:12:\"max_sig_urls\";s:1:\"5\";s:13:\"mime_triggers\";s:58:\"body|head|html|img|plaintext|a href|pre|script|table|title\";s:14:\"min_name_chars\";s:1:\"3\";s:14:\"min_pass_chars\";s:1:\"6\";s:14:\"min_post_chars\";s:1:\"1\";s:23:\"min_search_author_chars\";s:1:\"3\";s:24:\"new_member_group_default\";s:1:\"0\";s:21:\"new_member_post_limit\";s:1:\"0\";s:38:\"oa_social_login_api_connection_handler\";s:4:\"curl\";s:35:\"oa_social_login_api_connection_port\";s:3:\"443\";s:23:\"oa_social_login_api_key\";s:36:\"7e9624b8-443a-4053-8056-4e4ad4b5d7a3\";s:26:\"oa_social_login_api_secret\";s:36:\"bbea1606-7cde-4d3f-bb92-ea0f682aaeea\";s:29:\"oa_social_login_api_subdomain\";s:16:\"sportsbetcapping\";s:23:\"oa_social_login_disable\";s:1:\"1\";s:31:\"oa_social_login_disable_linking\";s:1:\"0\";s:25:\"oa_social_login_providers\";s:7:\"twitter\";s:24:\"oa_social_login_redirect\";s:0:\"\";s:23:\"oa_social_login_version\";s:5:\"2.9.0\";s:19:\"override_user_style\";s:1:\"1\";s:12:\"pass_complex\";s:13:\"PASS_TYPE_ANY\";s:12:\"pm_edit_time\";s:1:\"0\";s:12:\"pm_max_boxes\";s:1:\"4\";s:11:\"pm_max_msgs\";s:2:\"50\";s:14:\"posts_per_page\";s:2:\"10\";s:15:\"preview_changes\";s:1:\"0\";s:8:\"print_pm\";s:1:\"1\";s:23:\"questionnaire_unique_id\";s:16:\"97baf67aaec3346d\";s:14:\"queue_interval\";s:2:\"60\";s:10:\"ranks_path\";s:12:\"images/ranks\";s:17:\"recaptcha_privkey\";s:40:\"6LfHyOcSAAAAAB6bhghC8qv4bm564WLP1WRBwyPg\";s:16:\"recaptcha_pubkey\";s:40:\"6LfHyOcSAAAAAI2orJtPiBqZGJJiC1A4zIxZRSO7\";s:18:\"referer_validation\";s:1:\"1\";s:13:\"report_httpbl\";s:1:\"0\";s:18:\"require_activation\";s:1:\"1\";s:19:\"require_email_guest\";s:1:\"1\";s:11:\"script_path\";s:6:\"/forum\";s:25:\"search_anonymous_interval\";s:1:\"0\";s:17:\"search_block_size\";s:3:\"250\";s:9:\"search_gc\";s:4:\"7200\";s:15:\"search_interval\";s:1:\"0\";s:20:\"search_store_results\";s:4:\"1800\";s:11:\"search_type\";s:15:\"fulltext_native\";s:17:\"secure_allow_deny\";s:1:\"1\";s:26:\"secure_allow_empty_referer\";s:1:\"1\";s:16:\"secure_downloads\";s:1:\"0\";s:11:\"server_name\";s:9:\"localhost\";s:11:\"server_port\";s:2:\"80\";s:15:\"server_protocol\";s:7:\"http://\";s:10:\"session_gc\";s:4:\"3600\";s:14:\"session_length\";s:4:\"3600\";s:9:\"site_desc\";s:197:\"Sportsbetcapping.com is the place where records don't lie. We are a documented sports handicapping service with a total of three handicappers with more than 20 years in the sports betting industry.\";s:8:\"sitename\";s:31:\"SportsBetCapping Sports Service\";s:12:\"smilies_path\";s:14:\"images/smilies\";s:16:\"smilies_per_page\";s:2:\"50\";s:16:\"smtp_auth_method\";s:5:\"PLAIN\";s:13:\"smtp_delivery\";s:1:\"0\";s:9:\"smtp_host\";s:0:\"\";s:13:\"smtp_password\";s:0:\"\";s:9:\"smtp_port\";s:2:\"25\";s:13:\"smtp_username\";s:0:\"\";s:17:\"top_trends_sports\";s:7:\"2;3;5;7\";s:15:\"topics_per_page\";s:2:\"25\";s:13:\"tpl_allow_php\";s:1:\"1\";s:17:\"upload_icons_path\";s:19:\"images/upload_icons\";s:11:\"upload_path\";s:5:\"files\";s:23:\"use_dynamic_description\";s:1:\"1\";s:20:\"use_dynamic_keywords\";s:1:\"1\";s:7:\"version\";s:6:\"3.0.11\";s:20:\"warnings_expire_days\";s:2:\"90\";s:11:\"warnings_gc\";s:5:\"14400\";s:12:\"write_method\";s:1:\"1\";}", 8192) = 3772
22452 14:44:04.596446 read(4, "", 8192) = 0
22452 14:44:04.596589 close(4)          = 0
22452 14:44:04.596677 time(NULL)        = 1400874244
22452 14:44:04.596775 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.596856 write(3, "&\0\0\0\3SELECT @@session.sql_mode AS sql_mode", 42) = 42
22452 14:44:04.596950 read(3, "\1\0\0\1\1\36\0\0\2\3def\0\0\0\10sql_mode\0\f!\0\0\0\0\0\375\0\0\37\0\0\5\0\0\3\376\0\0\2\0\1\0\0\4\0\5\0\0\5\376\0\0\2\0", 16384) = 62
22452 14:44:04.597219 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.597301 write(3, ">\0\0\0\3SET SESSION sql_mode=',STRICT_ALL_TABLES,STRICT_TRANS_TABLES'", 66) = 66
22452 14:44:04.597393 read(3, "\7\0\0\1\0\0\0\2\0\0\0", 16384) = 11
22452 14:44:04.597519 time(NULL)        = 1400874244
22452 14:44:04.597720 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.597802 write(3, "P\0\0\0\3SELECT config_name, config_value\n\t\t\t\tFROM forum_config\n\t\t\t\tWHERE is_dynamic = 1", 84) = 84
22452 14:44:04.597899 read(3, "\1\0\0\1\2S\0\0\2\3def\17fritz218_sports\fforum_config\fforum_config\vconfig_name\vconfig_name\f!\0\375\2\0\0\375\203@\0\0\0U\0\0\3\3def\17fritz218_sports\fforum_config\fforum_config\fconfig_value\fconfig_value\f!\0\375\2\0\0\375\201\0\0\0\0\5\0\0\4\376\0\0\2\0\31\0\0\5\rads_last_cron\n1400870899\21\0\0\6\16al_fb_activity\0010\21\0\0\7\16al_fb_facepile\0010\v\0\0\10\10al_fb_id\0010\16\0\0\t\val_fb_login\0010%\0\0\n\20al_fb_login_text\23Login with Facebook\27\0\0\v\24al_fb_quick_accounts\0010\17\0\0\f\fal_fb_secret\0010\16\0\0\r\val_oi_login\0010\21\0\0\16\16al_site_domain\0010\22\0\0\17\17al_wl_client_id\0010\16\0\0\20\val_wl_login\0010\27\0\0\21\24al_wl_quick_accounts\0010\17\0\0\22\fal_wl_secret\0010\31\0\0\23\rcache_last_gc\n1400866086\f\0\0\24\tcron_lock\0010\24\0\0\25\21custom_cron_count\0012 \0\0\26\24custom_cron_last_run\n1400873418\"\0\0\27\26custom_cron_last_run_1\n1400873418\"\0\0\30\26custom_cron_last_run_2\n1400872524:\0\0\31\33custom_cron_update_interval\03514.90 minutes ( 894 seconds )\34\0\0\32\20database_last_gc\n1400869483\32\0\0\33\16last_queue_run\n1378359062\24\0\0\34\22newest_user_colour\0\26\0\0\35\16newest_user_id\006369819%\0\0\36\17newest_username\24viktoraleksandrovich\f\0\0\37\tnum_files\0010\17\0\0 \tnum_posts\0048523\20\0\0!\nnum_topics\0048080\17\0\0\"\tnum_users\0049065+\0\0#\trand_seed 5733494e1561ec2fefdb444300672620!\0\0$\25rand_seed_last_update\n1400874233\36\0\0%\22record_online_date\n1382591339\30\0\0&\23record_online_users\003289\27\0\0'\25search_indexing_state\0\32\0\0(\16search_last_gc\n1400869919\33\0\0)\17session_last_gc\n1400429895\22\0\0*\17upload_dir_size\0010\34\0\0+\20warnings_last_gc\n1400869407\5\0\0,\376\0\0\2\0", 16384) = 1273
22452 14:44:04.599353 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.599465 time(NULL)        = 1400874244
22452 14:44:04.599539 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.599662 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.599787 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.599909 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.600030 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.600152 lstat("/home2/fritz218/public_html/forum/includes/hooks", {st_dev=makedev(8, 33), st_ino=91759232, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.600273 lstat("/home2/fritz218/public_html/forum/includes/hooks/index.php", {st_dev=makedev(8, 33), st_ino=91762377, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6828, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.600401 open("/home2/fritz218/public_html/forum/includes/hooks/index.php", O_RDONLY) = 4
22452 14:44:04.600498 fstat(4, {st_dev=makedev(8, 33), st_ino=91762377, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6828, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.600616 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.600717 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.600796 fstat(4, {st_dev=makedev(8, 33), st_ino=91762377, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6828, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.600906 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.600989 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.601064 open("/home2/fritz218/public_html/forum/includes/hooks/index.php", O_RDONLY) = 5
22452 14:44:04.601152 fstat(5, {st_dev=makedev(8, 33), st_ino=91762377, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=6828, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.601274 mmap(NULL, 6828, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.601360 munmap(0x7f35927b8000, 6828) = 0
22452 14:44:04.601444 close(5)          = 0
22452 14:44:04.601519 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.601597 read(4, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: index.php 8479 2008-03-29 00:22:48Z naderman $\n* @copyright (c) 2007 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* phpBB Hook Class\n* @package phpBB3\n*/\nclass phpbb_hook\n{\n\t/**\n\t* Registered hooks\n\t*/\n\tvar $hooks = array();\n\n\t/**\n\t* Results returned by functions called\n\t*/\n\tvar $hook_result = array();\n\n\t/**\n\t* internal pointer\n\t*/\n\tvar $current_hook = NULL;\n\n\t/**\n\t* Initialize hook class.\n\t*\n\t* @param array $valid_hooks array containing the hookable functions/methods\n\t*/\n\tfunction phpbb_hook($valid_hooks)\n\t{\n\t\tforeach ($valid_hooks as $_null => $method)\n\t\t{\n\t\t\t$this->add_hook($method);\n\t\t}\n\n\t\tif (function_exists('phpbb_hook_register'))\n\t\t{\n\t\t\tphpbb_hook_register($this);\n\t\t}\n\t}\n\n\t/**\n\t* Register function/method to be called within hook\n\t* This function is normally called by the modification/application to attach/register the functions.\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t* @param mixed $hook The replacement function/method to be called. Passing function name or array with object/class definition\n\t* @param string $mode Specify the priority/chain mode. 'normal' -> hook gets appended to the chain. 'standalone' -> only the specified hook gets called - later hooks are not able to overwrite this (E_NOTICE is triggered then). 'first' -> hook is called as the first one within the chain. 'last' -> hook is called as the last one within the chain.\n\t*/\n\tfunction register($definition, $hook, $mode = 'normal')\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\t// Method able to be hooked?\n\t\tif (isset($this->hooks[$class][$function]))\n\t\t{\n\t\t\tswitch ($mode)\n\t\t\t{\n\t\t\t\tcase 'standalone':\n\t\t\t\t\tif (!isset($this->hooks[$class][$function]['standalone']))\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->hooks[$class][$function] = array('standalone' => $hook);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttrigger_error('Hook not able to be called standalone, previous hook already standalone.', E_NOTICE);\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'first':\n\t\t\t\tcase 'last':\n\t\t\t\t\t$this->hooks[$class][$function][$mode][] = $hook;\n\t\t\t\tbreak;\n\n\t\t\t\tcase 'normal':\n\t\t\t\tdefault:\n\t\t\t\t\t$this->hooks[$class][$function]['normal'][] = $hook;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Calling all functions/methods attached to a specified hook.\n\t* Called by the function allowing hooks...\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t* @return bool False if no hook got executed, true otherwise\n\t*/\n\tfunction call_hook($definition)\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\tif (!empty($this->hooks[$class][$function]))\n\t\t{\n\t\t\t// Developer tries to call a hooked function within the hooked function...\n\t\t\tif ($this->current_hook !== NULL && $this->current_hook['class'] === $class && $this->current_hook['function'] === $function)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Call the hook with the arguments attached and store result\n\t\t\t$arguments = func_get_args();\n\t\t\t$this->current_hook = array('class' => $class, 'function' => $function);\n\t\t\t$arguments[0] = &$this;\n\n\t\t\t// Call the hook chain...\n\t\t\tif (isset($this->hooks[$class][$function]['standalone']))\n\t\t\t{\n\t\t\t\t$this->hook_result[$class][$function] = call_user_func_array($this->hooks[$class][$function]['standalone'], $arguments);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tforeach (array('first', 'normal', 'last') as $mode)\n\t\t\t\t{\n\t\t\t\t\tif (!isset($this->hooks[$class][$function][$mode]))\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tforeach ($this->hooks[$class][$function][$mode] as $hook)\n\t\t\t\t\t{\n\t\t\t\t\t\t$this->hook_result[$class][$function] = call_user_func_array($hook, $arguments);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$this->current_hook = NULL;\n\t\t\treturn true;\n\t\t}\n\n\t\t$this->current_hook = NULL;\n\t\treturn false;\n\t}\n\n\t/**\n\t* Get result from previously called ", 4096) = 4096
22452 14:44:04.602425 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.602503 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.602590 brk(0x2511000)    = 0x2511000
22452 14:44:04.602682 read(4, "functions/methods for the same hook\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t* @return mixed False if nothing returned if there is no result, else array('result' => ... )\n\t*/\n\tfunction previous_hook_result($definition)\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\tif (!empty($this->hooks[$class][$function]) && isset($this->hook_result[$class][$function]))\n\t\t{\n\t\t\treturn array('result' => $this->hook_result[$class][$function]);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Check if the called functions/methods returned something.\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t* @return bool True if results are there, false if not\n\t*/\n\tfunction hook_return($definition)\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\tif (!empty($this->hooks[$class][$function]) && isset($this->hook_result[$class][$function]))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Give actual result from called functions/methods back.\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t* @return mixed The result\n\t*/\n\tfunction hook_return_result($definition)\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\tif (!empty($this->hooks[$class][$function]) && isset($this->hook_result[$class][$function]))\n\t\t{\n\t\t\t$result = $this->hook_result[$class][$function];\n\t\t\tunset($this->hook_result[$class][$function]);\n\t\t\treturn $result;\n\t\t}\n\n\t\treturn;\n\t}\n\n\t/**\n\t* Add new function to the allowed hooks.\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t*/\n\tfunction add_hook($definition)\n\t{\n\t\tif (!is_array($definition))\n\t\t{\n\t\t\t$definition = array('__global', $definition);\n\t\t}\n\n\t\t$this->hooks[$definition[0]][$definition[1]] = array();\n\t}\n\n\t/**\n\t* Remove function from the allowed hooks.\n\t*\n\t* @param mixed $definition Declaring function (with __FUNCTION__) or class with array(__CLASS__, __FUNCTION__)\n\t*/\n\tfunction remove_hook($definition)\n\t{\n\t\t$class = (!is_array($definition)) ? '__global' : $definition[0];\n\t\t$function = (!is_array($definition)) ? $definition : $definition[1];\n\n\t\tif (isset($this->hooks[$class][$function]))\n\t\t{\n\t\t\tunset($this->hooks[$class][$function]);\n\n\t\t\tif (isset($this->hook_result[$class][$function]))\n\t\t\t{\n\t\t\t\tunset($this->hook_result[$class][$function]);\n\t\t\t}\n\t\t}\n\t}\n}\n\n?>", 4096) = 2732
22452 14:44:04.603180 read(4, "", 4096) = 0
22452 14:44:04.604194 read(4, "", 8192) = 0
22452 14:44:04.604282 close(4)          = 0
22452 14:44:04.604383 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.604575 access("./cache/data_hooks.php", F_OK) = 0
22452 14:44:04.604683 access("./cache/data_hooks.php", F_OK) = 0
22452 14:44:04.604771 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.604852 time(NULL)        = 1400874244
22452 14:44:04.604920 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.605038 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.605152 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.605266 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.605384 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.605503 lstat("/home2/fritz218/public_html/forum/cache/data_hooks.php", {st_dev=makedev(8, 33), st_ino=91759014, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=98, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.605645 open("/home2/fritz218/public_html/forum/cache/data_hooks.php", O_RDONLY) = 4
22452 14:44:04.605733 fstat(4, {st_dev=makedev(8, 33), st_ino=91759014, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=98, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.605842 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.605929 read(4, "<?php exit; ?>\n1412968942\n69\na:2:{i:0;s:19:\"hook_alternatelogin\";i:1;s:20:\"hook_oa_social_login\";}", 8192) = 98
22452 14:44:04.606039 time(NULL)        = 1400874244
22452 14:44:04.606129 read(4, "", 8192) = 0
22452 14:44:04.606202 close(4)          = 0
22452 14:44:04.606303 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.606388 time(NULL)        = 1400874244
22452 14:44:04.606457 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.606569 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.606682 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.606799 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.606932 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.607051 lstat("/home2/fritz218/public_html/forum/includes/hooks", {st_dev=makedev(8, 33), st_ino=91759232, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.607170 lstat("/home2/fritz218/public_html/forum/includes/hooks/hook_alternatelogin.php", {st_dev=makedev(8, 33), st_ino=91762375, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4214, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.607299 open("/home2/fritz218/public_html/forum/includes/hooks/hook_alternatelogin.php", O_RDONLY) = 4
22452 14:44:04.607386 fstat(4, {st_dev=makedev(8, 33), st_ino=91762375, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4214, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.607496 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.607563 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.607633 fstat(4, {st_dev=makedev(8, 33), st_ino=91762375, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4214, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.607740 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.607815 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.607888 open("/home2/fritz218/public_html/forum/includes/hooks/hook_alternatelogin.php", O_RDONLY) = 5
22452 14:44:04.607975 fstat(5, {st_dev=makedev(8, 33), st_ino=91762375, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4214, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.608084 mmap(NULL, 4214, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.608167 munmap(0x7f35927b8000, 4214) = 0
22452 14:44:04.608237 close(5)          = 0
22452 14:44:04.608306 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.608374 read(4, "<?php\n\nclass CSAlternateLogin\n{\n\tfunction page_header(&$hook)\n\t{\n\t\tglobal $template, $user, $phpbb_root_path, $phpEx, $config, $al_data, $table_prefix;\n\n\t\tinclude $phpbb_root_path . '/includes/functions_alternatelogin.' . $phpEx;\n\t\t\n\t\t$forum_id = request_var('f', 0);\n\t\t$topic_id = request_var('t', 0);\n\t\t\n\t\t$result = $hook->previous_hook_result('phpbb_user_session_handler');\n\t\t\n\t\t// Begin Alternate Login code\n        require_once($phpbb_root_path . 'includes/functions_alternatelogin.php'); // Include the functions for Alternate Login module\n        $user->add_lang('mods/info_ucp_alternatelogin');\n        if(isset($user->data['session_fb_access_token']))\n        {\n            $graph_url = \"https://graph.facebook.com/me?\" . $user->data['session_fb_access_token'];\n\n\n            $fb_user = json_decode(get_fb_data($graph_url));\n            \n            $fb_lang = $fb_user->locale;\n        }\n\t\t\n\t\t\n\t\t\n\t\t$template->assign_vars(array(\n\t\t\t'S_AL_FB_ENABLED'\t\t\t\t\t\t\t\t=> isset($config['al_fb_login']) ? $config['al_fb_login'] : false,\n\t\t\t'S_AL_WL_ENABLED'\t\t\t\t\t\t\t\t=> isset($config['al_wl_login']) ? $config['al_wl_login'] : false,\n            'S_AL_OI_ENABLED'                               => isset($config['al_oi_login']) ? $config['al_oi_login'] : false,\n\t\t\t'S_AL_WL_USER'\t\t\t\t\t\t\t\t\t=> isset($user->data['al_wl_id']) ? $user->data['al_wl_id'] : false,\n\t\t\t'S_AL_FB_USER'                                  => isset($user->data['al_fb_id']) ? $user->data['al_fb_id'] : false,\n\t\t\t'S_AL_OI_USER'                                  => isset($user->data['al_oi_id']) ? $user->data['al_oi_id'] : false,\n\t\t\t'AL_FB_APPID'\t\t\t\t\t\t\t\t\t=> isset($config['al_fb_id']) ? $config['al_fb_id'] : false,\n\t\t\t'AL_FB_SITE_DOMAIN'                             => isset($config['al_site_domain']) ? $config['al_site_domain'] : false,\n\t\t\t'AL_FB_ACTIVITY'                                => isset($config['al_fb_activity']) ? $config['al_fb_activity'] : false,\n\t\t\t'AL_FB_FACEPILE'                                => isset($config['al_fb_facepile']) ? $config['al_fb_facepile'] : false,\n\t\t\t'AL_FB_LIKE_BOX'                                => isset($config['al_fb_like_box']) ? $config['al_fb_like_box'] : false,\n\t\t\t'AL_FB_LOGIN_BUTTON_TEXT'\t\t\t\t\t\t=> isset($config['al_fb_login_text']) ? $config['al_fb_login_text'] : 'Facebook',\n\t\t\t'S_AL_WL_CLIENT_ID'\t\t\t\t\t\t\t\t=> isset($config['al_wl_client_id']) ? $config['al_wl_client_id'] : false,\n\t\t\t'S_AL_WL_WRAP_CHANNEL'                          => isset($config['al_wl_channel']) ? $config['al_wl_channel'] : false,\n\t\t\t'AL_FB_APP_ID'                                  => isset($config['al_fb_id']) ? $config['al_fb_id'] : false,\n\t\t\t'AL_FB_PAGE_URL'                                => isset($config['al_fb_page_url']) ? $config['al_fb_page_url'] : false,\n\t\t\t'FB_APP_ID'                                     => isset($config['al_fb_id']) ? $config['al_fb_id'] : false,\n\t\t\t'AL_FB_USER_HIDE_ACTIVITY'                      => isset($user->data['al_fb_hide_activity']) ? $user->data['al_fb_hide_activity'] : false,\n\t\t\t'AL_FB_USER_HIDE_FACEPILE'                      => isset($user->data['al_fb_hide_facepile']) ? $user->data['al_fb_hide_facepile'] : false,\n\t\t\t'AL_FB_USER_HIDE_LIKE_BOX'                      => isset($user->data['al_fb_hide_like_box']) ? $user->data['al_fb_hide_like_box'] : false,\n\t\t\t'U_AL_WL_AUTHORIZE'                             => (isset($config['al_wl_client_id']) && isset($config['al_wl_callback'])) ? \"https://oauth.live.com/authorize?client_id={$config['al_wl_client_id']}&scope=wl.signin%20wl.basic%20wl.birthday%20wl.emails%20wl.work_profile%20wl.postal_addresses&response_type=code&redirect_uri=\" . urlencode($config['al_wl_callback']) : '',\n\t\t\t'U_AL_OI_LOGIN'                                 => append_sid(\"{$phpbb_root_path}alternatelogin/al_oi_auth.{$phpEx}\"),\n\t\t\t'S_FB_LOCALE'                                   => isset($fb_lang) ? $fb_lang : 'en_GB',\n\t\t\t'S_RETURN_TO_PAGE'                              => \"?return_to_page=\" . base64_encode(build_url()),\n\t\t\t\n\t\t\t'U_PAGE_URL'                    \t\t\t\t=> generate_board_url() . \"/viewtopic.$phpEx?f=$forum_id&amp;t=$topic_id\"", 4096) = 4096
22452 14:44:04.609169 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.609263 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.609347 read(4, ",\n\t\t));\n\t\t\n\t\t\n\t}\n}\n\n$phpbb_hook->register('phpbb_user_session_handler', array('CSAlternateLogin', 'page_header'));\n\n?>", 4096) = 118
22452 14:44:04.609438 read(4, "", 4096) = 0
22452 14:44:04.610018 read(4, "", 8192) = 0
22452 14:44:04.610100 close(4)          = 0
22452 14:44:04.610169 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.610293 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.610377 time(NULL)        = 1400874244
22452 14:44:04.610443 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.610576 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.610697 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.610830 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.610949 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.611068 lstat("/home2/fritz218/public_html/forum/includes/hooks", {st_dev=makedev(8, 33), st_ino=91759232, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.611188 lstat("/home2/fritz218/public_html/forum/includes/hooks/hook_oa_social_login.php", {st_dev=makedev(8, 33), st_ino=91762376, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=2191, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.611319 open("/home2/fritz218/public_html/forum/includes/hooks/hook_oa_social_login.php", O_RDONLY) = 4
22452 14:44:04.611413 fstat(4, {st_dev=makedev(8, 33), st_ino=91762376, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=2191, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.611527 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.611597 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.611677 fstat(4, {st_dev=makedev(8, 33), st_ino=91762376, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=2191, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.611790 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.611868 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.611940 open("/home2/fritz218/public_html/forum/includes/hooks/hook_oa_social_login.php", O_RDONLY) = 5
22452 14:44:04.612029 fstat(5, {st_dev=makedev(8, 33), st_ino=91762376, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=2191, st_atime=2014/05/22-16:50:35, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.612142 mmap(NULL, 2191, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.612224 munmap(0x7f35927b8000, 2191) = 0
22452 14:44:04.612295 close(5)          = 0
22452 14:44:04.612368 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.612445 read(4, "<?php\n/**\n * @package   \tOneAll Social Login Mod\n * @copyright \tCopyright 2012 http://www.oneall.com - All rights reserved.\n * @license   \tGNU/GPL 2 or later\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; either version 2\n * of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.\n *\n * The \"GNU General Public License\" (GPL) is available at\n * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n *\n */\nif (!defined ('IN_PHPBB'))\n{\n\texit;\n}\n\n// Hook used for the callback handler.\nfunction oa_social_login_callback_hook (&$hook)\n{\n\tglobal $phpbb_root_path, $phpEx;\n\n\t//Required Class\n\tif (!class_exists ('oa_social_login'))\n\t{\n\t\tinclude($phpbb_root_path . 'includes/functions_oa_social_login.' . $phpEx);\n\t}\n\n\t//Handle Callback\n\t$oa_social_login = new oa_social_login ();\n\t$oa_social_login->handle_callback ();\n}\n\n// Hook used to include the library and setup the templates.\nfunction oa_social_login_template_hook (&$hook)\n{\n\tglobal $template, $phpbb_root_path, $phpEx;\n\n\t//Required Class\n\tif (!class_exists ('oa_social_login'))\n\t{\n\t\tinclude($phpbb_root_path . 'includes/functions_oa_social_login.' . $phpEx);\n\t}\n\n\t//Handle Callback\n\t$oa_social_login = new oa_social_login ();\n\t$oa_social_login->setup_template ($template);\n}\n\n\n// Do not call the hooks during the installation process.\nif (!defined ('IN_OASL_INSTALL'))\n{\n\t// Do not call the hooks if the forum is disabled.\n\tif (!$config ['board_disable'])\n\t{\n\t\t$phpbb_hook->register ('phpbb_user_session_handler', 'oa_social_login_callback_hook');\n\t\t$phpbb_hook->register (array ('template', 'display'), 'oa_social_login_template_hook');\n\t}\n}\n", 4096) = 2191
22452 14:44:04.612902 lseek(4, 2191, SEEK_SET) = 2191
22452 14:44:04.612973 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e3f40) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.613063 read(4, "", 4096) = 0
22452 14:44:04.613362 read(4, "", 8192) = 0
22452 14:44:04.613455 close(4)          = 0
22452 14:44:04.613526 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.613678 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.613764 time(NULL)        = 1400874244
22452 14:44:04.613836 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.613949 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.614067 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.614193 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.614310 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.614429 lstat("/home2/fritz218/public_html/forum/includes/functions_display.php", {st_dev=makedev(8, 33), st_ino=91757825, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=41718, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.614557 open("/home2/fritz218/public_html/forum/includes/functions_display.php", O_RDONLY) = 4
22452 14:44:04.614647 fstat(4, {st_dev=makedev(8, 33), st_ino=91757825, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=41718, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.614771 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.614842 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.614912 fstat(4, {st_dev=makedev(8, 33), st_ino=91757825, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=41718, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.615029 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.615104 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.615178 open("/home2/fritz218/public_html/forum/includes/functions_display.php", O_RDONLY) = 5
22452 14:44:04.615274 fstat(5, {st_dev=makedev(8, 33), st_ino=91757825, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=41718, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:52:59, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.615389 mmap(NULL, 41718, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b0000
22452 14:44:04.615645 munmap(0x7f35927b0000, 41718) = 0
22452 14:44:04.615724 close(5)          = 0
22452 14:44:04.615796 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.615869 read(4, "<?php\n/**\n*\n* @package phpBB3\n* @version $Id: functions_display.php 10243 2009-10-28 16:49:23Z rxu $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Display Forums\n*/\nfunction display_forums($root_data = '', $display_moderators = true, $return_moderators = false)\n{\n\tglobal $db, $auth, $user, $template;\n\tglobal $phpbb_root_path, $phpEx, $config;\n\n\t$forum_rows = $subforums = $forum_ids = $forum_ids_moderator = $forum_moderators = $active_forum_ary = array();\n\t$parent_id = $visible_forums = 0;\n\t$sql_from = '';\n\n\t// Mark forums read?\n\t$mark_read = request_var('mark', '');\n\n\tif ($mark_read == 'all')\n\t{\n\t\t$mark_read = '';\n\t}\n\n\tif (!$root_data)\n\t{\n\t\tif ($mark_read == 'forums')\n\t\t{\n\t\t\t$mark_read = 'all';\n\t\t}\n\n\t\t$root_data = array('forum_id' => 0);\n\t\t$sql_where = '';\n\t}\n\telse\n\t{\n\t\t$sql_where = 'left_id > ' . $root_data['left_id'] . ' AND left_id < ' . $root_data['right_id'];\n\t}\n\n\t// Display list of active topics for this category?\n\t$show_active = (isset($root_data['forum_flags']) && ($root_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS)) ? true : false;\n\n\t$sql_array = array(\n\t\t'SELECT'\t=> 'f.*',\n\t\t'FROM'\t\t=> array(\n\t\t\tFORUMS_TABLE\t\t=> 'f'\n\t\t),\n\t\t'LEFT_JOIN'\t=> array(),\n\t);\n\n\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t{\n\t\t$sql_array['LEFT_JOIN'][] = array('FROM' => array(FORUMS_TRACK_TABLE => 'ft'), 'ON' => 'ft.user_id = ' . $user->data['user_id'] . ' AND ft.forum_id = f.forum_id');\n\t\t$sql_array['SELECT'] .= ', ft.mark_time';\n\t}\n\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t{\n\t\t$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_track'])) ? ((STRIP) ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track']) : '';\n\t\t$tracking_topics = ($tracking_topics) ? tracking_unserialize($tracking_topics) : array();\n\n\t\tif (!$user->data['is_registered'])\n\t\t{\n\t\t\t$user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;\n\t\t}\n\t}\n\n\tif ($show_active)\n\t{\n\t\t$sql_array['LEFT_JOIN'][] = array(\n\t\t\t'FROM'\t=> array(FORUMS_ACCESS_TABLE => 'fa'),\n\t\t\t'ON'\t=> \"fa.forum_id = f.forum_id AND fa.session_id = '\" . $db->sql_escape($user->session_id) . \"'\"\n\t\t);\n\n\t\t$sql_array['SELECT'] .= ', fa.user_id';\n\t}\n\n\t$sql = $db->sql_build_query('SELECT', array(\n\t\t'SELECT'\t=> $sql_array['SELECT'],\n\t\t'FROM'\t\t=> $sql_array['FROM'],\n\t\t'LEFT_JOIN'\t=> $sql_array['LEFT_JOIN'],\n\n\t\t'WHERE'\t\t=> $sql_where,\n\n\t\t'ORDER_BY'\t=> 'f.left_id',\n\t));\n\n\t$result = $db->sql_query($sql);\n\n\t$forum_tracking_info = array();\n\t$branch_root_id = $root_data['forum_id'];\n\n\t// Check for unread global announcements (index page only)\n\t$ga_unread = false;\n\tif ($root_data['forum_id'] == 0)\n\t{\n\t\t$unread_ga_list = get_unread_topics($user->data['user_id'], 'AND t.forum_id = 0', '', 1);\n\n\t\tif (!empty($unread_ga_list))\n\t\t{\n\t\t\t$ga_unread = true;\n\t\t}\n\t}\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$forum_id = $row['forum_id'];\n\n\t\t// Mark forums read?\n\t\tif ($mark_read == 'forums' || $mark_read == 'all')\n\t\t{\n\t\t\tif ($auth->acl_get('f_list', $forum_id))\n\t\t\t{\n\t\t\t\t$forum_ids[] = $forum_id;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\t// Category with no members\n\t\tif ($row['forum_type'] == FORUM_CAT && ($row['left_id'] + 1 == $row['right_id']))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Skip branch\n\t\tif (isset($right_id))\n\t\t{\n\t\t\tif ($row['left_id'] < $right_id)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tunset($right_id);\n\t\t}\n\n\t\tif (!$auth->acl_get('f_list', $forum_id))\n\t\t{\n\t\t\t// if the user does not have permissions to list this forum, skip everything until next branch\n\t\t\t$right_id = $row['right_id'];\n\t\t\tcontinue;\n\t\t}\n\n\t\t$forum_ids[] = $forum_id;\n\n\t\tif ($config['load_db_lastread'] && $user->data['is_registered'])\n\t\t{\n\t\t\t$forum_tracking_info[$forum_id] = (!empty($row['mark_time'])) ? $row['mark_time'] : $user->data['user_lastmark'];\n\t\t}\n\t\telse if ($config['load_anon_lastread'] || $user->data['is_registered'])\n\t\t{\n\t\t\tif (!$user->data['is_registered']", 4096) = 4096
22452 14:44:04.616615 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.616685 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e6470) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.616767 read(4, ")\n\t\t\t{\n\t\t\t\t$user->data['user_lastmark'] = (isset($tracking_topics['l'])) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;\n\t\t\t}\n\t\t\t$forum_tracking_info[$forum_id] = (isset($tracking_topics['f'][$forum_id])) ? (int) (base_convert($tracking_topics['f'][$forum_id], 36, 10) + $config['board_startdate']) : $user->data['user_lastmark'];\n\t\t}\n\n\t\t// Count the difference of real to public topics, so we can display an information to moderators\n\t\t$row['forum_id_unapproved_topics'] = ($auth->acl_get('m_approve', $forum_id) && ($row['forum_topics_real'] != $row['forum_topics'])) ? $forum_id : 0;\n\t\t$row['forum_topics'] = ($auth->acl_get('m_approve', $forum_id)) ? $row['forum_topics_real'] : $row['forum_topics'];\n\n\t\t// Display active topics from this forum?\n\t\tif ($show_active && $row['forum_type'] == FORUM_POST && $auth->acl_get('f_read', $forum_id) && ($row['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS))\n\t\t{\n\t\t\tif (!isset($active_forum_ary['forum_topics']))\n\t\t\t{\n\t\t\t\t$active_forum_ary['forum_topics'] = 0;\n\t\t\t}\n\n\t\t\tif (!isset($active_forum_ary['forum_posts']))\n\t\t\t{\n\t\t\t\t$active_forum_ary['forum_posts'] = 0;\n\t\t\t}\n\n\t\t\t$active_forum_ary['forum_id'][]\t\t= $forum_id;\n\t\t\t$active_forum_ary['enable_icons'][]\t= $row['enable_icons'];\n\t\t\t$active_forum_ary['forum_topics']\t+= $row['forum_topics'];\n\t\t\t$active_forum_ary['forum_posts']\t+= $row['forum_posts'];\n\n\t\t\t// If this is a passworded forum we do not show active topics from it if the user is not authorised to view it...\n\t\t\tif ($row['forum_password'] && $row['user_id'] != $user->data['user_id'])\n\t\t\t{\n\t\t\t\t$active_forum_ary['exclude_forum_id'][] = $forum_id;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tif ($row['parent_id'] == $root_data['forum_id'] || $row['parent_id'] == $branch_root_id)\n\t\t{\n\t\t\tif ($row['forum_type'] != FORUM_CAT)\n\t\t\t{\n\t\t\t\t$forum_ids_moderator[] = (int) $forum_id;\n\t\t\t}\n\n\t\t\t// Direct child of current branch\n\t\t\t$parent_id = $forum_id;\n\t\t\t$forum_rows[$forum_id] = $row;\n\n\t\t\tif ($row['forum_type'] == FORUM_CAT && $row['parent_id'] == $root_data['forum_id'])\n\t\t\t{\n\t\t\t\t$branch_root_id = $forum_id;\n\t\t\t}\n\t\t\t$forum_rows[$parent_id]['forum_id_last_post'] = $row['forum_id'];\n\t\t\t$forum_rows[$parent_id]['orig_forum_last_post_time'] = $row['forum_last_post_time'];\n\t\t}\n\t\telse if ($row['forum_type'] != FORUM_CAT)\n\t\t{\n\t\t\t$subforums[$parent_id][$forum_id]['display'] = ($row['display_on_index']) ? true : false;\n\t\t\t$subforums[$parent_id][$forum_id]['name'] = $row['forum_name'];\n\t\t\t$subforums[$parent_id][$forum_id]['orig_forum_last_post_time'] = $row['forum_last_post_time'];\n\t\t\t$subforums[$parent_id][$forum_id]['children'] = array();\n\n\t\t\tif (isset($subforums[$parent_id][$row['parent_id']]) && !$row['display_on_index'])\n\t\t\t{\n\t\t\t\t$subforums[$parent_id][$row['parent_id']]['children'][] = $forum_id;\n\t\t\t}\n\n\t\t\tif (!$forum_rows[$parent_id]['forum_id_unapproved_topics'] && $row['forum_id_unapproved_topics'])\n\t\t\t{\n\t\t\t\t$forum_rows[$parent_id]['forum_id_unapproved_topics'] = $forum_id;\n\t\t\t}\n\n\t\t\t$forum_rows[$parent_id]['forum_topics'] += $row['forum_topics'];\n\n\t\t\t// Do not list redirects in LINK Forums as Posts.\n\t\t\tif ($row['forum_type'] != FORUM_LINK)\n\t\t\t{\n\t\t\t\t$forum_rows[$parent_id]['forum_posts'] += $row['forum_posts'];\n\t\t\t}\n\n\t\t\tif ($row['forum_last_post_time'] > $forum_rows[$parent_id]['forum_last_post_time'])\n\t\t\t{\n\t\t\t\t$forum_rows[$parent_id]['forum_last_post_id'] = $row['forum_last_post_id'];\n\t\t\t\t$forum_rows[$parent_id]['forum_last_post_subject'] = $row['forum_last_post_subject'];\n\t\t\t\t$forum_rows[$parent_id]['forum_last_post_time'] = $row['forum_last_post_time'];\n\t\t\t\t$forum_rows[$parent_id]['forum_last_poster_id'] = $row['forum_last_poster_id'];\n\t\t\t\t$forum_rows[$parent_id]['forum_last_poster_name'] = $row['forum_last_poster_name'];\n\t\t\t\t$forum_rows[$parent_id]['forum_last_poster_colour'] = $row['forum_last_poster_colour'];\n\t\t\t\t$forum_rows[$parent_id]['forum_id_last_post'] = $forum_id;\n\t\t\t}\n\t\t}\n\t}\n\t$db->sql_freeresult($result);\n\n\t// Handle marking posts\n\tif ($mark_read == 'forums' || $mark_read == 'all')\n\t{\n\t\t$redirect = build_url(array('mark', 'hash'));\n\t\t$token = request_var('hash', '');\n\t\tif (check_link_has", 4096) = 4096
22452 14:44:04.618574 read(4, "h($token, 'global'))\n\t\t{\n\t\t\tif ($mark_read == 'all')\n\t\t\t{\n\t\t\t\tmarkread('all');\n\t\t\t\t$message = sprintf($user->lang['RETURN_INDEX'], '<a href=\"' . $redirect . '\">', '</a>');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Add 0 to forums array to mark global announcements correctly\n\t\t\t\t$forum_ids[] = 0;\n\t\t\t\tmarkread('topics', $forum_ids);\n\t\t\t\t$message = sprintf($user->lang['RETURN_FORUM'], '<a href=\"' . $redirect . '\">', '</a>');\n\t\t\t}\n\t\t\tmeta_refresh(3, $redirect);\n\t\t\ttrigger_error($user->lang['FORUMS_MARKED'] . '<br /><br />' . $message);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$message = sprintf($user->lang['RETURN_PAGE'], '<a href=\"' . $redirect . '\">', '</a>');\n\t\t\tmeta_refresh(3, $redirect);\n\t\t\ttrigger_error($message);\n\t\t}\n\n\t}\n\n\t// Grab moderators ... if necessary\n\tif ($display_moderators)\n\t{\n\t\tif ($return_moderators)\n\t\t{\n\t\t\t$forum_ids_moderator[] = $root_data['forum_id'];\n\t\t}\n\t\tget_moderators($forum_moderators, $forum_ids_moderator);\n\t}\n\n\t// Used to tell whatever we have to create a dummy category or not.\n\t$last_catless = true;\n\tforeach ($forum_rows as $row)\n\t{\n\t\t// Empty category\n\t\tif ($row['parent_id'] == $root_data['forum_id'] && $row['forum_type'] == FORUM_CAT)\n\t\t{\n\t\t\t$template->assign_block_vars('forumrow', array(\n\t\t\t\t'S_IS_CAT'\t\t\t\t=> true,\n\t\t\t\t'FORUM_ID'\t\t\t\t=> $row['forum_id'],\n\t\t\t\t'FORUM_NAME'\t\t\t=> $row['forum_name'],\n\t\t\t\t'FORUM_DESC'\t\t\t=> generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),\n\t\t\t\t'FORUM_FOLDER_IMG'\t\t=> '',\n\t\t\t\t'FORUM_FOLDER_IMG_SRC'\t=> '',\n\t\t\t\t'FORUM_IMAGE'\t\t\t=> ($row['forum_image']) ? '<img src=\"' . $phpbb_root_path . $row['forum_image'] . '\" alt=\"' . $user->lang['FORUM_CAT'] . '\" />' : '',\n\t\t\t\t'FORUM_IMAGE_SRC'\t\t=> ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',\n\t\t\t\t'U_VIEWFORUM'\t\t\t=> append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $row['forum_id']))\n\t\t\t);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\t$visible_forums++;\n\t\t$forum_id = $row['forum_id'];\n\n\t\t$forum_unread = (isset($forum_tracking_info[$forum_id]) && $row['orig_forum_last_post_time'] > $forum_tracking_info[$forum_id]) ? true : false;\n\n\t\t// Mark the first visible forum on index as unread if there's any unread global announcement\n\t\tif ($ga_unread && !empty($forum_ids_moderator) && $forum_id == $forum_ids_moderator[0])\n\t\t{\n\t\t\t$forum_unread = true;\n\t\t}\n\n\t\t$folder_image = $folder_alt = $l_subforums = '';\n\t\t$subforums_list = array();\n\n\t\t// Generate list of subforums if we need to\n\t\tif (isset($subforums[$forum_id]))\n\t\t{\n\t\t\tforeach ($subforums[$forum_id] as $subforum_id => $subforum_row)\n\t\t\t{\n\t\t\t\t$subforum_unread = (isset($forum_tracking_info[$subforum_id]) && $subforum_row['orig_forum_last_post_time'] > $forum_tracking_info[$subforum_id]) ? true : false;\n\n\t\t\t\tif (!$subforum_unread && !empty($subforum_row['children']))\n\t\t\t\t{\n\t\t\t\t\tforeach ($subforum_row['children'] as $child_id)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (isset($forum_tracking_info[$child_id]) && $subforums[$forum_id][$child_id]['orig_forum_last_post_time'] > $forum_tracking_info[$child_id])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// Once we found an unread child forum, we can drop out of this loop\n\t\t\t\t\t\t\t$subforum_unread = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ($subforum_row['display'] && $subforum_row['name'])\n\t\t\t\t{\n\t\t\t\t\t$subforums_list[] = array(\n\t\t\t\t\t\t'link'\t\t=> append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $subforum_id),\n\t\t\t\t\t\t'name'\t\t=> $subforum_row['name'],\n\t\t\t\t\t\t'unread'\t=> $subforum_unread,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tunset($subforums[$forum_id][$subforum_id]);\n\t\t\t\t}\n\n\t\t\t\t// If one subforum is unread the forum gets unread too...\n\t\t\t\tif ($subforum_unread)\n\t\t\t\t{\n\t\t\t\t\t$forum_unread = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$l_subforums = (sizeof($subforums[$forum_id]) == 1) ? $user->lang['SUBFORUM'] . ': ' : $user->lang['SUBFORUMS'] . ': ';\n\t\t\t$folder_image = ($forum_unread) ? 'forum_unread_subforum' : 'forum_read_subforum';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tswitch ($row['forum_type'])\n\t\t\t{\n\t\t\t\tcase FORUM_POST:\n\t\t\t\t\t$folder_image = ($forum_unread) ? 'forum_unread' : 'forum_read';\n\t\t\t\tbreak;\n\n\t\t\t\tcase FORUM_LINK:\n\t\t\t\t\t$folder_image = 'forum_link';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Which folder should we display?\n\t\tif ($row['forum_status'] == ITEM_LOCKED)\n\t\t{\n\t\t\t$folder_image = ($forum_unread) ? 'forum_unread_locked' : 'forum_read_locked';\n\t\t\t$folder_alt = 'FORUM_LOCKED';\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$folder_alt = ($forum_unread) ? 'NEW_POSTS' : 'NO_NEW_POSTS';\n\t\t}\n\n\t\t// Create last post link information, if appropriate\n\t\tif ($row['forum_last_post_id'])\n\t\t{\n\t\t\t$last_post_subject = $row['forum_last_post_subject'];\n\t\t\t$last_post_time = $user->format_date($row['forum_last_post_time']);\n\t\t\t$last_post_url = append_sid(\"{$phpbb_root_path}viewtopic.$phpEx\", 'f=' . $row['forum_id_last_post'] . '&amp;p=' . $row['forum_last_post_id']) . '#p' . $row['forum_last_post_id'];\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$last_post_subject = $last_post_time = $last_post_url = '';\n\t\t}\n\n\t\t// Output moderator listing ... if applicable\n\t\t$l_moderator = $moderators_list = '';\n\t\tif ($display_moderators && !empty($forum_moderators[$forum_id]))\n\t\t{\n\t\t\t$l_moderator = (sizeof($forum_moderators[$forum_id]) == 1) ? $user->lang['MODERATOR'] : $user->lang['MODERATORS'];\n\t\t\t$moderators_list = implode(', ', $forum_moderators[$forum_id]);\n\t\t}\n\n\t\t$l_post_click_count = ($row['forum_type'] == FORUM_LINK) ? 'CLICKS' : 'POSTS';\n\t\t$post_click_count = ($row['forum_type'] != FORUM_LINK || $row['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? $row['forum_posts'] : '';\n\n\t\t$s_subforums_list = array();\n\t\tforeach ($subforums_list as $subforum)\n\t\t{\n\t\t\t$s_subforums_list[] = '<a href=\"' . $subforum['link'] . '\" class=\"subforum ' . (($subforum['unread']) ? 'unread' : 'read') . '\" title=\"' . (($subforum['unread']) ? $user->lang['NEW_POSTS'] : $user->lang['NO_NEW_POSTS']) . '\">' . $subforum['name'] . '</a>';\n\t\t}\n\t\t$s_subforums_list = (string) implode(', ', $s_subforums_list);\n\t\t$catless = ($row['parent_id'] == $root_data['forum_id']) ? true : false;\n\n\t\tif ($row['forum_type'] != FORUM_LINK)\n\t\t{\n\t\t\t$u_viewforum = append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $row['forum_id']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// If the forum is a link and we count redirects we need to visit it\n\t\t\t// If the forum is having a password or no read access we do not expose the link, but instead handle it in viewforum\n\t\t\tif (($row['forum_flags'] & FORUM_FLAG_LINK_TRACK) || $row['forum_password'] || !$auth->acl_get('f_read', $forum_id))\n\t\t\t{\n\t\t\t\t$u_viewforum = append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $row['forum_id']);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$u_viewforum = $row['forum_link'];\n\t\t\t}\n\t\t}\n\n\t\t$template->assign_block_vars('forumrow', array(\n\t\t\t'S_IS_CAT'\t\t\t=> false,\n\t\t\t'S_NO_CAT'\t\t\t=> $catless && !$last_catless,\n\t\t\t'S_IS_LINK'\t\t\t=> ($row['forum_type'] == FORUM_LINK) ? true : false,\n\t\t\t'S_UNREAD_FORUM'\t=> $forum_unread,\n\t\t\t'S_LOCKED_FORUM'\t=> ($row['forum_status'] == ITEM_LOCKED) ? true : false,\n\t\t\t'S_LIST_SUBFORUMS'\t=> ($row['display_subforum_list']) ? true : false,\n\t\t\t'S_SUBFORUMS'\t\t=> (sizeof($subforums_list)) ? true : false,\n\t\t\t'S_FEED_ENABLED'\t=> ($config['feed_forum'] && !phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $row['forum_options'])) ? true : false,\n\n\t\t\t'FORUM_ID'\t\t\t\t=> $row['forum_id'],\n\t\t\t'FORUM_NAME'\t\t\t=> $row['forum_name'],\n\t\t\t'FORUM_DESC'\t\t\t=> generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),\n\t\t\t'TOPICS'\t\t\t\t=> $row['forum_topics'],\n\t\t\t$l_post_click_count\t\t=> $post_click_count,\n\t\t\t'FORUM_FOLDER_IMG'\t\t=> $user->img($folder_image, $folder_alt),\n\t\t\t'FORUM_FOLDER_IMG_SRC'\t=> $user->img($folder_image, $folder_alt, false, '', 'src'),\n\t\t\t'FORUM_FOLDER_IMG_ALT'\t=> isset($user->lang[$folder_alt]) ? $user->lang[$folder_alt] : '',\n\t\t\t'FORUM_IMAGE'\t\t\t=> ($row['forum_image']) ? '<img src=\"' . $phpbb_root_path . $row['forum_image'] . '\" alt=\"' . $user->lang[$folder_alt] . '\" />' : '',\n\t\t\t'FORUM_IMAGE_SRC'\t\t=> ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',\n\t\t\t'LAST_POST_SUBJECT'\t\t=> censor_text($last_post_subject),\n\t\t\t'LAST_POST_TIME'\t\t=> $last_post_time,\n\t\t\t'LAST_POSTER'\t\t\t=> get_username_string('username', $row['forum_last_poster_id'], $row"..., 8192) = 8192
22452 14:44:04.620923 mmap(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3588876000
22452 14:44:04.621488 read(4, "me_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),\n\t\t\t'LAST_POSTER_FULL'\t\t=> get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),\n\t\t\t'MODERATORS'\t\t\t=> $moderators_list,\n\t\t\t'SUBFORUMS'\t\t\t\t=> $s_subforums_list,\n\n\t\t\t'L_SUBFORUM_STR'\t\t=> $l_subforums,\n\t\t\t'L_FORUM_FOLDER_ALT'\t=> $folder_alt,\n\t\t\t'L_MODERATOR_STR'\t\t=> $l_moderator,\n\n\t\t\t'U_UNAPPROVED_TOPICS'\t=> ($row['forum_id_unapproved_topics']) ? append_sid(\"{$phpbb_root_path}mcp.$phpEx\", 'i=queue&amp;mode=unapproved_topics&amp;f=' . $row['forum_id_unapproved_topics']) : '',\n\t\t\t'U_VIEWFORUM'\t\t=> $u_viewforum,\n\t\t\t'U_LAST_POSTER'\t\t=> get_username_string('profile', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),\n\t\t\t'U_LAST_POST'\t\t=> $last_post_url)\n\t\t);\n\n\t\t// Assign subforums loop for style authors\n\t\tforeach ($subforums_list as $subforum)\n\t\t{\n\t\t\t$template->assign_block_vars('forumrow.subforum', array(\n\t\t\t\t'U_SUBFORUM'\t=> $subforum['link'],\n\t\t\t\t'SUBFORUM_NAME'\t=> $subforum['name'],\n\t\t\t\t'S_UNREAD'\t\t=> $subforum['unread'])\n\t\t\t);\n\t\t}\n\n\t\t$last_catless = $catless;\n\t}\n\n\t$template->assign_vars(array(\n\t\t'U_MARK_FORUMS'\t\t=> ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'hash=' . generate_link_hash('global') . '&amp;f=' . $root_data['forum_id'] . '&amp;mark=forums') : '',\n\t\t'S_HAS_SUBFORUM'\t=> ($visible_forums) ? true : false,\n\t\t'L_SUBFORUM'\t\t=> ($visible_forums == 1) ? $user->lang['SUBFORUM'] : $user->lang['SUBFORUMS'],\n\t\t'LAST_POST_IMG'\t\t=> $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),\n\t\t'UNAPPROVED_IMG'\t=> $user->img('icon_topic_unapproved', 'TOPICS_UNAPPROVED'),\n\t));\n\n\tif ($return_moderators)\n\t{\n\t\treturn array($active_forum_ary, $forum_moderators);\n\t}\n\n\treturn array($active_forum_ary, array());\n}\n\n/**\n* Create forum rules for given forum\n*/\nfunction generate_forum_rules(&$forum_data)\n{\n\tif (!$forum_data['forum_rules'] && !$forum_data['forum_rules_link'])\n\t{\n\t\treturn;\n\t}\n\n\tglobal $template, $phpbb_root_path, $phpEx;\n\n\tif ($forum_data['forum_rules'])\n\t{\n\t\t$forum_data['forum_rules'] = generate_text_for_display($forum_data['forum_rules'], $forum_data['forum_rules_uid'], $forum_data['forum_rules_bitfield'], $forum_data['forum_rules_options']);\n\t}\n\n\t$template->assign_vars(array(\n\t\t'S_FORUM_RULES'\t=> true,\n\t\t'U_FORUM_RULES'\t=> $forum_data['forum_rules_link'],\n\t\t'FORUM_RULES'\t=> $forum_data['forum_rules'])\n\t);\n}\n\n/**\n* Create forum navigation links for given forum, create parent\n* list if currently null, assign basic forum info to template\n*/\nfunction generate_forum_nav(&$forum_data)\n{\n\tglobal $db, $user, $template, $auth, $config;\n\tglobal $phpEx, $phpbb_root_path;\n\n\tif (!$auth->acl_get('f_list', $forum_data['forum_id']))\n\t{\n\t\treturn;\n\t}\n\n\t// Get forum parents\n\t$forum_parents = get_forum_parents($forum_data);\n\n\t// Build navigation links\n\tif (!empty($forum_parents))\n\t{\n\t\tforeach ($forum_parents as $parent_forum_id => $parent_data)\n\t\t{\n\t\t\tlist($parent_name, $parent_type) = array_values($parent_data);\n\n\t\t\t// Skip this parent if the user does not have the permission to view it\n\t\t\tif (!$auth->acl_get('f_list', $parent_forum_id))\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$template->assign_block_vars('navlinks', array(\n\t\t\t\t'S_IS_CAT'\t\t=> ($parent_type == FORUM_CAT) ? true : false,\n\t\t\t\t'S_IS_LINK'\t\t=> ($parent_type == FORUM_LINK) ? true : false,\n\t\t\t\t'S_IS_POST'\t\t=> ($parent_type == FORUM_POST) ? true : false,\n\t\t\t\t'FORUM_NAME'\t=> $parent_name,\n\t\t\t\t'FORUM_ID'\t\t=> $parent_forum_id,\n\t\t\t\t'U_VIEW_FORUM'\t=> append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $parent_forum_id))\n\t\t\t);\n\t\t}\n\t}\n\n\t$template->assign_block_vars('navlinks', array(\n\t\t'S_IS_CAT'\t\t=> ($forum_data['forum_type'] == FORUM_CAT) ? true : false,\n\t\t'S_IS_LINK'\t\t=> ($forum_data['forum_type'] == FORUM_LINK) ? true : false,\n\t\t'S_IS_POST'\t\t=> ($forum_data['forum_type'] == FORUM_POST) ? true : false,\n\t\t'FORUM_NAME'\t=> $forum_data['forum_name'],\n\t\t'FORUM_ID'\t\t=> $forum_data['forum_id'],\n\t\t'U_VIEW_FORUM'\t=> append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $forum_data['forum_id']))\n\t);\n\n\t$template->assign_vars(array(\n\t\t'FORUM_ID' \t\t=> $forum_data['forum_id'],\n\t\t'FORUM_NAME'\t=> $forum_data['forum_name'],\n\t\t'FORUM_DESC'\t=> generate_text_for_display($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options']),\n\n\t\t'S_ENABLE_FEEDS_FORUM'\t=> ($config['feed_forum'] && !phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $forum_data['forum_options'])) ? true : false,\n\t));\n\n\treturn;\n}\n\n/**\n* Returns forum parents as an array. Get them from forum_data if available, or update the database otherwise\n*/\nfunction get_forum_parents(&$forum_data)\n{\n\tglobal $db;\n\n\t$forum_parents = array();\n\n\tif ($forum_data['parent_id'] > 0)\n\t{\n\t\tif ($forum_data['forum_parents'] == '')\n\t\t{\n\t\t\t$sql = 'SELECT forum_id, forum_name, forum_type\n\t\t\t\tFROM ' . FORUMS_TABLE . '\n\t\t\t\tWHERE left_id < ' . $forum_data['left_id'] . '\n\t\t\t\t\tAND right_id > ' . $forum_data['right_id'] . '\n\t\t\t\tORDER BY left_id ASC';\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\twhile ($row = $db->sql_fetchrow($result))\n\t\t\t{\n\t\t\t\t$forum_parents[$row['forum_id']] = array($row['forum_name'], (int) $row['forum_type']);\n\t\t\t}\n\t\t\t$db->sql_freeresult($result);\n\n\t\t\t$forum_data['forum_parents'] = serialize($forum_parents);\n\n\t\t\t$sql = 'UPDATE ' . FORUMS_TABLE . \"\n\t\t\t\tSET forum_parents = '\" . $db->sql_escape($forum_data['forum_parents']) . \"'\n\t\t\t\tWHERE parent_id = \" . $forum_data['parent_id'];\n\t\t\t$db->sql_query($sql);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$forum_parents = unserialize($forum_data['forum_parents']);\n\t\t}\n\t}\n\n\treturn $forum_parents;\n}\n\n/**\n* Generate topic pagination\n*/\nfunction topic_generate_pagination($replies, $url)\n{\n\tglobal $config, $user;\n\n\t// Make sure $per_page is a valid value\n\t$per_page = ($config['posts_per_page'] <= 0) ? 1 : $config['posts_per_page'];\n\n\tif (($replies + 1) > $per_page)\n\t{\n\t\t$total_pages = ceil(($replies + 1) / $per_page);\n\t\t$pagination = '';\n\n\t\t$times = 1;\n\t\tfor ($j = 0; $j < $replies + 1; $j += $per_page)\n\t\t{\n\t\t\t$pagination .= '<a href=\"' . $url . '&amp;start=' . $j . '\">' . $times . '</a>';\n\t\t\tif ($times == 1 && $total_pages > 5)\n\t\t\t{\n\t\t\t\t$pagination .= ' ... ';\n\n\t\t\t\t// Display the last three pages\n\t\t\t\t$times = $total_pages - 3;\n\t\t\t\t$j += ($total_pages - 4) * $per_page;\n\t\t\t}\n\t\t\telse if ($times < $total_pages)\n\t\t\t{\n\t\t\t\t$pagination .= '<span class=\"page-sep\">' . $user->lang['COMMA_SEPARATOR'] . '</span>';\n\t\t\t}\n\t\t\t$times++;\n\t\t}\n\t}\n\telse\n\t{\n\t\t$pagination = '';\n\t}\n\n\treturn $pagination;\n}\n\n/**\n* Obtain list of moderators of each forum\n*/\nfunction get_moderators(&$forum_moderators, $forum_id = false)\n{\n\tglobal $config, $template, $db, $phpbb_root_path, $phpEx, $user, $auth;\n\n\t$forum_id_ary = array();\n\n\tif ($forum_id !== false)\n\t{\n\t\tif (!is_array($forum_id))\n\t\t{\n\t\t\t$forum_id = array($forum_id);\n\t\t}\n\n\t\t// Exchange key/value pair to be able to faster check for the forum id existence\n\t\t$forum_id_ary = array_flip($forum_id);\n\t}\n\n\t$sql_array = array(\n\t\t'SELECT'\t=> 'm.*, u.user_colour, g.group_colour, g.group_type',\n\n\t\t'FROM'\t\t=> array(\n\t\t\tMODERATOR_CACHE_TABLE\t=> 'm',\n\t\t),\n\n\t\t'LEFT_JOIN'\t=> array(\n\t\t\tarray(\n\t\t\t\t'FROM'\t=> array(USERS_TABLE => 'u'),\n\t\t\t\t'ON'\t=> 'm.user_id = u.user_id',\n\t\t\t),\n\t\t\tarray(\n\t\t\t\t'FROM'\t=> array(GROUPS_TABLE => 'g'),\n\t\t\t\t'ON'\t=> 'm.group_id = g.group_id',\n\t\t\t),\n\t\t),\n\n\t\t'WHERE'\t\t=> 'm.display_on_index = 1',\n\t);\n\n\t// We query every forum here because for caching we should not have any parameter.\n\t$sql = $db->sql_build_query('SELECT', $sql_array);\n\t$result = $db->sql_query($sql, 3600);\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t$f_id = (int) $row['forum_id'];\n\n\t\tif (!isset($forum_id_ary[$f_id]))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!empty($row['user_id']))\n\t\t{\n\t\t\t$forum_moderators[$f_id][] = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$group_name = (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']);\n\n\t\t\tif ($"..., 8192) = 8192
22452 14:44:04.624178 read(4, "f_id][] = '<span' . (($row['group_colour']) ? ' style=\"color:#' . $row['group_colour'] . ';\"' : '') . '>' . $group_name . '</span>';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$forum_moderators[$f_id][] = '<a' . (($row['group_colour']) ? ' style=\"color:#' . $row['group_colour'] . ';\"' : '') . ' href=\"' . append_sid(\"{$phpbb_root_path}memberlist.$phpEx\", 'mode=group&amp;g=' . $row['group_id']) . '\">' . $group_name . '</a>';\n\t\t\t}\n\t\t}\n\t}\n\t$db->sql_freeresult($result);\n\n\treturn;\n}\n\n/**\n* User authorisation levels output\n*\n* @param\tstring\t$mode\t\t\tCan be forum or topic. Not in use at the moment.\n* @param\tint\t\t$forum_id\t\tThe current forum the user is in.\n* @param\tint\t\t$forum_status\tThe forums status bit.\n*/\nfunction gen_forum_auth_level($mode, $forum_id, $forum_status)\n{\n\tglobal $template, $auth, $user, $config;\n\n\t$locked = ($forum_status == ITEM_LOCKED && !$auth->acl_get('m_edit', $forum_id)) ? true : false;\n\n\t$rules = array(\n\t\t($auth->acl_get('f_post', $forum_id) && !$locked) ? $user->lang['RULES_POST_CAN'] : $user->lang['RULES_POST_CANNOT'],\n\t\t($auth->acl_get('f_reply', $forum_id) && !$locked) ? $user->lang['RULES_REPLY_CAN'] : $user->lang['RULES_REPLY_CANNOT'],\n\t\t($user->data['is_registered'] && $auth->acl_gets('f_edit', 'm_edit', $forum_id) && !$locked) ? $user->lang['RULES_EDIT_CAN'] : $user->lang['RULES_EDIT_CANNOT'],\n\t\t($user->data['is_registered'] && $auth->acl_gets('f_delete', 'm_delete', $forum_id) && !$locked) ? $user->lang['RULES_DELETE_CAN'] : $user->lang['RULES_DELETE_CANNOT'],\n\t);\n\n\tif ($config['allow_attachments'])\n\t{\n\t\t$rules[] = ($auth->acl_get('f_attach', $forum_id) && $auth->acl_get('u_attach') && !$locked) ? $user->lang['RULES_ATTACH_CAN'] : $user->lang['RULES_ATTACH_CANNOT'];\n\t}\n\n\tforeach ($rules as $rule)\n\t{\n\t\t$template->assign_block_vars('rules', array('RULE' => $rule));\n\t}\n\n\treturn;\n}\n\n/**\n* Generate topic status\n*/\nfunction topic_status(&$topic_row, $replies, $unread_topic, &$folder_img, &$folder_alt, &$topic_type)\n{\n\tglobal $user, $config;\n\n\t$folder = $folder_new = '';\n\n\tif ($topic_row['topic_status'] == ITEM_MOVED)\n\t{\n\t\t$topic_type = $user->lang['VIEW_TOPIC_MOVED'];\n\t\t$folder_img = 'topic_moved';\n\t\t$folder_alt = 'TOPIC_MOVED';\n\t}\n\telse\n\t{\n\t\tswitch ($topic_row['topic_type'])\n\t\t{\n\t\t\tcase POST_GLOBAL:\n\t\t\t\t$topic_type = $user->lang['VIEW_TOPIC_GLOBAL'];\n\t\t\t\t$folder = 'global_read';\n\t\t\t\t$folder_new = 'global_unread';\n\t\t\tbreak;\n\n\t\t\tcase POST_ANNOUNCE:\n\t\t\t\t$topic_type = $user->lang['VIEW_TOPIC_ANNOUNCEMENT'];\n\t\t\t\t$folder = 'announce_read';\n\t\t\t\t$folder_new = 'announce_unread';\n\t\t\tbreak;\n\n\t\t\tcase POST_STICKY:\n\t\t\t\t$topic_type = $user->lang['VIEW_TOPIC_STICKY'];\n\t\t\t\t$folder = 'sticky_read';\n\t\t\t\t$folder_new = 'sticky_unread';\n\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$topic_type = '';\n\t\t\t\t$folder = 'topic_read';\n\t\t\t\t$folder_new = 'topic_unread';\n\n\t\t\t\t// Hot topic threshold is for posts in a topic, which is replies + the first post. ;)\n\t\t\t\tif ($config['hot_threshold'] && ($replies + 1) >= $config['hot_threshold'] && $topic_row['topic_status'] != ITEM_LOCKED)\n\t\t\t\t{\n\t\t\t\t\t$folder .= '_hot';\n\t\t\t\t\t$folder_new .= '_hot';\n\t\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\tif ($topic_row['topic_status'] == ITEM_LOCKED)\n\t\t{\n\t\t\t$topic_type = $user->lang['VIEW_TOPIC_LOCKED'];\n\t\t\t$folder .= '_locked';\n\t\t\t$folder_new .= '_locked';\n\t\t}\n\n\n\t\t$folder_img = ($unread_topic) ? $folder_new : $folder;\n\t\t$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($topic_row['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');\n\n\t\t// Posted image?\n\t\tif (!empty($topic_row['topic_posted']) && $topic_row['topic_posted'])\n\t\t{\n\t\t\t$folder_img .= '_mine';\n\t\t}\n\t}\n\n\tif ($topic_row['poll_start'] && $topic_row['topic_status'] != ITEM_MOVED)\n\t{\n\t\t$topic_type = $user->lang['VIEW_TOPIC_POLL'];\n\t}\n}\n\n/**\n* Assign/Build custom bbcodes for display in screens supporting using of bbcodes\n* The custom bbcodes buttons will be placed within the template block 'custom_codes'\n*/\nfunction display_custom_bbcodes()\n{\n\tglobal $db, $template, $user;\n\n\t// Start counting from 22 for the bbcode ids (every bbcode takes two ids - opening/closing)\n\t$num_predefined_bbcodes = 22;\n\n\t$sql = 'SELECT bbcode_id, bbcode_tag, bbcode_helpline\n\t\tFROM ' . BBCODES_TABLE . '\n\t\tWHERE display_on_posting = 1\n\t\tORDER BY bbcode_tag';\n\t$result = $db->sql_query($sql);\n\n\t$i = 0;\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t// If the helpline is defined within the language file, we will use the localised version, else just use the database entry...\n\t\tif (isset($user->lang[strtoupper($row['bbcode_helpline'])]))\n\t\t{\n\t\t\t$row['bbcode_helpline'] = $user->lang[strtoupper($row['bbcode_helpline'])];\n\t\t}\n\n\t\t$template->assign_block_vars('custom_tags', array(\n\t\t\t'BBCODE_NAME'\t\t=> \"'[{$row['bbcode_tag']}]', '[/\" . str_replace('=', '', $row['bbcode_tag']) . \"]'\",\n\t\t\t'BBCODE_ID'\t\t\t=> $num_predefined_bbcodes + ($i * 2),\n\t\t\t'BBCODE_TAG'\t\t=> $row['bbcode_tag'],\n\t\t\t'BBCODE_HELPLINE'\t=> $row['bbcode_helpline'],\n\t\t\t'A_BBCODE_HELPLINE'\t=> str_replace(array('&amp;', '&quot;', \"'\", '&lt;', '&gt;'), array('&', '\"', \"\\'\", '<', '>'), $row['bbcode_helpline']),\n\t\t));\n\n\t\t$i++;\n\t}\n\t$db->sql_freeresult($result);\n}\n\n/**\n* Display reasons\n*/\nfunction display_reasons($reason_id = 0)\n{\n\tglobal $db, $user, $template;\n\n\t$sql = 'SELECT *\n\t\tFROM ' . REPORTS_REASONS_TABLE . '\n\t\tORDER BY reason_order ASC';\n\t$result = $db->sql_query($sql);\n\n\twhile ($row = $db->sql_fetchrow($result))\n\t{\n\t\t// If the reason is defined within the language file, we will use the localized version, else just use the database entry...\n\t\tif (isset($user->lang['report_reasons']['TITLE'][strtoupper($row['reason_title'])]) && isset($user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])]))\n\t\t{\n\t\t\t$row['reason_description'] = $user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])];\n\t\t\t$row['reason_title'] = $user->lang['report_reasons']['TITLE'][strtoupper($row['reason_title'])];\n\t\t}\n\n\t\t$template->assign_block_vars('reason', array(\n\t\t\t'ID'\t\t\t=> $row['reason_id'],\n\t\t\t'TITLE'\t\t\t=> $row['reason_title'],\n\t\t\t'DESCRIPTION'\t=> $row['reason_description'],\n\t\t\t'S_SELECTED'\t=> ($row['reason_id'] == $reason_id) ? true : false)\n\t\t);\n\t}\n\t$db->sql_freeresult($result);\n}\n\n/**\n* Display user activity (action forum/topic)\n*/\nfunction display_user_activity(&$userdata)\n{\n\tglobal $auth, $template, $db, $user;\n\tglobal $phpbb_root_path, $phpEx;\n\n\t// Do not display user activity for users having more than 5000 posts...\n\tif ($userdata['user_posts'] > 5000)\n\t{\n\t\treturn;\n\t}\n\n\t$forum_ary = array();\n\n\t// Do not include those forums the user is not having read access to...\n\t$forum_read_ary = $auth->acl_getf('!f_read');\n\n\tforeach ($forum_read_ary as $forum_id => $not_allowed)\n\t{\n\t\tif ($not_allowed['f_read'])\n\t\t{\n\t\t\t$forum_ary[] = (int) $forum_id;\n\t\t}\n\t}\n\n\t$forum_ary = array_unique($forum_ary);\n\t$forum_sql = (sizeof($forum_ary)) ? 'AND ' . $db->sql_in_set('forum_id', $forum_ary, true) : '';\n\n\t// Obtain active forum\n\t$sql = 'SELECT forum_id, COUNT(post_id) AS num_posts\n\t\tFROM ' . POSTS_TABLE . '\n\t\tWHERE poster_id = ' . $userdata['user_id'] . \"\n\t\t\tAND post_postcount = 1\n\t\t\t$forum_sql\n\t\tGROUP BY forum_id\n\t\tORDER BY num_posts DESC\";\n\t$result = $db->sql_query_limit($sql, 1);\n\t$active_f_row = $db->sql_fetchrow($result);\n\t$db->sql_freeresult($result);\n\n\tif (!empty($active_f_row))\n\t{\n\t\t$sql = 'SELECT forum_name\n\t\t\tFROM ' . FORUMS_TABLE . '\n\t\t\tWHERE forum_id = ' . $active_f_row['forum_id'];\n\t\t$result = $db->sql_query($sql, 3600);\n\t\t$active_f_row['forum_name'] = (string) $db->sql_fetchfield('forum_name');\n\t\t$db->sql_freeresult($result);\n\t}\n\n\t// Obtain active topic\n\t$sql = 'SELECT topic_id, COUNT(post_id) AS num_posts\n\t\tFROM ' . POSTS_TABLE . '\n\t\tWHERE poster_id = ' . $userdata['user_id'] . \"\n\t\t\tAND post_postcount = 1\n\t\t\t$forum_sql\n\t\tGROUP BY topic_id\n\t\tORDER BY num_posts DESC\";\n\t$result = $db->sql_query_limit($sql, 1);\n\t$active_t_row = $db->sql_fetchrow($result);\n\t$db->sql_freeresult($result);\n\n\tif (!empty($active_t_row))\n\t{\n\t\t$sql = 'SELECT topic_title\n\t\t\tFROM ' . TOPICS_TABLE . '\n\t\t\tWHERE topic_id = ' . $active_t_row['topic_id'];\n\t\t$result = $db->sql_query($sql);\n\t\t$active_t_row['topic_title'] = (string) $db->sql_fetchfield('topic_ti"..., 8192) = 8192
22452 14:44:04.626872 read(4, "ctive_f_row'] = $active_f_row;\n\n\t$active_f_name = $active_f_id = $active_f_count = $active_f_pct = '';\n\tif (!empty($active_f_row['num_posts']))\n\t{\n\t\t$active_f_name = $active_f_row['forum_name'];\n\t\t$active_f_id = $active_f_row['forum_id'];\n\t\t$active_f_count = $active_f_row['num_posts'];\n\t\t$active_f_pct = ($userdata['user_posts']) ? ($active_f_count / $userdata['user_posts']) * 100 : 0;\n\t}\n\n\t$active_t_name = $active_t_id = $active_t_count = $active_t_pct = '';\n\tif (!empty($active_t_row['num_posts']))\n\t{\n\t\t$active_t_name = $active_t_row['topic_title'];\n\t\t$active_t_id = $active_t_row['topic_id'];\n\t\t$active_t_count = $active_t_row['num_posts'];\n\t\t$active_t_pct = ($userdata['user_posts']) ? ($active_t_count / $userdata['user_posts']) * 100 : 0;\n\t}\n\n\t$l_active_pct = ($userdata['user_id'] != ANONYMOUS && $userdata['user_id'] == $user->data['user_id']) ? $user->lang['POST_PCT_ACTIVE_OWN'] : $user->lang['POST_PCT_ACTIVE'];\n\n\t$template->assign_vars(array(\n\t\t'ACTIVE_FORUM'\t\t\t=> $active_f_name,\n\t\t'ACTIVE_FORUM_POSTS'\t=> ($active_f_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_f_count),\n\t\t'ACTIVE_FORUM_PCT'\t\t=> sprintf($l_active_pct, $active_f_pct),\n\t\t'ACTIVE_TOPIC'\t\t\t=> censor_text($active_t_name),\n\t\t'ACTIVE_TOPIC_POSTS'\t=> ($active_t_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_t_count),\n\t\t'ACTIVE_TOPIC_PCT'\t\t=> sprintf($l_active_pct, $active_t_pct),\n\t\t'U_ACTIVE_FORUM'\t\t=> append_sid(\"{$phpbb_root_path}viewforum.$phpEx\", 'f=' . $active_f_id),\n\t\t'U_ACTIVE_TOPIC'\t\t=> append_sid(\"{$phpbb_root_path}viewtopic.$phpEx\", 't=' . $active_t_id),\n\t\t'S_SHOW_ACTIVITY'\t\t=> true)\n\t);\n}\n\n/**\n* Topic and forum watching common code\n*/\nfunction watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id, $notify_status = 'unset', $start = 0)\n{\n\tglobal $template, $db, $user, $phpEx, $start, $phpbb_root_path;\n\n\t$table_sql = ($mode == 'forum') ? FORUMS_WATCH_TABLE : TOPICS_WATCH_TABLE;\n\t$where_sql = ($mode == 'forum') ? 'forum_id' : 'topic_id';\n\t$match_id = ($mode == 'forum') ? $forum_id : $topic_id;\n\t$u_url = \"uid={$user->data['user_id']}\";\n\t$u_url .= ($mode == 'forum') ? '&amp;f' : '&amp;f=' . $forum_id . '&amp;t';\n\n\t// Is user watching this thread?\n\tif ($user_id != ANONYMOUS)\n\t{\n\t\t$can_watch = true;\n\n\t\tif ($notify_status == 'unset')\n\t\t{\n\t\t\t$sql = \"SELECT notify_status\n\t\t\t\tFROM $table_sql\n\t\t\t\tWHERE $where_sql = $match_id\n\t\t\t\t\tAND user_id = $user_id\";\n\t\t\t$result = $db->sql_query($sql);\n\n\t\t\t$notify_status = ($row = $db->sql_fetchrow($result)) ? $row['notify_status'] : NULL;\n\t\t\t$db->sql_freeresult($result);\n\t\t}\n\n\t\tif (!is_null($notify_status) && $notify_status !== '')\n\t\t{\n\n\t\t\tif (isset($_GET['unwatch']))\n\t\t\t{\n\t\t\t\t$uid = request_var('uid', 0);\n\t\t\t\tif ($uid != $user_id)\n\t\t\t\t{\n\t\t\t\t\t$redirect_url = append_sid(\"{$phpbb_root_path}view$mode.$phpEx\", \"$u_url=$match_id&amp;start=$start\");\n\t\t\t\t\t$message = $user->lang['ERR_UNWATCHING'] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href=\"' . $redirect_url . '\">', '</a>');\n\t\t\t\t\ttrigger_error($message);\n\t\t\t\t}\n\t\t\t\tif ($_GET['unwatch'] == $mode)\n\t\t\t\t{\n\t\t\t\t\t$is_watching = 0;\n\n\t\t\t\t\t$sql = 'DELETE FROM ' . $table_sql . \"\n\t\t\t\t\t\tWHERE $where_sql = $match_id\n\t\t\t\t\t\t\tAND user_id = $user_id\";\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t}\n\n\t\t\t\t$redirect_url = append_sid(\"{$phpbb_root_path}view$mode.$phpEx\", \"$u_url=$match_id&amp;start=$start\");\n\n\t\t\t\tmeta_refresh(3, $redirect_url);\n\n\t\t\t\t$message = $user->lang['NOT_WATCHING_' . strtoupper($mode)] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href=\"' . $redirect_url . '\">', '</a>');\n\t\t\t\ttrigger_error($message);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$is_watching = true;\n\n\t\t\t\tif ($notify_status)\n\t\t\t\t{\n\t\t\t\t\t$sql = 'UPDATE ' . $table_sql . \"\n\t\t\t\t\t\tSET notify_status = 0\n\t\t\t\t\t\tWHERE $where_sql = $match_id\n\t\t\t\t\t\t\tAND user_id = $user_id\";\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (isset($_GET['watch']))\n\t\t\t{\n\t\t\t\t$token = request_var('hash', '');\n\t\t\t\t$redirect_url = append_sid(\"{$phpbb_root_path}view$mode.$phpEx\", \"$u_url=$match_id&amp;start=$start\");\n\n\t\t\t\tif ($_GET['watch'] == $mode && check_link_hash($token, \"{$mode}_$match_id\"))\n\t\t\t\t{\n\t\t\t\t\t$is_watching = true;\n\n\t\t\t\t\t$sql = 'INSERT INTO ' . $table_sql . \" (user_id, $where_sql, notify_status)\n\t\t\t\t\t\tVALUES ($user_id, $match_id, 0)\";\n\t\t\t\t\t$db->sql_query($sql);\n\t\t\t\t\t$message = $user->lang['ARE_WATCHING_' . strtoupper($mode)] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href=\"' . $redirect_url . '\">', '</a>');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$message = $user->lang['ERR_WATCHING'] . '<br /><br />' . sprintf($user->lang['RETURN_' . strtoupper($mode)], '<a href=\"' . $redirect_url . '\">', '</a>');\n\t\t\t\t}\n\n\t\t\t\tmeta_refresh(3, $redirect_url);\n\n\t\t\t\ttrigger_error($message);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$is_watching = 0;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif (isset($_GET['unwatch']) && $_GET['unwatch'] == $mode)\n\t\t{\n\t\t\tlogin_box();\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$can_watch = 0;\n\t\t\t$is_watching = 0;\n\t\t}\n\t}\n\n\tif ($can_watch)\n\t{\n\t\t$s_watching['link'] = append_sid(\"{$phpbb_root_path}view$mode.$phpEx\", \"$u_url=$match_id&amp;\" . (($is_watching) ? 'unwatch' : 'watch') . \"=$mode&amp;start=$start&amp;hash=\" . generate_link_hash(\"{$mode}_$match_id\"));\n\t\t$s_watching['title'] = $user->lang[(($is_watching) ? 'STOP' : 'START') . '_WATCHING_' . strtoupper($mode)];\n\t\t$s_watching['is_watching'] = $is_watching;\n\t}\n\n\treturn;\n}\n\n/**\n* Get user rank title and image\n*\n* @param int $user_rank the current stored users rank id\n* @param int $user_posts the users number of posts\n* @param string &$rank_title the rank title will be stored here after execution\n* @param string &$rank_img the rank image as full img tag is stored here after execution\n* @param string &$rank_img_src the rank image source is stored here after execution\n*\n* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false\n*/\nfunction get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank_img_src)\n{\n\tglobal $ranks, $config, $phpbb_root_path;\n\n\tif (empty($ranks))\n\t{\n\t\tglobal $cache;\n\t\t$ranks = $cache->obtain_ranks();\n\t}\n\n\tif (!empty($user_rank))\n\t{\n\t\t$rank_title = (isset($ranks['special'][$user_rank]['rank_title'])) ? $ranks['special'][$user_rank]['rank_title'] : '';\n\t\t$rank_img = (!empty($ranks['special'][$user_rank]['rank_image'])) ? '<img src=\"' . $phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] . '\" alt=\"' . $ranks['special'][$user_rank]['rank_title'] . '\" title=\"' . $ranks['special'][$user_rank]['rank_title'] . '\" />' : '';\n\t\t$rank_img_src = (!empty($ranks['special'][$user_rank]['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $ranks['special'][$user_rank]['rank_image'] : '';\n\t}\n\telse if ($user_posts !== false)\n\t{\n\t\tif (!empty($ranks['normal']))\n\t\t{\n\t\t\tforeach ($ranks['normal'] as $rank)\n\t\t\t{\n\t\t\t\tif ($user_posts >= $rank['rank_min'])\n\t\t\t\t{\n\t\t\t\t\t$rank_title = $rank['rank_title'];\n\t\t\t\t\t$rank_img = (!empty($rank['rank_image'])) ? '<img src=\"' . $phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image'] . '\" alt=\"' . $rank['rank_title'] . '\" title=\"' . $rank['rank_title'] . '\" />' : '';\n\t\t\t\t\t$rank_img_src = (!empty($rank['rank_image'])) ? $phpbb_root_path . $config['ranks_path'] . '/' . $rank['rank_image'] : '';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n* Get user avatar\n*\n* @param string $avatar Users assigned avatar name\n* @param int $avatar_type Type of avatar\n* @param string $avatar_width Width of users avatar\n* @param string $avatar_height Height of users avatar\n* @param string $alt Optional language string for alt tag within image, can be a language key or text\n* @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP\n*\n* @return string Avatar image\n*/\nfunction get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR', $ignore_config = false)\n{\n\tglobal $user, $config, $phpbb_root_path, $phpEx;\n\n\tif (empty($avatar) || "..., 8192) = 8192
22452 14:44:04.629811 read(4, "';\n\n\tswitch ($avatar_type)\n\t{\n\t\tcase AVATAR_UPLOAD:\n\t\t\tif (!$config['allow_avatar_upload'] && !$ignore_config)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\t$avatar_img = $phpbb_root_path . \"download/file.$phpEx?avatar=\";\n\t\tbreak;\n\n\t\tcase AVATAR_GALLERY:\n\t\t\tif (!$config['allow_avatar_local'] && !$ignore_config)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\t$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';\n\t\tbreak;\n\n\t\tcase AVATAR_REMOTE:\n\t\t\tif (!$config['allow_avatar_remote'] && !$ignore_config)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\t\tbreak;\n\t}\n\n\t$avatar_img .= $avatar;\n\treturn '<img src=\"' . (str_replace(' ', '%20', $avatar_img)) . '\" width=\"' . $avatar_width . '\" height=\"' . $avatar_height . '\" alt=\"' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '\" />';\n}\n\n?>", 8192) = 758
22452 14:44:04.630147 read(4, "", 4096) = 0
22452 14:44:04.630462 read(4, "", 8192) = 0
22452 14:44:04.630623 close(4)          = 0
22452 14:44:04.630699 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.630833 time(NULL)        = 1400874244
22452 14:44:04.631135 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.631231 time(NULL)        = 1400874244
22452 14:44:04.631302 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.631433 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.631549 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.631671 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.631818 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.631905 time(NULL)        = 1400874244
22452 14:44:04.632391 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.632480 write(3, "\234\0\0\0\3SELECT u.*, s.*\n\t\t\t\tFROM forum_sessions s, forum_users u\n\t\t\t\tWHERE s.session_id = '67f14e704f584d8e359c4d9f48ac39ec'\n\t\t\t\t\tAND u.user_id = s.session_user_id", 160) = 160
22452 14:44:04.632599 read(3, "\1\0\0\1k?\0\0\2\3def\17fritz218_sports\1u\vforum_users\7user_id\7user_id\f?\0\10\0\0\0\t#B\0\0\0C\0\0\3\3def\17fritz218_sports\1u\vforum_users\tuser_type\tuser_type\f?\0\2\0\0\0\1\t@\0\0\0A\0\0\4\3def\17fritz218_sports\1u\vforum_users\10group_id\10group_id\f?\0\10\0\0\0\t!\0\0\0\0Q\0\0\5\3def\17fritz218_sports\1u\vforum_users\20user_permissions\20user_permissions\f!\0\375\377\377\2\374\221\20\0\0\0M\0\0\6\3def\17fritz218_sports\1u\vforum_users\16user_perm_from\16user_perm_from\f?\0\10\0\0\0\t!\0\0\0\0?\0\0\7\3def\17fritz218_sports\1u\vforum_users\7user_ip\7user_ip\f!\0x\0\0\0\375\201\0\0\0\0I\0\0\10\3def\17fritz218_sports\1u\vforum_users\fuser_regdate\fuser_regdate\f?\0\v\0\0\0\3)@\0\0\0A\0\0\t\3def\17fritz218_sports\1u\vforum_users\10username\10username\f!\0\375\2\0\0\375\201\0\0\0\0M\0\0\n\3def\17fritz218_sports\1u\vforum_users\16username_clean\16username_clean\f!\0\375\2\0\0\375\205@\0\0\0K\0\0\v\3def\17fritz218_sports\1u\vforum_users\ruser_password\ruser_password\f!\0x\0\0\0\375\201\20\0\0\0I\0\0\f\3def\17fritz218_sports\1u\vforum_users\fuser_passchg\fuser_passchg\f?\0\v\0\0\0\3!\0\0\0\0S\0\0\r\3def\17fritz218_sports\1u\vforum_users\21user_pass_convert\21user_pass_convert\f?\0\1\0\0\0\1!\0\0\0\0E\0\0\16\3def\17fritz218_sports\1u\vforum_users\nuser_email\nuser_email\f!\0,\1\0\0\375\201\0\0\0\0O\0\0\17\3def\17fritz218_sports\1u\vforum_users\17user_email_hash\17user_email_hash\f?\0\24\0\0\0\10\t@\0\0\0K\0\0\20\3def\17fritz218_sports\1u\vforum_users\ruser_birthday\ruser_birthday\f!\0\36\0\0\0\375\211@\0\0\0M\0\0\21\3def\17fritz218_sports\1u\vforum_users\16user_lastvisit\16user_lastvisit\f?\0\v\0\0\0\3!\0\0\0\0K\0\0\22\3def\17fritz218_sports\1u\vforum_users\ruser_lastmark\ruser_lastmark\f?\0\v\0\0\0\3!\0\0\0\0U\0\0\23\3def\17fritz218_sports\1u\vforum_users\22user_lastpost_time\22user_lastpost_time\f?\0\v\0\0\0\3!\0\0\0\0K\0\0\24\3def\17fritz218_sports\1u\vforum_users\ruser_lastpage\ruser_lastpage\f!\0X\2\0\0\375\201\0\0\0\0[\0\0\25\3def\17fritz218_sports\1u\vforum_users\25user_last_confirm_key\25user_last_confirm_key\f!\0\36\0\0\0\375\201\0\0\0\0Q\0\0\26\3def\17fritz218_sports\1u\vforum_users\20user_last_search\20user_last_search\f?\0\v\0\0\0\3!\0\0\0\0K\0\0\27\3def\17fritz218_sports\1u\vforum_users\ruser_warnings\ruser_warnings\f?\0\4\0\0\0\1\1\0\0\0\0S\0\0\30\3def\17fritz218_sports\1u\vforum_users\21user_last_warning\21user_last_warning\f?\0\v\0\0\0\3!\0\0\0\0W\0\0\31\3def\17fritz218_sports\1u\vforum_users\23user_login_attempts\23user_login_attempts\f?\0\4\0\0\0\1\1\0\0\0\0Y\0\0\32\3def\17fritz218_sports\1u\vforum_users\24user_inactive_reason\24user_inactive_reason\f?\0\2\0\0\0\1\1\0\0\0\0U\0\0\33\3def\17fritz218_sports\1u\vforum_users\22user_inactive_time\22user_inactive_time\f?\0\v\0\0\0\3!\0\0\0\0E\0\0\34\3def\17fritz218_sports\1u\vforum_users\nuser_posts\nuser_posts\f?\0\10\0\0\0\t!\0\0\0\0C\0\0\35\3def\17fritz218_sports\1u\vforum_users\tuser_lang\tuser_lang\f!\0Z\0\0\0\375\201\0\0\0\0K\0\0\36\3def\17fritz218_sports\1u\vforum_users\ruser_timezone\ruser_timezone\f?\0\7\0\0\0\366\1\0\2\0\0A\0\0\37\3def\17fritz218_sports\1u\vforum_users\10user_dst\10user_dst\f?\0\1\0\0\0\1!\0\0\0\0O\0\0 \3def\17fritz218_sports\1u\vforum_users\17user_dateformat\17user_dateformat\f!\0Z\0\0\0\375\201\0\0\0\0E\0\0!\3def\17fritz218_sports\1u\vforum_users\nuser_style\nuser_style\f?\0\4\0\0\0\2!\0\0\0\0C\0\0\"\3def\17fritz218_sports\1u\vforum_users\tuser_rank\tuser_rank\f?\0\10\0\0\0\t!\0\0\0\0G\0\0#\3def\17fritz218_sports\1u\vforum_users\vuser_colour\vuser_colour\f!\0\22\0\0\0\375\201\0\0\0\0Q\0\0$\3def\17fritz218_sports\1u\vforum_users\20user_new_privmsg\20user_new_privmsg\f?\0\4\0\0\0\3\1\0\0\0\0W\0\0%\3def\17fritz218_sports\1u\vforum_users\23user_unread_privmsg\23user_unread_privmsg\f?\0\4\0\0\0\3\1\0\0\0\0S\0\0&\3def\17fritz218_sports\1u\vforum_users\21user_last_privmsg\21user_last_privmsg\f?\0\v\0\0\0\3!\0\0\0\0U\0\0'\3def\17fritz218_sports\1u\vforum_users\22user_message_rules\22user_message_rules\f?\0\1\0\0\0\1!\0\0\0\0Q\0\0(\3def\17fritz218_sports\1u\vforum_users\20user_full_folder\20user_full_folder\f?\0\v\0\0\0\3\1\0\0\0\0M\0\0)\3def\17fritz218_sports\1u\vforum_users\16user_emailtime\16user_emailtime\f?\0\v\0\0\0\3!\0\0\0\0Y\0\0*\3def\17fritz218_sports\1u\vforum_users\24user_topic_show_days\24user_topic_show_days\f?\0\4\0\0\0\2!\0\0\0\0]\0\0+\3def\17fritz218_sports\1u\vforum_users\26user_topic_sortby_type\26user_topic_sortby_type\f!\0\3\0\0\0\375\201\0\0\0\0[\0\0,\3def\17fritz218_sports\1u\vforum_users\25user_topic_sortby_dir\25user_topic_sortby_dir\f!\0\3\0\0\0\375\201\0\0\0\0W\0\0-\3def\17fritz218_sports\1u\vforum_users\23user_post_show_days\23user_post_show_days\f?\0\4\0\0\0\2!\0\0\0\0[\0\0.\3def\17fritz218_sports\1u\vforum_users\25user_post_sortby_type\25user_post_sortby_type\f!\0\3\0\0\0\375\201\0\0\0\0Y\0\0/\3def\17fritz218_sports\1u\vforum_users\24user_post_sortby_dir\24user_post_sortby_dir\f!\0\3\0\0\0\375\201\0\0\0\0G\0\0000\3def\17fritz218_sports\1u\vforum_users\vuser_notify\vuser_notify\f?\0\1\0\0\0\1!\0\0\0\0M\0\0001\3def\17fritz218_sports\1u\vforum_users\16user_notify_pm\16user_notify_pm\f?\0\1\0\0\0\1!\0\0\0\0Q\0\0002\3def\17fritz218_sports\1u\vforum_users\20user_notify_type\20user_notify_type\f?\0\4\0\0\0\1\1\0\0\0\0K\0\0003\3def\17fritz218_sports\1u\vforum_users\ruser_allow_pm\ruser_allow_pm\f?\0\1\0\0\0\1!\0\0\0\0[\0\0004\3def\17fritz218_sports\1u\vforum_users\25user_allow_viewonline\25user_allow_viewonline\f?\0\1\0\0\0\1!\0\0\0\0Y\0\0005\3def\17fritz218_sports\1u\vforum_users\24user_allow_viewemail\24user_allow_viewemail\f?\0\1\0\0\0\1!\0\0\0\0Y\0\0006\3def\17fritz218_sports\1u\vforum_users\24user_allow_massemail\24user_allow_massemail\f?\0\1\0\0\0\1!\0\0\0\0I\0\0007\3def\17fritz218_sports\1u\vforum_users\fuser_options\fuser_options\f?\0\v\0\0\0\3!\0\0\0\0G\0\0008\3def\17fritz218_sports\1u\vforum_users\vuser_avatar\vuser_avatar\f!\0\375\2\0\0\375\201\0\0\0\0Q\0\0009\3def\17fritz218_sports\1u\vforum_users\20user_avatar_type\20user_avatar_type\f?\0\2\0\0\0\1\1\0\0\0\0S\0\0:\3def\17fritz218_sports\1u\vforum_users\21user_avatar_width\21user_avatar_width\f?\0\4\0\0\0\2!\0\0\0\0U\0\0;\3def\17fritz218_sports\1u\vforum_users\22user_avatar_height\22user_avatar_height\f?\0\4\0\0\0\2!\0\0\0\0A\0\0<\3def\17fritz218_sports\1u\vforum_users\10user_sig\10user_sig\f!\0\375\377\377\2\374\221\20\0\0\0W\0\0=\3def\17fritz218_sports\1u\vforum_users\23user_sig_bbcode_uid\23user_sig_bbcode_uid\f!\0\30\0\0\0\375\201\0\0\0\0a\0\0>\3def\17fritz218_sports\1u\vforum_users\30user_sig_bbcode_bitfield\30user_sig_bbcode_bitfield\f!\0\375\2\0\0\375\201\0\0\0\0C\0\0?\3def\17fritz218_sports\1u\vforum_users\tuser_from\tuser_from\f!\0,\1\0\0\375\201\0\0\0\0A\0\0@\3def\17fritz218_sports\1u\vforum_users\10user_icq\10user_icq\f!\0-\0\0\0\375\201\0\0\0\0A\0\0A\3def\17fritz218_sports\1u\vforum_users\10user_aim\10user_aim\f!\0\375\2\0\0\375\201\0\0\0\0A\0\0B\3def\17fritz218_sports\1u\vforum_users\10user_yim\10user_yim\f!\0\375\2\0\0\375\201\0\0\0\0C\0\0C\3def\17fritz218_sports\1u\vforum_users\tuser_msnm\tuser_msnm\f!\0\375\2\0\0\375\201\0\0\0\0G\0\0D\3def\17fritz218_sports\1u\vforum_users\vuser_jabber\vuser_jabber\f!\0\375\2\0\0\375\201\0\0\0\0I\0\0E\3def\17fritz218_sports\1u\vforum_users\fuser_website\fuser_website\f!\0X\2\0\0\375\201\0\0\0\0A\0\0F\3def\17fritz218_sports\1u\vforum_users\10user_occ\10user_occ\f!\0\375\377\2\0\374\221\20\0\0\0M\0\0G\3def\17fritz218_sports\1u\vforum_users\16user_interests\16user_interests\f!\0\375\377\2\0\374\221\20\0\0\0G\0\0H\3def\17fritz218_sports\1u\vforum_users\vuser_actkey\vuser_actkey\f!\0`\0\0\0\375\201\0\0\0\0M\0\0I\3def\17fritz218_sports\1u\vforum_users\16user_newpasswd\16user_newpasswd\f!\0x\0\0\0\375\201\0\0\0\0M\0\0J\3def\17fritz218_sports\1u\vforum_users\16user_form_salt\16user_form_salt\f!\0`\0\0\0\375\201\0\0\0\0S\0\0K\3def\17fritz218_sports\1u\vforum_users\21user_view_profile\21user_view_profile\f?\0\1\0\0\0\1!\0\0\0\0S\0\0L\3def\17fritz218_sports\1u\vforum_users\21user_publisher_id\21user_publisher_id\f!\0\375\2\0\0\375\200\0\0\0\0O\0\0M\3def\17fritz218_sports\1u\vforum_users\17user_channel_id\17user_channel_id\f!\0\375\2\0\0\375\200\0\0\0\0G\0\0N\3def\17fritz218_sports\1u\vforum_users\vuser_fb_uid\vuser_fb_uid\f!\0\375\2\0\0\375\201\0\0\0\0A\0\0O\3def\17fritz218_sports\1u\vforum_users\10user_new\10user_new\f?\0\1\0\0\0\1!\0\0\0\0K\0\0P\3def\17fritz218_sports\1u\vforum_users\ruser_reminded\ruser_reminded\f?\0\4\0\0\0\1\1\0\0\0\0U\0\0Q\3def\17fritz218_sports\1u\vforum_users\22user_reminded_time\22user_reminded_time\f?\0\v\0\0\0\3!\0\0\0\0A\0\0R\3def\17fritz218_sports\1u\vforum_users\10al_fb_id\10al_fb_id\f!\0\375\2\0\0\375\201\0\0\0\0A\0\0S\3def\17fritz218_sports\1u\vforum_users\10al_wl_id\10al_wl_id\f!\0\375\2\0\0\375\201\0\0\0\0A\0\0T\3def\17fritz218_sports\1u\vforum_users\10al_oi_id\10al_oi_id\f!\0\375\2\0\0\375\201\0\0\0\0U\0\0U\3def\17fritz218_sports\1u\vforum_users\22al_fb_profile_sync\22al_fb_profile_sync\f?\0\1\0\0\0\1!\0\0\0\0S\0\0V\3def\17fritz218_sports\1u\vforum_users\21al_fb_status_sync\21al_fb_status_sync\f?\0\1\0\0\0\1!\0\0\0\0S\0\0W\3def\17fritz218_sports\1u\vforum_users\21al_fb_avatar_sync\21al_fb_avatar_sync\f?\0\1\0\0\0\1!\0\0\0\0U\0\0X\3def\17fritz218_sports\1u\vforum_users\22al_wl_profile_sync\22al_wl_profile_sync\f?\0\1\0\0\0\1!\0\0\0\0S\0\0Y\3def\17fritz218_sports\1u\vforum_users\21al_wl_status_sync\21al_wl_status_sync\f?\0\1\0\0\0\1!\0\0\0\0S\0\0Z\3def\17fritz218_sports\1u\vforum_users\21al_wl_avatar_sync\21al_wl_avatar_sync\f?\0\1\0\0\0\1!\0\0\0\0W\0\0[\3def\17fritz218_sports\1u\vforum_users\23al_fb_hide_activity\23al_fb_hide_activity\f?\0\1\0\0\0\1!\0\0\0\0W\0\0\\\3def\17fritz218_sports\1u\vforum_users\23al_fb_hide_facepile\23al_fb_hide_facepile\f?\0\1\0\0\0\1!\0\0\0\0W\0\0]\3def\17fritz218_sports\1u\vforum_users\23al_fb_hide_like_box\23al_fb_hide_like_box\f?\0\1\0\0\0\1!\0\0\0\0H\0\0^\3def\17fritz218_sports\1s\16forum_sessions\nsession_id\nsession_id\f!\0`\0\0\0\376\203@\0\0\0R\0\0_\3def\17fritz218_sports\1s\16forum_sessions\17session_user_id\17session_user_id\f?\0\10\0\0\0\t)@\0\0\0T\0\0`\3def\17fritz218_sports\1s\16forum_sessions\20session_forum_id\20session_forum_id\f?\0\10\0\0\0\t)@\0\0\0X\0\0a\3def\17fritz218_sports\1s\16forum_sessions\22session_last_visit\22session_last_visit\f?\0\v\0\0\0\3!\0\0\0\0N\0\0b\3def\17fritz218_sports\1s\16forum_sessions\rsession_start\rsession_start\f?\0\v\0\0\0\3!\0\0\0\0L\0\0c\3def\17fritz218_sports\1s\16forum_sessions\fsession_time\fsession_time\f?\0\v\0\0\0\3)@\0\0\0H\0\0d\3def\17fritz218_sports\1s\16forum_sessions\nsession_ip\nsession_ip\f!\0x\0\0\0\375\201\0\0\0\0R"..., 16384) = 9480
22452 14:44:04.635882 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.636025 time(NULL)        = 1400874244
22452 14:44:04.636135 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.636880 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.637005 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.637125 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.637246 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.637395 lstat("/home2/fritz218/public_html/forum/includes/auth", {st_dev=makedev(8, 33), st_ino=91759228, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.637528 lstat("/home2/fritz218/public_html/forum/includes/auth/auth_db.php", {st_dev=makedev(8, 33), st_ino=91762341, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=5714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.637663 open("/home2/fritz218/public_html/forum/includes/auth/auth_db.php", O_RDONLY) = 4
22452 14:44:04.637755 fstat(4, {st_dev=makedev(8, 33), st_ino=91762341, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=5714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.637877 open("/home2/fritz218/public_html/forum/includes/auth/auth_db.php", O_RDONLY) = 5
22452 14:44:04.637967 fstat(5, {st_dev=makedev(8, 33), st_ino=91762341, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=5714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.638083 mmap(NULL, 5714, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.638174 munmap(0x7f35927b8000, 5714) = 0
22452 14:44:04.638245 close(5)          = 0
22452 14:44:04.638315 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.638384 fstat(4, {st_dev=makedev(8, 33), st_ino=91762341, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=5714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:18}) = 0
22452 14:44:04.638494 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.638565 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.638632 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.638701 read(4, "<?php\n/**\n* Database auth plug-in for phpBB3\n*\n* Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him.\n*\n* This is for authentication via the integrated user table\n*\n* @package login\n* @version $Id: auth_db.php 10143 2009-09-15 09:08:37Z Kellanved $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* @ignore\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\n/**\n* Login function\n*/\nfunction login_db(&$username, &$password)\n{\n\tglobal $db, $config;\n\n\t// do not allow empty password\n\tif (!$password)\n\t{\n\t\treturn array(\n\t\t\t'status'\t=> LOGIN_ERROR_PASSWORD,\n\t\t\t'error_msg'\t=> 'NO_PASSWORD_SUPPLIED',\n\t\t\t'user_row'\t=> array('user_id' => ANONYMOUS),\n\t\t);\n\t}\n\n\tif (!$username)\n\t{\n\t\treturn array(\n\t\t\t'status'\t=> LOGIN_ERROR_USERNAME,\n\t\t\t'error_msg'\t=> 'LOGIN_ERROR_USERNAME',\n\t\t\t'user_row'\t=> array('user_id' => ANONYMOUS),\n\t\t);\n\t}\n\n\t$sql = 'SELECT user_id, username, user_password, user_passchg, user_pass_convert, user_email, user_type, user_login_attempts\n\t\tFROM ' . USERS_TABLE . \"\n\t\tWHERE username_clean = '\" . $db->sql_escape(utf8_clean_string($username)) . \"'\";\n\t$result = $db->sql_query($sql);\n\t$row = $db->sql_fetchrow($result);\n\t$db->sql_freeresult($result);\n\n\tif (!$row)\n\t{\n\t\treturn array(\n\t\t\t'status'\t=> LOGIN_ERROR_USERNAME,\n\t\t\t'error_msg'\t=> 'LOGIN_ERROR_USERNAME',\n\t\t\t'user_row'\t=> array('user_id' => ANONYMOUS),\n\t\t);\n\t}\n\n\t// If there are too much login attempts, we need to check for an confirm image\n\t// Every auth module is able to define what to do by itself...\n\tif ($config['max_login_attempts'] && $row['user_login_attempts'] >= $config['max_login_attempts'])\n\t{\n\t\t// Visual Confirmation handling\n\n\t\t$captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']);\n\t\t$captcha->init(CONFIRM_LOGIN);\n\t\t$vc_response = $captcha->validate();\n\t\tif ($vc_response)\n\t\t{\n\t\t\treturn array(\n\t\t\t\t'status'\t\t=> LOGIN_ERROR_ATTEMPTS,\n\t\t\t\t'error_msg'\t\t=> 'LOGIN_ERROR_ATTEMPTS',\n\t\t\t\t'user_row'\t\t=> $row,\n\t\t\t);\n\t\t}\n\t\t\n\t}\n\n\t// If the password convert flag is set we need to convert it\n\tif ($row['user_pass_convert'])\n\t{\n\t\t// in phpBB2 passwords were used exactly as they were sent, with addslashes applied\n\t\t$password_old_format = isset($_REQUEST['password']) ? (string) $_REQUEST['password'] : '';\n\t\t$password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format;\n\t\t$password_new_format = '';\n\n\t\tset_var($password_new_format, stripslashes($password_old_format), 'string');\n\n\t\tif ($password == $password_new_format)\n\t\t{\n\t\t\tif (!function_exists('utf8_to_cp1252'))\n\t\t\t{\n\t\t\t\tglobal $phpbb_root_path, $phpEx;\n\t\t\t\tinclude($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx);\n\t\t\t}\n\n\t\t\t// cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding\n\t\t\t// plain md5 support left in for conversions from other systems.\n\t\t\tif ((strlen($row['user_password']) == 34 && (phpbb_check_hash(md5($password_old_format), $row['user_password']) || phpbb_check_hash(md5(utf8_to_cp1252($password_old_format)), $row['user_password'])))\n\t\t\t\t|| (strlen($row['user_password']) == 32  && (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])))\n\t\t\t{\n\t\t\t\t$hash = phpbb_hash($password_new_format);\n\n\t\t\t\t// Update the password in the users table to the new format and remove user_pass_convert flag\n\t\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\t\tSET user_password = \\'' . $db->sql_escape($hash) . '\\',\n\t\t\t\t\t\tuser_pass_convert = 0\n\t\t\t\t\tWHERE user_id = ' . $row['user_id'];\n\t\t\t\t$db->sql_query($sql);\n\n\t\t\t\t$row['user_pass_convert'] = 0;\n\t\t\t\t$row['user_password'] = $hash;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t// Although we weren't able to convert this password we have to\n\t\t\t\t// increase login attempt count to make sure this cannot be exploited\n\t\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\t\tSET user_login_attempts = user_login_attempts + 1\n\t\t\t\t\tWHERE user_id = ' . $row['user_id'];\n\t\t\t\t$db->sql_query($sql);\n\n\t\t\t\treturn array(\n\t\t\t\t\t'status'\t\t=> LOGIN_ERROR_PASSWORD_CONVERT,\n\t\t\t\t\t'error_msg'\t\t", 4096) = 4096
22452 14:44:04.639551 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.639662 read(4, "=> 'LOGIN_ERROR_PASSWORD_CONVERT',\n\t\t\t\t\t'user_row'\t\t=> $row,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check password ...\n\tif (!$row['user_pass_convert'] && phpbb_check_hash($password, $row['user_password']))\n\t{\n\t\t// Check for old password hash...\n\t\tif (strlen($row['user_password']) == 32)\n\t\t{\n\t\t\t$hash = phpbb_hash($password);\n\n\t\t\t// Update the password in the users table to the new format\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . \"\n\t\t\t\tSET user_password = '\" . $db->sql_escape($hash) . \"',\n\t\t\t\t\tuser_pass_convert = 0\n\t\t\t\tWHERE user_id = {$row['user_id']}\";\n\t\t\t$db->sql_query($sql);\n\n\t\t\t$row['user_password'] = $hash;\n\t\t}\n\n\t\tif ($row['user_login_attempts'] != 0)\n\t\t{\n\t\t\t// Successful, reset login attempts (the user passed all stages)\n\t\t\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\t\t\tSET user_login_attempts = 0\n\t\t\t\tWHERE user_id = ' . $row['user_id'];\n\t\t\t$db->sql_query($sql);\n\t\t}\n\n\t\t// User inactive...\n\t\tif ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE)\n\t\t{\n\t\t\treturn array(\n\t\t\t\t'status'\t\t=> LOGIN_ERROR_ACTIVE,\n\t\t\t\t'error_msg'\t\t=> 'ACTIVE_ERROR',\n\t\t\t\t'user_row'\t\t=> $row,\n\t\t\t);\n\t\t}\n\n\t\t// Successful login... set user_login_attempts to zero...\n\t\treturn array(\n\t\t\t'status'\t\t=> LOGIN_SUCCESS,\n\t\t\t'error_msg'\t\t=> false,\n\t\t\t'user_row'\t\t=> $row,\n\t\t);\n\t}\n\n\t// Password incorrect - increase login attempts\n\t$sql = 'UPDATE ' . USERS_TABLE . '\n\t\tSET user_login_attempts = user_login_attempts + 1\n\t\tWHERE user_id = ' . $row['user_id'];\n\t$db->sql_query($sql);\n\n\t// Give status about wrong password...\n\treturn array(\n\t\t'status'\t\t=> LOGIN_ERROR_PASSWORD,\n\t\t'error_msg'\t\t=> 'LOGIN_ERROR_PASSWORD',\n\t\t'user_row'\t\t=> $row,\n\t);\n}\n\n?>", 4096) = 1618
22452 14:44:04.640028 read(4, "", 4096) = 0
22452 14:44:04.640104 read(4, "", 8192) = 0
22452 14:44:04.640892 read(4, "", 8192) = 0
22452 14:44:04.641008 close(4)          = 0
22452 14:44:04.641079 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.641261 access("./cache/data_acl_options.php", F_OK) = 0
22452 14:44:04.641363 access("./cache/data_acl_options.php", F_OK) = 0
22452 14:44:04.641453 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.641538 time(NULL)        = 1400874244
22452 14:44:04.641606 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.641725 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.641847 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.641968 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.642090 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.642215 lstat("/home2/fritz218/public_html/forum/cache/data_acl_options.php", {st_dev=makedev(8, 33), st_ino=91759007, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.642345 open("/home2/fritz218/public_html/forum/cache/data_acl_options.php", O_RDONLY) = 4
22452 14:44:04.642434 fstat(4, {st_dev=makedev(8, 33), st_ino=91759007, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7714, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.642547 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.642626 read(4, "<?php exit; ?>\n1412968942\n7683\na:4:{s:5:\"local\";a:41:{s:2:\"f_\";i:0;s:10:\"f_announce\";i:1;s:8:\"f_attach\";i:2;s:8:\"f_bbcode\";i:3;s:6:\"f_bump\";i:4;s:8:\"f_delete\";i:5;s:10:\"f_download\";i:6;s:6:\"f_edit\";i:7;s:7:\"f_email\";i:8;s:7:\"f_flash\";i:9;s:7:\"f_icons\";i:10;s:13:\"f_ignoreflood\";i:11;s:5:\"f_img\";i:12;s:6:\"f_list\";i:13;s:11:\"f_noapprove\";i:14;s:6:\"f_poll\";i:15;s:6:\"f_post\";i:16;s:11:\"f_postcount\";i:17;s:7:\"f_print\";i:18;s:6:\"f_read\";i:19;s:7:\"f_reply\";i:20;s:8:\"f_report\";i:21;s:8:\"f_search\";i:22;s:6:\"f_sigs\";i:23;s:9:\"f_smilies\";i:24;s:8:\"f_sticky\";i:25;s:11:\"f_subscribe\";i:26;s:11:\"f_user_lock\";i:27;s:6:\"f_vote\";i:28;s:9:\"f_votechg\";i:29;s:2:\"m_\";i:30;s:9:\"m_approve\";i:31;s:11:\"m_chgposter\";i:32;s:8:\"m_delete\";i:33;s:6:\"m_edit\";i:34;s:6:\"m_info\";i:35;s:6:\"m_lock\";i:36;s:7:\"m_merge\";i:37;s:6:\"m_move\";i:38;s:8:\"m_report\";i:39;s:7:\"m_split\";i:40;}s:2:\"id\";a:119:{s:2:\"f_\";i:1;s:10:\"f_announce\";i:2;s:8:\"f_attach\";i:3;s:8:\"f_bbcode\";i:4;s:6:\"f_bump\";i:5;s:8:\"f_delete\";i:6;s:10:\"f_download\";i:7;s:6:\"f_edit\";i:8;s:7:\"f_email\";i:9;s:7:\"f_flash\";i:10;s:7:\"f_icons\";i:11;s:13:\"f_ignoreflood\";i:12;s:5:\"f_img\";i:13;s:6:\"f_list\";i:14;s:11:\"f_noapprove\";i:15;s:6:\"f_poll\";i:16;s:6:\"f_post\";i:17;s:11:\"f_postcount\";i:18;s:7:\"f_print\";i:19;s:6:\"f_read\";i:20;s:7:\"f_reply\";i:21;s:8:\"f_report\";i:22;s:8:\"f_search\";i:23;s:6:\"f_sigs\";i:24;s:9:\"f_smilies\";i:25;s:8:\"f_sticky\";i:26;s:11:\"f_subscribe\";i:27;s:11:\"f_user_lock\";i:28;s:6:\"f_vote\";i:29;s:9:\"f_votechg\";i:30;s:2:\"m_\";i:31;s:9:\"m_approve\";i:32;s:11:\"m_chgposter\";i:33;s:8:\"m_delete\";i:34;s:6:\"m_edit\";i:35;s:6:\"m_info\";i:36;s:6:\"m_lock\";i:37;s:7:\"m_merge\";i:38;s:6:\"m_move\";i:39;s:8:\"m_report\";i:40;s:7:\"m_split\";i:41;s:5:\"m_ban\";i:42;s:6:\"m_warn\";i:43;s:2:\"a_\";i:44;s:7:\"a_aauth\";i:45;s:8:\"a_attach\";i:46;s:12:\"a_authgroups\";i:47;s:11:\"a_authusers\";i:48;s:8:\"a_backup\";i:49;s:5:\"a_ban\";i:50;s:8:\"a_bbcode\";i:51;s:7:\"a_board\";i:52;s:6:\"a_bots\";i:53;s:11:\"a_clearlogs\";i:54;s:7:\"a_email\";i:55;s:7:\"a_fauth\";i:56;s:7:\"a_forum\";i:57;s:10:\"a_forumadd\";i:58;s:10:\"a_forumdel\";i:59;s:7:\"a_group\";i:60;s:10:\"a_groupadd\";i:61;s:10:\"a_groupdel\";i:62;s:7:\"a_icons\";i:63;s:8:\"a_jabber\";i:64;s:10:\"a_language\";i:65;s:7:\"a_mauth\";i:66;s:9:\"a_modules\";i:67;s:7:\"a_names\";i:68;s:9:\"a_phpinfo\";i:69;s:9:\"a_profile\";i:70;s:7:\"a_prune\";i:71;s:7:\"a_ranks\";i:72;s:9:\"a_reasons\";i:73;s:7:\"a_roles\";i:74;s:8:\"a_search\";i:75;s:8:\"a_server\";i:76;s:8:\"a_styles\";i:77;s:12:\"a_switchperm\";i:78;s:7:\"a_uauth\";i:79;s:6:\"a_user\";i:80;s:9:\"a_userdel\";i:81;s:10:\"a_viewauth\";i:82;s:10:\"a_viewlogs\";i:83;s:7:\"a_words\";i:84;s:2:\"u_\";i:85;s:8:\"u_attach\";i:86;s:11:\"u_chgavatar\";i:87;s:12:\"u_chgcensors\";i:88;s:10:\"u_chgemail\";i:89;s:8:\"u_chggrp\";i:90;s:9:\"u_chgname\";i:91;s:11:\"u_chgpasswd\";i:92;s:10:\"u_download\";i:93;s:12:\"u_hideonline\";i:94;s:13:\"u_ignoreflood\";i:95;s:8:\"u_masspm\";i:96;s:11:\"u_pm_attach\";i:97;s:11:\"u_pm_bbcode\";i:98;s:11:\"u_pm_delete\";i:99;s:13:\"u_pm_download\";i:100;s:9:\"u_pm_edit\";i:101;s:12:\"u_pm_emailpm\";i:102;s:10:\"u_pm_flash\";i:103;s:12:\"u_pm_forward\";i:104;s:8:\"u_pm_img\";i:105;s:12:\"u_pm_printpm\";i:106;s:12:\"u_pm_smilies\";i:107;s:8:\"u_readpm\";i:108;s:12:\"u_savedrafts\";i:109;s:8:\"u_search\";i:110;s:11:\"u_sendemail\";i:111;s:8:\"u_sendim\";i:112;s:8:\"u_sendpm\";i:113;s:5:\"u_sig\";i:114;s:12:\"u_viewonline\";i:115;s:13:\"u_viewprofile\";i:116;s:10:\"a_add_user\";i:117;s:5:\"a_ads\";i:118;s:6:\"a_mods\";i:119;}s:6:\"option\";a:119:{i:1;s:2:\"f_\";i:2;s:10:\"f_announce\";i:3;s:8:\"f_attach\";i:4;s:8:\"f_bbcode\";i:5;s:6:\"f_bump\";i:6;s:8:\"f_delete\";i:7;s:10:\"f_download\";i:8;s:6:\"f_edit\";i:9;s:7:\"f_email\";i:10;s:7:\"f_flash\";i:11;s:7:\"f_icons\";i:12;s:13:\"f_ignoreflood\";i:13;s:5:\"f_img\";i:14;s:6:\"f_list\";i:15;s:11:\"f_noapprove\";i:16;s:6:\"f_poll\";i:17;s:6:\"f_post\";i:18;s:11:\"f_postcount\";i:19;s:7:\"f_print\";i:20;s:6:\"f_read\";i:21;s:7:\"f_reply\";i:22;s:8:\"f_report\";i:23;s:8:\"f_search\";i:24;s:6:\"f_sigs\";i:25;s:9:\"f_smilies\";i:26;s:8:\"f_sticky\";i:27;s:11:\"f_subscribe\";i:28;s:11:\"f_user_lock\";i:29;s:6:\"f_vote\";i:30;s:9:\"f_votechg\";i:31;s:2:\"m_\";i:32;s:9:\"m_approve\";i:33;s:11:\"m_chgposter\";i:34;s:8:\"m_delete\";i:35;s:6:\"m_edit\";i:36;s:6:\"m_info\";i:37;s:6:\"m_lock\";i:38;s:7:\"m_merge\";i:39;s:6:\"m_move\";i:40;s:8:\"m_report\";i:41;s:7:\"m_split\";i:42;s:5:\"m_ban\";i:43;s:6:\"m_warn\";i:44;s:2:\"a_\";i:45;s:7:\"a_aauth\";i:46;s:8:\"a_attach\";i:47;s:12:\"a_authgroups\";i:48;s:11:\"a_authusers\";i:49;s:8:\"a_backup\";i:50;s:5:\"a_ban\";i:51;s:8:\"a_bbcode\";i:52;s:7:\"a_board\";i:53;s:6:\"a_bots\";i:54;s:11:\"a_clearlogs\";i:55;s:7:\"a_email\";i:56;s:7:\"a_fauth\";i:57;s:7:\"a_forum\";i:58;s:10:\"a_forumadd\";i:59;s:10:\"a_forumdel\";i:60;s:7:\"a_group\";i:61;s:10:\"a_groupadd\";i:62;s:10:\"a_groupdel\";i:63;s:7:\"a_icons\";i:64;s:8:\"a_jabber\";i:65;s:10:\"a_language\";i:66;s:7:\"a_mauth\";i:67;s:9:\"a_modules\";i:68;s:7:\"a_names\";i:69;s:9:\"a_phpinfo\";i:70;s:9:\"a_profile\";i:71;s:7:\"a_prune\";i:72;s:7:\"a_ranks\";i:73;s:9:\"a_reasons\";i:74;s:7:\"a_roles\";i:75;s:8:\"a_search\";i:76;s:8:\"a_server\";i:77;s:8:\"a_styles\";i:78;s:12:\"a_switchperm\";i:79;s:7:\"a_uauth\";i:80;s:6:\"a_user\";i:81;s:9:\"a_userdel\";i:82;s:10:\"a_viewauth\";i:83;s:10:\"a_viewlogs\";i:84;s:7:\"a_words\";i:85;s:2:\"u_\";i:86;s:8:\"u_attach\";i:87;s:11:\"u_chgavatar\";i:88;s:12:\"u_chgcensors\";i:89;s:10:\"u_chgemail\";i:90;s:8:\"u_chggrp\";i:91;s:9:\"u_chgname\";i:92;s:11:\"u_chgpasswd\";i:93;s:10:\"u_download\";i:94;s:12:\"u_hideonline\";i:95;s:13:\"u_ignoreflood\";i:96;s:8:\"u_masspm\";i:97;s:11:\"u_pm_attach\";i:98;s:11:\"u_pm_bbcode\";i:99;s:11:\"u_pm_delete\";i:100;s:13:\"u_pm_download\";i:101;s:9:\"u_pm_edit\";i:102;s:12:\"u_pm_emailpm\";i:103;s:10:\"u_pm_flash\";i:104;s:12:\"u_pm_forward\";i:105;s:8:\"u_pm_img\";i:106;s:12:\"u_pm_printpm\";i:107;s:12:\"u_pm_smilies\";i:108;s:8:\"u_readpm\";i:109;s:12:\"u_savedrafts\";i:110;s:8:\"u_search\";i:111;s:11:\"u_sendemail\";i:112;s:8:\"u_sendim\";i:113;s:8:\"u_sendpm\";i:114;s:5:\"u_sig\";i:115;s:12:\"u_viewonline\";i:116;s:13:\"u_viewprofile\";i:117;s:10:\"a_add_user\";i:118;s:5:\"a_ads\";i:119;s:6:\"a_mods\";}s:6:\"global\";a:89:{s:2:\"m_\";i:0;s:9:\"m_approve\";i:1;s:11:\"m_chgposter\";i:2;s:8:\"m_delete\";i:3;s:6:\"m_edit\";i:4;s:6:\"m_info\";i:5;s:6:\"m_lock\";i:6;s:7:\"m_merge\";i:7;s:6:\"m_move\";i:8;s:8:\"m_report\";i:9;s:7:\"m_split\";i:10;s:5:\"m_ban\";i:11;s:6:\"m_warn\";i:12;s:2:\"a_\";i:13;s:7:\"a_aauth\";i:14;s:8:\"a_attach\";i:15;s:12:\"a_authgroups\";i:16;s:11:\"a_authusers\";i:17;s:8:\"a_backup\";i:18;s:5:\"a_ban\";i:19;s:8:\"a_bbcode\";i:20;s:7:\"a_board\";i:21;s:6:\"a_bots\";i:22;s:11:\"a_clearlogs\";i:23;s:7:\"a_email\";i:24;s:7:\"a_fauth\";i:25;s:7:\"a_forum\";i:26;s:10:\"a_forumadd\";i:27;s:10:\"a_forumdel\";i:28;s:7:\"a_group\";i:29;s:10:\"a_groupadd\";i:30;s:10:\"a_groupdel\";i:31;s:7:\"a_icons\";i:32;s:8:\"a_jabber\";i:33;s:10:\"a_language\";i:34;s:7:\"a_mauth\";i:35;s:9:\"a_modules\";i:36;s:7:\"a_names\";i:37;s:9:\"a_phpinfo\";i:38;s:9:\"a_profile\";i:39;s:7:\"a_prune\";i:40;s:7:\"a_ranks\";i:41;s:9:\"a_reasons\";i:42;s:7:\"a_roles\";i:43;s:8:\"a_search\";i:44;s:8:\"a_server\";i:45;s:8:\"a_styles\";i:46;s:12:\"a_switchperm\";i:47;s:7:\"a_uauth\";i:48;s:6:\"a_user\";i:49;s:9:\"a_userdel\";i:50;s:10:\"a_viewauth\";i:51;s:10:\"a_viewlogs\";i:52;s:7:\"a_words\";i:53;s:2:\"u_\";i:54;s:8:\"u_attach\";i:55;s:11:\"u_chgavatar\";i:56;s:12:\"u_chgcensors\";i:57;s:10:\"u_chgemail\";i:58;s:8:\"u_chggrp\";i:59;s:9:\"u_chgname\";i:60;s:11:\"u_chgpasswd\";i:61;s:10:\"u_download\";i:62;s:12:\"u_hideonline\";i:63;s:13:\"u_ignoreflood\";i:64;s:8:\"u_masspm\";i:65;s:11:\"u_pm_attach\";i:66;s:11:\"u_pm_bbcode\";i:67;s:11:\"u_pm_delete\";i:68;s:13:\"u_pm_download\";i:69;s:9:\"u_pm_edit\";i:70;s:12:\"u_pm_emailpm\";i:71;s:10:\"u_pm_flash\";i:72;s:12:\"u_pm_forward\";i:73;s:8:\"u_pm_img\";i:74;s:12:\"u_pm_printpm\";i:75;s:12:\"u_pm_smilies\";i:76;s:8:\"u_readpm\";i:77;s:12:\"u_savedrafts\";i:78;s:8:\"u_search\";i:79;s:11:\"u_sendemail\";i:80;s:8:\"u_sendim\";i:81;s:8:\"u_sendpm\";i:82;s:5:\"u_sig\";i:83;s:12:\"u_viewonline\";i:84;s:13:\"u_viewprofile\";i:85;s:10:\"a_add_user\";i:86;s:5:\"a_ads\";i:87;s:6:\"a_mods\";i:88;}}", 8192) = 7714
22452 14:44:04.644035 time(NULL)        = 1400874244
22452 14:44:04.644193 read(4, "", 8192) = 0
22452 14:44:04.644324 close(4)          = 0
22452 14:44:04.644912 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.645001 time(NULL)        = 1400874244
22452 14:44:04.645069 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.645190 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.645326 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.645451 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.645570 lstat("/home2/fritz218/public_html/forum/language", {st_dev=makedev(8, 33), st_ino=91757031, st_mode=S_IFDIR|0755, st_nlink=4, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-03:40:14, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.645692 lstat("/home2/fritz218/public_html/forum/language/en", {st_dev=makedev(8, 33), st_ino=91762345, st_mode=S_IFDIR|0755, st_nlink=5, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.645815 lstat("/home2/fritz218/public_html/forum/language/en/common.php", {st_dev=makedev(8, 33), st_ino=91763289, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=104, st_size=49458, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.645959 open("/home2/fritz218/public_html/forum/language/en/common.php", O_RDONLY) = 4
22452 14:44:04.646048 fstat(4, {st_dev=makedev(8, 33), st_ino=91763289, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=104, st_size=49458, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.646161 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.646232 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.646305 fstat(4, {st_dev=makedev(8, 33), st_ino=91763289, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=104, st_size=49458, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.646417 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.646493 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.646567 open("/home2/fritz218/public_html/forum/language/en/common.php", O_RDONLY) = 5
22452 14:44:04.646652 fstat(5, {st_dev=makedev(8, 33), st_ino=91763289, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=104, st_size=49458, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.646767 mmap(NULL, 49458, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b0000
22452 14:44:04.646850 munmap(0x7f35927b0000, 49458) = 0
22452 14:44:04.646929 close(5)          = 0
22452 14:44:04.647000 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.647091 read(4, "<?php\n/**\n*\n* common [English]\n*\n* @package language\n* @version $Id: common.php 9845 2009-07-24 11:13:32Z acydburn $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* DO NOT CHANGE\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\nif (empty($lang) || !is_array($lang))\n{\n\t$lang = array();\n}\n\n// DEVELOPERS PLEASE NOTE\n//\n// All language files should use UTF-8 as their encoding and the files must not contain a BOM.\n//\n// Placeholders can now contain order information, e.g. instead of\n// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows\n// translators to re-order the output of data while ensuring it remains correct\n//\n// You do not need this where single placeholders are used, e.g. 'Message %d' is fine\n// equally where a string contains only two placeholders which are used to wrap text\n// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine\n//\n// Some characters you may want to copy&paste:\n// \342\200\231 \302\273 \342\200\234 \342\200\235 \342\200\246\n//\n\n$lang = array_merge($lang, array(\n\t'TRANSLATION_INFO'\t=> '',\n\t'DIRECTION'\t\t\t=> 'ltr',\n\t'DATE_FORMAT'\t\t=> '|d M Y|',\t// 01 Jan 2007 (with Relative days enabled)\n\t'USER_LANG'\t\t\t=> 'en-gb',\n\n\t'1_DAY'\t\t\t=> '1 day',\n\t'1_MONTH'\t\t=> '1 month',\n\t'1_YEAR'\t\t=> '1 year',\n\t'2_WEEKS'\t\t=> '2 weeks',\n\t'3_MONTHS'\t\t=> '3 months',\n\t'6_MONTHS'\t\t=> '6 months',\n\t'7_DAYS'\t\t=> '7 days',\n\n\t'ACCOUNT_ALREADY_ACTIVATED'\t\t=> 'Your account has already been activated.',\n\t'ACCOUNT_DEACTIVATED'\t\t\t=> 'Your account has been manually deactivated and is only able to be reactivated by an administrator.',\n\t'ACCOUNT_NOT_ACTIVATED'\t\t\t=> 'Your account has not been activated yet.',\n\t'ACP'\t\t\t\t\t\t\t=> 'Administration Control Panel',\n\t'ACTIVE'\t\t\t\t\t\t=> 'active',\n\t'ACTIVE_ERROR'\t\t\t\t\t=> 'The specified username is currently inactive. If you have problems activating your account, please contact a board administrator.',\n\t'ADMINISTRATOR'\t\t\t\t\t=> 'Administrator',\n\t'ADMINISTRATORS'\t\t\t\t=> 'Administrators',\n\t'AGE'\t\t\t\t\t\t\t=> 'Age',\n\t'AIM'\t\t\t\t\t\t\t=> 'AIM',\n\t'ALLOWED'\t\t\t\t\t\t=> 'Allowed',\n\t'ALL_FILES'\t\t\t\t\t\t=> 'All files',\n\t'ALL_FORUMS'\t\t\t\t\t=> 'All forums',\n\t'ALL_MESSAGES'\t\t\t\t\t=> 'All messages',\n\t'ALL_POSTS'\t\t\t\t\t\t=> 'All posts',\n\t'ALL_TIMES'\t\t\t\t\t\t=> 'All times are %1$s %2$s',\n\t'ALL_TOPICS'\t\t\t\t\t=> 'All Topics',\n\t'AND'\t\t\t\t\t\t\t=> 'And',\n\t'ARE_WATCHING_FORUM'\t\t\t=> 'You have subscribed to be notified of new posts in this forum.',\n\t'ARE_WATCHING_TOPIC'\t\t\t=> 'You have subscribed to be notified of new posts in this topic.',\n\t'ASCENDING'\t\t\t\t\t\t=> 'Ascending',\n\t'ATTACHMENTS'\t\t\t\t\t=> 'Attachments',\n\t'ATTACHED_IMAGE_NOT_IMAGE'\t\t=> 'The image file you tried to attach is invalid.',\n\t'AUTHOR'\t\t\t\t\t\t=> 'Author',\n\t'AUTH_NO_PROFILE_CREATED'\t\t=> 'The creation of a user profile was unsuccessful.',\n\t'AVATAR_DISALLOWED_CONTENT'\t\t=> 'The upload was rejected because the uploaded file was identified as a possible attack vector.',\n\t'AVATAR_DISALLOWED_EXTENSION'\t=> 'This file cannot be displayed because the extension <strong>%s</strong> is not allowed.',\n\t'AVATAR_EMPTY_REMOTE_DATA'\t\t=> 'The specified avatar could not be uploaded because the remote data appears to be invalid or corrupted.',\n\t'AVATAR_EMPTY_FILEUPLOAD'\t\t=> 'The uploaded avatar file is empty.',\n\t'AVATAR_INVALID_FILENAME'\t\t=> '%s is an invalid filename.',\n\t'AVATAR_NOT_UPLOADED'\t\t\t=> 'Avatar could not be uploaded.',\n\t'AVATAR_NO_SIZE'\t\t\t\t=> 'The width or height of the linked avatar could not be determined. Please enter them manually.',\n\t'AVATAR_PARTIAL_UPLOAD'\t\t\t=> 'The specified file was only partially uploaded.',\n\t'AVATAR_PHP_SIZE_NA'\t\t\t=> 'The avatar\342\200\231s filesize is too large.<br />The maximum allowed filesize set in php.ini could not be determined.',\n\t'AVATAR_PHP_SIZE_OVERRUN'\t\t=> 'The avatar\342\200\231s filesize is too large. The maximum allowed upload size is %1$d %2$s.<br />Please note this is set in php.ini and cannot be overridden.',\n\t'AVATAR_URL_INVALID'\t\t\t=> 'The URL you specified is invalid.',\n\t'AVATAR_URL_NOT_FOUND'\t\t\t=> 'The file specified could not be found.',\n\t'AVATAR_WRONG_FILESIZE'\t\t\t=> 'The avatar\342\200\231s filesize must be betw", 4096) = 4096
22452 14:44:04.647860 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.647932 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403e0ec0) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.648025 read(4, "een 0 and %1d %2s.',\n\t'AVATAR_WRONG_SIZE'\t\t\t\t=> 'The submitted avatar is %5$d pixels wide and %6$d pixels high. Avatars must be at least %1$d pixels wide and %2$d pixels high, but no larger than %3$d pixels wide and %4$d pixels high.',\n\n\t'BACK_TO_TOP'\t\t\t=> 'Top',\n\t'BACK_TO_PREV'\t\t\t=> 'Back to previous page',\n\t'BAN_TRIGGERED_BY_EMAIL'=> 'A ban has been issued on your e-mail address.',\n\t'BAN_TRIGGERED_BY_IP'\t=> 'A ban has been issued on your IP address.',\n\t'BAN_TRIGGERED_BY_USER'\t=> 'A ban has been issued on your username.',\n\t'BBCODE_GUIDE'\t\t\t=> 'BBCode guide',\n\t'BCC'\t\t\t\t\t=> 'BCC',\n\t'BIRTHDAYS'\t\t\t\t=> 'Birthdays',\n\t'BOARD_BAN_PERM'\t\t=> 'You have been <strong>permanently</strong> banned from this board.<br /><br />Please contact the %2$sBoard Administrator%3$s for more information.',\n\t'BOARD_BAN_REASON'\t\t=> 'Reason given for ban: <strong>%s</strong>',\n\t'BOARD_BAN_TIME'\t\t=> 'You have been banned from this board until <strong>%1$s</strong>.<br /><br />Please contact the %2$sBoard Administrator%3$s for more information.',\n\t'BOARD_DISABLE'\t\t\t=> 'Sorry but this board is currently unavailable.',\n\t'BOARD_DISABLED'\t\t=> 'This board is currently disabled.',\n\t'BOARD_UNAVAILABLE'\t\t=> 'Sorry but the board is temporarily unavailable, please try again in a few minutes.',\n\t'BROWSING_FORUM'\t\t=> 'Users browsing this forum: %1$s',\n\t'BROWSING_FORUM_GUEST'\t=> 'Users browsing this forum: %1$s and %2$d guest',\n\t'BROWSING_FORUM_GUESTS'\t=> 'Users browsing this forum: %1$s and %2$d guests',\n\t'BYTES'\t\t\t\t\t=> 'Bytes',\n\n\t'CANCEL'\t\t\t\t=> 'Cancel',\n\t'CHANGE'\t\t\t\t=> 'Change',\n\t'CHANGE_FONT_SIZE'\t\t=> 'Change font size',\n\t'CHANGING_PREFERENCES'\t=> 'Changing board preferences',\n\t'CHANGING_PROFILE'\t\t=> 'Changing profile settings',\n\t'CLICK_VIEW_PRIVMSG'\t=> '%sGo to your inbox%s',\n\t'COLLAPSE_VIEW'\t\t\t=> 'Collapse view',\n\t'CLOSE_WINDOW'\t\t\t=> 'Close window',\n\t'COLOUR_SWATCH'\t\t\t=> 'Colour swatch',\n\t'COMMA_SEPARATOR'\t\t=> ', ',\t// Used in pagination of ACP & prosilver, use localised comma if appropriate, eg: Ideographic or Arabic\n\t'CONFIRM'\t\t\t\t=> 'Confirm',\n\t'CONFIRM_CODE'\t\t\t=> 'Confirmation code',\n\t'CONFIRM_CODE_EXPLAIN'\t=> 'Enter the code exactly as it appears. All letters are case insensitive, there is no zero.',\n\t'CONFIRM_CODE_WRONG'\t=> 'The confirmation code you entered was incorrect.',\n\t'CONFIRM_OPERATION'\t\t=> 'Are you sure you wish to carry out this operation?',\n\t'CONGRATULATIONS'\t\t=> 'Congratulations to',\n\t'CONNECTION_FAILED'\t\t=> 'Connection failed.',\n\t'CONNECTION_SUCCESS'\t=> 'Connection was successful!',\n\t'COOKIES_DELETED'\t\t=> 'All board cookies successfully deleted.',\n\t'CURRENT_TIME'\t\t\t=> 'It is currently %s',\n\n\t'DAY'\t\t\t\t\t=> 'Day',\n\t'DAYS'\t\t\t\t\t=> 'Days',\n\t'DELETE'\t\t\t\t=> 'Delete',\n\t'DELETE_ALL'\t\t\t=> 'Delete all',\n\t'DELETE_COOKIES'\t\t=> 'Delete all board cookies',\n\t'DELETE_MARKED'\t\t\t=> 'Delete marked',\n\t'DELETE_POST'\t\t\t=> 'Delete post',\n\t'DELIMITER'\t\t\t\t=> 'Delimiter',\n\t'DESCENDING'\t\t\t=> 'Descending',\n\t'DISABLED'\t\t\t\t=> 'Disabled',\n\t'DISPLAY'\t\t\t\t=> 'Display',\n\t'DISPLAY_GUESTS'\t\t=> 'Display guests',\n\t'DISPLAY_MESSAGES'\t\t=> 'Display messages from previous',\n\t'DISPLAY_POSTS'\t\t\t=> 'Display posts from previous',\n\t'DISPLAY_TOPICS'\t\t=> 'Display topics from previous',\n\t'DOWNLOADED'\t\t\t=> 'Downloaded',\n\t'DOWNLOADING_FILE'\t\t=> 'Downloading file',\n\t'DOWNLOAD_COUNT'\t\t=> 'Downloaded %d time',\n\t'DOWNLOAD_COUNTS'\t\t=> 'Downloaded %d times',\n\t'DOWNLOAD_COUNT_NONE'\t=> 'Not downloaded yet',\n\t'VIEWED_COUNT'\t\t\t=> 'Viewed %d time',\n\t'VIEWED_COUNTS'\t\t\t=> 'Viewed %d times',\n\t'VIEWED_COUNT_NONE'\t\t=> 'Not viewed yet',\n\n\t'EDIT_POST'\t\t\t\t\t\t\t=> 'Edit post',\n\t'EMAIL'\t\t\t\t\t\t\t\t=> 'E-mail', // Short form for EMAIL_ADDRESS\n\t'EMAIL_ADDRESS'\t\t\t\t\t\t=> 'E-mail address',\n\t'EMAIL_SMTP_ERROR_RESPONSE'\t\t\t=> 'Ran into problems sending e-mail at <strong>Line %1$s</strong>. Response: %2$s.',\n\t'EMPTY_SUBJECT'\t\t\t\t\t\t=> 'You must specify a subject when posting a new topic.',\n\t'EMPTY_MESSAGE_SUBJECT'\t\t\t\t=> 'You must specify a subject when composing a new message.',\n\t'ENABLED'\t\t\t\t\t\t\t=> 'Enabled',\n\t'ENCLOSURE'\t\t\t\t\t\t\t=> 'Enclosure',\n\t'ERR_CHANGING_DIRECTORY'\t\t\t=> 'Unable to change directory.',\n\t'ERR_CONNECTING_SERVER'\t\t\t\t", 4096) = 4096
22452 14:44:04.649230 read(4, "=> 'Error connecting to the server.',\n\t'ERR_JAB_AUTH'\t\t\t\t\t\t=> 'Could not authorise on Jabber server.',\n\t'ERR_JAB_CONNECT'\t\t\t\t\t=> 'Could not connect to Jabber server.',\n\t'ERR_UNABLE_TO_LOGIN'\t\t\t\t=> 'The specified username or password is incorrect.',\n\t'ERR_UNWATCHING'\t\t\t\t\t=> 'An error occured while trying to unsubscribe.',\n\t'ERR_WATCHING'\t\t\t\t\t\t=> 'An error occured while trying to subscribe.',\n\t'ERR_WRONG_PATH_TO_PHPBB'\t\t\t=> 'The phpBB path specified appears to be invalid.',\n\t'EXPAND_VIEW'\t\t\t\t\t\t=> 'Expand view',\n\t'EXTENSION'\t\t\t\t\t\t\t=> 'Extension',\n\t'EXTENSION_DISABLED_AFTER_POSTING'\t=> 'The extension <strong>%s</strong> has been deactivated and can no longer be displayed.',\n\n\t'FAQ'\t\t\t\t\t=> 'FAQ',\n\t'FAQ_EXPLAIN'\t\t\t=> 'Frequently Asked Questions',\n\t'FILENAME'\t\t\t\t=> 'Filename',\n\t'FILESIZE'\t\t\t\t=> 'File size',\n\t'FILEDATE'\t\t\t\t=> 'File date',\n\t'FILE_COMMENT'\t\t\t=> 'File comment',\n\t'FILE_NOT_FOUND'\t\t=> 'The requested file could not be found.',\n\t'FIND_USERNAME'\t\t\t=> 'Find a member',\n\t'FOLDER'\t\t\t\t=> 'Folder',\n\t'FORGOT_PASS'\t\t\t=> 'I forgot my password',\n\t'FORM_INVALID'\t\t\t=> 'The submitted form was invalid. Try submitting again.',\n\t'FORUM'\t\t\t\t\t=> 'Forum',\n\t'FORUMS'\t\t\t\t=> 'Forums',\n\t'FORUMS_MARKED'\t\t\t=> 'All forums have been marked read.',\n\t'FORUM_CAT'\t\t\t\t=> 'Forum category',\n\t'FORUM_INDEX'\t\t\t=> 'Board index',\n\t'FORUM_LINK'\t\t\t=> 'Forum link',\n\t'FORUM_LOCATION'\t\t=> 'Forum location',\n\t'FORUM_LOCKED'\t\t\t=> 'Forum locked',\n\t'FORUM_RULES'\t\t\t=> 'Forum rules',\n\t'FORUM_RULES_LINK'\t\t=> 'Please click here to view the forum rules',\n\t'FROM'\t\t\t\t\t=> 'from',\n\t'FSOCK_DISABLED'\t\t=> 'The operation could not be completed because the <var>fsockopen</var> function has been disabled or the server being queried could not be found.',\n\n\t'FTP_FSOCK_HOST'\t\t\t\t=> 'FTP host',\n\t'FTP_FSOCK_HOST_EXPLAIN'\t\t=> 'FTP server used to connect your site.',\n\t'FTP_FSOCK_PASSWORD'\t\t\t=> 'FTP password',\n\t'FTP_FSOCK_PASSWORD_EXPLAIN'\t=> 'Password for your FTP username.',\n\t'FTP_FSOCK_PORT'\t\t\t\t=> 'FTP port',\n\t'FTP_FSOCK_PORT_EXPLAIN'\t\t=> 'Port used to connect to your server.',\n\t'FTP_FSOCK_ROOT_PATH'\t\t\t=> 'Path to phpBB',\n\t'FTP_FSOCK_ROOT_PATH_EXPLAIN'\t=> 'Path from the root to your phpBB board.',\n\t'FTP_FSOCK_TIMEOUT'\t\t\t\t=> 'FTP timeout',\n\t'FTP_FSOCK_TIMEOUT_EXPLAIN'\t\t=> 'The amount of time, in seconds, that the system will wait for a reply from your server.',\n\t'FTP_FSOCK_USERNAME'\t\t\t=> 'FTP username',\n\t'FTP_FSOCK_USERNAME_EXPLAIN'\t=> 'Username used to connect to your server.',\n\n\t'FTP_HOST'\t\t\t\t\t=> 'FTP host',\n\t'FTP_HOST_EXPLAIN'\t\t\t=> 'FTP server used to connect your site.',\n\t'FTP_PASSWORD'\t\t\t\t=> 'FTP password',\n\t'FTP_PASSWORD_EXPLAIN'\t\t=> 'Password for your FTP username.',\n\t'FTP_PORT'\t\t\t\t\t=> 'FTP port',\n\t'FTP_PORT_EXPLAIN'\t\t\t=> 'Port used to connect to your server.',\n\t'FTP_ROOT_PATH'\t\t\t\t=> 'Path to phpBB',\n\t'FTP_ROOT_PATH_EXPLAIN'\t\t=> 'Path from the root to your phpBB board.',\n\t'FTP_TIMEOUT'\t\t\t\t=> 'FTP timeout',\n\t'FTP_TIMEOUT_EXPLAIN'\t\t=> 'The amount of time, in seconds, that the system will wait for a reply from your server.',\n\t'FTP_USERNAME'\t\t\t\t=> 'FTP username',\n\t'FTP_USERNAME_EXPLAIN'\t\t=> 'Username used to connect to your server.',\n\n\t'GENERAL_ERROR'\t\t\t\t=> 'General Error',\n\t'GB'\t\t\t\t\t\t=> 'GB',\n\t'GIB'\t\t\t\t\t\t=> 'GiB',\n\t'GO'\t\t\t\t\t\t=> 'Go',\n\t'GOTO_PAGE'\t\t\t\t\t=> 'Go to page',\n\t'GROUP'\t\t\t\t\t\t=> 'Group',\n\t'GROUPS'\t\t\t\t\t=> 'Groups',\n\t'GROUP_ERR_TYPE'\t\t\t=> 'Inappropriate group type specified.',\n\t'GROUP_ERR_USERNAME'\t\t=> 'No group name specified.',\n\t'GROUP_ERR_USER_LONG'\t\t=> 'Group names cannot exceed 60 characters. The specified group name is too long.',\n\t'GUEST'\t\t\t\t\t\t=> 'Guest',\n\t'GUEST_USERS_ONLINE'\t\t=> 'There are %d guest users online',\n\t'GUEST_USERS_TOTAL'\t\t\t=> '%d guests',\n\t'GUEST_USERS_ZERO_ONLINE'\t=> 'There are 0 guest users online',\n\t'GUEST_USERS_ZERO_TOTAL'\t=> '0 guests',\n\t'GUEST_USER_ONLINE'\t\t\t=> 'There is %d guest user online',\n\t'GUEST_USER_TOTAL'\t\t\t=> '%d guest',\n\t'G_ADMINISTRATORS'\t\t\t=> 'Administrators',\n\t'G_BOTS'\t\t\t\t\t=> 'Bots',\n\t'G_GUESTS'\t\t\t\t\t=> 'Guests',\n\t'G_REGISTERED'\t\t\t\t=> 'Registered users',\n\t'G_REGISTERED_COPPA'\t\t=> 'Registered COPPA users',\n\t'G_GLOBAL_MODERATORS'\t\t=> 'Global moderators',\n\t'G_NEWLY_REGISTERED'\t\t=> 'Newly registered users',\n\n\t'HIDDEN_USERS_ONLINE'\t\t\t=> '%d hidden users online',\n\t'HIDDEN_USERS_TOTAL'\t\t\t=> '%d hidden',\n\t'HIDDEN_USERS_TOTAL_AND'\t\t=> '%d hidden and ',\n\t'HIDDEN_USERS_ZERO_ONLINE'\t\t=> '0 hidden users online',\n\t'HIDDEN_USERS_ZERO_TOTAL'\t\t=> '0 hidden',\n\t'HIDDEN_USERS_ZERO_TOTAL_AND'\t=> '0 hidden and ',\n\t'HIDDEN_USER_ONLINE'\t\t\t=> '%d hidden user online',\n\t'HIDDEN_USER_TOTAL'\t\t\t\t=> '%d hidden',\n\t'HIDDEN_USER_TOTAL_AND'\t\t\t=> '%d hidden and ',\n\t'HIDE_GUESTS'\t\t\t\t\t=> 'Hide guests',\n\t'HIDE_ME'\t\t\t\t\t\t=> 'Hide my online status this session',\n\t'HOURS'\t\t\t\t\t\t\t=> 'Hours',\n\t'HOME'\t\t\t\t\t\t\t=> 'Home',\n\n\t'ICQ'\t\t\t\t\t\t=> 'ICQ',\n\t'ICQ_STATUS'\t\t\t\t=> 'ICQ status',\n\t'IF'\t\t\t\t\t\t=> 'If',\n\t'IMAGE'\t\t\t\t\t\t=> 'Image',\n\t'IMAGE_FILETYPE_INVALID'\t=> 'Image file type %d for mimetype %s not supported.',\n\t'IMAGE_FILETYPE_MISMATCH'\t=> 'Image file type mismatch: expected extension %1$s but extension %2$s given.',\n\t'IN'\t\t\t\t\t\t=> 'in',\n\t'INDEX'\t\t\t\t\t\t=> 'Index page',\n\t'INFORMATION'\t\t\t\t=> 'Information',\n\t'INTERESTS'\t\t\t\t\t=> 'Interests',\n\t'INVALID_DIGEST_CHALLENGE'\t=> 'Invalid digest challenge.',\n\t'INVALID_EMAIL_LOG'\t\t\t=> '<strong>%s</strong> possibly an invalid e-mail address?',\n\t'IP'\t\t\t\t\t\t=> 'IP',\n\t'IP_BLACKLISTED'\t\t\t=> 'Your IP %1$s has been blocked because it is blacklisted. For details please see <a href=\"%2$s\">%2$s</a>.',\n\n\t'JABBER'\t\t\t\t=> 'Jabber',\n\t'JOINED'\t\t\t\t=> 'Joined',\n\t'JUMP_PAGE'\t\t\t\t=> 'Enter the page number you wish to go to',\n\t'JUMP_TO'\t\t\t\t=> 'Jump to',\n\t'JUMP_TO_PAGE'\t\t\t=> 'Click to jump to page\342\200\246',\n\n\t'KB'\t\t\t\t\t=> 'KB',\n\t'KIB'\t\t\t\t\t=> 'KiB',\n\n\t'LAST_POST'\t\t\t\t\t\t\t=> 'Last post',\n\t'LAST_UPDATED'\t\t\t\t\t\t=> 'Last updated',\n\t'LAST_VISIT'\t\t\t\t\t\t=> 'Last visit',\n\t'LDAP_NO_LDAP_EXTENSION'\t\t\t=> 'LDAP extension not available.',\n\t'LDAP_NO_SERVER_CONNECTION'\t\t\t=> 'Could not connect to LDAP server.',\n\t'LEGEND'\t\t\t\t\t\t\t=> 'Legend',\n\t'LOCATION'\t\t\t\t\t\t\t=> 'Location',\n\t'LOCK_POST'\t\t\t\t\t\t\t=> 'Lock post',\n\t'LOCK_POST_EXPLAIN'\t\t\t\t\t=> 'Prevent editing',\n\t'LOCK_TOPIC'\t\t\t\t\t\t=> 'Lock topic',\n\t'LOGIN'\t\t\t\t\t\t\t\t=> 'Login',\n\t'LOGIN_CHECK_PM'\t\t\t\t\t=> 'Log in to check your private messages.',\n\t'LOGIN_CONFIRMATION'\t\t\t\t=> 'Confirmation of login',\n\t'LOGIN_CONFIRM_EXPLAIN'\t\t\t\t=> 'To prevent brute forcing accounts the board requires you to enter a confirmation code after a maximum amount of failed logins. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.',\n\t'LOGIN_ERROR_ATTEMPTS'\t\t\t\t=> 'You exceeded the maximum allowed number of login attempts. In addition to your username and password you now also have to enter the confirm code from the image you see below.',\n\t'LOGIN_ERROR_EXTERNAL_AUTH_APACHE'\t=> 'You have not been authenticated by Apache.',\n\t'LOGIN_ERROR_PASSWORD'\t\t\t\t=> 'You have specified an incorrect password. Please check your password and try again. If you continue to have problems please contact the %sBoard Administrator%s.',\n\t'LOGIN_ERROR_PASSWORD_CONVERT'\t\t=> 'It was not possible to convert your password when updating this bulletin board\342\200\231s software. Please %srequest a new password%s. If you continue to have problems please contact the %sBoard Administrator%s.',\n\t'LOGIN_ERROR_USERNAME'\t\t\t\t=> 'You have specified an incorrect username. Please check your username and try again. If you continue to have problems please contact the %sBoard Administrator%s.',\n\t'LOGIN_FORUM'\t\t\t\t\t\t=> 'To view or post in this forum you must enter its password.',\n\t'LOGIN_INFO'\t\t\t\t\t\t=> 'In order to login and purchase picks you must be registered. In order to purchase and view your picks you must be logged in with an account and accept our terms of use and related policies. Registering takes only a few moments and even less if you sign in with your social account via <strong>Facebook</strong> or <strong>Twitter</strong>.',\n\t'LOGIN_VIEWFORUM'\t\t\t\t\t=> 'The board requires you to be registered and logged in to view this forum.',\n\t'LOGIN_EXPLAIN_EDIT'\t\t\t\t=> 'In o"..., 8192) = 8192
22452 14:44:04.650992 brk(0x2551000)    = 0x2551000
22452 14:44:04.651248 read(4, "NE'\t\t\t=> 'In order to view the online list you have to be registered and logged in.',\n\t'LOGOUT'\t\t\t\t\t\t\t=> 'Logout',\n\t'LOGOUT_USER'\t\t\t\t\t\t=> 'Logout [ %s ]',\n\t'LOG_ME_IN'\t\t\t\t\t\t\t=> 'Log me on automatically each visit',\n\n\t'MARK'\t\t\t\t\t=> 'Mark',\n\t'MARK_ALL'\t\t\t\t=> 'Mark all',\n\t'MARK_FORUMS_READ'\t\t=> 'Mark forums read',\n\t'MB'\t\t\t\t\t=> 'MB',\n\t'MIB'\t\t\t\t\t=> 'MiB',\n\t'MCP'\t\t\t\t\t=> 'Moderator Control Panel',\n\t'MEMBERLIST'\t\t\t=> 'Members',\n\t'MEMBERLIST_EXPLAIN'\t=> 'View complete list of members',\n\t'MERGE'\t\t\t\t\t=> 'Merge',\n\t'MERGE_POSTS'\t\t\t=> 'Merge posts',\n\t'MERGE_TOPIC'\t\t\t=> 'Merge topic',\n\t'MESSAGE'\t\t\t\t=> 'Message',\n\t'MESSAGES'\t\t\t\t=> 'Messages',\n\t'MESSAGE_BODY'\t\t\t=> 'Message body',\n\t'MINUTES'\t\t\t\t=> 'Minutes',\n\t'MODERATE'\t\t\t\t=> 'Moderate',\n\t'MODERATOR'\t\t\t\t=> 'Moderator',\n\t'MODERATORS'\t\t\t=> 'Moderators',\n\t'MONTH'\t\t\t\t\t=> 'Month',\n\t'MOVE'\t\t\t\t\t=> 'Move',\n\t'MSNM'\t\t\t\t\t=> 'MSNM/WLM',\n\n\t'NA'\t\t\t\t\t\t=> 'N/A',\n\t'NEWEST_USER'\t\t\t\t=> 'Our newest member <strong>%s</strong>',\n\t'NEW_MESSAGE'\t\t\t\t=> 'New message',\n\t'NEW_MESSAGES'\t\t\t\t=> 'New messages',\n\t'NEW_PM'\t\t\t\t\t=> '<strong>%d</strong> new message',\n\t'NEW_PMS'\t\t\t\t\t=> '<strong>%d</strong> new messages',\n\t'NEW_POST'\t\t\t\t\t=> 'New post',\n\t'NEW_POSTS'\t\t\t\t\t=> 'New posts',\n\t'NEXT'\t\t\t\t\t\t=> 'Next',\t\t// Used in pagination\n\t'NEXT_STEP'\t\t\t\t\t=> 'Next',\n\t'NEVER'\t\t\t\t\t\t=> 'Never',\n\t'NO'\t\t\t\t\t\t=> 'No',\n\t'NOT_ALLOWED_MANAGE_GROUP'\t=> 'You are not allowed to manage this group.',\n\t'NOT_AUTHORISED'\t\t\t=> 'You are not authorised to access this area.',\n\t'NOT_WATCHING_FORUM'\t\t=> 'You are no longer subscribed to updates on this forum.',\n\t'NOT_WATCHING_TOPIC'\t\t=> 'You are no longer subscribed to this topic.',\n\t'NOTIFY_ADMIN'\t\t\t\t=> 'Please notify the board administrator or webmaster.',\n\t'NOTIFY_ADMIN_EMAIL'\t\t=> 'Please notify the board administrator or webmaster: <a href=\"mailto:%1$s\">%1$s</a>',\n\t'NO_ACCESS_ATTACHMENT'\t\t=> 'You are not allowed to access this file.',\n\t'NO_ACTION'\t\t\t\t\t=> 'No action specified.',\n\t'NO_ADMINISTRATORS'\t\t\t=> 'There are no administrators.',\n\t'NO_AUTH_ADMIN'\t\t\t\t=> 'Access to the Administration Control Panel is not allowed as you do not have administrative permissions.',\n\t'NO_AUTH_ADMIN_USER_DIFFER'\t=> 'You are not able to re-authenticate as a different user.',\n\t'NO_AUTH_OPERATION'\t\t\t=> 'You do not have the necessary permissions to complete this operation.',\n\t'NO_CONNECT_TO_SMTP_HOST'\t=> 'Could not connect to smtp host : %1$s : %2$s',\n\t'NO_BIRTHDAYS'\t\t\t\t=> 'No birthdays today',\n\t'NO_EMAIL_MESSAGE'\t\t\t=> 'E-mail message was blank.',\n\t'NO_EMAIL_RESPONSE_CODE'\t=> 'Could not get mail server response codes.',\n\t'NO_EMAIL_SUBJECT'\t\t\t=> 'No e-mail subject specified.',\n\t'NO_FORUM'\t\t\t\t\t=> 'The forum you selected does not exist.',\n\t'NO_FORUMS'\t\t\t\t\t=> 'This board has no forums.',\n\t'NO_GROUP'\t\t\t\t\t=> 'The requested usergroup does not exist.',\n\t'NO_GROUP_MEMBERS'\t\t\t=> 'This group currently has no members.',\n\t'NO_IPS_DEFINED'\t\t\t=> 'No IP addresses or hostnames defined',\n\t'NO_MEMBERS'\t\t\t\t=> 'No members found for this search criterion.',\n\t'NO_MESSAGES'\t\t\t\t=> 'No messages',\n\t'NO_MODE'\t\t\t\t\t=> 'No mode specified.',\n\t'NO_MODERATORS'\t\t\t\t=> 'There are no moderators.',\n\t'NO_NEW_MESSAGES'\t\t\t=> 'No new messages',\n\t'NO_NEW_PM'\t\t\t\t\t=> '<strong>0</strong> new messages',\n\t'NO_NEW_POSTS'\t\t\t\t=> 'No new posts',\n\t'NO_ONLINE_USERS'\t\t\t=> 'No registered users',\n\t'NO_POSTS'\t\t\t\t\t=> 'No posts',\n\t'NO_POSTS_TIME_FRAME'\t\t=> 'No posts exist inside this topic for the selected time frame.',\n\t'NO_FEED_ENABLED'\t\t\t=> 'Feeds are not available on this board.',\n\t'NO_FEED'\t\t\t\t\t=> 'The requested feed is not available.',\n\t'NO_SUBJECT'\t\t\t\t=> 'No subject specified',\t\t\t\t\t\t\t\t// Used for posts having no subject defined but displayed within management pages.\n\t'NO_SUCH_SEARCH_MODULE'\t\t=> 'The specified search backend doesn\342\200\231t exist.',\n\t'NO_SUPPORTED_AUTH_METHODS'\t=> 'No supported authentication methods.',\n\t'NO_TOPIC'\t\t\t\t\t=> 'The requested topic does not exist.',\n\t'NO_TOPIC_FORUM'\t\t\t=> 'The topic or forum no longer exists.',\n\t'NO_TOPICS'\t\t\t\t\t=> 'There are no topics or posts in this forum.',\n\t'NO_TOPICS_TIME_FRAME'\t\t=> 'No topics exist inside this forum for the selected time frame.',\n\t'NO_UNREAD_PM'\t\t\t\t=> '<strong>0</strong> unread messages',\n\t'NO_UPLOAD_FORM_FOUND'\t\t=> 'Upload initiated but no valid file upload form found.',\n\t'NO_USER'\t\t\t\t\t=> 'The requested user does not exist.',\n\t'NO_USERS'\t\t\t\t\t=> 'The requested users do not exist.',\n\t'NO_USER_SPECIFIED'\t\t\t=> 'No username was specified.',\n\n\t// Nullar/Singular/Plural language entry. The key numbers define the number range in which a certain grammatical expression is valid.\n\t'NUM_POSTS_IN_QUEUE'\t\t=> array(\n\t\t0\t\t\t=> 'No posts in queue',\t\t// 0\n\t\t1\t\t\t=> '1 post in queue',\t\t// 1\n\t\t2\t\t\t=> '%d posts in queue',\t\t// 2+\n\t),\n\n\t'OCCUPATION'\t\t\t\t=> 'Occupation',\n\t'OFFLINE'\t\t\t\t\t=> 'Offline',\n\t'ONLINE'\t\t\t\t\t=> 'Online',\n\t'ONLINE_BUDDIES'\t\t\t=> 'Online friends',\n\t'ONLINE_USERS_TOTAL'\t\t=> 'In total there are <strong>%d</strong> users online :: ',\n\t'ONLINE_USERS_ZERO_TOTAL'\t=> 'In total there are <strong>0</strong> users online :: ',\n\t'ONLINE_USER_TOTAL'\t\t\t=> 'In total there is <strong>%d</strong> user online :: ',\n\t'OPTIONS'\t\t\t\t\t=> 'Options',\n\n\t'PAGE_OF'\t\t\t\t=> 'Page <strong>%1$d</strong> of <strong>%2$d</strong>',\n\t'PASSWORD'\t\t\t\t=> 'Password',\n\t'PLAY_QUICKTIME_FILE'\t=> 'Play Quicktime file',\n\t'PM'\t\t\t\t\t=> 'PM',\n\t'POSTING_MESSAGE'\t\t=> 'Posting message in %s',\n\t'POSTING_PRIVATE_MESSAGE'\t=> 'Composing private message',\n\t'POST'\t\t\t\t\t=> 'Post',\n\t'POST_ANNOUNCEMENT'\t\t=> 'Announce',\n\t'POST_STICKY'\t\t\t=> 'Sticky',\n\t'POSTED'\t\t\t\t=> 'Posted',\n\t'POSTED_IN_FORUM'\t\t=> 'in',\n\t'POSTED_ON_DATE'\t\t=> 'on',\n\t'POSTS'\t\t\t\t\t=> 'Posts',\n\t'POSTS_UNAPPROVED'\t\t=> 'At least one post in this topic has not been approved.',\n\t'POST_BY_AUTHOR'\t\t=> 'by',\n\t'POST_BY_FOE'\t\t\t=> 'This post was made by <strong>%1$s</strong> who is currently on your ignore list. %2$sDisplay this post%3$s.',\n\t'POST_DAY'\t\t\t\t=> '%.2f posts per day',\n\t'POST_DETAILS'\t\t\t=> 'Post details',\n\t'POST_NEW_TOPIC'\t\t=> 'Post new topic',\n\t'POST_PCT'\t\t\t\t=> '%.2f%% of all posts',\n\t'POST_PCT_ACTIVE'\t\t=> '%.2f%% of user\342\200\231s posts',\n\t'POST_PCT_ACTIVE_OWN'\t=> '%.2f%% of your posts',\n\t'POST_REPLY'\t\t\t=> 'Post a reply',\n\t'POST_REPORTED'\t\t\t=> 'Click to view report',\n\t'POST_SUBJECT'\t\t\t=> 'Post subject',\n\t'POST_TIME'\t\t\t\t=> 'Post time',\n\t'POST_TOPIC'\t\t\t=> 'Post a new topic',\n\t'POST_UNAPPROVED'\t\t=> 'This post is waiting for approval',\n\t'PREVIEW'\t\t\t\t=> 'Preview',\n\t'PREVIOUS'\t\t\t\t=> 'Previous',\t\t// Used in pagination\n\t'PREVIOUS_STEP'\t\t\t=> 'Previous',\n\t'PRIVACY'\t\t\t\t=> 'Privacy policy',\n\t'PRIVATE_MESSAGE'\t\t=> 'Private message',\n\t'PRIVATE_MESSAGES'\t\t=> 'Private messages',\n\t'PRIVATE_MESSAGING'\t\t=> 'Private messaging',\n\t'PROFILE'\t\t\t\t=> 'User Control Panel',\n\n\t'READING_FORUM'\t\t\t\t=> 'Viewing topics in %s',\n\t'READING_GLOBAL_ANNOUNCE'\t=> 'Reading global announcement',\n\t'READING_LINK'\t\t\t\t=> 'Following forum link %s',\n\t'READING_TOPIC'\t\t\t\t=> 'Reading topic in %s',\n\t'READ_PROFILE'\t\t\t\t=> 'Profile',\n\t'REASON'\t\t\t\t\t=> 'Reason',\n\t'RECORD_ONLINE_USERS'\t\t=> 'Most users ever online was <strong>%1$s</strong> on %2$s',\n\t'REDIRECT'\t\t\t\t\t=> 'Redirect',\n\t'REDIRECTS'\t\t\t\t\t=> 'Total redirects',\n\t'REGISTER'\t\t\t\t\t=> 'Register',\n\t'REGISTERED_USERS'\t\t\t=> 'Registered users:',\n\t'REG_USERS_ONLINE'\t\t\t=> 'There are %d registered users and ',\n\t'REG_USERS_TOTAL'\t\t\t=> '%d registered, ',\n\t'REG_USERS_TOTAL_AND'\t\t=> '%d registered and ',\n\t'REG_USERS_ZERO_ONLINE'\t\t=> 'There are 0 registered users and ',\n\t'REG_USERS_ZERO_TOTAL'\t\t=> '0 registered, ',\n\t'REG_USERS_ZERO_TOTAL_AND'\t=> '0 registered and ',\n\t'REG_USER_ONLINE'\t\t\t=> 'There is %d registered user and ',\n\t'REG_USER_TOTAL'\t\t\t=> '%d registered, ',\n\t'REG_USER_TOTAL_AND'\t\t=> '%d registered and ',\n\t'REMOVE'\t\t\t\t\t=> 'Remove',\n\t'REMOVE_INSTALL'\t\t\t=> 'Please delete, move or rename the install directory before you use your board. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.',\n\t'REPLIES'\t\t\t\t\t=> 'Replies',\n\t'REPLY_WITH_QUOTE'\t\t\t=> 'Reply with quote',\n\t'REPLYING_GLOBAL_ANNOUNCE'\t=> 'Replying to global announcement',\n\t'REPLYING_MESSAGE'\t\t\t=> 'Replying to message in %s',\n\t'REPORT_BY'\t\t\t\t\t=> 'Report by',\n\t'REP"..., 8192) = 8192
22452 14:44:04.653135 read(4, "=> 'Resend activation e-mail',\n\t'RESET'\t\t\t\t\t\t=> 'Reset',\n\t'RESTORE_PERMISSIONS'\t\t=> 'Restore permissions',\n\t'RETURN_INDEX'\t\t\t\t=> '%sReturn to the index page%s',\n\t'RETURN_FORUM'\t\t\t\t=> '%sReturn to the forum last visited%s',\n\t'RETURN_PAGE'\t\t\t\t=> '%sReturn to the previous page%s',\n\t'RETURN_TOPIC'\t\t\t\t=> '%sReturn to the topic last visited%s',\n\t'RETURN_TO'\t\t\t\t\t=> 'Return to',\n\t'FEED'\t\t\t\t\t\t=> 'Feed',\n\t'FEED_NEWS'\t\t\t\t\t=> 'News',\n\t'RULES_ATTACH_CAN'\t\t\t=> 'You <strong>can</strong> post attachments in this forum',\n\t'RULES_ATTACH_CANNOT'\t\t=> 'You <strong>cannot</strong> post attachments in this forum',\n\t'RULES_DELETE_CAN'\t\t\t=> 'You <strong>can</strong> delete your posts in this forum',\n\t'RULES_DELETE_CANNOT'\t\t=> 'You <strong>cannot</strong> delete your posts in this forum',\n\t'RULES_DOWNLOAD_CAN'\t\t=> 'You <strong>can</strong> download attachments in this forum',\n\t'RULES_DOWNLOAD_CANNOT'\t\t=> 'You <strong>cannot</strong> download attachments in this forum',\n\t'RULES_EDIT_CAN'\t\t\t=> 'You <strong>can</strong> edit your posts in this forum',\n\t'RULES_EDIT_CANNOT'\t\t\t=> 'You <strong>cannot</strong> edit your posts in this forum',\n\t'RULES_LOCK_CAN'\t\t\t=> 'You <strong>can</strong> lock your topics in this forum',\n\t'RULES_LOCK_CANNOT'\t\t\t=> 'You <strong>cannot</strong> lock your topics in this forum',\n\t'RULES_POST_CAN'\t\t\t=> 'You <strong>can</strong> post new topics in this forum',\n\t'RULES_POST_CANNOT'\t\t\t=> 'You <strong>cannot</strong> post new topics in this forum',\n\t'RULES_REPLY_CAN'\t\t\t=> 'You <strong>can</strong> reply to topics in this forum',\n\t'RULES_REPLY_CANNOT'\t\t=> 'You <strong>cannot</strong> reply to topics in this forum',\n\t'RULES_VOTE_CAN'\t\t\t=> 'You <strong>can</strong> vote in polls in this forum',\n\t'RULES_VOTE_CANNOT'\t\t\t=> 'You <strong>cannot</strong> vote in polls in this forum',\n\n\t'SEARCH'\t\t\t\t\t=> 'Search',\n\t'SEARCH_MINI'\t\t\t\t=> 'Search\342\200\246',\n\t'SEARCH_ADV'\t\t\t\t=> 'Advanced search',\n\t'SEARCH_ADV_EXPLAIN'\t\t=> 'View the advanced search options',\n\t'SEARCH_KEYWORDS'\t\t\t=> 'Search for keywords',\n\t'SEARCHING_FORUMS'\t\t\t=> 'Searching forums',\n\t'SEARCH_ACTIVE_TOPICS'\t\t=> 'View active topics',\n\t'SEARCH_FOR'\t\t\t\t=> 'Search for',\n\t'SEARCH_FORUM'\t\t\t\t=> 'Search this forum\342\200\246',\n\t'SEARCH_NEW'\t\t\t\t=> 'View new posts',\n\t'SEARCH_POSTS_BY'\t\t\t=> 'Search posts by',\n\t'SEARCH_SELF'\t\t\t\t=> 'View your posts',\n\t'SEARCH_TOPIC'\t\t\t\t=> 'Search this topic\342\200\246',\n\t'SEARCH_UNANSWERED'\t\t\t=> 'View unanswered posts',\n\t'SEARCH_UNREAD'\t\t\t\t=> 'View unread posts',\n\t'SECONDS'\t\t\t\t\t=> 'Seconds',\n\t'SELECT'\t\t\t\t\t=> 'Select',\n\t'SELECT_ALL_CODE'\t\t\t=> 'Select all',\n\t'SELECT_DESTINATION_FORUM'\t=> 'Please select a destination forum',\n\t'SELECT_FORUM'\t\t\t\t=> 'Select a forum',\n\t'SEND_EMAIL'\t\t\t\t=> 'E-mail',\t\t\t\t// Used for submit buttons\n\t'SEND_EMAIL_USER'\t\t\t=> 'E-mail',\t\t\t\t// Used as: {L_SEND_EMAIL_USER} {USERNAME} -> E-mail UserX\n\t'SEND_PRIVATE_MESSAGE'\t\t=> 'Send private message',\n\t'SETTINGS'\t\t\t\t\t=> 'Settings',\n\t'SIGNATURE'\t\t\t\t\t=> 'Signature',\n\t'SKIP'\t\t\t\t\t\t=> 'Skip to content',\n\t'SMTP_NO_AUTH_SUPPORT'\t\t=> 'SMTP server does not support authentication.',\n\t'SORRY_AUTH_READ'\t\t\t=> 'You are not authorised to read this forum.',\n\t'SORRY_AUTH_VIEW_ATTACH'\t=> 'You are not authorised to download this attachment.',\n\t'SORT_BY'\t\t\t\t\t=> 'Sort by',\n\t'SORT_JOINED'\t\t\t\t=> 'Joined date',\n\t'SORT_LOCATION'\t\t\t\t=> 'Location',\n\t'SORT_RANK'\t\t\t\t\t=> 'Rank',\n\t'SORT_POSTS'\t\t\t\t=> 'Posts',\n\t'SORT_TOPIC_TITLE'\t\t\t=> 'Topic title',\n\t'SORT_USERNAME'\t\t\t\t=> 'Username',\n\t'SPLIT_TOPIC'\t\t\t\t=> 'Split topic',\n\t'SQL_ERROR_OCCURRED'\t\t=> 'An SQL error occurred while fetching this page. Please contact the %sBoard Administrator%s if this problem persists.',\n\t'STATISTICS'\t\t\t\t=> 'Statistics',\n\t'START_WATCHING_FORUM'\t\t=> 'Subscribe forum',\n\t'START_WATCHING_TOPIC'\t\t=> 'Subscribe topic',\n\t'STOP_WATCHING_FORUM'\t\t=> 'Unsubscribe forum',\n\t'STOP_WATCHING_TOPIC'\t\t=> 'Unsubscribe topic',\n\t'SUBFORUM'\t\t\t\t\t=> 'Subforum',\n\t'SUBFORUMS'\t\t\t\t\t=> 'Subforums',\n\t'SUBJECT'\t\t\t\t\t=> 'Subject',\n\t'SUBMIT'\t\t\t\t\t=> 'Submit',\n\n\t'TERMS_USE'\t\t\t=> 'Terms of use',\n\t'TEST_CONNECTION'\t=> 'Test connection',\n\t'THE_TEAM'\t\t\t=> 'The team',\n\t'TIME'\t\t\t\t=> 'Time',\n\n\t'TOO_LONG'\t\t\t\t\t\t=> 'The value you entered is too long.',\n\n\t'TOO_LONG_AIM'\t\t\t\t\t=> 'The screenname you entered is too long.',\n\t'TOO_LONG_CONFIRM_CODE'\t\t\t=> 'The confirm code you entered is too long.',\n\t'TOO_LONG_DATEFORMAT'\t\t\t=> 'The date format you entered is too long.',\n\t'TOO_LONG_ICQ'\t\t\t\t\t=> 'The ICQ number you entered is too long.',\n\t'TOO_LONG_INTERESTS'\t\t\t=> 'The interests you entered is too long.',\n\t'TOO_LONG_JABBER'\t\t\t\t=> 'The Jabber account name you entered is too long.',\n\t'TOO_LONG_LOCATION'\t\t\t\t=> 'The location you entered is too long.',\n\t'TOO_LONG_MSN'\t\t\t\t\t=> 'The MSNM/WLM name you entered is too long.',\n\t'TOO_LONG_NEW_PASSWORD'\t\t\t=> 'The password you entered is too long.',\n\t'TOO_LONG_OCCUPATION'\t\t\t=> 'The occupation you entered is too long.',\n\t'TOO_LONG_PASSWORD_CONFIRM'\t\t=> 'The password confirmation you entered is too long.',\n\t'TOO_LONG_USER_PASSWORD'\t\t=> 'The password you entered is too long.',\n\t'TOO_LONG_USERNAME'\t\t\t\t=> 'The username you entered is too long.',\n\t'TOO_LONG_EMAIL'\t\t\t\t=> 'The e-mail address you entered is too long.',\n\t'TOO_LONG_EMAIL_CONFIRM'\t\t=> 'The e-mail address confirmation you entered is too long.',\n\t'TOO_LONG_WEBSITE'\t\t\t\t=> 'The website address you entered is too long.',\n\t'TOO_LONG_YIM'\t\t\t\t\t=> 'The Yahoo! Messenger name you entered is too long.',\n\n\t'TOO_MANY_VOTE_OPTIONS'\t\t\t=> 'You have tried to vote for too many options.',\n\n\t'TOO_SHORT'\t\t\t\t\t\t=> 'The value you entered is too short.',\n\n\t'TOO_SHORT_AIM'\t\t\t\t\t=> 'The screenname you entered is too short.',\n\t'TOO_SHORT_CONFIRM_CODE'\t\t=> 'The confirm code you entered is too short.',\n\t'TOO_SHORT_DATEFORMAT'\t\t\t=> 'The date format you entered is too short.',\n\t'TOO_SHORT_ICQ'\t\t\t\t\t=> 'The ICQ number you entered is too short.',\n\t'TOO_SHORT_INTERESTS'\t\t\t=> 'The interests you entered is too short.',\n\t'TOO_SHORT_JABBER'\t\t\t\t=> 'The Jabber account name you entered is too short.',\n\t'TOO_SHORT_LOCATION'\t\t\t=> 'The location you entered is too short.',\n\t'TOO_SHORT_MSN'\t\t\t\t\t=> 'The MSNM/WLM name you entered is too short.',\n\t'TOO_SHORT_NEW_PASSWORD'\t\t=> 'The password you entered is too short.',\n\t'TOO_SHORT_OCCUPATION'\t\t\t=> 'The occupation you entered is too short.',\n\t'TOO_SHORT_PASSWORD_CONFIRM'\t=> 'The password confirmation you entered is too short.',\n\t'TOO_SHORT_USER_PASSWORD'\t\t=> 'The password you entered is too short.',\n\t'TOO_SHORT_USERNAME'\t\t\t=> 'The username you entered is too short.',\n\t'TOO_SHORT_EMAIL'\t\t\t\t=> 'The e-mail address you entered is too short.',\n\t'TOO_SHORT_EMAIL_CONFIRM'\t\t=> 'The e-mail address confirmation you entered is too short.',\n\t'TOO_SHORT_WEBSITE'\t\t\t\t=> 'The website address you entered is too short.',\n\t'TOO_SHORT_YIM'\t\t\t\t\t=> 'The Yahoo! Messenger name you entered is too short.',\n\n\t'TOPIC'\t\t\t\t=> 'Topic',\n\t'TOPICS'\t\t\t=> 'Topics',\n\t'TOPICS_UNAPPROVED'\t=> 'At least one topic in this forum has not been approved.',\n\t'TOPIC_ICON'\t\t=> 'Topic icon',\n\t'TOPIC_LOCKED'\t\t=> 'This topic is locked, you cannot edit posts or make further replies.',\n\t'TOPIC_LOCKED_SHORT'=> 'Topic locked',\n\t'TOPIC_MOVED'\t\t=> 'Moved topic',\n\t'TOPIC_REVIEW'\t\t=> 'Topic review',\n\t'TOPIC_TITLE'\t\t=> 'Topic title',\n\t'TOPIC_UNAPPROVED'\t=> 'This topic has not been approved',\n\t'TOTAL_ATTACHMENTS'\t=> 'Attachment(s)',\n\t'TOTAL_LOG'\t\t\t=> '1 log',\n\t'TOTAL_LOGS'\t\t=> '%d logs',\n\t'TOTAL_NO_PM'\t\t=> '0 private messages in total',\n\t'TOTAL_PM'\t\t\t=> '1 private message in total',\n\t'TOTAL_PMS'\t\t\t=> '%d private messages in total',\n\t'TOTAL_POSTS'\t\t=> 'Total posts',\n\t'TOTAL_POSTS_OTHER'\t=> 'Total posts <strong>%d</strong>',\n\t'TOTAL_POSTS_ZERO'\t=> 'Total posts <strong>0</strong>',\n\t'TOPIC_REPORTED'\t=> 'This topic has been reported',\n\t'TOTAL_TOPICS_OTHER'=> 'Total topics <strong>%d</strong>',\n\t'TOTAL_TOPICS_ZERO'\t=> 'Total topics <strong>0</strong>',\n\t'TOTAL_USERS_OTHER'\t=> 'Total members <strong>%d</strong>',\n\t'TOTAL_USERS_ZERO'\t=> 'Total members <strong>0</strong>',\n\t'TRACKED_PHP_ERROR'\t=> 'Tracked PHP errors: %s',\n\n\t'UNABLE_GET_IMAGE_SIZE'\t=> 'It was not possible to determine the dimensions of the image.',\n\t'UNABLE_TO_DELIVER_"..., 8192) = 8192
22452 14:44:04.655018 read(4, "ark all',\n\t'UNREAD_MESSAGES'\t\t=> 'Unread messages',\n\t'UNREAD_PM'\t\t\t\t=> '<strong>%d</strong> unread message',\n\t'UNREAD_PMS'\t\t\t=> '<strong>%d</strong> unread messages',\n\t'UNWATCHED_FORUMS'\t\t\t=> 'You are no longer subscribed to the selected forums.',\n\t'UNWATCHED_TOPICS'\t\t\t=> 'You are no longer subscribed to the selected topics.',\n\t'UNWATCHED_FORUMS_TOPICS'\t=> 'You are no longer subscribed to the selected entries.',\n\t'UPDATE'\t\t\t\t=> 'Update',\n\t'UPLOAD_IN_PROGRESS'\t=> 'The upload is currently in progress.',\n\t'URL_REDIRECT'\t\t\t=> 'If your browser does not support meta redirection %splease click HERE to be redirected%s.',\n\t'USERGROUPS'\t\t\t=> 'Groups',\n\t'USERNAME'\t\t\t\t=> 'Username',\n\t'USERNAMES'\t\t\t\t=> 'Usernames',\n\t'USER_AVATAR'\t\t\t=> 'User avatar',\n\t'USER_CANNOT_READ'\t\t=> 'You cannot read posts in this forum.',\n\t'USER_POST'\t\t\t\t=> '%d Post',\n\t'USER_POSTS'\t\t\t=> '%d Posts',\n\t'USERS'\t\t\t\t\t=> 'Users',\n\t'USE_PERMISSIONS'\t\t=> 'Test out user\342\200\231s permissions',\n\n\t'USER_NEW_PERMISSION_DISALLOWED'\t=> 'We are sorry, but you are not authorised to use this feature. You may have just registered here and may need to participate more to be able to use this feature.',\n\n\t'VARIANT_DATE_SEPARATOR'\t=> ' / ',\t// Used in date format dropdown, eg: \"Today, 13:37 / 01 Jan 2007, 13:37\" ... to join a relative date with calendar date\n\t'VIEWED'\t\t\t\t\t=> 'Viewed',\n\t'VIEWING_FAQ'\t\t\t\t=> 'Viewing FAQ',\n\t'VIEWING_MEMBERS'\t\t\t=> 'Viewing member details',\n\t'VIEWING_ONLINE'\t\t\t=> 'Viewing who is online',\n\t'VIEWING_MCP'\t\t\t\t=> 'Viewing moderator control panel',\n\t'VIEWING_MEMBER_PROFILE'\t=> 'Viewing member profile',\n\t'VIEWING_PRIVATE_MESSAGES'\t=> 'Viewing private messages',\n\t'VIEWING_REGISTER'\t\t\t=> 'Registering account',\n\t'VIEWING_UCP'\t\t\t\t=> 'Viewing user control panel',\n\t'VIEWS'\t\t\t\t\t\t=> 'Views',\n\t'VIEW_BOOKMARKS'\t\t\t=> 'View bookmarks',\n\t'VIEW_FORUM_LOGS'\t\t\t=> 'View Logs',\n\t'VIEW_LATEST_POST'\t\t\t=> 'View the latest post',\n\t'VIEW_NEWEST_POST'\t\t\t=> 'View first unread post',\n\t'VIEW_NOTES'\t\t\t\t=> 'View user notes',\n\t'VIEW_ONLINE_TIME'\t\t\t=> 'based on users active over the past %d minute',\n\t'VIEW_ONLINE_TIMES'\t\t\t=> 'based on users active over the past %d minutes',\n\t'VIEW_TOPIC'\t\t\t\t=> 'View topic',\n\t'VIEW_TOPIC_ANNOUNCEMENT'\t=> 'Announcement: ',\n\t'VIEW_TOPIC_GLOBAL'\t\t\t=> 'Global Announcement: ',\n\t'VIEW_TOPIC_LOCKED'\t\t\t=> 'Locked: ',\n\t'VIEW_TOPIC_LOGS'\t\t\t=> 'View logs',\n\t'VIEW_TOPIC_MOVED'\t\t\t=> 'Moved: ',\n\t'VIEW_TOPIC_POLL'\t\t\t=> 'Poll: ',\n\t'VIEW_TOPIC_STICKY'\t\t\t=> 'Sticky: ',\n\t'VISIT_WEBSITE'\t\t\t\t=> 'Visit website',\n\n\t'WARNINGS'\t\t\t=> 'Warnings',\n\t'WARN_USER'\t\t\t=> 'Warn user',\n\t'WELCOME_SUBJECT'\t=> 'Welcome to %s forums',\n\t'WEBSITE'\t\t\t=> 'Website',\n\t'WHOIS'\t\t\t\t=> 'Whois',\n\t'WHO_IS_ONLINE'\t\t=> 'Who is online',\n\t'WRONG_PASSWORD'\t=> 'You entered an incorrect password.',\n\n\t'WRONG_DATA_ICQ'\t\t\t=> 'The number you entered is not a valid ICQ number.',\n\t'WRONG_DATA_JABBER'\t\t\t=> 'The name you entered is not a valid Jabber account name.',\n\t'WRONG_DATA_LANG'\t\t\t=> 'The language you specified is not valid.',\n\t'WRONG_DATA_WEBSITE'\t\t=> 'The website address has to be a valid URL, including the protocol. For example http://www.example.com/.',\n\t'WROTE'\t\t\t\t\t\t=> 'wrote',\n\n\t'YEAR'\t\t\t\t=> 'Year',\n\t'YEAR_MONTH_DAY'\t=> '(YYYY-MM-DD)',\n\t'YES'\t\t\t\t=> 'Yes',\n\t'YIM'\t\t\t\t=> 'YIM',\n\t'YOU_LAST_VISIT'\t=> 'Last visit was: %s',\n\t'YOU_NEW_PM'\t\t=> 'A new private message is waiting for you in your Inbox.',\n\t'YOU_NEW_PMS'\t\t=> 'New private messages are waiting for you in your Inbox.',\n\t'YOU_NO_NEW_PM'\t\t=> 'No new private messages are waiting for you.',\n\n\t'datetime'\t\t\t=> array(\n\t\t'TODAY'\t\t=> 'Today',\n\t\t'TOMORROW'\t=> 'Tomorrow',\n\t\t'YESTERDAY'\t=> 'Yesterday',\n\t\t'AGO'\t\t=> array(\n\t\t\t0\t\t=> 'less than a minute ago',\n\t\t\t1\t\t=> '%d minute ago',\n\t\t\t2\t\t=> '%d minutes ago',\n\t\t\t60\t\t=> '1 hour ago',\n\t\t),\n\n\t\t'Sunday'\t=> 'Sunday',\n\t\t'Monday'\t=> 'Monday',\n\t\t'Tuesday'\t=> 'Tuesday',\n\t\t'Wednesday'\t=> 'Wednesday',\n\t\t'Thursday'\t=> 'Thursday',\n\t\t'Friday'\t=> 'Friday',\n\t\t'Saturday'\t=> 'Saturday',\n\n\t\t'Sun'\t\t=> 'Sun',\n\t\t'Mon'\t\t=> 'Mon',\n\t\t'Tue'\t\t=> 'Tue',\n\t\t'Wed'\t\t=> 'Wed',\n\t\t'Thu'\t\t=> 'Thu',\n\t\t'Fri'\t\t=> 'Fri',\n\t\t'Sat'\t\t=> 'Sat',\n\n\t\t'January'\t=> 'January',\n\t\t'February'\t=> 'February',\n\t\t'March'\t\t=> 'March',\n\t\t'April'\t\t=> 'April',\n\t\t'May'\t\t=> 'May',\n\t\t'June'\t\t=> 'June',\n\t\t'July'\t\t=> 'July',\n\t\t'August'\t=> 'August',\n\t\t'September' => 'September',\n\t\t'October'\t=> 'October',\n\t\t'November'\t=> 'November',\n\t\t'December'\t=> 'December',\n\n\t\t'Jan'\t\t=> 'Jan',\n\t\t'Feb'\t\t=> 'Feb',\n\t\t'Mar'\t\t=> 'Mar',\n\t\t'Apr'\t\t=> 'Apr',\n\t\t'May_short'\t=> 'May',\t// Short representation of \"May\". May_short used because in English the short and long date are the same for May.\n\t\t'Jun'\t\t=> 'Jun',\n\t\t'Jul'\t\t=> 'Jul',\n\t\t'Aug'\t\t=> 'Aug',\n\t\t'Sep'\t\t=> 'Sep',\n\t\t'Oct'\t\t=> 'Oct',\n\t\t'Nov'\t\t=> 'Nov',\n\t\t'Dec'\t\t=> 'Dec',\n\t),\n\n\t'tz'\t\t\t\t=> array(\n\t\t'-12'\t=> 'UTC - 12 hours',\n\t\t'-11'\t=> 'UTC - 11 hours',\n\t\t'-10'\t=> 'UTC - 10 hours',\n\t\t'-9.5'\t=> 'UTC - 9:30 hours',\n\t\t'-9'\t=> 'UTC - 9 hours',\n\t\t'-8'\t=> 'UTC - 8 hours',\n\t\t'-7'\t=> 'UTC - 7 hours',\n\t\t'-6'\t=> 'UTC - 6 hours',\n\t\t'-5'\t=> 'UTC - 5 hours',\n\t\t'-4.5'\t=> 'UTC - 4:30 hours',\n\t\t'-4'\t=> 'UTC - 4 hours',\n\t\t'-3.5'\t=> 'UTC - 3:30 hours',\n\t\t'-3'\t=> 'UTC - 3 hours',\n\t\t'-2'\t=> 'UTC - 2 hours',\n\t\t'-1'\t=> 'UTC - 1 hour',\n\t\t'0'\t\t=> 'UTC',\n\t\t'1'\t\t=> 'UTC + 1 hour',\n\t\t'2'\t\t=> 'UTC + 2 hours',\n\t\t'3'\t\t=> 'UTC + 3 hours',\n\t\t'3.5'\t=> 'UTC + 3:30 hours',\n\t\t'4'\t\t=> 'UTC + 4 hours',\n\t\t'4.5'\t=> 'UTC + 4:30 hours',\n\t\t'5'\t\t=> 'UTC + 5 hours',\n\t\t'5.5'\t=> 'UTC + 5:30 hours',\n\t\t'5.75'\t=> 'UTC + 5:45 hours',\n\t\t'6'\t\t=> 'UTC + 6 hours',\n\t\t'6.5'\t=> 'UTC + 6:30 hours',\n\t\t'7'\t\t=> 'UTC + 7 hours',\n\t\t'8'\t\t=> 'UTC + 8 hours',\n\t\t'8.75'\t=> 'UTC + 8:45 hours',\n\t\t'9'\t\t=> 'UTC + 9 hours',\n\t\t'9.5'\t=> 'UTC + 9:30 hours',\n\t\t'10'\t=> 'UTC + 10 hours',\n\t\t'10.5'\t=> 'UTC + 10:30 hours',\n\t\t'11'\t=> 'UTC + 11 hours',\n\t\t'11.5'\t=> 'UTC + 11:30 hours',\n\t\t'12'\t=> 'UTC + 12 hours',\n\t\t'12.75'\t=> 'UTC + 12:45 hours',\n\t\t'13'\t=> 'UTC + 13 hours',\n\t\t'14'\t=> 'UTC + 14 hours',\n\t\t'dst'\t=> '[ <abbr title=\"Daylight Saving Time\">DST</abbr> ]',\n\t),\n\n\t'tz_zones'\t=> array(\n\n\n\t\t'-19'\t=> '[UTC - 199] Spambot Time',\n\t\t'-12'\t=> '[UTC - 12] Baker Island Time',\n\t\t'-11'\t=> '[UTC - 11] Niue Time, Samoa Standard Time',\n\t\t'-10'\t=> '[UTC - 10] Hawaii-Aleutian Standard Time, Cook Island Time',\n\t\t'-9.5'\t=> '[UTC - 9:30] Marquesas Islands Time',\n\t\t'-9'\t=> '[UTC - 9] Alaska Standard Time, Gambier Island Time',\n\t\t'-8'\t=> '[UTC - 8] Pacific Standard Time',\n\t\t'-7'\t=> '[UTC - 7] Mountain Standard Time',\n\t\t'-6'\t=> '[UTC - 6] Central Standard Time',\n\t\t'-5'\t=> '[UTC - 5] Eastern Standard Time',\n\t\t'-4.5'\t=> '[UTC - 4:30] Venezuelan Standard Time',\n\t\t'-4'\t=> '[UTC - 4] Atlantic Standard Time',\n\t\t'-3.5'\t=> '[UTC - 3:30] Newfoundland Standard Time',\n\t\t'-3'\t=> '[UTC - 3] Amazon Standard Time, Central Greenland Time',\n\t\t'-2'\t=> '[UTC - 2] Fernando de Noronha Time, South Georgia &amp; the South Sandwich Islands Time',\n\t\t'-1'\t=> '[UTC - 1] Azores Standard Time, Cape Verde Time, Eastern Greenland Time',\n\t\t'0'\t\t=> '[UTC] Western European Time, Greenwich Mean Time',\n\t\t'1'\t\t=> '[UTC + 1] Central European Time, West African Time',\n\t\t'2'\t\t=> '[UTC + 2] Eastern European Time, Central African Time',\n\t\t'3'\t\t=> '[UTC + 3] Moscow Standard Time, Eastern African Time',\n\t\t'3.5'\t=> '[UTC + 3:30] Iran Standard Time',\n\t\t'4'\t\t=> '[UTC + 4] Gulf Standard Time, Samara Standard Time',\n\t\t'4.5'\t=> '[UTC + 4:30] Afghanistan Time',\n\t\t'5'\t\t=> '[UTC + 5] Pakistan Standard Time, Yekaterinburg Standard Time',\n\t\t'5.5'\t=> '[UTC + 5:30] Indian Standard Time, Sri Lanka Time',\n\t\t'5.75'\t=> '[UTC + 5:45] Nepal Time',\n\t\t'6'\t\t=> '[UTC + 6] Bangladesh Time, Bhutan Time, Novosibirsk Standard Time',\n\t\t'6.5'\t=> '[UTC + 6:30] Cocos Islands Time, Myanmar Time',\n\t\t'7'\t\t=> '[UTC + 7] Indochina Time, Krasnoyarsk Standard Time',\n\t\t'8'\t\t=> '[UTC + 8] Chinese Standard Time, Australian Western Standard Time, Irkutsk Standard Time',\n\t\t'8.75'\t=> '[UTC + 8:45] Southeastern Western Australia Standard Time',\n\t\t'9'\t\t=> '[UTC + 9] Japan Standard Time, Korea Standard Time, Chita Standard Time',\n\t\t'9.5'\t=> '[UTC + 9:30] Australian Central Standard Time',\n\t\t'10'\t=> '[UTC + 10] Australian Eastern Standard Time, Vladivostok Standard Time',\n\t\t'10.5"..., 8192) = 8192
22452 14:44:04.656952 read(4, "ndard Time',\n\t\t'11.5'\t=> '[UTC + 11:30] Norfolk Island Time',\n\t\t'12'\t=> '[UTC + 12] New Zealand Time, Fiji Time, Kamchatka Standard Time',\n\t\t'12.75'\t=> '[UTC + 12:45] Chatham Islands Time',\n\t\t'13'\t=> '[UTC + 13] Tonga Time, Phoenix Islands Time',\n\t\t'14'\t=> '[UTC + 14] Line Island Time',\n\t\t'19'\t=> '[UTC + 199] Spambot Time',\n\t),\n\n\t// The value is only an example and will get replaced by the current time on view\n\t'dateformats'\t=> array(\n\t\t'd M Y, H:i'\t\t\t=> '01 Jan 2007, 13:37',\n\t\t'd M Y H:i'\t\t\t\t=> '01 Jan 2007 13:37',\n\t\t'M jS, \\'y, H:i'\t\t=> 'Jan 1st, \\'07, 13:37',\n\t\t'D M d, Y g:i a'\t\t=> 'Mon Jan 01, 2007 1:37 pm',\n\t\t'F jS, Y, g:i a'\t\t=> 'January 1st, 2007, 1:37 pm',\n\t\t'|d M Y|, H:i'\t\t\t=> 'Today, 13:37 / 01 Jan 2007, 13:37',\n\t\t'|F jS, Y|, g:i a'\t\t=> 'Today, 1:37 pm / January 1st, 2007, 1:37 pm'\n\t),\n\n\t// The default dateformat which will be used on new installs in this language\n\t// Translators should change this if a the usual date format is different\n\t'default_dateformat'\t=> 'D M d, Y g:i a', // Mon Jan 01, 2007 1:37 pm\n\n));\n\n\n\n// Advanced Block MOD\n$lang = array_merge($lang, array(\n\t'BLACKLISTED_INFO'\t\t\t\t\t\t=> 'An entry on the blacklist may have several reasons:<br />1. You are a well-known spammer.<br />2. Last time a well-known spammer was using the dynamic IP address which you got from your ISP (Internet Service Provider), your e-mail address or the username you have choosen.<br />3. Your ISP is well-known for a lot of spamming customers and is not fighting against spammers enough.',\n\t'CONTACT_BLACKLISTED'\t\t\t\t\t=> 'If you are not a spammer you can <a href=\"%s\">contact the board administration</a>.',\n\t'DOMAIN_BLACKLISTED'\t\t\t\t\t=> 'The domain %1$s you have posted has been blocked because it is blacklisted. For details please see <a href=\"%2$s\">%2$s</a>.',\n\t'EMAIL_DOMAIN_BLACKLISTED'\t\t\t\t=> 'The e-mail domain %1$s you have used for your e-mail address has been blocked because it is blacklisted. For details please see <a href=\"%2$s\">%2$s</a>.',\n\t'HTTPBL_BLACKLISTED'\t\t\t\t\t=> 'Your IP %1$s or your username %2$s or your e-mail address %3$s has been blocked because it is blacklisted. For details please see <a href=\"%4$s\">%4$s</a>.',\n\t// 'IP_BLACKLISTED' see above - it is phpBB3 core code\n\t'RECHECK_SPAM'\t\t\t\t\t\t\t=> 'Re-Check spam',\n\t'RECHECK_SPAM_BREAK'\t\t\t\t\t=> '<br /><strong>Normally spam check would been stopped here!</strong><br /><br />',\n\t'RECHECK_SPAM_DNSMX'\t\t\t\t\t=> '<strong><em>E-mail domain would been blocked by DNS MX check.</em></strong><br />E-mail domain: <strong>%s</strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_EMAIL'\t\t\t=> '<strong><em>E-mail domain would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_EMAIL_NEXT'\t\t=> '<strong><em>E-mail domain also would been found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_EMAIL_NO'\t\t=> '<strong><em>If blocking would be enabled or the settings for the Domain-RBL DNS Blacklists would been different then it would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_EMAIL_NOT'\t\t=> '<strong><em>E-mail domain would not been blocked but found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_EMAIL_URI'\t\t=> 'E-mail domain: <strong>%1$s</strong> \342\200\242 Domain-RBL: <strong>%2$s</strong> \342\200\242 <a href=\"%3$s\">Lookup</a><br /><br />',\n\t'RECHECK_SPAM_DOMAINRBL_POST'\t\t\t=> '<strong><em>Posted domains would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_POST_NEXT'\t\t=> '<strong><em>Posted domains also would been found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_POST_NO'\t\t=> '<strong><em>If blocking would be enabled or the settings for the Domain-RBL DNS Blacklists would been different then the posted domains would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_POST_NOT'\t\t=> '<strong><em>Posted domains would not been blocked but found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_POST_URI'\t\t=> 'Posted domain: <strong>%1$s</strong> \342\200\242 Domain-RBL: <strong>%2$s</strong> \342\200\242 <a href=\"%3$s\">Lookup</a><br />',\n\t'RECHECK_SPAM_DOMAINRBL_SIGNATURE'\t\t=> '<strong><em>Domains used in signature would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_SIGNATURE_NEXT'\t=> '<strong><em>Domains used in signature also would been found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_SIGNATURE_NO'\t=> '<strong><em>If blocking would be enabled or the settings for the Domain-RBL DNS Blacklists signature would been different then it would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_SIGNATURE_NOT'\t=> '<strong><em>Domains used in signature would not been blocked but found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_SIGNATURE_URI'\t=> 'Signature: <strong>%1$s</strong> \342\200\242 Domain-RBL: <strong>%2$s</strong> \342\200\242 <a href=\"%3$s\">Lookup</a><br />',\n\t'RECHECK_SPAM_DOMAINRBL_WEBSITE'\t\t=> '<strong><em>Domain of website profile field would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_WEBSITE_NEXT'\t=> '<strong><em>Domain of website profile field also would been found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_WEBSITE_NO'\t\t=> '<strong><em>If blocking would be enabled or the settings for the Domain-RBL DNS Blacklists website profile field would been different then it would been blocked by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_WEBSITE_NOT'\t=> '<strong><em>Domain of website profile field would not been blocked but found by following Domain-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_DOMAINRBL_WEBSITE_URI'\t=> 'Domain of website: <strong>%1$s</strong> \342\200\242 Domain-RBL: <strong>%2$s</strong> \342\200\242 <a href=\"%3$s\">Lookup</a><br /><br />',\n\t'RECHECK_SPAM_DOMAINS'\t\t\t\t\t=> 'Posted domains: %s<br />',\n\t'RECHECK_SPAM_EMAILDOMAIN'\t\t\t\t=> 'E-mail domain: %s<br />',\n\t'RECHECK_SPAM_EMAIL'\t\t\t\t\t=> 'E-mail: %s<br />',\n\t'RECHECK_SPAM_FOR'\t\t\t\t\t\t=> 'Re-Check spam for %s',\n\t'RECHECK_SPAM_HTTPBL'\t\t\t\t\t=> '<strong><em>Would been blocked by following HTTP Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_HTTPBL_DATA'\t\t\t\t=> 'HTTP-BL: <strong>%1$s</strong> \342\200\242 found values: <em>%3$s</em> \342\200\242 <a href=\"%2$s\">Lookup</a><br />',\n\t'RECHECK_SPAM_HTTPBL_NEXT'\t\t\t\t=> '<strong><em>Also would been found by following HTTP Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_HTTPBL_NO'\t\t\t\t=> '<strong><em>If blocking would be enabled or the settings for the HTTP Blacklists would been different then it would been blocked by following HTTP Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_HTTPBL_NOT'\t\t\t\t=> '<strong><em>Would not been blocked but found by following HTTP Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_IP'\t\t\t\t\t\t=> 'IP: %s<br />',\n\t'RECHECK_SPAM_IPRBL'\t\t\t\t\t=> '<strong><em>Would been blocked by following IP-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_IPRBL_IP'\t\t\t\t\t=> 'IP-RBL: <strong>%1$s</strong> \342\200\242 <a href=\"%2$s\">Lookup</a><br />',\n\t'RECHECK_SPAM_IPRBL_NEXT'\t\t\t\t=> '<strong><em>Also would been found by following IP-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_IPRBL_NO'\t\t\t\t\t=> '<strong><em>If blocking would be enabled or the settings for the IP-RBL DNS Blacklists would been different then it would been blocked by following IP-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_IPRBL_NOT'\t\t\t\t=> '<strong><em>Would not been blocked but found by following IP-RBL DNS Blacklist(s):</em></strong><br />',\n\t'RECHECK_SPAM_NO'\t\t\t\t\t\t=> 'Not blocked or found by any feature. Seems not to be spam or spammer.',\n\t'RECHECK_SPAM_USERNAME'\t\t\t\t\t=> 'Username: %s<br />',\n\t'REPORT_SPAM_POST'\t\t\t\t\t\t=> 'Report and delete spam post',\n\t'SIGNATURE_BLACKLISTED'\t\t\t\t\t=> 'Th"..., 8192) = 8192
22452 14:44:04.658913 read(4, "ls please see <a href=\"%2$s\">%2$s</a>.',\n\t'WEBSITE_BLACKLISTED'\t\t\t\t\t=> 'The domain %1$s you have used for your website has been blocked because it is blacklisted. For details please see <a href=\"%2$s\">%2$s</a>.',\n\t'WRONG_TIMEZONE'\t\t\t\t\t\t=> 'You entered an incorrect timezone. Please stay on earth!',\n));\n?>\n", 8192) = 306
22452 14:44:04.659108 read(4, "", 4096) = 0
22452 14:44:04.659243 read(4, "", 8192) = 0
22452 14:44:04.659418 close(4)          = 0
22452 14:44:04.659492 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.660676 brk(0x2591000)    = 0x2591000
22452 14:44:04.661446 access("./language/en/viewforum.php", F_OK) = 0
22452 14:44:04.661594 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.661749 time(NULL)        = 1400874244
22452 14:44:04.661854 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.661974 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.662092 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.662214 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.662337 lstat("/home2/fritz218/public_html/forum/language", {st_dev=makedev(8, 33), st_ino=91757031, st_mode=S_IFDIR|0755, st_nlink=4, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-03:40:14, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.662463 lstat("/home2/fritz218/public_html/forum/language/en", {st_dev=makedev(8, 33), st_ino=91762345, st_mode=S_IFDIR|0755, st_nlink=5, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.662587 lstat("/home2/fritz218/public_html/forum/language/en/viewforum.php", {st_dev=makedev(8, 33), st_ino=91763304, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=1885, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.662718 open("/home2/fritz218/public_html/forum/language/en/viewforum.php", O_RDONLY) = 4
22452 14:44:04.662811 fstat(4, {st_dev=makedev(8, 33), st_ino=91763304, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=1885, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.662927 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.663011 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.663090 fstat(4, {st_dev=makedev(8, 33), st_ino=91763304, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=1885, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.663207 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.663288 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.663370 open("/home2/fritz218/public_html/forum/language/en/viewforum.php", O_RDONLY) = 5
22452 14:44:04.663456 fstat(5, {st_dev=makedev(8, 33), st_ino=91763304, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=1885, st_atime=2014/05/23-08:20:10, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.663573 mmap(NULL, 1885, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.663671 munmap(0x7f35927b8000, 1885) = 0
22452 14:44:04.663755 close(5)          = 0
22452 14:44:04.663829 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.663903 read(4, "<?php\n/**\n*\n* viewforum [English]\n*\n* @package language\n* @version $Id: viewforum.php 8479 2008-03-29 00:22:48Z naderman $\n* @copyright (c) 2005 phpBB Group\n* @license http://opensource.org/licenses/gpl-license.php GNU Public License\n*\n*/\n\n/**\n* DO NOT CHANGE\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\nif (empty($lang) || !is_array($lang))\n{\n\t$lang = array();\n}\n\n// DEVELOPERS PLEASE NOTE\n//\n// All language files should use UTF-8 as their encoding and the files must not contain a BOM.\n//\n// Placeholders can now contain order information, e.g. instead of\n// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows\n// translators to re-order the output of data while ensuring it remains correct\n//\n// You do not need this where single placeholders are used, e.g. 'Message %d' is fine\n// equally where a string contains only two placeholders which are used to wrap text\n// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine\n\n$lang = array_merge($lang, array(\n\t'ACTIVE_TOPICS'\t\t\t=> 'Active topics',\n\t'ANNOUNCEMENTS'\t\t\t=> 'Announcements',\n\n\t'FORUM_PERMISSIONS'\t\t=> 'Forum permissions',\n\n\t'ICON_ANNOUNCEMENT'\t\t=> 'Announcement',\n\t'ICON_STICKY'\t\t\t=> 'Sticky',\n\n\t'LOGIN_NOTIFY_FORUM'\t=> 'You have been notified about this forum, please login to view it.',\n\n\t'MARK_TOPICS_READ'\t\t=> 'Mark topics read',\n\n\t'NEW_POSTS_HOT'\t\t\t=> 'New posts [ Popular ]',\n\t'NEW_POSTS_LOCKED'\t\t=> 'New posts [ Locked ]',\n\t'NO_NEW_POSTS_HOT'\t\t=> 'No new posts [ Popular ]',\n\t'NO_NEW_POSTS_LOCKED'\t=> 'No new posts [ Locked ]',\n\t'NO_READ_ACCESS'\t\t=> 'You do not have the required permissions to read topics within this forum.',\n\n\t'POST_FORUM_LOCKED'\t\t=> 'Forum is locked',\n\n\t'TOPICS_MARKED'\t\t\t=> 'The topics for this forum have now been marked read.',\n\n\t'VIEW_FORUM'\t\t\t=> 'View forum',\n\t'VIEW_FORUM_TOPIC'\t\t=> '1 topic',\n\t'VIEW_FORUM_TOPICS'\t\t=> '%d topics',\n));\n\n?>", 4096) = 1885
22452 14:44:04.664294 lseek(4, 1885, SEEK_SET) = 1885
22452 14:44:04.664371 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403df770) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.664462 read(4, "", 4096) = 0
22452 14:44:04.664642 read(4, "", 8192) = 0
22452 14:44:04.664738 close(4)          = 0
22452 14:44:04.664813 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.665667 access("./cache/sql_99818ef548a8e204c1389549b2dd2c1c.php", F_OK) = 0
22452 14:44:04.665775 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.665861 time(NULL)        = 1400874244
22452 14:44:04.665930 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.666047 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.666164 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.666282 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.666401 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.666535 lstat("/home2/fritz218/public_html/forum/cache/sql_99818ef548a8e204c1389549b2dd2c1c.php", {st_dev=makedev(8, 33), st_ino=91750405, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=946, st_atime=2014/05/23-14:22:40, st_mtime=2014/05/23-14:22:38, st_ctime=2014/05/23-14:22:38}) = 0
22452 14:44:04.666671 open("/home2/fritz218/public_html/forum/cache/sql_99818ef548a8e204c1389549b2dd2c1c.php", O_RDONLY) = 4
22452 14:44:04.666764 fstat(4, {st_dev=makedev(8, 33), st_ino=91750405, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=946, st_atime=2014/05/23-14:22:40, st_mtime=2014/05/23-14:22:38, st_ctime=2014/05/23-14:22:38}) = 0
22452 14:44:04.666877 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.666957 read(4, "<?php exit; ?>\n1400876558\nSELECT s.style_id, t.template_storedb, t.template_path, t.template_id, t.bbcode_bitfield, t.template_inherits_id, t.template_inherit_path, c.theme_path, c.theme_name, c.theme_storedb, c.theme_id, i.imageset_path, i.imageset_id, i.imageset_name FROM forum_styles s, forum_styles_template t, forum_styles_theme c, forum_styles_imageset i WHERE s.style_id = 1 AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imageset_id = s.imageset_id\n463\na:1:{i:0;a:14:{s:8:\"style_id\";s:1:\"1\";s:16:\"template_storedb\";s:1:\"0\";s:13:\"template_path\";s:9:\"prosilver\";s:11:\"template_id\";s:1:\"1\";s:15:\"bbcode_bitfield\";s:4:\"lNg=\";s:20:\"template_inherits_id\";s:1:\"0\";s:21:\"template_inherit_path\";s:0:\"\";s:10:\"theme_path\";s:9:\"prosilver\";s:10:\"theme_name\";s:9:\"prosilver\";s:13:\"theme_storedb\";s:1:\"1\";s:8:\"theme_id\";s:1:\"1\";s:13:\"imageset_path\";s:9:\"prosilver\";s:11:\"imageset_id\";s:1:\"1\";s:13:\"imageset_name\";s:9:\"prosilver\";}}", 8192) = 946
22452 14:44:04.667204 time(NULL)        = 1400874244
22452 14:44:04.667295 read(4, "", 8192) = 0
22452 14:44:04.667368 close(4)          = 0
22452 14:44:04.667553 access("./cache/data_cfg_theme_prosilver.php", F_OK) = 0
22452 14:44:04.667650 access("./cache/data_cfg_theme_prosilver.php", F_OK) = 0
22452 14:44:04.667741 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.667947 time(NULL)        = 1400874244
22452 14:44:04.668018 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.668133 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.668245 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.668358 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.668476 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.668591 lstat("/home2/fritz218/public_html/forum/cache/data_cfg_theme_prosilver.php", {st_dev=makedev(8, 33), st_ino=91759011, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=190, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.668746 open("/home2/fritz218/public_html/forum/cache/data_cfg_theme_prosilver.php", O_RDONLY) = 4
22452 14:44:04.668847 fstat(4, {st_dev=makedev(8, 33), st_ino=91759011, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=190, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.668961 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.669044 read(4, "<?php exit; ?>\n1412968942\n160\na:5:{s:4:\"name\";s:12:\"Black Silver\";s:9:\"copyright\";s:19:\"&copy; NBruno, 2009\";s:7:\"version\";s:5:\"1.0.0\";s:14:\"parse_css_file\";b:1;s:8:\"filetime\";i:1381423971;}", 8192) = 190
22452 14:44:04.669166 time(NULL)        = 1400874244
22452 14:44:04.669255 read(4, "", 8192) = 0
22452 14:44:04.669334 close(4)          = 0
22452 14:44:04.669430 access("./styles/prosilver/theme/theme.cfg", F_OK) = 0
22452 14:44:04.669525 stat("./styles/prosilver/theme/theme.cfg", {st_dev=makedev(8, 33), st_ino=91885718, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=978, st_atime=2014/04/29-20:52:46, st_mtime=2013/10/10-11:52:51, st_ctime=2014/04/09-14:47:20}) = 0
22452 14:44:04.669678 access("./cache/data_cfg_template_prosilver.php", F_OK) = 0
22452 14:44:04.669774 access("./cache/data_cfg_template_prosilver.php", F_OK) = 0
22452 14:44:04.669862 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.669947 time(NULL)        = 1400874244
22452 14:44:04.670016 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.670130 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.670248 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.670382 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.670502 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.670619 lstat("/home2/fritz218/public_html/forum/cache/data_cfg_template_prosilver.php", {st_dev=makedev(8, 33), st_ino=91759010, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=200, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.670752 open("/home2/fritz218/public_html/forum/cache/data_cfg_template_prosilver.php", O_RDONLY) = 4
22452 14:44:04.670845 fstat(4, {st_dev=makedev(8, 33), st_ino=91759010, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=200, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.670955 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.671035 read(4, "<?php exit; ?>\n1412968942\n170\na:5:{s:4:\"name\";s:12:\"Black Silver\";s:9:\"copyright\";s:19:\"&copy; NBruno, 2009\";s:7:\"version\";s:5:\"1.0.0\";s:17:\"template_bitfield\";s:4:\"2NB=\";s:8:\"filetime\";i:1381423973;}", 8192) = 200
22452 14:44:04.671164 time(NULL)        = 1400874244
22452 14:44:04.671258 read(4, "", 8192) = 0
22452 14:44:04.671348 close(4)          = 0
22452 14:44:04.671448 access("./styles/prosilver/template/template.cfg", F_OK) = 0
22452 14:44:04.671558 stat("./styles/prosilver/template/template.cfg", {st_dev=makedev(8, 33), st_ino=91883122, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=717, st_atime=2014/04/29-20:52:45, st_mtime=2013/10/10-11:52:53, st_ctime=2014/04/09-14:47:12}) = 0
22452 14:44:04.671705 access("./cache/data_cfg_imageset_prosilver.php", F_OK) = 0
22452 14:44:04.671802 access("./cache/data_cfg_imageset_prosilver.php", F_OK) = 0
22452 14:44:04.671890 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.672064 time(NULL)        = 1400874244
22452 14:44:04.672136 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.672250 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.672367 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.672485 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.672605 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.672753 lstat("/home2/fritz218/public_html/forum/cache/data_cfg_imageset_prosilver.php", {st_dev=makedev(8, 33), st_ino=91759009, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4773, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.672880 open("/home2/fritz218/public_html/forum/cache/data_cfg_imageset_prosilver.php", O_RDONLY) = 4
22452 14:44:04.672972 fstat(4, {st_dev=makedev(8, 33), st_ino=91759009, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4773, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-14:22:22, st_ctime=2014/04/29-21:46:42}) = 0
22452 14:44:04.673082 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.673162 read(4, "<?php exit; ?>\n1412968942\n4742\na:79:{s:4:\"name\";s:9:\"prosilver\";s:9:\"copyright\";s:24:\"&copy; phpBB Group, 2007\";s:7:\"version\";s:5:\"3.0.6\";s:13:\"img_site_logo\";s:20:\"site_logo.gif*52*139\";s:13:\"img_poll_left\";s:0:\"\";s:15:\"img_poll_center\";s:0:\"\";s:14:\"img_poll_right\";s:0:\"\";s:15:\"img_icon_friend\";s:0:\"\";s:12:\"img_icon_foe\";s:0:\"\";s:14:\"img_forum_link\";s:20:\"forum_link.gif*27*27\";s:14:\"img_forum_read\";s:20:\"forum_read.gif*27*27\";s:21:\"img_forum_read_locked\";s:27:\"forum_read_locked.gif*27*27\";s:23:\"img_forum_read_subforum\";s:29:\"forum_read_subforum.gif*27*27\";s:16:\"img_forum_unread\";s:22:\"forum_unread.gif*27*27\";s:23:\"img_forum_unread_locked\";s:29:\"forum_unread_locked.gif*27*27\";s:25:\"img_forum_unread_subforum\";s:31:\"forum_unread_subforum.gif*27*27\";s:15:\"img_topic_moved\";s:21:\"topic_moved.gif*27*27\";s:14:\"img_topic_read\";s:20:\"topic_read.gif*27*27\";s:19:\"img_topic_read_mine\";s:25:\"topic_read_mine.gif*27*27\";s:18:\"img_topic_read_hot\";s:24:\"topic_read_hot.gif*27*27\";s:23:\"img_topic_read_hot_mine\";s:29:\"topic_read_hot_mine.gif*27*27\";s:21:\"img_topic_read_locked\";s:27:\"topic_read_locked.gif*27*27\";s:26:\"img_topic_read_locked_mine\";s:32:\"topic_read_locked_mine.gif*27*27\";s:16:\"img_topic_unread\";s:22:\"topic_unread.gif*27*27\";s:21:\"img_topic_unread_mine\";s:27:\"topic_unread_mine.gif*27*27\";s:20:\"img_topic_unread_hot\";s:26:\"topic_unread_hot.gif*27*27\";s:25:\"img_topic_unread_hot_mine\";s:31:\"topic_unread_hot_mine.gif*27*27\";s:23:\"img_topic_unread_locked\";s:29:\"topic_unread_locked.gif*27*27\";s:28:\"img_topic_unread_locked_mine\";s:34:\"topic_unread_locked_mine.gif*27*27\";s:15:\"img_sticky_read\";s:21:\"sticky_read.gif*27*27\";s:20:\"img_sticky_read_mine\";s:26:\"sticky_read_mine.gif*27*27\";s:22:\"img_sticky_read_locked\";s:28:\"sticky_read_locked.gif*27*27\";s:27:\"img_sticky_read_locked_mine\";s:33:\"sticky_read_locked_mine.gif*27*27\";s:17:\"img_sticky_unread\";s:23:\"sticky_unread.gif*27*27\";s:22:\"img_sticky_unread_mine\";s:28:\"sticky_unread_mine.gif*27*27\";s:24:\"img_sticky_unread_locked\";s:30:\"sticky_unread_locked.gif*27*27\";s:29:\"img_sticky_unread_locked_mine\";s:35:\"sticky_unread_locked_mine.gif*27*27\";s:17:\"img_announce_read\";s:23:\"announce_read.gif*27*27\";s:22:\"img_announce_read_mine\";s:28:\"announce_read_mine.gif*27*27\";s:24:\"img_announce_read_locked\";s:30:\"announce_read_locked.gif*27*27\";s:29:\"img_announce_read_locked_mine\";s:35:\"announce_read_locked_mine.gif*27*27\";s:19:\"img_announce_unread\";s:25:\"announce_unread.gif*27*27\";s:24:\"img_announce_unread_mine\";s:30:\"announce_unread_mine.gif*27*27\";s:26:\"img_announce_unread_locked\";s:32:\"announce_unread_locked.gif*27*27\";s:31:\"img_announce_unread_locked_mine\";s:37:\"announce_unread_locked_mine.gif*27*27\";s:15:\"img_global_read\";s:23:\"announce_read.gif*27*27\";s:20:\"img_global_read_mine\";s:28:\"announce_read_mine.gif*27*27\";s:22:\"img_global_read_locked\";s:30:\"announce_read_locked.gif*27*27\";s:27:\"img_global_read_locked_mine\";s:35:\"announce_read_locked_mine.gif*27*27\";s:17:\"img_global_unread\";s:25:\"announce_unread.gif*27*27\";s:22:\"img_global_unread_mine\";s:30:\"announce_unread_mine.gif*27*27\";s:24:\"img_global_unread_locked\";s:32:\"announce_unread_locked.gif*27*27\";s:29:\"img_global_unread_locked_mine\";s:37:\"announce_unread_locked_mine.gif*27*27\";s:17:\"img_subforum_read\";s:22:\"subforum_read.gif*9*11\";s:19:\"img_subforum_unread\";s:24:\"subforum_unread.gif*9*11\";s:11:\"img_pm_read\";s:20:\"topic_read.gif*27*27\";s:13:\"img_pm_unread\";s:22:\"topic_unread.gif*27*27\";s:17:\"img_icon_back_top\";s:23:\"icon_back_top.gif*11*11\";s:20:\"img_icon_contact_aim\";s:26:\"icon_contact_aim.gif*20*20\";s:22:\"img_icon_contact_email\";s:28:\"icon_contact_email.gif*20*20\";s:20:\"img_icon_contact_icq\";s:26:\"icon_contact_icq.gif*20*20\";s:23:\"img_icon_contact_jabber\";s:29:\"icon_contact_jabber.gif*20*20\";s:21:\"img_icon_contact_msnm\";s:27:\"icon_contact_msnm.gif*20*20\";s:20:\"img_icon_contact_www\";s:26:\"icon_contact_www.gif*20*20\";s:22:\"img_icon_contact_yahoo\";s:28:\"icon_contact_yahoo.gif*20*20\";s:20:\"img_icon_post_delete\";s:26:\"icon_post_delete.gif*20*20\";s:18:\"img_icon_post_info\";s:24:\"icon_post_info.gif*20*20\";s:20:\"img_icon_post_report\";s:26:\"icon_post_report.gif*20*20\";s:25:\"img_icon_post_report_spam\";s:31:\"icon_post_report_spam.gif*16*16\";s:20:\"img_icon_post_target\";s:25:\"icon_post_target.gif*9*11\";s:27:\"img_icon_post_target_unread\";s:32:\"icon_post_target_unread.gif*9*11\";s:21:\"img_icon_topic_attach\";s:26:\"icon_topic_attach.gif*10*7\";s:21:\"img_icon_topic_latest\";s:26:\"icon_topic_latest.gif*9*11\";s:21:\"img_icon_topic_newest\";s:26:\"icon_topic_newest.gif*9*11\";s:23:\"img_icon_topic_reported\";s:29:\"icon_topic_reported.gif*14*16\";s:25:\"img_icon_topic_unapproved\";s:31:\"icon_topic_unapproved.gif*14*16\";s:21:\"img_icon_user_profile\";s:0:\"\";s:18:\"img_icon_user_warn\";s:24:\"icon_user_warn.gif*20*20\";s:8:\"filetime\";i:1381428016;}", 8192) = 4773
22452 14:44:04.674007 time(NULL)        = 1400874244
22452 14:44:04.674098 read(4, "", 8192) = 0
22452 14:44:04.674172 close(4)          = 0
22452 14:44:04.674340 access("./styles/prosilver/imageset/imageset.cfg", F_OK) = 0
22452 14:44:04.674432 stat("./styles/prosilver/imageset/imageset.cfg", {st_dev=makedev(8, 33), st_ino=91882509, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=4389, st_atime=2014/04/29-20:52:45, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:47:11}) = 0
22452 14:44:04.674623 access("./styles/prosilver/template", F_OK) = 0
22452 14:44:04.674740 access("./styles/prosilver/imageset/en", F_OK) = 0
22452 14:44:04.674891 access("./cache/sql_6aec56f0dfa1e29e034e8ab7940b754e.php", F_OK) = 0
22452 14:44:04.674983 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.675066 time(NULL)        = 1400874244
22452 14:44:04.675134 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.675268 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.675380 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.675496 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.675613 lstat("/home2/fritz218/public_html/forum/cache", {st_dev=makedev(8, 33), st_ino=91757020, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/23-14:41:47, st_mtime=2014/05/23-14:42:58, st_ctime=2014/05/23-14:42:58}) = 0
22452 14:44:04.675730 lstat("/home2/fritz218/public_html/forum/cache/sql_6aec56f0dfa1e29e034e8ab7940b754e.php", {st_dev=makedev(8, 33), st_ino=91750407, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=19030, st_atime=2014/05/23-14:22:40, st_mtime=2014/05/23-14:22:38, st_ctime=2014/05/23-14:22:38}) = 0
22452 14:44:04.675858 open("/home2/fritz218/public_html/forum/cache/sql_6aec56f0dfa1e29e034e8ab7940b754e.php", O_RDONLY) = 4
22452 14:44:04.675949 fstat(4, {st_dev=makedev(8, 33), st_ino=91750407, st_mode=S_IFREG|0600, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=40, st_size=19030, st_atime=2014/05/23-14:22:40, st_mtime=2014/05/23-14:22:38, st_ctime=2014/05/23-14:22:38}) = 0
22452 14:44:04.676059 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.676134 read(4, "<?php exit; ?>\n1400876558\nSELECT * FROM forum_styles_imageset_data WHERE imageset_id = 1 AND image_filename <> '' AND image_lang IN ('en', '')\n18881\na:79:{i:0;a:7:{s:8:\"image_id\";s:3:\"721\";s:10:\"image_name\";s:9:\"site_logo\";s:14:\"image_filename\";s:13:\"site_logo.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"52\";s:11:\"image_width\";s:3:\"139\";s:11:\"imageset_id\";s:1:\"1\";}i:1;a:7:{s:8:\"image_id\";s:3:\"722\";s:10:\"image_name\";s:10:\"forum_link\";s:14:\"image_filename\";s:14:\"forum_link.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:2;a:7:{s:8:\"image_id\";s:3:\"723\";s:10:\"image_name\";s:10:\"forum_read\";s:14:\"image_filename\";s:14:\"forum_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:3;a:7:{s:8:\"image_id\";s:3:\"724\";s:10:\"image_name\";s:17:\"forum_read_locked\";s:14:\"image_filename\";s:21:\"forum_read_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:4;a:7:{s:8:\"image_id\";s:3:\"725\";s:10:\"image_name\";s:19:\"forum_read_subforum\";s:14:\"image_filename\";s:23:\"forum_read_subforum.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:5;a:7:{s:8:\"image_id\";s:3:\"726\";s:10:\"image_name\";s:12:\"forum_unread\";s:14:\"image_filename\";s:16:\"forum_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:6;a:7:{s:8:\"image_id\";s:3:\"727\";s:10:\"image_name\";s:19:\"forum_unread_locked\";s:14:\"image_filename\";s:23:\"forum_unread_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:7;a:7:{s:8:\"image_id\";s:3:\"728\";s:10:\"image_name\";s:21:\"forum_unread_subforum\";s:14:\"image_filename\";s:25:\"forum_unread_subforum.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:8;a:7:{s:8:\"image_id\";s:3:\"729\";s:10:\"image_name\";s:11:\"topic_moved\";s:14:\"image_filename\";s:15:\"topic_moved.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:9;a:7:{s:8:\"image_id\";s:3:\"730\";s:10:\"image_name\";s:10:\"topic_read\";s:14:\"image_filename\";s:14:\"topic_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:10;a:7:{s:8:\"image_id\";s:3:\"731\";s:10:\"image_name\";s:15:\"topic_read_mine\";s:14:\"image_filename\";s:19:\"topic_read_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:11;a:7:{s:8:\"image_id\";s:3:\"732\";s:10:\"image_name\";s:14:\"topic_read_hot\";s:14:\"image_filename\";s:18:\"topic_read_hot.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:12;a:7:{s:8:\"image_id\";s:3:\"733\";s:10:\"image_name\";s:19:\"topic_read_hot_mine\";s:14:\"image_filename\";s:23:\"topic_read_hot_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:13;a:7:{s:8:\"image_id\";s:3:\"734\";s:10:\"image_name\";s:17:\"topic_read_locked\";s:14:\"image_filename\";s:21:\"topic_read_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:14;a:7:{s:8:\"image_id\";s:3:\"735\";s:10:\"image_name\";s:22:\"topic_read_locked_mine\";s:14:\"image_filename\";s:26:\"topic_read_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:15;a:7:{s:8:\"image_id\";s:3:\"736\";s:10:\"image_name\";s:12:\"topic_unread\";s:14:\"image_filename\";s:16:\"topic_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:16;a:7:{s:8:\"image_id\";s:3:\"737\";s:10:\"image_name\";s:17:\"topic_unread_mine\";s:14:\"image_filename\";s:21:\"topic_unread_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:17;a:7:{s:8:\"image_id\";s:3:\"738\";s:10:\"image_name\";s:16:\"topic_unread_hot\";s:14:\"image_filename\";s:20:\"topic_unread_hot.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:18;a:7:{s:8:\"image_id\";s:3:\"739\";s:10:\"image_name\";s:21:\"topic_unread_hot_mine\";s:14:\"image_filename\";s:25:\"topic_unread_hot_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:19;a:7:{s:8:\"image_id\";s:3:\"740\";s:10:\"image_name\";s:19:\"topic_unread_locked\";s:14:\"image_filename\";s:23:\"topic_unread_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:20;a:7:{s:8:\"image_id\";s:3:\"741\";s:10:\"image_name\";s:24:\"topic_unread_locked_mine\";s:14:\"image_filename\";s:28:\"topic_unread_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:21;a:7:{s:8:\"image_id\";s:3:\"742\";s:10:\"image_name\";s:11:\"sticky_read\";s:14:\"image_filename\";s:15:\"sticky_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:22;a:7:{s:8:\"image_id\";s:3:\"743\";s:10:\"image_name\";s:16:\"sticky_read_mine\";s:14:\"image_filename\";s:20:\"sticky_read_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:23;a:7:{s:8:\"image_id\";s:3:\"744\";s:10:\"image_name\";s:18:\"sticky_read_locked\";s:14:\"image_filename\";s:22:\"sticky_read_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:24;a:7:{s:8:\"image_id\";s:3:\"745\";s:10:\"image_name\";s:23:\"sticky_read_locked_mine\";s:14:\"image_filename\";s:27:\"sticky_read_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:25;a:7:{s:8:\"image_id\";s:3:\"746\";s:10:\"image_name\";s:13:\"sticky_unread\";s:14:\"image_filename\";s:17:\"sticky_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:26;a:7:{s:8:\"image_id\";s:3:\"747\";s:10:\"image_name\";s:18:\"sticky_unread_mine\";s:14:\"image_filename\";s:22:\"sticky_unread_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:27;a:7:{s:8:\"image_id\";s:3:\"748\";s:10:\"image_name\";s:20:\"sticky_unread_locked\";s:14:\"image_filename\";s:24:\"sticky_unread_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:28;a:7:{s:8:\"image_id\";s:3:\"749\";s:10:\"image_name\";s:25:\"sticky_unread_locked_mine\";s:14:\"image_filename\";s:29:\"sticky_unread_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:29;a:7:{s:8:\"image_id\";s:3:\"750\";s:10:\"image_name\";s:13:\"announce_read\";s:14:\"image_filename\";s:17:\"announce_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:30;a:7:{s:8:\"image_id\";s:3:\"751\";s:10:\"image_name\";s:18:\"announce_read_mine\";s:14:\"image_filename\";s:22:\"announce_read_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:31;a:7:{s:8:\"image_id\";s:3:\"752\";s:10:\"image_name\";s:20:\"announce_read_locked\";s:14:\"image_filename\";s:24:\"announce_read_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:32;a:7:{s:8:\"image_id\";s:3:\"753\";s:10:\"image_name\";s:25:\"announce_read_locked_mine\";s:14:\"image_filename\";s:29:\"announce_read_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:33;a:7:{s:8:\"image_id\";s:3:\"754\";s:10:\"image_name\";s:15:\"announce_unread"..., 8192) = 8192
22452 14:44:04.677543 time(NULL)        = 1400874244
22452 14:44:04.677681 read(4, "\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:34;a:7:{s:8:\"image_id\";s:3:\"755\";s:10:\"image_name\";s:20:\"announce_unread_mine\";s:14:\"image_filename\";s:24:\"announce_unread_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:35;a:7:{s:8:\"image_id\";s:3:\"756\";s:10:\"image_name\";s:22:\"announce_unread_locked\";s:14:\"image_filename\";s:26:\"announce_unread_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:36;a:7:{s:8:\"image_id\";s:3:\"757\";s:10:\"image_name\";s:27:\"announce_unread_locked_mine\";s:14:\"image_filename\";s:31:\"announce_unread_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:37;a:7:{s:8:\"image_id\";s:3:\"758\";s:10:\"image_name\";s:11:\"global_read\";s:14:\"image_filename\";s:17:\"announce_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:38;a:7:{s:8:\"image_id\";s:3:\"759\";s:10:\"image_name\";s:16:\"global_read_mine\";s:14:\"image_filename\";s:22:\"announce_read_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:39;a:7:{s:8:\"image_id\";s:3:\"760\";s:10:\"image_name\";s:18:\"global_read_locked\";s:14:\"image_filename\";s:24:\"announce_read_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:40;a:7:{s:8:\"image_id\";s:3:\"761\";s:10:\"image_name\";s:23:\"global_read_locked_mine\";s:14:\"image_filename\";s:29:\"announce_read_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:41;a:7:{s:8:\"image_id\";s:3:\"762\";s:10:\"image_name\";s:13:\"global_unread\";s:14:\"image_filename\";s:19:\"announce_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:42;a:7:{s:8:\"image_id\";s:3:\"763\";s:10:\"image_name\";s:18:\"global_unread_mine\";s:14:\"image_filename\";s:24:\"announce_unread_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:43;a:7:{s:8:\"image_id\";s:3:\"764\";s:10:\"image_name\";s:20:\"global_unread_locked\";s:14:\"image_filename\";s:26:\"announce_unread_locked.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:44;a:7:{s:8:\"image_id\";s:3:\"765\";s:10:\"image_name\";s:25:\"global_unread_locked_mine\";s:14:\"image_filename\";s:31:\"announce_unread_locked_mine.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:45;a:7:{s:8:\"image_id\";s:3:\"766\";s:10:\"image_name\";s:13:\"subforum_read\";s:14:\"image_filename\";s:17:\"subforum_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:46;a:7:{s:8:\"image_id\";s:3:\"767\";s:10:\"image_name\";s:15:\"subforum_unread\";s:14:\"image_filename\";s:19:\"subforum_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:47;a:7:{s:8:\"image_id\";s:3:\"768\";s:10:\"image_name\";s:7:\"pm_read\";s:14:\"image_filename\";s:14:\"topic_read.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:48;a:7:{s:8:\"image_id\";s:3:\"769\";s:10:\"image_name\";s:9:\"pm_unread\";s:14:\"image_filename\";s:16:\"topic_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"27\";s:11:\"image_width\";s:2:\"27\";s:11:\"imageset_id\";s:1:\"1\";}i:49;a:7:{s:8:\"image_id\";s:3:\"770\";s:10:\"image_name\";s:13:\"icon_back_top\";s:14:\"image_filename\";s:17:\"icon_back_top.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"11\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:50;a:7:{s:8:\"image_id\";s:3:\"771\";s:10:\"image_name\";s:16:\"icon_contact_aim\";s:14:\"image_filename\";s:20:\"icon_contact_aim.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:51;a:7:{s:8:\"image_id\";s:3:\"772\";s:10:\"image_name\";s:18:\"icon_contact_email\";s:14:\"image_filename\";s:22:\"icon_contact_email.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:52;a:7:{s:8:\"image_id\";s:3:\"773\";s:10:\"image_name\";s:16:\"icon_contact_icq\";s:14:\"image_filename\";s:20:\"icon_contact_icq.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:53;a:7:{s:8:\"image_id\";s:3:\"774\";s:10:\"image_name\";s:19:\"icon_contact_jabber\";s:14:\"image_filename\";s:23:\"icon_contact_jabber.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:54;a:7:{s:8:\"image_id\";s:3:\"775\";s:10:\"image_name\";s:17:\"icon_contact_msnm\";s:14:\"image_filename\";s:21:\"icon_contact_msnm.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:55;a:7:{s:8:\"image_id\";s:3:\"776\";s:10:\"image_name\";s:16:\"icon_contact_www\";s:14:\"image_filename\";s:20:\"icon_contact_www.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:56;a:7:{s:8:\"image_id\";s:3:\"777\";s:10:\"image_name\";s:18:\"icon_contact_yahoo\";s:14:\"image_filename\";s:22:\"icon_contact_yahoo.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:57;a:7:{s:8:\"image_id\";s:3:\"778\";s:10:\"image_name\";s:16:\"icon_post_delete\";s:14:\"image_filename\";s:20:\"icon_post_delete.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:58;a:7:{s:8:\"image_id\";s:3:\"779\";s:10:\"image_name\";s:14:\"icon_post_info\";s:14:\"image_filename\";s:18:\"icon_post_info.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:59;a:7:{s:8:\"image_id\";s:3:\"780\";s:10:\"image_name\";s:16:\"icon_post_report\";s:14:\"image_filename\";s:20:\"icon_post_report.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:60;a:7:{s:8:\"image_id\";s:3:\"781\";s:10:\"image_name\";s:21:\"icon_post_report_spam\";s:14:\"image_filename\";s:25:\"icon_post_report_spam.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"16\";s:11:\"image_width\";s:2:\"16\";s:11:\"imageset_id\";s:1:\"1\";}i:61;a:7:{s:8:\"image_id\";s:3:\"782\";s:10:\"image_name\";s:16:\"icon_post_target\";s:14:\"image_filename\";s:20:\"icon_post_target.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:62;a:7:{s:8:\"image_id\";s:3:\"783\";s:10:\"image_name\";s:23:\"icon_post_target_unread\";s:14:\"image_filename\";s:27:\"icon_post_target_unread.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:63;a:7:{s:8:\"image_id\";s:3:\"784\";s:10:\"image_name\";s:17:\"icon_topic_attach\";s:14:\"image_filename\";s:21:\"icon_topic_attach.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"10\";s:11:\"image_width\";s:1:\"7\";s:11:\"imageset_id\";s:1:\"1\";}i:64;a:7:{s:8:\"image_id\";s:3:\"785\";s:10:\"image_name\";s:17:\"icon_topic_latest\";s:14:\"image_filename\";s:21:\"icon_topic_latest.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:65;a:7:{s:8:\"image_id\";s:3:\"786\";s:10:\"image_name\";s:17:\"icon_topic_newest\";s:14:\"image_filename\";s:21:\"icon_topic_newest.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:1:\"9\";s:11:\"image_width\";s:2:\"11\";s:11:\"imageset_id\";s:1:\"1\";}i:66;a:7:{s:8:\"image_id\";s:3:\"787\";s:10:\"image_name\";s:19:\"icon_topic_reported\";s:14:\"image_filename\";s:23:\"icon_topic_reported.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"14\";s:11:\"image_width\";s:2:\"16\";s:11:\"imageset_id\";s:1:\"1\";}i:67;a:7:{s:8:\"image_id\";s:3:\"788\";s:10:\"image_name\";s:21:\"icon_topic_unapproved\";s:14:\"image_filename\";s:25:\"icon_topic_"..., 8192) = 8192
22452 14:44:04.679124 read(4, "11:\"imageset_id\";s:1:\"1\";}i:68;a:7:{s:8:\"image_id\";s:3:\"789\";s:10:\"image_name\";s:14:\"icon_user_warn\";s:14:\"image_filename\";s:18:\"icon_user_warn.gif\";s:10:\"image_lang\";s:0:\"\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"20\";s:11:\"imageset_id\";s:1:\"1\";}i:69;a:7:{s:8:\"image_id\";s:3:\"790\";s:10:\"image_name\";s:15:\"icon_contact_pm\";s:14:\"image_filename\";s:19:\"icon_contact_pm.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"28\";s:11:\"imageset_id\";s:1:\"1\";}i:70;a:7:{s:8:\"image_id\";s:3:\"791\";s:10:\"image_name\";s:14:\"icon_post_edit\";s:14:\"image_filename\";s:18:\"icon_post_edit.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"42\";s:11:\"imageset_id\";s:1:\"1\";}i:71;a:7:{s:8:\"image_id\";s:3:\"792\";s:10:\"image_name\";s:15:\"icon_post_quote\";s:14:\"image_filename\";s:19:\"icon_post_quote.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"20\";s:11:\"image_width\";s:2:\"54\";s:11:\"imageset_id\";s:1:\"1\";}i:72;a:7:{s:8:\"image_id\";s:3:\"793\";s:10:\"image_name\";s:16:\"icon_user_online\";s:14:\"image_filename\";s:20:\"icon_user_online.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"58\";s:11:\"image_width\";s:2:\"58\";s:11:\"imageset_id\";s:1:\"1\";}i:73;a:7:{s:8:\"image_id\";s:3:\"794\";s:10:\"image_name\";s:17:\"button_pm_forward\";s:14:\"image_filename\";s:21:\"button_pm_forward.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"96\";s:11:\"imageset_id\";s:1:\"1\";}i:74;a:7:{s:8:\"image_id\";s:3:\"795\";s:10:\"image_name\";s:13:\"button_pm_new\";s:14:\"image_filename\";s:17:\"button_pm_new.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"84\";s:11:\"imageset_id\";s:1:\"1\";}i:75;a:7:{s:8:\"image_id\";s:3:\"796\";s:10:\"image_name\";s:15:\"button_pm_reply\";s:14:\"image_filename\";s:19:\"button_pm_reply.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"96\";s:11:\"imageset_id\";s:1:\"1\";}i:76;a:7:{s:8:\"image_id\";s:3:\"797\";s:10:\"image_name\";s:19:\"button_topic_locked\";s:14:\"image_filename\";s:23:\"button_topic_locked.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"88\";s:11:\"imageset_id\";s:1:\"1\";}i:77;a:7:{s:8:\"image_id\";s:3:\"798\";s:10:\"image_name\";s:16:\"button_topic_new\";s:14:\"image_filename\";s:20:\"button_topic_new.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"96\";s:11:\"imageset_id\";s:1:\"1\";}i:78;a:7:{s:8:\"image_id\";s:3:\"799\";s:10:\"image_name\";s:18:\"button_topic_reply\";s:14:\"image_filename\";s:22:\"button_topic_reply.gif\";s:10:\"image_lang\";s:2:\"en\";s:12:\"image_height\";s:2:\"25\";s:11:\"image_width\";s:2:\"96\";s:11:\"imageset_id\";s:1:\"1\";}}", 8192) = 2646
22452 14:44:04.679678 read(4, "", 8192) = 0
22452 14:44:04.679796 close(4)          = 0
22452 14:44:04.681554 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.681695 time(NULL)        = 1400874244
22452 14:44:04.681823 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.681964 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.682081 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.682197 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.682319 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.682437 lstat("/home2/fritz218/public_html/forum/includes/functions_alternatelogin.php", {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.682591 open("/home2/fritz218/public_html/forum/includes/functions_alternatelogin.php", O_RDONLY) = 4
22452 14:44:04.682683 fstat(4, {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.682798 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.682868 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.682944 fstat(4, {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.683056 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.683138 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.683218 open("/home2/fritz218/public_html/forum/includes/functions_alternatelogin.php", O_RDONLY) = 5
22452 14:44:04.683308 fstat(5, {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.683421 mmap(NULL, 10037, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.683506 munmap(0x7f35927b8000, 10037) = 0
22452 14:44:04.683586 close(5)          = 0
22452 14:44:04.683660 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.683750 read(4, "<?php\n/*\n   COPYRIGHT 2009 Michael J Goonawardena\n\n   This file is part of ConSof Alternate Login.\n\n    ConSof Alternate Login is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    ConSof Alternate Login is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with ConSof Alternate Login.  If not, see <http://www.gnu.org/licenses/>.*/\nif (!defined('IN_PHPBB'))\n{\n   exit;\n}\n\nif(!defined('AL_FACEBOOK_LOGIN'))\n{\n\tdefine('AL_FACEBOOK_LOGIN', 0);\n}\nif(!defined('AL_OPENID_LOGIN'))\n{\n\tdefine('AL_OPENID_LOGIN', 2);\n}\nif(!defined('AL_OPENID_PROFILE'))\n{\n\tdefine('AL_OPENID_PROFILE', 3);\n}\nif(!defined('AL_GOOGLE_LOGIN'))\n{\n\tdefine('AL_GOOGLE_LOGIN', 4);\n}\nif(!defined('AL_GOOGLE_PROFILE'))\n{\n\tdefine('AL_GOOGLE_PROFILE', 5);\n}\nif(!defined('AL_WINDOWSLIVE_LOGIN'))\n{\n\tdefine('AL_WINDOWSLIVE_LOGIN', 8);\n}\nif(!defined('AL_WINDOWSLIVE_PROFILE'))\n{\n\tdefine('AL_WINDOWSLIVE_PROFILE', 9);\n}\n\nif(!defined('AL_FB_SYNC_PROFILE'))\n{\n\tdefine('AL_FB_SYNC_PROFILE', 1);\n}\nif(!defined('AL_FB_SYNC_AVATAR'))\n{\n\tdefine('AL_FB_SYNC_AVATAR', 11);\n}\nif(!defined('AL_FB_SYNC_STATUS'))\n{\n\tdefine('AL_FB_SYNC_STATUS', 12);\n}\n\nif(!defined('AL_HIDE_POST_LOGON'))\n{\n\tdefine('AL_HIDE_POST_LOGON', 10);\t// Does the user want to be asked if they want to see the 'hide online' and autologin screen after verification?\n}\n\nif(!defined('AL_USER_OPTION_COUNT'))\n{\n\tdefine('AL_USER_OPTION_COUNT', 13);\n}\n\nif(!defined('WL_COOKIE'))\n{\n\tdefine('WL_COOKIE', 'webauthtoken');\n}\nif(!defined('PCOOKIE'))\n{\n\tdefine('PCOOKIE', time() + (10 * 365 * 24 * 60 * 60));\n}\n\nif(!defined('HTTP_GET'))\n{\n\tdefine('HTTP_GET', 0);\n}\n\nif(!defined('HTTP_POST'))\n{\n\tdefine('HTTP_POST', 1);\n}\n\nif(!function_exists('get_wl_tokens'))\n{\n   function get_wl_tokens($cid, $authorization_code, $refresh_token)\n   {\n      global $config, $user;\n      \n      $url = \"https://oauth.live.com/token?\";\n      $url .= \"client_id={$config['al_wl_client_id']}\";\n      $url .= \"&redirect_uri=\" . urlencode($config['al_wl_callback']);\n      $url .= \"&client_secret={$config['al_wl_secret']}\";\n      if($authorization_code)\n      {\n         $url .= \"&code={$authorization_code}\";\n         $url .= \"&grant_type=authorization_code\";\n      }\n      elseif($refresh_token)\n      {\n         $url .= \"&refresh_token={$refresh_token}\";\n         $url .= \"&grant_type=refresh_token\";\n      }\n      else\n      {\n         trigger_error($user->lang['MISSING_AUTH_OR_REFRESH']);\n      }\n      \n      $ch = curl_init();\n      \n      \n      curl_setopt($ch, CURLOPT_URL, $url);\n      \n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n    \n      \n      $data = curl_exec($ch);\n      \n      if(curl_errno($ch))\n      {\n         add_log('critical', 'WL_GET_ACCESS_TOKEN_ERROR', $user->data['user_id'], 'WL_GET_ACCESS_TOKEN_ERROR', curl_error($ch));\n         trigger_error($user->lang['ERROR_RETRIEVING_TOKENS']);\n      }\n   \n      curl_close($ch);\n      \n      $data_decoded = json_decode($data);\n      \n      \n      if(isset($data_decoded->error))\n      {\n         trigger_error($data_decoded->error);\n      }\n      \n      return $data_decoded;\n   }\n}\n\nif(!function_exists('get_wl_rest_request'))\n{\n   function get_wl_rest_request($access_token, $path, $method = HTTP_GET, $headers = NULL, $method_data = NULL)\n   {\n      $url = \"https://apis.live.net/v5.0/{$path}/?access_token={$access_token}\";\n      \n      $ch = curl_init();\n      \n      curl_setopt($ch, CURLOPT_URL, $url);\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n      \n      if($method == HTTP_GET)\n      {\n         curl_setopt($ch, CURLOPT_HTTPGET, true);\n      }\n      elseif($method == HTTP_POST)\n      {\n         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\n         curl_", 4096) = 4096
22452 14:44:04.684489 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.684562 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403de680) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.684652 read(4, "setopt($ch, CURLOPT_POST, true);\n         curl_setopt($ch, CURLOPT_POSTFIELDS, $method_data);\n      }\n      else\n      {\n         trigger_error($user->lang['ERROR_UNDETERMINED_HTTP_METHOD']);\n      }\n      \n      $data = curl_exec($ch);\n      \n      if(curl_errno($ch))\n      {\n         add_log('critical', 'WL_CURL_REQUEST_ERROR', $user->data['user_id'], 'WL_CURL_REQUEST_ERROR', curl_error($ch));\n         return false;\n      }\n   \n      curl_close($ch);\n      \n      return json_decode($data);\n   }\n}\n\nif(!function_exists('get_fb_access_token'))\n{\n   function get_fb_access_token($return_to_page)\n   {\n      global $config, $db, $user, $template;\n      $my_url = generate_board_url() . \"/alternatelogin/al_fb_connect.php\";\n      if($return_to_page != null && $return_to_page != '')\n      {\n         //$return_to_page = urlencode($return_to_page);\n         $my_url .= \"?return_to_page=\" . urlencode($return_to_page);\n      }\n      $code = request_var('code', '');\n   \n      if(empty($code)) {\n         $dialog_url = \"http://www.facebook.com/dialog/oauth?client_id=\"\n            . $config['al_fb_id'] . \"&redirect_uri=\" . urlencode($my_url) . \"&scope=user_location,user_activities,user_birthday,user_interests,user_status,user_website,user_work_history,email\";\n   \n         \n         page_header($user->lang['FB_REDIRECT']);\n         \n         $template->set_filenames(array(\n            'body'      => 'al_redirect.html',\n         ));\n         \n         $template->assign_vars(array(\n            'S_DIALOG_URL'  => $dialog_url,\n         ));\n         \n         page_footer();\n          \n      }\n      \n      $token_url = \"https://graph.facebook.com/oauth/access_token?client_id=\"\n         . $config['al_fb_id'] . \"&redirect_uri=\" . urlencode($my_url) . \"&client_secret=\"\n         . $config['al_fb_secret'] . \"&code=\" . $code;\n   \n      $ch = curl_init();\n      \n      curl_setopt($ch, CURLOPT_URL, $token_url);\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n      \n      curl_setopt($ch, CURLOPT_HTTPGET, true);\n      \n      \n      $access_token = curl_exec($ch);\n      \n      if(curl_errno($ch))\n      {\n         add_log('critical', 'FB_GET_ACCESS_TOKEN_ERROR', $user->data['user_id'], 'FB_GET_ACCESS_TOKEN_ERROR', curl_error($ch));\n         return false;\n      }\n   \n      curl_close($ch);\n      \n      //$access_token = file_get_contents($token_url);\n   \n      return $access_token;\n   }\n}\n\nif(!function_exists('refresh_fb_access_token'))\n{\n   function refresh_fb_access_token($return_to_page)\n   {\n      global $config, $db, $user, $template;\n      \n      $my_url = $return_to_page;\n      \n      $code = request_var('code', '');\n   \n      if(empty($code)) {\n         $dialog_url = \"http://www.facebook.com/dialog/oauth?client_id=\"\n            . $config['al_fb_id'] . \"&redirect_uri=\" . urlencode($my_url) . \"&scope=user_location,user_activities,user_birthday,user_interests,user_status,user_website,user_work_history,email\";\n   \n         \n         page_header($user->lang['FB_REDIRECT']);\n         \n         $template->set_filenames(array(\n            'body'      => 'al_redirect.html',\n         ));\n         \n         $template->assign_vars(array(\n            'S_DIALOG_URL'  => $dialog_url,\n         ));\n         \n         page_footer();\n          \n      }\n      \n      $token_url = \"https://graph.facebook.com/oauth/access_token?client_id=\"\n         . $config['al_fb_id'] . \"&redirect_uri=\" . urlencode($my_url) . \"&client_secret=\"\n         . $config['al_fb_secret'] . \"&code=\" . $code;\n   \n      $ch = curl_init();\n      \n      curl_setopt($ch, CURLOPT_URL, $token_url);\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n      \n      curl_setopt($ch, CURLOPT_HTTPGET, true);\n      \n      \n      $access_token = curl_exec($ch);\n      \n      if(curl_errno($ch))\n      {\n         add_log('critical', 'FB_GET_ACCESS_TOKEN_ERROR', $user->data['user_id'], 'FB_GET_ACCESS_TOKEN_ERROR', curl_error($ch));\n         return false;\n      }\n   \n      curl_close($ch);\n      \n      $sql_array = array(\n         'session_fb_access_token'   => $access_token,\n      );\n   \n      $sql = \"UPDATE \" . S", 4096) = 4096
22452 14:44:04.686438 read(4, "ESSIONS_TABLE . \" SET \" . $db->sql_build_array('UPDATE', $sql_array) . \" WHERE session_id='\" . $user->data['session_id'] . \"'\";\n      \n      $db->sql_query($sql);\n   \n      redirect($my_url);\n   }\n}\n\nif(!function_exists('get_fb_data'))\n{\n   function get_fb_data($url)\n   { \n      $ch = curl_init();\n      \n      curl_setopt($ch, CURLOPT_URL, $url);\n      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n      \n      curl_setopt($ch, CURLOPT_HTTPGET, true);\n      \n      \n      $data = curl_exec($ch);\n      \n      if(curl_errno($ch))\n      {\n         add_log('critical', 'FB_GET_USER_ERROR', $user->data['user_id'], 'FB_GET_USER_ERROR', curl_error($ch));\n         return false;\n      }\n      \n      $error_check = json_decode($data);\n      \n      if(isset($error_check->error))\n      {\n         if(($error_check->error->code == 2500) || ($error_check->error->error_subcode == 463))\n         {\n            \n            refresh_fb_access_token(generate_board_url() . '/' . $user->data['session_page']);\n         }\n      }\n      \n      curl_close($ch);\n      \n      return $data;\n   }\n}\n\n\nif(!function_exists('php_self'))\n{\n   function php_self($dropqs=true) {\n   $url = sprintf('%s://%s%s',\n     empty($_SERVER['HTTPS']) ? (@$_SERVER['SERVER_PORT'] == '443' ? 'https' : 'http') : 'http',\n     $_SERVER['SERVER_NAME'],\n     $_SERVER['REQUEST_URI']\n   );\n   \n   $parts = parse_url($url);\n   \n   $port = $_SERVER['SERVER_PORT'];\n   $scheme = $parts['scheme'];\n   $host = $parts['host'];\n   $path = @$parts['path'];\n   $qs   = @$parts['query'];\n   \n   $port or $port = ($scheme == 'https') ? '443' : '80';\n   \n   if (($scheme == 'https' && $port != '443')\n      || ($scheme == 'http' && $port != '80')) {\n     $host = \"$host:$port\";\n   }\n   $url = \"$scheme://$host$path\";\n   if ( ! $dropqs)\n     return \"{$url}?{$qs}\";\n   else\n     return $url;\n   }\n}\n?>", 8192) = 1845
22452 14:44:04.686860 read(4, "", 4096) = 0
22452 14:44:04.687332 read(4, "", 8192) = 0
22452 14:44:04.687479 close(4)          = 0
22452 14:44:04.687572 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.687702 time(NULL)        = 1400874244
22452 14:44:04.687856 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.687940 time(NULL)        = 1400874244
22452 14:44:04.688009 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.688121 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.688232 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.688344 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.688459 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.688578 lstat("/home2/fritz218/public_html/forum/includes/functions_alternatelogin.php", {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.688731 open("/home2/fritz218/public_html/forum/includes/functions_alternatelogin.php", O_RDONLY) = 4
22452 14:44:04.688851 fstat(4, {st_dev=makedev(8, 33), st_ino=91757821, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=24, st_size=10037, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.688969 close(4)          = 0
22452 14:44:04.689072 access("./language/en/mods/info_ucp_alternatelogin.php", F_OK) = 0
22452 14:44:04.689167 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.689260 time(NULL)        = 1400874244
22452 14:44:04.689331 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.689447 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.689564 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.689679 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.689800 lstat("/home2/fritz218/public_html/forum/language", {st_dev=makedev(8, 33), st_ino=91757031, st_mode=S_IFDIR|0755, st_nlink=4, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-03:40:14, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:51}) = 0
22452 14:44:04.689929 lstat("/home2/fritz218/public_html/forum/language/en", {st_dev=makedev(8, 33), st_ino=91762345, st_mode=S_IFDIR|0755, st_nlink=5, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:52}) = 0
22452 14:44:04.690052 lstat("/home2/fritz218/public_html/forum/language/en/mods", {st_dev=makedev(8, 33), st_ino=91762353, st_mode=S_IFDIR|0755, st_nlink=2, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:33:47, st_mtime=2013/10/10-13:00:16, st_ctime=2014/04/09-14:46:53}) = 0
22452 14:44:04.690173 lstat("/home2/fritz218/public_html/forum/language/en/mods/info_ucp_alternatelogin.php", {st_dev=makedev(8, 33), st_ino=91763373, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7667, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:53}) = 0
22452 14:44:04.690309 open("/home2/fritz218/public_html/forum/language/en/mods/info_ucp_alternatelogin.php", O_RDONLY) = 4
22452 14:44:04.690403 fstat(4, {st_dev=makedev(8, 33), st_ino=91763373, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7667, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:53}) = 0
22452 14:44:04.690526 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.690599 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.690673 fstat(4, {st_dev=makedev(8, 33), st_ino=91763373, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7667, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:53}) = 0
22452 14:44:04.690805 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.690884 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.690961 open("/home2/fritz218/public_html/forum/language/en/mods/info_ucp_alternatelogin.php", O_RDONLY) = 5
22452 14:44:04.691076 fstat(5, {st_dev=makedev(8, 33), st_ino=91763373, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=16, st_size=7667, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:53:25, st_ctime=2014/04/09-14:46:53}) = 0
22452 14:44:04.691191 mmap(NULL, 7667, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b8000
22452 14:44:04.691276 munmap(0x7f35927b8000, 7667) = 0
22452 14:44:04.691350 close(5)          = 0
22452 14:44:04.691422 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.691498 read(4, "<?php\n/*\n\tCOPYRIGHT 2009 Michael J Goonawardena\n\t\t\n\tThis file is part of ConSof Alternate Login.\n\n    ConSof Alternate Login is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    ConSof Alternate Login is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with ConSof Alternate Login.  If not, see <http://www.gnu.org/licenses/>.*/\n\n/**\n* DO NOT CHANGE\n*/\nif (!defined('IN_PHPBB'))\n{\n\texit;\n}\n\nif (empty($lang) || !is_array($lang))\n{\n\t$lang = array();\n}\n\n// DEVELOPERS PLEASE NOTE\n//\n// All language files should use UTF-8 as their encoding and the files must not contain a BOM.\n//\n// Placeholders can now contain order information, e.g. instead of\n// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows\n// translators to re-order the output of data while ensuring it remains correct\n//\n// You do not need this where single placeholders are used, e.g. 'Message %d' is fine\n// equally where a string contains only two placeholders which are used to wrap text\n// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine\n\n$lang = array_merge($lang, array(\n        'ALTERNATE_LOGIN'\t\t\t\t\t\t=> 'This site allows you to login using a social networking account.',\n\t\t'AUTHORIZE_FAILURE'\t\t\t\t\t\t=> 'Failed to get authorisation code.',\n        'AL_LOGIN'\t\t\t\t\t\t\t\t=> 'Select and alternate login',\n\t\t'AL_LOGIN_EXPLAIN'\t\t\t\t\t\t=> 'You can select an alternate login method.  We will still need a user name and password.',\n\t\t'AL_REGISTER_QUERY'\t\t\t\t\t\t=> 'Do you wish to register with your %s account?',\n\t\t'AL_REGISTRATION'\t\t\t\t\t\t=> 'If you have an alternate social networking account you would like to use with this site please click one of the icons below <b>FIRST</b>.',\n\t\t'AL_LOGIN_UNAVAILABLE'\t\t\t\t\t=> '%s is unavailable at this site.',\n\t\t'AL_PHPBB_DB_FAILURE'\t\t\t\t\t=> 'An error occured whilst trying to connect to the phpBB database.',\n    \n        'AL_FB_HIDE_ACTIVITY'                   => 'Hide Facebook Activity Plugin',\n        'AL_FB_HIDE_FACEPILE'                   => 'Hide Facebook Facepile Plugin',\n        'AL_FB_HIDE_LIKE_BOX'                   => 'Hide Facebook Like Box Plugin',\n\n        'FB_SYNC'                               => 'Sync profile with Facebook profile',\n        'FB_STATUS'                             => 'Sync signature with Facebook status',\n        'FB_AVATAR'                             => 'Facebook Profile Picture',\n        'FB_AVATAR_EXPLAIN'                     => 'Sync your Facebook Profile Picture with your Avatar.',\n\t\t'FB_REDIRECT'\t\t\t\t\t\t\t=> 'Facebook is redirecting...',\n\t\t'LOGIN_BUTTON_TEXT'\t\t\t\t\t\t=> 'Login button text',\n    \n        'WL_SYNC'                               => 'Sync profile with Windows Live profile',\n        'WL_STATUS'                             => 'Sync signature with Windows Live status',\n        'WL_AVATAR'                             => 'Windows Live Profile Picture',\n        'WL_AVATAR_EXPLAIN'                     => 'Sync your Windows Live Profile Picture with your Avatar.',\n\n        'TITLE_ENABLE_LOGIN_PROFILE'\t\t\t=> 'Enable alternate logins and profile syncs.',\n\t\t\n\t\t'NO_ACCESS_TOKEN'\t\t\t\t\t\t=> 'No access token was found.',\n\t\t'FACEBOOK'\t\t\t\t\t\t\t\t=> 'Facebook',\n\t\t'WINDOWSLIVE'\t\t\t\t\t\t\t=> 'Windows Live',\n        'OPENID'                                => 'OpenID',\n\t\t'ENABLE_LOGIN'\t\t\t\t\t\t\t=> 'Enable Login',\n\t\t'ENABLE_PROFILE_SYNC'\t\t\t\t\t=> 'Enable Profile Sync',\n\t\t'FACEBOOK_ID'\t\t\t\t\t\t\t=> 'Facebook Application Id',\n\t\t'FACEBOOK_SECRET'\t\t\t\t\t\t=> 'Facebook Application Secret',\n        'FACEBOOK_KEY'                          => 'Facebook Application Key',\n        'FACEBOOK_APP_ID'                       => 'Facebook Application ID',\n\t\t'WINDOWSLIVE_A", 4096) = 4096
22452 14:44:04.692241 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.692331 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403dcf30) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.692420 read(4, "PP_ID'\t\t\t\t\t=> 'Windows Live Application Id',\n\t\t'WINDOWSLIVE_SECRET'\t\t\t\t\t=> 'Windows Live Secret Key',\n\t\t'NOT_REGISTERED'\t\t\t\t\t\t=> 'You are not registered at this site.<br /><br />%sClick here to register%s',\n\t\n\t\t'LOGIN_FAILURE'\t\t\t\t\t\t\t=> 'Login has failed.',\n\t\t'LOGIN_SUCCESS'\t\t\t\t\t\t\t=> 'You have been successfully logged in!',\n\t\n\t\t'WINDOWSLIVE_ERROR'\t\t\t\t\t\t=> 'An error occurred whilst attemtping to connect to Windows Live.',\n\t\t'SIGN_IN'\t\t\t\t\t\t\t\t=> 'Sign In',\n\t\t'LOGGED_IN'\t\t\t\t\t\t\t\t=> 'Logged In',\n\t\n\t\t'UCP_ALTERNATELOGIN'\t\t\t\t\t=> 'Alternate Login Manager',\n\t\t'UCP_ALTERNATELOGIN_SETTINGS'\t\t\t=> 'Alternate Login Settings',\n\t\t'UCP_AL_MAIN'\t\t\t\t\t\t\t=> 'Main',\n\t\t'UCP_AL_FACEBOOK'\t\t\t\t\t\t=> 'Facebook Manager',\n\t\t'UCP_AL_WINDOWSLIVE'\t\t\t\t\t=> 'Windows Live Manager',\n        'UCP_AL_FACEBOOK_SETTINGS'\t\t\t\t=> 'Facebook Settings',\n\t\t'UCP_AL_FACEBOOK_DISABLED'\t\t\t\t=> 'Facebook is disabled at this site.',\n\t\t'UCP_AL_ASK_DISABLE_FACEBOOK'\t\t\t=> 'Disable Facebook Login',\n\t\t'UCP_AL_ASK_ENABLE_FACEBOOK'\t\t\t=> 'Enable Facebook Login',\n\t\t'UCP_AL_ENABLE_WINDOWSLIVE_TEXT'\t\t=> 'Enable Windows Live login.',\n\t\t'UCP_AL_ENABLE_FACEBOOK_TEXT'\t\t\t=> 'Enable Facebook login.',\n        'UCP_AL_DISABLE_WINDOWSLIVE_TEXT'\t\t=> 'Disable Windows Live login.',\n\t\t'UCP_AL_DISABLE_FACEBOOK_TEXT'\t\t\t=> 'Disable Facebook login.',\n        'UCP_AL_UNLINK'\t\t\t\t\t\t\t=> 'Are you sure you want to unlink your %s account?',\n\t\t'UCP_AL_LINK'\t\t\t\t\t\t\t=> 'Are you sure you want to link your %s account?',\n\t\t'UCP_ENABLE_FACEBOOK_LOGIN'\t\t\t\t=> 'Do you wish to enable Facebook login?',\n\t\t'UCP_AL_ACCOUNT_UNLINKED'\t\t\t\t=> 'You have successfully unlined your %s account.<br /><br />You will recieve your new password to your registered email.',\n\t\t'UCP_AL_CONFIRM_DISABLE'\t\t\t\t=> 'Are you sure you wish to disable Windows Live login?  You will be sent a new password by email.',\n        'UCP_CONSOF'                             => 'ConSof',\n\t\t'UCP_DISABLE_AL_TEXT'\t\t\t\t\t=> 'Unlink %s Account.',\n\t\t'UCP_DISABLE_AL_DESCRIPTION'\t\t\t=> 'Please click the button opposite if you wish to disable your %s logon.<br />A new password will be sent to your registered email.  If you wish to link your forum account using one of the other available Alternate Logins then simply click the button to link the alternate account and this %s account will be unlinked automatically.',\n\t\t'UCP_ENABLE_AL_DESCRIPTION'\t\t\t\t=> 'If you would like to link and login using your %s account then please login with the button opposite and we will link your account.',\n\t\t'DISABLE_WINDOWSLIVE'\t\t\t\t\t=> 'Disable Windows Live Login',\n\t\t'DISABLE_FACEBOOK'\t\t\t\t\t\t=> 'Disable Facebook Login',\n        'ENABLE_FACEBOOK'\t\t\t\t\t\t=> 'Enable Facebook Login',\n\t\t'AL_LINK_SUCCESS'\t\t\t\t\t\t=> 'You have successfully linked your %s account <br /><br />In the future when logging in please use the %s button.',\n    \n        'SOCIAL_LOGIN_OPTIONS'                  => 'Social Login Options',\n    \n        'FB_ERROR_ACCESS_TOKEN'                 => 'An error occured attempting to retrieve an access token.',\n        'FB_ERROR_USER'                         => 'An error coccured whilst trying to retrieve user data',\n    \n        'FB_NAME'                               => 'Name',\n        'FB_USERNAME'                           => 'Username',\n        'FB_DESCRIPTION'                        => 'Please enter a unique username for this site.',\n        'FB_BIRTHDAY'                           => 'Birthday',\n        'FB_GENDER'                             => 'Gender',\n        'FB_LOCATION'                           => 'Location',\n        'FB_EMAIL'                              => 'Email',\n));\n\n?>", 4096) = 3571
22452 14:44:04.693059 read(4, "", 4096) = 0
22452 14:44:04.693422 read(4, "", 8192) = 0
22452 14:44:04.693538 close(4)          = 0
22452 14:44:04.693606 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.694735 getcwd("/home2/fritz218/public_html/forum", 4096) = 34
22452 14:44:04.694893 time(NULL)        = 1400874244
22452 14:44:04.695021 lstat("/home2", {st_dev=makedev(8, 33), st_ino=2, st_mode=S_IFDIR|0711, st_nlink=756, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=20480, st_atime=2014/05/11-13:13:23, st_mtime=2014/05/23-14:40:01, st_ctime=2014/05/23-14:40:01}) = 0
22452 14:44:04.695189 lstat("/home2/fritz218", {st_dev=makedev(8, 33), st_ino=91095054, st_mode=S_IFDIR|0711, st_nlink=33, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/13-15:55:28, st_mtime=2014/05/13-16:49:09, st_ctime=2014/05/20-08:00:18}) = 0
22452 14:44:04.695306 lstat("/home2/fritz218/public_html", {st_dev=makedev(8, 33), st_ino=91095104, st_mode=S_IFDIR|0750, st_nlink=60, st_uid=31834, st_gid=99, st_blksize=4096, st_blocks=24, st_size=12288, st_atime=2014/05/23-03:40:13, st_mtime=2014/05/20-08:00:19, st_ctime=2014/05/20-08:00:19}) = 0
22452 14:44:04.695424 lstat("/home2/fritz218/public_html/forum", {st_dev=makedev(8, 33), st_ino=91376856, st_mode=S_IFDIR|0755, st_nlink=22, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:36:02, st_mtime=2014/05/23-14:44:03, st_ctime=2014/05/23-14:44:03}) = 0
22452 14:44:04.695541 lstat("/home2/fritz218/public_html/forum/includes", {st_dev=makedev(8, 33), st_ino=91757027, st_mode=S_IFDIR|0755, st_nlink=16, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2014/05/23-14:41:59, st_mtime=2014/05/23-14:42:24, st_ctime=2014/05/23-14:42:24}) = 0
22452 14:44:04.695661 lstat("/home2/fritz218/public_html/forum/includes/functions_oa_social_login.php", {st_dev=makedev(8, 33), st_ino=91757835, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=42885, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.695793 open("/home2/fritz218/public_html/forum/includes/functions_oa_social_login.php", O_RDONLY) = 4
22452 14:44:04.695885 fstat(4, {st_dev=makedev(8, 33), st_ino=91757835, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=42885, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.696025 lseek(4, 0, SEEK_SET) = 0
22452 14:44:04.696095 fcntl(4, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
22452 14:44:04.696171 fstat(4, {st_dev=makedev(8, 33), st_ino=91757835, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=42885, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.696294 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f35927be000
22452 14:44:04.696378 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.696453 open("/home2/fritz218/public_html/forum/includes/functions_oa_social_login.php", O_RDONLY) = 5
22452 14:44:04.696542 fstat(5, {st_dev=makedev(8, 33), st_ino=91757835, st_mode=S_IFREG|0644, st_nlink=1, st_uid=31834, st_gid=31834, st_blksize=4096, st_blocks=88, st_size=42885, st_atime=2014/05/23-08:02:25, st_mtime=2013/10/10-11:52:56, st_ctime=2014/04/09-14:46:13}) = 0
22452 14:44:04.696654 mmap(NULL, 42885, PROT_READ, MAP_SHARED, 5, 0) = 0x7f35927b0000
22452 14:44:04.696737 munmap(0x7f35927b0000, 42885) = 0
22452 14:44:04.696818 close(5)          = 0
22452 14:44:04.696889 lseek(4, 0, SEEK_CUR) = 0
22452 14:44:04.696963 read(4, "<?php\n/**\n * @package   \tOneAll Social Login Mod\n * @copyright \tCopyright 2012 http://www.oneall.com - All rights reserved.\n * @license   \tGNU/GPL 2 or later\n *\n * This program is free software; you can redistribute it and/or\n * modify it under the terms of the GNU General Public License\n * as published by the Free Software Foundation; either version 2\n * of the License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.\n *\n * The \"GNU General Public License\" (GPL) is available at\n * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n *\n */\n\nif (!defined ('IN_PHPBB'))\n{\n\texit;\n}\n\n\n//Oneall Social Login\nclass oa_social_login\n{\n\tconst OA_SOCIAL_LOGIN_VERSION = '2.9.0';\n\n\t/**\n\t * Inject variables into template\n\t */\n\tpublic function setup_template ($template)\n\t{\n\t\tglobal $config, $user;\n\n\t\t// Add our language file.\n\t\t$user->add_lang ('info_acp_oa_social_login');\n\n\t\t//Enabled\n\t\tif (empty ($config ['oa_social_login_disable']))\n\t\t{\n\t\t\t// This will flag the widget to be shown.\n\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_DISABLE', false);\n\n\t\t\t//Subdomain is required\n\t\t\tif (!empty ($config ['oa_social_login_api_subdomain']))\n\t\t\t{\n\t\t\t\t//Providers are required\n\t\t\t\tif (!empty ($config ['oa_social_login_providers']))\n\t\t\t\t{\n\t\t\t\t\t$oa_social_login_providers = explode (\",\", $config ['oa_social_login_providers']);\n\n\t\t\t\t\t//HTTP / HTTPS\n\t\t\t\t\t$server_protocol = (!empty ($config ['server_protocol'])) ? (str_replace ('://', '', $config ['server_protocol'])) : ($config ['cookie_secure'] ? 'https' : 'http');\n\n\t\t\t\t\t//Set Placeholders\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_CALLBACK_URI', self::get_current_url ());\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_VERSION', self::OA_SOCIAL_LOGIN_VERSION);\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_RAND', mt_rand (99999, 9999999));\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_PROTOCOL', $server_protocol);\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_LIBRARY', ($server_protocol . '://' . trim ($config ['oa_social_login_api_subdomain']) . '.api.oneall.com/socialize/library.js'));\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_PROVIDERS', implode (\"','\", $oa_social_login_providers));\n\n\t\t\t\t\t//Small Icons\n\t\t\t\t\t// $template->assign_var ('OA_SOCIAL_LOGIN_CSS_THEME', ($server_protocol == \"https\" ? \"https://secure.\" : \"http://public.\") . 'oneallcdn.com/css/api/socialize/themes/phpbb/small.css');\n\n\t\t\t\t\t//User must be logged in and not a bot\n\t\t\t\t\tif (is_object ($user) && empty ($user->data ['isbot']) && (!empty ($user->data ['user_id']) && $user->data ['user_id'] != ANONYMOUS))\n\t\t\t\t\t{\n\t\t\t\t\t\t//Only display this in the UCP\n\t\t\t\t\t\tif (!empty ($user->page ['page_name']) && strpos ($user->page ['page_name'], 'ucp') !== false)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//User token\n\t\t\t\t\t\t\tif (($user_token = self::get_user_token_for_user_id ($user->data ['user_id'])) !== false)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_USER_TOKEN', $user_token);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t//Link token\n\t\t\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_CALLBACK_URI', self::get_current_url () . '&amp;oa_social_login_login_token=' . self::create_login_token_for_user_id ($user->data ['user_id']));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_ERROR', $user->lang ['OASL_ENABLE_SOCIAL_NETWORK']);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_ERROR', $user->lang ['OASL_ENTER_CREDENTIALS']);\n\t\t\t}\n\t\t}\n\t\t//Disabled\n\t\telse\n\t\t{\n\t\t\t$template->assign_var ('OA_SOCIAL_LOGIN_DISABLE', true);\n\t\t}\n\n\t\t//Done\n\t\treturn $template;\n\t}\n\n\n\t/**\n\t * Callback Handler\n\t */\n\tpublic function handle_callback ()\n\t{\n\t\t//Global Variables\n\t\tglobal $db, $auth, $user, $config, $user, $template, $phpb", 4096) = 4096
22452 14:44:04.697697 lseek(4, 4096, SEEK_SET) = 4096
22452 14:44:04.697766 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff403df850) = -1 ENOTTY (Inappropriate ioctl for device)
22452 14:44:04.697852 read(4, "b_root_path, $phpbb_admin_path, $phpEx;\n\n\t\t//Callback Handler\n\t\tif (isset ($_POST) && !empty ($_POST ['oa_action']) && !empty ($_POST ['connection_token']))\n\t\t{\n\t\t\t//Connection token\n\t\t\t$connection_token = request_var('connection_token', '');\n\t\t\t$oa_action = strtolower (request_var('oa_action', ''));\n\n\t\t\t//Language file\n\t\t\t$user->add_lang ('info_acp_oa_social_login');\n\n\t\t\t//Check if enabled\n\t\t\tif (empty ($config ['oa_social_login_disable']))\n\t\t\t{\n\t\t\t\t//Required settings\n\t\t\t\tif (!empty ($config ['oa_social_login_api_subdomain']) && !empty ($config ['oa_social_login_api_key']) && !empty ($config ['oa_social_login_api_secret']))\n\t\t\t\t{\n\n\t\t\t\t\t//API Settings\n\t\t\t\t\t$api_connection_handler = ((!empty ($config ['oa_social_login_api_connection_handler']) && $config ['oa_social_login_api_connection_handler'] == 'fsockopen') ? 'fsockopen' : 'curl');\n\t\t\t\t\t$api_connection_use_https = ((!empty ($config ['oa_social_login_api_connection_port']) && $config ['oa_social_login_api_connection_port'] == '80') ? false : true);\n\n\t\t\t\t\t//API Resource\n\t\t\t\t\t$api_connection_url = ($api_connection_use_https ? 'https' : 'http') . '://' . $config ['oa_social_login_api_subdomain'] . '.api.oneall.com/connections/' . $connection_token . '.json';\n\n\t\t\t\t\t//API Credentials\n\t\t\t\t\t$api_credentials = array ();\n\t\t\t\t\t$api_credentials ['api_key'] = $config ['oa_social_login_api_key'];\n\t\t\t\t\t$api_credentials ['api_secret'] = $config ['oa_social_login_api_secret'];\n\n\t\t\t\t\t//Make Request\n\t\t\t\t\t$result = self::do_api_request ($api_connection_handler, $api_connection_url, $api_credentials);\n\n\t\t\t\t\t//Parse result\n\t\t\t\t\tif (is_object ($result) && property_exists ($result, 'http_code') && $result->http_code == 200)\n\t\t\t\t\t{\n\t\t\t\t\t\t//Extract data\n\t\t\t\t\t\tif (($user_data = self::extract_social_network_profile ($result)) !== false)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//This is the user to process\n\t\t\t\t\t\t\t$user_id = null;\n\n\t\t\t\t\t\t\t//Social Login\n\t\t\t\t\t\t\tif ($oa_action == 'social_login')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Get user_id by token.\n\t\t\t\t\t\t\t\t$user_id_tmp = self::get_user_id_for_user_token ($user_data ['user_token']);\n\n\t\t\t\t\t\t\t\t// We already have a user for this token.\n\t\t\t\t\t\t\t\tif (is_numeric ($user_id_tmp))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Process this user.\n\t\t\t\t\t\t\t\t\t$user_id = $user_id_tmp;\n\n\t\t\t\t\t\t\t\t\t// Load user data.\n\t\t\t\t\t\t\t\t\t$user_profile = self::get_user_data_by_user_id ($user_id);\n\n\t\t\t\t\t\t\t\t\t// The user account needs to be activated.\n\t\t\t\t\t\t\t\t\tif (!empty ($user_profile ['user_inactive_reason']))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tif ($config ['require_activation'] == USER_ACTIVATION_ADMIN)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$error_message = $user->lang ['OASL_ACCOUNT_INACTIVE_ADMIN'];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$error_message = $user->lang ['OASL_ACCOUNT_INACTIVE_OTHER'];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// No user has been found for this token.\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Make sur that account linking is enabled.\n\t\t\t\t\t\t\t\t\tif (empty ($config ['oa_social_login_disable_linking']))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t// Make sure that the email has been verified.\n\t\t\t\t\t\t\t\t\t\tif (!empty ($user_data ['user_email']) && isset ($user_data ['user_email_is_verified']) && $user_data ['user_email_is_verified'] === true)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Read existing user\n\t\t\t\t\t\t\t\t\t\t\t$user_id_tmp = self::get_user_id_by_email ($user_data ['user_email']);\n\n\t\t\t\t\t\t\t\t\t\t\t// Existing user found\n\t\t\t\t\t\t\t\t\t\t\tif (is_numeric ($user_id_tmp))\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Link the user to this social network.\n\t\t\t\t\t\t\t\t\t\t\t\tif (self::link_tokens_to_user_id ($user_id_tmp, $user_data ['user_token'], $user_data ['identity_token'], $user_data ['identity_provider']) !== false)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t$user_id = $user_id_tmp;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\t\t\t//No user has been linked to this token\n\t\t\t\t\t\t\t\t\tif (!is_numeric ($user_id))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t//User functions\n\t\t\t\t\t\t\t\t\t\tif (!function_exists ('user_add'))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\trequire ($phpbb_root_path . 'includes/functions_user.' . $phpEx);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Username is mandatory\n\t\t\t\t\t\t\t\t\t\tif (!isset ($user_data ['user_login']) || strlen (trim ($user_data ['user_login'])) == 0)\n", 4096) = 4096
22452 14:44:04.699397 read(4, "\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$user_data ['user_login'] = $user_data ['identity_provider'] . 'User';\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Username must be unique\n\t\t\t\t\t\t\t\t\t\tif (self::get_user_id_by_username ($user_data ['user_login']) !== false)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$i = 1;\n\t\t\t\t\t\t\t\t\t\t\t$user_login_tmp = $user_data ['user_login'] . ($i);\n\t\t\t\t\t\t\t\t\t\t\twhile (self::get_user_id_by_username ($user_login_tmp) !== false)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t$user_login_tmp = $user_data ['user_login'] . ($i++);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t$user_data ['user_login'] = $user_login_tmp;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Email must be unique\n\t\t\t\t\t\t\t\t\t\tif (!isset ($user_data ['user_email']) || self::get_user_id_by_email ($user_data ['user_email']) !== false)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t//Create a random email\n\t\t\t\t\t\t\t\t\t\t\t$user_data ['user_email'] = self::generate_random_email ();\n\n\t\t\t\t\t\t\t\t\t\t\t//Used below\n\t\t\t\t\t\t\t\t\t\t\t$user_random_email = true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$user_random_email = false;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Default group_id is required\n\t\t\t\t\t\t\t\t\t\t$group_id = self::get_default_group_id ();\n\t\t\t\t\t\t\t\t\t\tif (!is_numeric ($group_id))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttrigger_error ('NO_GROUP');\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Activation Required\n\t\t\t\t\t\t\t\t\t\tif (!$user_random_email && ($config ['require_activation'] == USER_ACTIVATION_SELF || $config ['require_activation'] == USER_ACTIVATION_ADMIN) && $config ['email_enable'])\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$user_type = USER_INACTIVE;\n\t\t\t\t\t\t\t\t\t\t\t$user_actkey = gen_rand_string (mt_rand (6, 10));\n\t\t\t\t\t\t\t\t\t\t\t$user_inactive_reason = INACTIVE_REGISTER;\n\t\t\t\t\t\t\t\t\t\t\t$user_inactive_time = time ();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t//No Activation Required\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t$user_type = USER_NORMAL;\n\t\t\t\t\t\t\t\t\t\t\t$user_actkey = '';\n\t\t\t\t\t\t\t\t\t\t\t$user_inactive_reason = 0;\n\t\t\t\t\t\t\t\t\t\t\t$user_inactive_time = 0;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Generate a random password\n\t\t\t\t\t\t\t\t\t\t$new_password = self::generate_hash ($config ['min_pass_chars'] + rand (3, 5));\n\n\t\t\t\t\t\t\t\t\t\t//User Details\n\t\t\t\t\t\t\t\t\t\t$user_row = array (\n\t\t\t\t\t\t\t\t\t\t\t'group_id' => $group_id,\n\t\t\t\t\t\t\t\t\t\t\t'user_type' => $user_type,\n\t\t\t\t\t\t\t\t\t\t\t'user_actkey' => $user_actkey,\n\t\t\t\t\t\t\t\t\t\t\t'user_password' => phpbb_hash ($new_password),\n\t\t\t\t\t\t\t\t\t\t\t'user_ip' => $user->ip,\n\t\t\t\t\t\t\t\t\t\t\t'user_inactive_reason' => $user_inactive_reason,\n\t\t\t\t\t\t\t\t\t\t\t'user_inactive_time' => $user_inactive_time,\n\t\t\t\t\t\t\t\t\t\t\t'user_lastvisit' => time (),\n\t\t\t\t\t\t\t\t\t\t\t'username' => $user_data ['user_login'],\n\t\t\t\t\t\t\t\t\t\t\t'user_email' => $user_data ['user_email'],\n\t\t\t\t\t\t\t\t\t\t\t'user_from' => $user_data ['user_location'],\n\t\t\t\t\t\t\t\t\t\t\t'user_interests' => $user_data ['users_interests'],\n\t\t\t\t\t\t\t\t\t\t\t'user_website' => $user_data ['user_website']\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Register user\n\t\t\t\t\t\t\t\t\t\t$user_id_tmp = user_add ($user_row, false);\n\n\t\t\t\t\t\t\t\t\t\t// This should not happen, because the required variables are listed above...\n\t\t\t\t\t\t\t\t\t\tif ($user_id_tmp === false)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttrigger_error ('NO_USER', E_USER_ERROR);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t//User Added\n\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Link the user to this social network.\n\t\t\t\t\t\t\t\t\t\t\tif (self::link_tokens_to_user_id ($user_id_tmp, $user_data ['user_token'], $user_data ['identity_token'], $user_data ['identity_provider']) !== false)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Process this user.\n\t\t\t\t\t\t\t\t\t\t\t\t$user_id = $user_id_tmp;\n\n\t\t\t\t\t\t\t\t\t\t\t\t//Send Email\n\t\t\t\t\t\t\t\t\t\t\t\tif ($config ['email_enable'] && !$user_random_email)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t//Include Messenger\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!class_exists ('messenger'))\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trequire ($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t//Activation Type\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ($config ['require_activation'] == USER_ACTIVATION_SELF)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$error_message = $user->lang ['OASL_ACCOUNT_INACTIVE_OTHER'];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$email_template = 'user_welcome_inactive';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse if ($config ['require_activation'] == USER_ACTIVATION_ADMIN)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$error_message = $user->lang ['OASL_ACCOUNT_INACTIVE_ADMIN'];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$email_template = 'admin_welcome_inactive';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$email_template = 'user_welcome';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t//Current url\n\t\t\t\t\t\t\t\t\t\t\t\t\t$server_url = generate_board_url ();\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t//Send email to new user\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger = new messenger (false);\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->template ($email_template, 'en');\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->to ($user_row ['user_email'], $user_row ['username']);\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->anti_abuse_headers ($config, $user);\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->assign_vars (array (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'WELCOME_MSG' => htmlspecialchars_decode (sprintf ($user->lang ['WELCOME_SUBJECT'], $config ['sitename'])),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'USERNAME' => htmlspecialchars_decode ($user_row ['username']),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'PASSWORD' => htmlspecialchars_decode ($new_password),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'U_ACTIVATE' => $server_url . '/ucp.' . $phpEx . '?mode=activate&u=' . $user_id . '&k=' . $user_actkey\n\t\t\t\t\t\t\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->send (NOTIFY_EMAIL);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t//Send email to administrators\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ($config ['require_activation'] == USER_ACTIVATION_ADMIN)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Grab an array of user_id's with a_user permissions ... these users can activate a user\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$acl_admins = $auth->acl_get_list (false, 'a_user', false);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$acl_admins = (!empty ($acl_admins [0] ['a_user'])) ? $acl_admins [0] ['a_user'] : array ();\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Read administrators\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM ' . USERS_TABLE . '\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE user_type = ' . USER_FOUNDER;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (is_array ($acl_admins) && count ($acl_admins) > 0)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$sql .= ' OR ' . $db->sql_in_set ('user_id', $acl_admins);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$query = $db->sql_query ($sql);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twhile ($row = $db->sql_fetchrow ($query))\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->template ('admin_activate', $row ['user_lang']);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->to ($row ['user_email'], $row ['username']);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->im ($row ['user_jabber'], $row ['username']);\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->assign_vars (array (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'USERNAME' => htmlspecialchars_decode ($user_row ['username']),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'U_USER_DETAILS' => $server_url . '/memberlist.' . $phpEx . '?mode=viewprofile&u=' . $user_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'U_ACTIVATE' => $server_url . '/ucp.' . $phpEx . '?mode=activate&u=' . $user_id . '&k=' . $user_actkey\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t));\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$messenger->send ($row ['user_notify_type']);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$db->sql_freeresult ($query);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t//Display an error message\n\t\t\t\t\t\t\t\tif (isset ($error_message))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t$error_message = $error_message . '<br /><br />' . sprintf ($user->lang ['RETURN_INDEX'], '<a href=\"' . append_sid (\"{$phpbb_root_path}index.$phpEx\") . '\">', '</a>');\n\t\t\t\t\t\t\t\t\ttrigger_error ($error_message);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t//Process\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (isset ($user_id) && is_numeric ($user_id))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t//Update statistics\n\t\t\t\t\t\t\t\t\t\tself::count_login_identity_token ($user_data ['identity_token']);\n\n\t\t\t\t\t\t\t\t\t\t//Log the user in\n\t\t\t\t\t\t\t\t\t\t$user->session_create ($user_id);\n\n\t\t\t\t\t\t\t\t\t\t//Redirect to a custom page\n\t\t\t\t\t\t\t\t\t\tif (!empty ($config ['oa_social_login_redirect']))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tredirect ($config ['oa_social_login_redirect'], false, true);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//Social Link\n\t\t\t\t\t\t\telseif ($oa_action == 'social_link')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// This argument is required.\n\t\t\t\t\t\t\t\tif (!empty ($_REQUEST ['oa_social_login_login_token']))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Read the user_id for this login_token.\n\t\t\t\t\t\t\t\t\t$user_id_login_token = self::get_user_id_for_login_token ($_REQUEST ['oa_social_login_login_token']);\n\n\t\t\t\t\t\t\t\t\t//We have a user for this login token\n\t\t\t\t\t\t\t\t\tif (is_numeric ($user_id_login_token))\n\t\t\t\t\t\t\t\t\t"..., 8192) = 8192
22452 14:44:04.701025 brk(0x25d1000)    = 0x25d1000
22452 14:44:04.701948 read(4, "this user_token\n\t\t\t\t\t\t\t\t\t\t$user_id_user_token = self::get_user_id_for_user_token ($user_data ['user_token']);\n\n\t\t\t\t\t\t\t\t\t\t// There is already a user_id for this token\n\t\t\t\t\t\t\t\t\t\tif (!empty ($user_id_user_token))\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// The existing user_id does not match the logged in user\n\t\t\t\t\t\t\t\t\t\t\tif ($user_id_user_token != $user_id_login_token)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t// Show an error to the user.\n\t\t\t\t\t\t\t\t\t\t\t\t$template->assign_var ('OA_SOCIAL_LINK_ERROR', $user->lang['OASL_ACCOUNT_ALREADY_LINKED']);\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Do not updated the tokens.\n\t\t\t\t\t\t\t\t\t\t\t\t$update_tokens = false;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Update token?\n\t\t\t\t\t\t\t\t\t\tif ($update_tokens === true)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tif (!empty ($user_data ['plugin_action']) && $user_data ['plugin_action'] == 'link_identity')\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tself::link_tokens_to_user_id ($user_id_login_token, $user_data ['user_token'], $user_data ['identity_token'], $user_data ['identity_provider']);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tself::unlink_identity_token ($user_data ['identity_token']);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t//Relogin the user\n\t\t\t\t\t\t\t\t\t\t$user->session_create ($user_id_login_token);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t * Extracts the social network data from a result-set returned by the OneAll API.\n\t */\n\tpublic static function extract_social_network_profile ($social_data)\n\t{\n\t\t// Check API result.\n\t\tif (is_object ($social_data) && property_exists ($social_data, 'http_code') && $social_data->http_code == 200 && property_exists ($social_data, 'http_data'))\n\t\t{\n\t\t\t// Decode the social network profile Data.\n\t\t\t$social_data = json_decode ($social_data->http_data);\n\n\t\t\t// Make sur that the data has beeen decoded properly\n\t\t\tif (is_object ($social_data))\n\t\t\t{\n\t\t\t\t// Container for user data\n\t\t\t\t$data = array ();\n\n\t\t\t\t// Parse plugin data.\n\t\t\t\tif (isset ($social_data->response->result->data->plugin))\n\t\t\t\t{\n\t\t\t\t\t$plugin = $social_data->response->result->data->plugin;\n\t\t\t\t\t$data ['plugin_key'] = $plugin->key;\n\t\t\t\t\t$data ['plugin_action'] = (isset ($plugin->data->action) ? $plugin->data->action : null);\n\t\t\t\t\t$data ['plugin_operation'] = (isset ($plugin->data->operation) ? $plugin->data->operation : null);\n\t\t\t\t\t$data ['plugin_reason'] = (isset ($plugin->data->reason) ? $plugin->data->reason : null);\n\t\t\t\t\t$data ['plugin_status'] = (isset ($plugin->data->status) ? $plugin->data->status : null);\n\t\t\t\t}\n\n\t\t\t\t// Parse Social Profile Data.\n\t\t\t\t$identity = $social_data->response->result->data->user->identity;\n\n\t\t\t\t$data ['identity_token'] = $identity->identity_token;\n\t\t\t\t$data ['identity_provider'] = $identity->source->name;\n\n\t\t\t\t$data ['user_token'] = $social_data->response->result->data->user->user_token;\n\t\t\t\t$data ['user_first_name'] = !empty ($identity->name->givenName) ? $identity->name->givenName : '';\n\t\t\t\t$data ['user_last_name'] = !empty ($identity->name->familyName) ? $identity->name->familyName : '';\n\t\t\t\t$data ['user_location'] = !empty ($identity->currentLocation) ? $identity->currentLocation : '';\n\t\t\t\t$data ['user_constructed_name'] = trim ($data ['user_first_name'] . ' ' . $data ['user_last_name']);\n\t\t\t\t$data ['user_picture'] = !empty ($identity->pictureUrl) ? $identity->pictureUrl : '';\n\t\t\t\t$data ['user_thumbnail'] = !empty ($identity->thumbnailUrl) ? $identity->thumbnailUrl : '';\n\t\t\t\t$data ['user_about_me'] = !empty ($identity->aboutMe) ? $identity->aboutMe : '';\n\n\t\t\t\t//User Interests\n\t\t\t\t$data ['users_interests'] = '';\n\t\t\t\tif (isset ($identity->interests) && is_array ($identity->interests))\n\t\t\t\t{\n\t\t\t\t\t$data ['users_interests'] = array ();\n\t\t\t\t\tforeach ($identity->interests AS $interest)\n\t\t\t\t\t{\n\t\t\t\t\t\t$data ['users_interests'] [] = $interest->value;\n\t\t\t\t\t}\n\t\t\t\t\t$data ['users_interests'] = implode (\", \", $data ['users_interests']);\n\t\t\t\t}\n\n\t\t\t\t// Birthdate - MM/DD/YYYY\n\t\t\t\tif (!empty ($identity->birthday) && preg_match ('/^([0-9]{2})\\/([0-9]{2})\\/([0-9]{4})$/', $identity->birthday, $matches))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_birthdate'] = str_pad ($matches [2], 2, '0', STR_PAD_LEFT);\n\t\t\t\t\t$data ['user_birthdate'] .= '/' . str_pad ($matches [1], 2, '0', STR_PAD_LEFT);\n\t\t\t\t\t$data ['user_birthdate'] .= '/' . str_pad ($matches [3], 4, '0', STR_PAD_LEFT);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$data ['user_birthdate'] = '';\n\t\t\t\t}\n\n\t\t\t\t// Fullname.\n\t\t\t\tif (!empty ($identity->name->formatted))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_full_name'] = $identity->name->formatted;\n\t\t\t\t}\n\t\t\t\telseif (!empty ($identity->name->displayName))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_full_name'] = $identity->name->displayName;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$data ['user_full_name'] = $data ['user_constructed_name'];\n\t\t\t\t}\n\n\t\t\t\t// Preferred Username.\n\t\t\t\tif (!empty ($identity->preferredUsername))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_login'] = $identity->preferredUsername;\n\t\t\t\t}\n\t\t\t\telseif (!empty ($identity->displayName))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_login'] = $identity->displayName;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$data ['user_login'] = $data ['user_full_name'];\n\t\t\t\t}\n\n\t\t\t\t//phpBB does not like spaces here\n\t\t\t\t$data ['user_login'] = str_replace (' ', '', trim ($data ['user_login']));\n\n\t\t\t\t// Email Address.\n\t\t\t\t$data ['user_email'] = '';\n\t\t\t\tif (property_exists ($identity, 'emails') && is_array ($identity->emails))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_email_is_verified'] = false;\n\t\t\t\t\twhile ($data ['user_email_is_verified'] !== true && (list(, $obj) = each ($identity->emails)))\n\t\t\t\t\t{\n\t\t\t\t\t\t$data ['user_email'] = $obj->value;\n\t\t\t\t\t\t$data ['user_email_is_verified'] = !empty ($obj->is_verified);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Website/Homepage.\n\t\t\t\t$data ['user_website'] = '';\n\t\t\t\tif (!empty ($identity->profileUrl))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_website'] = $identity->profileUrl;\n\t\t\t\t}\n\t\t\t\telseif (!empty ($identity->urls [0]->value))\n\t\t\t\t{\n\t\t\t\t\t$data ['user_website'] = $identity->urls [0]->value;\n\t\t\t\t}\n\n\t\t\t\t// Gender.\n\t\t\t\t$data ['user_gender'] = '';\n\t\t\t\tif (!empty ($identity->gender))\n\t\t\t\t{\n\t\t\t\t\tswitch ($identity->gender)\n\t\t\t\t\t{\n\t\t\t\t\t\tcase 'male':\n\t\t\t\t\t\t\t$data ['user_gender'] = 'm';\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'female':\n\t\t\t\t\t\t\t$data ['user_gender'] = 'f';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn $data;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Check if the current connection is being made over https\n\t */\n\tprivate static function is_https_on ()\n\t{\n\t\tif (!empty ($_SERVER ['SERVER_PORT']))\n\t\t{\n\t\t\tif (trim ($_SERVER ['SERVER_PORT']) == '443')\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (!empty ($_SERVER ['HTTP_X_FORWARDED_PROTO']))\n\t\t{\n\t\t\tif (strtolower (trim ($_SERVER ['HTTP_X_FORWARDED_PROTO'])) == 'https')\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tif (!empty ($_SERVER ['HTTPS']))\n\t\t{\n\t\t\tif (strtolower (trim ($_SERVER ['HTTPS'])) == 'on' || trim ($_SERVER ['HTTPS']) == '1')\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Return the current url\n\t */\n\tprivate static function get_current_url ()\n\t{\n\t\t//Get request URI - Should work on Apache + IIS\n\t\t$request_uri = ((!isset ($_SERVER ['REQUEST_URI'])) ? $_SERVER ['PHP_SELF'] : $_SERVER ['REQUEST_URI']);\n\t\t$request_port = ((!empty ($_SERVER ['SERVER_PORT']) && $_SERVER ['SERVER_PORT'] != '80') ? (\":\" . $_SERVER ['SERVER_PORT']) : '');\n\t\t$request_protocol = (self::is_https_on () ? 'https' : 'http') . \"://\";\n\t\t$redirect_to = $request_protocol . $_SERVER ['SERVER_NAME'] . $request_port . $request_uri;\n\n\t\t//Remove the oa_social_login_login_token argument\n\t\tif (strpos ($redirect_to, 'oa_social_login_login_token') !== false)\n\t\t{\n\t\t\t//Break up url\n\t\t\tlist($url_part, $query_part) = array_pad (explode ('?', $redirect_to), 2, '');\n\t\t\tparse_str ($query_part, $query_vars);\n\n\t\t\t//Remove oa_social_login_source argument\n\t\t\tif (is_array ($query_vars) && isset ($query_vars ['oa_social_login_login_token']))\n\t\t\t{\n\t\t\t\tunset ($query_vars ['oa_social_login_login_token']);\n\t\t\t}\n\n\t\t\t//Build new url\n\t\t\t$redirect_to = $url_part . ((is_array ($query_vars) && count ($query_vars) > 0) ? ('?' . http_build_query ($query_vars)) : '');\n\t\t}\n\n\t\treturn $redirect_to;\n\t}\n\n\n\t/**\n\t * Counts a login for the identity token\n\t */\n\tpublic static function count_login_identity_token ($identity_token)\n\t{\n\t\tglobal $db;\n\n\t\t// Update the counter for the given identity_tok"..., 8192) = 8192
22452 14:44:04.704756 read(4, "() . \"'\n\t\t\t\t\t\tWHERE identity_token = '\" . $db->sql_escape ($identity_token) . \"'\";\n\t\t$query = $db->sql_query ($sql);\n\t}\n\n\t/**\n\t * Unlinks the identity token\n\t */\n\tpublic static function unlink_identity_token ($identity_token)\n\t{\n\t\tglobal $db;\n\n\t\t// Delete the identity_token.\n\t\t$sql = \"DELETE FROM \" . OASL_IDENTITY_TABLE . \"\n\t\t\t\t\t\tWHERE  identity_token = '\" . $db->sql_escape ($identity_token) . \"'\";\n\t\t$query = $db->sql_query ($sql);\n\t}\n\n\n\t/**\n\t * Links the user/identity tokens to a user\n\t */\n\tpublic static function link_tokens_to_user_id ($user_id, $user_token, $identity_token, $identity_provider)\n\t{\n\t\tglobal $db;\n\n\t\t// Make sure that that the user exists.\n\t\t$sql = \"SELECT user_id\n\t\t\t\t\t\tFROM \" . USERS_TABLE . \"\n\t\t\t\t\t\tWHERE user_id  = '\" . intval ($user_id) . \"'\";\n\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t// The user exists.\n\t\tif (is_array ($result) && !empty ($result ['user_id']))\n\t\t{\n\t\t\t$user_id = $result ['user_id'];\n\n\t\t\t$oasl_user_id = null;\n\t\t\t$oasl_identity_id = null;\n\n\t\t\t// Delete superfluous user_token.\n\t\t\t$sql = \"SELECT oasl_user_id\n\t\t\t\t\t\t\tFROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\t\tWHERE user_id = '\" . intval ($user_id) . \"' AND user_token <> '\" . $db->sql_escape ($user_token) . \"'\";\n\t\t\t$query = $db->sql_query ($sql);\n\t\t\twhile ($row = $db->sql_fetchrow ($query))\n\t\t\t{\n\t\t\t\t// Delete the wrongly linked user_token.\n\t\t\t\t$sql = \"DELETE FROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\t\t\tWHERE oasl_user_id = '\" . $db->sql_escape ($row ['oasl_user_id']) . \"'\";\n\t\t\t\t$query = $db->sql_query ($sql);\n\n\t\t\t\t// Delete the wrongly linked identity_token.\n\t\t\t\t$sql = \"DELETE FROM \" . OASL_IDENTITY_TABLE . \"\n\t\t\t\t\t\t\t\tWHERE oasl_user_id = '\" . $db->sql_escape ($row ['oasl_user_id']) . \"'\";\n\t\t\t\t$query = $db->sql_query ($sql);\n\t\t\t}\n\t\t\t$db->sql_freeresult($query);\n\n\t\t\t// Read the entry for the given user_token.\n\t\t\t$sql = \"SELECT oasl_user_id, user_id\n\t\t\t\t\t\t\tFROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\t\tWHERE user_token = '\" . $db->sql_escape ($user_token) . \"'\";\n\t\t\t$query = $db->sql_query ($sql);\n\t\t\t$result = $db->sql_fetchrow ($query);\n\t\t\t$db->sql_freeresult($query);\n\n\t\t\t// The user_token exists\n\t\t\tif (is_array ($result) && !empty ($result ['oasl_user_id']))\n\t\t\t{\n\t\t\t\t$oasl_user_id = $result ['oasl_user_id'];\n\t\t\t}\n\n\t\t\t// The user_token either does not exist or has been reset.\n\t\t\tif (empty ($oasl_user_id))\n\t\t\t{\n\t\t\t\t// Add new link.\n\t\t\t\t$sql_arr = array(\n\t\t\t\t\t\t'user_id' => intval ($user_id),\n\t\t\t\t\t\t'user_token' => $user_token,\n\t\t\t\t\t\t'date_added' => time()\n\t\t\t\t);\n\t\t\t\t$sql = \"INSERT INTO \" . OASL_USER_TABLE.\" \".$db->sql_build_array('INSERT', $sql_arr);\n\t\t\t\t$query = $db->sql_query ($sql);\n\n\t\t\t\t// Identifier of the newly created user_token entry.\n\t\t\t\t$oasl_user_id = $db->sql_nextid ();\n\t\t\t}\n\n\t\t\t// Read the entry for the given identity_token.\n\t\t\t$sql = \"SELECT oasl_identity_id, oasl_user_id, identity_token\n\t\t\t\t\t\t\tFROM \" . OASL_IDENTITY_TABLE . \"\n\t\t\t\t\t\t\tWHERE identity_token = '\" . $db->sql_escape ($identity_token) . \"'\";\n\t\t\t$query = $db->sql_query ($sql);\n\t\t\t$result = $db->sql_fetchrow ($query);\n\t\t\t$db->sql_freeresult($query);\n\n\t\t\t// The identity_token exists\n\t\t\tif (is_array ($result) && !empty ($result ['oasl_identity_id']))\n\t\t\t{\n\t\t\t\t$oasl_identity_id = $result ['oasl_identity_id'];\n\n\t\t\t\t// The identity_token is linked to another user_token.\n\t\t\t\tif (!empty ($result ['oasl_user_id']) && $result ['oasl_user_id'] != $oasl_user_id)\n\t\t\t\t{\n\t\t\t\t\t// Delete the wrongly linked identity_token.\n\t\t\t\t\t$sql = \"DELETE FROM \" . OASL_IDENTITY_TABLE . \"\n\t\t\t\t\t\t\t\t\tWHERE oasl_identity_id = '\" . intval ($oasl_identity_id) . \"' LIMIT 1\";\n\t\t\t\t\t$query = $db->sql_query_limit ($sql, 1);\n\n\t\t\t\t\t// Reset the identifier\n\t\t\t\t\t$oasl_identity_id = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// The identity_token either does not exist or has been reset.\n\t\t\tif (empty ($oasl_identity_id))\n\t\t\t{\n\t\t\t\t// Add new link.\n\t\t\t\t$sql_arr = array(\n\t\t\t\t\t'oasl_user_id' => intval ($oasl_user_id),\n\t\t\t\t\t'identity_token' => $identity_token,\n\t\t\t\t\t'identity_provider' => $identity_provider,\n\t\t\t\t\t'num_logins' => 1,\n\t\t\t\t\t'date_added' => time(),\n\t\t\t\t\t'date_updated' => time()\n\t\t\t\t);\n\t\t\t\t$sql = \"INSERT INTO \" . OASL_IDENTITY_TABLE . \" \".$db->sql_build_array('INSERT', $sql_arr);\n\t\t\t\t$query = $db->sql_query ($sql);\n\n\t\t\t\t// Identifier of the newly created identity_token entry.\n\t\t\t\t$oasl_identity_id = $db->sql_nextid ();\n\t\t\t}\n\n\t\t\t// Done.\n\t\t\treturn true;\n\t\t}\n\n\t\t// An error occured.\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Generate a random email address\n\t */\n\tprotected static function generate_random_email ()\n\t{\n\t\tdo\n\t\t{\n\t\t\t$email = self::generate_hash (10) . \"@example.com\";\n\t\t}\n\t\twhile (self::get_user_id_by_email ($email) !== false);\n\n\t\t//Done\n\t\treturn $email;\n\t}\n\n\n\t/**\n\t * Generate a random hash of the given length\n\t */\n\tprotected static function generate_hash ($length)\n\t{\n\t\t$hash = '';\n\n\t\tfor ($i = 0; $i < $length; $i++)\n\t\t{\n\t\t\tdo\n\t\t\t{\n\t\t\t\t$char = chr (mt_rand (48, 122));\n\t\t\t}\n\t\t\twhile (!preg_match ('/[a-zA-Z0-9]/', $char));\n\t\t\t$hash .= $char;\n\t\t}\n\n\t\t//Done\n\t\treturn $hash;\n\t}\n\n\n\t/**\n\t * Get the user_id for a given email address.\n\t */\n\tprotected static function get_user_id_by_email ($email)\n\t{\n\t\tglobal $db;\n\n\t\t// Read  the user_id for this email address.\n\t\t$sql = \"SELECT user_id\n\t\t\t\t\t\tFROM \" . USERS_TABLE . \"\n\t\t\t\t\t\tWHERE user_email  = '\" . $db->sql_escape ($email) . \"'\";\n\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t// We have found an user_id.\n\t\tif (is_array ($result) && !empty ($result ['user_id']))\n\t\t{\n\t\t\treturn $result ['user_id'];\n\t\t}\n\n\t\t// Not found.\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Get the user_id for a given a username.\n\t */\n\tprotected static function get_user_id_by_username ($user_login)\n\t{\n\t\tglobal $db;\n\n\t\t// Read  the user_id for this login\n\t\t$sql = \"SELECT user_id\n\t\t\t\t\t\tFROM \" . USERS_TABLE . \"\n\t\t\t\t\t\tWHERE username = '\" . $db->sql_escape ($user_login) . \"'\";\n\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t// We have found an user_id.\n\t\tif (is_array ($result) && !empty ($result ['user_id']))\n\t\t{\n\t\t\treturn $result ['user_id'];\n\t\t}\n\n\t\t// Not found.\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Returns the user_id for a given token.\n\t */\n\tprotected static function get_user_id_for_user_token ($user_token)\n\t{\n\t\tglobal $db;\n\n\t\t// Make sure it is not empty.\n\t\t$user_token = trim ($user_token);\n\t\tif (strlen ($user_token) == 0)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\t// Read the user_id for this user_token.\n\t\t$sql = \"SELECT oasl_user_id, user_id\n\t\t\t\t\t\tFROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\tWHERE user_token = '\" . $db->sql_escape ($user_token) . \"'\";\n\t\t$query = $db->sql_query ($sql);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t// The user_token exists\n\t\tif (is_array ($result) && !empty ($result ['oasl_user_id']))\n\t\t{\n\t\t\t$user_id = intval ($result ['user_id']);\n\t\t\t$oasl_user_id = intval ($result ['oasl_user_id']);\n\n\t\t\t// Check if the user account exists.\n\t\t\t$sql = \"SELECT user_id\n\t\t\t\t\t\t\tFROM \" . USERS_TABLE . \"\n\t\t\t\t\t\t\tWHERE user_id = '\" . intval ($user_id) . \"'\";\n\t\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t\t$result = $db->sql_fetchrow ($query);\n\t\t\t$db->sql_freeresult($query);\n\n\t\t\t// The user account exists, return it's identifier.\n\t\t\tif (is_array ($result) && !empty ($result ['user_id']))\n\t\t\t{\n\t\t\t\treturn $result ['user_id'];\n\t\t\t}\n\n\t\t\t// Delete the wrongly linked user_token.\n\t\t\t$sql = \"DELETE FROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\t\tWHERE user_token = '\" . $db->sql_escape ($user_token) . \"'\";\n\t\t\t$query = $db->sql_query_limit ($sql, 1);\n\n\t\t\t// Delete the wrongly linked identity_token.\n\t\t\t$sql = \"DELETE FROM \" . OASL_IDENTITY_TABLE . \"\n\t\t\t\t\t\t\tWHERE oasl_user_id = '\" . intval ($oasl_user_id) . \"'\";\n\t\t\t$query = $db->sql_query ($sql);\n\t\t}\n\n\t\t// No entry found.\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Get the user_token from a user_id\n\t */\n\tprivate static function get_user_token_for_user_id ($user_id)\n\t{\n\t\tglobal $db;\n\n\t\t// Read the user_id for this user_token.\n\t\t$sql = \"SELECT user_token\n\t\t\t\t\t\tFROM \" . OASL_USER_TABLE . \"\n\t\t\t\t\t\tWHERE user_id = '\" . intval ($user_id) . \"'\";\n\t\t$query = $db->sql_query ($sql);\n\t\t"..., 8192) = 8192
22452 14:44:04.707539 read(4, "f (is_array ($result) && !empty ($result ['user_token']))\n\t\t{\n\t\t\treturn $result ['user_token'];\n\t\t}\n\n\t\t//Not found\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Return the user_id for a login token\n\t */\n\tprotected static function get_user_id_for_login_token ($login_token)\n\t{\n\t\tglobal $db;\n\n\t\t//Read the user_id for this login_token\n\t\t$sql = \"SELECT user_id\n\t\t\t\t\t\tFROM \" .OASL_LOGIN_TOKEN_TABLE . \"\n\t\t\t\t\t\tWHERE login_token = '\" . $db->sql_escape ($login_token) . \"'\";\n\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t//The login_token exists\n\t\tif (is_array ($result) && !empty ($result ['user_id']))\n\t\t{\n\t\t\treturn $result ['user_id'];\n\t\t}\n\n\t\t//Not found\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Create a login token for a user_id\n\t */\n\tprivate static function create_login_token_for_user_id ($user_id)\n\t{\n\t\tglobal $db;\n\n\t\t//Remove old or existing login token\n\t\t$sql = \"DELETE FROM \" . OASL_LOGIN_TOKEN_TABLE .\"\n\t\t\t\t\t\tWHERE (user_id = '\" . intval ($user_id) . \"' OR date_creation < '\" . (time () - 60 * 5) . \"')\";\n\t\t$query = $db->sql_query ($sql);\n\n\t\t//Create a new and unique token\n\t\tdo\n\t\t{\n\t\t\t$login_token = self::get_uuid_v4 ();\n\t\t}\n\t\twhile (self::get_user_id_for_login_token ($login_token) !== false);\n\n\t\t//Add the new token.\n\t\t$sql_arr = array(\n\t\t\t'login_token' => $login_token,\n\t\t\t'user_id' => $user_id,\n\t\t\t'date_creation' => time()\n\t\t);\n\t\t$sql = \"INSERT INTO \" . OASL_LOGIN_TOKEN_TABLE .\" \".$db->sql_build_array('INSERT', $sql_arr);\n\t\t$query = $db->sql_query ($sql);\n\n\t\t//Done\n\t\treturn $login_token;\n\t}\n\n\n\t/**\n\t * Get the default group_id for new users\n\t */\n\tprivate static function get_default_group_id ()\n\t{\n\t\tglobal $db;\n\n\t\t// Read the default group.\n\t\t$sql = \"SELECT group_id\n\t\t\t\t\t\tFROM \" . GROUPS_TABLE . \"\n\t\t\t\t\t\tWHERE group_name = 'REGISTERED' AND group_type = \" . GROUP_SPECIAL;\n\t\t$query = $db->sql_query ($sql);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t//Group found;\n\t\tif (is_array ($result) && isset ($result ['group_id']))\n\t\t{\n\t\t\treturn $result ['group_id'];\n\t\t}\n\n\t\t//Not found\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Get the user data for a user_id\n\t */\n\tprivate static function get_user_data_by_user_id ($user_id)\n\t{\n\t\tglobal $db;\n\n\t\t// Read the user data.\n\t\t$sql = \"SELECT *\n\t\t\t\t\t\tFROM \" . USERS_TABLE . \"\n\t\t\t\t\t\tWHERE user_id = '\" . intval ($user_id) . \"'\";\n\t\t$query = $db->sql_query_limit ($sql, 1);\n\t\t$result = $db->sql_fetchrow ($query);\n\t\t$db->sql_freeresult($query);\n\n\t\t// The user has been found.\n\t\tif (is_array ($result))\n\t\t{\n\t\t\treturn $result;\n\t\t}\n\n\t\t// Not found.\n\t\treturn array ();\n\t}\n\n\t/**\n\t * Generates a v4 UUID\n\t */\n\tprivate static function get_uuid_v4 ()\n\t{\n\t\treturn sprintf ('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0x0fff) | 0x4000, mt_rand (0, 0x3fff) | 0x8000, mt_rand (0, 0xffff), mt_rand (0, 0xffff), mt_rand (0, 0xffff));\n\t}\n\n\t/**\n\t * Return the list of available providers\n\t */\n\tpublic static function get_providers ()\n\t{\n\t\treturn array (\n\t\t\t'facebook' => array (\n\t\t\t\t'name' => 'Facebook'\n\t\t\t),\n\t\t\t'twitter' => array (\n\t\t\t\t'name' => 'Twitter'\n\t\t\t),\n\t\t\t'google' => array (\n\t\t\t\t'name' => 'Google'\n\t\t\t),\n\t\t\t'linkedin' => array (\n\t\t\t\t'name' => 'LinkedIn'\n\t\t\t),\n\t\t\t'yahoo' => array (\n\t\t\t\t'name' => 'Yahoo'\n\t\t\t),\n\t\t\t'github' => array (\n\t\t\t\t'name' => 'Github.com'\n\t\t\t),\n\t\t\t'foursquare' => array (\n\t\t\t\t'name' => 'Foursquare'\n\t\t\t),\n\t\t\t'youtube' => array (\n\t\t\t\t'name' => 'YouTube'\n\t\t\t),\n\t\t\t'skyrock' => array (\n\t\t\t\t'name' => 'Skyrock.com'\n\t\t\t),\n\t\t\t'openid' => array (\n\t\t\t\t'name' => 'OpenID'\n\t\t\t),\n\t\t\t'wordpress' => array (\n\t\t\t\t'name' => 'Wordpress.com'\n\t\t\t),\n\t\t\t'hyves' => array (\n\t\t\t\t'name' => 'Hyves'\n\t\t\t),\n\t\t\t'paypal' => array (\n\t\t\t\t'name' => 'PayPal'\n\t\t\t),\n\t\t\t'livejournal' => array (\n\t\t\t\t'name' => 'LiveJournal'\n\t\t\t),\n\t\t\t'steam' => array (\n\t\t\t\t'name' => 'Steam Community'\n\t\t\t),\n\t\t\t'windowslive' => array (\n\t\t\t\t'name' => 'Windows Live'\n\t\t\t),\n\t\t\t'blogger' => array (\n\t\t\t\t'name' => 'Blogger'\n\t\t\t),\n\t\t\t'disqus' => array (\n\t\t\t\t'name' => 'Disqus'\n\t\t\t),\n\t\t\t'stackexchange' => array (\n\t\t\t\t'name' => 'StackExchange'\n\t\t\t),\n\t\t\t'vkontakte' => array (\n\t\t\t\t'name' => 'VKontakte (\320\222\320\272\320\276\320\275\321\202\320\260\320\272\321\202\320\265)'\n\t\t\t),\n\t\t\t'odnoklassniki' => array (\n\t\t\t\t'name' => 'Odnoklassniki.ru'\n\t\t\t),\n\t\t\t'mailru' => array (\n\t\t\t\t'name' => 'Mail.ru'\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Returns a list of disabled functions.\n\t */\n\tprotected static function get_php_disabled_functions ()\n\t{\n\t\t$disabled_functions = trim (ini_get ('disable_functions'));\n\t\tif (strlen ($disabled_functions) == 0)\n\t\t{\n\t\t\t$disabled_functions = array ();\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$disabled_functions = explode (',', $disabled_functions);\n\t\t\t$disabled_functions = array_map ('trim', $disabled_functions);\n\t\t}\n\t\treturn $disabled_functions;\n\t}\n\n\n\t/**\n\t * Send an API request by using the given handler\n\t */\n\tpublic static function do_api_request ($handler, $url, $options = array (), $timeout = 30)\n\t{\n\t\t//FSOCKOPEN\n\t\tif ($handler == 'fsockopen')\n\t\t{\n\t\t\treturn self::fsockopen_request ($url, $options, $timeout);\n\t\t}\n\t\t//CURL\n\t\telse\n\t\t{\n\t\t\treturn self::curl_request ($url, $options, $timeout);\n\t\t}\n\t}\n\n\n\t/**\n\t * Check if CURL can be used\n\t */\n\tpublic static function check_curl ($secure = true)\n\t{\n\t\tif (in_array ('curl', get_loaded_extensions ()) && function_exists ('curl_exec') && !in_array ('curl_exec', self::get_php_disabled_functions ()))\n\t\t{\n\t\t\t$result = self::curl_request (($secure ? 'https' : 'http') . '://www.oneall.com/ping.html');\n\t\t\tif (is_object ($result) && property_exists ($result, 'http_code') && $result->http_code == 200)\n\t\t\t{\n\t\t\t\tif (property_exists ($result, 'http_data'))\n\t\t\t\t{\n\t\t\t\t\tif (strtolower ($result->http_data) == 'ok')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Check if fsockopen can be used\n\t */\n\tpublic static function check_fsockopen ($secure = true)\n\t{\n\t\tif (function_exists ('fsockopen') && !in_array ('fsockopen', self::get_php_disabled_functions ()))\n\t\t{\n\t\t\t$result = self::fsockopen_request (($secure ? 'https' : 'http') . '://www.oneall.com/ping.html');\n\t\t\tif (is_object ($result) && property_exists ($result, 'http_code') && $result->http_code == 200)\n\t\t\t{\n\t\t\t\tif (property_exists ($result, 'http_data'))\n\t\t\t\t{\n\t\t\t\t\tif (strtolower ($result->http_data) == 'ok')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\n\t/**\n\t * Sends a CURL request\n\t */\n\tprotected static function curl_request ($url, $options = array (), $timeout = 30)\n\t{\n\t\t//Store the result\n\t\t$result = new stdClass ();\n\n\t\t//Send request\n\t\t$curl = curl_init ();\n\t\tcurl_setopt ($curl, CURLOPT_URL, $url);\n\t\tcurl_setopt ($curl, CURLOPT_HEADER, 0);\n\t\tcurl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);\n\t\tcurl_setopt ($curl, CURLOPT_VERBOSE, 0);\n\t\tcurl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);\n\t\tcurl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);\n\t\tcurl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);\n\t\tcurl_setopt ($curl, CURLOPT_USERAGENT, 'SocialLogin ' . self::OA_SOCIAL_LOGIN_VERSION . ' phpBB3 (+http://www.oneall.com/)');\n\n\t\t// BASIC AUTH?\n\t\tif (isset ($options ['api_key']) && isset ($options ['api_secret']))\n\t\t{\n\t\t\tcurl_setopt ($curl, CURLOPT_USERPWD, $options ['api_key'] . \":\" . $options ['api_secret']);\n\t\t}\n\n\t\t//Make request\n\t\tif (($http_data = curl_exec ($curl)) !== false)\n\t\t{\n\t\t\t$result->http_code = curl_getinfo ($curl, CURLINFO_HTTP_CODE);\n\t\t\t$result->http_data = $http_data;\n\t\t\t$result->http_error = null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t$result->http_code = -1;\n\t\t\t$result->http_data = null;\n\t\t\t$result->http_error = curl_error ($curl);\n\t\t}\n\n\t\t//Done\n\t\treturn $result;\n\t}\n\n\n\t/**\n\t * Send an fsockopen request\n\t */\n\tprotected static function fsockopen_request ($url, $options = array (), $timeout = 30)\n\t{\n\t\t//Store the result\n\t\t$result = new stdClass ();\n\n\t\t//Make that this is a valid URL\n\t\tif (($uri = parse_url ($url)) == false)\n\t\t{\n\t\t\t$result->http_code = -1;\n\t\t\t$result->http_data = null;\n\t\t\t$result->http_error = 'invalid_uri';\n\t\t\treturn $result;\n\t\t}\n\n\t\t//Make sure we can handle the schema\n\t\tswitch ($uri ['scheme'])\n\t\t{\n\t\t\tcase 'http':\n\t\t\t\t$port = (isset ($uri ['port']) ? $uri ['port'] : 80);\n\t\t\t\t$host = ($uri ['host'] . ($port != 80 ? ':"..., 8192) = 8192
22452 14:44:04.710276 read(4, "\n\n\t\t\tcase 'https':\n\t\t\t\t$port = (isset ($uri ['port']) ? $uri ['port'] : 443);\n\t\t\t\t$host = ($uri ['host'] . ($port != 443 ? ':' . $port : ''));\n\t\t\t\t$fp = @fsockopen ('ssl://' . $uri ['host'], $port, $errno, $errstr, $timeout);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\t$result->http_code = -1;\n\t\t\t\t$result->http_data = null;\n\t\t\t\t$result->http_error = 'invalid_schema';\n\t\t\t\treturn $result;\n\t\t\t\tbreak;\n\t\t}\n\n\t\t//Make sure the socket opened properly\n\t\tif (!$fp)\n\t\t{\n\t\t\t$result->http_code = -$errno;\n\t\t\t$result->http_data = null;\n\t\t\t$result->http_error = trim ($errstr);\n\t\t\treturn $result;\n\t\t}\n\n\t\t//Construct the path to act on\n\t\t$path = (isset ($uri ['path']) ? $uri ['path'] : '/');\n\t\tif (isset ($uri ['query']))\n\t\t{\n\t\t\t$path .= '?' . $uri ['query'];\n\t\t}\n\n\t\t//Create HTTP request\n\t\t$defaults = array ();\n\t\t$defaults ['Host'] = 'Host: ' . $host;\n\t\t$defaults ['User-Agent'] = 'User-Agent: SocialLogin ' . self::OA_SOCIAL_LOGIN_VERSION . ' phpBB3 (+http://www.oneall.com/)';\n\n\t\t// BASIC AUTH?\n\t\tif (isset ($options ['api_key']) && isset ($options ['api_secret']))\n\t\t{\n\t\t\t$defaults ['Authorization'] = 'Authorization: Basic ' . base64_encode ($options ['api_key'] . \":\" . $options ['api_secret']);\n\t\t}\n\n\t\t//Build and send request\n\t\t$request = 'GET ' . $path . \" HTTP/1.0\\r\\n\";\n\t\t$request .= implode (\"\\r\\n\", $defaults);\n\t\t$request .= \"\\r\\n\\r\\n\";\n\t\tfwrite ($fp, $request);\n\n\t\t//Fetch response\n\t\t$response = '';\n\t\twhile (!feof ($fp))\n\t\t{\n\t\t\t$response .= fread ($fp, 1024);\n\t\t}\n\n\t\t//Close connection\n\t\tfclose ($fp);\n\n\t\t//Parse response\n\t\tlist($response_header, $response_body) = explode (\"\\r\\n\\r\\n\", $response, 2);\n\n\t\t//Parse header\n\t\t$response_header = preg_split (\"/\\r\\n|\\n|\\r/\", $response_header);\n\t\tlist($header_protocol, $header_code, $header_status_message) = explode (' ', trim (array_shift ($response_header)), 3);\n\n\t\t//Build result\n\t\t$result->http_code = $header_code;\n\t\t$result->http_data = $response_body;\n\n\t\t//Done\n\t\treturn $result;\n\t}\n}\n", 8192) = 1925
22452 14:44:04.710781 read(4, "", 4096) = 0
22452 14:44:04.710950 brk(0x2611000)    = 0x2611000
22452 14:44:04.711428 read(4, "", 8192) = 0
22452 14:44:04.711551 close(4)          = 0
22452 14:44:04.711626 munmap(0x7f35927be000, 4096) = 0
22452 14:44:04.711813 access("./install", F_OK) = -1 ENOENT (No such file or directory)
22452 14:44:04.711962 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.712046 write(3, ">\0\0\0\3SELECT * FROM quick_navigation WHERE link_is_default = 'YES' ", 66) = 66
22452 14:44:04.712148 read(3, "\1\0\0\1\tS\0\0\2\3def\17fritz218_sports\20quick_navigation\20quick_navigation\7link_id\7link_id\f?\0\10\0\0\0\t#B\0\0\0c\0\0\3\3def\17fritz218_sports\20quick_navigation\20quick_navigation\17link_is_default\17link_is_default\f!\0\t\0\0\0\376\201\1\0\0\0g\0\0\4\3def\17fritz218_sports\20quick_navigation\20quick_navigation\21link_for_basepage\21link_for_basepage\f!\0\t\0\0\0\376\201\1\0\0\0U\0\0\5\3def\17fritz218_sports\20quick_navigation\20quick_navigation\10link_url\10link_url\f!\0\375\2\0\0\375\201\20\0\0\0W\0\0\6\3def\17fritz218_sports\20quick_navigation\20quick_navigation\tlink_text\tlink_text\f!\0\375\2\0\0\375\201\20\0\0\0e\0\0\7\3def\17fritz218_sports\20quick_navigation\20quick_navigation\20link_script_name\20link_script_name\f!\0\375\2\0\0\375\200\0\0\0\0e\0\0\10\3def\17fritz218_sports\20quick_navigation\20quick_navigation\20link_request_uri\20link_request_uri\f!\0\375\2\0\0\375\200\0\0\0\0W\0\0\t\3def\17fritz218_sports\20quick_navigation\20quick_navigation\tlink_time\tlink_time\f?\0\n\0\0\0\3!\0\0\0\0W\0\0\n\3def\17fritz218_sports\20quick_navigation\20quick_navigation\tlink_icon\tlink_icon\f?\0\377\377\0\0\374\221\20\0\0\0\5\0\0\v\376\0\0\"\0x\0\0\f\00216\3YES\2NO=http://www.sportsbetcapping.com/Other-Sports-Handicappers.php\17Affiliate Picks\0\0\n1367912414\0221367912414.aff.jpgd\0\0\r\00219\3YES\2NO.http://www.sportsbetcapping.com/live_lines.php\tLive Odds\0\0\n1367912447\0231367912447.live.jpg_\0\0\16\00239\3YES\2NO,https://www.facebook.com/sportsbet.capping.7\10Facebook\0\0\n1367912364\0211367912364.fb.jpgU\0\0\17\00240\3YES\2NO#https://twitter.com/sportsbetcappin\7Twitter\0\0\n1367912385\0211367912385.tw.jpg`\0\0\20\00242\3YES\2NO.http://www.sportsbetcapping.com/blog/index.php\5Blogs\0\0\n1367911960\0231367911960.blog.jpg]\0\0\21\00243\3YES\2NO*http://www.sportsbetcapping.com/promos.php\6Promos\0\0\n1367912485\0231367912485_prom.jpg\5\0\0\22\376\0\0\"\0", 16384) = 1505
22452 14:44:04.713274 poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
22452 14:44:04.713361 write(3, "4\0\0\0\3SELECT f.* FROM (forum_forums f) ORDER BY f.left_id", 56) = 56
22452 14:44:04.713456 read(3, "\1\0\0\1*B\0\0\2\3def\17fritz218_sports\1f\fforum_forums\10forum_id\10forum_id\f?\0\10\0\0\0\t#B\0\0\0D\0\0\3\3def\17fritz218_sports\1f\fforum_forums\tparent_id\tparent_id\f?\0\10\0\0\0\t!\0\0\0\0@\0\0\4\3def\17fritz218_sports\1f\fforum_forums\7left_id\7left_id\f?\0\10\0\0\0\t)@\0\0\0B\0\0\5\3def\17fritz218_sports\1f\fforum_forums\10right_id\10right_id\f?\0\10\0\0\0\t!@\0\0\0L\0\0\6\3def\17fritz218_sports\1f\fforum_forums\rforum_parents\rforum_parents\f!\0\375\377\377\2\374\221\20\0\0\0F\0\0\7\3def\17fritz218_sports\1f\fforum_forums\nforum_name\nforum_name\f!\0\375\2\0\0\375\201\0\0\0\0F\0\0\10\3def\17fritz218_sports\1f\fforum_forums\nforum_desc\nforum_desc\f!\0\375\377\2\0\374\221\20\0\0\0X\0\0\t\3def\17fritz218_sports\1f\fforum_forums\23forum_desc_bitfield\23forum_desc_bitfield\f!\0\375\2\0\0\375\201\0\0\0\0V\0\0\n\3def\17fritz218_sports\1f\fforum_forums\22forum_desc_options\22forum_desc_options\f?\0\v\0\0\0\3!\0\0\0\0N\0\0\v\3def\17fritz218_sports\1f\fforum_forums\16forum_desc_uid\16forum_desc_uid\f!\0\30\0\0\0\375\201\0\0\0\0F\0\0\f\3def\17fritz218_sports\1f\fforum_forums\nforum_link\nforum_link\f!\0\375\2\0\0\375\201\0\0\0\0N\0\0\r\3def\17fritz218_sports\1f\fforum_forums\16forum_password\16forum_password\f!\0x\0\0\0\375\201\0\0\0\0H\0\0\16\3def\17fritz218_sports\1f\fforum_forums\vforum_style\vforum_style\f?\0\10\0\0\0\t!\0\0\0\0H\0\0\17\3def\17fritz218_sports\1f\fforum_forums\vforum_image\vforum_image\f!\0\375\2\0\0\375\201\0\0\0\0H\0\0\20\3def\17fritz218_sports\1f\fforum_forums\vforum_rules\vforum_rules\f!\0\375\377\2\0\374\221\20\0\0\0R\0\0\21\3def\17fritz218_sports\1f\fforum_forums\20forum_rules_link\20forum_rules_link\f!\0\375\2\0\0\375\201\0\0\0\0Z\0\0\22\3def\17fritz218_sports\1f\fforum_forums\24forum_rules_bitfield\24forum_rules_bitfield\f!\0\375\2\0\0\375\201\0\0\0\0X\0\0\23\3def\17fritz218_sports\1f\fforum_forums\23forum_rules_options\23forum_rules_options\f?\0\v\0\0\0\3!\0\0\0\0P\0\0\24\3def\17fritz218_sports\1f\fforum_forums\17forum_rules_uid\17forum_rules_uid\f!\0\30\0\0\0\375\201\0\0\0\0\\\0\0\25\3def\17fritz218_sports\1f\fforum_forums\25forum_topics_per_page\25forum_topics_per_page\f?\0\4\0\0\0\1\1\0\0\0\0F\0\0\26\3def\17fritz218_sports\1f\fforum_forums\nforum_type\nforum_type\f?\0\4\0\0\0\1\1\0\0\0\0J\0\0\27\3def\17fritz218_sports\1f\fforum_forums\fforum_status\fforum_status\f?\0\4\0\0\0\1\1\0\0\0\0H\0\0\30\3def\17fritz218_sports\1f\fforum_forums\vforum_posts\vforum_posts\f?\0\10\0\0\0\t!\0\0\0\0J\0\0\31\3def\17fritz218_sports\1f\fforum_forums\fforum_topics\fforum_topics\f?\0\10\0\0\0\t!\0\0\0\0T\0\0\32\3def\17fritz218_sports\1f\fforum_forums\21forum_topics_real\21forum_topics_real\f?\0\10\0\0\0\t!\0\0\0\0V\0\0\33\3def\17fritz218_sports\1f\fforum_forums\22forum_last_post_id\22forum_last_post_id\f?\0\10\0\0\0\t)@\0\0\0Z\0\0\34\3def\17fritz218_sports\1f\fforum_forums\24forum_last_poster_id\24forum_last_poster_id\f?\0\10\0\0\0\t!\0\0\0\0`\0\0\35\3def\17fritz218_sports\1f\fforum_forums\27forum_last_post_subject\27forum_last_post_subject\f!\0\375\2\0\0\375\201\0\0\0\0Z\0\0\36\3def\17fritz218_sports\1f\fforum_forums\24forum_last_post_time\24forum_last_post_time\f?\0\v\0\0\0\3!\0\0\0\0^\0\0\37\3def\17fritz218_sports\1f\fforum_forums\26forum_last_poster_name\26forum_last_poster_name\f!\0\375\2\0\0\375\201\0\0\0\0b\0\0 \3def\17fritz218_sports\1f\fforum_forums\30forum_last_poster_colour\30forum_last_poster_colour\f!\0\22\0\0\0\375\201\0\0\0\0H\0\0!\3def\17fritz218_sports\1f\fforum_forums\vforum_flags\vforum_flags\f?\0\4\0\0\0\1\1\0\0\0\0\\\0\0\"\3def\17fritz218_sports\1f\fforum_forums\25display_subforum_list\25display_subforum_list\f?\0\1\0\0\0\1!\0\0\0\0R\0\0#\3def\17fritz218_sports\1f\fforum_forums\20display_on_index\20display_on_index\f?\0\1\0\0\0\1!\0\0\0\0P\0\0$\3def\17fritz218_sports\1f\fforum_forums\17enable_indexing\17enable_indexing\f?\0\1\0\0\0\1!\0\0\0\0J\0\0%\3def\17fritz218_sports\1f\fforum_forums\fenable_icons\fenable_icons\f?\0\1\0\0\0\1!\0\0\0\0J\0\0&\3def\17fritz218_sports\1f\fforum_forums\fenable_prune\fenable_prune\f?\0\1\0\0\0\1!\0\0\0\0F\0\0'\3def\17fritz218_sports\1f\fforum_forums\nprune_next\nprune_next\f?\0\v\0\0\0\3!\0\0\0\0F\0\0(\3def\17fritz218_sports\1f\fforum_forums\nprune_days\nprune_days\f?\0\10\0\0\0\t!\0\0\0\0J\0\0)\3def\17fritz218_sports\1f\fforum_forums\fprune_viewed\fprune_viewed\f?\0\10\0\0\0\t!\0\0\0\0F\0\0*\3def\17fritz218_sports\1f\fforum_forums\nprune_freq\nprune_freq\f?\0\10\0\0\0\t!\0\0\0\0L\0\0+\3def\17fritz218_sports\1f\fforum_forums\rforum_options\rforum_options\f?\0\24\0\0\0\3!\0\0\0\0\5\0\0,\376\0\0\"\0\0\1\0-\00212\0010\0011\0018\0$Picks Released 5 Minutes After Start\225We take our records seriously.  You can not have any doubts with all our picks documented here and released just 5 minutes after the start of a game!\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0010\0010\0010\0010\0010\0010\0010\0\0010\0\0\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010[\1\0.\00220\00212\0012\0013Ia:1:{i:12;a:2:{i:0;s:36:\"Picks Released 5 Minutes After Start\";i:1;i:0;}}\33Freddy Wills Released Picks\201Here you will find all of Freddy's released picks. Picks will automatically be posted here 5 minutes after the start of the game.\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\0044971\0044615\0044615\00547079\003240\16passing on MLB\n1400803260\10Pick Bot\0\00232\0011\0011\0011\0010\0010\0010\0017\0017\0011\0010z\1\0/\00222\00212\0014\0015Ia:1:{i:12;a:2:{i:0;s:36:\"Picks Released 5 Minutes After Start\";i:1;i:0;}}\33Payne Sports Released Picks\207Here you will find all of Payne Sports's released picks. Picks will automatically be posted here 5 minutes after the start of the game.\0\0015\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\0043125\0043046\0043046\00547056\003240'NBA + MLB PICK PACK GOES FRIDAY NIGHT!!\n1399071780\10Pick Bot\0\00232\0011\0011\0011\0010\0010\0010\0017\0017\0011\0010T\2\0000\00252\00212\0016\0017Ia:1:{i:12;a:2:{i:0;s:36:\"Picks Released 5 Minutes After Start\";i:1;i:0;}}&Josh Miley Sports Forum Released Plays\374n\1Every single one of Josh Miley Sports picks are released minutes after a game starts in his guaranteed picks section, and simultaneously archived by our pick bot in this forum.  Miley is also monitored by multiple third party sports monitors.  Integrity is our #1 priority and that is why we are one of the few websites out there &quot;Where Records Don't Lie.&quot;\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\003130\003130\003130\00546525\003240\20Sunday Night NBA\n1383525420\10Pick Bot\0\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010l\0\0001\0011\0010\0019\00212\0\20SportsBetCapping\0\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0010\0010\0011\0011\0011\0011\0012\0\n1231937823\6NBruno\6AA0000\00232\0011\0011\0011\0011\0010\0010\0010\0010\0010\0010\331\0\0002\0013\0011\00210\002114a:1:{i:1;a:2:{i:0;s:16:\"SportsBetCapping\";i:1;i:0;}}\7Experts*Private forum for SBC Experts' discussion.\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\00211\0013\0013\00214\0012\25Re: Team of Experts ?\n1240362280\6NBruno\6AA0000\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010[\0\0003\00249\0010\00213\00214\0\22Sportsbook Bonuses\0\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\0010\0010\0010\0010\0010\0\0010\0\0\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010\241\0\0004\00250\0010\00215\00218\0\17Sports Articles\0\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\00282\00282\00282\00546645\00259&Big 10 Championship Preview Prediction\n1386390319\fFreddy Wills\6FF9933\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010\360\0\0005\00251\00250\00216\002174a:1:{i:50;a:2:{i:0;s:15:\"Sports Articles\";i:1;i:1;}}\16Betonline News\0\0\0017\0\0\0\0010\0\0\0\0\0017\0\0010\0011\0010\003201\003201\003201\00546072\00259>SBC Sports Betting News \342\200\223 Major League Baseball All-Star Gam\n1374720857\fFreddy Wills\6FF9933\00232\0011\0010\0011\0010\0010\0010\0017\0017\0011\0010\5\0\0006\376\0\0\"\0", 16384) = 5911
22452 14:44:04.715613 open("error_log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 4
22452 14:44:04.715763 time([1400874244]) = 1400874244
22452 14:44:04.715876 time(NULL)        = 1400874244
22452 14:44:04.716652 write(4, "[23-May-2014 14:44:04] PHP Fatal error:  Call to undefined function  get_unread_topics() in /home2/fritz218/public_html/forum/includes/functions_display.php on line 110\n", 169) = 169
22452 14:44:04.716826 close(4)          = 0
22452 14:44:04.716921 write(1, "Content-type: text/html", 23) = 23
22452 14:44:04.717022 write(1, "\r\n", 2) = 2
22452 14:44:04.717119 write(1, "\r\n", 2) = 2
22452 14:44:04.717205 write(1, "<br />\n<b>Fatal error</b>:  Call to undefined function  get_unread_topics() in <b>/home2/fritz218/public_html/forum/includes/functions_display.php</b> on line <b>110</b><br />\n", 176) = 176
22452 14:44:04.721915 write(3, "\1\0\0\0\1", 5) = 5
22452 14:44:04.722212 shutdown(3, 2 /* send and receive */) = 0
22452 14:44:04.722334 close(3)          = 0
22452 14:44:04.722619 munmap(0x7f35888f7000, 528384) = 0
22452 14:44:04.722923 brk(0x2511000)    = 0x2511000
22452 14:44:04.723174 munmap(0x7f3588876000, 528384) = 0
22452 14:44:04.723384 brk(0x23f1000)    = 0x23f1000
22452 14:44:04.723780 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
22452 14:44:04.723985 munmap(0x7f3592640000, 1126144) = 0
22452 14:44:04.724135 munmap(0x7f3589f98000, 2124544) = 0
22452 14:44:04.724293 munmap(0x7f358a1a0000, 2477824) = 0
22452 14:44:04.724422 munmap(0x7f358a400000, 2538648) = 0
22452 14:44:04.724850 munmap(0x7f358a670000, 2198648) = 0
22452 14:44:04.725113 munmap(0x7f358a890000, 2534216) = 0
22452 14:44:04.725594 munmap(0x7f358b5e0000, 2465232) = 0
22452 14:44:04.725704 munmap(0x3ddd000000, 3251464) = 0
22452 14:44:04.725798 munmap(0x3ddca00000, 4708232) = 0
22452 14:44:04.725929 munmap(0x7f358b3a0000, 2328768) = 0
22452 14:44:04.726023 munmap(0x7f358b138000, 2505128) = 0
22452 14:44:04.726116 munmap(0x3ddf200000, 2316776) = 0
22452 14:44:04.726201 munmap(0x3dde200000, 2174216) = 0
22452 14:44:04.726287 munmap(0x3ddc200000, 2508640) = 0
22452 14:44:04.726380 munmap(0x3ddea00000, 2126776) = 0
22452 14:44:04.726490 munmap(0x7f358af18000, 2208960) = 0
22452 14:44:04.726582 munmap(0x7f358ad08000, 2150272) = 0
22452 14:44:04.726669 munmap(0x7f358ab00000, 2111272) = 0
22452 14:44:04.732124 munmap(0x7f358baf0000, 2120840) = 0
22452 14:44:04.732326 munmap(0x7f358b840000, 2808944) = 0
22452 14:44:04.733749 brk(0x1e81000)    = 0x1e81000
22452 14:44:04.736132 exit_group(255)   = ?
